Top secrets sources NedoPC pentevo

Rev

Rev 999 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?


; LAST UPDATE: 25.11.2022 savelij

                include ports_evo.a80

; áâà ­¨æë VIDEO RAM
VMODE7_0        EQU LOW (-0x08)-1               ; 0xF7 áâà ­¨æ  ®¤­®áâà ­¨ç­®£® ⥪á⬮¤  0 íªà ­
VMODE7_1        EQU LOW (-0x0A)-1               ; 0xF5 áâà ­¨æ  ®¤­®áâà ­¨ç­®£® ⥪á⬮¤  1 íªà ­
VMODE6_0M       EQU LOW (-0x05)-1               ; 0xFA áâà ­¨æ  ATM ⥪á⬮¤  ¬®­®å஬ 0 íªà ­
VMODE6_0C       EQU LOW (-0x01)-1               ; 0xFE áâà ­¨æ  ATM ⥪á⬮¤  梥â 0 íªà ­
VMODE6_1M       EQU LOW (-0x07)-1               ; 0xF8 áâà ­¨æ  ATM ⥪á⬮¤  ¬®­®å஬ 1 íªà ­
VMODE6_1C       EQU LOW (-0x03)-1               ; 0xFC áâà ­¨æ  ATM ⥪á⬮¤  梥â 1 íªà ­
ZXSCR_0         EQU LOW (-0x05)-1               ; 0xFA áâà ­¨æ  ZX íªà ­  0
ZXSCR_1         EQU LOW (-0x07)-1               ; 0xF8 áâà ­¨æ  ZX íªà ­  1

; áâà ­¨æë ¯ ¬ï⨠ZX áâ ­¤ àâ 
ZXSTD_CPU1      EQU LOW (-0x05)-1; 0xFA         ; áâà ­¨æ  1 ®ª­  ¯à®¥æ¨à®¢ ­¨ï
ZXSTD_CPU2      EQU LOW (-0x02)-1; 0xFD         ; áâà ­¨æ  2 ®ª­  ¯à®¥æ¨à®¢ ­¨ï

; áâà ­¨æë RAM
RAM_EVODOS      EQU 1                           ; áâà ­¨æ  ª®¯¨¨ EVO-DOS ¤«ï ¯¥à¥å¢ â 
RAM_FATVARS     EQU 2                           ; áâà ­¨æ  ¤«ï ¯¥à¥¬¥­ëå FAT
RAM_BASIC       EQU 3                           ; áâà ­¨æ  BASIC áâ ­¤ àâ­ ï ¢¥àá¨ï
RAM_PROFROM     EQU 4                           ; áâà ­¨æ  ¯¥à¥¬¥­­ëå PROFROM
RAM_MOUNTER     EQU 5                           ; áâà ­¨æ  ¤«ï ¬®­â¨à®¢ ­¨ï ®¡à §®¢
RAM_STS         EQU 6                           ; áâà ­¨æ  ¤«ï ®â« ¤ç¨ª  STS
RAM_ADDSTS      EQU 7                           ; áâà ­¨æ  ¤«ï ®â« ¤ª¨ ROM
RAM_SCR_FONT    EQU 8                           ; áâà ­¨æ  á®åà ­¥­­ëå íªà ­®¢ ¨ 䮭⮢
RAM_TEMP        EQU 9                           ; áâà ­¨æ  ¢áïª¨å ¢à¥¬¥­­ëå ¯¥à¥¬¥­­ëå
RAM_RAMDISK     EQU 0x0A                        ; áâà ­¨æ  ­ ç «  à ¬¤¨áª 
RAM_DATARAMD    EQU 0x0B                        ; áâà ­¨æ  ­ ç «  ¤ ­­ëå à ¬¤¨áª 
RAM_TEMP2       EQU 0x3F                        ; áâà ­¨æ  á®àâ¨à®¢ª¨ ä ©«®¢ ¨ ¯à®á¬®âà  á®¤¥à¦¨¬®£® ®¡à §®¢
RAM_FLASHER     EQU 0x40                        ; áâà ­¨æ  ­ ç «  § £à㧪¨ ¯à®è¨¢ª¨
RAM_TAPE        EQU 0x60                        ; áâà ­¨æ  ¤«ï § £à㧪¨ TAP ä ©« 

; áâà ­¨æë ROM
ROM_ERS         EQU 0                           ; ­®¬¥à áâà ­¨æë ROM EVO RESET SERVICE
ROM_BAS128      EQU 1                           ; ­®¬¥à áâà ­¨æë ROM BASIC 128
ROM_DOS         EQU 2                           ; ­®¬¥à áâà ­¨æë ROM EVO-DOS ¤«ï ॠ«ì­®© ¤¨áª¥âë
ROM_BAS48       EQU 3                           ; ­®¬¥à áâà ­¨æë ROM BASIC 48

ROM_MAINMENU    EQU 5                           ; ­®¬¥à áâà ­¨æë 㯠ª®¢ ­­®£® £« ¢­®¥ ¬¥­î
ROM_RST80       EQU 6                           ; ­®¬¥à áâà ­¨æë ROM RST 8
ROM_RST81       EQU 7                           ; ­®¬¥à áâà ­¨æë ROM RST 8
ROM_RST82       EQU 8                           ; ­®¬¥à áâà ­¨æë ROM RST 8
ROM_RST83       EQU 9                           ; ­®¬¥à áâà ­¨æë ROM RST 8
ROM_ADD_DOS     EQU 0x0A                        ; ­®¬¥à áâà ­¨æë ROM EVO-DOS ¤«ï í¬ã«ï樨
ROM_ADD_BAS48   EQU 0x0B                        ; ­®¬¥à áâà ­¨æë ROM BASIC 48
ROM_BAS48_STD   EQU 0x18                        ; ­®¬¥à áâà ­¨æë ROM BASIC 48 (áâ ­¤ àâ­ ï ¢¥àá¨ï)
ROM_BAS128_STD  EQU 0x19                        ; ­®¬¥à áâà ­¨æë ROM BASIC 128 (áâ ­¤ àâ­ ï ¢¥àá¨ï)
ROM_BAS48_128   EQU 0x1A                        ; ­®¬¥à áâà ­¨æë ROM BASIC 48 (áâ ­¤ àâ­ ï ¢¥àá¨ï ¤«ï BASIC 128)
ROM_ATMCPM      EQU 0x1B                        ; ­®¬¥à áâà ­¨æë ROM €’Œ CP/M

CONF4PROF       EQU 0x90                        ; áâ à⮢ ï áâà ­¨æ  ¤«ï EVO PROFROM 128K
CONF4GLUK       EQU 0x94                        ; áâ à⮢ ï áâà ­¨æ  ¤«ï GLUK 64K
CONF4CUSTOM     EQU 0x9C                        ; áâ à⮢ ï áâà ­¨æ  ¤«ï ¯®«ì§®¢ â¥«ì᪮© ¯à®è¨¢ª¨ 64Š

CPU0            EQU 0x0000                      ; ­ ç «® ®ª­  ¯à®¥æ¨à®¢ ­¨ï 0
CPU1            EQU 0x4000                      ; ­ ç «® ®ª­  ¯à®¥æ¨à®¢ ­¨ï 1
CPU2            EQU 0x8000                      ; ­ ç «® ®ª­  ¯à®¥æ¨à®¢ ­¨ï 2
CPU3            EQU 0xC000                      ; ­ ç «® ®ª­  ¯à®¥æ¨à®¢ ­¨ï 3

; ¬ áª  ª­®¯®ª ¬ëè¨
 BITMASK MOUSE_M_KEY,   2
 BITMASK MOUSE_R_KEY,   1
 BITMASK MOUSE_L_KEY,   0
_MOUSE_WHEEL    EQU %11110000

; ᪮à®á⨠RS232
BAUD110         EQU 115200/110
BAUD150         EQU 115200/150
BAUD300         EQU 115200/300
BAUD600         EQU 115200/600
BAUD1200        EQU 115200/1200
BAUD2400        EQU 115200/2400
BAUD4800        EQU 115200/4800
BAUD9600        EQU 115200/9600
BAUD19200       EQU 115200/19200
BAUD38400       EQU 115200/38400
BAUD57600       EQU 115200/57600
BAUD115200      EQU 115200/115200

; ®¤­®áâà ­¨ç­ë© ⥪á⬮¤
LSYM            EQU 0x01C0                      ; ᬥ饭¨¥ ¢ áâà ­¨æ¥ ­ ç «  «¥¢ëå ᨬ¢®«®¢ ⥪á⬮¤ 
LATTR           EQU 0x31C0                      ; ᬥ饭¨¥ ¢ áâà ­¨æ¥ ­ ç «  «¥¢ëå  âਡã⮢ ᨬ¢®«®¢
RSYM            EQU 0x11C0                      ; ᬥ饭¨¥ ¢ áâà ­¨æ¥ ­ ç «  ¯à ¢ëå ᨬ¢®«®¢ ⥪á⬮¤ 
RATTR           EQU 0x21C1                      ; ᬥ饭¨¥ ¢ áâà ­¨æ¥ ­ ç «  ¯à ¢ëå  âਡã⮢ ᨬ¢®«®¢

; ATM ⥪á⬮¤
ALSYM           EQU 0x01C0                      ; ᬥ饭¨¥ ¢ áâà ­¨æ¥ ­ ç «  «¥¢ëå ᨬ¢®«®¢ ⥪á⬮¤ 
ALATTR          EQU 0x21C0                      ; ᬥ饭¨¥ ¢ áâà ­¨æ¥ ­ ç «  «¥¢ëå  âਡã⮢ ᨬ¢®«®¢
ARSYM           EQU 0x21C0                      ; ᬥ饭¨¥ ¢ áâà ­¨æ¥ ­ ç «  ¯à ¢ëå ᨬ¢®«®¢ ⥪á⬮¤ 
ARATTR          EQU 0x01C1                      ; ᬥ饭¨¥ ¢ áâà ­¨æ¥ ­ ç «  ¯à ¢ëå  âਡã⮢ ᨬ¢®«®¢

; æ¢¥â  ¨ ïમáâ¨
BLACK           EQU 0
BLUE            EQU 1
RED             EQU 2
MAGENTA         EQU 3
GREEN           EQU 4
CYAN            EQU 5
YELLOW          EQU 6
WHITE           EQU 7
BR_INK          EQU 0x40
BR_PAPER        EQU 0x80

; æ¢¥â  ¤«ï ATM ¢¨¤¥®à¥¦¨¬®¢
 BITMASK G_L,           7
 BITMASK G_H,           4
 BITMASK R_L,           6
 BITMASK R_H,           1
 BITMASK B_L,           5
 BITMASK B_H,           0

; ¬ áª  ¯®àâ  7FFD
 BITMASK ZX_SCREEN,     3
 BITMASK ZX_ROM,        4

; ¬ áª  ¯®àâ  0xBF
 BITMASK BREAK_BF,      4                       ; ¡¨â à §à¥è¥­¨ï áà ¡ â뢠­¨ï BREAK ­   ¤à¥á¥
 BITMASK NMI_BF,        3                       ; ¡¨â £¥­¥à æ¨¨ NMI
 BITMASK FONT_BF,       2                       ; ¡¨â à §à¥è¥­¨ï ¨§¬¥­¥­¨ï èà¨äâ 
 BITMASK FLASH_BF,      1                       ; ¡¨â à §à¥è¥­¨ï ¯à®£à ¬¬¨à®¢ ­¨ï FLASH
 BITMASK SHADOW_BF,     0                       ; ¡¨â à §à¥è¥­¨ï ¤®áâ㯠 ª ⥭¥¢ë¬ ¯®àâ ¬

; ¬ áª  ¯®àâ  0xEFF7
 BITMASK PENT_CMOS,     7                       ; ¡¨â à §à¥è¥­¨ï ¤®áâ㯠 ª ª¬®áã
 BITMASK PENT_TURBO,    4                       ; âã࡮०¨¬ ¯¥­â £®­ 

; ¬ áª¨ ०¨¬®¢
MEMORY_ALL      EQU %00010000                   ; ¤®áâ㯠ª ¯¥à¢®¬ã ¬¥£ ¡ ©âã ç¥à¥§ ¯®àâ 0xEFF7
MEMORY_48       EQU %00100000                   ; ¤®áâ㯥­ ⮫쪮 48Kb ¯ ¬ïâ¨
MEMORY_128      EQU %00110000                   ; ¤®áâ㯭® ⮫쪮 128Kb ¯ ¬ïâ¨
TURBO_3         EQU %01000000                   ; ç áâ®â  ¯à®æ¥áá®à  3,5 Œƒæ
TURBO_7         EQU %10000000                   ; ç áâ®â  ¯à®æ¥áá®à  7 Œƒæ
TURBO_14        EQU %11000000                   ; ç áâ®â  ¯à®æ¥áá®à  14 Œƒæ
NUM_EGA         EQU %00000000                   ; ­®¬¥à ¢¨¤¥®à¥¦¨¬  ¤«ï ATM ¯®àâ  (EGA ŒŽ„ 320*200)
NUM_APPMULTI    EQU %00000010                   ; ­®¬¥à ¢¨¤¥®à¥¦¨¬  ¤«ï ATM ¯®àâ  (€€€’›‰ Œ“‹œ’ˆŠŽ‹Ž 640*200)
NUM_ZXSCR       EQU %00000011                   ; ­®¬¥à ¢¨¤¥®à¥¦¨¬  ¤«ï ATM ¯®àâ  (ZX SCREEN 6912)
NUM_TXTATM      EQU %00000110                   ; ­®¬¥à ¢¨¤¥®à¥¦¨¬  ¤«ï ATM ¯®àâ  (ATM ⥪á⬮¤ 80*25)
NUM_TXTSCR      EQU %00000111                   ; ­®¬¥à ¢¨¤¥®à¥¦¨¬  ¤«ï ATM ¯®àâ  (®¤­®áâà ­¨ç­ë© ⥪á⬮¤ 80*25)

SET_VIDEOMODE   EQU %00001000

; ­®¬¥à  ¢¨¤¥®à¥¦¨¬®¢ á ¬ áª®© ¤«ï § ¯¨á¨ ¢ ¯®àâ
V_EGA           EQU NUM_EGA      | 0xA0
V_APPMULTI      EQU NUM_APPMULTI | 0xA0
V_ZXSCR         EQU NUM_ZXSCR    | 0xA0
V_TXTATM        EQU NUM_TXTATM   | 0xA0
V_TXT1PAGE      EQU NUM_TXTSCR   | 0xA0

; ¬ áª¨ ®â« ¤ç¨ª 
 BITMASK DBG_ACTIV,     7                       ;  ªâ¨¢¥­ ®â« ¤ç¨ª
 BITMASK TRACE_DBG,     6                       ; âà áá¨à®¢ª 
 BITMASK STEP_DBG,      5                       ; ¯®è £®¢ ï ®â« ¤ª 
; BITMASK CASH_INST,    4                       ; ãáâ ­®¢«¥­ CASH REMEMBER
; BITMASK CASH_ACTIV,   3                       ;  ªâ¨¢¥­ CASH REMEMBER

; ᬥ饭¨ï FDI ®¡à § 
FDI_TABLE_CYL   EQU 0x4000                      ;  ¤à¥á â ¡«¨æë ­ ç « ¤®à®¦¥ª ¢ ®¡à §¥
FDI_PAGE_START  EQU 0x40FF                      ; ᬥ饭¨¥ ¢ áâà ­¨æ å ­ ç «  ᥪâ®à®¢ ®¡à § 
FDI_BYTE_SMESH  EQU 0x41FE                      ; ᬥ饭¨¥ ¢ ¡ ©â å ­ ç «  ®¡à §  § £à㦥­­®£® ¢ à ¬¤¨áª
FDI_BLOCK_SMESH EQU 0x41FF                      ; ᬥ饭¨¥ ¢ ¡«®ª å (¯® 256 ¡ ©â) ­ ç «  ᥪâ®à®¢ ®¡à § 
FDI_IMAGE1SECT  EQU 0x4400                      ;  ¤à¥á § £à㧪¨ ¯¥à¢®£® ᥪâ®à  ¤«ï ®¯à¥¤¥«¥­¨ï ᬥ饭¨ï

; ï祩ª¨ ¢ CMOS
 INIT_VAR
 SETVAR _CMOS_SECOND                            ; ᥪ㭤ë
 SETVAR _CMOS_SECOND_AL                         ; á¥ªã­¤ë ¡ã¤¨«ì­¨ª 
 SETVAR _CMOS_MINUTE                            ; ¬¨­ãâë
 SETVAR _CMOS_MINUTE_AL                         ; ¬¨­ãâë ¡ã¤¨«ì­¨ª 
 SETVAR _CMOS_HOUR                              ; ç áë
 SETVAR _CMOS_HOUR_AL                           ; ç áë ¡ã¤¨«ì­¨ª 
 SETVAR _CMOS_DAY                               ; ¤¥­ì ­¥¤¥«¨
 SETVAR _CMOS_DAY_MONTH                         ; ¤¥­ì ¬¥áïæ 
 SETVAR _CMOS_MONTH                             ; ¬¥áïæ
 SETVAR _CMOS_YEAR                              ; £®¤

; ­®¬¥à  ï祥ª CMOS ¨ ¨å ᮤ¥à¦¨¬®¥
CRCCMOSHIGH     EQU 0xEF                        ; áâ à訩 ¡ ©â CRC CMOS
CRCCMOSLOW      EQU 0xEE                        ; ¬« ¤è¨© ¡ ©â CRC CMOS
CMOS_BYTE_00    EQU 0xED                        ;  ¤à¥á åà ­¥­¨ï ¢ CMOS
CMOS_BYTE_01    EQU 0xEC                        ;  ¤à¥á åà ­¥­¨ï ¢ CMOS
VIRT_REAL_DRIVE EQU 0xEB                        ; åà ­¥­¨¥ ­®¬¥à  ॠ«ì­®£® ¨ ¢¨àâã «ì­®£® ¤¨áª®¢®¤ , ⨯ DOS
HDD_TIMEOUT     EQU 0xEA                        ; § ¤¥à¦ª  ®¯à¥¤¥­¨ï ­ «¨ç¨ï ¢¨­â  ¯®á«¥ ¢ª«î祭¨ï ¯¨â ­¨ï
CMOS_BYTE_02    EQU 0xE9                        ;  ¤à¥á åà ­¥­¨ï ¢ CMOS
CMOS_BYTE_03    EQU 0xE8                        ;  ¤à¥á åà ­¥­¨ï ¢ CMOS

; ï祩ª  CMOS 0xED CMOS_BYTE_00
 BITMASK TURBO14,       7                       ; à §à¥è¥­¨¥ ¢ª«î祭¨ï TURBO 14MHZ
 BITMASK EMUL_TAPE,     6                       ; à §à¥è¥­¨¥ í¬ã«ï樨 § £à㧪¨ á «¥­âë
 BITMASK PRINTER_AY,    5                       ; à §à¥è¥­¨¥ ¯®¤¬¥­ë ¤à ©¢¥à  ¯¥ç â¨ ¢ BASIC48
 BITMASK RELOAD_FONT,   4                       ; à §à¥è¥­¨¥ ¯¥à¥§ £à㧪¨ èà¨äâ  ¯à¨ á¡à®á¥
 BITMASK TYPE_FONT,     3                       ; ¢ë¡®à ª®¤¨à®¢ª¨ èà¨äâ 
 BITMASK AUTO_TAPE,     2                       ;  ¢â®§ ¯ã᪠TAP ä ©«®¢

; ­®¬¥à  á¡à®á®¢, ¡¨âë 1-0 ï祩ª¨ 0xED (CMOS_BYTE_00)
 INIT_VAR
 SETVAR RESET2EVOSERV                           ; á¡à®á ¢ EVO SERVICE
 SETVAR RESET2GLUK                              ; á¡à®á ¢ GLUK SERVICE
 SETVAR RESET2PROFROM                           ; á¡à®á ¢ PROFROM
 SETVAR RESET2CUSTOM                            ; á¡à®á ¢ CUSTOM ROM

; ï祩ª  CMOS 0xEC CMOS_BYTE_01
 BITMASK TURBO357,      7                       ; âãà¡® ०¨¬ 3,5 ¨«¨ 7 Œ£æ
 BITMASK SD_NGS_ONOFF,  6                       ; ¢ª«î祭¨¥/¢ëª«î祭¨¥ ¤®áâ㯠 ª SD Š€’… NEOGS
 BITMASK AUTOMOUNT,     5                       ; ¢ª«/¢ëª«  ¢â®¬®­â¨à®¢ ­¨ï ¨§ ä ©« 
 BITMASK CLOCK_VIEW,    4                       ; åà ­¥­¨¥ ®â®¡à ¦¥­¨¥ ç á®¢
 BITMASK SOUNDKEYS,     3                       ; à §à¥è¥­¨¥ ®§¢ã稢 ­¨ï ­ ¦ âëå ª« ¢¨è
 BITMASK REZIDENT,      2                       ; à §à¥è¥­¨¥ ¯à®¢¥àª¨ ­ «¨ç¨ï १¨¤¥­â 

; ­®¬¥à  ¬®¤¥«¥© ¯ ¬ïâ¨, ¡¨âë 1-0 ï祩ª¨ 0xEC (CMOS_BYTE_01)
 INIT_VAR
 SETVAR _1MB                                    ; ¯ ¬ïâì 1 Œ¡
 SETVAR _48K                                    ; ¯ ¬ïâì 48 Š¡
 SETVAR _128K                                   ; ¯ ¬ïâì 128 Š¡

KOL_MODES       EQU 4                           ; ª®«¨ç¥á⢮ ०¨¬®¢ á¡à®á 
MKOL_MODES      EQU %00000011                   ; ¬ áª  ¤«ï ª®«¨ç¥á⢠ ०¨¬®¢ á¡à®á 

; ï祩ª  CMOS 0xEB
 BITMASK ACCESSZCSD,    7                       ; à §à¥è¥­¨¥ ¤®áâ㯠 ª ZC SD CARD
 BITMASK ACCESSSDG,     6                       ; à §à¥è¥­¨ï ¤®áâ㯠 ª SD ª à⥠NEOGS
 BITMASK ACCESSHDDM,    5                       ; à §à¥è¥­¨¥ ¤®áâ㯠 ª HDD MASTER
 BITMASK ACCESSHDDS,    4                       ; à §à¥è¥­¨¥ ¤®áâ㯠 ª HDD SLAVE
_REAL_DRIVE     EQU %00001100                   ; ¬ áª  ­®¬¥à  ॠ«ì­®£® ¤¨áª®¢®¤ 
_VIRT_DRIVE     EQU %00000011                   ; ¬ áª  ­®¬¥à  ¢¨àâã «ì­®£® ¤¨áª®¢®¤ 

; ï祩ª  CMOS 0xE9
 BITMASK AUTOBOOT,      7                       ;  ¢â®áâ àâ § £à㦠¥¬®£® ãáâனá⢠
BOOTDEVICE      EQU %00000011                   ; ­®¬¥à § £à㦠¥¬®£® ãáâனá⢠

; ï祩ª  CMOS 0xE8
 BITMASK KILL_REZIDENT, 7                       ; ¨§¬¥­¥­¨¥ १¨¤¥­â  ¯¥à¥¤ § ¯ã᪮¬

; ­®¬¥à  § £à㦠¥¬ëå ãáâனáâ¢
 INIT_VAR
 SETVAR _FDD                                    ; ¤¨áª®¢®¤
 SETVAR _HDD                                    ; ¢¨­ç¥áâ¥à
 SETVAR _SD                                     ; SD ª àâ 

_SD_NONE        EQU 0x80                        ; ¯à¨§­ ª ­¥ ¢áâ ¢«¥­­®© ª àâë

; ¯¥à¥¬¥­­ë¥ ¤«ï 0 ®ª­  ¯à®¥æ¨à®¢ ­¨ï
DEBUG_ONOFF     EQU 0x0013                      ; ¢ª«/¢ëª« ®â« ¤ç¨ª 
ADR_SEL_ROM     EQU 0x0014                      ;  ¤à¥á ¯¥à¥ª«î祭¨ï áâà ­¨æ ROM
CONT_RST8       EQU 0x002C                      ;  ¤à¥á ¯à®¤®«¦¥­¨ï ®¡à ¡®âª¨ RST 8
CONTINUE_MAGIC  EQU 0x0034                      ;  ¤à¥á ¯¥à¥å®¤  ¯à®¤®«¦¥­¨ï ®¡à ¡®â稪  MAGIC
ADR_PERFECT     EQU 0x0036                      ;  ¤à¥á à á¯®«®¦¥­¨ï PERFECT COMANDER
EI_RET          EQU 0x003E                      ;  ¤à¥á à á¯®«®¦¥­¨ï EI:RET
UNP_DOS_FE      EQU 0x0040                      ;  ¤à¥á à á¯ ª®¢é¨ª  DOS FE
UNP_SONGLN      EQU 0x0043                      ;  ¤à¥á à á¯ ª®¢ª¨ SONGLINES
UNPACK          EQU 0x0080                      ;  ¤à¥á à á¯ ª®¢é¨ª 
_BIOS_JUMPS     EQU 0x0100                      ;  ¤à¥á ­ ç «  â ¡«¨æë ¯¥à¥å®¤®¢ ¢ ¤à ©¢¥àë ¤¥¢ ©á®¢
ADRBRK_EMUTAP   EQU 0x0569                      ;  ¤à¥á ãáâ ­®¢ª¨ ¡à猪 ¤«ï í¬ã«ï樨 § £à㧪¨ TAP
START_STS       EQU 0xC000                      ;  ¤à¥á ¢å®¤  ¢ ®â« ¤ç¨ª
ADR_RST8END     EQU 0x3CE8                      ;  ¤à¥á ¢®§¢à â  ¨§ RST 8
ICALL2PAGE      EQU 0x8000                      ;  ¤à¥á ¢ë§ë¢®¢ ª®¤  ¨§ ¤à㣮© áâà ­¨æë

 INIT_VAR
 SETVAR OFFSET_FNTSAVE,         0x800           ; ᬥ饭¨¥ ¢ áâà ­¨æ¥ ¤«ï á®åà ­¥­¨ï áç¨â ­­®£® èà¨äâ 
 SETVAR OFFSET_BUFSYM,          0x800           ; ᬥ饭¨¥ ¢ áâà ­¨æ¥ ⥪ã饣® èà¨äâ 
 SETVAR OFFSET_SCRSAVE,         0x1B00          ; ᬥ饭¨¥ ¢ áâà ­¨æ¥ ¤«ï á®åà ­¥­¨ï íªà ­ 
 SETVAR OFFSET_USBDRV,          0               ; ??? ᬥ饭¨¥ ¤® ­ ç «  USB ¤à ©¢¥à 

BUF_512         EQU CPU3-0x200                  ; ¡ãä¥à ᥪâ®à 
BUF_TABLVOL     EQU BUF_512-0x100               ; ¡ãä¥à â ¡«¨æë ­ ©¤¥­­ëå à §¤¥«®¢
BUF_TEKVOL      EQU BUF_TABLVOL-0x100           ; ¡ãä¥à ¢ë¡à ­­®£® à §¤¥« 
BUF_TDIRCLS     EQU BUF_TEKVOL-0x800            ; ¡ãä¥à ª« áâ¥à®¢ ⥪ã饩 ¤¨à¥ªâ®à¨¨
BUF_256         EQU BUF_TDIRCLS-0x100           ; ¡ãä¥à 256 ¡ ©â ¤«ï ¯¥à¥­®á®¢
BUF_PATH        EQU BUF_256-0x100               ; ¡ãä¥à ⥪ã饣® ¯ãâ¨
MOUNT_DRIVES    EQU BUF_PATH-0x100              ; ¡ãä¥à ®¯¨á â¥«¥© ¯à¨¬®­â¨à®¢ ­­ëå ä ©«®¢
BUF_LEVELDIR    EQU MOUNT_DRIVES-0x100          ; ¡ãä¥à á®åà ­¥­¨ï ¯®§¨æ¨© ®ª®­ ¯à¨ ¯¥à¥å®¤ å ¯® ¤¨à¥ªâ®à¨ï¬
BUF_WINPATH     EQU BUF_LEVELDIR-0x400          ; ¡ãä¥à á®åà ­¥­¨ï ¯®§¨æ¨© ¢ ®ª­¥ ¯à¨ 宦¤¥­¨¨ ¯® ¤¨à¥ªâ®à¨ï¬

; ¯¥à¥¬¥­­ë¥ ¤«ï ¬¥­¥¤¦¥à  ãáâனáâ¢
 INIT_VAR BUF_TABLVOL + 0xE0
 SETVAR DEVICES,                0x10            ; ᯨ᮪ ®¡­ à㦥­­ëå ¤¥¢ ©á®¢
 SETVAR GO_DEV,                 WORD            ;  ¤à¥á ¢ë§®¢  ¤à ©¢¥à  ãáâனá⢠
 SETVAR KOLDVOL,                BYTE            ; ª®«¨ç¥á⢮ ­ ©¤¥­­ëå à §¤¥«®¢
 SETVAR SETDVOL,                BYTE            ; ­®¬¥à ¢ë¡à ­­®£® à §¤¥« 
 SETVAR ADRTEKV,                WORD            ;  ¤à¥á ®¯¨á â¥«ï ⥪ã饣® à §¤¥« 
 SETVAR SAVE_TEK_VOL,           BYTE            ; ¢à¥¬¥­­®¥ á®åà ­¥­¨¥ ⥪ã饣® à §¤¥« 
 SETVAR TEK_TYPE,               BYTE            ; ¢à¥¬¥­­®¥ åà ­¥­¨¥ ⨯  ⥪ã饣® ãáâனá⢠
 SETVAR FLAGS_DRV,              BYTE            ; ä« £®¢ë© ¡ ©â ¤à ©¢¥à®¢
;7 =0-¤à ©¢¥à SD ª àâë NEOGS ­¥ ãáâ ­®¢«¥­, =1-ãáâ ­®¢«¥­
;6
;5
;4
;3
;2
;1 =0-SD ZC ª àâ  ­¥ ®¡­ à㦥­ , 1-®¡­ à㦥­ 
;0 =0-SD NeoGS ­¥ ®¡­ à㦥­ , 1-®¡­ à㦥­ 
CRC_DRVS        EQU BUF_TABLVOL + 0xFE          ; ª®­â஫쭠ï á㬬  â ¡«¨æë ­ ©¤¥­­ëå à §¤¥«®¢

; ¯¥à¥¬¥­­ë¥ ¤«ï 1 ®ª­  ¯à®¥æ¨à®¢ ­¨ï
 INIT_VAR
 SETVAR BUF_ALLVOL,             0x1000          ; ¡ãä¥à ¯¥à¥¬¥­­ëå ¤«ï ¢á¥å à §¤¥«®¢ (16 MAX)
 SETVAR MOUNT_CLS,              0x1000          ; ¡ãä¥à ª« áâ¥à®¢ ¯à¨¬®­â¨à®¢ ­­ëå ä ©«®¢
 SETVAR TEK_BUFPATH,            0x1000          ; ¡ãä¥à ⥪ãé¨å ¯ã⥩ ­  à §¤¥« å
 SETVAR BUF_PATHMOUNT,          0x400           ; ¡ãä¥à ¯ã⥩ ¤«ï ¯®¨áª  ¯à¨¬®­â¨à®¢ ­­ëå ä ©«®¢
 SETVAR BUF_DIRCEP,             0x100           ; ¡ãä¥à 楯®çª¨ ⥪ã饩 ¤¨à¥ªâ®à¨¨
 SETVAR BUF_TEMPSEC,            0x200           ; ¡ãä¥à ᥪâ®à  ¤«ï § £à㧪¨ ®¡à §®¢