common_includes/bios_sp.a80

166 lines
8.1 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

; LAST UPDATE: 07.05.2025 savelij
; ‚ë§®¢ ä㭪権
TOBIOS EQU 0x08 ; ¤«ï ¢ë§®¢  ¨§ އ“ ¢ SLOT0 (­ ¯à¨¬¥à ¨§ DSS)
TOBIOS_18 EQU 0x18 ; ¤«ï ¢ë§®¢  ¨§ 8-© áâà ­¨æë <20>‡“ ¢ SLOT0
TOBIOS_3D13 EQU 0x3D13 ; ¤«ï ¢ë§®¢  ¨§ 8-© áâà ­¨æë <20>‡“ ¢ SLOT0
TOBIOS_FROMEXT EQU 0x3FD0 ; ¤«ï ¢ë§®¢  ¨§ 0-© áâà ­¨æë <20>‡“ ¢ SLOT0
BIOSF
; ”㭪樨 à ¡®âë á ¯ ¬ïâìî
.GETMEMSIZE EQU 0xC0 ; Ž¯à¥¤¥«¥­¨¥ ®¡ê¥¬®¢ އ“
.INITMEM EQU 0xC1 ; ˆ­¨æ¨ «¨§ æ¨ï à á¯à¥¤¥«¥­¨ï ¯ ¬ïâ¨
.GETMEM EQU 0xC2 ; ‚뤥«¥­¨¥ ¡«®ª  އ“
.FREEMEM EQU 0xC3 ; Žá¢®¡®¤¨âì ¡«®ª އ“
.GETMEMPAGE EQU 0xC4 ; <20>®«ãç¨âì 䨧¨ç¥áª¨© ­®¬¥à áâà ­¨æë ¨§ ¡«®ª  ¯ ¬ïâ¨
.GETMEMBLKPAGES EQU 0xC5 ; <20>®«ãç¨âì ᯨ᮪ 䨧¨ç¥áª¨å áâà ­¨æ ¡«®ª 
.GETBANKSPORTS EQU 0xC6 ; <20>®«ã祭¨¥  ¤à¥á®¢ ¯®à⮢ ®ª®­
.GETMEMPAGENEXT EQU 0xC7 ; <20>®«ãç¨âì ­®¬¥à á«¥¤ãî饩 áâà ­¨æë ¡«®ª 
.MERGEMEMBLOCKS EQU 0x9E ; ‘«¨ï­¨¥ ¡«®ª®¢
.DIVMEMBLOCKS EQU 0x9D ; <20> §¤¥«¥­¨¥ ¡«®ª 
.GET_RAMD_NUM EQU 0x9B ; <20>®«ãç¨âì ­®¬¥à RAM-Disk-  (0..15) ¯® ¥£® block id
.SWAP_RAM_DRIVES EQU 0x9C ; C¬¥­¨âì ­ ¡®à à ¬¤¨áª®¢ ZX <-> Sp2000
; <20> ¡®â  á ¡«®ª ¬¨ އ“, ª ª á RAM-Disks
.BLK_RD_WR EQU 0xC8 ; —⥭¨¥/§ ¯¨áì ¨§/¢ ¡«®ª ¯ ¬ï⨠ᥪâ®à ¬¨ ¯® 256 ¡ ©â
.GETMEMRMD EQU 0x92 ; <20>®«ãç¨âì ¡«®ª ¯ ¬ï⨠N bytes ¤«ï RAM-Disk' 
.FREEMEMRMD EQU 0x93 ; Žá¢®¡®¤¨âì ¡«®ª ¯ ¬ï⨠¤«ï RAM-Disk' 
.GETMEMPAGERMD EQU 0x94 ; <20>®«ãç¨âì 䨧¨ç¥áª¨© ­®¬¥à áâà ­¨æë RAM-Disk' 
.RAMD_CALC_PAGE EQU 0x98 ; ‚ëç¨á«¥­¨¥ áâà ­¨æë ¨  ¤à¥á  ¢ RAM-Disk ¯®  ¡á®«îâ­®¬ã ­®¬¥àã ᥪâ®à 
.BLK_TO_RAMD EQU 0xC9 ; <20> §­ ç¨âì ¡«®ª ¯ ¬ï⨠RAM-Disk-ã
.RAMD_CLEAR EQU 0xCA ; Žá¢®¡®¤¨âì RAM-Disk
.GET_RAMD_ST EQU 0xCE ; <20>®«ã祭¨¥ ¨¤¥­â¨ä¨ª â®à  ¡«®ª , ­ §­ ç¥­­®£® ­  RAM-Disk
; “¯à ¢«¥­¨¥ ­ §­ ç¥­¨¥¬ ­  ¤¨áª®¢®¤ë
.SET_DISK_REDIR EQU 0x99 ; <20> §­ ç¥­¨¥ ­  ⥪ã騩 «®£¨ç¥áª¨© ¤¨áª®¢®¤ TR-DOS § ¤ ­­®£® ¤à ©¢  (áâ à ï äã­ªæ¨ï ¤«ï TR-DOS!)
.GET_DISK_REDIR EQU 0x9A ; <20>®«ãç¨âì ⨯ ­ §­ ç¥­¨ï ­  ⥪ã騩 «®£¨ç¥áª¨© ¤¨áª®¢®¤ TR-DOS (áâ à ï äã­ªæ¨ï ¤«ï TR-DOS!)
.RAMD_TO_DRV EQU 0xCB ; <20> §­ ç¥­¨¥ RAM-Disk ­  ¤¨áª®¢®¤ TR-DOS
.FDD_TO_DRV EQU 0xCC ; <20> §­ ç¥­¨¥ 䨧¨ç¥áª®£® ¤¨áª®¢®¤  ­  «®£¨ç¥áª¨© TR-DOS
.HDD_TO_DRV EQU 0xCD ; <20> §­ ç¥­¨¥ ¢¨­ç¥áâ¥à  ­  ¤¨áª®¢®¤ TR-DOS
.GET_DRV_ST EQU 0xCF ; <20>®«ãç¨âì ⨯ ­ §­ ç¥­¨ï ­  «®£¨ç¥áª¨© ¤¨áª®¢®¤ TR-DOS
; ”㭪樨 ã¯à ¢«¥­¨ï ®ª­ ¬¨ ¨ ०¨¬ ¬¨ íªà ­ 
.WIN_OPEN EQU 0xB0 ; ”ã­ªæ¨ï ®âªàëâ¨ï ®ª­ 
.WIN_CLOSE EQU 0xB1 ; ‡ ªàë⨥ ®ª­ 
.WIN_COPY EQU 0xB2 ; Š®¯¨à®¢ ­¨¥ ¤ ­­ëå ⥪á⮢®£® ®ª­  ¢ ¯ ¬ïâì (§ ¯®¬¨­ ­¨¥ ®ª­ )
.WIN_RESTORE EQU 0xB3 ; Š®¯¨à®¢ ­¨¥ ¨§ ¯ ¬ï⨠¢ ⥪á⮢®¥ ®ª­® (¢®ááâ ­®¢«¥­¨¥ ®ª­ )
.WIN_GET_SYM EQU 0xB4 ; ‚§ïâì ᨬ¢®« á íªà ­ 
.WIN_PUT_SYM EQU 0xB5 ; <20>®«®¦¨âì ᨬ¢®« ­  íªà ­
.WIN_SET_ZG EQU 0xB6 ; “áâ ­®¢ª  §­ ª®£¥­¥à â®à 
.WIN_MOVE EQU 0xB7 ; <20>¥à¥¬¥é¥­¨¥ ®ª­ 
.WIN_GET_ZG EQU 0xB8 ; <20>®«ã祭¨¥ §­ ª®£¥­¥à â®à 
; ”㭪樨 ¢ë¢®¤  ⥪áâ  ­  íªà ­
.LP_OPEN_S EQU 0x80 ; Žâªàë⨥ áâ ­¤ àâ­ëå ®ª®­
.LP_PRINT_ALL EQU 0x81 ; <20>¥ç âì ᨬ¢®«®¢ á  âਡã⮬
.LP_PRINT_SYM EQU 0x82 ; ‚뢮¤ ᨬ¢®«®¢ ­  íªà ­ ¡¥§  âਡãâ 
.LP_PRINT_ATR EQU 0x83 ; ¯¥ç âì  âਡã⮢
.LP_SET_PLACE EQU 0x84 ; “áâ ­®¢ª  ⥪ã饣® §­ ª®¬¥áâ  ¢ ®ª­¥
.LP_PRINT_LN EQU 0x85 ; ‚뢮¤ áâப¨ ᨬ¢®«®¢ ­  íªà ­ á ⥪ã饣® §­ ª®¬¥áâ 
.LP_PRINT_LN2 EQU 0x86 ; ‚뢮¤ áâப¨ ᨬ¢®«®¢ ­  íªà ­ ¡¥§  âਡã⮢
.LP_PRINT_LN3 EQU 0x87 ; ‚뢮¤ áâப¨ ᨬ¢®«®¢ ¤® à §¤¥«¨â¥«ï
.LP_PRINT_LN4 EQU 0x88 ; ‚뢮¤ áâப¨ ᨬ¢®«®¢ ¤® à §¤¥«¨â¥«ï, ¡¥§  âਡã⮢
.LP_CLS_WIN EQU 0x89 ; Žç¨á⪠ íªà ­ 
.LP_SCROLL_UD EQU 0x8A ; ‘ªà®««¨­£ ç á⨠£«®¡ «ì­®£® ®ª­  ¢¢¥àå/¢­¨§
.LP_PRINT_LN5 EQU 0x8B ; ‚뢮¤ áâப¨ ᨬ¢®«®¢ ­  íªà ­ ¤® à §¤¥«¨â¥«ï
.LP_PRINT_LN6 EQU 0x8C ; ‚뢮¤ áâப¨ ᨬ¢®«®¢ ­  íªà ­ ¤® à §¤¥«¨â¥«ï ¡¥§  âਡã⮢
.LP_CLS_WIN2 EQU 0x8D ; Žç¨á⪠ íªà ­  á 㪠§ ­¨¥¬ ᨬ¢®«  § ¯®«­¥­¨ï
.LP_GET_PLACE EQU 0x8E ; <20>®«ãç¨âì ⥪ã饥 ¯®«®¦¥­¨¥ ¢ë¢®¤  ­  íªà ­
.LP_PR_LINE_DIR EQU 0xE0 ; !TODO ­¥¤®¤¥« ­ . <20>¥ç âì "¢ ª®­á®«ì" ¤® à §¤¥«¨â¥«ï
; ƒà ä¨ç¥áª¨¥ ä㭪樨
.PIC_POINT EQU 0xA1 ; “áâ ­®¢¨âì â®çªã
.PIC_SET_PAL EQU 0xA4 ; “áâ ­®¢ª  ¯ «¨âàë
.PIC_GET_PAL EQU 0xA4 ; —⥭¨¥ ¯ «¨âàë (­®¬¥à â ª®© ¦¥ ª ª ã .PIC_SET_PAL)
.SET_PAL_INIT EQU 0xA6 ; “áâ ­®¢ª  ¢­ãâ७­¥© ¯ «¨âàë
; <20> ¡®â  á HDD (fast)
.HDD_INIT EQU 0x40 ; ˆ­¨æ¨ «¨§ æ¨ï ¢¨­ç¥áâ¥à 
.HDD_RECAL EQU 0x41 ; <20>¥ª «¨¡à®¢ª  ¢¨­ç¥áâ¥à 
.HDD_TEST_IDE EQU 0x42 ; ’¥áâ ­ «¨ç¨ï ¨­â¥àä¥©á  IDE
.HDD_PREPARE EQU 0x43 ; <20>®¤£®â®¢ª  ¢¨­ç¥áâ¥à  ª ®¯¥à æ¨¨ ç⥭¨ï/§ ¯¨á¨
.HDD_READ_BPB EQU 0x44 ; —¨â âì BPB ¯¥à¢®£® à §¤¥« 
.HDD_READ EQU 0x45 ; —¨â âì ᥪâ®à  á ¢¨­ç¥áâ¥à 
.HDD_WRITE EQU 0x46 ; <20>¨á âì ᥪâ®à  ­  ¢¨­ç¥áâ¥à
.HDD_PART EQU 0x47 ; <20> áâனª  ¯ àâ¨æ¨© ¨ master/slave
.HDD_READ_NEXT EQU 0x48 ; —¨â âì á«¥¤ãî騩 ᥪâ®à (ONLY FOR LBA!)
; ”㭪樨 à ¡®âë á ¦¥á⪨¬¨ ¤¨áª ¬¨ ¨ ¤¨áª®¢®¤ ¬¨
.DRV_RESET EQU 0x51 ; ‘¡à®á ª®­â஫«¥à  ¨ ­ áâனª  ­  ¤¨áª
.DRV_READ_LONG EQU 0x52 ; —⥭¨¥ á ãáâனá⢠¢ 㪠§ ­­ãî áâà ­¨æã
.DRV_WRITE_LONG EQU 0x53 ; ‡ ¯¨áì ­  ãáâனá⢠ ¢ 㪠§ ­­ãî áâà ­¨æã
.DRV_VERIFY EQU 0x54 ; <20>஢¥àª  ᥪâ®à®¢
.DRV_READ EQU 0x55 ; —⥭¨¥ á ãáâனá⢠
.DRV_WRITE EQU 0x56 ; ‡ ¯¨áì ­  ãáâனá⢠
.DRV_DETECT EQU 0x57 ; Ž¯à¥¤¥«¥­¨¥ ¯ à ¬¥â஢ ãáâனá⢠
.DRV_GET_PAR EQU 0x58 ; <20>®«ãç¨âì ¯ à ¬¥âàë ­®á¨â¥«ï
.DRV_SET_PAR EQU 0x59 ; “áâ ­®¢¨âì ¯ à ¬¥âàë ­®á¨â¥«ï
.DRV_VERSION EQU 0x5A ; <20>®¬¥à ¢¥àᨨ ¤¨áª®¢®© ᯥæ¨ä¨ª æ¨¨
.DRV_EXTENDED EQU 0x5E ; <20> áè¨à¥­­ë¥ ä㭪樨 ¤«ï ¤à ©¢®¢ ; [x] 21/12/2023
.DRV_LIST EQU 0x5F ; ‘¯¨á®ª ¤¨áª®¢ëå ãáâனáâ¢
; ”㭪樨 ã¯à ¢«¥­¨ï '¦¥«¥§®¬'
.FN_TURBO EQU 0x8F ; ”ã­ªæ¨ï ã¯à ¢«¥­¨ï âãà¡® ०¨¬®¬ ¨ FDD 720/1440
.CheckInit EQU 0x97 ; …᫨ ®¡­ à㦥­ ¯¥à¢ë© áâ àâ, â® ¨­¨æ¨ «¨§ æ¨ï ¢á¥© ¯ ¬ïâ¨, á¨á⥬­ëå ¯¥à¥¬¥­­ëå
.FullInit EQU 0x9F ; ˆ­¨æ¨ «¨§ æ¨ï ¢á¥© ¯ ¬ïâ¨, á¨á⥬­ëå ¯¥à¥¬¥­­ëå
.FN_CRIPT EQU 0xED ; ”ã­ªæ¨ï ¨¤¥­â¨ä¨ª æ¨¨ ¬ â¥à¨­áª®© ¯« âë ¨ ª®­ä¨£ãà æ¨¨
.RST_CONF_AY8910 EQU 0xEE ; „«ï ᮢ¬¥á⨬®á⨠á á®ä⮬ Sp97, ¯¥à¥ª«î祭¨¥ ¢ ª®­äã AY8910
.FN_VERSION EQU 0xEF ; ‚ë¤ ç  ¨­ä®à¬ æ¨¨ ® ¢¥àᨨ BIOS  ¨ ¦¥«¥§ 
.RST_CONF_SP97_1 EQU 0xF0 ; „«ï ᮢ¬¥á⨬®á⨠á á®ä⮬ Sp97, ¯¥à¥ª«î祭¨¥ ¢ ª®­äã Sprinter-1
.RST_CONF_SP97_2 EQU 0xF1 ; „«ï ᮢ¬¥á⨬®á⨠á á®ä⮬ Sp97, ¯¥à¥ª«î祭¨¥ ¢ ª®­äã Sprinter-2
.FN_SYNC EQU 0xF2 ; “áâ ­®¢ª  ᨭåà®­¨§ æ¨¨, ®ç¨á⪠ áâà ­¨æë ०¨¬  íªà ­ 
.RST_CONF_CUSTOM EQU 0xF3 ; <20>¥à¥ª«î祭¨¥ ª®­ä¨£ãà æ¨¨ ¯®«ì§®¢ â¥«ï. SPRINTER_ALL
.DCP_CONFIG EQU 0xF4 ; ”ã­ªæ¨ï ã¯à ¢«¥­¨ï ¤¥è¨äà â®à®¬ ¯®à⮢. ;[x] BIOS 3.05 + ­®¢ ï ¯®¤äã­ªæ¨ï
.CMOS_TEST EQU 0xF5 ; <20>஢¥à¨âì ­ «¨ç¨¥ CMOS
.CMOS_RD EQU 0xF6 ; —¨â âì ¨§ ॣ¨áâà  CMOS
.CMOS_WR EQU 0xF7 ; <20>¨á âì ¢ ॣ¨áâà CMOS
.SET_PORTS EQU 0xF8 ; “áâ ­®¢ª  ¢­ãâ७­¨å ¯®à⮢. ”ã­ªæ¨ï ¢ à §à ¡®âª¥
.READ_PORTS EQU 0xF9 ; —⥭¨¥ ¢­ãâ७­¨å ¯®à⮢. ;[x] 26/01/2024
.GOTO_SPECTRUM EQU 0xFB ; [ ] ¤®ª®¢ëàïâì
.REINIT EQU 0xFD ; [x] restart, soft/hard reset, reinit RAM ID for spectrum pages
SWAP_RAM_DRIVES
.SP2000 EQU 0x00 ; <20>¥¦¨¬ à ¬¤¨áª®¢ Sp2000
.ZX EQU 0xFF ; <20>¥¦¨¬ à ¬¤¨áª®¢ ZX Spectrum mode
.INFO EQU 0xFE ; “§­ âì ª ª®© ०¨¬ <20>€Œ ¤¨áª®¢ ãáâ ­®¢«¥­
FN_TURBO
.OFF EQU 0x02 ;
.ON EQU 0x03 ;
.VG.OFF EQU 0x12 ;
.VG.ON EQU 0x13 ;
FN_VERSION ; ‚ë¤ ç  ¨­ä®à¬ æ¨¨ ® ¢¥àᨨ BIOS  ¨ ¦¥«¥§ . ¡ãä¥à¥ ¡ã¤¥â:
.STR_FIRMWARENAME EQU 1 ; ü ¯®«ï á ­ §¢ ­¨¥¬ ¯à®è¨¢ª¨
.STR_PC_NAME EQU 2 ; ü ¯®«ï á ­ §¢ ­¨¥¬ ª®¬¯ìîâ¥à 
.STR_BITSTREAMVER EQU 3 ; ü ¯®«ï á ¢¥àᨥ© ¡¨âáâਬ  ¢ <20>‡“
REINITMODE
.RESTART EQU 1
.SOFT_RESET EQU 2
.HARD_RESET EQU 3
.SET_ZXPAGES EQU 4
DRV_EXTENDED
.ATAPI_Eject EQU 0x00 ; Žâªàëâì «®â®ª CD
.ATAPI_Close EQU 0x01 ; ‡ ªàëâì «®â®ª CD
.ATAPI_Request_Sense EQU 0x02
.ATAPI_Custom_PCMD EQU 0x03
FN_CRIPT
.BOARDNUMBER EQU 0x01 ; ‚ë¤ ç  ¯®«­®£® Board Number
.ACEXANDBITSTREAM EQU 0x02 ; ‚ë¤ ç  ¬®¤¥«¨ ACEX ¨ ¢¥àᨨ ¡¨âáâਬ  ¢ ROM
LP_VIDEOMODE
.ZX_32X24_DEFAULT EQU 0x00 ; ᯥªâà㬮¢áª®¥ ®ª­® 32x24
.TXT_64X24_DEFAULT EQU 0x01 ; ⥪á⮢®¥ ®ª­® 64x24
.TXT_40X32_DEFAULT EQU 0x02 ; ⥪á⮢®¥ ®ª­® 40x24
.TXT_80X32_DEFAULT EQU 0x03 ; ⥪á⮢®¥ ®ª­® 80x32
.ZX_32X24 EQU 0x04 ; ᯥªâà㬮¢áª®¥ ®ª­®, HL - ¯®«®¦¥­¨¥ ®ª­ 
.TXT_64X24 EQU 0x05 ; ⥪á⮢®¥ ®ª­® 64x24, HL - ¯®«®¦¥­¨¥ ®ª­ 
.TXT_40X32 EQU 0x06 ; ⥪á⮢®¥ ®ª­® 40x32, HL - ¯®«®¦¥­¨¥ ®ª­ 
.TXT_80X32 EQU 0x07 ; ⥪á⮢®¥ ®ª­® 80x32, HL - ¯®«®¦¥­¨¥ ®ª­ 
.GRAF_0 EQU 0x08 ; £à ä¨ç¥áª®¥ ®ª­® 0, HL - ¯®«®¦¥­¨¥ ®ª­ 
.GRAF_1 EQU 0x09 ; £à ä¨ç¥áª®¥ ®ª­® 1, HL - ¯®«®¦¥­¨¥ ®ª­