mirror of
https://github.com/Tolik-Trek/ZX-SP-ROMs.git
synced 2026-06-15 09:21:45 +03:00
internal boot in tr-dos
This commit is contained in:
parent
bc1413f28d
commit
d297c9f907
13
SP_128.ASM
13
SP_128.ASM
@ -10638,24 +10638,35 @@ L281C: LD HL,#EC0D ; Editor flags.
|
|||||||
; JP L1AF1 ; Run the tape loader.
|
; JP L1AF1 ; Run the tape loader.
|
||||||
L2831:
|
L2831:
|
||||||
ED_COM: BYTE 10 ; Number of entries.
|
ED_COM: BYTE 10 ; Number of entries.
|
||||||
|
;
|
||||||
BYTE #0B ; Key code: Cursor up.
|
BYTE #0B ; Key code: Cursor up.
|
||||||
DEFW L272E ; MENU-UP handler routine.
|
DEFW L272E ; MENU-UP handler routine.
|
||||||
BYTE #0A ; Key code: Cursor dow
|
;
|
||||||
|
BYTE #0A ; Key code: Cursor down
|
||||||
DEFW L2731 ; MENU-DOWN handler routine.
|
DEFW L2731 ; MENU-DOWN handler routine.
|
||||||
|
;
|
||||||
BYTE #0D ; Key code: Enter.
|
BYTE #0D ; Key code: Enter.
|
||||||
DEFW L2717 ; MENU-SELECT handler routine.
|
DEFW L2717 ; MENU-SELECT handler routine.
|
||||||
|
;
|
||||||
BYTE '8' ; ᨪ«¥à-¤¦®©á⨪¥ ¢¨§
|
BYTE '8' ; ᨪ«¥à-¤¦®©á⨪¥ ¢¨§
|
||||||
DEFW L2731 ; MENU-DOWN handler routine.
|
DEFW L2731 ; MENU-DOWN handler routine.
|
||||||
|
;
|
||||||
BYTE '9' ; ᨪ«¥à-¤¦®©á⨪¥ ¢¢¥àå
|
BYTE '9' ; ᨪ«¥à-¤¦®©á⨪¥ ¢¢¥àå
|
||||||
DEFW L272E ; MENU-UP handler routine.
|
DEFW L272E ; MENU-UP handler routine.
|
||||||
|
;
|
||||||
|
;
|
||||||
BYTE '0' ; ᨪ«¥à-¤¦®©á⨪¥ enter
|
BYTE '0' ; ᨪ«¥à-¤¦®©á⨪¥ enter
|
||||||
DEFW L2717 ; MENU-SELECT handler routine.
|
DEFW L2717 ; MENU-SELECT handler routine.
|
||||||
|
;
|
||||||
BYTE '6' ; ᨪ«¥à-¤¦®©á⨪¥ ¢«¥¢® Page Up
|
BYTE '6' ; ᨪ«¥à-¤¦®©á⨪¥ ¢«¥¢® Page Up
|
||||||
DEFW LEFT_E ; MENU-PageUp
|
DEFW LEFT_E ; MENU-PageUp
|
||||||
|
;
|
||||||
BYTE #08 ; Key code: Cursor left
|
BYTE #08 ; Key code: Cursor left
|
||||||
DEFW LEFT ; MENU-PageUp
|
DEFW LEFT ; MENU-PageUp
|
||||||
|
;
|
||||||
BYTE '7' ; [x] ¡ë«® 7
|
BYTE '7' ; [x] ¡ë«® 7
|
||||||
DEFW RIGHT_E ; MENU-PageDown
|
DEFW RIGHT_E ; MENU-PageDown
|
||||||
|
;
|
||||||
BYTE #09 ; Key code: Cursor right
|
BYTE #09 ; Key code: Cursor right
|
||||||
DEFW RIGHT ; MENU-PageDown
|
DEFW RIGHT ; MENU-PageDown
|
||||||
|
|
||||||
|
|||||||
78
SP_TRDOS.ASM
78
SP_TRDOS.ASM
@ -4,6 +4,24 @@
|
|||||||
;º RE-SOURCE'd by Z80MU PROFESSIONAL version 5.2b º
|
;º RE-SOURCE'd by Z80MU PROFESSIONAL version 5.2b º
|
||||||
;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||||
;!TODO ¨á¯®«ì§®¢ âì ¢¥è¨¥ ¯®àâë #E0 ¨ #E3 ¤«ï á®åà ¥¨ï ॣ¨áâ஢ ¯à¨ ¯¥à¥å¢ ⥠¢á直å #3D2F
|
;!TODO ¨á¯®«ì§®¢ âì ¢¥è¨¥ ¯®àâë #E0 ¨ #E3 ¤«ï á®åà ¥¨ï ॣ¨áâ஢ ¯à¨ ¯¥à¥å¢ ⥠¢á直å #3D2F
|
||||||
|
|
||||||
|
; [ ] boot loader from TR-DOS vROM
|
||||||
|
;SHELLEXEC "sjasmplus --nologo --syntax=f --fullpath --color=on --exp=trdos/boot/boot.inc --lst=Build/boot.lst --raw=Build/boot.bin trdos/boot/boot.asm"
|
||||||
|
LUA PASS1
|
||||||
|
compiling_boot = (os.execute("sjasmplus --nologo --syntax=f --fullpath --color=on --exp=trdos/boot/boot.inc --lst=Build/boot.lst --raw=Build/boot.bin trdos/boot/boot.asm"))
|
||||||
|
if compiling_boot then
|
||||||
|
print("--[ BOOT Build OK ]--")
|
||||||
|
--sj.insert_define("_BOOT_COMPILED_", "1")
|
||||||
|
else
|
||||||
|
print("--[ BOOT Build ERROR!!! ]--")
|
||||||
|
--sj.insert_define("_BOOT_COMPILED_", "0")
|
||||||
|
os.exit(1)
|
||||||
|
end
|
||||||
|
ENDLUA
|
||||||
|
; IF _BOOT_COMPILED_ = 0
|
||||||
|
; assert 1, Error whith boot.asm
|
||||||
|
; ENDIF
|
||||||
|
|
||||||
DEVICE ZXSPECTRUM128
|
DEVICE ZXSPECTRUM128
|
||||||
ORG 0
|
ORG 0
|
||||||
|
|
||||||
@ -14,6 +32,9 @@
|
|||||||
INCLUDE 'Shared_Includes/constants/BIOS_equ.inc'
|
INCLUDE 'Shared_Includes/constants/BIOS_equ.inc'
|
||||||
INCLUDE 'Shared_Includes/constants/ZX_VARS.inc'
|
INCLUDE 'Shared_Includes/constants/ZX_VARS.inc'
|
||||||
INCLUDE 'Shared_Includes/macroses/macros.z80'
|
INCLUDE 'Shared_Includes/macroses/macros.z80'
|
||||||
|
MODULE vROM_Boot
|
||||||
|
INCLUDE 'trdos/boot/boot.inc'
|
||||||
|
ENDMODULE
|
||||||
|
|
||||||
TRDOS_ROM_CMD:
|
TRDOS_ROM_CMD:
|
||||||
.READ_BPB EQU BIOS.HDD_READ_BPB and #BF
|
.READ_BPB EQU BIOS.HDD_READ_BPB and #BF
|
||||||
@ -552,6 +573,53 @@ AUTO_0359:
|
|||||||
POP HL
|
POP HL
|
||||||
JP (HL)
|
JP (HL)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; [x] 13/06/2025 boot loader from TR-DOS vROM
|
||||||
|
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
|
||||||
|
PREPARE_TO_vROM_BOOT:
|
||||||
|
LD A,(ZX_VARS.RUN_AUTO_BOOT)
|
||||||
|
AND A ; ¯à¨§ ª ¯®¯ë⪨ § ¯ã᪠boot ª®¬ ¤®© RUN ¡¥§ ¯ à ¬¥â஢
|
||||||
|
JP Z,AUTO_03D9
|
||||||
|
;
|
||||||
|
DI
|
||||||
|
LD HL,(ZX_VARS.ADR_RET)
|
||||||
|
LD (ZX_VARS.FL_START),HL ; ¢à¥¬¥® á®åà 塞 ADR_RET
|
||||||
|
LD HL,vROM_BOOT ; ¤à¥á ¢®§¢à â ¨§ AUTO_01D3
|
||||||
|
LD (ZX_VARS.ADR_RET),HL
|
||||||
|
JP AUTO_01D3
|
||||||
|
;
|
||||||
|
vROM_BOOT: LD HL,(ZX_VARS.FL_START)
|
||||||
|
LD (ZX_VARS.ADR_RET),HL ; ¢®ááâ ¢«¨¢ ¥¬ ADR_RET
|
||||||
|
;
|
||||||
|
LD HL,BOOT_PART_1.SIZE + BOOT_PART_2.SIZE
|
||||||
|
LD (ZX_VARS.FL_START),HL ; ¤«¨ ¯à®£à ¬¬ë á ¯¥à¥¬¥ë¬¨.
|
||||||
|
LD (ZX_VARS.FL_LEN),HL ; ¤«¨ ¯à®£à ¬¬ë á ¯¥à¥¬¥ë¬¨.
|
||||||
|
;
|
||||||
|
CALL AUTO_1A01 ; <20>®¤£®â®¢ª ª § £à㧪¥ ¯à®£à ¬¬ë ¡¥©á¨ª¥.
|
||||||
|
;
|
||||||
|
LD HL,.LoadAddr
|
||||||
|
LD (ZX_VARS.BAS_PROG),HL ; ¤à¥á ç « ¯à®£à ¬¬ë ¡¥©á¨ª¥.
|
||||||
|
; loading
|
||||||
|
LD HL,BOOT_PART_1
|
||||||
|
LD DE,.LoadAddr
|
||||||
|
LD BC,BOOT_PART_1.SIZE
|
||||||
|
LDIR
|
||||||
|
LD HL,BOOT_PART_2
|
||||||
|
LD BC,BOOT_PART_2.SIZE
|
||||||
|
LDIR
|
||||||
|
;
|
||||||
|
;LD HL,.StartAddr + BOOT_PART_1.SIZE + BOOT_PART_2.SIZE - 3
|
||||||
|
LD HL,vROM_Boot.StartLineNum
|
||||||
|
LD (ZX_VARS.E_LINE),HL
|
||||||
|
;
|
||||||
|
EI
|
||||||
|
JP AUTO_012A
|
||||||
|
;
|
||||||
|
.LoadAddr EQU vROM_Boot.org_addr ;#5D3B
|
||||||
|
.StartAddr EQU vROM_Boot.org_addr ;#5D3B
|
||||||
|
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
|
||||||
|
|
||||||
;-----------------------------------------------------------------------
|
;-----------------------------------------------------------------------
|
||||||
_mInfoBLOCK #03AC-$,#FF
|
_mInfoBLOCK #03AC-$,#FF
|
||||||
; NAME_TRD:
|
; NAME_TRD:
|
||||||
@ -2298,7 +2366,10 @@ AUTO_187A:
|
|||||||
CALL SINTAX_RET
|
CALL SINTAX_RET
|
||||||
CALL AUTO_292F
|
CALL AUTO_292F
|
||||||
AUTO_18A4:
|
AUTO_18A4:
|
||||||
JP NZ,AUTO_03D9
|
; [x] 13/06/2025 boot loader from TR-DOS vROM
|
||||||
|
;JP NZ,AUTO_03D9
|
||||||
|
JP NZ,PREPARE_TO_vROM_BOOT
|
||||||
|
;
|
||||||
CALL AUTO_165D
|
CALL AUTO_165D
|
||||||
RET
|
RET
|
||||||
AUTO_18AB:
|
AUTO_18AB:
|
||||||
@ -6374,9 +6445,9 @@ EDIT_X05:
|
|||||||
; JP ZX_VARS.AUTO_5C9A
|
; JP ZX_VARS.AUTO_5C9A
|
||||||
|
|
||||||
;**************************************
|
;**************************************
|
||||||
|
|
||||||
; DSS 3900H,'#'
|
; DSS 3900H,'#'
|
||||||
|
BOOT_PART_1: INCBIN 'build/boot.bin', 0, 248
|
||||||
|
.SIZE EQU $-BOOT_PART_1
|
||||||
;**********************************
|
;**********************************
|
||||||
_mInfoBLOCK #3C00 - $,255
|
_mInfoBLOCK #3C00 - $,255
|
||||||
AUTO_3C00:
|
AUTO_3C00:
|
||||||
@ -6550,6 +6621,7 @@ REDIR_3D13:
|
|||||||
;JP HD_CMD ;#3FF0 ROM. DI
|
;JP HD_CMD ;#3FF0 ROM. DI
|
||||||
JP EXP_FNS
|
JP EXP_FNS
|
||||||
;
|
;
|
||||||
|
|
||||||
;*****************************
|
;*****************************
|
||||||
_mInfoBLOCK #3CFA - $,255
|
_mInfoBLOCK #3CFA - $,255
|
||||||
AUTO_3CFA:
|
AUTO_3CFA:
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
Subproject commit 68e156a69e848e7b01656cdf67122022999d75ee
|
Subproject commit 63faf9f0823649cfb52e9fcaad430170a05b31a7
|
||||||
BIN
TR-DOS_6.11Q_PENTAGON512.ROM
Normal file
BIN
TR-DOS_6.11Q_PENTAGON512.ROM
Normal file
Binary file not shown.
@ -238,6 +238,32 @@ RESTORE_CURRENT_DIR:
|
|||||||
POP AF
|
POP AF
|
||||||
RET
|
RET
|
||||||
;
|
;
|
||||||
|
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
|
||||||
|
BOOT_PART_2: INCBIN 'build/boot.bin',248
|
||||||
|
.SIZE EQU $-BOOT_PART_2
|
||||||
|
;
|
||||||
|
; vROM_BOOT: DI
|
||||||
|
; LD HL,BOOT_PART_1
|
||||||
|
; LD DE,#5D3B
|
||||||
|
; LD BC,BOOT_PART_1.SIZE
|
||||||
|
; LDIR
|
||||||
|
; LD HL,BOOT_PART_2
|
||||||
|
; LD BC,BOOT_PART_2.SIZE
|
||||||
|
; LDIR
|
||||||
|
; ;
|
||||||
|
; EI
|
||||||
|
; ;
|
||||||
|
; LD HL,#5EC9
|
||||||
|
; LD (ZX_VARS.E_LINE),HL
|
||||||
|
; JP AUTO_012A
|
||||||
|
; ;
|
||||||
|
; ; RST RST20 ; áâ ¤. ¢¢®¤ ¢ ¡ãä¥à । ªâ¨à®¢ ¨ï
|
||||||
|
; ; DW #5D65
|
||||||
|
; ; RET
|
||||||
|
; ;
|
||||||
|
; ; LD HL,#5D65
|
||||||
|
; ; PUSH HL
|
||||||
|
; ; JP CMD_RETURN
|
||||||
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
|
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
|
||||||
DISPLAY "TR_HDD_4.ASZ size: ",/A,$-File_Start
|
DISPLAY "TR_HDD_4.ASZ size: ",/A,$-File_Start
|
||||||
DISPLAY "===================================================="
|
DISPLAY "===================================================="
|
||||||
@ -581,8 +581,7 @@ MSDOS_MSG: DC 'File not found'
|
|||||||
NO_MEMORY: DC 'Out of memory'
|
NO_MEMORY: DC 'Out of memory'
|
||||||
;NO_MEMORY: DC 'No RAM-Disk MEM'
|
;NO_MEMORY: DC 'No RAM-Disk MEM'
|
||||||
|
|
||||||
WORDS: DB 5,'CLEAR' ; ®ç¨áâ¨âì RAM-Disk
|
WORDS:
|
||||||
DW CLEAR_RAMD_X
|
|
||||||
DB 3,'CAT' ; ª â «®£ MS-DOS
|
DB 3,'CAT' ; ª â «®£ MS-DOS
|
||||||
DW MSDOS_CAT
|
DW MSDOS_CAT
|
||||||
DB 3,'DIR' ; ª â «®£ MS-DOS
|
DB 3,'DIR' ; ª â «®£ MS-DOS
|
||||||
@ -607,6 +606,8 @@ WORDS: DB 5,'CLEAR' ;
|
|||||||
DW TB_ONOFF
|
DW TB_ONOFF
|
||||||
DB 4,'INIT' ; २¨§¨ «¨§ æ¨ï
|
DB 4,'INIT' ; २¨§¨ «¨§ æ¨ï
|
||||||
DW INIT_RMD
|
DW INIT_RMD
|
||||||
|
DB 5,'CLEAR' ; ®ç¨áâ¨âì RAM-Disk
|
||||||
|
DW CLEAR_RAMD_X
|
||||||
DB 8,"SPRINTER"
|
DB 8,"SPRINTER"
|
||||||
DW SPR_1
|
DW SPR_1
|
||||||
DB 2,"AY"
|
DB 2,"AY"
|
||||||
|
|||||||
@ -445,6 +445,8 @@ FAT_16_L2:
|
|||||||
POP AF
|
POP AF
|
||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
|
;-----------------------------------------------------------------------
|
||||||
|
|
||||||
;-----------------------------------------------------------------------
|
;-----------------------------------------------------------------------
|
||||||
|
|
||||||
;INCLUDE 'trdos/tr_msd_4.asz'
|
;INCLUDE 'trdos/tr_msd_4.asz'
|
||||||
|
|||||||
265
TRDOS/boot/boot.asm
Executable file
265
TRDOS/boot/boot.asm
Executable file
@ -0,0 +1,265 @@
|
|||||||
|
; device zxspectrum48
|
||||||
|
INCLUDE 'inc/rom_routines.inc'
|
||||||
|
INCLUDE 'Shared_Includes/constants/ZX_VARS.inc'
|
||||||
|
INCLUDE 'Shared_Includes/constants/zx_char_codes.inc'
|
||||||
|
|
||||||
|
;=======================================================================
|
||||||
|
collor_A EQU 0x03
|
||||||
|
collor_B EQU 0x02
|
||||||
|
collor_M EQU 0x08
|
||||||
|
collor_T EQU 0x07
|
||||||
|
org_addr EQU #5d3b
|
||||||
|
|
||||||
|
|
||||||
|
ORG org_addr
|
||||||
|
|
||||||
|
bstart: DW #100 ; line number = 1
|
||||||
|
DW l1end-l1begin ; line length
|
||||||
|
l1begin: DB ZX_Token.randomize,ZX_Token.usr,#30 ; 'rand' 'usr' 0
|
||||||
|
DB #0e,#00,#00 : DW start : DB #00,#0d ; start address
|
||||||
|
l1end: DW #200 ; line number = 2
|
||||||
|
DW l2end-l2begin ; line length
|
||||||
|
l2begin: DB #f9,#c0,#30 ; ':' 'rand' 'usr' 0
|
||||||
|
DB #0e,#00,#00 : DW 15619 : DB #00 ; start address
|
||||||
|
DB #3a,#ea,#3a,#f7,#22
|
||||||
|
filename: DB "boot ",#22,#3a ; ':' 'rem' run
|
||||||
|
;=======================================================================
|
||||||
|
|
||||||
|
;org #5d65
|
||||||
|
start: LD (memSP),SP
|
||||||
|
NewDisk: XOR A
|
||||||
|
OUT (0xfe),A
|
||||||
|
; ld de, 0x5aff
|
||||||
|
; .l0
|
||||||
|
; ld (de), a
|
||||||
|
; dec de
|
||||||
|
; cp d
|
||||||
|
; jr nz, .l0
|
||||||
|
LD (ZX_VARS.ATTR_P),A
|
||||||
|
LD (ZX_VARS.BORDER),A
|
||||||
|
CALL BASIC_FN.x48.cls
|
||||||
|
LD BC,0x0905
|
||||||
|
LD DE,0
|
||||||
|
LD HL,catBuff
|
||||||
|
;.3 nop
|
||||||
|
CALL 0x3d13
|
||||||
|
LD A,"a"
|
||||||
|
LD (main.markPos),A
|
||||||
|
main: LD A,collor_T
|
||||||
|
LD (var_collor),A
|
||||||
|
LD HL,0x50cc
|
||||||
|
LD (var_printPos),HL
|
||||||
|
LD HL,catBuff+0x08f5
|
||||||
|
.p1: LD A,(HL)
|
||||||
|
PUSH HL
|
||||||
|
CALL printChar
|
||||||
|
POP HL
|
||||||
|
INC L
|
||||||
|
LD A,L
|
||||||
|
CP low (catBuff+0x08fd)
|
||||||
|
JR NZ,.p1
|
||||||
|
|
||||||
|
LD HL,0x4000
|
||||||
|
LD (var_printPos),HL
|
||||||
|
|
||||||
|
LD HL,catBuff
|
||||||
|
.markPos+2: LD BC,"aa"
|
||||||
|
.l1: LD A,(HL)
|
||||||
|
DEC A
|
||||||
|
JR Z,.n1
|
||||||
|
JP M,.e1
|
||||||
|
;boot detect
|
||||||
|
; cp "b"-1
|
||||||
|
; jr nz, .s2
|
||||||
|
; inc l
|
||||||
|
; ld a, "o"
|
||||||
|
; cp (hl)
|
||||||
|
; jr nz, .s2
|
||||||
|
; inc l
|
||||||
|
; cp (hl)
|
||||||
|
; jr nz, .s2
|
||||||
|
; inc l
|
||||||
|
; ld a, (hl)
|
||||||
|
; cp "t"
|
||||||
|
; jr nz, .s2
|
||||||
|
; .l4: inc l
|
||||||
|
; bit 3, l
|
||||||
|
; jr z, .n1
|
||||||
|
; ld a, " "
|
||||||
|
; cp (hl)
|
||||||
|
; jr z, .l4
|
||||||
|
;
|
||||||
|
.s2: LD A,L
|
||||||
|
AND 0xf0
|
||||||
|
ADD A,0x08
|
||||||
|
LD L,A
|
||||||
|
LD A,(HL)
|
||||||
|
CP "B"
|
||||||
|
RES 3,L
|
||||||
|
JR NZ,.n1
|
||||||
|
LD A,C
|
||||||
|
CP B
|
||||||
|
LD A,collor_A
|
||||||
|
JR NZ,.s1
|
||||||
|
XOR collor_M
|
||||||
|
LD DE,filename
|
||||||
|
PUSH BC
|
||||||
|
LD BC,0x08
|
||||||
|
LDIR
|
||||||
|
POP BC
|
||||||
|
RES 3,L
|
||||||
|
.s1: LD (var_collor),A
|
||||||
|
LD A,C
|
||||||
|
PUSH HL
|
||||||
|
CALL printChar
|
||||||
|
LD A," "
|
||||||
|
CALL printChar
|
||||||
|
POP HL
|
||||||
|
.l2: LD A,(HL)
|
||||||
|
INC HL
|
||||||
|
PUSH HL
|
||||||
|
CALL printChar
|
||||||
|
POP HL
|
||||||
|
LD A,L
|
||||||
|
AND 0x07
|
||||||
|
JR NZ,.l2
|
||||||
|
LD A,(var_printPos)
|
||||||
|
AND 0x1f
|
||||||
|
JR Z,.s3
|
||||||
|
LD A," "
|
||||||
|
PUSH HL
|
||||||
|
CALL printChar
|
||||||
|
POP HL
|
||||||
|
.s3: INC C
|
||||||
|
.n1: LD A,L
|
||||||
|
AND 0xf0
|
||||||
|
LD L,A
|
||||||
|
LD DE,0x0010
|
||||||
|
ADD HL,DE
|
||||||
|
JR .l1
|
||||||
|
.e1:; ld a, c
|
||||||
|
; sub "a"
|
||||||
|
; ld (var_files), a
|
||||||
|
keys: RES 5,(iy+1)
|
||||||
|
.w1: BIT 5,(iy+1)
|
||||||
|
JR Z,.w1
|
||||||
|
LD A,(iy-0x32)
|
||||||
|
CP B
|
||||||
|
JR Z,exit
|
||||||
|
CP 0x0d
|
||||||
|
JR Z,exit
|
||||||
|
CP " "
|
||||||
|
JP Z,NewDisk
|
||||||
|
CP #08 ; left
|
||||||
|
JR NZ,.sl
|
||||||
|
DEC B
|
||||||
|
JR .c1
|
||||||
|
.sl: CP #0B ; up
|
||||||
|
JR NZ,.sd
|
||||||
|
DEC B
|
||||||
|
DEC B
|
||||||
|
DEC B
|
||||||
|
JR .c1
|
||||||
|
.sd: CP #0A ; down
|
||||||
|
JR NZ,.su
|
||||||
|
INC B
|
||||||
|
INC B
|
||||||
|
INC B
|
||||||
|
JR .c1
|
||||||
|
.su: CP #09 ; right
|
||||||
|
JR NZ,.sr
|
||||||
|
INC B
|
||||||
|
JR .c1
|
||||||
|
.sr: CP "a"
|
||||||
|
JR C,keys
|
||||||
|
CP C
|
||||||
|
JR NC,keys
|
||||||
|
LD B,A
|
||||||
|
.c1: LD A,B
|
||||||
|
CP "a"
|
||||||
|
JR NC,.sf1
|
||||||
|
LD A,"a"
|
||||||
|
.sf1: CP C
|
||||||
|
JR C,.sf2
|
||||||
|
LD A,C
|
||||||
|
DEC A
|
||||||
|
.sf2: LD (main.markPos),A
|
||||||
|
JP main
|
||||||
|
; var_files db 0
|
||||||
|
|
||||||
|
exit:
|
||||||
|
memSP+1: LD SP,0
|
||||||
|
RET
|
||||||
|
|
||||||
|
printChar: LD H,A
|
||||||
|
ADD A,A
|
||||||
|
ADD A,A
|
||||||
|
ADD A,A
|
||||||
|
LD L,A
|
||||||
|
LD A,H
|
||||||
|
RLCA
|
||||||
|
RLCA
|
||||||
|
RLCA
|
||||||
|
AND 0x07
|
||||||
|
ADD A,0x3c
|
||||||
|
LD H,A
|
||||||
|
var_printPos+1: LD DE,0x4000
|
||||||
|
|
||||||
|
.l1: LD A,(HL)
|
||||||
|
RRCA
|
||||||
|
OR (HL)
|
||||||
|
INC HL
|
||||||
|
LD (DE),A
|
||||||
|
INC D
|
||||||
|
LD (DE),A
|
||||||
|
INC D
|
||||||
|
LD A,D
|
||||||
|
AND 0x07
|
||||||
|
JR NZ,.l1
|
||||||
|
LD A,D
|
||||||
|
SUB 0x08
|
||||||
|
LD D,A
|
||||||
|
LD A,E
|
||||||
|
ADD A,0x20
|
||||||
|
LD E,A
|
||||||
|
AND 0x20
|
||||||
|
JR NZ,.l1
|
||||||
|
LD HL,(var_printPos)
|
||||||
|
LD A,H
|
||||||
|
RRCA
|
||||||
|
RRCA
|
||||||
|
RRCA
|
||||||
|
ADD A,0x50
|
||||||
|
LD H,A
|
||||||
|
var_collor+1: LD A,0
|
||||||
|
LD (HL),A
|
||||||
|
SET 5,L
|
||||||
|
XOR collor_A^collor_B
|
||||||
|
LD (HL),A
|
||||||
|
LD HL,var_printPos
|
||||||
|
LD A,(HL)
|
||||||
|
ADD A,0x21
|
||||||
|
AND 0xdf
|
||||||
|
LD (HL),A
|
||||||
|
RET NZ
|
||||||
|
INC HL
|
||||||
|
LD A,(HL)
|
||||||
|
ADD A,0x08
|
||||||
|
LD (HL),A
|
||||||
|
RET
|
||||||
|
;
|
||||||
|
StartLineNum: DB 0
|
||||||
|
DW 0
|
||||||
|
;DB #80
|
||||||
|
l2end:
|
||||||
|
;bend:
|
||||||
|
DISPLAY "printChar ",/A,$-printChar
|
||||||
|
DISPLAY "code ",/A,$-start
|
||||||
|
;ds -$&0x0f
|
||||||
|
;ALIGN #10
|
||||||
|
;filename EQU $
|
||||||
|
catBuff EQU $ + (-$&0x0f)
|
||||||
|
|
||||||
|
EXPORT StartLineNum
|
||||||
|
EXPORT org_addr
|
||||||
|
;
|
||||||
2
TRDOS/boot/boot.inc
Normal file
2
TRDOS/boot/boot.inc
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
StartLineNum: EQU 0x00005EAA
|
||||||
|
org_addr: EQU 0x00005D3B
|
||||||
@ -1,618 +0,0 @@
|
|||||||
/*
|
|
||||||
BOOTER
|
|
||||||
;¢ë¯®«ï«ª ª®¬."8"
|
|
||||||
;¢¬¥áâ® #29AE
|
|
||||||
LD BC,#F4FF
|
|
||||||
RST #20
|
|
||||||
DW #1EAF ;CLEAR_RUN
|
|
||||||
;
|
|
||||||
LD A,1
|
|
||||||
RST #20
|
|
||||||
DW #229B ;border ¨ 23624
|
|
||||||
;
|
|
||||||
DI
|
|
||||||
LD HL,bootkus1 ;#E00
|
|
||||||
LD DE,#F500
|
|
||||||
LD BC,bootln1 ;#1F5
|
|
||||||
PUSH DE
|
|
||||||
LDIR
|
|
||||||
LD HL,bootkus2 ;#344D
|
|
||||||
LD BC,bootln2+1 ;#334
|
|
||||||
LDIR
|
|
||||||
SET 3,(IY+#01)
|
|
||||||
RET
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
org 0
|
|
||||||
INCLUDE 'Shared_Includes/constants/ZX_VARS.inc'
|
|
||||||
INCLUDE 'Shared_Includes/constants/sp2000.inc'
|
|
||||||
INCLUDE 'inc/rom_routines.inc'
|
|
||||||
|
|
||||||
|
|
||||||
bootkus1: DISP #F500
|
|
||||||
DI ;¥£® ¨ #344D ª®¯¨àã¥â #3AE7
|
|
||||||
PUSH AF
|
|
||||||
PUSH HL
|
|
||||||
PUSH DE
|
|
||||||
PUSH BC
|
|
||||||
EXX
|
|
||||||
PUSH HL
|
|
||||||
LD HL,(ZX_VARS.ERR_SP)
|
|
||||||
LD (.ERR_SP),HL
|
|
||||||
LD A,(ZX_VARS.CONT_DISK)
|
|
||||||
LD (ZX_VARS.OPER_DISK),A
|
|
||||||
ADD A,#3C
|
|
||||||
LD (ZX_VARS.PDOS_COPY),A
|
|
||||||
LD HL,#3C00
|
|
||||||
LD DE,#8000
|
|
||||||
PUSH DE
|
|
||||||
LD (ZX_VARS.ZG),DE
|
|
||||||
LD BC,#0400
|
|
||||||
LDIR
|
|
||||||
LD (IY+#47),#00
|
|
||||||
POP HL
|
|
||||||
LD BC,#0080
|
|
||||||
.big_loop: PUSH BC
|
|
||||||
INC HL
|
|
||||||
INC HL
|
|
||||||
INC HL
|
|
||||||
LD B,#03
|
|
||||||
.loop1: LD D,(HL)
|
|
||||||
LD A,D
|
|
||||||
RLA
|
|
||||||
OR D
|
|
||||||
LD (HL),A
|
|
||||||
INC HL
|
|
||||||
DJNZ .loop1
|
|
||||||
POP BC
|
|
||||||
DEC BC
|
|
||||||
INC HL
|
|
||||||
INC HL
|
|
||||||
LD A,B
|
|
||||||
OR C
|
|
||||||
JR NZ,.big_loop
|
|
||||||
XOR A
|
|
||||||
OUT (BorderColor),A
|
|
||||||
LD A,#44
|
|
||||||
LD (ZX_VARS.BORDER),A
|
|
||||||
DEC A
|
|
||||||
DEC A
|
|
||||||
LD (ZX_VARS.ATTR_P),A
|
|
||||||
CALL BASIC_FN.x48.x48.cls
|
|
||||||
.loop2: DI
|
|
||||||
XOR A
|
|
||||||
LD (VAR_1),A
|
|
||||||
.var_3+1: LD HL,LL3761
|
|
||||||
PUSH HL
|
|
||||||
LD (ZX_VARS.ERR_SP),SP
|
|
||||||
LD (IY+#00),#FF
|
|
||||||
LD A,(ZX_VARS.CONT_DISK)
|
|
||||||
LD C,#01
|
|
||||||
CALL #3D13
|
|
||||||
LD HL,#9000
|
|
||||||
LD DE,#0000
|
|
||||||
LD BC,#0805
|
|
||||||
CALL #3D13
|
|
||||||
LD A,(IY+#00)
|
|
||||||
CP #FF
|
|
||||||
JR NZ,.loop2
|
|
||||||
LD HL,.loop2
|
|
||||||
LD (.var_3),HL
|
|
||||||
EXX
|
|
||||||
LD DE,#A000
|
|
||||||
EXX
|
|
||||||
LD HL,#9000
|
|
||||||
LD DE,#0008
|
|
||||||
LD A,(HL)
|
|
||||||
OR A
|
|
||||||
JP Z,LF887
|
|
||||||
.loop3: LD DE,#0008
|
|
||||||
ADD HL,DE
|
|
||||||
LD A,(HL)
|
|
||||||
CP #42
|
|
||||||
CALL Z,LF836
|
|
||||||
ADD HL,DE
|
|
||||||
LD A,(HL)
|
|
||||||
OR A
|
|
||||||
JR NZ,.loop3
|
|
||||||
LD A,(VAR_1)
|
|
||||||
OR A
|
|
||||||
JP Z,LF887
|
|
||||||
LD B,#3F
|
|
||||||
SBC A,B
|
|
||||||
JP NC,LF8A6
|
|
||||||
LD A,(VAR_1)
|
|
||||||
DEC A
|
|
||||||
LD (#F86F),A
|
|
||||||
CALL #F9BB
|
|
||||||
LD (#F653),A
|
|
||||||
CALL #0D6B
|
|
||||||
DI
|
|
||||||
CALL #F870
|
|
||||||
LD A,#02
|
|
||||||
CALL #F8CB
|
|
||||||
LD A,#02
|
|
||||||
CALL #1601
|
|
||||||
LD (IY+#47),#00
|
|
||||||
LD DE,#A000
|
|
||||||
LD HL,#0008
|
|
||||||
.loop4: LD A,#20
|
|
||||||
RST #10
|
|
||||||
LD A,#20
|
|
||||||
RST #10
|
|
||||||
LD BC,#0008
|
|
||||||
PUSH DE
|
|
||||||
CALL #203C
|
|
||||||
POP DE
|
|
||||||
EXD
|
|
||||||
ADC HL,DE
|
|
||||||
EXD
|
|
||||||
LD A,(VAR_1)
|
|
||||||
DEC A
|
|
||||||
LD (VAR_1),A
|
|
||||||
JR Z,LL0f35
|
|
||||||
LD A,#20
|
|
||||||
RST #10
|
|
||||||
LD A,#20
|
|
||||||
RST #10
|
|
||||||
LD BC,#0008
|
|
||||||
PUSH DE
|
|
||||||
CALL #203C
|
|
||||||
POP DE
|
|
||||||
EXD
|
|
||||||
ADC HL,DE
|
|
||||||
EXD
|
|
||||||
LD A,(VAR_1)
|
|
||||||
DEC A
|
|
||||||
LD (VAR_1),A
|
|
||||||
JR Z,LL0f35
|
|
||||||
LD A,#20
|
|
||||||
RST #10
|
|
||||||
LD A,#20
|
|
||||||
RST #10
|
|
||||||
LD BC,#0008
|
|
||||||
PUSH DE
|
|
||||||
CALL #203C
|
|
||||||
POP DE
|
|
||||||
EXD
|
|
||||||
ADC HL,DE
|
|
||||||
EXD
|
|
||||||
LD A,(VAR_1)
|
|
||||||
DEC A
|
|
||||||
LD (VAR_1),A
|
|
||||||
JR Z,LL0f35
|
|
||||||
LD A,#06
|
|
||||||
RST #10
|
|
||||||
JR .loop4
|
|
||||||
;
|
|
||||||
.ERR_SP: WORD 0
|
|
||||||
NOP
|
|
||||||
LL0f35 LD HL,#5802
|
|
||||||
CALL #F816
|
|
||||||
LD DE,#000A
|
|
||||||
LD IX,#F634
|
|
||||||
LD (IX+#00),#00
|
|
||||||
LL0f46 EI
|
|
||||||
RES 5,(IY+#01)
|
|
||||||
HALT
|
|
||||||
PUSH HL
|
|
||||||
PUSH IX
|
|
||||||
CALL #F9BB
|
|
||||||
CP #40
|
|
||||||
JP NZ,#F792
|
|
||||||
CALL #F989
|
|
||||||
POP IX
|
|
||||||
POP HL
|
|
||||||
BIT 5,(IY+#01)
|
|
||||||
JR Z,LL0f46
|
|
||||||
LD A,(#5C08)
|
|
||||||
CP 8
|
|
||||||
JP Z,#F6ED
|
|
||||||
CP "o"
|
|
||||||
JR Z,LL0fed
|
|
||||||
CP "6"
|
|
||||||
JR Z,LL0fed
|
|
||||||
CP 9
|
|
||||||
JP Z,#F70C
|
|
||||||
CP "p"
|
|
||||||
JP Z,#F70C
|
|
||||||
CP "7"
|
|
||||||
JP Z,#F70C
|
|
||||||
CP 11
|
|
||||||
JP Z,#F72E
|
|
||||||
CP "q"
|
|
||||||
JP Z,#F72E
|
|
||||||
CP "9"
|
|
||||||
JP Z,#F72E
|
|
||||||
CP 10
|
|
||||||
JP Z,#F764
|
|
||||||
CP "a"
|
|
||||||
JP Z,#F764
|
|
||||||
CP "8"
|
|
||||||
JP Z,#F764
|
|
||||||
CP "d"
|
|
||||||
JP Z,#FA1B
|
|
||||||
CP "1"
|
|
||||||
JR Z,LL0fd0
|
|
||||||
CP "2"
|
|
||||||
JR Z,LL0fd0
|
|
||||||
CP "3"
|
|
||||||
JR Z,LL0fd0
|
|
||||||
CP "4"
|
|
||||||
JR Z,LL0fd0
|
|
||||||
PUSH AF
|
|
||||||
LD A,#FE
|
|
||||||
IN A,(#FE)
|
|
||||||
RRA
|
|
||||||
JR NC,LL0f46
|
|
||||||
POP AF
|
|
||||||
CP 13
|
|
||||||
JP Z,#F79D
|
|
||||||
CP "0"
|
|
||||||
JP Z,#F79D
|
|
||||||
CP 32
|
|
||||||
JP Z,#F79D
|
|
||||||
JP #F646
|
|
||||||
LL0fd0 PUSH AF
|
|
||||||
CALL #0D6B
|
|
||||||
LD A,#03
|
|
||||||
CALL #F8CB
|
|
||||||
POP AF
|
|
||||||
SUB #31
|
|
||||||
LD C,#01
|
|
||||||
LD (#5CF8),A
|
|
||||||
LD (#5CF9),A
|
|
||||||
LD (ZX_VARS.CONT_DISK),A
|
|
||||||
CALL #3D13
|
|
||||||
JP #F556
|
|
||||||
LL0fed CALL #F870
|
|
||||||
CALL #F826
|
|
||||||
DEC (IX)
|
|
||||||
|
|
||||||
bootst2
|
|
||||||
bootln1 = $-bootkus1
|
|
||||||
|
|
||||||
LD A,(IX+#00)
|
|
||||||
CP #FF
|
|
||||||
JR NZ,LL345b
|
|
||||||
LD A,(#F86F)
|
|
||||||
LD (IX+#00),A
|
|
||||||
LL345b CALL #F7FA
|
|
||||||
CALL #F816
|
|
||||||
JP #F646
|
|
||||||
CALL #F870
|
|
||||||
CALL #F826
|
|
||||||
INC (IX+#00)
|
|
||||||
LD A,(#F86F)
|
|
||||||
INC A
|
|
||||||
CP (IX+#00)
|
|
||||||
LD A,(IX+#00)
|
|
||||||
JR NZ,LL347d
|
|
||||||
XOR A
|
|
||||||
LD (IX+#00),A
|
|
||||||
LL347d CALL #F7FA
|
|
||||||
CALL #F816
|
|
||||||
JP #F646
|
|
||||||
CALL #F870
|
|
||||||
CALL #F826
|
|
||||||
DEC (IX+#00)
|
|
||||||
DEC (IX+#00)
|
|
||||||
DEC (IX+#00)
|
|
||||||
BIT 7,(IX+#00)
|
|
||||||
LD A,(IX+#00)
|
|
||||||
JR Z,LL34b3
|
|
||||||
LL349e LD B,#03
|
|
||||||
ADD A,B
|
|
||||||
LD B,A
|
|
||||||
PUSH BC
|
|
||||||
LD A,(#F86F)
|
|
||||||
SUB B
|
|
||||||
JR C,LL34ac
|
|
||||||
POP AF
|
|
||||||
JR LL349e
|
|
||||||
LL34ac POP AF
|
|
||||||
DEC A
|
|
||||||
DEC A
|
|
||||||
DEC A
|
|
||||||
LD (IX+#00),A
|
|
||||||
LL34b3 CALL #F7FA
|
|
||||||
CALL #F816
|
|
||||||
JP #F646
|
|
||||||
CALL #F870
|
|
||||||
CALL #F826
|
|
||||||
INC (IX+#00)
|
|
||||||
INC (IX+#00)
|
|
||||||
INC (IX+#00)
|
|
||||||
LD A,(#F86F)
|
|
||||||
SBC A,(IX+#00)
|
|
||||||
LD A,(IX+#00)
|
|
||||||
JR NC,LL34e1
|
|
||||||
LD B,#03
|
|
||||||
LL34d8 SUB B
|
|
||||||
JR NC,LL34d8
|
|
||||||
INC A
|
|
||||||
INC A
|
|
||||||
INC A
|
|
||||||
LD (IX+#00),A
|
|
||||||
LL34e1 CALL #F7FA
|
|
||||||
CALL #F816
|
|
||||||
JP #F646
|
|
||||||
CALL #0D6B
|
|
||||||
LD A,#03
|
|
||||||
CALL #F8CB
|
|
||||||
JP #F556
|
|
||||||
LD BC,#FFFD
|
|
||||||
LD A,#07
|
|
||||||
OUT (C),A
|
|
||||||
LD B,#BF
|
|
||||||
LD A,#FF
|
|
||||||
OUT (C),A ;£«ãè¨â AY
|
|
||||||
CALL #F870
|
|
||||||
LD A,#07
|
|
||||||
LD (#5C48),A
|
|
||||||
LD (#5C8D),A
|
|
||||||
CPL
|
|
||||||
LD (#5D3B),A
|
|
||||||
LD HL,#3C00
|
|
||||||
LD (#5C36),HL
|
|
||||||
LD L,(IX+#00)
|
|
||||||
LD H,#00
|
|
||||||
ADD HL,HL
|
|
||||||
ADD HL,HL
|
|
||||||
ADD HL,HL
|
|
||||||
LD DE,#A000
|
|
||||||
ADD HL,DE
|
|
||||||
LD DE,#F7F0
|
|
||||||
LD BC,#0008
|
|
||||||
LDIR
|
|
||||||
LD HL,(#F632)
|
|
||||||
LD (ZX_VARS.ERR_SP),HL
|
|
||||||
LD HL,#F7EC
|
|
||||||
LD (#5C5D),HL
|
|
||||||
CALL #0D6B
|
|
||||||
DI
|
|
||||||
POP HL
|
|
||||||
EXX
|
|
||||||
POP BC
|
|
||||||
POP DE
|
|
||||||
POP HL
|
|
||||||
POP AF
|
|
||||||
CALL #3D03
|
|
||||||
JP PE,#F73A
|
|
||||||
LD (#6F62),HL
|
|
||||||
LD L,A
|
|
||||||
LD (HL),H
|
|
||||||
JR NZ,LL356e
|
|
||||||
JR NZ,LL3570
|
|
||||||
LD (#D50D),HL
|
|
||||||
INC A
|
|
||||||
LD HL,#5802
|
|
||||||
LD DE,#000A
|
|
||||||
LL355a DEC A
|
|
||||||
JR Z,LL356c
|
|
||||||
ADD HL,DE
|
|
||||||
DEC A
|
|
||||||
JR Z,LL356c
|
|
||||||
ADD HL,DE
|
|
||||||
DEC A
|
|
||||||
JR Z,LL356c
|
|
||||||
INC DE
|
|
||||||
INC DE
|
|
||||||
ADD HL,DE
|
|
||||||
DEC DE
|
|
||||||
DEC DE
|
|
||||||
JR LL355a
|
|
||||||
LL356c POP DE
|
|
||||||
RET
|
|
||||||
LL356e PUSH HL
|
|
||||||
EXX
|
|
||||||
LL3570 POP HL
|
|
||||||
LD A,#70
|
|
||||||
PUSH HL
|
|
||||||
POP DE
|
|
||||||
INC DE
|
|
||||||
LD BC,#0007
|
|
||||||
LD (HL),A
|
|
||||||
LDIR
|
|
||||||
EXX
|
|
||||||
RET
|
|
||||||
PUSH HL
|
|
||||||
EXX
|
|
||||||
POP HL
|
|
||||||
LD A,#42
|
|
||||||
PUSH HL
|
|
||||||
POP DE
|
|
||||||
INC DE
|
|
||||||
LD BC,#0007
|
|
||||||
LD (HL),A
|
|
||||||
LDIR
|
|
||||||
EXX
|
|
||||||
RET
|
|
||||||
;
|
|
||||||
LF836: PUSH HL
|
|
||||||
PUSH DE
|
|
||||||
SBC HL,DE
|
|
||||||
LD A,(HL)
|
|
||||||
LD B,#20
|
|
||||||
SBC A,B
|
|
||||||
JR C,LL35c3
|
|
||||||
LD IX,#F981
|
|
||||||
PUSH HL
|
|
||||||
LD BC,#0800
|
|
||||||
LL35a0 LD A,(HL)
|
|
||||||
CP (IX+#00)
|
|
||||||
JR NZ,LL35a7
|
|
||||||
INC C
|
|
||||||
LL35a7 INC HL
|
|
||||||
INC IX
|
|
||||||
DJNZ LL35a0
|
|
||||||
LD A,C
|
|
||||||
CP #08
|
|
||||||
JR NZ,LL35b4
|
|
||||||
POP HL
|
|
||||||
JR LL35c3
|
|
||||||
LL35b4 EXX
|
|
||||||
POP HL
|
|
||||||
LD BC,#0008
|
|
||||||
LDIR
|
|
||||||
EXX
|
|
||||||
LD A,(VAR_1)
|
|
||||||
INC A
|
|
||||||
LD (VAR_1),A
|
|
||||||
LL35c3 POP DE
|
|
||||||
POP HL
|
|
||||||
RET
|
|
||||||
|
|
||||||
|
|
||||||
VAR_1: DB 0
|
|
||||||
VAR_2: DB 0
|
|
||||||
|
|
||||||
|
|
||||||
PUSH AF
|
|
||||||
PUSH BC
|
|
||||||
LD B,#D2
|
|
||||||
LL35cc PUSH BC
|
|
||||||
XOR A
|
|
||||||
OUT (#FE),A
|
|
||||||
RR B
|
|
||||||
LL35d2 DJNZ LL35d2
|
|
||||||
SET 4,A
|
|
||||||
OUT (#FE),A
|
|
||||||
POP BC
|
|
||||||
DEC B
|
|
||||||
DJNZ LL35cc
|
|
||||||
POP BC
|
|
||||||
POP AF
|
|
||||||
RET
|
|
||||||
;
|
|
||||||
LF887: XOR A
|
|
||||||
CP (IY+#47)
|
|
||||||
JP NZ,#F556
|
|
||||||
CALL #0D6E
|
|
||||||
LD A,#02
|
|
||||||
CALL #1601
|
|
||||||
XOR A
|
|
||||||
CALL #F8CB
|
|
||||||
LD A,#01
|
|
||||||
CALL #1601
|
|
||||||
LD (IY+#47),#FE
|
|
||||||
JP #F795
|
|
||||||
;
|
|
||||||
LF8A6: XOR A
|
|
||||||
CP (IY+#47)
|
|
||||||
JP NZ,#F556
|
|
||||||
CALL #0D6E
|
|
||||||
LD A,#02
|
|
||||||
CALL #1601
|
|
||||||
LD A,#01
|
|
||||||
CALL #F8CB
|
|
||||||
LD A,#3F
|
|
||||||
LD (VAR_1),A
|
|
||||||
LD BC,#FFFF
|
|
||||||
LL361a NOP
|
|
||||||
DJNZ LL361a
|
|
||||||
DEC C
|
|
||||||
JR NZ,LL361a
|
|
||||||
JP #F5B4
|
|
||||||
LD DE,#F8D1
|
|
||||||
JP #0C0A
|
|
||||||
|
|
||||||
DB #80
|
|
||||||
DB #16,#0A,#05
|
|
||||||
DB "!!! NO PROGRAMS !!!"
|
|
||||||
DB (" "+#80)
|
|
||||||
|
|
||||||
DB #16,#0A,#03,#10,#04
|
|
||||||
DB "MORE THAN 63 BASIC FILES" ;than!!!
|
|
||||||
|
|
||||||
DB (" "+#80)
|
|
||||||
|
|
||||||
DB #11,#00,#10,#04,#13,#01
|
|
||||||
DB " -=New ROM boot v1.06=-"
|
|
||||||
DB #06
|
|
||||||
DB "Remix by CompoWellcome 05.02.99"
|
|
||||||
DB ("."+#80)
|
|
||||||
|
|
||||||
DB #10,#02,#13,#01
|
|
||||||
DB " INSERT NEW DISK"
|
|
||||||
DB #06
|
|
||||||
DB " FOR READING CATALOGUE." ;catalogue!
|
|
||||||
|
|
||||||
DB (" "+#80)
|
|
||||||
|
|
||||||
DB "boot "
|
|
||||||
|
|
||||||
LD HL,#5AE1
|
|
||||||
PUSH HL
|
|
||||||
POP DE
|
|
||||||
DEC DE
|
|
||||||
LD BC,#001F
|
|
||||||
LDIR
|
|
||||||
LD HL,#5AFF
|
|
||||||
LD A,(#F9BA)
|
|
||||||
OR A
|
|
||||||
JR Z,LL3703
|
|
||||||
LD A,(HL)
|
|
||||||
AND #07
|
|
||||||
INC A
|
|
||||||
CP #08
|
|
||||||
JR NZ,LL3710
|
|
||||||
XOR A
|
|
||||||
LD (#F9BA),A
|
|
||||||
LD A,#07
|
|
||||||
LL3703 LD A,(HL)
|
|
||||||
AND #07
|
|
||||||
DEC A
|
|
||||||
OR A
|
|
||||||
JR NZ,LL3710
|
|
||||||
CPL
|
|
||||||
LD (#F9BA),A
|
|
||||||
LD A,#01
|
|
||||||
LL3710 LD (HL),A
|
|
||||||
RET
|
|
||||||
LL3712 NOP
|
|
||||||
LD A,#C3
|
|
||||||
LD (#5CC2),A
|
|
||||||
LD HL,#F9E6
|
|
||||||
LD (#5CC3),HL
|
|
||||||
LD IX,#2FC1
|
|
||||||
CALL #FA20
|
|
||||||
LD A,#08
|
|
||||||
LD C,#1F
|
|
||||||
LD IX,#2A53
|
|
||||||
CALL #FA20
|
|
||||||
LD (#F9E7),SP
|
|
||||||
LD DE,#0000
|
|
||||||
LD IX,#2740
|
|
||||||
CALL #FA20
|
|
||||||
LD SP,#0000
|
|
||||||
LD IX,#1FF3
|
|
||||||
CALL #FA20
|
|
||||||
LD IX,#1FEB
|
|
||||||
CALL #FA20
|
|
||||||
LD IX,#2FC1
|
|
||||||
CALL #FA20
|
|
||||||
LD A,#C9
|
|
||||||
LD (#5CC2),A
|
|
||||||
LD A,(#5CCD)
|
|
||||||
AND #40
|
|
||||||
RET
|
|
||||||
LL3761 LD A,#30
|
|
||||||
INC A
|
|
||||||
CP #33
|
|
||||||
LD (#FA0A),A
|
|
||||||
JP NZ,#F6D0
|
|
||||||
LD A,#30
|
|
||||||
LD (#FA0A),A
|
|
||||||
JR LL3761
|
|
||||||
DI
|
|
||||||
LD IX,#0000
|
|
||||||
PUSH IX
|
|
||||||
JP #3D2F
|
|
||||||
|
|
||||||
BLOCK 3,#FF
|
|
||||||
|
|
||||||
ENT
|
|
||||||
Loading…
Reference in New Issue
Block a user