Rev 838 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
627 | savelij | 1 | |
1035 | savelij | 2 | ; LAST UPDATE: 09.11.2022 savelij |
627 | savelij | 3 | |
4 | ITSELECTOR LD HL,FLAGS |
||
764 | savelij | 5 | RES B_MOUSE_PRESENT,(HL) ;�������������� ���������� ���� ��� ��������� |
6 | SET B_VIDEO_MODE,(HL) ;���� ���������� ����������� |
||
627 | savelij | 7 | LD HL,KEYBOARDS |
8 | LD (ADR_INT),HL ;�� ����������� ����� ����� ���������� |
||
9 | LD (OLD_STACK),SP |
||
10 | JR SELECTOR |
||
11 | |||
12 | ISELECTOR LD HL,FLAGS |
||
764 | savelij | 13 | RES B_VIDEO_MODE,(HL) |
627 | savelij | 14 | CALL DETECTMOUSE |
15 | LD (OLD_STACK),SP |
||
16 | SELECTOR EI |
||
17 | LD A,(FLAGS) |
||
764 | savelij | 18 | AND M_MOUSE_PRESENT ;�������� ������� ���� |
627 | savelij | 19 | JR Z,_RULNMO |
20 | ;FIX ������ ���� |
||
21 | MKEYPR EI |
||
22 | LD A,0XFA |
||
23 | IN A,(0XDF) |
||
24 | CPL |
||
25 | AND 7 |
||
26 | JR NZ,MKEYPR |
||
27 | _RULNMO CALL SAVE2X2 ;���� ���� ���������� ������ ������� |
||
28 | CALL SET_ADR_ATR ;��������� ������ ������ ��� ������� ������� |
||
29 | LD HL,FLAGS_KEY |
||
30 | RES 5,(HL) ;�� ���������� ������ �� ������ |
||
31 | JR MAINLOP |
||
32 | |||
33 | ;������ ������� ����� |
||
34 | UP CALL CURSOR_UP ;������� ������� ����� �� -1 |
||
35 | JR SET_POS1 |
||
36 | |||
37 | ;������ ������� ������ |
||
38 | RIGHT BIT 1,(IX+6) ;�������� ������ ���� ��� �������� |
||
39 | PUSH AF ;��������� ��������� �������� |
||
40 | CALL NZ,PAGEDN ;���� ��������, �� �������� ���������� |
||
41 | POP AF ;������������ ��������� �������� |
||
42 | JR NZ,SET_POS1 ;���� �������� ���������� |
||
43 | LD A,(IX+0X0A) |
||
44 | AND A |
||
45 | JR Z,SET_POS |
||
46 | DEC A ;����� ������� ������� �� ��������� ����� |
||
47 | JR SET_POS ;�������� ��������� ������� � ���������� |
||
48 | |||
49 | ;������ ������� ���� |
||
50 | DOWN CALL CURSOR_DOWN ;������� ������� ����� �� +1 |
||
51 | JR SET_POS1 |
||
52 | |||
53 | ;������ ������� ����� |
||
54 | LEFT BIT 1,(IX+6) ;�������� ������ ���� ��� �������� |
||
55 | PUSH AF ;��������� ��������� �������� |
||
56 | CALL NZ,PAGEUP ;���� ��������, �� �������� ���������� |
||
57 | POP AF ;������������ ��������� �������� |
||
58 | JR NZ,SET_POS1 ;���� �������� ���������� |
||
59 | XOR A ;����� ������� ������� �� ������ ����� |
||
60 | SET_POS BIT 7,(IX+7) |
||
61 | JR Z,SET_POS3 |
||
62 | LD L,(IX+8) |
||
63 | LD H,(IX+9) |
||
64 | LD (HL),A |
||
65 | INC HL |
||
66 | LD (HL),A |
||
67 | INC HL |
||
68 | LD (HL),0 |
||
69 | JR SET_POS1 |
||
70 | |||
71 | SET_POS3 LD (IX+7),A ;�������� ������� ������� |
||
72 | LD (IX+8),A |
||
73 | LD (IX+9),0 ;�������� ����� ���������� ������ |
||
74 | SET_POS1 CALL COLOR_CURSOR ;����������� ������� ������� ���� |
||
75 | MAINLOP LD HL,FLAGS_KEY |
||
76 | RES 5,(HL) ;����� ������� ������ |
||
77 | LD A,(FLAGS) |
||
764 | savelij | 78 | AND M_MOUSE_PRESENT ;�������� ������� ���� |
627 | savelij | 79 | JP Z,MAINNMO |
80 | LD HL,(ARXY) ;������ ���������� ���� |
||
81 | PUSH HL |
||
82 | CALL MOUSE ;����� ������ ���� |
||
83 | POP BC |
||
84 | AND A |
||
85 | SBC HL,BC |
||
86 | JR Z,NO_SELECT ;�� ���� �������� ���� |
||
87 | CALL MOUOPT ;�������� ��������� ���� �� �������� ���� |
||
88 | NO_SELECT LD BC,0XFADF |
||
89 | IN A,(C) ;����� ������� ������ ���� |
||
90 | AND 7 |
||
91 | CP 6 |
||
92 | JR Z,PRESS_MOUSE ;���� ������ ����� ������ ���� |
||
93 | CP 5 |
||
94 | JP Z,RESTART ;���� ������ ������ ������ ���� |
||
95 | CALL PRINTTIME ;�������� ����� ���� ���������� |
||
96 | EI |
||
97 | CALL REST2X2 ;������������ ����� ������ ��� ����� |
||
98 | CALL DRAW_MOUSE ;���������� ������ ���� |
||
99 | JR MAINQMO ;����������� ������ |
||
100 | |||
101 | PRESS_MOUSE CALL OPMSPL |
||
102 | AND A |
||
103 | JR Z,CP_MOUSE4 |
||
104 | LD (LAST_K),A |
||
105 | CALL TIMELP |
||
106 | JR SELECT_KEY |
||
107 | |||
108 | CP_MOUSE4 CALL MOUOPT ;�������� ��������� ���� � ������� �������� ���� |
||
109 | JR C,MAINNMO ;�� ������ � ���� ����� |
||
110 | LD E,(IX+7) ;����� ����� ������ ���� ������ ����� |
||
111 | BIT 7,E |
||
112 | JR Z,CP_MOUSE5 |
||
113 | LD L,(IX+8) |
||
114 | LD H,(IX+9) |
||
115 | LD E,(HL) |
||
116 | CP_MOUSE5 LD D,0 |
||
117 | LD HL,(PRESSEDKEY) ;����� ������ ������� �������� ���� |
||
118 | ADD HL,DE ;����� ������ ���������� ������ |
||
119 | LD DE,LAST_K |
||
120 | LDI ;�������� ������� �������� ������ |
||
121 | JR ENTER |
||
122 | |||
123 | MAINNMO CALL PRINTTIME ;���������� �������, ���� � ��� ���������� |
||
124 | EI |
||
125 | HALT |
||
126 | MAINQMO LD A,(FLAGS_KEY) |
||
127 | BIT 5,A ;�������� ������� ������ ���������� |
||
128 | JP Z,MAINLOP ;���������� ����� ���������� |
||
831 | savelij | 129 | ROMCALL BREAK_KEY,ROM_RST82 ;�������� �� BREAK |
627 | savelij | 130 | JR C,SELECT_KEY ;���� BREAK �� ����� ���������� |
131 | RESTART DI |
||
132 | CALL TRESTORE_CLINE |
||
133 | LD A,1 |
||
134 | RET |
||
135 | |||
136 | SELECT_KEY DI |
||
137 | LD HL,SET_POS1 |
||
138 | PUSH HL |
||
139 | LD HL,LAST_K |
||
140 | LD A,(HL) ;����� ������� ������� |
||
141 | LD B,0 |
||
142 | LD HL,MAIN_KEYS |
||
143 | LD C,(HL) ;���������� ��������� ������ |
||
144 | LD D,C |
||
145 | INC HL |
||
146 | CPIR |
||
147 | JR NZ,NOMAINKEYS ;������ �� �����, ����� ������� ������ �������� ���� |
||
148 | ;������ ���-�� �� ������� ������, ��������� ������ |
||
149 | LD HL,ADREXEKEYS |
||
150 | LD A,D ;���������� ������ � ������� -1 |
||
151 | SUB C ;�������� ��������� ����� |
||
152 | DEC A |
||
153 | ADD A,A |
||
154 | ADD A,L |
||
155 | LD L,A |
||
156 | ADC A,H |
||
157 | SUB L |
||
158 | LD H,A |
||
159 | LD A,(HL) |
||
160 | INC HL |
||
161 | LD H,(HL) |
||
162 | LD L,A |
||
163 | JP (HL) |
||
164 | |||
165 | ;�������� ������� � ������� ���� |
||
166 | NOMAINKEYS LD L,(IX+0X12) |
||
167 | LD H,(IX+0X13) ;����� ������ ������� ������ �������� ���� |
||
168 | LD C,A |
||
169 | LD A,H |
||
170 | OR L |
||
171 | JP Z,MAINLOP ;���� ������ ���, ���������� ����� |
||
172 | LD A,C |
||
173 | LD C,(IX+2) |
||
174 | LD E,(HL) |
||
175 | INC HL |
||
176 | DEC C ;���������� ������ |
||
177 | DEC C ;������ ���� -2 |
||
178 | LD D,C |
||
179 | LD B,0 |
||
180 | CPIR ;������������ ������ �������� ������ |
||
181 | JR NZ,OSTAT_KEYS |
||
182 | LD A,D ;������ ���� |
||
183 | SUB C |
||
184 | DEC A ;�������� ����� ������� ������ � -1 |
||
185 | BIT 7,(IX+7) |
||
186 | JR Z,ENTER1 |
||
187 | LD L,(IX+8) |
||
188 | LD H,(IX+9) |
||
189 | LD (HL),A |
||
190 | INC HL |
||
191 | LD (HL),A |
||
192 | JR ENTER |
||
193 | |||
194 | ENTER1 LD (IX+7),A ;����� ������ � ���� |
||
195 | LD (IX+8),A ;����� ������� ������� �� ���������� ������ |
||
196 | ENTER LD A,(FLAGS) |
||
764 | savelij | 197 | AND M_MOUSE_PRESENT |
627 | savelij | 198 | CALL NZ,TIMELP ;���������� ������� ���� ��� ���������� |
199 | CALL REST2X2 ;������ ������ ���� |
||
200 | LD A,(IX+7) ;����� �� ������ ������� ������� |
||
201 | BIT 7,A |
||
202 | JR Z,JUMP2HL1 |
||
203 | LD L,(IX+8) |
||
204 | LD H,(IX+9) |
||
205 | LD A,(HL) |
||
206 | JUMP2HL1 LD L,(IX+0X0E) |
||
207 | LD H,(IX+0X0F) ;����� ������ ������� 1 �� ������� ����� �������� |
||
208 | JUMP2HL ADD A,A |
||
209 | ADD A,L |
||
210 | LD L,A |
||
211 | ADC A,H |
||
212 | SUB L |
||
213 | LD H,A |
||
214 | LD A,(HL) |
||
215 | INC HL |
||
216 | LD H,(HL) |
||
217 | LD L,A |
||
218 | JP (HL) |
||
219 | |||
220 | OSTAT_KEYS EX AF,AF' |
||
221 | LD A,E |
||
222 | SUB D |
||
223 | JP Z,MAINLOP |
||
224 | LD C,A |
||
225 | EX AF,AF' |
||
226 | CPIR |
||
227 | JP NZ,MAINLOP |
||
228 | LD A,E |
||
229 | SUB C |
||
230 | DEC A |
||
231 | JR JUMP2HL1 |
||
232 | |||
233 | TIMELP CALL PRINTTIME |
||
234 | LD A,0XFA |
||
235 | IN A,(0XDF) ;������ ���� |
||
236 | CPL |
||
237 | AND 7 |
||
238 | JR NZ,TIMELP ;���� �� �������� |
||
239 | RET |
||
240 | |||
241 | CURSOR_UP LD C,(IX+8) |
||
242 | LD B,(IX+9) |
||
243 | BIT 7,(IX+7) |
||
244 | JR Z,CURSOR_UP3 |
||
245 | LD L,(IX+8) |
||
246 | LD H,(IX+9) |
||
247 | INC HL |
||
248 | LD C,(HL) |
||
249 | INC HL |
||
250 | LD B,(HL) |
||
251 | CURSOR_UP3 LD A,B |
||
252 | OR C |
||
253 | RET Z |
||
254 | DEC BC |
||
255 | BIT 7,(IX+7) |
||
256 | JR Z,CURSOR_UP2 |
||
257 | LD (HL),B |
||
258 | DEC HL |
||
259 | LD (HL),C |
||
260 | DEC HL |
||
261 | LD A,(HL) |
||
262 | AND A |
||
263 | JR Z,CURSOR_UP1 |
||
264 | DEC (HL) |
||
265 | RET |
||
266 | |||
267 | CURSOR_UP2 LD (IX+8),C |
||
268 | LD (IX+9),B |
||
269 | LD A,(IX+7) |
||
270 | AND A |
||
271 | JR Z,CURSOR_UP1 |
||
272 | DEC (IX+7) |
||
273 | RET |
||
274 | |||
275 | CURSOR_UP1 CALL REST2X2 |
||
276 | CALL RESTORE_CLINE |
||
277 | CALL SCRDN |
||
278 | LD E,(IX+1) |
||
279 | INC E |
||
280 | DOWN1 LD D,(IX+0) |
||
281 | INC D |
||
282 | INC D |
||
736 | savelij | 283 | EVOPORT WIN_P3,RAM_TEMP2 |
627 | savelij | 284 | LD L,(IX+8) |
285 | LD H,(IX+9) |
||
286 | BIT 7,(IX+7) |
||
287 | JR Z,DOWN3 |
||
288 | DEC D |
||
289 | INC HL |
||
290 | LD A,(HL) |
||
291 | INC HL |
||
292 | LD H,(HL) |
||
293 | LD L,A |
||
294 | DOWN3 LD BC,CPU3 |
||
295 | ADD HL,HL |
||
296 | ADD HL,BC |
||
297 | LD C,(HL) |
||
298 | INC HL |
||
299 | LD B,(HL) |
||
300 | PUSH DE |
||
831 | savelij | 301 | ROMCALL POSTF06,ROM_RST83 |
302 | ROMCALL READ_DIR,ROM_RST83 |
||
627 | savelij | 303 | LD DE,FILES_EXT |
831 | savelij | 304 | ROMCALL CP_EXT,ROM_RST83 |
627 | savelij | 305 | EX AF,AF' |
306 | LD BC,0X0B |
||
307 | ADD HL,BC |
||
308 | LD A,(HL) |
||
309 | SBC HL,BC |
||
310 | AND 0X10 |
||
311 | LD A,BLUE<<3+WHITE+BR_INK |
||
312 | LD (OUT_NAME_FILE+1),A ;���� ���������� �� ���� ����� |
||
313 | JR NZ,DOWN7 |
||
314 | EX AF,AF' |
||
315 | LD L,A |
||
316 | INC A |
||
317 | JR Z,DOWN6 |
||
318 | LD A,L |
||
319 | DOWN6 LD HL,COLOR_EXT |
||
320 | ADD A,L |
||
321 | LD L,A |
||
322 | ADC A,H |
||
323 | SUB L |
||
324 | LD A,(HL) |
||
325 | ADD A,BLUE<<3+BR_INK |
||
326 | LD (OUT_NAME_FILE+1),A |
||
327 | DOWN7 LD HL,BUF_256 |
||
831 | savelij | 328 | ROMCALL GET_LONGNAME,ROM_RST83 |
627 | savelij | 329 | POP DE |
330 | CALL FILENAME8_3 |
||
331 | JP SET_ADR_ATR |
||
332 | |||
333 | CURSOR_DOWN LD L,(IX+0X0A) |
||
646 | savelij | 334 | LD H,(IX+0X0B) ;���������� ������� |
627 | savelij | 335 | BIT 6,(IX+7) |
336 | JR Z,CURSOR_DOWN6 |
||
337 | LD L,(IX+8) ;��������� ���������� ������� |
||
338 | LD H,(IX+9) ;�� ���������� ������ |
||
339 | INC HL |
||
340 | INC HL |
||
341 | INC HL |
||
342 | LD A,(HL) |
||
343 | INC HL |
||
344 | LD H,(HL) |
||
345 | LD L,A ;���������� ������� � ���� ���� |
||
346 | CURSOR_DOWN6 LD A,H |
||
347 | OR L |
||
348 | RET Z |
||
349 | BIT 7,(IX+7) |
||
350 | JR Z,CURSOR_DOWN2 |
||
351 | LD E,(IX+8) |
||
646 | savelij | 352 | LD D,(IX+9) ;������� ����� |
627 | savelij | 353 | EX DE,HL |
354 | INC HL |
||
355 | LD C,(HL) |
||
356 | INC HL |
||
357 | LD B,(HL) |
||
358 | EX DE,HL |
||
359 | JR CURSOR_DOWN3 |
||
360 | |||
361 | CURSOR_DOWN2 LD C,(IX+8) |
||
362 | LD B,(IX+9) |
||
363 | CURSOR_DOWN3 SCF |
||
364 | SBC HL,BC |
||
365 | RET Z |
||
366 | INC BC |
||
367 | BIT 7,(IX+7) |
||
368 | JR Z,CURSOR_DOWN4 |
||
369 | EX DE,HL |
||
370 | LD (HL),B |
||
371 | DEC HL |
||
372 | LD (HL),C |
||
373 | DEC HL |
||
374 | LD A,(IX+2) |
||
375 | SUB 3 |
||
376 | CP (HL) |
||
377 | JR Z,CURSOR_DOWN1 |
||
378 | INC (HL) |
||
379 | RET |
||
380 | |||
381 | CURSOR_DOWN4 LD (IX+8),C |
||
382 | LD (IX+9),B |
||
383 | LD A,(IX+2) |
||
384 | SUB 3 |
||
385 | CP (IX+7) |
||
386 | JR Z,CURSOR_DOWN1 |
||
387 | INC (IX+7) |
||
388 | RET |
||
389 | |||
390 | CURSOR_DOWN1 CALL REST2X2 |
||
391 | CALL RESTORE_CLINE |
||
392 | CALL SCRUP |
||
393 | LD A,(IX+1) |
||
394 | ADD A,(IX+2) |
||
395 | SUB 2 |
||
396 | LD E,A |
||
397 | JP DOWN1 |
||
398 | |||
399 | GET_XY LD L,(IX+8) |
||
400 | LD H,(IX+9) ;������� ����� |
||
401 | BIT 7,(IX+7) |
||
402 | JR Z,GETXY1 |
||
646 | savelij | 403 | ;��������� ������ �������� ������ �� ��������� |
627 | savelij | 404 | INC HL |
405 | LD E,(HL) |
||
406 | INC HL |
||
407 | LD D,(HL) ;������� ����� �� ���������� ������ |
||
408 | EX DE,HL |
||
409 | BIT 6,(IX+7) |
||
410 | JR Z,GETXY1 |
||
646 | savelij | 411 | ;��������� ���������� ������� �� ���������� |
627 | savelij | 412 | EX DE,HL |
413 | INC HL |
||
414 | LD A,(HL) |
||
415 | INC HL |
||
416 | LD H,(HL) |
||
417 | LD L,A ;���������� ������� �� ���������� ������ |
||
418 | EX DE,HL |
||
419 | JR GETXY2 |
||
420 | |||
421 | GETXY1 LD E,(IX+0X0A) |
||
422 | LD D,(IX+0X0B) ;���-�� ������� |
||
423 | GETXY2 LD A,(IX+2) |
||
424 | SUB 3 |
||
425 | LD C,A ;���������� ������� � ������ ���� |
||
426 | LD B,0 |
||
427 | LD A,D |
||
428 | OR E |
||
429 | LD A,C |
||
430 | RET |
||
431 | |||
432 | ;����������� �� �������� ����� |
||
433 | PAGEUP CALL GET_XY |
||
434 | RET Z |
||
435 | XOR A |
||
436 | SBC HL,BC |
||
437 | EX DE,HL |
||
438 | JR NC,PDUN0 |
||
439 | PDU0 LD D,A |
||
440 | LD E,A |
||
441 | JR PDUN0 |
||
442 | |||
443 | ;����������� �� �������� ���� |
||
444 | PAGEDN CALL GET_XY |
||
445 | RET Z |
||
446 | EX DE,HL |
||
447 | AND A |
||
448 | SBC HL,BC |
||
449 | ADD HL,BC |
||
450 | EX DE,HL |
||
451 | JR NC,PDN00 |
||
452 | DEC DE |
||
453 | LD A,E |
||
454 | JR PDUN0 |
||
455 | |||
456 | PDN00 ADD HL,BC |
||
457 | EX DE,HL |
||
458 | SBC HL,DE |
||
459 | ADD HL,DE |
||
460 | JR Z,PDUN1 |
||
461 | JR NC,PDUN0 |
||
462 | PDUN1 EX DE,HL |
||
463 | DEC DE |
||
464 | PDUN0 BIT 7,(IX+7) |
||
465 | JR Z,PDUN2 |
||
466 | LD L,(IX+8) |
||
467 | LD H,(IX+9) |
||
468 | LD (HL),A |
||
469 | INC HL |
||
470 | LD (HL),E |
||
471 | INC HL |
||
472 | LD (HL),D |
||
473 | JR PDUN3 |
||
474 | |||
475 | PDUN2 LD (IX+7),A |
||
646 | savelij | 476 | LD (IX+8),E |
477 | LD (IX+9),D |
||
478 | PDUN3 CALL RESTORE_CLINE |
||
479 | JP OUT_TEK_DIR |
||
627 | savelij | 480 | |
481 | PRINTTIME DI |
||
482 | LD H,0X0C |
||
764 | savelij | 483 | CALL READCMOS |
627 | savelij | 484 | AND 0X10 |
485 | RET Z ;���� ����� ��� �� ����������, ������� ������ �� ������ |
||
486 | LD BC,TXT_TIME ;������ � �������������� ������� |
||
487 | LD H,4 |
||
764 | savelij | 488 | CALL READCMOS ;��������� ���� |
627 | savelij | 489 | CALL BYTE2TXT ;����������� ���� � �������� � ����� |
490 | LD A,(BC) |
||
491 | XOR 0X1A ;��������� ��������� ��������� |
||
492 | LD (BC),A |
||
493 | INC BC |
||
494 | LD H,2 |
||
764 | savelij | 495 | CALL READCMOS ;��������� ������ |
627 | savelij | 496 | CALL BYTE2TXT ;����������� ���� � �������� � ����� |
497 | LD A,(BC) |
||
736 | savelij | 498 | XOR ':'-' ' ;��������� ��������� ��������� |
627 | savelij | 499 | LD (BC),A |
500 | INC BC |
||
501 | LD H,0 |
||
764 | savelij | 502 | CALL READCMOS ;��������� ������� |
627 | savelij | 503 | CALL BYTE2TXT |
504 | LD BC,TXT_DATA ;����� ������ � �������������� ���� |
||
505 | LD H,7 |
||
764 | savelij | 506 | CALL READCMOS |
627 | savelij | 507 | CALL BYTE2TXT |
508 | INC BC |
||
509 | LD H,8 |
||
764 | savelij | 510 | CALL READCMOS |
627 | savelij | 511 | CALL BYTE2TXT |
512 | INC BC |
||
513 | LD H,9 |
||
764 | savelij | 514 | CALL READCMOS |
627 | savelij | 515 | CALL BYTE2TXT |
516 | LD HL,BUFF_TIME ;�������� ����� �� ������ |
||
517 | JP ITPRINT_MESSAGE |
||
518 | |||
519 | ;������� "A" � ��������� � � ����� |
||
520 | A2TXT PUSH HL |
||
521 | LD L,A |
||
522 | LD H,0 |
||
523 | LD DE,10 |
||
524 | XOR A |
||
525 | DEC A |
||
526 | INC A |
||
527 | SBC HL,DE |
||
528 | JR NC,$-3 |
||
529 | ADD HL,DE |
||
530 | ADD A,"0" |
||
531 | LD D,A |
||
532 | LD A,L |
||
533 | ADD A,"0" |
||
534 | POP HL |
||
535 | LD (HL),D |
||
536 | INC HL |
||
537 | LD (HL),A |
||
538 | INC HL |
||
539 | RET |
||
540 | |||
541 | BYTE2TXT LD L,A |
||
542 | LD H,"0" |
||
543 | RRCA |
||
544 | RRCA |
||
545 | RRCA |
||
546 | RRCA |
||
547 | AND 0X0F |
||
548 | ADD A,H |
||
549 | LD (BC),A |
||
550 | INC BC |
||
551 | LD A,L |
||
552 | AND 0X0F |
||
553 | ADD A,H |
||
554 | LD (BC),A |
||
555 | INC BC |
||
556 | RET |
||
557 | |||
558 | ;����� �� MAGIC |
||
559 | CONTINUE_PROG DI |
||
560 | LD SP,(OLD_STACK) |
||
561 | XOR A |
||
562 | RET |
||
563 | |||
564 | ;���������� MAGIC ���� � ������ ������������ ������ |
||
565 | RESTART_MAIN DI |
||
566 | LD SP,(OLD_STACK) |
||
567 | LD A,1 |
||
568 | RET |
||
569 | |||
570 | ;����� �� ��������� |
||
571 | TRACER_DBG DI |
||
572 | LD SP,(OLD_STACK) |
||
573 | LD A,2 |
||
574 | RET |
||
575 | |||
576 | SETUP LD IX,SETUP_MENU |
||
577 | CALL ITWINW |
||
578 | JP SET_ADR_ATR |
||
579 | |||
580 | ;������� TURBO ������� � ������� � CMOS � ���������� ����� ������ �� NMI |
||
581 | ;0-7MHZ 1-3,5MHZ 2-14,0MHZ |
||
582 | SET_TURBO DI |
||
583 | LD H,CMOS_BYTE_01 |
||
764 | savelij | 584 | CALL READCMOS |
627 | savelij | 585 | LD E,L ;TURBO AND MEMORY MODE |
586 | LD H,CMOS_BYTE_00 |
||
764 | savelij | 587 | CALL READCMOS |
627 | savelij | 588 | LD D,L ;TURBO 14 |
589 | RLCA |
||
590 | LD C,A |
||
591 | LD A,E |
||
592 | RLCA |
||
593 | LD A,C |
||
594 | RLA |
||
595 | AND 3 |
||
596 | INC A ;������� TURBO ����� |
||
597 | CP 3 |
||
598 | JR C,SETTURBO1 |
||
599 | XOR A ;���� ������� ����� 0, �� ��������� ����� 14MHZ |
||
600 | SETTURBO1 LD C,A |
||
601 | PUSH BC |
||
602 | AND A |
||
603 | RES 7,E ;TURBO 7 0 |
||
604 | RES 7,D ;TURBO 14=7MHZ 0 |
||
605 | JR Z,SETTURBO3 |
||
606 | DEC A |
||
607 | SET 7,E ;TURBO 7 1 |
||
608 | RES 7,D ;TURBO 14=3,5 0 |
||
609 | JR Z,SETTURBO3 |
||
610 | RES 7,E ;TURBO 7 0 |
||
611 | SET 7,D ;TURBO 14=14 1 |
||
612 | SETTURBO3 LD H,CMOS_BYTE_00 |
||
613 | LD L,D |
||
614 | PUSH DE |
||
764 | savelij | 615 | CALL IWRITECMOS |
627 | savelij | 616 | POP DE |
617 | LD H,CMOS_BYTE_01 |
||
618 | LD L,E |
||
764 | savelij | 619 | CALL IWRITECMOS |
627 | savelij | 620 | POP BC |
621 | LD A,C |
||
622 | AND A |
||
821 | savelij | 623 | LD DE,%0000000000000000 ;7MHZ |
627 | savelij | 624 | JR Z,SETTURBO4 |
625 | DEC A |
||
821 | savelij | 626 | LD DE,%0001000000000000 ;3,5MHZ |
627 | savelij | 627 | JR Z,SETTURBO4 |
821 | savelij | 628 | LD DE,%0000000000001000 ;14MHZ |
627 | savelij | 629 | SETTURBO4 LD A,(B_PORT77) |
630 | AND %11110111 |
||
631 | OR E |
||
632 | LD (B_PORT77),A |
||
633 | LD A,(N_EFF7) |
||
634 | AND %11101111 |
||
635 | OR D |
||
636 | LD (N_EFF7),A |
||
795 | savelij | 637 | SETANDPRINT CALL SETUP4SEL |
627 | savelij | 638 | LD HL,TXT_SETUPMENU |
639 | JP ITPRINT_MESSAGE |
||
640 | |||
641 | ;������� ������� ������ � ������� � CMOS � ���������� ����� ������ �� NMI |
||
642 | SET_MEMORY DI |
||
643 | LD H,CMOS_BYTE_01 |
||
764 | savelij | 644 | CALL READCMOS |
627 | savelij | 645 | AND 3 |
646 | INC A |
||
647 | CP 3 |
||
648 | JR C,SETMEMORY1 |
||
649 | XOR A |
||
650 | SETMEMORY1 LD C,A |
||
651 | LD A,L |
||
652 | AND %11111100 |
||
653 | OR C |
||
654 | LD L,A |
||
764 | savelij | 655 | CALL IWRITECMOS |
795 | savelij | 656 | JR SETANDPRINT |
627 | savelij | 657 | |
795 | savelij | 658 | ;���������/���������� ��������� HONEY COMANDER |
659 | SET_REZIDENT DI |
||
660 | LD H,CMOS_BYTE_01 |
||
661 | CALL READCMOS |
||
662 | XOR M_REZIDENT |
||
663 | LD L,A |
||
664 | CALL IWRITECMOS |
||
665 | JR SETANDPRINT |
||
838 | savelij | 666 | |
667 | KILL_REZID DI |
||
668 | LD H,CMOS_BYTE_03 |
||
669 | CALL READCMOS |
||
670 | XOR M_KILL_REZIDENT |
||
671 | LD L,A |
||
672 | CALL IWRITECMOS |
||
673 | JR SETANDPRINT |
||
795 | savelij | 674 | |
627 | savelij | 675 | ;��������� ������ � ���� |
676 | SETUP4SEL DI |
||
677 | LD H,CMOS_BYTE_01 |
||
764 | savelij | 678 | CALL READCMOS |
627 | savelij | 679 | LD E,L ;TURBO AND MEMORY MODE |
680 | LD H,CMOS_BYTE_00 |
||
764 | savelij | 681 | CALL READCMOS |
627 | savelij | 682 | LD D,L ;TURBO 14 |
683 | RLCA |
||
684 | LD C,A |
||
685 | LD A,E |
||
686 | RLCA |
||
687 | LD A,C |
||
688 | RLA |
||
689 | AND 3 |
||
690 | CP 3 |
||
691 | JR C,SETUP4SEL1 |
||
692 | DEC A |
||
693 | SETUP4SEL1 ADD A,A |
||
694 | ADD A,A |
||
695 | LD HL,TXT_TURBO |
||
696 | LD C,A |
||
697 | LD B,0 |
||
698 | ADD HL,BC |
||
699 | PUSH DE |
||
700 | LD DE,TURBO_MODE |
||
701 | LDI |
||
702 | LDI |
||
703 | LDI |
||
704 | LDI |
||
705 | EX DE,HL |
||
706 | LD (HL),2 |
||
707 | POP DE |
||
795 | savelij | 708 | PUSH DE |
627 | savelij | 709 | LD A,E |
710 | AND 3 |
||
711 | LD C,A |
||
712 | LD B,0 |
||
713 | LD HL,TXT_MEMORY |
||
714 | ADD HL,BC |
||
715 | ADD HL,BC |
||
716 | ADD HL,BC |
||
717 | LD DE,MEMORY_MODE |
||
718 | LDI |
||
719 | LDI |
||
720 | LDI |
||
721 | EX DE,HL |
||
722 | LD (HL),2 |
||
795 | savelij | 723 | POP DE |
724 | ;��� ��������� HONEY COMANDER |
||
725 | LD A,E |
||
726 | AND M_REZIDENT |
||
727 | LD HL,TXT_ONOFF |
||
728 | JR NZ,.ON |
||
729 | LD HL,TXT_ONOFF+3 |
||
730 | .ON LD DE,REZIDENT_MODE |
||
731 | LDI |
||
732 | LDI |
||
733 | LDI |
||
734 | EX DE,HL |
||
735 | LD (HL),2 |
||
838 | savelij | 736 | LD H,CMOS_BYTE_03 |
737 | CALL READCMOS |
||
738 | AND M_KILL_REZIDENT |
||
739 | LD HL,TXT_ONOFF |
||
740 | JR NZ,.ON1 |
||
741 | LD HL,TXT_ONOFF+3 |
||
742 | .ON1 LD DE,TXT_KILLREZID |
||
743 | LDI |
||
744 | LDI |
||
745 | LDI |
||
746 | EX DE,HL |
||
747 | LD (HL),2 |
||
627 | savelij | 748 | RET |
749 | |||
750 | ;�������� ������� � ���������� ����� ������� |
||
751 | ANY_KEYS XOR A |
||
752 | IN A,(0XFE) |
||
753 | CPL |
||
754 | AND 0X1F |
||
755 | JR Z,ANY_KEYS |
||
756 | ANYKEYS1 XOR A |
||
757 | IN A,(0XFE) |
||
758 | CPL |
||
759 | AND 0X1F |
||
760 | JR NZ,ANYKEYS1 |
||
761 | RET |