;LAST UPDATE: 20.01.2013 savelij
PHASE CPU0
JP $
DUPL 0X0008-$,0XFF
JP $
DUPL 0X0010-$,0XFF
JP $
DUPL ADR_SEL_ROM-$,0XFF
OUT (C),A ;0014
NOP
RET
DUPL 0X0018-$,0XFF
JP $
DUPL 0X0020-$,0XFF
JP $
DUPL 0X0028-$,0XFF
JP $
DUPL 0X0030-$,0XFF
JP CALL2PAGE
DUPL 0X0038-$,0XFF ;0038
; PUSH HL
; LD HL,(ADR_INT)
; EX (SP),HL
; RET
EI
RET
DUPL 0X0040-$,0XFF
JP INSTALL_NMIRST ;УСТАНОВКА ОБРАБОТЧИКОВ NMI И RST
JP UNP_MICRO_BOOT ;РАСПАКОВКА ЗАПУСКАЛКИ HOBETA И SPG ФАЙЛОВ
DUPL 0X0080-$,0XFF
binclude ../../dec40.bin
DUPL 0X00FF-$,0XFF
DW 0X0038
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
PCALL PRTT_A_,P_ADDONS
RET
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,MAGIC_COLOR
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"
PCALL PRTT_A_,P_ADDONS ;BIT DOS ENABLE
RET
PHASE CPU1+$
include rst8_data.a80
PHASE $-CPU1
UNP_MICRO_BOOT LD HL,MICRO_BOOT
LD DE,DRV_VAR+0X300
CALL UNPACK ;РАСПАКОВАЛИ FAT BOOT
LD HL,BUF_TEKVOL
LD DE,(RREG_L)
LD BC,0X100
LDIR ;СКОПИРОВАЛИ ПЕРЕМЕННЫЕ FAT ДРАЙВЕРА ВЫБРАННОГО РАЗДЕЛА
RET
; БЫСТРАЯ (ТАБЛИЧНАЯ) ФУНКЦИЯ ПОДСЧЁТА CRC-16,
; IX=*DATA, HL=SIZE
; НА ВЫХОДЕ -> HL=ПОДСЧИТАННОЕ ЗНАЧЕНИЕ
CRC16_FAST LD B,H
LD C,L
LD HL,0XFFFF
EXX
PUSH HL
LD DE,BUF_CRC16_TABL
LD C,0
EXX
CRC16F0 LD A,(IX)
XOR H
INC IX
EXX
LD L,A
LD H,C
ADD HL,DE
LD A,(HL)
INC H
EXX
XOR L
LD H,A
EXX
LD A,(HL)
EXX
LD L,A
DEC BC
LD A,B
OR C
JP NZ,CRC16F0
EXX
POP HL
EXX
RET
;УСТАНОВКА ОБРАБОТЧИКОВ RST 8 И NMI, ИНИЦИАЛИЗАЦИЯ ПЕРЕМЕННЫХ
INSTALL_NMIRST LD BC,WIN_P2
XOR A
OUT (C),A ;ВКЛЮЧИЛИ СТРАНИЦУ ПЕРЕМЕННЫХ
LD A,0XEF
IN A,(0XFE)
RRCA
JR NC,INSTALLNMIRST2
LD IX,CPU2+ADR_SEL_ROM+4
LD HL,ADR_MAGIC-ADR_SEL_ROM-4
CALL CRC16_FAST ;СЧИТАЕМ CRC НА МЕСТЕ ОБРАБОТЧИКА
PUSH HL ;СОХРАНИЛИ CRC
LD IX,CODE_NMIRST+4
LD HL,ADR_MAGIC-ADR_SEL_ROM-4
CALL CRC16_FAST
POP BC ;ВЕРНУЛИ РАНЕЕ ПОСЧИТАННОЕ CRC
XOR A
SBC HL,BC ;СРАВНИЛИ
JR Z,INSTALLNMIRST1 ;ЕСЛИ СОВПАЛО БОЛЬШЕ НИЧЕГО НЕ ДЕЛАЕМ
INSTALLNMIRST2 LD HL,CPU2
LD DE,CPU2+1
LD BC,CPU3-CPU2-1
LD (HL),0
LDIR ;ОЧИСТКА ПОСЛЕДНЕЙ СТРАНИЦЫ RAM
LD HL,CODE_NMIRST
LD DE,CPU2+ADR_SEL_ROM
LD BC,ENMI_SERVICE-ADR_SEL_ROM-CPU2
LDIR ;УСТАНОВИЛИ ОБРАБОТЧИКИ
LD (BUF_TABLVOL+0XFE),BC ;СБРОС CRC ТАБЛИЦЫ НАЙДЕННЫХ РАЗДЕЛОВ
LD BC,WIN_P1 ;НЕ СОВПАЛО, ПЕРВЫЙ ЗАПУСК ПОСЛЕ ВКЛЮЧЕНИЯ ПИТАНИЯ
LD A,PAGE_MOUNTER ;ИЛИ ОБРАБОТЧИКИ БЫЛИ ИСПОРЧЕНЫ
OUT (C),A ;ВКЛЮЧИЛИ СТРАНИЦУ МОНТИРОВЩИКА ОБРАЗОВ
XOR A
LD HL,CPU1
LD DE,CPU1+1
LD BC,CPU1-1
LD (HL),A
LDIR
LD (CPU2+DEBUG_ONOFF),A ;0-DEBUGGER OFF
LD (FLAGS_DRV),A ;СБРОС ФЛАГОВ ДРАЙВЕРОВ
DEC A
LD (SETDVOL),A ;ПРИ ИНИТЕ FAT РАЗДЕЛОВ БУДЕТ ВЫБРАН ПОСЛЕДНИЙ НАЙДЕННЫЙ
LD (INTERNAL_SP),SP
LD SP,CPU2+STACK_RST
PCALL UNPACK_STS,P_ADDON2
LD SP,(INTERNAL_SP)
LD BC,WIN_A1
LD A,0X7A
OUT (C),A
INSTALLNMIRST1 CALL SET4RESETFONT
; PEC_ON FONT_BF
; IN A,(PEVO_CONF)
; SET 2,A
; OUT (PEVO_CONF),A
; LD HL,SYM00
; LD DE,0
; LD BC,0X20*8
; LDIR
; PEC_OFF FONT_BF
; RES 2,A
; OUT (PEVO_CONF),A
LD HL,STEK_PAGES
LD (TEKPAGE),HL
LD HL,READ_KEYS
LD (ADR_INT),HL
LD BC,WIN_A0
XOR A
LD (CPU2+FOR_RET),A
JP ADR_SEL_ROM
SET4RESETFONT LD A,CMOS_BYTE_00
LD BC,CMOSD_SET_ADR
OUT (C),A
LD BC,CMOSD_RD_WR
IN A,(C)
LD L,A
AND RELOAD_FONT
RET NZ ;ЕСЛИ 1, ТО ШРИФТ НЕ ПЕРЕЗАГРУЖАЕМ
LD A,L
LD_SET_FONT AND TYPE_FONT ;ОПРЕДЕЛЕНИЕ ВЫБРАННОГО ШРИФТА
LD HL,ATM_FONT ;0=ШРИФТ ATM
JR NZ,SET_FONT1
LD HL,CP866_FONT ;1=ШРИФТ CP866
SET_FONT1 LD DE,OFFSET_BUFSYM
PUSH DE
CALL UNPACK
POP HL
LD BC,0X0800
LD D,C
LD E,C
PEC_ON SHADOW_BF+FONT_BF
LDIR
PEC_OFF FONT_BF
RET
;УСТАНОВКА РЕЖИМОВ
SET_MODE LD A,(RREG_A)
ISET_MODE AND A
JR Z,SET_MODE4
LD E,A
LD (TEK_MODES),A ;СОХРАНИЛИ УСТАНАВЛИВАЕМЫЕ РЕЖИМЫ
AND 0X0F ;ВЫДЕЛИЛИ БИТЫ РЕЖИМА ЭКРАНА
JR Z,SET_MODE2
;УСТАНОВКА РЕЖИМОВ ЭКРАНА
DEC A
LD D,3 ;ZX SCREEN
JR Z,SET_MODE3 ;ЕСЛИ 0 ТО РЕЖИМ ЭКРАНА НЕ МЕНЯЕМ
DEC A
LD D,7 ;TEXTMOD В ОДНОЙ СТРАНИЦЕ
JR NZ,SET_MODE2
SET_MODE3 LD A,(B_PORT77)
AND 0XF8
OR D
LD (B_PORT77),A ;УСТАНОВИЛИ ВИДЕО РЕЖИМ В ПОРТУ 77
SET_MODE2 LD A,E
RRCA
RRCA
RRCA
RRCA
LD E,A ;СЕЙЧАС БИТЫ 1-0 СОДЕРЖАТ ТУРБО РЕЖИМ
AND 3 ;ВЗЯЛИ БИТЫ ТУРБОРЕЖИМА
JR Z,SET_MODE1 ;ЕСЛИ 0 ТО РЕЖИМ ТУРБО НЕ МЕНЯЕМ
;СМЕНА ТУРБОРЕЖИМА
LD D,A
EXX
DEC A ;1
LD HL,0X0010 ;TURBO 3,5 MHZ
LD DE,0X0080
JR Z,SET_MODE5
DEC A ;2
LD HL,0X0000 ;TURBO 7,0 MHZ
LD DE,0X0000
JR Z,SET_MODE5
LD HL,0X0800 ;3
LD DE,0X8000 ;TURBO 14 MHZ
SET_MODE5 LD A,(R_EFF7)
AND %11101111
OR L
LD (R_EFF7),A ;УСТАНОВИЛИ ТУРБО ДЛЯ ПОРТА EFF7
LD A,(B_PORT77)
AND %11110111
OR H
LD (B_PORT77),A ;УСТАНОВИЛИ ТУРБО РЕЖИМ ДЛЯ ПОРТА 77
LD H,TURBO_MEMORY
CALL READCMOS
OR E
LD L,A
CALL IWRITECMOS
LD H,CMOS_BYTE_00
CALL READCMOS
OR D
LD L,A
CALL IWRITECMOS
EXX
SET_MODE1 LD A,E
RRCA
RRCA
AND 3 ;ВЫДЕЛИЛИ БИТЫ РЕЖИМА ПАМЯТИ
JR Z,SET_MODE4 ;ЕСЛИ 0 ТО РЕЖИМ ПАМЯТИ НЕ МЕНЯЕМ
;СМЕНА РЕЖИМА ПАМЯТИ
DEC A
LD D,A
LD H,TURBO_MEMORY
CALL READCMOS
AND 0XFC
OR D
LD L,A
JP IWRITECMOS
SET_MODE4 LD A,(TEK_MODES)
LD (RREG_A),A
RET
;СОРТИРОВКА СПИСКА НАЙДЕННЫХ ДИРЕКТОРИЙ/ФАЙЛОВ
SORT_FINDFILES LD HL,(KOL_FOUNDED)
LD A,H
OR L
RET Z ;ВЫХОД ЕСЛИ НИЧЕГО НЕ НАЙДЕНО
DEC HL
LD A,H
OR L
RET Z ;ВЫХОД ЕСЛИ ДИРЕКТОРИЯ/ФАЙЛ ТОЛЬКО 1
LD BC,WIN_P3
LD A,PAGE_TEMP
OUT (C),A
LD HL,CPU3+0X1000 ;АДРЕС ПЕРВЫХ СИМВОЛОВ
LD DE,0X1000
LD BC,SYMS4SORT
EXX
LD HL,CPU3+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,CPU3+0X1000
INC BC
LD A,(BC)
AND A
JR NZ,SORTIR03
LD BC,SYMS4SORT
LD HL,CPU3+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,CPU3+0X1000
INC BC
LD A,(BC)
AND A
JR NZ,SORTIR02
LD HL,CPU3+0X2000
LD DE,CPU3
LD BC,0X1000
LDIR
RET
STORE_AY LD HL,AY_REGS
LD DE,0XFFC0
LD C,0XFD
LD A,0X0D
STORE_AY1 LD B,D
OUT (C),A
LD B,E
INI
DEC A
JP P,STORE_AY1
DEC E
LD H,0
LD A,0X0D
STORE_AY2 LD B,D
OUT (C),A
LD B,E
OUT (C),H
DEC A
JP P,STORE_AY2
RET
RESTORE_AY LD HL,AY_REGS
LD DE,0XFFC0
LD C,0XFD
LD A,0X0D
RESTORE_AY1 LD B,D
OUT (C),A
LD B,E
OUTI
DEC A
JP P,RESTORE_AY1
RET
SYMS4SORT DB ".!#$%&'()-0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ^_`{}~",0X7F
DB "АБВГДЕЖЗИЙКЛЬНОПРСТУФХЦЧШЩЪЫЬЭЮЯЁ",0
;ДЕФОЛТНЫЕ ЗНАЧЕНИЯ ДЛЯ В КМОС
CMOS_DEFAULT DB 0X00,0X00,0X00,0XAA,0X00,0X00
ECMOS_DEFAULT
include fontread.a80
include call_cmos.a80
include tape.a80
include ay_printer.a80
CP866_UTL binclude 8x8_ar_pack.bin
CP866_FONT binclude 866_code_pack.bin
ATM_FONT binclude atm_code_pack.bin
MICRO_BOOT binclude ../../fat_boot/source/micro_boot_fat_pack.rom
DUPL (HIGH ($)+1)*0X100-$,0XFF
BUF_CRC16_TABL DB 0X00,0X10,0X20,0X30,0X40,0X50,0X60,0X70,0X81,0X91,0XA1,0XB1,0XC1,0XD1,0XE1,0XF1
DB 0X12,0X02,0X32,0X22,0X52,0X42,0X72,0X62,0X93,0X83,0XB3,0XA3,0XD3,0XC3,0XF3,0XE3
DB 0X24,0X34,0X04,0X14,0X64,0X74,0X44,0X54,0XA5,0XB5,0X85,0X95,0XE5,0XF5,0XC5,0XD5
DB 0X36,0X26,0X16,0X06,0X76,0X66,0X56,0X46,0XB7,0XA7,0X97,0X87,0XF7,0XE7,0XD7,0XC7
DB 0X48,0X58,0X68,0X78,0X08,0X18,0X28,0X38,0XC9,0XD9,0XE9,0XF9,0X89,0X99,0XA9,0XB9
DB 0X5A,0X4A,0X7A,0X6A,0X1A,0X0A,0X3A,0X2A,0XDB,0XCB,0XFB,0XEB,0X9B,0X8B,0XBB,0XAB
DB 0X6C,0X7C,0X4C,0X5C,0X2C,0X3C,0X0C,0X1C,0XED,0XFD,0XCD,0XDD,0XAD,0XBD,0X8D,0X9D
DB 0X7E,0X6E,0X5E,0X4E,0X3E,0X2E,0X1E,0X0E,0XFF,0XEF,0XDF,0XCF,0XBF,0XAF,0X9F,0X8F
DB 0X91,0X81,0XB1,0XA1,0XD1,0XC1,0XF1,0XE1,0X10,0X00,0X30,0X20,0X50,0X40,0X70,0X60
DB 0X83,0X93,0XA3,0XB3,0XC3,0XD3,0XE3,0XF3,0X02,0X12,0X22,0X32,0X42,0X52,0X62,0X72
DB 0XB5,0XA5,0X95,0X85,0XF5,0XE5,0XD5,0XC5,0X34,0X24,0X14,0X04,0X74,0X64,0X54,0X44
DB 0XA7,0XB7,0X87,0X97,0XE7,0XF7,0XC7,0XD7,0X26,0X36,0X06,0X16,0X66,0X76,0X46,0X56
DB 0XD9,0XC9,0XF9,0XE9,0X99,0X89,0XB9,0XA9,0X58,0X48,0X78,0X68,0X18,0X08,0X38,0X28
DB 0XCB,0XDB,0XEB,0XFB,0X8B,0X9B,0XAB,0XBB,0X4A,0X5A,0X6A,0X7A,0X0A,0X1A,0X2A,0X3A
DB 0XFD,0XED,0XDD,0XCD,0XBD,0XAD,0X9D,0X8D,0X7C,0X6C,0X5C,0X4C,0X3C,0X2C,0X1C,0X0C
DB 0XEF,0XFF,0XCF,0XDF,0XAF,0XBF,0X8F,0X9F,0X6E,0X7E,0X4E,0X5E,0X2E,0X3E,0X0E,0X1E
DB 0X00,0X21,0X42,0X63,0X84,0XA5,0XC6,0XE7,0X08,0X29,0X4A,0X6B,0X8C,0XAD,0XCE,0XEF
DB 0X31,0X10,0X73,0X52,0XB5,0X94,0XF7,0XD6,0X39,0X18,0X7B,0X5A,0XBD,0X9C,0XFF,0XDE
DB 0X62,0X43,0X20,0X01,0XE6,0XC7,0XA4,0X85,0X6A,0X4B,0X28,0X09,0XEE,0XCF,0XAC,0X8D
DB 0X53,0X72,0X11,0X30,0XD7,0XF6,0X95,0XB4,0X5B,0X7A,0X19,0X38,0XDF,0XFE,0X9D,0XBC
DB 0XC4,0XE5,0X86,0XA7,0X40,0X61,0X02,0X23,0XCC,0XED,0X8E,0XAF,0X48,0X69,0X0A,0X2B
DB 0XF5,0XD4,0XB7,0X96,0X71,0X50,0X33,0X12,0XFD,0XDC,0XBF,0X9E,0X79,0X58,0X3B,0X1A
DB 0XA6,0X87,0XE4,0XC5,0X22,0X03,0X60,0X41,0XAE,0X8F,0XEC,0XCD,0X2A,0X0B,0X68,0X49
DB 0X97,0XB6,0XD5,0XF4,0X13,0X32,0X51,0X70,0X9F,0XBE,0XDD,0XFC,0X1B,0X3A,0X59,0X78
DB 0X88,0XA9,0XCA,0XEB,0X0C,0X2D,0X4E,0X6F,0X80,0XA1,0XC2,0XE3,0X04,0X25,0X46,0X67
DB 0XB9,0X98,0XFB,0XDA,0X3D,0X1C,0X7F,0X5E,0XB1,0X90,0XF3,0XD2,0X35,0X14,0X77,0X56
DB 0XEA,0XCB,0XA8,0X89,0X6E,0X4F,0X2C,0X0D,0XE2,0XC3,0XA0,0X81,0X66,0X47,0X24,0X05
DB 0XDB,0XFA,0X99,0XB8,0X5F,0X7E,0X1D,0X3C,0XD3,0XF2,0X91,0XB0,0X57,0X76,0X15,0X34
DB 0X4C,0X6D,0X0E,0X2F,0XC8,0XE9,0X8A,0XAB,0X44,0X65,0X06,0X27,0XC0,0XE1,0X82,0XA3
DB 0X7D,0X5C,0X3F,0X1E,0XF9,0XD8,0XBB,0X9A,0X75,0X54,0X37,0X16,0XF1,0XD0,0XB3,0X92
DB 0X2E,0X0F,0X6C,0X4D,0XAA,0X8B,0XE8,0XC9,0X26,0X07,0X64,0X45,0XA2,0X83,0XE0,0XC1
DB 0X1F,0X3E,0X5D,0X7C,0X9B,0XBA,0XD9,0XF8,0X17,0X36,0X55,0X74,0X93,0XB2,0XD1,0XF0
include nmi_service.a80
DUPL 0X3BFF-$,0XFF
DW 0X0038
DUPL 0X3FF8-$,0XFF
DB "ADDON1"
DW DATA_VERS
DEPHASE