Top secrets sources NedoPC pentevo

Rev

Rev 588 | Rev 605 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?


;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