Sprinter-BIOS/src/bios/rom/_ROM.txt
Anatoliy Belyanskiy 0271ac3713 Creation
2023-06-12 05:56:21 +10:00

119 lines
2.2 KiB
Plaintext

;-----------[#0000 Extended]------------
INCLUDE 'src/bios/rom/EXTENDED/EXTENDED.ASM'
;---------------------------------------
;-------------[#1000 SETUP]-------------
BLOCK #1000-$,#FF
setup_start EQU $
DISP #8000 ;!!!!!!!!!!hardcode
DB "SETUP"
; JR JUMP
DB " (C) 2001 PETERS PLUS LTD "
SETUP_DEPACK:
DI
POP HL
LD SP,#7FFF ;!!!!!!!!!!hardcode
PUSH HL
PUSH AF
LD HL,#8000 ;!!!!!!!!!!hardcode
PUSH HL
LD DE,Depacker_start ;  ¤à¥á ¯à®æ¥¤ãàë ¤¥¯ ª¥à  !!!!!
PUSH DE
LD HL,Depacker
LD BC,Depacker.length
LDIR
LD HL,Depacker.packcode ; £¤¥  à娢
LD DE,COMPILE_ADDR.MAIN ; ªã¤  à á¯ ª®¢ë¢ âì
RET
Depacker:
ENT
DEPACK_CODE:
DISP Depacker_start
; ᤥ« âì âãâ ãá«®¢¨¥ ¤«ï ¨á室­¨ª  ¤¥¯ ª¥à , ç⮡  ¢â®¬ â®¬ ¢ë¡¨à «áï à §­ë©  «£®à¨â¬ § ¯ ª®¢ª¨ ¨ à á¯ ª®¢ª¨
INCLUDE 'src/bios/ROM/SETUP/DEHRUST.ASM'
ENT
DEPACK_CODE.length EQU $-DEPACK_CODE
DISP Depacker+DEPACK_CODE.length
Depacker.packcode:
INCBIN 'Build/Bin/MAIN.PAK'
Depacker.length EQU $-Depacker.packcode+DEPACK_CODE.length
ENT
setup_length EQU $-setup_start
;---------------------------------------
;---------------[SET EXP]---------------
BLOCK #3FD0-$,#FF
; call exp bios from setup
RST18h:
PUSH AF
LD A,D_ROM16OFF ; set exp-rom to bank0
OUT (SYS_PORT_ON),A
POP AF
RET
;---------------------------------------
;-------------[???????????]-------------
BLOCK #3FD8-$,#FF
A3FD8:
JP #0107
;---------------------------------------
;-------------[???????????]-------------
BLOCK #3FE0-$,#FF
A3FE0:
LD A,#00
OUT (SYS_PORT_OFF),A
JP #0000
;---------------------------------------
;-------------[???????????]-------------
BLOCK #3FE8-$,#FF
RET_EXP_ROM:
PUSH AF
LD A,D_ROM16OFF
OUT (SYS_PORT_ON),A
JP #0100
;---------------------------------------
;-------------[???????????]-------------
BLOCK #3FF0-$,255
A3FF0:
PUSH AF
DI
LD A,D_ROM16OFF
OUT (SYS_PORT_OFF),A
JR A3FD8
;---------------------------------------
;-------------[???????????]-------------
A3FF8:
PUSH AF
LD A,#00
OUT (SYS_PORT_OFF),A
JP #0000
;---------------------------------------
A4000:
;=======================================