Subversion Repositories pentevo

Rev

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