;LAST UPDATE: 17.05.2012 savelij
include ../../macros.a80
include ../../global_vars.a80
include ../../ports_ngs.a80
include ../../sdcomand.a80
include ../../fat_vars.a80
DD EQU 8 ;ДАТА
MM EQU 3 ;МЕСЯЦ
YY EQU 12 ;ГОД
DATA EQU DD+(MM<<5)+(YY<<9)+0X8000 ;УЖЕ УПАКОВАНО
TXTMODE_DEBUG EQU 0
PHASE 0
;ПРОДОЛЖЕНИЕ ОБРАБОТКИ НАЖАТИЯ MAGIC
JP CONT_MAGIC ;0000
DUPL 0X0004-$,0XFF
JP NEXT_RST8
DUPL 0X0008-$,0XFF
JP $ ;0008
DUPL 0X0010-$,0XFF
JP $ ;0010
DUPL ADR_SEL_ROM-$,0XFF
JUMP2PAGE OUT (C),A
NOP
RET
DUPL 0X0018-$,0XFF
JP $ ;0018
DUPL 0X001C-$,0XFF
JP RST30_DOS
DUPL 0X0020-$,0XFF
JP $ ;0020
DUPL 0X0028-$,0XFF
JP $ ;0028
DUPL 0X0030-$,0XFF
JP $ ;0030
DUPL 0X0038-$,0XFF
;ОПРОС КЛАВИАТУРЫ
EI
RET;JP KEYBOARDS ;0038
;ВЫХОД ИЗ RST8
EXIT_RST8 LD BC,P4_EXIT_RST8 ;АДРЕС ВОЗВРАТА В ПОСЛЕДНЕЙ СТРАНИЦЕ RAM
PUSH BC
LD BC,WIN_P0
XOR A
JP JUMP2PAGE
RST30_DOS LD HL,ERST30_DOS
JP NEXT_RST
ERST30_DOS LD BC,WIN_A0
LD A,6
JP ADR_SEL_ROM
RUN_FILECODE LD BC,UNP_MICRO_BOOT ;АДРЕС ПЕРЕХОДА
JUMP2PAGE4 PUSH BC
LD BC,WIN_A0
LD A,4 ;НОМЕР СТРАНИЦЫ ВЫЗОВА
JP JUMP2PAGE
DUPL 0X0066-$,0XFF
;ВЫХОД ИЗ MAGIC
CONT_MAGIC NOP
LD HL,N_0WINA0
LD DE,(N_DOS7FFD)
LD A,(N_77)
CALL CONVERT_BPORT
CALL STORE_TXTMODE
IF TXTMODE_DEBUG=0
CALL SCAN_FONT
ENDIF
CALL MAGIC_FONT
CALL CLS_TXTMODE8
LD HL,TEXT_PORTREGS
CALL PRTT_MSG
CALL PRT_PORTREGS
; LD HL,PRINT_COLOR
; CALL PRTT_MSG
CONTMAGIC1 LD A,0XFB
IN A,(0XFE)
AND 4
JR NZ,CONTMAGIC1
CONTMAGIC2 XOR A
IN A,(0XFE)
CPL
AND 0X1F
JR NZ,CONTMAGIC2
CALL RESTORE_TXTMODE
CALL RESTORE_FONT
LD BC,EXITNMISERVICE
PUSH BC
LD BC,WIN_P0
XOR A
JP JUMP2PAGE
CRC16 LD BC,INT_ONLY_RET ;АДРЕС КУДА ВЕРНУТЬСЯ В ЭТОЙ СТРАНИЦЕ
PUSH BC
LD BC,CRC16FAST ;АДРЕС ВЫЗОВА В 4 СТРАНИЦЕ
JR JUMP2PAGE4
CODE_TABL DW AY_PRN_INIT ;40
DW AY_PRN_A_ ;41
DW AY_PRN_TOKEN ;42
DW AY_PRN_SCR ;43
DW TAPE_INIT ;44
DW TAPE_EMUL ;45
DW WINW ;46
DW PRINT_MESSAGE ;47
DW PRINT_A ;48
DW SCRUP ;49
DW SCRDN ;4A
DW COM_DEV ;4B
DW COM_FAT ;4C
DW SORT_FIND_FILES ;4D
DW MOUNTER ;4E
DW LOADFILE ;4F
DW RUN_FILECODE ;50
ECODE_TABL
DUPL 0X00FF-$,0XFF
DW 0X0038
;===============
;ПРОДОЛЖЕНИЕ ОБРАБОТКИ RST8
NEXT_RST8 LD HL,EXIT_RST8
NEXT_RST PUSH HL
LD (INTERNAL_SP),SP
LD HL,R_0WINA0
LD DE,(R_DOS7FFD)
LD A,(R_77)
CALL CONVERT_BPORT
CALL READ_BYTE
LD A,(NEXTBYTERST8)
AND 0X3F
LD L,A
LD H,0
ADD HL,HL
LD DE,CODE_TABL
ADD HL,DE
LD E,(HL)
INC HL
LD D,(HL)
EX DE,HL
JP (HL)
LOADFILE
CALL ICOM_FAT
DB Open_file
RET
;ЧТЕНИЕ БАЙТА ИЗ ОБЛАСТИ ПАМЯТИ ВЫЗВАШЕЙ ПРОГИ
READ_BYTE PUSH HL
PUSH DE
PUSH BC
PUSH AF
LD A,(RADRRET_H) ;СТАРШИЙ БАЙТ АДРЕСА ОТКУДА ЧИТАТЬ
CP 0X40
JR NC,READBYTE_03
;ЕСЛИ АДРЕС ЧТЕНИЯ НИЖЕ 0X4000
LD A,(R_7FFD) ;ИЗ КАКОГО МАППЕРА ЧИТАТЬ
AND 0X10
LD HL,B0_CPU0 ;БАЙТЫ И АДРЕСА ПОРТОВ 0 МАППЕРА
JR Z,READ_CPU0_01
LD HL,B1_CPU0 ;БАЙТЫ И АДРЕСА ПОРТОВ 1 МАППЕРА
READ_CPU0_01 LD D,(HL) ;БАЙТ ДЛЯ ЗАПИСИ В ПОРТ
INC HL
LD A,(HL) ;СТАРШИЙ БАЙТ АДРЕСА ПОРТА НУЖНОЙ СТРАНИЦЫ
AND HIGH (WIN_A1)
OR HIGH (WIN_P1) ;ПРЕОБРАЗОВАЛИ СТАРШИЙ БАЙТ АДРЕСА ДЛЯ ВКЛЮЧЕНИЯ В 1 ОКНЕ
LD B,A
LD C,LOW (WIN_A0) ;BC=АДРЕС ПОРТА
LD A,(R_77)
LD E,0X3F
AND 0X10 ;ОПРЕДЕЛЯЕМ DOS ИЛИ НЕ DOS
JR Z,READ_CPU0_02
DEC E
READ_CPU0_02 LD A,D
AND E
OUT (C),A ;ВКЛЮЧАЕМ ПАГУ BASIC ИЛИ DOS
LD DE,CPU1 ;СМЕЩЕНИЕ ДО 1 ОКНА ПРОЕЦИРОВАНИЯ
LD HL,(RADRRET_L) ;АДРЕС ОТКУДА ЧИТАТЬ
ADD HL,DE ;ЧИТАТЬ ЧЕРЕЗ 1 ОКНО ПРОЕЦИРОВАНИЯ
LD A,(HL) ;ПРОЧИТАЛИ БАЙТ
SBC HL,DE ;ВЕРНУЛИ АДРЕС БАЙТА
INC HL ;УВЕЛИЧИЛИ АДРЕС ВОЗВРАТА
LD (RADRRET_L),HL ;ВЕРНУЛИ АДРЕС ВОЗВРАТА
JR READBYTE_02
;ЕСЛИ АДРЕС ЧТЕНИЯ ВЫШЕ 0X4000
READBYTE_03 LD A,(R_7FFD) ;ИЗ КАКОГО МАППРЕА ЧИТАТЬ
AND 0X10
LD HL,B0_CPU0 ;БАЙТЫ И АДРЕСА ПОРТОВ 0 МАППЕРА
JR Z,READBYTE_01
LD HL,B1_CPU0 ;БАЙТЫ И АДРЕСА ПОРТОВ 1 МАППЕРА
READBYTE_01 LD A,(RADRRET_H) ;СТАРШИЙ БАЙТ АДРЕСА ОТКУДА ЧИТАТЬ
AND 0XC0
LD C,A
RLCA
RLCA
RLCA
LD E,A
LD D,0 ;DE=СМЕЩЕНИЕ В ТАБЛИЦЕ БАЙТА И СТАРШЕГО БАЙТА СТРАНИЦЫ ЧТЕНИЯ
ADD HL,DE
LD D,(HL) ;БАЙТ ДЛЯ ЗАПИСИ В ПОРТ
INC HL
LD A,(HL)
AND HIGH (WIN_A1)
OR HIGH (WIN_P1)
LD B,A
LD C,LOW (WIN_A1) ;BC=АДРЕС ПОРТА ДЛЯ 1 ОКНА ПРОЕЦИРОВАНИЯ
LD HL,(RADRRET_L) ;АДРЕС ОТКУДА ЧИТАТЬ
OUT (C),D ;ВКЛЮЧИЛИ СТРАНИЦУ ДЛЯ ЧТЕНИЯ БАЙТА
LD E,L ;МЛАДШИЙ БАЙТ АДРЕСА ЧТЕНИЯ
LD A,H
AND HIGH (WIN_A1)
OR HIGH (CPU1)
LD D,A ;СТАРШИЙ БАЙТ АДРЕСА ЧТЕНИЯ
LD A,(DE) ;ПРОЧИТАЛИ БАЙТ
INC HL ;УВЕЛИЧИЛИ АДРЕС ВОЗВРАТА
LD (RADRRET_L),HL ;ВЕРНУЛИ АДРЕС ВОЗВРАТА
READBYTE_02 LD (NEXTBYTERST8),A ;ПОЛОЖИЛИ ПРОЧИТАННЫЙ БАЙТ
CALL MAIN_MEM13 ;ВЕРНУЛИ СТРАНИЦЫ В 1 И 3 ОКНО ПРОЕЦИРОВАНИЯ
POP AF
POP BC
POP DE
POP HL
RET
LDIR_BYTES EXX
LD BC,INT_ONLY_RET
PUSH BC
LD BC,LDIR__BYTES
PUSH BC
LD BC,WIN_P0
XOR A
JP JUMP2PAGE
;ВОССТАНОВЛЕНИE СТРАНИЦ В ОКНАХ ПРОЕЦИРОВАНИЯ 1 И 3
MAIN_MEM13 LD A,(R_7FFD) ;ПРОВЕРКА В КАКОМ МАППЕРЕ
AND 0X10
LD HL,B0_CPU1 ;ДЛЯ 0 МАППЕРА
JR Z,MAINMEM1
LD HL,B1_CPU1 ;ДЛЯ 1 МАППЕРА
MAINMEM1 LD C,LOW (WIN_A0)
CALL MAINMEM3 ;ВЕРНУЛИ ДЛЯ 1 ОКНА ПРОЕЦИРОВАНИЯ
INC HL ;ДАЛЕЕ ВОЗВРАЩАЕМ ДЛЯ 3 ОКНА ПРОЕЦИРОВАНИЯ
INC HL
MAINMEM3 LD E,(HL)
INC HL
LD D,(HL)
LD A,D
OR 0X3F
LD B,A
BIT 3,D
JR NZ,MAINMEM2
SET 3,B
LD A,D
AND 3
RRCA
RRCA
OUT (C),A
RES 3,B
MAINMEM2 INC HL
OUT (C),E
RET
CONTINUE_PROG XOR A
IN A,(0XFE)
CPL
AND 0X1F
JR NZ,CONTINUE_PROG
LD SP,(INTERNAL_SP)
INT_ONLY_RET RET
;КОНВЕРСИЯ СЧИТАННЫХ ЗНАЧЕНИЙ ИЗ ПОРТОВ КОНФИГУРАЦИИ
;HL=АДРЕС ОТКУДА БРАТЬ СЧИТАННЫЕ ЗНАЧЕНИЯ ДЛЯ КОНВЕРСИИ
;DE=БИТЫ 7,6 ДЛЯ ДЕКОДИРОВАНИЯ
;BC=КУДА СКЛАДЫВАТЬ ДЕКОДИРОВАННОЕ
;A=СЧИТАННОЕ ЗНАЧЕНИЕ ДЛЯ КОНВЕРСИИ ДЛЯ ПОРТА XX77
CONVERT_BPORT PUSH AF
LD BC,B0_CPU0
LD IYL,HIGH (WIN_A3)&0XFC
LD A,8 ;КОНВЕРТИТЬ 8 БАЙТ
CBPORT03 EX AF,AF'
LD A,(HL)
CP 0XC0
JR NC,CBPORT01
;ЕСЛИ ЧИСЛО МЕНЕЕ, ТО ВОССТАНАВЛИВАТЬ В ПОРТЫ X7F7
LD (BC),A
INC BC
LD A,IYL
ADD A,0X40
LD IYL,A
AND 0XF7
RLCA
RLCA
SRL E
RLA
SRL D
RLA
LD (BC),A
INC BC
JR CBPORT02
;ЕСЛИ ЧИСЛО БОЛЬШЕ, ТО ВОССТАНАВЛИВАТЬ В ПОРТЫ XFF7
CBPORT01 LD A,(HL)
RLCA
RLCA
SRL D
RRA
SRL E
RRA
LD (BC),A
INC BC
LD A,IYL
ADD A,0X40
LD IYL,A
LD (BC),A
INC BC
CBPORT02 DEC HL
EX AF,AF'
DEC A
JR NZ,CBPORT03
POP HL
LD L,0XBC
LD A,H
AND 0X0F
OR 0XA0
LD (BC),A
INC BC
LD A,H
AND 0X80
RRCA
OR L
LD L,A
LD A,H
AND 0X60
RLCA
RLCA
RLCA
OR L
LD (BC),A
RET
SORT_FIND_FILES LD HL,KOL_FOUNDED
LD A,H
OR L
RET Z
DEC HL
LD A,H
OR L
RET Z
LD BC,WIN_P1
LD A,PAGE_TEMP
OUT (C),A
LD HL,CPU1+0X1000 ;АДРЕС ПЕРВЫХ СИМВОЛОВ
LD DE,0X1000
LD BC,SYMS4SORT
EXX
LD HL,CPU1+0X2000 ;АДРУС КУДА СКЛАДИРОВАТЬ СОРТИРОВАННОЕ
LD BC,(KOLFIND)
EXX
;ПЕРВЫЙ ПРОХОД ДЛЯ ДИРЕКТОРИЙ
SORTIR03 LD A,(HL)
AND 0X10
JR Z,SORTIR01
INC HL
LD A,(BC)
CP (HL)
DEC HL
JR NZ,SORTIR01
SBC HL,DE ;ПЕРЕХОД К НОМЕРАМ
LD A,(HL)
INC HL
EXX
LD (HL),A
INC HL
EXX
LD A,(HL)
INC HL
EXX
LD (HL),A
INC HL
DEC BC
LD A,B
OR C
EXX
JR Z,SORTIR05 ;ЕСЛИ КОНЧИЛОСЬ ТО ТОЖЕ САМОЕ ДЛЯ ФАЙЛОВ
ADD HL,DE ;ВОЗВРАТ К ФЛАГАМ И ИМЕНАМ
JR SORTIR03
;НЕ ДИРЕКТОРИЯ, СЛЕДУЮЩАЯ ПАРА
SORTIR01 INC HL
INC HL
EXX
DEC BC
LD A,B
OR C
EXX
JR NZ,SORTIR03
SORTIR05 EXX
LD BC,(KOLFIND)
EXX
LD HL,CPU1+0X1000
INC BC
LD A,(BC)
AND A
JR NZ,SORTIR03
LD BC,SYMS4SORT
LD HL,CPU1+0X1000
;ВТОРОЙ ПРОХОД ДЛЯ ФАЙЛОВ
SORTIR02 LD A,(HL)
AND 0X10
JR NZ,SORTIR04
INC HL
LD A,(BC)
CP (HL)
DEC HL
JR NZ,SORTIR04
SBC HL,DE
LD A,(HL)
INC HL
EXX
LD (HL),A
INC HL
EXX
LD A,(HL)
INC HL
EXX
LD (HL),A
INC HL
DEC BC
LD A,B
OR C
EXX
JR Z,SORTIR07
ADD HL,DE
JR SORTIR02
SORTIR04 INC HL
INC HL
EXX
DEC BC
LD A,B
OR C
EXX
JR NZ,SORTIR02
SORTIR07 EXX
LD BC,(KOLFIND)
EXX
LD HL,CPU1+0X1000
INC BC
LD A,(BC)
AND A
JR NZ,SORTIR02
LD HL,CPU1+0X2000
LD DE,CPU1
LD BC,0X1000
LDIR
RET
SYMS4SORT DB ".!#$%&'()-0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ^_`{}~",0X7F
DB "АБВГДЕЖЗИЙКЛЬНОПРСТУФХЦЧШЩЪЫЬЭЮЯЁ",0
PRTT_HL_ LD A,H
CALL PRTT_A
LD A,L
PRTT_A PUSH AF
RRCA
RRCA
RRCA
RRCA
CALL PRTT_A_1
POP AF
PRTT_A_1 AND 0X0F
CP 0X0A
CCF
ADC A,"0"
DAA
AND 0X7F
JP PRTT_A_
COORDINAT_REGS DW Y_OFFSET+1+(X_OFFSET+3)*0X100 ;SP
DW Y_OFFSET+1+(X_OFFSET+3+9)*0X100 ;PC
DW Y_OFFSET+2+(X_OFFSET+3)*0X100 ;IR
DW Y_OFFSET+3+(X_OFFSET+3)*0X100 ;AF
DW Y_OFFSET+3+(X_OFFSET+3+9)*0X100 ;AF'
DW Y_OFFSET+4+(X_OFFSET+3)*0X100 ;BC
DW Y_OFFSET+4+(X_OFFSET+3+9)*0X100 ;BC'
DW Y_OFFSET+5+(X_OFFSET+3)*0X100 ;DE
DW Y_OFFSET+5+(X_OFFSET+3+9)*0X100 ;DE'
DW Y_OFFSET+6+(X_OFFSET+3)*0X100 ;HL
DW Y_OFFSET+6+(X_OFFSET+3+9)*0X100 ;HL'
DW Y_OFFSET+7+(X_OFFSET+3)*0X100 ;IX
DW Y_OFFSET+7+(X_OFFSET+3+9)*0X100 ;IY
DW Y_OFFSET+0X0A+(X_OFFSET+6)*0X100 ;CPU3 MAP0
DW Y_OFFSET+0X0A+(X_OFFSET+6+3)*0X100 ;CPU3 MAP1
DW Y_OFFSET+0X0B+(X_OFFSET+6)*0X100 ;CPU2 MAP0
DW Y_OFFSET+0X0B+(X_OFFSET+6+3)*0X100 ;CPU2 MAP1
DW Y_OFFSET+0X0C+(X_OFFSET+6)*0X100 ;CPU1 MAP0
DW Y_OFFSET+0X0C+(X_OFFSET+6+3)*0X100 ;CPU1 MAP1
DW Y_OFFSET+0X0D+(X_OFFSET+6)*0X100 ;CPU0 MAP0
DW Y_OFFSET+0X0D+(X_OFFSET+6+3)*0X100 ;CPU0 MAP1
DW Y_OFFSET+0X0F+(X_OFFSET+5)*0X100 ;PORT 7FFD
DW Y_OFFSET+0X10+(X_OFFSET+5)*0X100 ;PORT EFF7
DW Y_OFFSET+0X11+(X_OFFSET+0)*0X100 ;PORT XX77
DW Y_OFFSET+0X11+(X_OFFSET+0+5)*0X100 ;BYTE IN PORT XX77
DW Y_OFFSET+0X12+(X_OFFSET+5)*0X100 ;PORT BF
DW Y_OFFSET+0X14+(X_OFFSET+11)*0X100 ;BIT DOS ENABLE
PRINT_REGS LD E,(IX)
INC IX
LD D,(IX)
INC IX
JP PRTT_HL_
PRINT_REG LD E,(IX)
INC IX
LD D,(IX)
INC IX
JP PRTT_A
PRT_PORTREGS LD A,0X0F
LD (TXT_COLOR),A
LD IX,COORDINAT_REGS
LD HL,(NMI_SAVE_SP)
CALL PRINT_REGS ;SP
LD HL,(NADRRET_L)
CALL PRINT_REGS ;PC
LD A,(NREG_I)
LD H,A
LD A,(NREG_R)
LD L,A
CALL PRINT_REGS ;IR
LD HL,(NREG_F)
CALL PRINT_REGS ;AF
LD HL,(NREG_FF)
CALL PRINT_REGS ;AF'
LD HL,(NREG_C)
CALL PRINT_REGS ;BC
LD HL,(NREG_CC)
CALL PRINT_REGS ;BC'
LD HL,(NREG_E)
CALL PRINT_REGS ;DE
LD HL,(NREG_EE)
CALL PRINT_REGS ;DE'
LD HL,(NREG_L)
CALL PRINT_REGS ;HL
LD HL,(NREG_LL)
CALL PRINT_REGS ;HL'
LD HL,(NREG_IXL)
CALL PRINT_REGS ;IX
LD HL,(NREG_IYL)
CALL PRINT_REGS ;IY
LD A,(B0_CPU3)
CALL PRINT_REG ;CPU3 MAP0
LD A,(B1_CPU3)
CALL PRINT_REG ;CPU3 MAP1
LD A,(B0_CPU2)
CALL PRINT_REG ;CPU2 MAP0
LD A,(B1_CPU2)
CALL PRINT_REG ;CPU2 MAP1
LD A,(B0_CPU1)
CALL PRINT_REG ;CPU1 MAP0
LD A,(B1_CPU1)
CALL PRINT_REG ;CPU1 MAP1
LD A,(B0_CPU0)
CALL PRINT_REG ;CPU0 MAP0
LD A,(B1_CPU0)
CALL PRINT_REG ;CPU0 MAP1
LD A,(N_7FFD)
CALL PRINT_REG ;PORT 7FFD
LD A,(N_EFF7)
CALL PRINT_REG ;PORT EFF7
LD A,(N_77)
AND %11100000
RRCA
LD B,A
RRCA
RRCA
RRCA
RRCA
OR B
OR 0XBC
CALL PRINT_REG ;PORT XX77
LD A,(N_77)
AND 0X0F
CALL PRINT_REG ;BYTE IN PORT XX77
LD A,(N_BF)
CALL PRINT_REG ;PORT BF
LD E,(IX)
INC IX
LD D,(IX)
LD A,(N_77)
AND 0X10
RRCA
RRCA
RRCA
RRCA
ADD A,"0"
JP PRTT_A_ ;BIT DOS ENABLE
PRINT_COLOR DB 0X16,0X03,0,0X17,0X00,"----------------"
DB 0X16,0X04,0,0X17,0X08,"----------------"
DB 0X16,0X05,0,0X17,0X10,"----------------"
DB 0X16,0X06,0,0X17,0X18,"----------------"
DB 0X16,0X07,0,0X17,0X20,"----------------"
DB 0X16,0X08,0,0X17,0X28,"----------------"
DB 0X16,0X09,0,0X17,0X30,"----------------"
DB 0X16,0X0A,0,0X17,0X38,"----------------"
DB 0X16,0X0B,0,0X17,0X80,"----------------"
DB 0X16,0X0C,0,0X17,0X88,"----------------"
DB 0X16,0X0D,0,0X17,0X90,"----------------"
DB 0X16,0X0E,0,0X17,0X98,"----------------"
DB 0X16,0X0F,0,0X17,0XA0,"----------------"
DB 0X16,0X10,0,0X17,0XA8,"----------------"
DB 0X16,0X11,0,0X17,0XB0,"----------------"
DB 0X16,0X12,0,0X17,0XB8,"----------------"
DB 0
X_OFFSET EQU 63
Y_OFFSET EQU 2
TEXT_PORTREGS DB 0X17,0X0F
DB 0X16,Y_OFFSET+0X01,X_OFFSET+0,"SP= PC="
DB 0X16,Y_OFFSET+0X02,X_OFFSET+0,"IR="
DB 0X16,Y_OFFSET+0X03,X_OFFSET+0,"AF= AF'="
DB 0X16,Y_OFFSET+0X04,X_OFFSET+0,"BC= BC'="
DB 0X16,Y_OFFSET+0X05,X_OFFSET+0,"DE= DE'="
DB 0X16,Y_OFFSET+0X06,X_OFFSET+0,"HL= HL'="
DB 0X16,Y_OFFSET+0X07,X_OFFSET+0,"IX= IY="
DB 0X16,Y_OFFSET+0X09,X_OFFSET+0," MAP 0 1"
DB 0X16,Y_OFFSET+0X0A,X_OFFSET+0,"CPU3="
DB 0X16,Y_OFFSET+0X0B,X_OFFSET+0,"CPU2="
DB 0X16,Y_OFFSET+0X0C,X_OFFSET+0,"CPU1="
DB 0X16,Y_OFFSET+0X0D,X_OFFSET+0,"CPU0="
DB 0X16,Y_OFFSET+0X0F,X_OFFSET+0,"7FFD="
DB 0X16,Y_OFFSET+0X10,X_OFFSET+0,"EFF7="
DB 0X16,Y_OFFSET+0X11,X_OFFSET+2,"77="
DB 0X16,Y_OFFSET+0X12,X_OFFSET+2,"BF="
DB 0X16,Y_OFFSET+0X14,X_OFFSET+0,"DOS ENABLE= "
DB 0X16,Y_OFFSET+0X16,0X40,0X17,0X39," E.EXIT "
DB 0X16,1,0X10,0X17,0X32," EVO Magic Service prealfa ",0
TXT_VERIFY_FONT DB 0X16,0X18,0,0X17,0X22," VERIFY READING FONT ",0
TXT_VERIFY_OK DB " OK ",0
TXT_VERIFY_ERR DB "ERROR ",0
include txtmode_proc.a80
include fontread.a80
include tape.a80
include mouse.a80
include call_cmos.a80
include window.a80
include ay_printer.a80
include rst8_data.a80
include fat/mounter.a80
include fat/dev_drv.a80
include fat/ngs_sd_drv.a80
include fat/z_sd_drv.a80
include fat/nemo_drv.a80
include fat/read_fat.a80
DUPL 0X37F8-$,0XFF
CHARS binclude altstd.bin
DB "RST_08"
DW DATA
DEPHASE
include addons.a80