Subversion Repositories pentevo

Rev

Rev 1120 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1120 Rev 1186
Line 1... Line 1...
1
 
1
 
2
; LAST UPDATE: 14.10.2023 savelij
2
; LAST UPDATE: 16.02.2025 savelij
3
 
3
 
4
; последовательность для RST 8
4
; последовательность для RST 8
5
; старый стек   HL AF BC RF ADR_RET DE  ->
5
; старый стек   HL AF BC RF ADR_RET DE  ->
6
; -> новый стек HL(номер паги и порт BF) DE(RAMNROM И DOS7FFD) BC' DE' HL' IX IY AF' ->
6
; -> новый стек HL(номер паги и порт BF) DE(RAMNROM И DOS7FFD) BC' DE' HL' IX IY AF' ->
7
; -> чтение конфига
7
; -> чтение конфига
Line 14... Line 14...
14
 
14
 
15
                JP CALL2PAGE                    ; вызов кода в другой странице ROM
15
                JP CALL2PAGE                    ; вызов кода в другой странице ROM
16
 
16
 
17
                JP CALL2RAMPAGE                 ; вызов кода в другой странице RAM
17
                JP CALL2RAMPAGE                 ; вызов кода в другой странице RAM
18
 
18
 
19
                DUPL ADR_SEL_ROM-$,0
19
                DB ADR_SEL_ROM-$ DUP 0
20
                OUT (C),A                       ; переключение страниц для переходов
20
                OUT (C),A                       ; переключение страниц для переходов
21
                NOP
21
                NOP
22
FOR_RET         NOP
22
FOR_RET         NOP
23
                JP RAMSEL1
23
                JP RAMSEL1
24
 
24
 
25
OUT_NMI         OUT (0xBE),A
25
OUT_NMI         OUT (0xBE),A
26
                RETN
26
                RETN
27
 
27
 
28
                DUPL 0x0038-$,0xFF
28
                DB 0x0038-$ DUP 0xFF
29
IM_EI_RET       EI
29
IM_EI_RET       EI
30
                RET
30
                RET
31
 
31
 
32
VIRT_BITS       DB 0                            ; биты 7-4 примонтированные диски,
32
VIRT_BITS       DB 0                            ; биты 7-4 примонтированные диски,
33
                                                ; биты 3-2 номер реального диска
33
                                                ; биты 3-2 номер реального диска
34
                                                ; биты 1-0 номер виртуального диска
34
                                                ; биты 1-0 номер виртуального диска
35
 
35
 
36
                DUPL 0x0066-$,0xFF
36
                DB 0x0066-$ DUP 0xFF
37
                NOP
37
                NOP
38
                NOP
38
                NOP
39
ADR_MAGIC       JP NMI_SERVICE
39
ADR_MAGIC       JP NMI_SERVICE
40
ADR_NMI_JUMP    EQU $-2
40
ADR_NMI_JUMP    EQU $-2
41
 
41
 
42
                PHASE $+CPU6
42
        PHASE $+CPU2
43
; считанная конфигурация портов для RST 8
43
; считанная конфигурация портов для RST 8
44
R_BF            DB 0xFF
44
R_BF            DB 0xFF
45
R_77            DB 0xFF
45
R_77            DB 0xFF
46
R_EFF7          DB 0xFF
46
R_EFF7          DB 0xFF
47
R_7FFD          DB 0xFF
47
R_7FFD          DB 0xFF
Line 69... Line 69...
69
N_1WINA0        DB 0xFF
69
N_1WINA0        DB 0xFF
70
N_0WINA3        DB 0xFF
70
N_0WINA3        DB 0xFF
71
N_0WINA2        DB 0xFF
71
N_0WINA2        DB 0xFF
72
N_0WINA1        DB 0xFF
72
N_0WINA1        DB 0xFF
73
N_0WINA0        DB 0xFF
73
N_0WINA0        DB 0xFF
74
N_TEK_PALS      DUPL 0x10,0xFF
74
N_TEK_PALS      DB 0x10 DUP 0xFF
75
 
75
 
76
; сохраненные регистры при вызове RST 8
76
; сохраненные регистры при вызове RST 8
77
RREG_FI         DB 0xFF
77
RREG_FI         DB 0xFF
78
RREG_I          DB 0xFF                         ; IF
78
RREG_I          DB 0xFF                         ; IF
79
RREG_FF         DB 0xFF
79
RREG_FF         DB 0xFF
Line 157... Line 157...
157
P1_CPU3         DB 0xFF                         ; старший байт адреса порта порта для 3 окна 0 мапера
157
P1_CPU3         DB 0xFF                         ; старший байт адреса порта порта для 3 окна 0 мапера
158
B_PORT77        DB 0xFF                         ; байт для вывода в порт ХХ77
158
B_PORT77        DB 0xFF                         ; байт для вывода в порт ХХ77
159
P_PORT77        DB 0xFF                         ; старший байт адреса порта ХХ77
159
P_PORT77        DB 0xFF                         ; старший байт адреса порта ХХ77
160
B_PORT_VIRT     DB 0xFF                         ; текущее состояние порта виртульных дисководов
160
B_PORT_VIRT     DB 0xFF                         ; текущее состояние порта виртульных дисководов
161
 
161
 
162
F_INTEXT_DRV    DB 0xFF                         ; флаги при внешних/внутренних вызовах драйверов
-
 
163
TMP_NUMHDD      DB 0xFF
-
 
164
TMP_ADR_0068    DD 0xFFFFFFFF                   ; сохранение под перехватчиком NMI
-
 
165
NUMSEC_LBA48    DQ 0xFFFFFFFFFFFFFFFF           ; номер сектора для чтения/записи
-
 
166
VARS_TXT_DEC    DB "281474976710655\0"          ; число до 48 бит
-
 
167
 
-
 
168
                PHASE $ & 0x3FFF
162
        PHASE $ & 0x3FFF
169
                DUPL HIGH ($) * 0x100 + 0xFF - $,0xFF
163
                DB HIGH ($) * 0x100 + 0xFF - $ DUP 0xFF
170
                DW IM_EI_RET
164
                DW IM_EI_RET
171
 
165
 
172
                DUPL HIGH ($) * 0x100 + 0x80 - $,0xFF
166
                DB HIGH ($) * 0x100 + 0x80 - $ DUP 0xFF
173
STACK_RST
167
STACK_RST
174
 
168
 
175
                DUPL (HIGH ($) + 1) * 0x100 - $,0xFF
169
                DB (HIGH ($) + 1) * 0x100 - $ DUP 0xFF
176
STACK_NMI
170
STACK_NMI
177
 
171
 
178
                JP NMI_EXIT_DBG
172
                JP NMI_EXIT_DBG
179
 
173
 
180
; вход по RST 8
174
; вход по RST 8
181
RAMSEL1        
-
 
182
                LD (RST8_SAVE_SP-CPU6),SP       ; сохранили старый стек
175
RAMSEL1         LD (RST8_SAVE_SP-CPU2),SP       ; сохранили старый стек
183
                LD SP,RREG_E-CPU6
176
                LD SP,RREG_E-CPU2
184
                PUSH HL                         ; номер страницы откуда пришли и содержимое порта BF
177
                PUSH HL                         ; номер страницы откуда пришли и содержимое порта BF
185
                PUSH DE                         ; биты RAMNROM+DOS7FFD
178
                PUSH DE                         ; биты RAMNROM+DOS7FFD
186
                EXX
179
                EXX
187
                PUSH BC                         ; BC'
180
                PUSH BC                         ; BC'
188
                PUSH DE                         ; DE'
181
                PUSH DE                         ; DE'
Line 198... Line 191...
198
                LD HL,ADR_MAGIC
191
                LD HL,ADR_MAGIC
199
                LD DE,TMP_ADR_0068 - CPU2
192
                LD DE,TMP_ADR_0068 - CPU2
200
                LDI
193
                LDI
201
                LDI
194
                LDI
202
                LDI
195
                LDI
203
 
-
 
204
                LD A,0xC9
196
                LD A,0xC9
205
                LD (FOR_RET),A
197
                LD (FOR_RET),A
206
                XOR A
198
                XOR A
207
                LD I,A
199
                LD I,A
208
                LD HL,(RST8_SAVE_SP-CPU6)
200
                LD HL,(RST8_SAVE_SP-CPU2)
209
                LD DE,RREG_E-CPU6
201
                LD DE,RREG_E-CPU2
210
                LD BC,RREG_H-RPAGE_CALL
202
                LD BC,RREG_H-RPAGE_CALL
211
                LDIR
203
                LDIR
212
                LD HL,R_77-CPU6
204
                LD HL,R_77-CPU2
213
                LD BC,RD_77
205
                LD BC,RD_77
214
                INIR
206
                INIR
215
                INI
207
                INI
216
                LD BC,FDD_EMU_PORT
208
                LD BC,FDD_EMU_PORT
217
                IN A,(C)
209
                IN A,(C)
218
                LD (B_PORT_VIRT & 0x3FFF),A
210
                LD (B_PORT_VIRT & 0x3FFF),A
219
                XOR A
211
                XOR A
220
                OUT (C),A
212
                OUT (C),A
221
                LD HL,(RDOS7FFD-CPU6)
213
                LD HL,(RDOS7FFD-CPU2)
222
                LD (R_DOS7FFD-CPU6),HL
214
                LD (R_DOS7FFD-CPU2),HL
223
                LD SP,STACK_RST
215
                LD SP,STACK_RST
224
                LD A,(R_77-CPU6)
216
                LD A,(R_77-CPU2)
225
                AND 7
217
                AND 7
226
                OR 0xA0                         ; выключение турбо 14 мгц
218
                OR 0xA0                         ; выключение турбо 14 мгц
227
                LD BC,0xFF77
219
                LD BC,0xFF77
228
                OUT (C),A
220
                OUT (C),A
229
        PEC_OFF M_SHADOW_BF
221
        PEC_OFF M_SHADOW_BF
230
                LD BC,PENT_CONF
222
                LD BC,PENT_CONF
231
                LD A,(R_EFF7-CPU6)
223
                LD A,(R_EFF7-CPU2)
232
                AND %11101111
224
                AND %11101111
233
                OUT (C),A                       ; включение турбо 7 мгц
225
                OUT (C),A                       ; включение турбо 7 мгц
234
        PEC_ON M_SHADOW_BF
226
        PEC_ON M_SHADOW_BF
235
                LD A,(R_7FFD-CPU6)
227
                LD A,(R_7FFD-CPU2)
236
                AND 0x10
228
                AND 0x10
237
                LD HL,R_0WINA0-CPU6
229
                LD HL,R_0WINA0-CPU2
238
                JR Z,RAMSEL3
230
                JR Z,RAMSEL3
239
                LD HL,R_1WINA0-CPU6
231
                LD HL,R_1WINA0-CPU2
240
RAMSEL3         LD A,(RPAGE_CALL-CPU6)
232
RAMSEL3         LD A,(RPAGE_CALL-CPU2)
241
                LD (HL),A
233
                LD (HL),A
242
        ATMPORT WIN_A3,0x40
234
        ATMPORT WIN_A3,0x40
243
                LD BC,WIN_P6
235
                LD BC,WIN_P2
244
                XOR A
236
                XOR A
245
                OUT (C),A
237
                OUT (C),A
246
                LD BC,WIN_A0
238
                LD BC,WIN_A0
247
                LD A,ROM_RST83
239
                LD A,ROM_RST83
248
                LD HL,CPU6
240
                LD HL,CPU2
249
                ADD HL,SP
241
                ADD HL,SP
250
                LD SP,HL
242
                LD SP,HL
251
                LD HL,CONT_RST8                 ; адрес продолжения обработки RST 8
243
                LD HL,CONT_RST8                 ; адрес продолжения обработки RST 8
252
                PUSH HL
244
                PUSH HL
253
                JP ADR_SEL_ROM
245
                JP ADR_SEL_ROM
Line 258... Line 250...
258
                LD HL,TMP_ADR_0068 - CPU2
250
                LD HL,TMP_ADR_0068 - CPU2
259
                LD DE,ADR_MAGIC
251
                LD DE,ADR_MAGIC
260
                LDI
252
                LDI
261
                LDI
253
                LDI
262
                LDI
254
                LDI
263
 
-
 
264
                XOR A
255
                XOR A
265
                LD (FOR_RET),A
256
                LD (FOR_RET),A
266
        PEC_OFF M_SHADOW_BF
257
        PEC_OFF M_SHADOW_BF
267
                LD BC,PENT_CONF
258
                LD BC,PENT_CONF
268
                LD A,(R_EFF7-CPU6)
259
                LD A,(R_EFF7-CPU2)
269
                OUT (C),A
260
                OUT (C),A
270
        PEC_ON M_SHADOW_BF
261
        PEC_ON M_SHADOW_BF
271
                LD C,LOW (WIN_A5)
262
                LD C,LOW (WIN_A1)
272
                LD A,(R_7FFD-CPU6)
263
                LD A,(R_7FFD-CPU2)
273
                AND 0x10
264
                AND 0x10
274
                LD HL,B0_CPU1-CPU2
265
                LD HL,B0_CPU1-CPU2
275
                JR Z,.L11
266
                JR Z,.L11
276
                LD HL,B1_CPU1-CPU2
267
                LD HL,B1_CPU1-CPU2
277
.L11            LD A,3
268
.L11            LD A,3
Line 290... Line 281...
290
        IFDEF DOS_FE
281
        IFDEF DOS_FE
291
                LD BC,FDD_EMU_PORT
282
                LD BC,FDD_EMU_PORT
292
                LD A,(B_PORT_VIRT & 0x3FFF)
283
                LD A,(B_PORT_VIRT & 0x3FFF)
293
                OUT (C),A
284
                OUT (C),A
294
        ENDIF
285
        ENDIF
295
                LD HL,RST8_SAVE_SP-(RREG_H-RPAGE_CALL)-CPU6
286
                LD HL,RST8_SAVE_SP-(RREG_H-RPAGE_CALL)-CPU2
296
                LD DE,(RST8_SAVE_SP-CPU6)
287
                LD DE,(RST8_SAVE_SP-CPU2)
297
                LD BC,RREG_H-RPAGE_CALL
288
                LD BC,RREG_H-RPAGE_CALL
298
                LDIR
289
                LDIR
299
                LD BC,(B_PORT77-CPU6)
290
                LD BC,(B_PORT77-CPU2)
300
                LD A,C
291
                LD A,C
301
                LD C,0x77
292
                LD C,0x77
302
                OUT (C),A
293
                OUT (C),A
303
                LD SP,RREG_FI-CPU6
294
                LD SP,RREG_FI-CPU2
304
                POP AF
295
                POP AF
305
                LD I,A
296
                LD I,A
306
                POP AF
297
                POP AF
307
                EX AF,AF'
298
                EX AF,AF'
308
                POP IY
299
                POP IY
Line 311... Line 302...
311
                POP DE
302
                POP DE
312
                POP BC
303
                POP BC
313
                EXX
304
                EXX
314
                POP DE
305
                POP DE
315
                POP HL
306
                POP HL
316
                LD SP,(RST8_SAVE_SP-CPU6)       ; восстановили стек вызвашей программы
307
                LD SP,(RST8_SAVE_SP-CPU2)       ; восстановили стек вызвашей программы
317
                LD BC,ADR_RST8END               ; адрес возврата
308
                LD BC,ADR_RST8END               ; адрес возврата
318
                PUSH BC
309
                PUSH BC
319
                LD C,LOW (WIN_A0)
310
                LD C,LOW (WIN_A0)
320
                LD A,(R_7FFD-CPU6)
311
                LD A,(R_7FFD-CPU2)
321
                AND 0x10
312
                AND 0x10
322
                LD DE,(B0_CPU0-CPU6)
313
                LD DE,(B0_CPU0-CPU2)
323
                JR Z,.L13
314
                JR Z,.L13
324
                LD DE,(B1_CPU0-CPU6)
315
                LD DE,(B1_CPU0-CPU2)
325
.L13            LD A,D
316
.L13            LD A,D
326
                OR 7
317
                OR 7
327
                LD B,A
318
                LD B,A
328
                LD A,E                          ; страница ROM куда возвращаться
319
                LD A,E                          ; страница ROM куда возвращаться
329
                JP ADR_SEL_ROM
320
                JP ADR_SEL_ROM
330
 
321
 
331
; вход по NMI
322
; вход по NMI
332
NMI_SERVICE     LD (NMI_SAVE_SP-CPU6),SP        ; сохранение стека
323
NMI_SERVICE     LD (NMI_SAVE_SP-CPU2),SP        ; сохранение стека
333
                LD SP,NMI_SAVE_SP-CPU6          ; новый стек
324
                LD SP,NMI_SAVE_SP-CPU2          ; новый стек
334
                PUSH HL                         ; сохранили HL
325
                PUSH HL                         ; сохранили HL
335
                PUSH AF                         ; сохранили AF
326
                PUSH AF                         ; сохранили AF
336
                LD A,I
327
                LD A,I
337
                PUSH AF                         ; сохранили I, флаги и режим прерываний
328
                PUSH AF                         ; сохранили I, флаги и режим прерываний
338
                LD A,R
329
                LD A,R
Line 346... Line 337...
346
                PUSH IX                         ; сохранили IX
337
                PUSH IX                         ; сохранили IX
347
                PUSH IY                         ; сохранили IY
338
                PUSH IY                         ; сохранили IY
348
                EX AF,AF'
339
                EX AF,AF'
349
                PUSH AF                         ; сохранили альт AF
340
                PUSH AF                         ; сохранили альт AF
350
                LD A,0x80-REG_R_CORRECT
341
                LD A,0x80-REG_R_CORRECT
351
                LD HL,NREG_R-CPU6
342
                LD HL,NREG_R-CPU2
352
                SLA (HL)
343
                SLA (HL)
353
                RLA
344
                RLA
354
                ADD A,(HL)
345
                ADD A,(HL)
355
                RRCA
346
                RRCA
356
                LD (HL),A                       ; коррекция регистра R
347
                LD (HL),A                       ; коррекция регистра R
Line 358... Line 349...
358
                LD HL,ADR_MAGIC
349
                LD HL,ADR_MAGIC
359
                LD DE,TMP_ADR_0068 - CPU2
350
                LD DE,TMP_ADR_0068 - CPU2
360
                LDI
351
                LDI
361
                LDI
352
                LDI
362
                LDI
353
                LDI
363
 
-
 
364
                LD HL,(NMI_SAVE_SP-CPU6)
354
                LD HL,(NMI_SAVE_SP-CPU2)
365
                LD E,(HL)
355
                LD E,(HL)
366
                INC HL
356
                INC HL
367
                LD D,(HL)
357
                LD D,(HL)
368
                LD HL,(NREG_F-CPU6)
358
                LD HL,(NREG_F-CPU2)
369
                AND A
359
                AND A
370
                SBC HL,DE
360
                SBC HL,DE
371
                JR NZ,.L005
361
                JR NZ,.L005
372
                LD HL,(NMI_SAVE_SP-CPU6)
362
                LD HL,(NMI_SAVE_SP-CPU2)
373
                INC HL
363
                INC HL
374
                INC HL
364
                INC HL
375
                LD (NMI_SAVE_SP-CPU6),HL
365
                LD (NMI_SAVE_SP-CPU2),HL
376
                LD E,(HL)
366
                LD E,(HL)
377
                INC HL
367
                INC HL
378
                LD D,(HL)
368
                LD D,(HL)
379
.L005           PUSH DE
369
.L005           PUSH DE
380
                LD SP,STACK_NMI
370
                LD SP,STACK_NMI
381
                LD HL,OUT_NMI
371
                LD HL,OUT_NMI
382
                LD (ADR_NMI_JUMP),HL
372
                LD (ADR_NMI_JUMP),HL
383
                LD A,0xC9
373
                LD A,0xC9
384
                LD (FOR_RET),A                  ; RET для переключения страниц ROM/RAM
374
                LD (FOR_RET),A                  ; RET для переключения страниц ROM/RAM
385
                LD HL,N_BF-CPU6                 ; адрес сохранения прочитанных регистров конфигурации
375
                LD HL,N_BF-CPU2                 ; адрес сохранения прочитанных регистров конфигурации
386
                IN A,(PEVO_CONF)
376
                IN A,(PEVO_CONF)
387
                LD (HL),A
377
                LD (HL),A
388
                INC HL
378
                INC HL
389
                LD BC,RD_77
379
                LD BC,RD_77
390
                INIR
380
                INIR
Line 412... Line 402...
412
                LD A,(N_77-CPU2)
402
                LD A,(N_77-CPU2)
413
                AND %11110111
403
                AND %11110111
414
                LD BC,0xFF77
404
                LD BC,0xFF77
415
                OUT (C),A                       ; установка 7.0Mhz для NMI сервиса
405
                OUT (C),A                       ; установка 7.0Mhz для NMI сервиса
416
                PUSH DE
406
                PUSH DE
417
                LD BC,WIN_P6
407
                LD BC,WIN_P2
418
                XOR A
408
                XOR A
419
                OUT (C),A                       ; включили последнюю страницу озу
409
                OUT (C),A                       ; включили последнюю страницу озу
420
                LD B,HIGH (WIN_A3)
410
                LD B,HIGH (WIN_A3)
421
                LD A,0x40
411
                LD A,0x40
422
                OUT (C),A                       ; сняли зависимость 3 окна от порта 7FFD
412
                OUT (C),A                       ; сняли зависимость 3 окна от порта 7FFD
423
                LD DE,CPU6
413
                LD DE,CPU2
424
                ADD HL,DE
414
                ADD HL,DE
425
                LD (ADR_PALITRA),HL
415
                LD (ADR_PALITRA),HL
426
                LD HL,CPU6
416
                LD HL,CPU2
427
                ADD HL,SP
417
                ADD HL,SP
428
                LD SP,HL
418
                LD SP,HL
429
                LD B,HIGH (WIN_A0)
419
                LD B,HIGH (WIN_A0)
430
                LD A,ROM_RST83
420
                LD A,ROM_RST83
431
                OUT (C),A
421
                OUT (C),A
432
                POP HL
422
                POP HL
433
                LD (NUM_IM),HL
423
                LD (NUM_IM),HL
434
PEREHVAT        DUPL 3,0
424
PEREHVAT        DB 3 DUP 0
435
                LD A,(DEBUG_ONOFF)
425
                LD A,(DEBUG_ONOFF)
436
                AND A
426
                AND A
437
                JR NZ,IN_DEBUG
427
                JR NZ,IN_DEBUG
438
                LD HL,CONTINUE_MAGIC
428
                LD HL,CONTINUE_MAGIC
439
                PUSH HL
429
                PUSH HL
Line 442... Line 432...
442
IN_DEBUG        XOR A
432
IN_DEBUG        XOR A
443
                IN A,(0xFE)
433
                IN A,(0xFE)
444
                CPL
434
                CPL
445
                AND 0x1F
435
                AND 0x1F
446
                JR NZ,IN_DEBUG
436
                JR NZ,IN_DEBUG
447
                LD HL,DEBUGGER
437
                LD HL,NMI_DEBUG
448
                PUSH HL
438
                PUSH HL
449
                JP OUT_NMI
439
                JP OUT_NMI
450
 
440
 
451
; выход из NMI
441
; выход из NMI
452
EXITNMISERVICE  LD HL,ADR_MAGIC
442
EXITNMISERVICE  LD HL,ADR_MAGIC
Line 461... Line 451...
461
                LD HL,TMP_ADR_0068 - CPU2
451
                LD HL,TMP_ADR_0068 - CPU2
462
                LD DE,ADR_MAGIC
452
                LD DE,ADR_MAGIC
463
                LDI
453
                LDI
464
                LDI
454
                LDI
465
                LDI
455
                LDI
466
 
-
 
467
                LD C,LOW (WIN_A0)
456
                LD C,LOW (WIN_A0)
468
                LD A,(N_7FFD-CPU6)
457
                LD A,(N_7FFD-CPU2)
469
                AND 0x10
458
                AND 0x10
470
                LD HL,B0_CPU0-CPU6
459
                LD HL,B0_CPU0-CPU2
471
                JR Z,.L11
460
                JR Z,.L11
472
                LD HL,B1_CPU0-CPU6
461
                LD HL,B1_CPU0-CPU2
473
.L11            LD A,4
462
.L11            LD A,4
474
.L12            EX AF,AF'
463
.L12            EX AF,AF'
475
                LD E,(HL)                       ; байт для записи в порт
464
                LD E,(HL)                       ; байт для записи в порт
476
                INC HL
465
                INC HL
477
                LD D,(HL)                       ; старший байт адреса порта
466
                LD D,(HL)                       ; старший байт адреса порта
Line 496... Line 485...
496
                LD A,(B_PORT_VIRT & 0x3FFF)
485
                LD A,(B_PORT_VIRT & 0x3FFF)
497
                OUT (C),A
486
                OUT (C),A
498
        ENDIF
487
        ENDIF
499
        PEC_OFF M_SHADOW_BF
488
        PEC_OFF M_SHADOW_BF
500
                LD BC,PENT_CONF
489
                LD BC,PENT_CONF
501
                LD A,(N_EFF7-CPU6)
490
                LD A,(N_EFF7-CPU2)
502
                OUT (C),A
491
                OUT (C),A
503
        PEC_ON M_SHADOW_BF
492
        PEC_ON M_SHADOW_BF
504
                LD BC,(B_PORT77-CPU6)
493
                LD BC,(B_PORT77-CPU2)
505
                LD A,C
494
                LD A,C
506
                LD C,0x77
495
                LD C,0x77
507
                OUT (C),A
496
                OUT (C),A
508
                LD A,(N_BF-CPU6)
497
                LD A,(N_BF-CPU2)
509
                OUT (PEVO_CONF),A
498
                OUT (PEVO_CONF),A
510
                LD BC,CONF_128
499
                LD BC,CONF_128
511
                LD A,(N_7FFD-CPU6)
500
                LD A,(N_7FFD-CPU2)
512
                OUT (C),A
501
                OUT (C),A
513
                LD HL,NMI_SERVICE
502
                LD HL,NMI_SERVICE
514
                LD (ADR_NMI_JUMP),HL
503
                LD (ADR_NMI_JUMP),HL
515
                XOR A
504
                XOR A
516
                LD (FOR_RET),A
505
                LD (FOR_RET),A
517
                LD SP,NADRRET_L-CPU6
506
                LD SP,NADRRET_L-CPU2
518
               
-
 
519
                LD HL,(NMI_SAVE_SP-CPU6)
507
                LD HL,(NMI_SAVE_SP-CPU2)
520
                POP DE
508
                POP DE
521
                LD (HL),E
509
                LD (HL),E
522
                INC HL
510
                INC HL
523
                LD (HL),D                       ; восстановление адреса возврата
511
                LD (HL),D                       ; восстановление адреса возврата
524
 
-
 
525
                POP AF
512
                POP AF
526
                EX AF,AF'
513
                EX AF,AF'
527
                POP IY
514
                POP IY
528
                POP IX
515
                POP IX
529
                POP BC
516
                POP BC
Line 534... Line 521...
534
                POP DE
521
                POP DE
535
                POP AF
522
                POP AF
536
                JP PO,.L1
523
                JP PO,.L1
537
                EI
524
                EI
538
.L1             LD A,0x80+3-REG_R_CORRECT
525
.L1             LD A,0x80+3-REG_R_CORRECT
539
                LD HL,NREG_R-CPU6
526
                LD HL,NREG_R-CPU2
540
                SLA (HL)
527
                SLA (HL)
541
                RLA
528
                RLA
542
                ADD A,(HL)
529
                ADD A,(HL)
543
                RRCA
530
                RRCA
544
                LD R,A
531
                LD R,A
545
                POP AF
532
                POP AF
546
                LD I,A
533
                LD I,A
547
                POP AF
534
                POP AF
548
                POP HL
535
                POP HL
549
                LD SP,(NMI_SAVE_SP-CPU6)
536
                LD SP,(NMI_SAVE_SP-CPU2)
550
                OUT (0xBE),A
537
                OUT (0xBE),A
551
                RETN
538
                RETN
552
 
539
 
553
LDIR__BYTES     LD HL,CPU6
540
LDIR__BYTES     LD HL,CPU2
554
                ADD HL,SP
541
                ADD HL,SP
555
                LD SP,HL
542
                LD SP,HL
556
                LD A,(R_7FFD-CPU6)
543
                LD A,(R_7FFD-CPU2)
557
                AND 0x10
544
                AND 0x10
558
                LD HL,B0_CPU1-CPU2
545
                LD HL,B0_CPU1-CPU2
559
                JR Z,.L5
546
                JR Z,.L5
560
                LD HL,B1_CPU1-CPU2
547
                LD HL,B1_CPU1-CPU2
561
.L5             LD C,LOW (WIN_A0)
548
.L5             LD C,LOW (WIN_A0)
Line 580... Line 567...
580
                EX AF,AF'
567
                EX AF,AF'
581
                DEC A
568
                DEC A
582
                JR NZ,.L3
569
                JR NZ,.L3
583
                EXX
570
                EXX
584
                LDIR
571
                LDIR
585
                LD BC,WIN_P6
572
                LD BC,WIN_P2
586
                XOR A
573
                XOR A
587
                OUT (C),A
574
                OUT (C),A
588
                LD HL,CPU6
575
                LD HL,CPU2
589
                ADD HL,SP
576
                ADD HL,SP
590
                LD SP,HL
577
                LD SP,HL
591
                LD BC,WIN_A0
578
                LD BC,WIN_A0
592
                LD A,ROM_RST83
579
                LD A,ROM_RST83
593
                JP ADR_SEL_ROM
580
                JP ADR_SEL_ROM
Line 614... Line 601...
614
                INC HL
601
                INC HL
615
                LD (HL),HIGH (IM_EI_RET)
602
                LD (HL),HIGH (IM_EI_RET)
616
                POP HL
603
                POP HL
617
                RET
604
                RET
618
 
605
 
619
                PHASE $ + CPU6
606
        PHASE $ + CPU2
620
; вызов подпрограмм из других страниц ROM
607
; вызов подпрограмм из других страниц ROM
621
CALL2PAGE       EX (SP),HL
608
CALL2PAGE       EX (SP),HL
622
                PUSH BC
609
                PUSH BC
623
                PUSH AF
610
                PUSH AF
624
                LD BC,WIN_A0
611
                LD BC,WIN_A0
Line 668... Line 655...
668
                PUSH AF
655
                PUSH AF
669
                LD BC,WIN_P0
656
                LD BC,WIN_P0
670
                JR CALL2PAGE.L1
657
                JR CALL2PAGE.L1
671
 
658
 
672
; вход в отладчик
659
; вход в отладчик
673
DEBUGGER        DI
660
NMI_DEBUG       DI
674
                LD HL,CPU6 + DEBUG_ONOFF
661
                LD HL,CPU2 + DEBUG_ONOFF
675
                BIT B_DBG_ACTIV,(HL)
662
                BIT DEBUGGER.B_ACTIV,(HL)
676
                JR Z,DEBUGGER1
663
                JR Z,.L1
677
; принудительный вход в отладчик с возвратом в основное меню NMI
664
; принудительный вход в отладчик с возвратом в основное меню NMI
678
                LD HL,DBG2MAINMENU
665
                LD HL,DBG2MAINMENU
679
                PUSH HL
666
                PUSH HL
680
                JR DEBUGGER2
667
                JR .L2
681
 
668
 
682
; вход в отладчик из основного меню NMI
669
; вход в отладчик из основного меню NMI
683
DEBUGGER1       LD HL,RESTART_MAIN
670
.L1             LD HL,RESTART_MAIN
684
                PUSH HL
671
                PUSH HL
685
                LD HL,EXIT_DEBUG
672
                LD HL,EXIT_DEBUG
686
                PUSH HL
673
                PUSH HL
687
                LD HL,CPU6+DEBUG_ONOFF
674
                LD HL,CPU2+DEBUG_ONOFF
688
                SET B_DBG_ACTIV,(HL)
675
                SET DEBUGGER.B_ACTIV,(HL)
689
DEBUGGER2       LD HL,CONTINUE_PROG
676
.L2             LD HL,CONTINUE_PROG
690
                LD DE,NADRRET_L
677
                LD DE,NADRRET_L
691
        EVOPORT WIN_P3,RAM_STS                  ; включили страницу с установленным STS
678
        EVOPORT WIN_P3,RAM_STS                  ; включили страницу с установленным STS
692
                LD BC,N_BF
679
                LD BC,N_BF
693
                LD A,(N_77)
680
                LD A,(N_77)
694
                EX AF,AF'
681
                EX AF,AF'
695
                LD A,NO_EXIT_DEBUG-EXIT_DEBUG
682
                LD A,NO_EXIT_DEBUG-EXIT_DEBUG
696
                JP START_STS
683
                JP START_STS
697
 
684
 
698
; нормальный выход из отладчика
685
; нормальный выход из отладчика
699
EXIT_DEBUG      LD HL,CPU6+DEBUG_ONOFF
686
EXIT_DEBUG      LD HL,CPU2+DEBUG_ONOFF
700
                RES B_DBG_ACTIV,(HL)
687
                RES DEBUGGER.B_ACTIV,(HL)
701
; выход из отладчика минуя основное меню NMI
688
; выход из отладчика минуя основное меню NMI
702
NO_EXIT_DEBUG
689
NO_EXIT_DEBUG
703
        EVOPORT WIN_A0,ROM_RST82
690
        EVOPORT WIN_A0,ROM_RST82
704
                LD HL,CPU6+DEBUG_ONOFF
691
                LD HL,CPU2+DEBUG_ONOFF
705
                LD A,M_TRACE_DBG
692
                LD A,DEBUGGER.M_TRACE
706
                AND (HL)
693
                AND (HL)
707
                RET Z
694
                RET Z
708
                LD HL,TRACER_DBG
695
                LD HL,TRACER_DBG
709
                EX (SP),HL
696
                EX (SP),HL
710
                RET
697
                RET
711
 
698
 
712
; вход в отладчик минуя основное меню NMI
699
; вход в отладчик минуя основное меню NMI
713
DBG2MAINMENU    LD HL,CPU6+DEBUG_ONOFF
700
DBG2MAINMENU    LD HL,CPU2+DEBUG_ONOFF
714
                RES B_DBG_ACTIV,(HL)
701
                RES DEBUGGER.B_ACTIV,(HL)
715
        EVOPORT WIN_A0,ROM_RST83
702
        EVOPORT WIN_A0,ROM_RST83
716
                LD A,M_TRACE_DBG
703
                LD A,DEBUGGER.M_TRACE
717
                AND (HL)
704
                AND (HL)
718
                JP NZ,CONTMAGIC3
705
                JP NZ,CONTMAGIC3
719
                JP RESTART_NMI
706
                JP RESTART_NMI
720
 
707
 
721
; возврат из NMI для отладчика. не восстанавливается:
708
; возврат из NMI для отладчика. не восстанавливается:
Line 732... Line 719...
732
                OUT (PEVO_CONF),A
719
                OUT (PEVO_CONF),A
733
                HALT                            ; ждем срабатывания MAGIC 
720
                HALT                            ; ждем срабатывания MAGIC 
734
                LD HL,ADR_MAGIC
721
                LD HL,ADR_MAGIC
735
                LD (HL),0xC3                    ; разрешение обработчика MAGIC перед выходом
722
                LD (HL),0xC3                    ; разрешение обработчика MAGIC перед выходом
736
                LD C,LOW (WIN_A0)
723
                LD C,LOW (WIN_A0)
737
                LD A,(N_7FFD-CPU6)
724
                LD A,(N_7FFD-CPU2)
738
                AND 0x10
725
                AND 0x10
739
                LD HL,B0_CPU0-CPU6
726
                LD HL,B0_CPU0-CPU2
740
                JR Z,.L11
727
                JR Z,.L11
741
                LD HL,B1_CPU0-CPU6
728
                LD HL,B1_CPU0-CPU2
742
.L11            LD A,4
729
.L11            LD A,4
743
.L12            EX AF,AF'
730
.L12            EX AF,AF'
744
                LD E,(HL)                       ; байт для записи в порт
731
                LD E,(HL)                       ; байт для записи в порт
745
                INC HL
732
                INC HL
746
                LD D,(HL)                       ; старший байт адреса порта
733
                LD D,(HL)                       ; старший байт адреса порта
Line 760... Line 747...
760
                EX AF,AF'
747
                EX AF,AF'
761
                DEC A
748
                DEC A
762
                JR NZ,.L12
749
                JR NZ,.L12
763
        PEC_OFF M_SHADOW_BF
750
        PEC_OFF M_SHADOW_BF
764
                LD BC,PENT_CONF
751
                LD BC,PENT_CONF
765
                LD A,(N_EFF7-CPU6)
752
                LD A,(N_EFF7-CPU2)
766
                OUT (C),A
753
                OUT (C),A
767
        PEC_ON M_SHADOW_BF
754
        PEC_ON M_SHADOW_BF
768
;               LD BC,(B_PORT77-CPU6)
755
;               LD BC,(B_PORT77-CPU2)
769
;               LD A,C
756
;               LD A,C
770
;               LD C,0x77
757
;               LD C,0x77
771
;               OUT (C),A
758
;               OUT (C),A
772
                LD A,(N_BF-CPU6)
759
                LD A,(N_BF-CPU2)
773
                OUT (PEVO_CONF),A
760
                OUT (PEVO_CONF),A
774
                LD BC,CONF_128
761
                LD BC,CONF_128
775
                LD A,(N_7FFD-CPU6)
762
                LD A,(N_7FFD-CPU2)
776
                OUT (C),A
763
                OUT (C),A
777
                LD HL,NMI_SERVICE
764
                LD HL,NMI_SERVICE
778
                LD (ADR_NMI_JUMP),HL
765
                LD (ADR_NMI_JUMP),HL
779
                XOR A
766
                XOR A
780
                LD (FOR_RET),A
767
                LD (FOR_RET),A
781
                LD SP,NADRRET_L-CPU6
768
                LD SP,NADRRET_L-CPU2
782
                POP AF                          ; сброс адреса возврата
769
                POP AF                          ; сброс адреса возврата
783
                POP AF
770
                POP AF
784
                EX AF,AF'
771
                EX AF,AF'
785
                POP IY
772
                POP IY
786
                POP IX
773
                POP IX
Line 792... Line 779...
792
                POP DE
779
                POP DE
793
                POP AF
780
                POP AF
794
                JP PO,ENMIDBGSERV1
781
                JP PO,ENMIDBGSERV1
795
                EI
782
                EI
796
ENMIDBGSERV1    LD A,0x80+3-REG_R_CORRECT
783
ENMIDBGSERV1    LD A,0x80+3-REG_R_CORRECT
797
                LD HL,NREG_R-CPU6
784
                LD HL,NREG_R-CPU2
798
                SLA (HL)
785
                SLA (HL)
799
                RLA
786
                RLA
800
                ADD A,(HL)
787
                ADD A,(HL)
801
                RRCA
788
                RRCA
802
                LD R,A
789
                LD R,A
803
                POP AF
790
                POP AF
804
                LD I,A
791
                LD I,A
805
                POP AF
792
                POP AF
806
                POP HL
793
                POP HL
807
                LD SP,(NMI_SAVE_SP-CPU6)
794
                LD SP,(NMI_SAVE_SP-CPU2)
808
                OUT (0xBE),A
795
                OUT (0xBE),A
809
                RETN
796
                RETN
810
 
797
 
811
        IF 0
798
        IF 0
812
TO_USBDRV       EX AF,AF'
799
TO_USBDRV       EX AF,AF'
Line 867... Line 854...
867
.dataX          DB 0xFF
854
.dataX          DB 0xFF
868
.bufLen         DB 0xFF
855
.bufLen         DB 0xFF
869
.addr           DB 0xFF
856
.addr           DB 0xFF
870
.timeout        DB 0xFF
857
.timeout        DB 0xFF
871
 
858
 
872
.SL_OUT         DB 0xFF dup (8)
859
.SL_OUT         DB 8 dup (0xFF)
873
.DBUF           DB 0xFF dup (64)
860
.DBUF           DB 64 dup (0xFF)
874
.T_OUT          DB 0xFF dup (32)
861
.T_OUT          DB 32 dup (0xFF)
875
 
862
 
876
uDev            pUSBDEV
863
uDev            pUSBDEV
877
usbstack        PKG
864
usbstack        PKG
878
 
865
 
-
 
866
F_INTEXT_DRV    DB 0xFF                         ; флаги при внешних/внутренних вызовах драйверов
-
 
867
TMP_NUMHDD      DB 0xFF
-
 
868
TMP_ADR_0068    DD 0xFFFFFFFF                   ; сохранение под перехватчиком NMI
-
 
869
NUMSEC_LBA48    DQ 0xFFFFFFFFFFFFFFFF           ; номер сектора для чтения/записи
-
 
870
VARS_TXT_DEC    DB "281474976710655\0"          ; число до 48 бит
-
 
871
ADR_SP_COMFAT   DW 0xFF
879
STEK_PAGES      DUPL 0x10,0xFF                  ; 10 стек страниц вызывов в ROM
872
STEK_PAGES      DB 0x10 DUP 0xFF                ; 10 стек страниц вызывов в ROM
880
RST_FLAGS       DB 0xFF                         ; 1
873
RST_FLAGS       DB 0xFF                         ; 1
881
TXT_COLOR       DB 0xFF                         ; 1
874
TXT_COLOR       DB 0xFF                         ; 1
882
COORD_XY        DW 0xFF                         ; 2
875
COORD_XY        DW 0xFF                         ; 2
883
COLBUF          DUPL 0x50,0xFF                  ; 50 буфер сохранения строки цвета с экрана
876
COLBUF          DB 0x50 DUP 0xFF                ; 50 буфер сохранения строки цвета с экрана
884
MOUSE_BUFF      DUPL 0x10,0xFF                  ; 10 буфер сохранения части экрана под курсором мыши
877
MOUSE_BUFF      DB 0x10 DUP 0xFF                ; 10 буфер сохранения части экрана под курсором мыши
885
PRESSEDKEY      DW 0xFFFF                       ; 2 адрес списка горячих клавиш после вывода окна
878
PRESSEDKEY      DW 0xFFFF                       ; 2 адрес списка горячих клавиш после вывода окна
886
FLAGS           DB 0xFF                         ; 1 системные флаги
879
SYSFLAGS        DB 0xFF                         ; 1 системные флаги
887
 BITMASK VIDEO_MODE,    7                       ; BIT 7-=1-TXT, =0-ZX SCREEN MODE
880
 _BITMASK VIDEO_MODE,           7               ; =1-TXT, =0-ZX SCREEN MODE
888
                                                ; BIT 6
881
 _BITMASK FB_INT_EXT,           6               ; =1-внешний вызов FILE BROWSER, =0-внутренний
889
                                                ; BIT 5
882
 _BITMASK NMI_FB_BLOCK,         5               ; =1-запрет запуска File Browser на NMI
890
 BITMASK WIN_INT_EXT,   4                       ; BIT 4-=1-внешнее окно, =0-внутреннее окно
883
 _BITMASK WIN_INT_EXT,          4               ; =1-внешнее окно, =0-внутреннее окно
891
 BITMASK RUN_FAT_DSK,   3                       ; BIT 3-=1-запуск с FAT, =0-запуск с дискеты
884
 _BITMASK RUN_FAT_DSK,          3               ; =1-запуск с FAT, =0-запуск с дискеты
892
 BITMASK CLOCK_PRESENT, 2                       ; BIT 2-=1-часы найдены, =0-нет
885
 _BITMASK CLOCK_PRESENT,        2               ; =1-часы найдены, =0-нет
893
 BITMASK MOUSE_PRESENT, 1                       ; BIT 1-=1-мышь есть, =0-нет
886
 _BITMASK MOUSE_PRESENT,        1               ; =1-мышь есть, =0-нет
894
 BITMASK CURSOR_NUM,    0                       ; BIT 0-какой курсор рисовать, для мигания
887
 _BITMASK CURSOR_NUM,           0               ; какой курсор рисовать, для мигания
-
 
888
FATVARSFLAGS    DB 0xFF                         ; флаги для переменных FAT
-
 
889
 _BITMASK TYPE,                 2               ; =1-в работе для внутреннего софта,0-внешнего
-
 
890
 _BITMASK INT,                  1               ; =1-буфера FAT внешнего софта сохранены
-
 
891
 _BITMASK EXT,                  0               ; =1-буфера FAT внутреннего софта сохранены
895
NEXTBYTERST8    DB 0xFF                         ; 1 следующий байт после вызова RST 8, код для вызова драйвера
892
NEXTBYTERST8    DB 0xFF                         ; 1 следующий байт после вызова RST 8, код для вызова драйвера
896
OLD_STACK       DW 0xFFFF                       ; 2
893
OLD_STACK       DW 0xFFFF                       ; 2
-
 
894
FOUND_FAT_FILES DW 0xFFFF                       ; количество найденных файлов
897
ADR_INT         DW 0xFFFF                       ; 2
895
ADR_INT         DW 0xFFFF                       ; 2
898
ADR_PALITRA     DW 0xFFFF                       ; 2
896
ADR_PALITRA     DW 0xFFFF                       ; 2
899
XNEW            DB 0xFF                         ; 1
897
XNEW            DB 0xFF                         ; 1
900
ADRSTR_Y        DB 0xFF                         ; 1
898
ADRSTR_Y        DB 0xFF                         ; 1
901
ADRSTR_X        DB 0xFF                         ; 1
899
ADRSTR_X        DB 0xFF                         ; 1
902
TXNEW           DB 0xFF                         ; 1
900
TXNEW           DB 0xFF                         ; 1
903
TADRSTR_Y       DB 0xFF                         ; 1
901
TADRSTR_Y       DB 0xFF                         ; 1
904
TADRSTR_X       DB 0xFF                         ; 1
902
TADRSTR_X       DB 0xFF                         ; 1
905
NO_INW          DB 0xFF                         ; 1
903
NO_INW          DB 0xFF                         ; 1
906
COLOR4SYM       DB 0xFF                         ; 1
904
COLOR4SYM       DB 0xFF                         ; 1
907
PAGE4READ       DB 0xFF                         ; 1
905
PAGE4READ       DB 0xFF                         ; 1 страница памяти для чтения из внешнего софта
908
PAGE4SCR        DB 0xFF                         ; 1
906
PAGE4SCR        DB 0xFF                         ; 1
909
DAT_MAIN_MENU   DUPL 3,0                        ; 3
907
DAT_MAIN_MENU   DB 3 DUP 0                      ; 3
910
DAT_SETUP_MENU  DUPL 3,0                        ; 3
908
DAT_SETUP_MENU  DB 3 DUP 0                      ; 3
911
DAT_FILEBROWS   DUPL 5,0                        ; 5
909
DAT_FILEBROWS   DB 5 DUP 0                      ; 5
912
DAT_MOUNT       DUPL 3,0                        ; 3
910
DAT_MOUNT       DB 3 DUP 0                      ; 3
-
 
911
DAT_LOAD        DB 3 DUP 0                      ; 3
913
WIN_DEV         DUPL 0x30,0                     ; 30
912
WIN_DEV         DB 0x30 DUP 0                   ; 30
914
COL_CURSOR      DW 0xFFFF                       ; 2
913
COL_CURSOR      DW 0xFFFF                       ; 2
915
_MORG           DB 0xFF                         ; 1
914
_MORG           DB 0xFF                         ; 1
916
ARXY            DW 0xFFFF                       ; 2
915
ARXY            DW 0xFFFF                       ; 2
917
ADR_REST        DW 0xFFFF                       ; 2
916
ADR_REST        DW 0xFFFF                       ; 2
918
MOUPOS          DW 0xFFFF                       ; 2
917
MOUPOS          DW 0xFFFF                       ; 2
919
TEK_MODES       DB 0xFF                         ; 1
918
TEK_MODES       DB 0xFF                         ; 1
920
CMP_FONT_FLAG   DB 0xFF                         ; 1
919
CMP_FONT_FLAG   DB 0xFF                         ; 1
921
BUFF4TXT        DUPL 0x2B,0xFF                  ; 2B
920
BUFF4TXT        DB 0x2B DUP 0xFF                ; 2B
922
EXT4FOUND       DUPL 0x10*3+1,0xFF              ; 10*3+1
921
EXT4FOUND       DB 0x10*3+1 DUP 0xFF            ; 10*3+1
923
CMOS4CRC16      DUPL ECMOS_DEFAULT-CMOS_DEFAULT,0xFF
922
CMOS4CRC16      DB ECMOS_DEFAULT-CMOS_DEFAULT DUP 0xFF
924
KSTATE0         DB 0xFF                         ; 1 |
923
KSTATE0         DB 0xFF                         ; 1 |
925
KSTATE1         DB 0                            ; 1 |
924
KSTATE1         DB 0                            ; 1 |
926
KSTATE2         DB 0                            ; 1 |
925
KSTATE2         DB 0                            ; 1 |
927
KSTATE3         DB 0                            ; 1 |
926
KSTATE3         DB 0                            ; 1 |
928
KSTATE4         DB 0xFF                         ; 1 |    аналог
927
KSTATE4         DB 0xFF                         ; 1 |    аналог
Line 941... Line 940...
941
SCROLL_MODE     DB 0xFF                         ; 1
940
SCROLL_MODE     DB 0xFF                         ; 1
942
NEXT4PAGE       DW 0xFFFF                       ; 2
941
NEXT4PAGE       DW 0xFFFF                       ; 2
943
OSTAT_SECT      DW 0xFFFF                       ; 2
942
OSTAT_SECT      DW 0xFFFF                       ; 2
944
NACH_SECT       DW 0xFFFF                       ; 2
943
NACH_SECT       DW 0xFFFF                       ; 2
945
START_DATA      DW 0xFFFF                       ; 2
944
START_DATA      DW 0xFFFF                       ; 2
946
;AY_REGS1       DUPL 0x0E,0xFF                  ; D
945
;AY_REGS1       DB 0x0E DUP 0xFF                ; D
947
;AY_REGS2       DUPL 0x0E,0xFF                  ; D
946
;AY_REGS2       DB 0x0E DUP 0xFF                ; D
948
TEKBUFTSC       DW 0xFFFF                       ; 2
947
TEKBUFTSC       DW 0xFFFF                       ; 2
949
TEK_TEXT        DW 0xFFFF                       ; 2
948
TEK_TEXT        DW 0xFFFF                       ; 2
950
TURBO_MODE      DUPL 5,0xFF                     ; 5
949
TXT_TURBO_MODE  DB 5 DUP 0xFF                   ; 5
951
MEMORY_MODE     DUPL 4,0xFF                     ; 3
950
TXT_MEMORY_MODE DB 4 DUP 0xFF                   ; 3
952
; для резидента HONEY COMANDER
951
; для резидента HONEY COMANDER
953
REZIDENT_MODE   DUPL 4,0xFF                     ; 4
952
TXT_REZIDENT_MODE       DB 4 DUP 0xFF                   ; 4
954
TXT_KILLREZID   DUPL 4,0xFF                     ; 4
953
TXT_KILLREZID   DB 4 DUP 0xFF                   ; 4
955
BUFF_TIME       DB 0x16,0x00,0x48,0x17,CYAN<<3+BLUE+0xC0
954
BUFF_TIME       DB 0x16,0x00,0x48,0x17,CYAN<<3+BLUE+0xC0
956
TXT_TIME        DB "00:00:00",0x16,0x01,0x48
955
TXT_TIME        DB "00:00:00",0x16,0x01,0x48
957
TXT_DATA        DB "00.00.00",0x17,0xFF,0
956
TXT_DATA        DB "00.00.00",0x17,0xFF,0
958
EBUFF_TIME
957
EBUFF_TIME
959
TXT_FREQ        DZ "14.0"
958
TXT_FREQ        DZ "14.0"
960
                DZ "7.0 "
959
                DZ "7.0 "
961
                DZ "3.5 "
960
                DZ "3.5 "
962
NAME_RAMDISK    DUPL 0x20,0
961
NAME_RAMDISK    DB 0x20 DUP 0
963
FILE_DEST       DUPL 0x20,0xFF                  ; 20 описатель открытого файла (куда)
962
FILE_DEST       DB 0x20 DUP 0xFF                ; 20 описатель открытого файла
964
FB_EXT          DUPL 0x0B,0xFF                  ; B буфер 8.3 для поиска имени
963
FB_EXT          DB 0x0B DUP 0xFF                ; B буфер 8.3 для поиска имени
965
SAVE_IY         DW 0xFFFF                       ; 2 внутренее сохранение регистров для дальнейшего использования
964
SAVE_IY         DW 0xFFFF                       ; 2 внутренее сохранение регистров для дальнейшего использования
966
ADR_MASK_EXT    DW 0xFFFF                       ; 2 адрес расширений файлов для поиска
965
ADR_MASK_EXT    DW 0xFFFF                       ; 2 адрес расширений файлов для поиска
967
ADR_SKLAD       DW 0xFFFF                       ; 2 адрес складирования найденного
966
ADR_SKLAD       DW 0xFFFF                       ; 2 адрес складирования найденного
968
ADR_SKLAD_NAME  DW 0xFFFF                       ; 2
967
ADR_SKLAD_NAME  DW 0xFFFF                       ; 2
969
MAKS_ADR        DB 0xFF                         ; 1 старший байт максимального адреса буфера складирования
968
MAKS_ADR        DB 0xFF                         ; 1 старший байт максимального адреса буфера складирования
970
KOL_FOUNDED     DW 0xFFFF                       ; 2 количество найденных описателей
969
KOL_FOUNDED     DW 0xFFFF                       ; 2 количество найденных описателей
971
OUT_NAME_FILE   DB 0x17,0xFF,0x16,0,0,0
970
OUT_NAME_FILE   DB 0x17,0xFF,0x16
972
OUT_NAME_FILET  EQU $-3
971
OUT_NAME_FILET  DB 0,0,0
973
BUF_FILEITEM    DUPL 0x20,0xFF                  ; 20
972
BUF_FILEITEM    DB 0x20 DUP 0xFF                ; 20
974
EXTERN_PAL      DUPL 0x10,0xFF                  ; 10
973
EXTERN_PAL      DB 0x10 DUP 0xFF                ; 10
975
ENMI_SERVICE
974
ENMI_SERVICE
976
HDDTIMEOUT      EQU EXTERN_PAL+0x10             ; 1
975
HDDTIMEOUT      EQU $;EXTERN_PAL+0x10           ; 1
977
 
976
 
978
                DEPHASE
977
        DEPHASE