Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
151 | dimkam | 1 | ;*************************************************************** |
2 | ;* |
||
3 | ;* COVER.H |
||
4 | ;* |
||
5 | ;* Главный файл оболочки. |
||
6 | ;* Оконные и графические процедуры. |
||
7 | ;* |
||
8 | ;* (C) Vitamin/CAIG/2001 2001-2006 |
||
9 | ;* |
||
10 | ;* Обозначения в файле MACROS.H |
||
11 | ;* |
||
12 | ;* Revision 9.01.2006 |
||
13 | ;* |
||
14 | ;*************************************************************** |
||
15 | |||
16 | #if 0 |
||
17 | Func: ASKER |
||
18 | Desc: Задает вопрос "вы уверены (д/н)" |
||
19 | Out: Z- YES, NZ- NO |
||
20 | Uses: * |
||
21 | Note: NOASKER запрещает генерацию |
||
22 | --- |
||
23 | Func: WINDOW |
||
24 | Desc: Выводит окно со всеми элементами и запускает цикл |
||
25 | In: IX- window descriptor |
||
26 | Out: A- номер выбранной зоны (255 если отмена) |
||
27 | Uses: * |
||
28 | --- |
||
29 | Func: LETTERS |
||
30 | Desc: Устанавливает режим ввода букв для EDIT |
||
31 | Uses: A |
||
32 | --- |
||
33 | Func: DIGITS |
||
34 | Desc: Устанавливает режим ввода только цифр для EDIT |
||
35 | Uses: A |
||
36 | --- |
||
37 | Func: EDIT |
||
38 | Desc: Редактор текста |
||
39 | In: HL- text, DE- (XZ,YZ), B- symbols |
||
40 | Uses: * |
||
41 | Note: <Edit>- переключение языка |
||
42 | --- |
||
43 | Func: PRINT |
||
44 | Desc: Печать строки (шрифт 6x8 по умолчанию) с позиции (1,0) |
||
45 | In: HL- text, C- symbols (=0- сколько в строке) |
||
46 | Uses: * |
||
47 | Note: Коды: 13- перевод строки, 22,X,Y- позиционирование, |
||
48 | 0- конец строки. Позиция относительно левого верхнего |
||
49 | угла текущего окна |
||
50 | --- |
||
51 | Func: PRINTXY |
||
52 | Desc: Печать строки с определенной позиции |
||
53 | In: DE- (XS,YZ) (*) |
||
54 | Uses: * |
||
55 | Note: (*) см. описание PRINT |
||
56 | --- |
||
57 | Func: MAKEWIND |
||
58 | Desc: Открытие окна и печать текста |
||
59 | In: IX- descriptor |
||
60 | Uses: * |
||
61 | Note: Другие элементы интерфейса не выводятся |
||
62 | --- |
||
63 | Func: TAB_JP |
||
64 | Desc: Переход к процедуре с номером в таблице |
||
65 | In: A- number, HL- table |
||
66 | --- |
||
67 | Func: TST_HL |
||
68 | Desc: Проверка HL |
||
69 | In: HL |
||
70 | Out: CARRY (HL=FFFF), ZERO (HL=0000) |
||
71 | Uses: A |
||
72 | --- |
||
73 | Func: CLOSE |
||
74 | Desc: Закрытие последнего открытого окна |
||
75 | Out: A- количество оставшихся окон |
||
76 | Uses: * |
||
77 | --- |
||
78 | Func: RAMKA |
||
79 | Desc: Сплошная рамка по знакоместам |
||
80 | In: HL=(XZ,YZ)-позиция BC=(XZ,YZ)- размер |
||
81 | Uses: * |
||
82 | --- |
||
83 | Func: RAMK |
||
84 | Desc: Пунктирная рамка по знакоместам |
||
85 | In: HL=(XZ,YZ)- позиция BC=(XZ,YZ)- размер |
||
86 | Uses: * |
||
87 | --- |
||
88 | Func: CLS_WIN |
||
89 | Desc: Очистка области на экране |
||
90 | In: HL=(XZ,YZ)- позиция BC=(XZ,YZ)- размеры |
||
91 | Uses: * |
||
92 | Note: Атрибуты области сбрасываются в WINCOLOR |
||
93 | --- |
||
94 | Func: GETWIND |
||
95 | Desc: Сохранение области экрана в память |
||
96 | In: HL=(XZ,YZ)- позиция, BC=(XZ,YZ)- размер DE- memaddr |
||
97 | Uses: * |
||
98 | Note: Атрибуты также сохраняются |
||
99 | --- |
||
100 | Func: PUTWIND |
||
101 | Desc: Вывод области экрана из памяти |
||
102 | Note: Параметры аналогично GETWIND |
||
103 | --- |
||
104 | Func: PUT_SPRT |
||
105 | Desc: Вывод спрайта |
||
106 | In: HL=(XZ,YZ)- позиция BC=(XZ,YZ)- размер |
||
107 | DE- данные в памяти, C': бит0- данные, бит1- атрибуты |
||
108 | бит2- экранные координаты (иначе оконные) |
||
109 | Uses: * |
||
110 | --- |
||
111 | Func: COMBOBOX |
||
112 | Desc: Выводит и обрабатывает комбобокс |
||
113 | In: HL=(YZ,XZ)- координаты на экране BC=(YZ,XZ)- размер |
||
114 | DE- строки длиной E' и числом D'. A- первый элемент |
||
115 | Out: A- выбранный элемент (255 если отмена) |
||
116 | Note: NOCOMBO запрещает генерацию |
||
117 | #endif |
||
118 | |||
119 | |||
120 | ;BIT NUMBERS |
||
121 | FLG_HEADER=0 |
||
122 | FLG_REFRESH=1 |
||
123 | FLG_MOVABLE=2 |
||
124 | FLG_NOMODAL=3 |
||
125 | FLG_NOBACK=4 |
||
126 | |||
127 | #ifndef NOASKER |
||
128 | ASKER |
||
129 | LD HL,(YWIN) |
||
130 | PUSH HL |
||
131 | LD IX,ASKWIN |
||
132 | CALL WINDOW |
||
133 | AND A |
||
134 | PUSH AF |
||
135 | CALL CLOSE |
||
136 | POP AF |
||
137 | POP HL |
||
138 | LD (YWIN),HL |
||
139 | RET |
||
140 | |||
141 | ASKWIN DEFB 12,10,9,4,7 |
||
142 | DEFB 0 |
||
143 | DEFW ASTEXT |
||
144 | DEFW ASACT |
||
145 | DEFW -1 |
||
146 | |||
147 | ASTEXT DEFB 'Вы уверены?',13,13 |
||
148 | DEFB ' Да Нет',0 |
||
149 | |||
150 | ASACT DEFB 1,2,3,1,3 |
||
151 | DEFB 4,2,3,1,3 |
||
152 | DEFB -1 |
||
153 | |||
154 | #endif ;ASKER |
||
155 | |||
156 | SP_CYC LDCP ;ложим спрайты |
||
157 | RET Z |
||
158 | LD D,A |
||
159 | INC HL |
||
160 | MOVHL E |
||
161 | MOVHL C |
||
162 | MOVHL B |
||
163 | MOVHL A |
||
164 | EXX |
||
165 | LD C,A |
||
166 | EXX |
||
167 | LD A,(HL) |
||
168 | INC HL |
||
169 | PUSH HL |
||
170 | LD H,(HL) |
||
171 | LD L,A |
||
172 | EX DE,HL |
||
173 | CALL PUT_SPRT |
||
174 | POP HL |
||
175 | INC HL |
||
176 | JR SP_CYC |
||
177 | |||
178 | P_FLAGZ SET 1,(IX+5) |
||
179 | FL_CYC LDCP ;ложим флажки |
||
180 | RET Z |
||
181 | CALL CAL_COR |
||
182 | INC HL |
||
183 | PUSH HL |
||
184 | LD A,(HL) |
||
185 | AND 7 |
||
186 | XOR 4 |
||
187 | CALL PR_ONE |
||
188 | POP HL |
||
189 | HLPL3 |
||
190 | JR FL_CYC |
||
191 | |||
192 | P_RADIO SET 2,(IX+5) |
||
193 | SW_CYC LDCP ;ложим переключатели |
||
194 | RET Z |
||
195 | INC HL |
||
196 | LD B,(HL) ;CNT |
||
197 | INC HL |
||
198 | LD C,(HL) ;EQU |
||
199 | HLPL3 |
||
200 | PUSH HL |
||
201 | PISS PUSH AF |
||
202 | PUSH BC |
||
203 | CALL CAL_COR |
||
204 | LD A,C |
||
205 | ; DEC A |
||
206 | AND A |
||
207 | JR Z,PROT |
||
208 | LD A,1 |
||
209 | PROT INC A |
||
210 | CALL PR_ONE |
||
211 | POP BC |
||
212 | POP AF |
||
213 | INC A |
||
214 | DEC C |
||
215 | DJNZ PISS |
||
216 | POP HL |
||
217 | JR SW_CYC |
||
218 | |||
219 | #ifndef NOSLB |
||
220 | P_POLZ SET 3,(IX+5) |
||
221 | PLZ_CYC LDCP ;ложим ползунки |
||
222 | RET Z |
||
223 | CALL POLZUNK |
||
224 | CALL PUT_BAR |
||
225 | JR PLZ_CYC |
||
226 | #endif |
||
227 | |||
228 | P_HAND SET 4,(IX+5) ;ложим рукоятки |
||
229 | RU_CYC LDCP |
||
230 | RET Z |
||
231 | CALL CAL_COR |
||
232 | INC HL |
||
233 | LD A,(HL) |
||
234 | INC HL |
||
235 | LD C,(HL) |
||
236 | HLPL3 |
||
237 | PUSH HL |
||
238 | AND A |
||
239 | JR NZ,HOR_RUK |
||
240 | CALL ADDRZ |
||
241 | LD A,15 |
||
242 | SUB C |
||
243 | JR Z,PT_RKV |
||
244 | RLA |
||
245 | LD B,A |
||
246 | SKPV LD (HL),16 |
||
247 | CALL D_HL |
||
248 | DJNZ SKPV |
||
249 | PT_RKV LD DE,0xFE82 |
||
250 | LD (HL),D |
||
251 | CALL D_HL |
||
252 | LD (HL),E |
||
253 | CALL D_HL |
||
254 | LD (HL),E |
||
255 | CALL D_HL |
||
256 | LD (HL),D |
||
257 | CALL D_HL |
||
258 | LD A,C |
||
259 | AND A |
||
260 | JR Z,RP_CYC |
||
261 | RLA |
||
262 | LD B,A |
||
263 | OTRK LD (HL),16 |
||
264 | CALL D_HL |
||
265 | DJNZ OTRK |
||
266 | RP_CYC POP HL |
||
267 | JR RU_CYC |
||
268 | |||
269 | HOR_RUK |
||
270 | CALL ADDRZ |
||
271 | PUSH HL |
||
272 | PUSH BC |
||
273 | LD C,8 |
||
274 | XOR A |
||
275 | CL_UPS LD B,4 |
||
276 | PUSH HL |
||
277 | CL_LD LD (HL),A |
||
278 | INC L |
||
279 | DJNZ CL_LD |
||
280 | AND 192 |
||
281 | LD (HL),A |
||
282 | POP HL |
||
283 | INC H |
||
284 | LD A,H |
||
285 | AND 7 |
||
286 | SUB 3 |
||
287 | JR Z,AOK |
||
288 | LD A,-1 |
||
289 | AOK CPL |
||
290 | DEC C |
||
291 | JR NZ,CL_UPS |
||
292 | |||
293 | POP BC |
||
294 | POP HL |
||
295 | LD A,C |
||
296 | AND 252 |
||
297 | RRA |
||
298 | RRA |
||
299 | ADDHLA |
||
300 | |||
301 | LD A,C |
||
302 | AND 3 |
||
303 | RLA |
||
304 | LD (NYLO+1),A |
||
305 | LD A,7 |
||
306 | LD (STROK+1),A |
||
307 | LD BC,RK_SPRT |
||
308 | SHLUSS LD A,(BC) |
||
309 | LD E,A |
||
310 | LD D,0 |
||
311 | PUSH BC |
||
312 | NYLO LD A,0 |
||
313 | AND A |
||
314 | JR Z,SUJ |
||
315 | LD B,A |
||
316 | |||
317 | SSHIFT |
||
318 | RR E |
||
319 | RR D |
||
320 | DJNZ SSHIFT |
||
321 | SUJ |
||
322 | LD A,E |
||
323 | XOR (HL) |
||
324 | LD (HL),A |
||
325 | INC HL |
||
326 | LD A,D |
||
327 | AND 254 |
||
328 | XOR (HL) |
||
329 | LD (HL),A |
||
330 | DEC HL |
||
331 | INC H |
||
332 | STROK LD A,7 |
||
333 | POP BC |
||
334 | INC BC |
||
335 | DEC A |
||
336 | LD (STROK+1),A |
||
337 | JR NZ,SHLUSS |
||
338 | POP HL |
||
339 | JP RU_CYC |
||
340 | |||
341 | P_LIST SET 5,(IX+5) |
||
342 | LS_CYC LDCP ;ложим списки |
||
343 | RET Z |
||
344 | PUSH HL |
||
345 | LD E,A |
||
346 | LD D,0 |
||
347 | LD L,A |
||
348 | LD H,D |
||
349 | ADD HL,HL |
||
350 | INC HL |
||
351 | ADD HL,HL |
||
352 | ADD HL,DE |
||
353 | MOV E,D,WIN_ACT |
||
354 | ADD HL,DE |
||
355 | EX AF,AF' |
||
356 | LD A,(HL) |
||
357 | DEC A |
||
358 | LD (EXS+1),A |
||
359 | EX AF,AF' |
||
360 | POP HL |
||
361 | CALL POLZUNK |
||
362 | PUSH HL |
||
363 | LD A,(HL) |
||
364 | LD (STR_LEN+1),A |
||
365 | LD (PR_LIST+1),A |
||
366 | DEC HL |
||
367 | LD B,(HL) |
||
368 | DEC HL |
||
369 | LD C,(HL) |
||
370 | LD (LST_TXT+1),BC |
||
371 | DEC HL |
||
372 | LD A,(HL) |
||
373 | LD (DLTR+1),A |
||
374 | POP HL |
||
375 | LD A,D |
||
376 | EXS ADD A,0 |
||
377 | LD D,A |
||
378 | PUSH HL |
||
379 | CALL PUT_BAR |
||
380 | CALL LISTER |
||
381 | POP HL |
||
382 | INC HL |
||
383 | JR LS_CYC |
||
384 | |||
385 | WINDOW LD (IX+5),0 |
||
386 | WINDOWSS |
||
387 | LD (STAK),SP |
||
388 | CALL MAKEWIND |
||
389 | RES 5,(IX+4) |
||
390 | MOV L,H,WIN_ACT |
||
391 | CALL TST_HL |
||
392 | JP C,WINCYCL |
||
393 | MOV L,H,WIN_HOT |
||
394 | CALL TST_HL |
||
395 | JR C,WINCYCL |
||
396 | JR Z,NO_HOT |
||
397 | SET 0,(IX+5) |
||
398 | NO_HOT MOV L,H,WIN_SPR |
||
399 | CALL TST_HL |
||
400 | JR C,WINCYCL |
||
401 | |||
402 | CALL NZ,SP_CYC |
||
403 | |||
404 | NEY1 MOV L,H,WIN_FLG |
||
405 | CALL TST_HL |
||
406 | JR C,WINCYCL |
||
407 | |||
408 | CALL NZ,P_FLAGZ |
||
409 | |||
410 | NEY2 MOV L,H,WIN_SWT |
||
411 | CALL TST_HL |
||
412 | JR C,WINCYCL |
||
413 | |||
414 | CALL NZ,P_RADIO |
||
415 | |||
416 | NEY3 |
||
417 | #ifndef NOSLB |
||
418 | MOV L,H,WIN_SLB |
||
419 | CALL TST_HL |
||
420 | JR C,WINCYCL |
||
421 | |||
422 | CALL NZ,P_POLZ |
||
423 | #endif |
||
424 | |||
425 | NEY4 MOV L,H,WIN_PLZ |
||
426 | CALL TST_HL |
||
427 | JR C,WINCYCL |
||
428 | |||
429 | CALL NZ,P_HAND |
||
430 | |||
431 | NEY5 MOV L,H,WIN_LST |
||
432 | CALL TST_HL |
||
433 | JR C,WINCYCL |
||
434 | |||
435 | CALL NZ,P_LIST |
||
436 | |||
437 | NEY6 MOV L,H,WIN_CLL ;вызов при создании |
||
438 | CALL TST_HL |
||
439 | JR Z,WINCYCL |
||
440 | JR C,WINCYCL |
||
441 | SET 6,(IX+5) |
||
442 | LD DE,WINCYCL |
||
443 | PUSH DE |
||
444 | JP (HL) |
||
445 | |||
446 | MIMO CALL FIR |
||
447 | JR Z,WINCYCL |
||
448 | TEST FLG_NOMODAL,WIN_OPT |
||
449 | JR Z,WINCYCL |
||
450 | EXIT LD A,-1 |
||
451 | RET |
||
452 | |||
453 | WINCYCL |
||
454 | CALL POINT |
||
455 | CALL RECALC |
||
456 | CALL KEYTEST |
||
457 | BIT 5,(IX+5) |
||
458 | CALL NZ,AB_LIST |
||
459 | CALL ACTEST |
||
460 | LD DE,(YWIN) |
||
461 | LD HL,(Y_ZN) |
||
462 | LD BC,(YSIZ) |
||
463 | CALL HITTEST |
||
464 | JR C,MIMO |
||
465 | LD A,L |
||
466 | CP E |
||
467 | JR NZ,WINCYCL |
||
468 | CALL FIR |
||
469 | JR Z,WINCYCL |
||
470 | TEST FLG_MOVABLE,WIN_OPT |
||
471 | JR Z,WINCYCL |
||
472 | CALL WAITKEY |
||
473 | SET 5,(IX+4) |
||
474 | LD HL,(YWIN) |
||
475 | ADD HL,HL |
||
476 | ADD HL,HL |
||
477 | ADD HL,HL |
||
478 | LD A,L |
||
479 | LD L,H |
||
480 | LD H,A |
||
481 | LD (X_C),HL |
||
482 | |||
483 | SELCYC LD HL,(YWIN) ;перемещение окна |
||
484 | LD BC,(YSIZ) |
||
485 | PUSH BC |
||
486 | PUSH BC |
||
487 | PUSH HL |
||
488 | CALL RAMK |
||
489 | CALL POINT |
||
490 | CALL RECALC |
||
491 | POP HL |
||
492 | POP BC |
||
493 | CALL RAMK |
||
494 | POP BC |
||
495 | LD HL,(Y_ZN) |
||
496 | YTST LD A,L |
||
497 | ADD A,C |
||
498 | SUB 25 |
||
499 | JR C,XTST |
||
500 | INC A |
||
501 | SUB L |
||
502 | NEG |
||
503 | LD L,A |
||
504 | AMUL8 |
||
505 | LD (Y_C),A |
||
506 | |||
507 | XTST LD A,H |
||
508 | ADD A,B |
||
509 | SUB 33 |
||
510 | JR C,COOK |
||
511 | INC A |
||
512 | SUB H |
||
513 | NEG |
||
514 | LD H,A |
||
515 | AMUL8 |
||
516 | LD (X_C),A |
||
517 | COOK LD (YWIN),HL |
||
518 | CALL FIR |
||
519 | JR Z,SELCYC |
||
520 | LD (IX+0),H |
||
521 | LD (IX+1),L |
||
522 | CALL CLOSE |
||
523 | CALL WAITKEY |
||
524 | SET 1,(IX+4) |
||
525 | JP WINDOWSS |
||
526 | |||
527 | KEYTEST |
||
528 | CALL READKEY |
||
529 | CP 14 |
||
530 | JR Z,QUI |
||
531 | CP 7 |
||
532 | JR Z,QUI |
||
533 | LD C,A |
||
534 | BIT 0,(IX+5) |
||
535 | RET Z |
||
536 | LD L,(IX+10) |
||
537 | LD H,(IX+11) |
||
538 | |||
539 | KEY_CYC LDCP |
||
540 | RET Z |
||
541 | CP C |
||
542 | JR NZ,NX_KEY |
||
543 | INC HL |
||
544 | LD E,(HL) |
||
545 | INC HL |
||
546 | LD A,(HL) |
||
547 | AND A |
||
548 | JR Z,EX_ |
||
549 | LD D,A |
||
550 | EX DE,HL |
||
551 | POP DE |
||
552 | JP (HL) |
||
553 | EX_ LD A,E |
||
554 | POP DE |
||
555 | RET |
||
556 | NX_KEY HLPL3 |
||
557 | JR KEY_CYC |
||
558 | QUI POP HL |
||
559 | JP EXIT |
||
560 | |||
561 | ACTEST |
||
562 | MOV L,H,WIN_ACT |
||
563 | CALL TST_HL |
||
564 | RET Z |
||
565 | RES 7,(IX+5) |
||
566 | XOR A |
||
567 | EX AF,AF' |
||
568 | |||
569 | AC_CYC LDCP |
||
570 | RET Z |
||
571 | LD D,A ;X |
||
572 | INC HL |
||
573 | LD E,(HL) ;Y |
||
574 | INC HL |
||
575 | LD B,(HL) ;WIDTH |
||
576 | INC HL |
||
577 | LD A,(HL) ;HGT |
||
578 | AND A |
||
579 | JR Z,SK_AC |
||
580 | LD C,A |
||
581 | INC HL ;FLG |
||
582 | PUSH HL |
||
583 | CALL CAL_ABS |
||
584 | LD HL,(Y_ZN) |
||
585 | CALL HITTEST |
||
586 | POP HL |
||
587 | JR C,NETO |
||
588 | LD A,(HL) |
||
589 | RRA |
||
590 | JR NC,NETO |
||
591 | RRA |
||
592 | JR NC,NOLIGA |
||
593 | RRA |
||
594 | LD A,ACTCOLOR |
||
595 | JR NC,LIGHA |
||
596 | LD A,ACTPCOLR |
||
597 | LIGHA SET 4,(HL) |
||
598 | CALL LIGHT |
||
599 | NOLIGA CALL FIR |
||
600 | JR Z,NETE |
||
601 | BIT 4,(HL) |
||
602 | LD A,WINCOLOR |
||
603 | CALL NZ,LIGHT |
||
604 | RES 4,(HL) |
||
605 | BIT 3,(HL) |
||
606 | EXX |
||
607 | LD DE,WAITKEY |
||
608 | JR Z,DOWAI |
||
609 | LD DE,82 |
||
610 | DOWAI LD (PUSADR+1),DE |
||
611 | LD (PUSAD1+1),DE |
||
612 | EXX |
||
613 | BIT 2,(HL) |
||
614 | EX DE,HL |
||
615 | CALL NZ,PUSHER |
||
616 | LD A,(IX+5) |
||
617 | AND 254-0x60 |
||
618 | CALL NZ,OTHER |
||
619 | BIT 7,(IX+5) |
||
620 | RET NZ |
||
621 | PUSAD1 CALL WAITKEY |
||
622 | EX AF,AF' |
||
623 | LD SP,(STAK) |
||
624 | RET |
||
625 | |||
626 | SK_AC INC HL |
||
627 | INC HL |
||
628 | JR AC_CYC |
||
629 | |||
630 | |||
631 | NETO |
||
632 | BIT 4,(HL) |
||
633 | LD A,WINCOLOR |
||
634 | CALL NZ,LIGHT |
||
635 | RES 4,(HL) |
||
636 | NETE INC HL |
||
637 | EX AF,AF' |
||
638 | INC A |
||
639 | EX AF,AF' |
||
640 | JP AC_CYC |
||
641 | |||
642 | LIGHT |
||
643 | PUSH BC |
||
644 | PUSH HL |
||
645 | LD (CLR+1),A |
||
646 | LD L,E |
||
647 | LD H,D |
||
648 | CALL COOR_ATR |
||
649 | ZKL PUSH HL |
||
650 | LD A,B |
||
651 | CLR LD (HL),0 |
||
652 | INC L |
||
653 | DJNZ CLR |
||
654 | LD B,A |
||
655 | POP HL |
||
656 | DEC C |
||
657 | JR Z,NZKL |
||
658 | LD A,32 |
||
659 | ADDHLA |
||
660 | JR ZKL |
||
661 | NZKL POP HL |
||
662 | POP BC |
||
663 | RET |
||
664 | |||
665 | JUMPZA SET 7,(IX+5) |
||
666 | LD A,(HL) |
||
667 | INC HL |
||
668 | LD H,(HL) |
||
669 | LD L,A |
||
670 | OR H |
||
671 | RET Z |
||
672 | JP (HL) |
||
673 | |||
674 | OTHER |
||
675 | BIT 1,(IX+5) |
||
676 | JR Z,HOW_SWT |
||
677 | MOV L,H,WIN_FLG |
||
678 | TS_FL LDCP |
||
679 | JR Z,HOW_SWT |
||
680 | EX AF,AF' |
||
681 | CP (HL) |
||
682 | JR NZ,NX_FLG |
||
683 | EX AF,AF' |
||
684 | INC HL |
||
685 | LD A,(HL) |
||
686 | CPL |
||
687 | LD (HL),A |
||
688 | INC HL |
||
689 | CALL JUMPZA |
||
690 | SL POP HL |
||
691 | CALL WAITKEY |
||
692 | JP NEY1 |
||
693 | |||
694 | NX_FLG EX AF,AF' |
||
695 | HLPL3 |
||
696 | INC HL |
||
697 | JR TS_FL |
||
698 | |||
699 | HOW_SWT |
||
700 | BIT 2,(IX+5) |
||
701 | JR Z,HOW_BAR |
||
702 | MOV L,H,WIN_SWT |
||
703 | TS_SW LDCP |
||
704 | JR Z,HOW_BAR |
||
705 | EX AF,AF' |
||
706 | CP (HL) |
||
707 | JR C,NX_SW |
||
708 | EX AF,AF' |
||
709 | LD A,(HL) ;NUM |
||
710 | INC HL |
||
711 | ADD A,(HL) ;CNT |
||
712 | EXX |
||
713 | LD L,A |
||
714 | EX AF,AF' |
||
715 | CP L |
||
716 | EXX |
||
717 | JR NC,NX_SW+1 |
||
718 | EXX |
||
719 | LD L,A |
||
720 | EX AF,AF' |
||
721 | LD A,L ;NEXT |
||
722 | EXX |
||
723 | DEC HL |
||
724 | SUB (HL) |
||
725 | ; INC A |
||
726 | HLPL2 |
||
727 | LD (HL),A |
||
728 | INC HL |
||
729 | CALL JUMPZA |
||
730 | SPL POP HL |
||
731 | CALL WAITKEY |
||
732 | JP NEY2 |
||
733 | |||
734 | NX_SW HLPL3 |
||
735 | HLPL2 |
||
736 | EX AF,AF' |
||
737 | JR TS_SW |
||
738 | |||
739 | HOW_BAR |
||
740 | #ifndef NOSLB |
||
741 | BIT 3,(IX+5) |
||
742 | JP Z,HOW_RUK |
||
743 | MOV L,H,WIN_SLB |
||
744 | TS_BR LDCP |
||
745 | JP Z,HOW_RUK |
||
746 | EX AF,AF' |
||
747 | CP (HL) |
||
748 | JR NZ,NX_BR |
||
749 | EX AF,AF' |
||
750 | INC HL |
||
751 | CALL CAL_COR ;D-X E-Y |
||
752 | CALL CAL_ABS |
||
753 | |||
754 | CALL TST_SLB |
||
755 | |||
756 | INC HL |
||
757 | CALL JUMPZA |
||
758 | ZYT POP HL |
||
759 | POP HL |
||
760 | JP NEY3 |
||
761 | |||
762 | NX_BR EX AF,AF' |
||
763 | LD A,8 |
||
764 | ADDHLA |
||
765 | JR TS_BR |
||
766 | #endif |
||
767 | HOW_RUK |
||
768 | BIT 4,(IX+5) |
||
769 | RET Z |
||
770 | MOV L,H,WIN_PLZ |
||
771 | TS_RU LDCP |
||
772 | RET Z |
||
773 | EX AF,AF' |
||
774 | CP (HL) |
||
775 | JR NZ,NX_RUK |
||
776 | EX AF,AF' |
||
777 | CALL CAL_COR |
||
778 | CALL CAL_ABS |
||
779 | INC HL |
||
780 | LD A,(HL) |
||
781 | AND A |
||
782 | INC HL |
||
783 | JR NZ,TS_HRO |
||
784 | XOR A |
||
785 | LD (MAXA+1),A |
||
786 | LD A,E |
||
787 | RLA |
||
788 | RLA |
||
789 | LD E,A |
||
790 | LD A,(Y_C) |
||
791 | AND 254 |
||
792 | RRA |
||
793 | SUB E |
||
794 | XOR 15 |
||
795 | CP 31 |
||
796 | JR C,TS_DG |
||
797 | AND 15 |
||
798 | JR TS_DG |
||
799 | TS_HRO LD A,D |
||
800 | AND A |
||
801 | RLA |
||
802 | RLA |
||
803 | LD D,A |
||
804 | LD A,15 |
||
805 | LD (MAXA+1),A |
||
806 | LD A,(X_C) |
||
807 | AND 254 |
||
808 | RRA |
||
809 | SUB D |
||
810 | CP 31 |
||
811 | JR C,TS_DG |
||
812 | AND 15 |
||
813 | TS_DG CP 16 |
||
814 | JR C,COR_ZN |
||
815 | MAXA LD A,0 |
||
816 | COR_ZN LD (HL),A |
||
817 | INC HL |
||
818 | CALL JUMPZA |
||
819 | POP HL |
||
820 | POP HL |
||
821 | JP NEY4 |
||
822 | |||
823 | NX_RUK EX AF,AF' |
||
824 | HLPL3 |
||
825 | INC HL |
||
826 | INC HL |
||
827 | JR TS_RU |
||
828 | |||
829 | AB_LIST |
||
830 | MOV E,D,WIN_LST |
||
831 | TS_LS MOV L,H,WIN_ACT |
||
832 | |||
833 | LD A,(DE) |
||
834 | EX AF,AF' |
||
835 | EX DE,HL |
||
836 | LDCP |
||
837 | RET Z |
||
838 | |||
839 | PUSH HL |
||
840 | INC HL |
||
841 | LD A,(HL) |
||
842 | LD (RESH+1),A |
||
843 | PUSH DE |
||
844 | EX AF,AF' |
||
845 | LD L,A |
||
846 | LD E,A |
||
847 | LD H,0 |
||
848 | LD D,H |
||
849 | ADD HL,HL |
||
850 | ADD HL,HL |
||
851 | ADD HL,DE |
||
852 | POP DE |
||
853 | |||
854 | ADD HL,DE |
||
855 | LD D,(HL) |
||
856 | INC HL |
||
857 | LD E,(HL) |
||
858 | INC HL |
||
859 | LD (COZIN+1),HL |
||
860 | LD A,(HL) ;SHIRINA |
||
861 | LD (EXC+1),A |
||
862 | LD (SHIR+1),A |
||
863 | LD B,A |
||
864 | INC HL |
||
865 | LD C,(HL) |
||
866 | LD A,C |
||
867 | AND A |
||
868 | JP Z,NX_ZNO |
||
869 | |||
870 | LD HL,(YWIN) |
||
871 | ADD HL,DE |
||
872 | LD A,L |
||
873 | LD (YSHKA+1),A |
||
874 | |||
875 | PUSH HL |
||
876 | PUSH BC |
||
877 | CALL COOR_ATR |
||
878 | LD DE,32 |
||
879 | LD A,(COLOR+1) |
||
880 | SP_A PUSH BC |
||
881 | LD C,L |
||
882 | SP_R LD (HL),A |
||
883 | INC L |
||
884 | DJNZ SP_R |
||
885 | LD L,C |
||
886 | POP BC |
||
887 | |||
888 | ADD HL,DE |
||
889 | DEC C |
||
890 | JR NZ,SP_A |
||
891 | POP BC |
||
892 | POP HL |
||
893 | |||
894 | EX DE,HL |
||
895 | LD HL,(Y_ZN) |
||
896 | CALL HITTEST |
||
897 | JR C,NX_ZNO |
||
898 | EXX |
||
899 | POP HL |
||
900 | INC HL |
||
901 | LD B,(HL) |
||
902 | INC HL |
||
903 | LD C,(HL) ;COUNT |
||
904 | HLPL3 |
||
905 | LD D,(HL) ;DELTA |
||
906 | HLPL3 |
||
907 | LD A,(HL) |
||
908 | INC HL |
||
909 | EXX |
||
910 | EXC LD A,0 ;WIDTH |
||
911 | DEC A |
||
912 | ADD A,D |
||
913 | CP H |
||
914 | JP Z,BARR |
||
915 | LD A,L |
||
916 | SUB E |
||
917 | EXX |
||
918 | CP C |
||
919 | JR NC,TS_LS1 ;NX_ZNO |
||
920 | PUSH HL |
||
921 | COZIN LD HL,0 |
||
922 | INC HL |
||
923 | INC HL |
||
924 | BIT 4,(HL) |
||
925 | JR Z,KEX |
||
926 | RES 4,(HL) |
||
927 | |||
928 | DEC HL |
||
929 | RESH LD (HL),0 |
||
930 | KEX POP HL |
||
931 | ADD A,D |
||
932 | LD E,A |
||
933 | PUSH HL |
||
934 | EXX |
||
935 | LD A,D |
||
936 | EXX |
||
937 | LD H,A |
||
938 | EXX |
||
939 | LD A,E |
||
940 | EXX |
||
941 | ADD A,E |
||
942 | SUB D |
||
943 | LD L,A |
||
944 | CALL COOR_ATR |
||
945 | SHIR LD B,0 |
||
946 | DEC B |
||
947 | LD A,(SELCOLR+1) |
||
948 | ZPPL LD (HL),A |
||
949 | INC L |
||
950 | DJNZ ZPPL |
||
951 | POP HL |
||
952 | CALL FIR |
||
953 | JR NZ,SELESTA |
||
954 | POP HL |
||
955 | JP WINCYCL |
||
956 | |||
957 | SELESTA LD HL,(LST_TXT+1) |
||
958 | LD A,(STR_LEN+1) |
||
959 | LD D,A |
||
960 | LD A,E |
||
961 | AND A |
||
962 | JR Z,QQQ |
||
963 | LD B,A |
||
964 | LD E,D |
||
965 | LD D,0 |
||
966 | SILI ADD HL,DE |
||
967 | DJNZ SILI |
||
968 | QQQ LD C,A |
||
969 | LD A,254 |
||
970 | LD SP,(STAK) |
||
971 | RET |
||
972 | |||
973 | NX_ZNO POP HL |
||
974 | LD DE,9 |
||
975 | ADD HL,DE |
||
976 | TS_LS2 EX DE,HL |
||
977 | JP TS_LS |
||
978 | |||
979 | TS_LS1 PUSH HL |
||
980 | LD HL,(COZIN+1) |
||
981 | INC HL |
||
982 | LD (HL),C |
||
983 | INC HL |
||
984 | SET 4,(HL) |
||
985 | POP HL |
||
986 | JR TS_LS2 |
||
987 | |||
988 | BARR EXX |
||
989 | CALL FIR |
||
990 | RET Z |
||
991 | LD A,D |
||
992 | LD DE,-8 |
||
993 | ADD HL,DE |
||
994 | LD D,A |
||
995 | |||
996 | YSHKA LD E,0 |
||
997 | CALL TST_SLB |
||
998 | POP HL |
||
999 | MOV L,H,WIN_LST |
||
1000 | CALL LS_CYC |
||
1001 | JP WINCYCL |
||
1002 | |||
1003 | TST_SLB |
||
1004 | LD C,(HL) ;HIGH |
||
1005 | INC HL |
||
1006 | LD A,(HL) |
||
1007 | SUB C |
||
1008 | |||
1009 | EXX |
||
1010 | LD E,A ;NON-VISIBLE |
||
1011 | EXX |
||
1012 | |||
1013 | INC HL |
||
1014 | LD A,(HL) ;SC_HGT |
||
1015 | |||
1016 | EXX |
||
1017 | LD C,A ;SC_HGT |
||
1018 | SRL A |
||
1019 | LD H,A ;SC_HGT/2 |
||
1020 | EXX |
||
1021 | |||
1022 | INC HL |
||
1023 | LD A,(HL) ;STEP |
||
1024 | |||
1025 | EXX |
||
1026 | LD L,A |
||
1027 | EXX |
||
1028 | |||
1029 | INC HL |
||
1030 | LD A,(HL) ;DELTA |
||
1031 | |||
1032 | EXX |
||
1033 | LD D,A |
||
1034 | EXX |
||
1035 | |||
1036 | PUSH HL |
||
1037 | LD A,(Y_ZN) |
||
1038 | CP E ;YMIN |
||
1039 | JR Z,LN_UP1 |
||
1040 | SUB C ;HGT |
||
1041 | INC A |
||
1042 | CP E |
||
1043 | JR Z,LN_DEFW1 |
||
1044 | |||
1045 | CLCBAR LD A,E ;Y |
||
1046 | INC A |
||
1047 | AMUL8 |
||
1048 | LD B,A ;SCRTOP IN PIX |
||
1049 | |||
1050 | LD A,E |
||
1051 | DEC A |
||
1052 | ADD A,C |
||
1053 | AMUL8 |
||
1054 | LD C,A |
||
1055 | |||
1056 | LD A,(Y_C) |
||
1057 | |||
1058 | EXX |
||
1059 | SUB H ;HBAR/2 |
||
1060 | EXX |
||
1061 | JR C,NEDOP |
||
1062 | SUB B |
||
1063 | JR NC,NE_BEG1 |
||
1064 | NEDOP LD H,0 |
||
1065 | JR DCR1 |
||
1066 | NE_BEG1 |
||
1067 | LD H,A ;DELTA IN PIX |
||
1068 | |||
1069 | LD A,(Y_C) |
||
1070 | EXX |
||
1071 | ADD A,H ;HBAR/2 |
||
1072 | EXX |
||
1073 | JR C,PEREB |
||
1074 | SUB C |
||
1075 | JR C,DCR1 |
||
1076 | PEREB LD A,C |
||
1077 | EXX |
||
1078 | SUB C |
||
1079 | EXX |
||
1080 | SUB B |
||
1081 | NE_END1 |
||
1082 | LD H,A ;DELTA POS |
||
1083 | DCR1 EXX |
||
1084 | LD A,L ;STEP |
||
1085 | EXX |
||
1086 | LD E,A |
||
1087 | CALL MULS |
||
1088 | LD A,L |
||
1089 | RZL1 POP HL |
||
1090 | LD (HL),A |
||
1091 | RET |
||
1092 | LN_UP1 |
||
1093 | LD A,(HL) |
||
1094 | AND A |
||
1095 | JR Z,RZL1 |
||
1096 | DEC A |
||
1097 | JR RZL1 |
||
1098 | |||
1099 | LN_DEFW1 |
||
1100 | LD A,(HL) |
||
1101 | EXX |
||
1102 | CP E |
||
1103 | EXX |
||
1104 | JR NC,RZL1 |
||
1105 | INC A |
||
1106 | JR RZL1 |
||
1107 | |||
1108 | POLZUNK CALL CAL_COR ;D-X E-Y координаты |
||
1109 | LD (X_LST+1),DE |
||
1110 | INC HL |
||
1111 | LD A,(HL) ;высота |
||
1112 | LD (HYW+1),A |
||
1113 | LD (STRS1+1),A |
||
1114 | LD C,A |
||
1115 | INC HL |
||
1116 | LD B,(HL) ;количество эл-тов |
||
1117 | INC HL |
||
1118 | DEC A |
||
1119 | DEC A |
||
1120 | AMUL8 |
||
1121 | EXX |
||
1122 | LD E,A ;TOTAL HGT |
||
1123 | EXX |
||
1124 | LD A,B |
||
1125 | SUB C |
||
1126 | JR C,NO_FULL |
||
1127 | EXX |
||
1128 | LD D,A |
||
1129 | LD B,1 |
||
1130 | KON LD C,D ;A,D |
||
1131 | CALL DIVI |
||
1132 | LD A,E |
||
1133 | SUB C |
||
1134 | JR C,KUN |
||
1135 | CP 12 |
||
1136 | JR NC,REDY |
||
1137 | KUN INC B |
||
1138 | JR KON |
||
1139 | |||
1140 | REDY EXX |
||
1141 | LD (HL),A ;высота бара |
||
1142 | INC HL |
||
1143 | EXX |
||
1144 | LD D,A |
||
1145 | LD A,B |
||
1146 | EXX |
||
1147 | LD (HL),A ;蠣 |
||
1148 | LD B,A |
||
1149 | INC HL |
||
1150 | LD C,(HL) ;A DELTA |
||
1151 | CALL DIVI |
||
1152 | LD A,C |
||
1153 | EXX |
||
1154 | LD C,A |
||
1155 | EXX |
||
1156 | HLPL3 |
||
1157 | RET |
||
1158 | |||
1159 | NO_FULL LD A,B |
||
1160 | LD (STRS1+1),A |
||
1161 | LD C,0 |
||
1162 | EXX |
||
1163 | LD B,1 |
||
1164 | LD A,E |
||
1165 | JR REDY |
||
1166 | |||
1167 | PUT_BAR PUSH HL ;DE-коорд. HYW-высота |
||
1168 | PUSH DE |
||
1169 | PUSH DE |
||
1170 | CALL ADDRZ |
||
1171 | LD A,5 |
||
1172 | CALL PR_ONE |
||
1173 | POP DE |
||
1174 | LD A,E |
||
1175 | HYW ADD A,0 |
||
1176 | DEC A |
||
1177 | LD E,A |
||
1178 | LD A,6 |
||
1179 | CALL PR_ONE |
||
1180 | POP DE |
||
1181 | INC E |
||
1182 | CALL ADDRZ |
||
1183 | LD (HL),255 |
||
1184 | INC H |
||
1185 | LD (HL),129 |
||
1186 | EXX ;E' -высота всей линейки |
||
1187 | LD A,E |
||
1188 | EXX |
||
1189 | LD C,A |
||
1190 | EXX ;C' -пропуск |
||
1191 | LD A,C |
||
1192 | EXX |
||
1193 | LD B,A |
||
1194 | AND A |
||
1195 | JR Z,DEL_ZER |
||
1196 | ZP_PRB CALL D_HL |
||
1197 | LD (HL),129 |
||
1198 | DEC C |
||
1199 | DJNZ ZP_PRB |
||
1200 | DEL_ZER EXX ;D' -высота бара |
||
1201 | LD A,D |
||
1202 | EXX |
||
1203 | SUB 6 |
||
1204 | LD B,A |
||
1205 | CALL D_HL |
||
1206 | DEC C |
||
1207 | LD (HL),189 |
||
1208 | ZP_BGN CALL D_HL |
||
1209 | LD (HL),165 |
||
1210 | DEC C |
||
1211 | DJNZ ZP_BGN |
||
1212 | CALL D_HL |
||
1213 | DEC C |
||
1214 | LD (HL),189 |
||
1215 | DEC C |
||
1216 | DEC C |
||
1217 | DEC C |
||
1218 | ZERK CALL D_HL |
||
1219 | LD (HL),129 |
||
1220 | DEC C |
||
1221 | JR NZ,ZERK |
||
1222 | CALL D_HL |
||
1223 | LD (HL),255 |
||
1224 | POP HL |
||
1225 | RET |
||
1226 | |||
1227 | LISTER LD HL,(YWIN) |
||
1228 | PUSH HL |
||
1229 | X_LST LD DE,0x0602 ;координаты списка в окне |
||
1230 | ADD HL,DE |
||
1231 | LD (YWIN),HL |
||
1232 | |||
1233 | STR_LEN LD E,8 ;длина одной строки (симв) |
||
1234 | LD D,0 |
||
1235 | LST_TXT LD HL,0 ;адрес списка |
||
1236 | DLTR LD A,0 ;расположение бегунка |
||
1237 | AND A |
||
1238 | JR Z,STRS1 |
||
1239 | SEARCH ADD HL,DE |
||
1240 | DEC A |
||
1241 | JR NZ,SEARCH |
||
1242 | |||
1243 | STRS1 LD A,7 ;количество строк в списке |
||
1244 | AND A |
||
1245 | JR Z,ENND |
||
1246 | LD B,A |
||
1247 | LD DE,(YWIN) |
||
1248 | |||
1249 | PR_LIST LD C,8 ;длина строки |
||
1250 | PUSH DE |
||
1251 | CALL PRINT |
||
1252 | POP DE |
||
1253 | INC E |
||
1254 | LD (YWIN),DE |
||
1255 | DJNZ PR_LIST |
||
1256 | |||
1257 | ENND POP HL |
||
1258 | LD (YWIN),HL |
||
1259 | RET |
||
1260 | |||
1261 | ;------------------------------------------------------------- |
||
1262 | LETTERS LD A,32 |
||
1263 | LD (FIRST+1),A |
||
1264 | LD A,255 |
||
1265 | LD (LAST+1),A |
||
1266 | RET |
||
1267 | |||
1268 | DIGITS LD A,48 |
||
1269 | LD (FIRST+1),A |
||
1270 | LD A,58 |
||
1271 | LD (LAST+1),A |
||
1272 | RET |
||
1273 | |||
1274 | EDIT |
||
1275 | XOR A |
||
1276 | LD (SYMPOS+1),A |
||
1277 | LD A,B |
||
1278 | LD (TXTLEN+1),A |
||
1279 | PUSH HL |
||
1280 | LD HL,(YWIN) |
||
1281 | EX (SP),HL ;коорд. окна |
||
1282 | LD (TXTADR+1),HL |
||
1283 | CALL CAL_ABS |
||
1284 | LD (YWIN),DE |
||
1285 | TXTADR LD HL,0 |
||
1286 | TXTLEN LD C,0 |
||
1287 | LD DE,0 |
||
1288 | CALL PRINTXY |
||
1289 | LD DE,0x0080 |
||
1290 | SYMPOS LD A,0 |
||
1291 | LD B,A |
||
1292 | ADD A,A |
||
1293 | ADD A,B |
||
1294 | LD C,A |
||
1295 | LD B,4 |
||
1296 | CALL DIVI |
||
1297 | SUB 4 |
||
1298 | NEG |
||
1299 | AND A |
||
1300 | JR Z,JEX |
||
1301 | RLA |
||
1302 | LD B,A |
||
1303 | SCR_KR AND A |
||
1304 | RL E |
||
1305 | RL D |
||
1306 | DJNZ SCR_KR |
||
1307 | JEX LD HL,(YWIN) |
||
1308 | LD A,H |
||
1309 | ADD A,C |
||
1310 | LD H,A |
||
1311 | |||
1312 | CALL COOR_Z |
||
1313 | INC H |
||
1314 | LD (DREZ+1),HL |
||
1315 | LD (DREZ1+1),HL |
||
1316 | LD (SIGN+1),DE |
||
1317 | LD (SIGN1+1),DE |
||
1318 | XOR A |
||
1319 | LD (FLASHER+1),A |
||
1320 | |||
1321 | W_KEY LD B,7 |
||
1322 | FLASHER LD A,0 |
||
1323 | AND 127 |
||
1324 | RATE1 CP 10 |
||
1325 | DREZ LD HL,0 |
||
1326 | SIGN LD DE,0 |
||
1327 | CALL Z,KURSOR |
||
1328 | LD A,(FLASHER+1) |
||
1329 | AND 128 |
||
1330 | LD C,A |
||
1331 | LD A,(FLASHER+1) |
||
1332 | AND 127 |
||
1333 | INC A |
||
1334 | RATE2 CP 11 |
||
1335 | JR NZ,NO_CHAN |
||
1336 | LD A,C |
||
1337 | XOR 128 |
||
1338 | LD (FLASHER+1),A |
||
1339 | JR RD_KY |
||
1340 | NO_CHAN OR C |
||
1341 | LD (FLASHER+1),A |
||
1342 | |||
1343 | RD_KY XOR A |
||
1344 | LD (23560),A |
||
1345 | HALT |
||
1346 | LD A,(23560) |
||
1347 | AND A |
||
1348 | JR Z,W_KEY |
||
1349 | LD A,(23560) |
||
1350 | CP 6 |
||
1351 | JR Z,CAPS |
||
1352 | CP 8 |
||
1353 | JR Z,KR_LFT |
||
1354 | CP 9 |
||
1355 | JP Z,KR_RGT |
||
1356 | CP 7 |
||
1357 | JP Z,CH_LAN |
||
1358 | CP 12 |
||
1359 | JP Z,DELETE |
||
1360 | CP 13 |
||
1361 | JR Z,EX_ED |
||
1362 | CP 14 |
||
1363 | JR Z,EX_ED |
||
1364 | LD C,A |
||
1365 | ld a,0x7f |
||
1366 | in a,(0xfe) |
||
1367 | rra |
||
1368 | JR c,EDIT_C |
||
1369 | ld a,0x7f |
||
1370 | in a,(0xfe) |
||
1371 | rra |
||
1372 | JR NC,EX_ED |
||
1373 | EDIT_C |
||
1374 | CALL CORRECT |
||
1375 | REGISTR LD A,0 |
||
1376 | AND A |
||
1377 | CALL NZ,RUSSIAN |
||
1378 | LD A,C |
||
1379 | FIRST CP 32 |
||
1380 | JR C,W_KEY |
||
1381 | LAST CP 255 |
||
1382 | JR NC,W_KEY |
||
1383 | LD A,(FLASHER+1) |
||
1384 | LD B,7 |
||
1385 | DREZ1 LD HL,0 |
||
1386 | SIGN1 LD DE,0 |
||
1387 | AND 128 |
||
1388 | CALL NZ,KURSOR |
||
1389 | JR PRINTABLE |
||
1390 | EX_ED POP HL |
||
1391 | LD (YWIN),HL |
||
1392 | RET |
||
1393 | |||
1394 | PRINTABLE |
||
1395 | LD A,(SYMPOS+1) |
||
1396 | LD B,A |
||
1397 | LD HL,(TXTADR+1) |
||
1398 | ADDHLA |
||
1399 | LD (HL),C |
||
1400 | LD A,(TXTLEN+1) |
||
1401 | DEC A |
||
1402 | CP B |
||
1403 | JP Z,TXTADR |
||
1404 | LD A,B |
||
1405 | INC A |
||
1406 | LD (SYMPOS+1),A |
||
1407 | JP TXTADR |
||
1408 | |||
1409 | CAPS LD A,(23658) |
||
1410 | XOR 8 |
||
1411 | LD (23658),A |
||
1412 | JP W_KEY |
||
1413 | |||
1414 | KR_LFT LD A,(SYMPOS+1) |
||
1415 | AND A |
||
1416 | JP Z,W_KEY |
||
1417 | DEC A |
||
1418 | LD (SYMPOS+1),A |
||
1419 | JP TXTADR |
||
1420 | |||
1421 | KR_RGT LD A,(SYMPOS+1) |
||
1422 | LD C,A |
||
1423 | LD A,(TXTLEN+1) |
||
1424 | DEC A |
||
1425 | CP C |
||
1426 | JP Z,W_KEY |
||
1427 | LD A,C |
||
1428 | INC A |
||
1429 | LD (SYMPOS+1),A |
||
1430 | JP TXTADR |
||
1431 | |||
1432 | CH_LAN |
||
1433 | LD A,(REGISTR+1) |
||
1434 | XOR 1 |
||
1435 | LD (REGISTR+1),A |
||
1436 | JP W_KEY |
||
1437 | |||
1438 | DELETE |
||
1439 | LD A,(SYMPOS+1) |
||
1440 | LD C,A |
||
1441 | AND A |
||
1442 | JP Z,W_KEY |
||
1443 | DEC A |
||
1444 | LD C,A |
||
1445 | LD A,C |
||
1446 | LD HL,(TXTADR+1) |
||
1447 | ADDHLA |
||
1448 | LD (HL),32 |
||
1449 | LD A,C |
||
1450 | LD (SYMPOS+1),A |
||
1451 | JP TXTADR |
||
1452 | |||
1453 | KURSOR LD A,(HL) |
||
1454 | XOR D |
||
1455 | LD (HL),A |
||
1456 | INC L |
||
1457 | LD A,(HL) |
||
1458 | XOR E |
||
1459 | LD (HL),A |
||
1460 | DEC L |
||
1461 | INC H |
||
1462 | DJNZ KURSOR |
||
1463 | RET |
||
1464 | |||
1465 | CORRECT LD A,C |
||
1466 | CP 195 |
||
1467 | RET C |
||
1468 | SUB 195 |
||
1469 | LD HL,CORR_TAB |
||
1470 | JR TSUR |
||
1471 | |||
1472 | RUSSIAN LD HL,RUS_KBD |
||
1473 | LD A,C |
||
1474 | CP 255 |
||
1475 | RET Z |
||
1476 | SUB 32 |
||
1477 | TSUR ADDHLA |
||
1478 | LD A,(HL) |
||
1479 | LD C,A |
||
1480 | RET |
||
1481 | |||
1482 | PRINTOLD |
||
1483 | ld de,(YTXT) |
||
1484 | jr PRINTXY1 |
||
1485 | |||
1486 | LD DE,0x0100 |
||
1487 | |||
1488 | PRINTXY LD (YTXT),DE |
||
1489 | PRINTXY1 |
||
1490 | PUSH BC |
||
1491 | PUSH HL |
||
1492 | LD BC,0xFC00 |
||
1493 | LD A,D |
||
1494 | ADD A,A |
||
1495 | ADD A,D |
||
1496 | LD D,A ;*3 |
||
1497 | XOR A |
||
1498 | RR D |
||
1499 | RRA |
||
1500 | RR D |
||
1501 | RRA |
||
1502 | RLCA |
||
1503 | RLCA ;*3/4 |
||
1504 | AND A ;D-POSITION A-SCROLL |
||
1505 | JR Z,LFBORD |
||
1506 | SUB 4 |
||
1507 | NEG |
||
1508 | LD L,A |
||
1509 | SMASK AND A |
||
1510 | RL B |
||
1511 | RL C |
||
1512 | RL B |
||
1513 | RL C |
||
1514 | DEC L |
||
1515 | JR NZ,SMASK |
||
1516 | LFBORD |
||
1517 | EX AF,AF' |
||
1518 | CALL ADDRZ |
||
1519 | INC H |
||
1520 | LD (PRADR+1),HL |
||
1521 | EXX |
||
1522 | POP HL |
||
1523 | POP BC |
||
1524 | |||
1525 | WRITE ld a,(PRADR+2) |
||
1526 | cp 0x58 |
||
1527 | jp nc,SCROLUP |
||
1528 | LD A,(HL) |
||
1529 | INC HL |
||
1530 | AND A |
||
1531 | RET Z |
||
1532 | CP 32 |
||
1533 | JR C,WRITE2 |
||
1534 | CALL PRSYM |
||
1535 | LD A,(XTXT) |
||
1536 | INC A |
||
1537 | LD (XTXT),A |
||
1538 | LD A,C |
||
1539 | AND A |
||
1540 | JR Z,WRITE |
||
1541 | DEC C |
||
1542 | RET Z |
||
1543 | JR WRITE |
||
1544 | |||
1545 | WRITE2 |
||
1546 | LD DE,(YTXT) |
||
1547 | CP '\n' |
||
1548 | jr z,WRITE_N |
||
1549 | CP '\r' |
||
1550 | JR NZ,POSIT |
||
1551 | INC E |
||
1552 | WRITE_N |
||
1553 | LD d,1 |
||
1554 | JR PRINTXY |
||
1555 | |||
1556 | POSIT CP 22 |
||
1557 | JR NZ,WRITE |
||
1558 | LD D,(HL) |
||
1559 | INC HL |
||
1560 | LD E,(HL) |
||
1561 | INC HL |
||
1562 | JR PRINTXY |
||
1563 | |||
1564 | |||
1565 | PRSYM EXX ;A- SYMBOL CODE |
||
1566 | LD E,A ;CHANGE |
||
1567 | LD D,high(FONT6X8)+1 |
||
1568 | |||
1569 | EX AF,AF' |
||
1570 | PRADR LD HL,0 |
||
1571 | AND A |
||
1572 | JR NZ,NOLEF |
||
1573 | |||
1574 | INC A |
||
1575 | EX AF,AF' |
||
1576 | P1 LD A,(HL) |
||
1577 | OR B |
||
1578 | XOR B |
||
1579 | LD (HL),A |
||
1580 | LD A,(DE) |
||
1581 | AND B |
||
1582 | OR (HL) |
||
1583 | LD (HL),A |
||
1584 | INC D |
||
1585 | INC H |
||
1586 | LD A,H |
||
1587 | AND 7 |
||
1588 | JR NZ,P1 |
||
1589 | JR NEBCA |
||
1590 | |||
1591 | NOLEF DEC A |
||
1592 | JR NZ,NO2 |
||
1593 | |||
1594 | LD A,2 |
||
1595 | EX AF,AF' |
||
1596 | P2 LD A,(HL) |
||
1597 | OR C |
||
1598 | XOR C |
||
1599 | LD (HL),A |
||
1600 | LD A,(DE) |
||
1601 | RLCA |
||
1602 | RLCA |
||
1603 | AND C |
||
1604 | OR (HL) |
||
1605 | LD (HL),A |
||
1606 | INC L |
||
1607 | LD A,(HL) |
||
1608 | OR B |
||
1609 | XOR B |
||
1610 | LD (HL),A |
||
1611 | LD A,(DE) |
||
1612 | RLCA |
||
1613 | RLCA |
||
1614 | AND B |
||
1615 | OR (HL) |
||
1616 | LD (HL),A |
||
1617 | DEC L |
||
1618 | INC D |
||
1619 | INC H |
||
1620 | LD A,H |
||
1621 | AND 7 |
||
1622 | JR NZ,P2 |
||
1623 | IADR LD A,(PRADR+1) |
||
1624 | INC A |
||
1625 | LD (PRADR+1),A |
||
1626 | |||
1627 | NEBCA RL B |
||
1628 | RL C |
||
1629 | RL B |
||
1630 | RL C |
||
1631 | EXX |
||
1632 | RET |
||
1633 | |||
1634 | JR NEBCA |
||
1635 | |||
1636 | NO2 DEC A |
||
1637 | JR NZ,NO4 |
||
1638 | LD A,3 |
||
1639 | EX AF,AF' |
||
1640 | P3 LD A,(HL) |
||
1641 | OR C |
||
1642 | XOR C |
||
1643 | LD (HL),A |
||
1644 | LD A,(DE) ;7 |
||
1645 | RRCA |
||
1646 | RRCA |
||
1647 | RRCA |
||
1648 | RRCA |
||
1649 | PUSH AF |
||
1650 | AND C |
||
1651 | OR (HL) |
||
1652 | LD (HL),A |
||
1653 | INC L |
||
1654 | LD A,(HL) |
||
1655 | OR B |
||
1656 | XOR B |
||
1657 | LD (HL),A |
||
1658 | POP AF |
||
1659 | AND B |
||
1660 | OR (HL) |
||
1661 | LD (HL),A |
||
1662 | DEC L |
||
1663 | INC D |
||
1664 | INC H |
||
1665 | LD A,H |
||
1666 | AND 7 |
||
1667 | JR NZ,P3 |
||
1668 | JR IADR |
||
1669 | |||
1670 | NO4 XOR A |
||
1671 | EX AF,AF' |
||
1672 | P4 LD A,(HL) |
||
1673 | OR C |
||
1674 | XOR C |
||
1675 | LD (HL),A |
||
1676 | LD A,(DE) |
||
1677 | RRCA |
||
1678 | RRCA |
||
1679 | AND C |
||
1680 | OR (HL) |
||
1681 | LD (HL),A |
||
1682 | INC L |
||
1683 | LD A,(HL) |
||
1684 | OR B |
||
1685 | XOR B |
||
1686 | LD (HL),A |
||
1687 | LD A,(DE) |
||
1688 | RRCA |
||
1689 | RRCA |
||
1690 | AND B |
||
1691 | OR (HL) |
||
1692 | LD (HL),A |
||
1693 | DEC L |
||
1694 | INC D |
||
1695 | INC H |
||
1696 | LD A,H |
||
1697 | AND 7 |
||
1698 | JR NZ,P4 |
||
1699 | LD BC,0xFC00>>2 |
||
1700 | JR IADR |
||
1701 | |||
1702 | MAKEWIND |
||
1703 | MOV H,L,WIN_XPOS |
||
1704 | MOV B,C,WIN_XPOS+2 |
||
1705 | LD (YWIN),HL |
||
1706 | LD (YSIZ),BC |
||
1707 | TEST FLG_REFRESH,WIN_OPT |
||
1708 | JR Z,NO_PERE |
||
1709 | PUSH HL |
||
1710 | PUSH BC |
||
1711 | CALL OPEN |
||
1712 | POP BC |
||
1713 | POP HL |
||
1714 | TEST FLG_HEADER,WIN_OPT |
||
1715 | JR Z,NO_HEAD |
||
1716 | PUSH HL |
||
1717 | CALL COOR_ATR |
||
1718 | LD A,B |
||
1719 | SELCOLR LD (HL),HDRCOLOR |
||
1720 | INC HL |
||
1721 | DJNZ SELCOLR |
||
1722 | LD B,A |
||
1723 | POP HL |
||
1724 | INC L |
||
1725 | DEC C |
||
1726 | NO_HEAD CALL RAMKA |
||
1727 | NO_PERE MOV L,H,WIN_TXT |
||
1728 | CALL TST_HL |
||
1729 | RET Z |
||
1730 | LD C,0 |
||
1731 | JP PRINT |
||
1732 | |||
1733 | TAB_JP ADD A,A ;HL<- TABLE ADDRESS |
||
1734 | ADDHLA |
||
1735 | LD A,(HL) |
||
1736 | INC HL |
||
1737 | LD H,(HL) |
||
1738 | LD L,A |
||
1739 | JP (HL) |
||
1740 | |||
1741 | TST_HL LD A,L |
||
1742 | AND H |
||
1743 | INC A |
||
1744 | JR NZ,NULHL |
||
1745 | SCF |
||
1746 | RET |
||
1747 | NULHL LD A,L |
||
1748 | OR H |
||
1749 | RET |
||
1750 | |||
1751 | OPEN PUSH HL |
||
1752 | LD D,H |
||
1753 | LD E,L ;открыть окно |
||
1754 | LD A,(WINS) |
||
1755 | AMUL8 ;HL- координаты H- X L- Y |
||
1756 | |||
1757 | LD HL,REESTR ;BC- размер |
||
1758 | ADDHLA |
||
1759 | STORHL D |
||
1760 | STORHL E |
||
1761 | STORHL B |
||
1762 | STORHL C |
||
1763 | LD DE,(FREE) |
||
1764 | LD (HL),E ;BEGIN |
||
1765 | INC HL |
||
1766 | LD (HL),D |
||
1767 | POP HL |
||
1768 | TEST FLG_NOBACK,WIN_OPT |
||
1769 | JR NZ,CELES |
||
1770 | PUSH BC |
||
1771 | PUSH HL |
||
1772 | CALL GETWIND |
||
1773 | LD (FREE),DE |
||
1774 | POP HL |
||
1775 | POP BC |
||
1776 | CELES CALL CLS_WIN |
||
1777 | LD A,(WINS) |
||
1778 | INC A |
||
1779 | MOWINS LD (WINS),A |
||
1780 | RET |
||
1781 | |||
1782 | CLOSE LD A,(WINS) |
||
1783 | AND A |
||
1784 | RET Z |
||
1785 | DEC A |
||
1786 | AMUL8 |
||
1787 | |||
1788 | LD HL,REESTR |
||
1789 | ADDHLA |
||
1790 | |||
1791 | MOVHL D |
||
1792 | MOVHL E |
||
1793 | MOVHL B |
||
1794 | MOVHL C |
||
1795 | MOVHL A |
||
1796 | LD H,(HL) |
||
1797 | LD L,A |
||
1798 | EX DE,HL |
||
1799 | LD (FREE),DE |
||
1800 | CALL PUTWIND |
||
1801 | LD A,(WINS) |
||
1802 | DEC A |
||
1803 | JR MOWINS |
||
1804 | |||
1805 | RAMKA |
||
1806 | XOR A |
||
1807 | LD D,A |
||
1808 | LD E,A |
||
1809 | DEC A |
||
1810 | JR DRAW_R |
||
1811 | |||
1812 | RAMK LD A,85 |
||
1813 | LD DE,(ZNM) |
||
1814 | DRAW_R |
||
1815 | LD (MODE1+1),A |
||
1816 | LD (MODE2+1),A |
||
1817 | LD (DRSKIP),DE |
||
1818 | LD D,B |
||
1819 | LD E,C |
||
1820 | PUSH HL |
||
1821 | CALL COOR_Z |
||
1822 | EX (SP),HL |
||
1823 | ADD HL,DE |
||
1824 | POP DE |
||
1825 | CALL COOR_Z |
||
1826 | DEC L |
||
1827 | CALL U_HL |
||
1828 | |||
1829 | HORIZ LD A,(DE) |
||
1830 | MODE1 XOR -1 |
||
1831 | LD (DE),A |
||
1832 | LD A,(HL) |
||
1833 | MODE2 XOR -1 |
||
1834 | LD (HL),A |
||
1835 | INC E |
||
1836 | DEC L |
||
1837 | DJNZ HORIZ |
||
1838 | INC L |
||
1839 | DEC E |
||
1840 | LD B,C |
||
1841 | VECYC |
||
1842 | LD A,(DE) |
||
1843 | MODE3 XOR 1 |
||
1844 | LD (DE),A |
||
1845 | LD A,(HL) |
||
1846 | MODE4 XOR 128 |
||
1847 | LD (HL),A |
||
1848 | ZNM DEC H |
||
1849 | INC D |
||
1850 | DRSKIP NOP |
||
1851 | NOP |
||
1852 | LD A,D |
||
1853 | AND 7 |
||
1854 | JR NZ,VECYC |
||
1855 | |||
1856 | RENO INC H |
||
1857 | DEC D |
||
1858 | CALL U_HL |
||
1859 | CALL D_DE |
||
1860 | DJNZ VECYC |
||
1861 | RET |
||
1862 | |||
1863 | CLS_WIN |
||
1864 | CALL COOR_Z |
||
1865 | PUSH HL |
||
1866 | LD D,B |
||
1867 | LD E,C |
||
1868 | |||
1869 | ALM LD A,L |
||
1870 | LD B,D |
||
1871 | RJD LD (HL),0 |
||
1872 | INC L |
||
1873 | DJNZ RJD |
||
1874 | LD L,A |
||
1875 | INC H |
||
1876 | LD A,H |
||
1877 | AND 7 |
||
1878 | JR NZ,ALM |
||
1879 | CALL D_HL+5 |
||
1880 | DEC E |
||
1881 | JR NZ,ALM |
||
1882 | POP HL |
||
1883 | |||
1884 | CALL ATR_CONVERT |
||
1885 | |||
1886 | AL3 LD B,D |
||
1887 | COLOR LD (HL),WINCOLOR |
||
1888 | INC HL |
||
1889 | DJNZ COLOR |
||
1890 | |||
1891 | LD A,32 |
||
1892 | SUB D |
||
1893 | ADDHLA |
||
1894 | DEC C |
||
1895 | JR NZ,AL3 |
||
1896 | RET |
||
1897 | |||
1898 | |||
1899 | GETWIND XOR A |
||
1900 | JR GEPU |
||
1901 | |||
1902 | PUTWIND LD A,0xEB |
||
1903 | GEPU LD (MOD1),A |
||
1904 | LD (MOD2),A |
||
1905 | LD (MOD3),A |
||
1906 | LD (MOD4),A |
||
1907 | GET_PUT |
||
1908 | LD A,C |
||
1909 | LD C,B |
||
1910 | LD B,A |
||
1911 | CALL COOR_Z |
||
1912 | PUSH HL |
||
1913 | PUSH BC |
||
1914 | |||
1915 | ALLL LD A,L ;HL-SCREEN |
||
1916 | PUSH BC ;C-WIDTH |
||
1917 | LD B,0 |
||
1918 | MOD1 NOP |
||
1919 | LDIR |
||
1920 | MOD2 NOP |
||
1921 | DEC HL |
||
1922 | POP BC |
||
1923 | LD L,A |
||
1924 | INC H |
||
1925 | LD A,H |
||
1926 | AND 7 |
||
1927 | JR NZ,ALLL |
||
1928 | CALL D_HL+5 |
||
1929 | DJNZ ALLL |
||
1930 | POP BC |
||
1931 | POP HL |
||
1932 | CALL ATR_CONVERT |
||
1933 | ALLA |
||
1934 | PUSH BC |
||
1935 | LD B,0 |
||
1936 | MOD3 NOP |
||
1937 | LDIR |
||
1938 | MOD4 NOP |
||
1939 | POP BC |
||
1940 | LD A,32 |
||
1941 | SUB C |
||
1942 | ADDHLA |
||
1943 | DJNZ ALLA |
||
1944 | RET |
||
1945 | |||
1946 | PUT_SPRT |
||
1947 | EXX |
||
1948 | BIT 2,C |
||
1949 | EXX |
||
1950 | JR NZ,ABS_COORD |
||
1951 | PUSH DE |
||
1952 | EX DE,HL |
||
1953 | CALL ADDRZ |
||
1954 | POP DE ;HL-SCR DE-DATA |
||
1955 | JR PUSPR |
||
1956 | ABS_COORD |
||
1957 | CALL COOR_Z |
||
1958 | PUSPR |
||
1959 | PUSH HL |
||
1960 | EXX |
||
1961 | BIT 0,C |
||
1962 | EXX |
||
1963 | JR Z,ATTRZ |
||
1964 | |||
1965 | EX DE,HL |
||
1966 | PUSH BC |
||
1967 | PSP1 LD A,E |
||
1968 | PUSH BC |
||
1969 | LD B,0 |
||
1970 | LDIR |
||
1971 | DEC DE |
||
1972 | POP BC |
||
1973 | LD E,A |
||
1974 | INC D |
||
1975 | LD A,D |
||
1976 | AND 7 |
||
1977 | JR NZ,PSP1 |
||
1978 | CALL D_DE+5 |
||
1979 | DJNZ PSP1 |
||
1980 | POP BC |
||
1981 | EX DE,HL |
||
1982 | ATTRZ POP HL |
||
1983 | EXX |
||
1984 | BIT 1,C |
||
1985 | EXX |
||
1986 | RET Z |
||
1987 | |||
1988 | CALL ATR_CONVERT |
||
1989 | EX DE,HL |
||
1990 | PATRA PUSH BC |
||
1991 | LD B,0 |
||
1992 | LDIR |
||
1993 | POP BC |
||
1994 | LD A,32 |
||
1995 | SUB C |
||
1996 | ADDDEA |
||
1997 | DJNZ PATRA |
||
1998 | RET |
||
1999 | |||
2000 | PUSHER |
||
2001 | PUSH HL |
||
2002 | LD A,L |
||
2003 | ADD A,C |
||
2004 | DEC A |
||
2005 | LD L,A |
||
2006 | CALL COOR_Z |
||
2007 | LD A,H |
||
2008 | OR 7 |
||
2009 | LD H,A |
||
2010 | EX (SP),HL ;LEFT BOTTOM |
||
2011 | LD A,H |
||
2012 | ADD A,B |
||
2013 | DEC A |
||
2014 | LD H,A |
||
2015 | CALL COOR_Z ;RIGHT TOP |
||
2016 | EX (SP),HL |
||
2017 | LD A,C |
||
2018 | AMUL8 |
||
2019 | DEC A |
||
2020 | LD C,A |
||
2021 | PUSH BC |
||
2022 | PROW2 LD D,H |
||
2023 | LD E,L |
||
2024 | CALL U_HL |
||
2025 | PUSH HL |
||
2026 | PUSH BC |
||
2027 | AND A |
||
2028 | PROW1 LD A,(HL) |
||
2029 | RRA |
||
2030 | LD (DE),A |
||
2031 | INC L |
||
2032 | INC E |
||
2033 | DJNZ PROW1 |
||
2034 | POP BC |
||
2035 | POP HL |
||
2036 | DEC C |
||
2037 | JR NZ,PROW2 |
||
2038 | LD A,B |
||
2039 | CLRRW1 LD (HL),C |
||
2040 | INC L |
||
2041 | DJNZ CLRRW1 |
||
2042 | LD B,A |
||
2043 | |||
2044 | PUSADR CALL WAITKEY |
||
2045 | POP BC |
||
2046 | POP HL |
||
2047 | |||
2048 | PROW4 LD D,H |
||
2049 | LD E,L |
||
2050 | CALL D_HL |
||
2051 | PUSH HL |
||
2052 | PUSH BC |
||
2053 | AND A |
||
2054 | PROW3 LD A,(HL) |
||
2055 | RLA |
||
2056 | LD (DE),A |
||
2057 | DEC L |
||
2058 | DEC E |
||
2059 | DJNZ PROW3 |
||
2060 | POP BC |
||
2061 | POP HL |
||
2062 | DEC C |
||
2063 | JR NZ,PROW4 |
||
2064 | CLRRW2 LD (HL),C |
||
2065 | DEC L |
||
2066 | DJNZ CLRRW2 |
||
2067 | RET |
||
2068 | |||
2069 | PR_ONE EX AF,AF' |
||
2070 | CALL ADDRZ |
||
2071 | EX AF,AF' |
||
2072 | EX DE,HL |
||
2073 | LD L,A |
||
2074 | LD H,high(FONT6X8) |
||
2075 | PRON LD A,(HL) |
||
2076 | LD (DE),A |
||
2077 | INC H |
||
2078 | INC D |
||
2079 | LD A,D |
||
2080 | INC A |
||
2081 | AND 7 |
||
2082 | JR NZ,PRON |
||
2083 | RET |
||
2084 | |||
2085 | #ifndef NOCOMBO |
||
2086 | COMBOBOX |
||
2087 | LD (LISTD),A |
||
2088 | LD (LISTA),DE |
||
2089 | LD (CBWIN),HL |
||
2090 | LD (CBWIN+2),BC |
||
2091 | LD (CBACT+2),BC |
||
2092 | LD A,B |
||
2093 | EXX |
||
2094 | LD (LISTH),A |
||
2095 | LD A,D |
||
2096 | LD (LISTC),A |
||
2097 | LD A,E |
||
2098 | LD (LISTL),A |
||
2099 | EXX |
||
2100 | LD HL,(YWIN) |
||
2101 | PUSH HL |
||
2102 | PUSH IX |
||
2103 | LD IX,CBWIN |
||
2104 | CALL WINDOW |
||
2105 | INC A |
||
2106 | LD A,C |
||
2107 | PUSH AF |
||
2108 | CALL CLOSE |
||
2109 | POP AF |
||
2110 | POP IX |
||
2111 | POP HL |
||
2112 | LD (YWIN),HL |
||
2113 | RET NZ |
||
2114 | LD A,-1 |
||
2115 | RET |
||
2116 | |||
2117 | CBWIN DEFB 0,0,0,0,10 |
||
2118 | DEFB 0 |
||
2119 | DEFW 0 |
||
2120 | DEFW CBACT |
||
2121 | DEFW 0,0,0,0,0 |
||
2122 | #ifndef NOSLB |
||
2123 | DEFW 0 |
||
2124 | #endif |
||
2125 | DEFW CBLIST |
||
2126 | DEFW -1 |
||
2127 | |||
2128 | CBACT DEFB 0,0,0,0,1,-1 |
||
2129 | |||
2130 | CBLIST DEFB 0 |
||
2131 | LISTH DEFB 0 |
||
2132 | LISTC DEFB 0 |
||
2133 | DEFW 0 |
||
2134 | LISTD DEFB 0 |
||
2135 | LISTA DEFW 0 |
||
2136 | LISTL DEFB 0 |
||
2137 | DEFB -1 |
||
2138 | #endif ;COMBOBOX |
||
2139 | |||
2140 | #include "EXTERN.S01" |
||
2141 | |||
2142 |