mirror of
https://github.com/Tolik-Trek/Crazy-Blaster.git
synced 2026-06-15 09:31:37 +03:00
178 lines
4.5 KiB
NASM
178 lines
4.5 KiB
NASM
;
|
||
; MODULE ROM_PART
|
||
;------------[Begin of ROM]-------------
|
||
ROM_START:
|
||
DI
|
||
HALT
|
||
;---------------------------------------
|
||
|
||
;--------------[checksum]---------------
|
||
BLOCK 4-$,#FF
|
||
Check_Sum:
|
||
DB #FF,#FF,#FF,#FF ; ¬¥áâ® ¤«ï ª®â஫쮩 á㬬ë
|
||
;---------------------------------------
|
||
BLOCK #10-$,#FF
|
||
RET
|
||
;---------------------------------------
|
||
|
||
;----------------[int]------------------
|
||
BLOCK #38-$,#FF
|
||
EI
|
||
RETI
|
||
;---------------------------------------
|
||
|
||
;----------------[NMI]------------------
|
||
_mInfoBLOCK #66-$,#FF
|
||
NMI: RETN
|
||
;---------------------------------------
|
||
|
||
|
||
;
|
||
; _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ [___FOR ZX-MODE___] _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ ;
|
||
|
||
;
|
||
;----------------------------[ FOR ZX-MODE ]----------------------------;
|
||
;!HARDCODE íâ®â ¤à¥á #‘0 ¯àë£ ¥â ¢ vROM Basic-48 ¯® ¤à¥áã #3CF0
|
||
; ¬®¦® ¯®¯à®¡®¢ âì ¯¥à¥¤¥« âì íâ®â ¤à¥á â ¬
|
||
_mInfoBLOCK #C0-$,#FF ;!TEST 0
|
||
INCLUDE 'ZX/ZX_FUNC.ASM'
|
||
INCLUDE 'ZX/ZX_MENU.ASM'
|
||
;-----------------------------------------------------------------------;
|
||
; _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ ;
|
||
;
|
||
|
||
|
||
|
||
|
||
;-------------[#1000 SETUP]-------------
|
||
ShowInfo 'Setup block of ROM start', 0 ; !!!!! test
|
||
|
||
BLOCK_Setup EQU $
|
||
;
|
||
DISP COMPILE_ADDR.SETUP
|
||
ShowInfo 'Setup block DISP start', 1 ; !!!!! test
|
||
SETUP_MAIN: INCLUDE 'crazy bios/ROM/SETUP/Main.asm'
|
||
ShowInfo 'Setup block DISP end', 1 ; !!!!! test
|
||
ENT
|
||
|
||
ShowInfo 'Setup block of ROM end', 0 ; !!!!! test
|
||
BLOCK_Setup.Length EQU $-BLOCK_Setup
|
||
;---------------------------------------
|
||
;
|
||
|
||
|
||
;*************************
|
||
_mInfoBLOCK #3CE0-$,#FF ;!TEST 0
|
||
;SW_ROM_1:
|
||
LD HL,#259F ;!HARDCODE Show Main Menu in BASIC-128
|
||
PUSH HL
|
||
LD HL,#5B00 ;!HARDCODE
|
||
LD A,(HL)
|
||
CP #F5 ; #F5 - ®¯ª®¤ 'PUSH AF'. <20>஢¥àï¥âáï ¢ #5B00
|
||
JR Z,JP_HL_48 ; ‚އ‚<E280A1>€’ Š Œ…<C592>ž BASIC128
|
||
POP HL
|
||
JR SW_ROM ; <20><>Ž‘’މ ‚އ‚<E280A1>€’
|
||
;*************************
|
||
|
||
_mInfoBLOCK #3CF0-$,#FF ;!TEST 0
|
||
;JMP_48:
|
||
; LD HL,00h
|
||
; JR JP_HL_48
|
||
;
|
||
; NOP
|
||
; NOP
|
||
; NOP
|
||
|
||
;***************************************
|
||
_mInfoBLOCK #3CF8-$,#FF ;!TEST 0
|
||
; no basic-48!
|
||
;P_HL_48:
|
||
PUSH HL
|
||
;SW_ROM:
|
||
PUSH AF
|
||
LD A,vROM.BIOS
|
||
OUT (CNF_PORT.vZX_ROM),A
|
||
POP AF
|
||
RET
|
||
;***************************************
|
||
;----------------------------------------------------------------------;
|
||
;
|
||
|
||
;
|
||
;----------------------------------------------------------------------;
|
||
_mInfoBLOCK #3D00-$,#FF
|
||
;DOS_ON:
|
||
NOP
|
||
RET
|
||
;***************************************
|
||
|
||
;***************************************
|
||
_mInfoBLOCK #3D13-$,#FF
|
||
NOP
|
||
CALL ToBIOS_FromEXT
|
||
JP DOS_OFF
|
||
;***************************************
|
||
|
||
;***************************************
|
||
_mInfoBLOCK #3E00-$,#FF
|
||
;DOS_OFF:
|
||
PUSH AF
|
||
LD A,R
|
||
DI
|
||
PUSH AF
|
||
PUSH BC
|
||
;
|
||
LD BC,(#5BFF) ; !HARDCODE
|
||
LD A,#C9 ; Opcode RET
|
||
LD (#5BFF),A ; !HARDCODE
|
||
CALL #5BFF ; !HARDCODE
|
||
LD (#5BFF),BC ; !HARDCODE
|
||
;
|
||
POP BC
|
||
POP AF
|
||
JP PO,.no_EI
|
||
EI
|
||
.no_EI: POP AF
|
||
RET
|
||
;***************************************
|
||
|
||
|
||
;--------------[GOTO BIOS]--------------
|
||
; call BIOS from EXTENSION
|
||
_mInfoBLOCK #3FD0-$,#FF ; ToBIOS_FromEXT
|
||
PUSH AF
|
||
LD A,vROM.BIOS ; set BIOS to slot0
|
||
OUT (CNF_PORT.vBIOS),A
|
||
POP AF
|
||
RET
|
||
;---------------------------------------
|
||
|
||
|
||
;!FIXIT ¯¥à¥¤¥« âì <20>‡“ âà¤®á ¨ ᯥªâà㬮¢ ¯®¤ ¯à ¢¨«ìë© ¢ë§®¢ äãªæ¨© ¡¨®á ( ¥ ¢¬¥áâ® äãªæ¨© 4x äãªæ¨¨ 0x)
|
||
;--------[ From TR-DOS to HDD part2]--------
|
||
_mInfoBLOCK #3FD8-$,#FF
|
||
TRDOS_HD_CMD:
|
||
POP AF
|
||
SET 6,C
|
||
RST_to_BIOS
|
||
JR RET_TO_TRDOS
|
||
;---------------------------------------
|
||
|
||
|
||
;!FIXIT Œ®¦® ¯®¯à ¢¨âì ®¬¥à äãªæ¨© ¯à¨ ¢ë§®¢ å ¨§ TR-DOS ¨ ¯àë£ âì áà §ã ¢ BIOS
|
||
;-------[ From TR-DOS to API 4x ]-------
|
||
_mInfoBLOCK #3FF0-$,#FF
|
||
RET_TO_TRDOS:
|
||
PUSH AF
|
||
DI
|
||
LD A,vROM.BIOS
|
||
OUT (CNF_PORT.vZX_ROM),A
|
||
JR TRDOS_HD_CMD ; âãâ ¥ å¢ â¨«® ¬¥áâ ¢ 1 ¡ ©â, ç⮡ áà §ã ᤥ« âì JP
|
||
;---------------------------------------
|
||
|
||
|
||
_mInfoBLOCK #4000-$,#FF
|
||
;=======================================
|
||
|
||
; ENDMODULE ;ROM_PART
|
||
; |