19535 lines
520 KiB
NASM
19535 lines
520 KiB
NASM
; Disassembly of the file "mz2z009e.bin"
|
|
;
|
|
; CPU Type: Z80
|
|
;
|
|
; Created with dZ80 2.1
|
|
;
|
|
; on Tuesday, 17 of March 2026 at 05:57 PM
|
|
;
|
|
LSWF EQU 0CCH
|
|
LSRF EQU 0CDH
|
|
LSDMD EQU 0CEH
|
|
LSSCR EQU 0CFH
|
|
LSD0 EQU 0D0H
|
|
LSD1 EQU 0D1H
|
|
LSD2 EQU 0D2H
|
|
LSD3 EQU 0D3H
|
|
LSE0 EQU 0E0H
|
|
LSE1 EQU 0E1H
|
|
LSE2 EQU 0E2H
|
|
LSE3 EQU 0E3H
|
|
LSE4 EQU 0E4H
|
|
LSE5 EQU 0E5H
|
|
LSE6 EQU 0E6H
|
|
EM_P0 EQU 0EAH
|
|
EM_P1 EQU 0EBH
|
|
LSPAL EQU 0F0H
|
|
QDPA EQU 0F2H
|
|
QDPB EQU 0F3H
|
|
QDPC EQU 0F4H
|
|
QDPD EQU 0F5H
|
|
FDPA EQU 0F8H
|
|
FDPB EQU 0F9H
|
|
FDPC EQU 0FAH
|
|
FDPD EQU 0FBH
|
|
LSFC EQU 0FCH
|
|
ELMD EQU 01000H
|
|
ELMD1 EQU 01001H
|
|
ELMD18 EQU 01012H
|
|
ELMD20 EQU 01014H
|
|
ELMD22 EQU 01016H
|
|
ELMD24 EQU 01018H
|
|
ELMD26 EQU 0101AH
|
|
ELMD30 EQU 0101EH
|
|
ELMD32 EQU 01020H
|
|
ZTOP EQU 01040H
|
|
ZLOG EQU 01042H
|
|
ZRWX EQU 01043H
|
|
ZEQT EQU 01044H
|
|
ZCH EQU 01046H
|
|
ZEOF EQU 01047H
|
|
ZWRK1 EQU 01048H
|
|
ZWRK2 EQU 01049H
|
|
ZNXT EQU 0104AH
|
|
ZDEVNM EQU 0104CH
|
|
ZFLAG1 EQU 01050H
|
|
ZFLAG2 EQU 01051H
|
|
ZDIRMX EQU 01052H
|
|
ZINIT EQU 01053H
|
|
ZRO EQU 01055H
|
|
ZWO EQU 01057H
|
|
ZCL EQU 01059H
|
|
ZKL EQU 0105BH
|
|
ZINP EQU 0105DH
|
|
ZOUT EQU 0105FH
|
|
ZDELT EQU 01061H
|
|
ZWDIR EQU 01063H
|
|
ZFREE EQU 01065H
|
|
DCHAN EQU 01069H
|
|
DDEV EQU 0106AH
|
|
.$CRT EQU 0106CH
|
|
.$LPT EQU 0106EH
|
|
TEXTST EQU 01070H
|
|
TEXTED EQU 01072H
|
|
VARST EQU 01074H
|
|
STRST EQU 01076H
|
|
VARED EQU 01078H
|
|
TMPEND EQU 0107AH
|
|
INTFAC EQU 0107CH
|
|
MEMLMT EQU 0107EH
|
|
MEMMAX EQU 01080H
|
|
CURXY EQU 01082H
|
|
POSADR EQU 01084H
|
|
BITADR EQU 01086H
|
|
POINTX EQU 01088H
|
|
POINTY EQU 0108AH
|
|
CURFLG EQU 0108CH
|
|
CURMAK EQU 0108DH
|
|
CMTMSG EQU 0108EH
|
|
INPFLG EQU 0108FH
|
|
DISPX EQU 01090H
|
|
FILOUT EQU 01091H
|
|
PSEL EQU 01092H
|
|
PCRLF EQU 01093H
|
|
LPT_TM EQU 01094H
|
|
LPOSB EQU 01095H
|
|
PSMAL EQU 01096H
|
|
PNMODE EQU 01097H
|
|
DMD EQU 01098H
|
|
MEMOP EQU 01099H
|
|
PWMODE EQU 0109AH
|
|
CMODE EQU 0109BH
|
|
CPLANE EQU 0109CH
|
|
MAXCF EQU 0109DH
|
|
PMASK EQU 0109EH
|
|
GMODE EQU 0109FH
|
|
TMCNT EQU 01195H
|
|
SUMDT EQU 01197H
|
|
CSMDT EQU 01199H
|
|
TEMPW EQU 0119EH
|
|
KEYBM1 EQU 011A3H
|
|
KEYBUF EQU 011A4H
|
|
KEY262 EQU 012AAH
|
|
KEY264 EQU 012ACH
|
|
KEY266 EQU 012AEH
|
|
FUNBUF EQU 012B2H
|
|
INBUFC EQU 01352H
|
|
INBUFL EQU 01353H
|
|
INBUF EQU 01354H
|
|
LINLIM EQU 01364H
|
|
KEYDAT EQU 01365H
|
|
AMPM EQU 01366H
|
|
SECD EQU 01367H
|
|
XS EQU 01369H
|
|
XE EQU 0136AH
|
|
CWIDTH EQU 0136BH
|
|
CSIZE EQU 0136DH
|
|
YS EQU 0136FH
|
|
YE EQU 01370H
|
|
YW EQU 01371H
|
|
SOF EQU 01372H
|
|
SW EQU 01374H
|
|
SSA EQU 01375H
|
|
SEA EQU 01376H
|
|
SSW EQU 01377H
|
|
CRTMD1 EQU 01379H
|
|
CRTMD2 EQU 0137AH
|
|
SELCOL EQU 0137BH
|
|
PAIWED EQU 0137CH
|
|
PALBK EQU 0137EH
|
|
PALAD EQU 0137FH
|
|
PALTBL EQU 01381H
|
|
PAL2T EQU 01385H
|
|
PAL4T EQU 01389H
|
|
PAL16T EQU 0138DH
|
|
CURDT1 EQU 01391H
|
|
CURDT2 EQU 01399H
|
|
CURDT3 EQU 013A1H
|
|
SCRNT0 EQU 013A9H
|
|
EMFLG EQU 013C3H
|
|
EMPTR EQU 013C4H
|
|
EMWP0 EQU 013C6H
|
|
EMWP1 EQU 013C8H
|
|
PBCN EQU 013CEH
|
|
HERRF EQU 013D9H
|
|
CTABLE EQU 013DAH
|
|
FONTBF EQU 01000H
|
|
TEXTBF EQU 02000H
|
|
BITBUF EQU 08000H
|
|
IBUFE EQU 010F0H
|
|
ERRTXT EQU 0FDA0H
|
|
PRGSTART EQU 00000H
|
|
|
|
; ===========================================================================
|
|
; Build configuration — set these flags to select the build variant:
|
|
;
|
|
; BUILD_RFS=0, BUILD_TAPE=0 : Original BASIC (FD boot BIN)
|
|
; BUILD_RFS=0, BUILD_TAPE=1 : Original BASIC (Tape/CMT/RFS ROM boot)
|
|
; BUILD_RFS=1, BUILD_TAPE=0 : RFS Enhanced BASIC (FD boot BIN)
|
|
; BUILD_RFS=1, BUILD_TAPE=1 : RFS Enhanced BASIC (Tape/CMT/RFS ROM boot)
|
|
; ===========================================================================
|
|
;BUILD_RFS EQU 1 ; 0 = original BASIC, 1 = RFS enhancements
|
|
;BUILD_TAPE EQU 0 ; 0 = FD/BIN, 1 = Tape/CMT/RFS ROM boot
|
|
|
|
; Tape/CMT boot constants
|
|
ATRB EQU 010F0H ; MZF header location (= ELMD area)
|
|
TAPECOPY EQU 01200H ; Load address for tape bootstrap
|
|
TIMST EQU 00033H ; Timer stop routine in Monitor ROM
|
|
HDRLEN EQU 00040H ; MZF header length (64 bytes)
|
|
|
|
; RFS (ROM Filing System) hardware registers and constants
|
|
PORT_LODRAM EQU 0E0H ; OUT: map 0000-0FFF to DRAM
|
|
PORT_DRAM EQU 0E1H ; OUT: map D000-FFFF to DRAM
|
|
PORT_LOROM EQU 0E2H ; OUT: map 0000-0FFF to Monitor ROM
|
|
PORT_MMIO EQU 0E3H ; OUT: map D000-FFFF to VRAM/MMIO/ROM
|
|
BNKCTRLRST EQU 0EFF8H ; RFS bank control reset register
|
|
BNKCTRL EQU 0EFFFH ; Bank Control register (CS, CLK bits)
|
|
HWSPIDATA EQU 0EFFBH ; Hardware SPI Data register (read/write)
|
|
HWSPISTART EQU 0EFFCH ; Start SPI transfer register
|
|
SDCS_ACT EQU 001H ; BNKCTRL: CS LOW (active), BBCLK enable
|
|
SDCS_DEACT EQU 003H ; BNKCTRL: CS HIGH (inactive), BBCLK enable
|
|
L8CA0 EQU 08CA0H ; Color attribute buffer address (was DS padding)
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; MZF tape header (only for BUILD_TAPE=1)
|
|
; ---------------------------------------------------------------------------
|
|
IF BUILD_TAPE = 1
|
|
ORG ATRB
|
|
BOOTATRB: DB 001H ; File type: 01 = Machine Code
|
|
IF BUILD_RFS = 1
|
|
BOOTNAME: DB "BASIC 2Z-009ERFS", 00DH ; Title (17 bytes + CR)
|
|
ELSE
|
|
BOOTNAME: DB "BASIC 2Z-009E ", 00DH ; Title (17 bytes + CR)
|
|
ENDIF
|
|
BOOTSIZE: DW BASICEND - L0000 ; Size of program
|
|
BOOTDTADR: DW TAPECOPY ; Load address
|
|
BOOTEXADR: DW EXECSTART + TAPECOPY ; Exec address (relocated)
|
|
BOOTCOMNT: DS 104 ; Comment area (unused)
|
|
ENDIF
|
|
|
|
ORG PRGSTART
|
|
|
|
L0000: JP L0CAF ; Cold start entry - JP to initialization
|
|
|
|
L0003: JP L028C
|
|
|
|
L0006: JP L05EC
|
|
|
|
JP L05E8
|
|
|
|
L000C: JP L0BFD
|
|
|
|
L000F: JP L05F1
|
|
|
|
L0012: JP L0BFF
|
|
|
|
L0015: JP L0BEE
|
|
|
|
SVC_ENTRY: JP SVC_DISP ; RST 18H - SVC (Supervisor Call) dispatcher
|
|
|
|
JP L041C
|
|
|
|
BRKCHK: JP L05C1
|
|
|
|
JP L30CB
|
|
|
|
JP L30D2
|
|
|
|
L0027: JP L3114
|
|
|
|
JP L311B
|
|
|
|
JP L3153
|
|
|
|
L0030: JP L14BC
|
|
|
|
JP L0955
|
|
|
|
L0036: LD B,B
|
|
NOP
|
|
RST38: JP BREAKZ ; RST 38H - Interrupt handler
|
|
|
|
JP L098F
|
|
|
|
L003E: JP L0D3F
|
|
|
|
L0041: JP L0D30
|
|
|
|
JP L0D05
|
|
|
|
JP L0D20
|
|
|
|
JP L028C
|
|
|
|
L004D: DB 000H ; System status / work area
|
|
L004E: DB 000H
|
|
L004F: DB 0FFH
|
|
L0050: DB 000H
|
|
L0051: JP L0BEE ; Jump vector (dynamic)
|
|
L0054: DS 2, 000H
|
|
L0056: DB 000H
|
|
L0057: DB 018H
|
|
L0058: JP 0038AH ; Jump vector (dynamic)
|
|
L005B: DB 000H
|
|
DB 027H
|
|
L005D: DB 071H
|
|
DB 000H
|
|
L005F: DB 000H
|
|
L0060: DB 0EFH
|
|
DB 0C3H
|
|
DB 037H
|
|
DB 00AH
|
|
L0064: DB 000H
|
|
L0065: DB 000H
|
|
L0066: DB 000H
|
|
L0067: DB LSE5
|
|
DB 000H
|
|
DB LSE5
|
|
DB 000H
|
|
DB LSE5
|
|
DB 000H
|
|
DB 0ADH
|
|
DB 007H
|
|
DB 0F1H
|
|
DB 008H
|
|
L0071: DB 015H
|
|
DB 008H
|
|
DB 012H
|
|
DB 008H
|
|
DB LSE5
|
|
DB 000H
|
|
DB LSE5
|
|
DB 000H
|
|
DB LSE5
|
|
DB 000H
|
|
DB LSE5
|
|
DB 000H
|
|
DB LSE5
|
|
DB 000H
|
|
DB LSE5
|
|
L0080: DB 000H
|
|
L0081: DB 0ADH
|
|
DB 007H
|
|
DB LSE5
|
|
DB 000H
|
|
DB LSE5
|
|
DB 000H
|
|
DB 01EH
|
|
DB 008H
|
|
DB LSWF
|
|
DB 007H
|
|
DB LSPAL
|
|
DB 007H
|
|
DB LSD1
|
|
DB 007H
|
|
DB QDPD
|
|
DB 007H
|
|
DB 054H
|
|
DB 007H
|
|
DB 074H
|
|
DB 007H
|
|
DB 018H
|
|
DB 008H
|
|
DB 0BAH
|
|
DB 008H
|
|
DB 012H
|
|
DB 008H
|
|
DB LSE5
|
|
DB 000H
|
|
DB 0ADH
|
|
DB 007H
|
|
DB LSE5
|
|
L00A0: DB 000H
|
|
DB LSE5
|
|
DB 000H
|
|
DB LSE5
|
|
DB 000H
|
|
DB LSE5
|
|
.NOP: DB 000H
|
|
.HL: DS 11, 000H
|
|
.RET: DS 8, 000H
|
|
PUSHRA: DS 6, 000H
|
|
L00C0: DS 7, 000H
|
|
PUSHR: DS 18, 000H
|
|
L00D9: DB 000H
|
|
L00DA: DI
|
|
LD SP,L0000
|
|
IM 1
|
|
OUT (LSE1),A
|
|
JP L1800
|
|
|
|
BREAKZ: RET
|
|
|
|
BREAKX: DI
|
|
OUT (LSE3),A
|
|
L00E9: LD A,(HL)
|
|
OUT (LSE1),A
|
|
EI
|
|
ERRORJ: RET
|
|
|
|
POPRA: DI
|
|
OUT (LSE3),A
|
|
LD (HL),A
|
|
OUT (LSE1),A
|
|
EI
|
|
RET
|
|
|
|
JP L026A
|
|
|
|
L00F9: NOP
|
|
L00FA: JP (HL)
|
|
|
|
IOOUT: EX (SP),IX
|
|
PUSH HL
|
|
PUSH BC
|
|
PUSH DE
|
|
L0100: PUSH AF
|
|
PUSH HL
|
|
LD HL,L0114
|
|
EX (SP),HL
|
|
JP (IX)
|
|
|
|
SKPDE: EX (SP),IX
|
|
PUSH HL
|
|
PUSH BC
|
|
PUSH DE
|
|
DEVASC: PUSH HL
|
|
LD HL,L0115
|
|
EX (SP),HL
|
|
JP (IX)
|
|
|
|
L0114: POP AF
|
|
L0115: POP DE
|
|
POP BC
|
|
POP HL
|
|
POP IX
|
|
RET
|
|
|
|
CHKACC: EX (SP),HL
|
|
PUSH BC
|
|
LD B,(HL)
|
|
L011E: INC HL
|
|
CP (HL)
|
|
JR Z,L0127 ; (+005H)
|
|
DJNZ L011E ; (-006H)
|
|
INC HL
|
|
JR L012A ; (+003H)
|
|
|
|
L0127: INC HL
|
|
DJNZ L0127 ; (-003H)
|
|
L012A: POP BC
|
|
EX (SP),HL
|
|
RET
|
|
|
|
LDDEMI: LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
INC HL
|
|
RET
|
|
|
|
LDDEMD: LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
DEC HL
|
|
RET
|
|
|
|
?CLRHL: XOR A
|
|
?SETHL: LD (HL),A
|
|
INC HL
|
|
DJNZ ?SETHL ; (-004H)
|
|
RET
|
|
|
|
?CLRDE: XOR A
|
|
?SETDE: LD (DE),A
|
|
INC DE
|
|
L0140: DJNZ ?SETDE ; (-004H)
|
|
RET
|
|
|
|
LDDEHL: LD A,(HL)
|
|
LD (DE),A
|
|
INC HL
|
|
INC DE
|
|
DJNZ LDDEHL ; (-006H)
|
|
RET
|
|
|
|
LDHLDE: LD A,(DE)
|
|
LD (HL),A
|
|
INC HL
|
|
INC DE
|
|
DJNZ LDHLDE ; (-006H)
|
|
RET
|
|
|
|
INDRCT: PUSH AF
|
|
LD A,(HL)
|
|
INC HL
|
|
LD H,(HL)
|
|
LD L,A
|
|
POP AF
|
|
RET
|
|
|
|
ADDHLA: ADD A,L
|
|
LD L,A
|
|
RET NC
|
|
INC H
|
|
RET
|
|
|
|
INCHLF: INC HL
|
|
HLFTCH: LD A,(HL)
|
|
CP 020H
|
|
JR Z,INCHLF ; (-006H)
|
|
RET
|
|
|
|
TEST1: CALL HLFTCH
|
|
EX (SP),HL
|
|
L0168: CP (HL)
|
|
INC HL
|
|
EX (SP),HL
|
|
RET NZ
|
|
INC HL
|
|
RET
|
|
|
|
TESTX: CALL HLFTCH
|
|
EX (SP),HL
|
|
CP (HL)
|
|
INC HL
|
|
EX (SP),HL
|
|
INC HL
|
|
RET Z
|
|
LD A,001H
|
|
JR L0182 ; (+007H)
|
|
|
|
L017B: XOR A
|
|
LD HL,0803EH
|
|
LD HL,L80F6
|
|
L0182: PUSH AF
|
|
JP RFS_ERR_HOOK ; Hook BEFORE L0D20 (Monitor ROM overlay at 0000-0FFF)
|
|
POP AF ; Dead code — original bytes for Monitor ROM compatibility
|
|
JP L0000 ; Dead code — original warm restart target
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; SVC Dispatch Table — 80 entries (#00-#4F), each a 16-bit handler address.
|
|
; RST 018H reads the SVC number (byte after RST), looks up handler[SVC*2].
|
|
; ---------------------------------------------------------------------------
|
|
L018A: DW 03D7CH ; SVC #00
|
|
DW 005ECH ; SVC #01
|
|
DW 005E8H ; SVC #02
|
|
DW 00BFFH ; SVC #03
|
|
DW 00C43H ; SVC #04
|
|
DW 00908H ; SVC #05
|
|
DW 00FA9H ; SVC #06
|
|
DW 00F3EH ; SVC #07
|
|
DW 00BC8H ; SVC #08
|
|
DW 00BCAH ; SVC #09
|
|
DW 00BD8H ; SVC #0A
|
|
DW 00BE6H ; SVC #0B
|
|
DW 0028CH ; SVC #0C
|
|
DW 0038AH ; SVC #0D
|
|
DW 005C1H ; SVC #0E
|
|
DW 014A0H ; SVC #0F
|
|
DW 00A87H ; SVC #10
|
|
DW 00A89H ; SVC #11
|
|
DW 00A37H ; SVC #12
|
|
DW 01446H ; SVC #13
|
|
DW 01476H ; SVC #14
|
|
DW 01491H ; SVC #15
|
|
DW 01406H ; SVC #16
|
|
DW 0025CH ; SVC #17
|
|
DW 00CE1H ; SVC #18
|
|
DW 00CE8H ; SVC #19
|
|
DW 00CEFH ; SVC #1A
|
|
DW 014E5H ; SVC #1B
|
|
DW 013A4H ; SVC #1C
|
|
DW 01372H ; SVC #1D
|
|
DW 0064BH ; SVC #1E
|
|
DW 000E5H ; SVC #1F
|
|
DW 00D3EH ; SVC #20
|
|
DW 00030H ; SVC #21
|
|
DW 000E5H ; SVC #22
|
|
DW 000E5H ; SVC #23
|
|
DW 000E5H ; SVC #24
|
|
DW 0098FH ; SVC #25
|
|
DW 00955H ; SVC #26
|
|
DW 000E5H ; SVC #27
|
|
DW 01BE8H ; SVC #28
|
|
DW 01EDBH ; SVC #29
|
|
DW 01F1DH ; SVC #2A
|
|
L01E0: DW 01EF1H ; SVC #2B
|
|
DW 01A3DH ; SVC #2C
|
|
DW 01AB8H ; SVC #2D
|
|
DW 019E0H ; SVC #2E
|
|
DW 01B71H ; SVC #2F
|
|
DW 01CB4H ; SVC #30
|
|
DW 01CD8H ; SVC #31
|
|
DW 01CC9H ; SVC #32
|
|
DW 01AE1H ; SVC #33
|
|
DW 018D0H ; SVC #34
|
|
DW 018E4H ; SVC #35
|
|
DW 0194CH ; SVC #36
|
|
DW 0180FH ; SVC #37
|
|
DW 01BA7H ; SVC #38
|
|
DW 01D1BH ; SVC #39
|
|
DW 014DDH ; SVC #3A
|
|
L0200: DW 000E5H ; SVC #3B
|
|
DW 01E58H ; SVC #3C
|
|
DW 02C67H ; SVC #3D
|
|
DW 02CB6H ; SVC #3E
|
|
DW 02C46H ; SVC #3F
|
|
DW 02900H ; SVC #40
|
|
DW 02A9DH ; SVC #41
|
|
DW 02925H ; SVC #42
|
|
DW 01FABH ; SVC #43
|
|
DW 02AFCH ; SVC #44
|
|
DW 00774H ; SVC #45
|
|
DW 000E5H ; SVC #46 (BREAKZ)
|
|
DW 000E5H ; SVC #47
|
|
DW 000E5H ; SVC #48
|
|
DW 000E5H ; SVC #49
|
|
DW 000E5H ; SVC #4A
|
|
DW 000E5H ; SVC #4B
|
|
DW 000E5H ; SVC #4C
|
|
DW 000E5H ; SVC #4D
|
|
DW 000E5H ; SVC #4E
|
|
DW 000E5H ; SVC #4F
|
|
SVC_DISP: EX (SP),HL
|
|
PUSH AF
|
|
LD A,(HL)
|
|
INC HL
|
|
PUSH HL
|
|
LD HL,L018A
|
|
ADD A,A
|
|
ADD A,L
|
|
JR NC,L0237 ; (+001H)
|
|
INC H
|
|
L0237: LD L,A
|
|
LD A,(HL)
|
|
INC HL
|
|
LD H,(HL)
|
|
LD L,A
|
|
LD (00243H),HL
|
|
POP HL
|
|
POP AF
|
|
EX (SP),HL
|
|
JP L0000
|
|
|
|
IOCALL: PUSH HL
|
|
PUSH DE
|
|
LD (00251H),IX
|
|
LD IX,00180H
|
|
OR A
|
|
CALL L0000
|
|
POP DE
|
|
POP HL
|
|
RET NC
|
|
OR A
|
|
SCF
|
|
L0258: RET Z
|
|
JP 00180H
|
|
|
|
PUSH DE
|
|
LD B,000H
|
|
L025F: LD A,(DE)
|
|
OR A
|
|
JR Z,L0268 ; (+005H)
|
|
INC DE
|
|
INC B
|
|
JR NZ,L025F ; (-008H)
|
|
DEC B
|
|
L0268: POP DE
|
|
RET
|
|
|
|
L026A: PUSH HL
|
|
LD HL,(L0054)
|
|
PUSH HL
|
|
PUSH DE
|
|
CALL PUSHW
|
|
POP DE
|
|
LD (HL),000H
|
|
POP HL
|
|
CALL L028C
|
|
JR C,L028A ; (+00eH)
|
|
LD A,(L005B)
|
|
SUB L
|
|
JR NC,L028A ; (+008H)
|
|
NEG
|
|
LD L,A
|
|
LD H,000H
|
|
ADD HL,DE
|
|
EX DE,HL
|
|
OR A
|
|
L028A: POP HL
|
|
RET
|
|
|
|
L028C: PUSH BC
|
|
PUSH HL
|
|
PUSH DE
|
|
L028F: CALL L0391
|
|
CP 00DH
|
|
JP Z,L0311
|
|
CP 01BH
|
|
JR Z,L02E8 ; (+04dH)
|
|
PUSH AF
|
|
CP 020H
|
|
DEASC: JR C,L02CD ; (+02dH)
|
|
JR L02C8 ; (+026H)
|
|
|
|
L02A2: LD A,(L004D)
|
|
OR A
|
|
JR NZ,L02C8 ; (+020H)
|
|
LD A,(00B18H)
|
|
RRCA
|
|
JR C,L02C8 ; (+01aH)
|
|
LD A,(L004E)
|
|
OR A
|
|
JR NZ,L02C8 ; (+014H)
|
|
POP AF
|
|
LD HL,L06C1
|
|
CP 011H
|
|
JR Z,L02C3 ; (+007H)
|
|
LD HL,L06E7
|
|
CP 012H
|
|
JR NZ,L02C9 ; (+006H)
|
|
L02C3: CALL L00FA
|
|
JR L028F ; (-039H)
|
|
|
|
L02C8: POP AF
|
|
L02C9: RST 018H
|
|
DB 003H
|
|
JR L028F ; (-03eH)
|
|
|
|
L02CD: LD A,(L0060)
|
|
CP 0FFH
|
|
JR NZ,L02A2 ; (-032H)
|
|
POP AF
|
|
CP 017H
|
|
JR NC,L02C9 ; (-010H)
|
|
CP 011H
|
|
JR C,L02C9 ; (-014H)
|
|
LD HL,(00B18H)
|
|
BIT 6,L
|
|
JR Z,L02C9 ; (-01bH)
|
|
RST 018H
|
|
DB 004H
|
|
JR L028F ; (-059H)
|
|
|
|
L02E8: SCF
|
|
CKHEX: PUSH AF
|
|
LD A,00DH
|
|
RST 018H
|
|
DB 003H
|
|
POP AF
|
|
POP DE
|
|
POP HL
|
|
POP BC
|
|
RET
|
|
|
|
L02F3: CALL PUSHW
|
|
L02F6: LD A,(HL)
|
|
OR A
|
|
MHALT: RET Z
|
|
DEC HL
|
|
DEC E
|
|
LD A,(L0056)
|
|
CP E
|
|
JR C,L02F6 ; (-00bH)
|
|
RET
|
|
|
|
L0302: CALL PUSHW
|
|
L0305: INC E
|
|
INC HL
|
|
LD A,(HL)
|
|
OR A
|
|
RET Z
|
|
LD A,(L0057)
|
|
CP E
|
|
JR NC,L0305 ; (-00bH)
|
|
RET
|
|
|
|
L0311: LD HL,(L0054)
|
|
SETDFL: CALL L02F3
|
|
LD D,E
|
|
CALL L0305
|
|
LD A,(L005B)
|
|
LD L,A
|
|
LD A,E
|
|
SUB D
|
|
LD E,A
|
|
LD H,D
|
|
ADDP1: LD D,L
|
|
RST 018H
|
|
DB 01EH
|
|
LD A,(0005CH)
|
|
SUB D
|
|
ADDP2: INC A
|
|
LD D,A
|
|
POP BC
|
|
PUSH BC
|
|
EXX
|
|
PUSH HL
|
|
LD HL,(L004F)
|
|
EXX
|
|
L0334: PUSH DE
|
|
PUSH HL
|
|
L0336: CALL BREAKX
|
|
RST 018H
|
|
DB 01CH
|
|
INC HL
|
|
LD (BC),A
|
|
INC BC
|
|
L033E: EXX
|
|
DEC L
|
|
ERRX: JR Z,L0354 ; (+012H)
|
|
EXX
|
|
DEC D
|
|
JR NZ,L0336 ; (-010H)
|
|
POP HL
|
|
PUSH BC
|
|
LD BC,00028H
|
|
ADD HL,BC
|
|
POP BC
|
|
POP DE
|
|
DEC E
|
|
JR NZ,L0334 ; (-01dH)
|
|
PUSH DE
|
|
PUSH HL
|
|
EXX
|
|
L0354: EXX
|
|
POP HL
|
|
POP DE
|
|
EXX
|
|
POP HL
|
|
EXX
|
|
XOR A
|
|
LD (BC),A
|
|
LD L,C
|
|
LD H,B
|
|
POP DE
|
|
PUSH DE
|
|
PUSH HL
|
|
OR A
|
|
SBC HL,DE
|
|
LD B,L
|
|
POP HL
|
|
LD A,020H
|
|
LD D,A
|
|
JP Z,CKHEX
|
|
DEC HL
|
|
L036D: LD A,(HL)
|
|
OR A
|
|
JR Z,L0376 ; (+005H)
|
|
CP D
|
|
JR NZ,L037D ; (+009H)
|
|
LD (HL),000H
|
|
L0376: DEC HL
|
|
DJNZ L036D ; (-00cH)
|
|
OR A
|
|
JP CKHEX
|
|
|
|
L037D: LD A,(HL)
|
|
OR A
|
|
JR NZ,L0383 ; (+002H)
|
|
LD (HL),020H
|
|
L0383: DEC HL
|
|
DJNZ L037D ; (-009H)
|
|
OR A
|
|
JP CKHEX
|
|
|
|
INC A
|
|
JR Z,L0406 ; (+079H)
|
|
DEC A
|
|
JP Z,L041C
|
|
L0391: CALL L0426
|
|
CALL SKPDE
|
|
SETDNM: CALL L0648
|
|
CALL BREAKX
|
|
LD D,A
|
|
LD A,(L0060)
|
|
LD E,A
|
|
CALL POPRA
|
|
XOR A
|
|
DI
|
|
OUT (LSE3),A
|
|
LD (0E000H),A
|
|
CPL
|
|
LD (0E000H),A
|
|
OUT (LSE1),A
|
|
EI
|
|
LD C,000H
|
|
EX AF,AF'
|
|
PUSH AF
|
|
CALL L0459
|
|
LD A,000H
|
|
L03BC: EX AF,AF'
|
|
L03BD: LD B,010H
|
|
L03BF: CALL L043C
|
|
CALL L0459
|
|
BIT 1,A
|
|
JR NZ,L03BD ; (-00cH)
|
|
DJNZ L03BF ; (-00cH)
|
|
BIT 0,A
|
|
JR Z,L03DB ; (+00cH)
|
|
BIT 2,A
|
|
JR NZ,L03EC ; (+019H)
|
|
EX AF,AF'
|
|
DEC A
|
|
JR NZ,L03BC ; (-01bH)
|
|
LD A,006H
|
|
JR L03EE ; (+013H)
|
|
|
|
L03DB: PUSH HL
|
|
PUSH DE
|
|
PUSH BC
|
|
LD HL,INKEY1
|
|
LD DE,L0B17
|
|
LD BC,0000AH
|
|
L03E7: LDIR
|
|
POP BC
|
|
POP DE
|
|
POP HL
|
|
L03EC: LD A,040H
|
|
L03EE: LD (003BBH),A
|
|
L03F1: CALL L043C
|
|
CALL L0494
|
|
OR A
|
|
JR Z,L03F1 ; (-009H)
|
|
LD (L005F),A
|
|
LD C,A
|
|
LD A,D
|
|
CALL POPRA
|
|
POP AF
|
|
EX AF,AF'
|
|
LD A,C
|
|
RET
|
|
|
|
L0406: CALL L0426
|
|
PUSH HL
|
|
CALL L0494
|
|
LD HL,L005F
|
|
OR A
|
|
JR Z,L0419 ; (+006H)
|
|
CP (HL)
|
|
JR NZ,L0419 ; (+003H)
|
|
POP HL
|
|
XOR A
|
|
RET
|
|
|
|
L0419: LD (HL),A
|
|
POP HL
|
|
RET
|
|
|
|
L041C: CALL L0426
|
|
CALL L0494
|
|
LD (L005F),A
|
|
RET
|
|
|
|
L0426: PUSH HL
|
|
LD HL,(L1360)
|
|
LD A,L
|
|
CP H
|
|
POP HL
|
|
RET Z
|
|
EX (SP),HL
|
|
INC A
|
|
LD (L1360),A
|
|
LD HL,L1361
|
|
CALL ADDHLA
|
|
LD A,(HL)
|
|
POP HL
|
|
RET
|
|
|
|
L043C: DI
|
|
OUT (LSE3),A
|
|
LD A,(0E002H)
|
|
OUT (LSE1),A
|
|
EI
|
|
RLCA
|
|
RLCA
|
|
LD A,C
|
|
JR C,L0451 ; (+007H)
|
|
OR A
|
|
RET Z
|
|
LD C,000H
|
|
LD A,D
|
|
DPALBK: JR L0456 ; (+005H)
|
|
|
|
L0451: DEC A
|
|
RET Z
|
|
LD C,001H
|
|
LD A,E
|
|
L0456: JP POPRA
|
|
|
|
L0459: CALL SKPDE
|
|
LD DE,INKEY1
|
|
LD HL,L0B17
|
|
LD BC,L0A00
|
|
DI
|
|
OUT (LSE3),A
|
|
L0468: LD A,B
|
|
ADD A,0EFH
|
|
LD (0E000H),A
|
|
CP FDPA
|
|
LD A,(0E001H)
|
|
JR NZ,L0477 ; (+002H)
|
|
OR 07FH
|
|
L0477: CP 0FFH
|
|
JR Z,L047D ; (+002H)
|
|
SET 0,C
|
|
L047D: EX DE,HL
|
|
CP (HL)
|
|
LD (HL),A
|
|
EX DE,HL
|
|
JR Z,L0485 ; (+002H)
|
|
SET 1,C
|
|
L0485: CPL
|
|
AND (HL)
|
|
JR Z,L048B ; (+002H)
|
|
SET 2,C
|
|
L048B: INC HL
|
|
INC DE
|
|
DJNZ L0468 ; (-027H)
|
|
LD A,C
|
|
L0490: OUT (LSE1),A
|
|
EI
|
|
DGCOL: RET
|
|
|
|
L0494: CALL SKPDE
|
|
LD HL,L0B17
|
|
LD DE,INKEY1
|
|
PUSH HL
|
|
PUSH DE
|
|
LD BC,0000AH
|
|
LDIR
|
|
POP HL
|
|
POP DE
|
|
LD BC,L0AF9
|
|
DI
|
|
OUT (LSE3),A
|
|
LD A,C
|
|
LD (0E000H),A
|
|
NOP
|
|
LD A,(0E001H)
|
|
LD (DE),A
|
|
L04B5: LD A,C
|
|
LD (0E000H),A
|
|
CP FDPA
|
|
LD A,(0E001H)
|
|
LD (DE),A
|
|
JR Z,L04E4 ; (+023H)
|
|
CPL
|
|
AND (HL)
|
|
L04C3: LD (HL),A
|
|
INC DE
|
|
INC HL
|
|
DEC C
|
|
DJNZ L04B5 ; (-014H)
|
|
OUT (LSE1),A
|
|
EI
|
|
LD BC,L0A00
|
|
L04CF: DEC HL
|
|
LD A,(HL)
|
|
OR A
|
|
JR NZ,L0507 ; (+033H)
|
|
INC C
|
|
DJNZ L04CF ; (-008H)
|
|
LD B,00AH
|
|
L04D9: DEC DE
|
|
LD A,(DE)
|
|
CP 0FFH
|
|
JR NZ,L04E7 ; (+008H)
|
|
L04DF: DJNZ L04D9 ; (-008H)
|
|
L04E1: XOR A
|
|
JR L0490 ; (-054H)
|
|
|
|
L04E4: XOR A
|
|
JR L04C3 ; (-024H)
|
|
|
|
L04E7: LD A,B
|
|
CP 002H
|
|
JR NZ,L04F5 ; (+009H)
|
|
L04EC: LD A,(DE)
|
|
AND 081H
|
|
DWIDTH: JR NZ,L04DF ; (-012H)
|
|
LD A,01BH
|
|
JR L0490 ; (-065H)
|
|
|
|
L04F5: CP 001H
|
|
JR Z,L04E1 ; (-018H)
|
|
CP 000H
|
|
JR NZ,L04DF ; (-01eH)
|
|
LD A,(DE)
|
|
AND 001H
|
|
JR NZ,L04DF ; (-023H)
|
|
LD A,(L005F)
|
|
JR L0490 ; (-077H)
|
|
|
|
L0507: PUSH AF
|
|
LD A,B
|
|
LD (004FAH),A
|
|
LD A,(HL)
|
|
LD (004FFH),A
|
|
POP AF
|
|
DEC B
|
|
JR NZ,L054A ; (+036H)
|
|
CALL L05B7
|
|
LD A,(00B18H)
|
|
BIT 6,A
|
|
JR Z,L04E1 ; (-03dH)
|
|
BIT 0,A
|
|
LD A,B
|
|
JR NZ,L0525 ; (+002H)
|
|
ADD A,005H
|
|
L0525: CP 00AH
|
|
JR NC,L04E1 ; (-048H)
|
|
LD L,A
|
|
LD H,000H
|
|
ADD HL,HL
|
|
ADD HL,HL
|
|
ADD HL,HL
|
|
ADD HL,HL
|
|
LD BC,L12C0
|
|
ADD HL,BC
|
|
LD A,(HL)
|
|
OR A
|
|
JR Z,L04E1 ; (-057H)
|
|
LD DE,L1360
|
|
LD A,001H
|
|
LD (DE),A
|
|
L053E: INC DE
|
|
LD BC,00010H
|
|
LDIR
|
|
LD A,(01362H)
|
|
JP L0490
|
|
|
|
L054A: CALL L05B7
|
|
LD A,C
|
|
ADD A,A
|
|
ADD A,A
|
|
ADD A,A
|
|
ADD A,B
|
|
LD L,A
|
|
LD H,000H
|
|
LD A,(00B18H)
|
|
BIT 6,A
|
|
LD BC,L0B2B
|
|
JR Z,L058E ; (+02fH)
|
|
PUSH AF
|
|
LD A,(L0060)
|
|
CP 043H
|
|
JR NZ,L056B ; (+004H)
|
|
POP AF
|
|
XOR 001H
|
|
PUSH AF
|
|
L056B: POP AF
|
|
BIT 0,A
|
|
JR NZ,L0573 ; (+003H)
|
|
LD BC,L0B3D
|
|
L0573: LD A,(L0060)
|
|
CP 0FFH
|
|
JR NZ,L0587 ; (+00dH)
|
|
LD BC,L0B4F
|
|
LD A,(00B18H)
|
|
BIT 0,A
|
|
JR Z,L0587 ; (+003H)
|
|
LD BC,L0B61
|
|
L0587: CALL L13E0
|
|
LD A,C
|
|
JP L0490
|
|
|
|
L058E: CALL L13E0
|
|
LD A,C
|
|
CP 020H
|
|
JP C,L0490
|
|
LD HL,L0B73
|
|
LD B,005H
|
|
L059C: CP (HL)
|
|
JR Z,L05B1 ; (+012H)
|
|
INC HL
|
|
DJNZ L059C ; (-006H)
|
|
CP 040H
|
|
JP C,L04E1
|
|
CP 05BH
|
|
JP NC,L04E1
|
|
SUB 040H
|
|
JP L0490
|
|
|
|
L05B1: LD A,020H
|
|
SUB B
|
|
JP L0490
|
|
|
|
L05B7: LD B,008H
|
|
L05B9: RRCA
|
|
JR C,L05BF ; (+003H)
|
|
DJNZ L05B9 ; (-005H)
|
|
RET
|
|
|
|
L05BF: DEC B
|
|
RET
|
|
|
|
L05C1: LD A,0E8H
|
|
DI
|
|
OUT (LSE3),A
|
|
LD (0E000H),A
|
|
NOP
|
|
LD A,(0E001H)
|
|
OUT (LSE1),A
|
|
EI
|
|
AND 081H
|
|
RET Z
|
|
RLCA
|
|
RET C
|
|
JR L05C1 ; (-016H)
|
|
|
|
L05D7: CALL SKPDE
|
|
LD HL,(L0054)
|
|
LD A,(L005B)
|
|
CP L
|
|
RET C
|
|
CALL PUSHW
|
|
LD A,(HL)
|
|
OR A
|
|
RET
|
|
|
|
L05E8: CALL L05D7
|
|
RET Z
|
|
L05EC: LD A,00DH
|
|
JP L0BFF
|
|
|
|
L05F1: CALL L0BFD
|
|
LD A,(L0054)
|
|
L05F7: SUB 00AH
|
|
LBOUND: JR NC,L05F7 ; (-004H)
|
|
ADD A,00AH
|
|
RET Z
|
|
JR L05F1 ; (-00fH)
|
|
|
|
L0600: CALL IOOUT
|
|
LD HL,(L0054)
|
|
PUSH HL
|
|
PUSH AF
|
|
RST 018H
|
|
DB 01EH
|
|
POP AF
|
|
RST 018H
|
|
DB 01DH
|
|
CALL POPRA
|
|
SET 3,H
|
|
LD DE,(0005DH)
|
|
LD A,E
|
|
OR D
|
|
CALL POPRA
|
|
POP HL
|
|
INC L
|
|
HCLSW: LD A,(0005CH)
|
|
CP L
|
|
JP NC,L07EC
|
|
L0624: LD A,(L005B)
|
|
LD L,A
|
|
INC H
|
|
PUSH HL
|
|
CALL PUSHW
|
|
LD (HL),001H
|
|
POP HL
|
|
LD A,(L0057)
|
|
CP H
|
|
JP NC,L07EC
|
|
LD H,A
|
|
PUSH HL
|
|
CALL L0730
|
|
POP HL
|
|
JP L07EC
|
|
|
|
PUSHW: LD E,H
|
|
LD D,000H
|
|
LD HL,.HL
|
|
ADD HL,DE
|
|
RET
|
|
|
|
L0648: LD HL,(L0054)
|
|
PUSH DE
|
|
PUSH AF
|
|
LD D,LSD0
|
|
LD E,L
|
|
LD A,H
|
|
ADD A,A
|
|
HCLS: ADD A,A
|
|
ADD A,H
|
|
LD L,A
|
|
LD H,000H
|
|
ADD HL,HL
|
|
ADD HL,HL
|
|
ADD HL,HL
|
|
ADD HL,DE
|
|
L065B: POP AF
|
|
POP DE
|
|
RET
|
|
|
|
L065E: ADD A,A
|
|
LD HL,L0067
|
|
CALL ADDHLA
|
|
CALL INDRCT
|
|
JP (HL)
|
|
|
|
L0669: LD B,D
|
|
LD C,E
|
|
L066B: LD DE,00028H
|
|
EX DE,HL
|
|
ADD HL,DE
|
|
DEC B
|
|
JR Z,L067E ; (+00bH)
|
|
PUSH HL
|
|
PUSH BC
|
|
LD B,000H
|
|
CALL L069E
|
|
POP BC
|
|
POP HL
|
|
JR L066B ; (-013H)
|
|
|
|
L067E: EX DE,HL
|
|
LD E,C
|
|
L0680: LD A,(L005D)
|
|
LD D,A
|
|
LD A,(0005EH)
|
|
OR D
|
|
LD D,A
|
|
L0689: DI
|
|
OUT (LSE3),A
|
|
LD (HL),000H
|
|
SET 3,H
|
|
LD (HL),D
|
|
RES 3,H
|
|
OUT (LSE1),A
|
|
EI
|
|
INC HL
|
|
DEC E
|
|
JR NZ,L0689 ; (-011H)
|
|
RET
|
|
|
|
L069B: LD BC,00028H
|
|
L069E: LD A,0B0H
|
|
JR L06A4 ; (+002H)
|
|
|
|
L06A2: LD A,0B8H
|
|
L06A4: LD (006BCH),A
|
|
PUSH HL
|
|
PUSH DE
|
|
PUSH BC
|
|
RES 3,H
|
|
RES 3,D
|
|
CALL L06B8
|
|
POP BC
|
|
POP DE
|
|
POP HL
|
|
SET 3,H
|
|
SET 3,D
|
|
L06B8: DI
|
|
OUT (LSE3),A
|
|
LDIR
|
|
OUT (LSE1),A
|
|
EI
|
|
RET
|
|
|
|
L06C1: LD HL,0D000H
|
|
LD DE,0D7D0H
|
|
CALL L069B
|
|
LD HL,0D028H
|
|
LD DE,0D000H
|
|
LD B,032H
|
|
L06D2: PUSH BC
|
|
CALL L069B
|
|
POP BC
|
|
DJNZ L06D2 ; (-007H)
|
|
LD HL,.HL
|
|
LD D,H
|
|
LD E,L
|
|
LD A,(HL)
|
|
INC HL
|
|
LD BC,00031H
|
|
LDIR
|
|
LD (DE),A
|
|
RET
|
|
|
|
L06E7: LD HL,0D7CFH
|
|
LD DE,0D7F7H
|
|
LD B,032H
|
|
L06EF: PUSH BC
|
|
LD BC,00028H
|
|
CALL L06A2
|
|
POP BC
|
|
DJNZ L06EF ; (-00aH)
|
|
LD HL,0D7D0H
|
|
LD DE,0D000H
|
|
CALL L069B
|
|
LD HL,L00D9
|
|
LD D,H
|
|
LD E,L
|
|
DEC HL
|
|
LD A,(DE)
|
|
LD BC,00031H
|
|
LDDR
|
|
LD (DE),A
|
|
RET
|
|
|
|
L0710: LD HL,0D3E8H
|
|
XOR A
|
|
CALL POPRA
|
|
SET 3,H
|
|
LD A,(L005D)
|
|
CALL POPRA
|
|
LD DE,0D3E9H
|
|
LD BC,L0027
|
|
CALL L069E
|
|
CALL L06C1
|
|
XOR A
|
|
LD (L00C0),A
|
|
RET
|
|
|
|
L0730: LD A,(L004E)
|
|
OR A
|
|
JR Z,L0710 ; (-026H)
|
|
CALL L075F
|
|
CALL L0669
|
|
LD A,(L0056)
|
|
LD H,A
|
|
CALL PUSHW
|
|
LD A,(L0057)
|
|
SUB E
|
|
LD B,A
|
|
LD (HL),000H
|
|
INC HL
|
|
LD D,H
|
|
LD E,L
|
|
INC DE
|
|
CALL NZ,LDHLDE
|
|
LD (HL),000H
|
|
RET
|
|
|
|
L0754: LD A,(L005B)
|
|
LD L,A
|
|
LD A,(L0056)
|
|
LD H,A
|
|
JP L07EC
|
|
|
|
L075F: LD HL,(L005B)
|
|
LD DE,(00056H)
|
|
LD A,D
|
|
SUB E
|
|
INC A
|
|
LD D,A
|
|
LD A,H
|
|
SUB L
|
|
INC A
|
|
LD E,A
|
|
CALL L0754
|
|
JP L0648
|
|
|
|
CALL SKPDE
|
|
LD A,(L004E)
|
|
OR A
|
|
JR NZ,L078B ; (+00eH)
|
|
LD A,031H
|
|
LD (L0057),A
|
|
CALL L078B
|
|
LD A,018H
|
|
LD (L0057),A
|
|
RET
|
|
|
|
L078B: CALL L075F
|
|
L078E: PUSH DE
|
|
PUSH HL
|
|
CALL L0680
|
|
POP HL
|
|
LD BC,00028H
|
|
ADD HL,BC
|
|
POP DE
|
|
DEC D
|
|
JR NZ,L078E ; (-00eH)
|
|
LD A,(L0056)
|
|
LD H,A
|
|
CALL PUSHW
|
|
LD A,(L0057)
|
|
SUB E
|
|
ADD A,002H
|
|
LD B,A
|
|
JP ?CLRHL
|
|
|
|
XOR A
|
|
LD (0091FH),A
|
|
LD HL,(L0054)
|
|
PUSH HL
|
|
INC H
|
|
CALL PUSHW
|
|
LD A,(L0057)
|
|
LD D,A
|
|
L07BD: LD A,(HL)
|
|
OR A
|
|
JR Z,L07C7 ; (+006H)
|
|
INC HL
|
|
INC E
|
|
LD A,D
|
|
CP E
|
|
JR NC,L07BD ; (-00aH)
|
|
L07C7: DEC E
|
|
POP HL
|
|
LD H,E
|
|
JR L07DB ; (+00fH)
|
|
|
|
LD HL,(L0054)
|
|
JR L07DF ; (+00eH)
|
|
|
|
LD HL,(L0054)
|
|
INC L
|
|
LD A,(0005CH)
|
|
CP L
|
|
JR NC,L07EC ; (+011H)
|
|
L07DB: LD A,(L005B)
|
|
LD L,A
|
|
L07DF: INC H
|
|
LD A,(L0057)
|
|
CP H
|
|
JR NC,L07EC ; (+006H)
|
|
LD H,A
|
|
PUSH HL
|
|
CALL L0730
|
|
POP HL
|
|
L07EC: LD (L0054),HL
|
|
RET
|
|
|
|
LD HL,(L0054)
|
|
JR L0802 ; (+00dH)
|
|
|
|
LD HL,(L0054)
|
|
LD A,(L005B)
|
|
CP L
|
|
JR C,0080DH ; (+00fH)
|
|
LD A,(0005CH)
|
|
LD L,A
|
|
L0802: LD A,(L0056)
|
|
CP H
|
|
JR C,0080FH ; (+007H)
|
|
LD A,(L0056)
|
|
LD H,A
|
|
LD A,02DH
|
|
LD A,025H
|
|
JR L07EC ; (-026H)
|
|
|
|
LD A,0EFH
|
|
LD HL,0433EH
|
|
LD HL,0FF3EH
|
|
LD (L0060),A
|
|
RET
|
|
|
|
LD HL,(L0054)
|
|
LD BC,(0005BH)
|
|
LD A,L
|
|
DEC L
|
|
INC C
|
|
CP C
|
|
JR NC,L0837 ; (+00cH)
|
|
PUSH HL
|
|
CALL PUSHW
|
|
LD A,(HL)
|
|
POP HL
|
|
INC L
|
|
OR A
|
|
JR Z,L0874 ; (+03fH)
|
|
LD L,B
|
|
DEC H
|
|
L0837: LD DE,(00054H)
|
|
LD (L0054),HL
|
|
L083E: EX DE,HL
|
|
LD A,(L005B)
|
|
CP L
|
|
JR C,L086D ; (+028H)
|
|
L0845: PUSH HL
|
|
CALL PUSHW
|
|
LD A,(HL)
|
|
POP HL
|
|
OR A
|
|
JR Z,L085D ; (+00fH)
|
|
CALL L0882
|
|
PUSH HL
|
|
LD A,(0005CH)
|
|
LD L,A
|
|
DEC H
|
|
CALL L089A
|
|
POP HL
|
|
JR L0874 ; (+017H)
|
|
|
|
L085D: LD A,(0005CH)
|
|
LD L,A
|
|
DEC H
|
|
L0862: LD DE,(0005DH)
|
|
LD A,E
|
|
OR D
|
|
LD E,A
|
|
LD D,000H
|
|
JR L089A ; (+02dH)
|
|
|
|
L086D: CALL L0882
|
|
DEC BC
|
|
CALL L0895
|
|
L0874: INC L
|
|
LD A,(0005CH)
|
|
CP L
|
|
JR NC,L086D ; (-00eH)
|
|
LD A,(L005B)
|
|
LD L,A
|
|
INC H
|
|
JR L0845 ; (-03dH)
|
|
|
|
L0882: PUSH HL
|
|
RST 018H
|
|
DB 01EH
|
|
SET 3,H
|
|
CALL BREAKX
|
|
LD E,A
|
|
RES 3,H
|
|
CALL BREAKX
|
|
LD D,A
|
|
LD B,H
|
|
LD C,L
|
|
POP HL
|
|
RET
|
|
|
|
L0895: PUSH HL
|
|
LD H,B
|
|
LD L,C
|
|
JR L089D ; (+003H)
|
|
|
|
L089A: PUSH HL
|
|
RST 018H
|
|
DB 01EH
|
|
L089D: SET 3,H
|
|
LD A,E
|
|
CALL POPRA
|
|
RES 3,H
|
|
LD A,D
|
|
CALL POPRA
|
|
LD B,H
|
|
LD C,L
|
|
POP HL
|
|
RET
|
|
|
|
L08AD: LD HL,(L0054)
|
|
CALL L0302
|
|
DEC E
|
|
LD H,E
|
|
LD A,(0005CH)
|
|
LD L,A
|
|
RET
|
|
|
|
CALL L08AD
|
|
CALL L0882
|
|
LD A,LSPAL
|
|
CP D
|
|
JR Z,L08C8 ; (+003H)
|
|
XOR A
|
|
CP D
|
|
RET NZ
|
|
L08C8: LD BC,(0005BH)
|
|
EX DE,HL
|
|
LD HL,(L0054)
|
|
OR A
|
|
SBC HL,DE
|
|
EX DE,HL
|
|
JR Z,L0862 ; (-074H)
|
|
LD A,C
|
|
CP L
|
|
JR NC,L08E4 ; (+00aH)
|
|
DEC L
|
|
CALL L0882
|
|
INC BC
|
|
CALL L0895
|
|
JR L08C8 ; (-01cH)
|
|
|
|
L08E4: PUSH HL
|
|
LD L,B
|
|
DEC H
|
|
CALL L0882
|
|
EX (SP),HL
|
|
CALL L089A
|
|
POP HL
|
|
JR L08C8 ; (-029H)
|
|
|
|
LD HL,L0071
|
|
LD (L005D),HL
|
|
L08F7: LD HL,L1800
|
|
LD (L0056),HL
|
|
LD HL,L2700
|
|
LD (L005B),HL
|
|
XOR A
|
|
LD (L004E),A
|
|
RET
|
|
|
|
CALL SKPDE
|
|
L090B: LD A,(DE)
|
|
INC DE
|
|
OR A
|
|
RET Z
|
|
LD C,A
|
|
CP 005H
|
|
JR Z,L0933 ; (+01fH)
|
|
CP 006H
|
|
JR Z,L0932 ; (+01aH)
|
|
SUB 041H
|
|
CP 01AH
|
|
JR NC,HCURON ; (+00dH)
|
|
LD A,000H
|
|
OR A
|
|
JR Z,HCURON ; (+008H)
|
|
LD A,C
|
|
LD HL,L08F7
|
|
CALL ADDHLA
|
|
LD C,(HL)
|
|
HCURON: LD A,C
|
|
RST 018H
|
|
DB 003H
|
|
CP 00DH
|
|
JR NZ,L090B ; (-027H)
|
|
L0932: XOR A
|
|
L0933: LD (0091FH),A
|
|
JR L090B ; (-02dH)
|
|
|
|
AND C
|
|
SBC A,D
|
|
SBC A,A
|
|
HCUROF: SBC A,H
|
|
SUB D
|
|
XOR D
|
|
SUB A
|
|
SBC A,B
|
|
AND (HL)
|
|
XOR A
|
|
XOR C
|
|
CP B
|
|
OR E
|
|
FLASH: OR B
|
|
OR A
|
|
SBC A,(HL)
|
|
AND B
|
|
SBC A,L
|
|
AND H
|
|
SUB (HL)
|
|
AND L
|
|
CURMOV: XOR E
|
|
AND E
|
|
SBC A,E
|
|
CP L
|
|
AND D
|
|
NOP
|
|
NOP
|
|
L0954: NOP
|
|
L0955: PUSH DE
|
|
PUSH HL
|
|
LD (L0954),A
|
|
LD (00952H),DE
|
|
LD HL,0E007H
|
|
DI
|
|
OUT (LSE3),A
|
|
LD (HL),0B4H
|
|
LD (HL),074H
|
|
DEC HL
|
|
LD (HL),0C0H
|
|
LD (HL),0A8H
|
|
DEC HL
|
|
LD (HL),002H
|
|
LD (HL),000H
|
|
L0972: LD HL,0E007H
|
|
LD (HL),080H
|
|
PONTCB: DEC HL
|
|
LD E,(HL)
|
|
LD D,(HL)
|
|
PONTB: LD HL,0A8C0H
|
|
OR A
|
|
SBC HL,DE
|
|
JR NZ,L0972 ; (-010H)
|
|
LD HL,0E005H
|
|
LD (HL),0F6H
|
|
LD (HL),079H
|
|
OUT (LSE1),A
|
|
EI
|
|
POP HL
|
|
POP DE
|
|
RET
|
|
|
|
L098F: PUSH BC
|
|
PUSH HL
|
|
DI
|
|
OUT (LSE3),A
|
|
LD HL,0E007H
|
|
LD (HL),080H
|
|
LD (HL),040H
|
|
DEC HL
|
|
LD E,(HL)
|
|
LD D,(HL)
|
|
DEC HL
|
|
LD C,(HL)
|
|
LD B,(HL)
|
|
OUT (LSE1),A
|
|
EI
|
|
PUSH BC
|
|
LD A,D
|
|
L09A6: OR E
|
|
JR NZ,L09AC ; (+003H)
|
|
LD DE,0A8C0H
|
|
L09AC: LD HL,0A8C0H
|
|
LD A,(L0954)
|
|
OR A
|
|
SBC HL,DE
|
|
LD DE,L5460
|
|
CALL L09EB
|
|
OR A
|
|
LD DE,(00952H)
|
|
RR D
|
|
RR E
|
|
PUSH AF
|
|
ADD HL,DE
|
|
LD DE,L5460
|
|
CALL L09EB
|
|
LD C,A
|
|
ADD HL,HL
|
|
EX DE,HL
|
|
POP AF
|
|
LD A,C
|
|
POP BC
|
|
PUSH AF
|
|
OR A
|
|
LD HL,03CFBH
|
|
SBC HL,BC
|
|
JR C,L09DC ; (+001H)
|
|
INC DE
|
|
L09DC: POP AF
|
|
JR NC,L09E0 ; (+001H)
|
|
INC DE
|
|
L09E0: EX DE,HL
|
|
LD DE,0A8C0H
|
|
CALL L09EB
|
|
EX DE,HL
|
|
POP HL
|
|
POP BC
|
|
RET
|
|
|
|
L09EB: OR A
|
|
SBC HL,DE
|
|
JR NC,L09F2 ; (+002H)
|
|
ADD HL,DE
|
|
RET
|
|
|
|
L09F2: XOR 001H
|
|
RET
|
|
|
|
L09F5: LD A,04EH
|
|
DEC L
|
|
RET Z
|
|
LD A,056H
|
|
DEC L
|
|
RET Z
|
|
LD A,05EH
|
|
DEC L
|
|
L0A00: RET Z
|
|
LD A,066H
|
|
DEC L
|
|
RET
|
|
|
|
L0A05: PUSH DE
|
|
LD (00A23H),A
|
|
LD DE,0FFFFH
|
|
LD HL,0E002H
|
|
DI
|
|
OUT (LSE3),A
|
|
L0A12: BIT 7,(HL)
|
|
JR Z,L0A12 ; (-004H)
|
|
L0A16: BIT 7,(HL)
|
|
JR NZ,L0A16 ; (-004H)
|
|
LD L,008H
|
|
LD A,011H
|
|
L0A1E: DEC A
|
|
JR NZ,L0A1E ; (-003H)
|
|
L0A21: INC DE
|
|
BIT 0,(HL)
|
|
JR Z,L0A21 ; (-005H)
|
|
OUT (LSE1),A
|
|
EI
|
|
LD A,D
|
|
OR A
|
|
LD A,E
|
|
JR Z,L0A30 ; (+002H)
|
|
LD A,0FFH
|
|
L0A30: LD (L0066),A
|
|
POP DE
|
|
POP HL
|
|
SCF
|
|
RET
|
|
|
|
INC A
|
|
PUSH HL
|
|
LD L,A
|
|
CALL L09F5
|
|
JR Z,L0A05 ; (-03aH)
|
|
CALL L09F5
|
|
LD (00A75H),A
|
|
LD (00A55H),A
|
|
LD HL,0E002H
|
|
DI
|
|
OUT (LSE3),A
|
|
L0A4E: BIT 7,(HL)
|
|
JR Z,L0A4E ; (-004H)
|
|
LD L,008H
|
|
BIT 0,(HL)
|
|
LD A,L
|
|
JR Z,L0A5A ; (+001H)
|
|
XOR A
|
|
L0A5A: LD (00A7CH),A
|
|
OUT (LSE1),A
|
|
LD A,009H
|
|
L0A61: PUSH AF
|
|
XOR A
|
|
L0A63: DEC A
|
|
JR NZ,L0A63 ; (-003H)
|
|
POP AF
|
|
BINPUT: DEC A
|
|
JR NZ,L0A61 ; (-009H)
|
|
OUT (LSE3),A
|
|
LD L,002H
|
|
L0A6E: BIT 7,(HL)
|
|
JR Z,L0A6E ; (-004H)
|
|
LD L,008H
|
|
BIT 0,(HL)
|
|
LD A,L
|
|
JR Z,L0A7A ; (+001H)
|
|
XOR A
|
|
L0A7A: LD L,A
|
|
LD A,000H
|
|
AND L
|
|
LD (L0065),A
|
|
OUT (LSE1),A
|
|
EI
|
|
GETL: POP HL
|
|
OR A
|
|
RET
|
|
|
|
DI
|
|
RET
|
|
|
|
EI
|
|
RET
|
|
|
|
DS 110, 000H
|
|
L0AF9: DS 7, 000H
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L0B17: NOP
|
|
NOP
|
|
NOP
|
|
INKEY$: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
INKEY1: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L0B2B: JP PE,0900BH
|
|
RLA
|
|
CALL M,00019H
|
|
DEC SP
|
|
LD A,(L180D)
|
|
DJNZ L0B4A ; (+012H)
|
|
LD DE,01413H
|
|
CCF
|
|
CPL
|
|
L0B3D: LD HL,(0900CH)
|
|
RLA
|
|
EI
|
|
DEC B
|
|
NOP
|
|
DEC HL
|
|
LD HL,(0160DH)
|
|
DEC D
|
|
LD (DE),A
|
|
L0B4A: LD DE,01413H
|
|
ADD A,05FH
|
|
L0B4F: JP (HL)
|
|
|
|
INC C
|
|
SUB B
|
|
RLA
|
|
LD L,B
|
|
DEC B
|
|
NOP
|
|
ADD A,H
|
|
JP (HL)
|
|
|
|
DEC C
|
|
LD D,015H
|
|
LD (DE),A
|
|
LD DE,01413H
|
|
ADC A,A
|
|
ADC A,E
|
|
L0B61: LD L,D
|
|
INC C
|
|
SUB B
|
|
RLA
|
|
LD L,H
|
|
ADD HL,DE
|
|
NOP
|
|
CP 089H
|
|
DEC C
|
|
LD D,015H
|
|
LD (DE),A
|
|
LD DE,01413H
|
|
ADC A,D
|
|
LD A,E
|
|
L0B73: LD E,E
|
|
LD E,H
|
|
LD E,L
|
|
LD E,(HL)
|
|
CPL
|
|
L0B78: SUB C
|
|
DEC BC
|
|
LD B,E
|
|
LD D,D
|
|
LD D,H
|
|
NOP
|
|
ADC A,D
|
|
NOP
|
|
NOP
|
|
PUSH HL
|
|
NOP
|
|
PUSH HL
|
|
NOP
|
|
PUSH HL
|
|
NOP
|
|
PUSH HL
|
|
NOP
|
|
PUSH HL
|
|
NOP
|
|
INKEYF: XOR D
|
|
DEC BC
|
|
OR L
|
|
DEC BC
|
|
CALL NZ,0000BH
|
|
RRCA
|
|
LD C,E
|
|
LD B,D
|
|
NOP
|
|
NOP
|
|
ADD A,C
|
|
NOP
|
|
NOP
|
|
PUSH HL
|
|
NOP
|
|
PUSH HL
|
|
NOP
|
|
PUSH HL
|
|
NOP
|
|
PUSH HL
|
|
INKEY0: NOP
|
|
PUSH HL
|
|
NOP
|
|
XOR D
|
|
DEC BC
|
|
PUSH HL
|
|
NOP
|
|
PUSH HL
|
|
NOP
|
|
RST 018H
|
|
DB 00CH
|
|
LD A,080H
|
|
RET C
|
|
JP C,0017DH
|
|
RST 018H
|
|
DB 017H
|
|
RET
|
|
|
|
EX AF,AF'
|
|
LD HL,L0BFF
|
|
L0BB9: LD A,(L1090)
|
|
OR A
|
|
JR Z,L0BC2 ; (+003H)
|
|
LD HL,L0C43
|
|
L0BC2: EX AF,AF'
|
|
JP (HL)
|
|
|
|
LD A,(L0054)
|
|
RET
|
|
|
|
LD A,00DH
|
|
L0BCA: PUSH AF
|
|
LD A,(L1091)
|
|
L0BCE: OR A
|
|
JR NZ,L0BD4 ; (+003H)
|
|
POP AF
|
|
JR L0BFF ; (+02bH)
|
|
|
|
L0BD4: POP AF
|
|
JP L0F3E
|
|
|
|
PUSH AF
|
|
LD A,(L1091)
|
|
OR A
|
|
JR NZ,L0BE2 ; (+003H)
|
|
POP AF
|
|
JR L0C43 ; (+061H)
|
|
|
|
L0BE2: POP AF
|
|
JP L0F2E
|
|
|
|
CALL SKPDE
|
|
LD HL,L0BCA
|
|
JR L0BF4 ; (+006H)
|
|
|
|
L0BEE: CALL SKPDE
|
|
LD HL,L0BFF
|
|
L0BF4: LD A,(DE)
|
|
OR A
|
|
RET Z
|
|
CALL L00FA
|
|
INC DE
|
|
JR L0BF4 ; (-009H)
|
|
|
|
L0BFD: LD A,020H
|
|
L0BFF: CALL IOOUT
|
|
L0C02: LD C,A
|
|
LD A,(L004D)
|
|
OR A
|
|
JR Z,L0C3A ; (+031H)
|
|
LD A,C
|
|
CP 020H
|
|
JR NC,L0C37 ; (+029H)
|
|
LD DE,(00054H)
|
|
LD HL,(L005B)
|
|
CP 014H
|
|
JR Z,L0C21 ; (+008H)
|
|
CP 012H
|
|
JR NZ,L0C26 ; (+009H)
|
|
LD HL,(L0056)
|
|
LD E,D
|
|
L0C21: LD A,L
|
|
CP E
|
|
JP NC,L0D3F
|
|
L0C26: LD A,C
|
|
LD HL,L0C8F
|
|
ADD A,L
|
|
LD L,A
|
|
JR NC,L0C2F ; (+001H)
|
|
INC H
|
|
L0C2F: LD A,(HL)
|
|
INC A
|
|
JR Z,L0C3A ; (+007H)
|
|
DEC A
|
|
JP Z,L0D3F
|
|
L0C37: CALL L0C60
|
|
L0C3A: LD A,C
|
|
CP 020H
|
|
JP C,L065E
|
|
JP L0600
|
|
|
|
L0C43: CALL IOOUT
|
|
LD C,A
|
|
CP 00DH
|
|
JR Z,L0C02 ; (-049H)
|
|
CALL L0600
|
|
LD A,(L004D)
|
|
OR A
|
|
RET Z
|
|
LD A,C
|
|
CP 011H
|
|
JR C,L0C8A ; (+032H)
|
|
CP 017H
|
|
JR C,L0C8C ; (+030H)
|
|
CP 020H
|
|
JR C,L0C8A ; (+02aH)
|
|
L0C60: CP 060H
|
|
JR C,L0C8C ; (+028H)
|
|
CALL CHKACC
|
|
ADD HL,BC
|
|
ADD A,B
|
|
LD A,E
|
|
ADD A,08BH
|
|
RST 010H
|
|
RST 008H
|
|
CALL M,0FFFBH
|
|
JR Z,L0C8C ; (+019H)
|
|
CP 092H
|
|
JR C,L0C8A ; (+013H)
|
|
CALL CHKACC
|
|
ADD HL,BC
|
|
SBC A,C
|
|
SUB L
|
|
XOR H
|
|
AND A
|
|
OR H
|
|
OR C
|
|
OR (HL)
|
|
OR L
|
|
CP H
|
|
JR Z,L0C8A ; (+004H)
|
|
CP 0BFH
|
|
JR C,L0C8C ; (+002H)
|
|
L0C8A: LD A,02EH
|
|
L0C8C: JP L0FA9
|
|
|
|
L0C8F: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
RST 038H
|
|
RST 038H
|
|
RST 038H
|
|
DEC E
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
DEC C
|
|
NOP
|
|
NOP
|
|
NOP
|
|
LD A,(BC)
|
|
INC BC
|
|
JR NZ,00CB2H ; (+00eH)
|
|
NOP
|
|
NOP
|
|
RST 038H
|
|
NOP
|
|
RST 038H
|
|
RST 038H
|
|
DEC C
|
|
RST 038H
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L0CAF: DI
|
|
XOR A
|
|
LD (L004D),A
|
|
LD (L1091),A
|
|
LD SP,L0000
|
|
OUT (LSE1),A
|
|
LD A,004H
|
|
RST 018H
|
|
DB 003H
|
|
L0CC0: LD HL,L1B18
|
|
XOR A
|
|
LD (L0CC0),A
|
|
LD D,A
|
|
LD E,A
|
|
RST 018H
|
|
DB 026H
|
|
LD DE,$CMT
|
|
LD A,B
|
|
DEC A
|
|
JR Z,L0CDB ; (+009H)
|
|
LD DE,$FD
|
|
DEC A
|
|
JR Z,L0CDB ; (+003H)
|
|
LD DE,$QD
|
|
L0CDB: LD A,C
|
|
RST 018H
|
|
DB 03AH
|
|
JP L00DA
|
|
|
|
LD HL,(L1072)
|
|
ADD HL,DE
|
|
LD (L1072),HL
|
|
LD HL,(L1074)
|
|
ADD HL,DE
|
|
LD (L1074),HL
|
|
LD HL,(L1076)
|
|
ADD HL,DE
|
|
LD (L1076),HL
|
|
LD HL,(L1078)
|
|
ADD HL,DE
|
|
LD (L1078),HL
|
|
LD HL,(L107A)
|
|
ADD HL,DE
|
|
LD (L107A),HL
|
|
RET
|
|
|
|
L0D05: LD HL,(00B15H)
|
|
L0D08: LD A,H
|
|
OR L
|
|
JR Z,L0D20 ; (+014H)
|
|
PUSH DE
|
|
EX DE,HL
|
|
LD HL,0E004H
|
|
DI
|
|
OUT (LSE3),A
|
|
LD (HL),E
|
|
LD (HL),D
|
|
LD A,001H
|
|
LD (0E008H),A
|
|
OUT (LSE1),A
|
|
EI
|
|
POP DE
|
|
RET
|
|
|
|
L0D20: LD A,036H
|
|
BRKEY: DI
|
|
OUT (LSE3),A
|
|
LD (0E007H),A
|
|
XOR A
|
|
LD (0E008H),A
|
|
OUT (LSE1),A
|
|
EI
|
|
RET
|
|
|
|
L0D30: PUSH AF
|
|
PUSH BC
|
|
AND 00FH
|
|
LD B,A
|
|
LD A,008H
|
|
SUB B
|
|
LD (L119E),A
|
|
POP BC
|
|
POP AF
|
|
RET
|
|
|
|
L0D3E: XOR A
|
|
L0D3F: PUSH HL
|
|
LD HL,L04EC
|
|
JR Z,L0D4E ; (+009H)
|
|
CP 001H
|
|
L0D47: JR Z,L0D59 ; (+010H)
|
|
CALL L0D08
|
|
POP HL
|
|
RET
|
|
|
|
L0D4E: CALL L0D08
|
|
LD HL,L2710
|
|
L0D54: DEC HL
|
|
LD A,H
|
|
OR L
|
|
JR NZ,L0D54 ; (-005H)
|
|
L0D59: CALL L0D20
|
|
POP HL
|
|
RET
|
|
|
|
$USR: DS 2, 000H ; $USR device descriptor
|
|
L0D60: DB "USR",000H,09FH
|
|
DS 2, 000H
|
|
DB LSE5
|
|
DB 000H
|
|
DB 077H
|
|
DB 00DH
|
|
DB 077H
|
|
DB 00DH
|
|
DB LSE5
|
|
DB 000H
|
|
DB LSE5
|
|
DB 000H
|
|
DB 086H
|
|
DB 00DH
|
|
DB 086H
|
|
DB 00DH
|
|
DB LSE5
|
|
DB 000H
|
|
DB 021H
|
|
DB 001H
|
|
DB 010H
|
|
DB 0DFH
|
|
DB 013H
|
|
LD A,D
|
|
OR E
|
|
JP Z,01F9AH
|
|
LD (ZWRK1),DE
|
|
RET
|
|
|
|
LD HL,(ZWRK1)
|
|
JP (HL)
|
|
|
|
DS 83, 000H
|
|
EQTBL: DS 25, 000H
|
|
$KB: DS 10, 000H
|
|
L0E00: DS 16, 000H
|
|
L0E10: DS 46, 000H
|
|
L0E3E: DS 35, 000H
|
|
CRT1C: DS 82, 000H
|
|
PLTOTX: DS 77, 000H
|
|
RST 030H
|
|
CPL
|
|
LD C,H
|
|
LD D,B
|
|
LD D,H
|
|
NOP
|
|
ADC A,D
|
|
NOP
|
|
NOP
|
|
PUSH HL
|
|
NOP
|
|
PUSH HL
|
|
NOP
|
|
PUSH HL
|
|
NOP
|
|
PUSH HL
|
|
NOP
|
|
PUSH HL
|
|
NOP
|
|
NOP
|
|
NOP
|
|
DAA
|
|
RRCA
|
|
ADD HL,DE
|
|
RRCA
|
|
LD A,(L1095)
|
|
RET
|
|
|
|
L0F1D: LD A,00DH
|
|
CALL L0FA9
|
|
XOR A
|
|
LD (L1095),A
|
|
RET
|
|
|
|
LD HL,L1090
|
|
BIT 0,(HL)
|
|
JR Z,L0F3E ; (+010H)
|
|
L0F2E: CALL IOOUT
|
|
LD B,A
|
|
LD A,(L004D)
|
|
OR A
|
|
LD A,B
|
|
LD E,0FFH
|
|
JR Z,L0F4E ; (+013H)
|
|
RST 018H
|
|
DB 004H
|
|
RET
|
|
|
|
L0F3E: CALL IOOUT
|
|
LD B,A
|
|
LD A,(L004D)
|
|
OR A
|
|
LD A,B
|
|
LD E,000H
|
|
JR Z,L0F4E ; (+003H)
|
|
RST 018H
|
|
DB 003H
|
|
RET
|
|
|
|
L0F4E: LD A,(L1097)
|
|
CP 001H
|
|
LD A,044H
|
|
JP NZ,00180H
|
|
LD A,B
|
|
CP 00DH
|
|
JR Z,L0F1D ; (-040H)
|
|
LD HL,L1095
|
|
INC (HL)
|
|
SUB 005H
|
|
CP 002H
|
|
JR C,L0F7C ; (+015H)
|
|
LD A,B
|
|
CP 020H
|
|
JR NC,L0FB0 ; (+044H)
|
|
BIT 0,E
|
|
JR Z,L0F80 ; (+010H)
|
|
SUB 011H
|
|
CP 006H
|
|
JR C,L0FB1 ; (+03bH)
|
|
SUB QDPC
|
|
CP 002H
|
|
JR NC,L0FAE ; (+032H)
|
|
L0F7C: LD A,02EH
|
|
JR L0FB0 ; (+030H)
|
|
|
|
L0F80: LD HL,L1095
|
|
DEC (HL)
|
|
LD A,B
|
|
CP 015H
|
|
LD B,00FH
|
|
JR Z,L0FB1 ; (+026H)
|
|
CP 011H
|
|
LD B,009H
|
|
JR Z,L0FB1 ; (+020H)
|
|
CP 012H
|
|
LD B,00BH
|
|
JR Z,L0FB1 ; (+01aH)
|
|
CP 016H
|
|
JR NZ,L0FB0 ; (+015H)
|
|
LD A,00CH
|
|
CALL L0FB0
|
|
LD A,00AH
|
|
CALL L0FB0
|
|
LD A,003H
|
|
JR L0FB0 ; (+007H)
|
|
|
|
L0FA9: CALL IOOUT
|
|
JR L0FB0 ; (+002H)
|
|
|
|
L0FAE: LD A,020H
|
|
L0FB0: LD B,A
|
|
L0FB1: CALL L0FCA
|
|
LD A,B
|
|
DI
|
|
CALL L0FBB
|
|
EI
|
|
RET
|
|
|
|
L0FBB: OUT (0FFH),A
|
|
LD A,080H
|
|
OUT (0FEH),A
|
|
LD A,001H
|
|
CALL L0FCB
|
|
L0FC6: XOR A
|
|
OUT (0FEH),A
|
|
RET
|
|
|
|
L0FCA: XOR A
|
|
L0FCB: CALL SKPDE
|
|
LD C,A
|
|
LD B,00EH
|
|
L0FD1: LD HL,0E678H
|
|
L0FD4: IN A,(0FEH)
|
|
AND 00DH
|
|
CP C
|
|
RET Z
|
|
DEC HL
|
|
LD A,H
|
|
OR L
|
|
NOP
|
|
NOP
|
|
JR NZ,L0FD4 ; (-00dH)
|
|
DJNZ L0FD1 ; (-012H)
|
|
XOR A
|
|
LD (L004D),A
|
|
CALL L0FC6
|
|
LD A,041H
|
|
JP L0182
|
|
|
|
DS 17, 000H
|
|
L1000: NOP
|
|
L1001: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L1012: NOP
|
|
NOP
|
|
L1014: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L1018: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L103E: NOP
|
|
NOP
|
|
L1040: LD (BC),A
|
|
NOP
|
|
L1042: NOP
|
|
L1043: NOP
|
|
L1044: NOP
|
|
NOP
|
|
L1046: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L104A: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L1050: LD BC,L0000
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L1069: NOP
|
|
NOP
|
|
NOP
|
|
LD A,B
|
|
DEC BC
|
|
NOP
|
|
RRCA
|
|
L1070: NOP
|
|
NOP
|
|
L1072: NOP
|
|
NOP
|
|
L1074: NOP
|
|
NOP
|
|
L1076: NOP
|
|
NOP
|
|
L1078: NOP
|
|
NOP
|
|
L107A: NOP
|
|
NOP
|
|
L107C: NOP
|
|
NOP
|
|
L107E: NOP
|
|
NOP
|
|
NOP
|
|
RST 038H
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L1090: NOP
|
|
L1091: NOP
|
|
LD BC,L0E00
|
|
L1095: NOP
|
|
NOP
|
|
L1097: LD BC,L0000
|
|
DS 86, 000H
|
|
L10F0: DS 78, 000H
|
|
L113E: DS 84, 000H
|
|
DB 0EFH
|
|
DS 4, 000H
|
|
L1197: DS 6, 000H
|
|
DB 001H
|
|
L119E: DB 004H
|
|
DB 005H
|
|
DS 3, 000H
|
|
L11A3: DB 000H
|
|
L11A4: DS 124, 000H
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L123E: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L1277: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L12C0: RLCA
|
|
LD D,D
|
|
LD D,L
|
|
LD C,(HL)
|
|
JR NZ,012E6H ; (+020H)
|
|
JR NZ,L12D5 ; (+00dH)
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
DEC B
|
|
LD C,H
|
|
LD C,C
|
|
LD D,E
|
|
LD D,H
|
|
L12D5: JR NZ,L12D7 ; (+000H)
|
|
L12D7: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
DEC B
|
|
LD B,C
|
|
LD D,L
|
|
LD D,H
|
|
LD C,A
|
|
JR NZ,L12E7 ; (+000H)
|
|
L12E7: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
LD B,052H
|
|
LD B,L
|
|
LD C,(HL)
|
|
LD D,L
|
|
LD C,L
|
|
JR NZ,L12F8 ; (+000H)
|
|
L12F8: DS 8, 000H
|
|
INC B
|
|
LD B,H
|
|
LD C,C
|
|
LD D,D
|
|
JR NZ,L1306 ; (+000H)
|
|
L1306: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
DEC B
|
|
LD B,E
|
|
LD C,B
|
|
LD D,D
|
|
INC H
|
|
JR Z,L1317 ; (+000H)
|
|
L1317: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
EX AF,AF'
|
|
LD B,H
|
|
LD B,L
|
|
LD B,(HL)
|
|
JR NZ,L1371 ; (+04bH)
|
|
LD B,L
|
|
LD E,C
|
|
JR Z,L132A ; (+000H)
|
|
L132A: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
INC B
|
|
LD B,E
|
|
LD C,A
|
|
LD C,(HL)
|
|
LD D,H
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L133E: NOP
|
|
NOP
|
|
LD B,053H
|
|
LD B,C
|
|
LD D,(HL)
|
|
LD B,L
|
|
JR NZ,L1367 ; (+020H)
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
LD B,04CH
|
|
LD C,A
|
|
LD B,C
|
|
LD B,H
|
|
JR NZ,L1377 ; (+020H)
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L1360: NOP
|
|
L1361: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L1367: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L1371: NOP
|
|
CALL L13D8
|
|
JR Z,L1385 ; (+00eH)
|
|
L1377: CP 010H
|
|
JR C,L139B ; (+020H)
|
|
CP 080H
|
|
JR Z,L13A1 ; (+022H)
|
|
CP 0C0H
|
|
JR Z,L13A1 ; (+01eH)
|
|
JR L1391 ; (+00cH)
|
|
|
|
L1385: CP 003H
|
|
JR Z,L139B ; (+012H)
|
|
CP 005H
|
|
JR Z,L139E ; (+011H)
|
|
CP 006H
|
|
JR Z,L139E ; (+00dH)
|
|
L1391: DI
|
|
OUT (LSE2),A
|
|
CALL L0BB9
|
|
OUT (LSE0),A
|
|
EI
|
|
RET
|
|
|
|
L139B: LD A,LSPAL
|
|
RET
|
|
|
|
L139E: ADD A,0C9H
|
|
RET
|
|
|
|
L13A1: SUB 040H
|
|
RET
|
|
|
|
L13A4: CP LSPAL
|
|
JR NC,L13CF ; (+027H)
|
|
CP 073H
|
|
JR Z,L139B ; (-011H)
|
|
CALL L13D8
|
|
JR Z,L13BB ; (+00aH)
|
|
CP 040H
|
|
JR Z,L13D5 ; (+020H)
|
|
CP 080H
|
|
JR Z,L13D5 ; (+01cH)
|
|
JR L13C3 ; (+008H)
|
|
|
|
L13BB: CP LSDMD
|
|
JR Z,L13D2 ; (+013H)
|
|
CP LSSCR
|
|
JR Z,L13D2 ; (+00fH)
|
|
L13C3: DI
|
|
OUT (LSE2),A
|
|
CALL L0BCE
|
|
OUT (LSE0),A
|
|
EI
|
|
CP LSPAL
|
|
RET NZ
|
|
L13CF: LD A,020H
|
|
RET
|
|
|
|
L13D2: SUB 0C9H
|
|
RET
|
|
|
|
L13D5: ADD A,040H
|
|
RET
|
|
|
|
L13D8: PUSH HL
|
|
LD HL,L0036
|
|
BIT 6,(HL)
|
|
POP HL
|
|
RET
|
|
|
|
L13E0: PUSH AF
|
|
LD A,L
|
|
SUB 008H
|
|
JR C,L13EA ; (+004H)
|
|
SUB 030H
|
|
JR C,L13F1 ; (+007H)
|
|
L13EA: ADD A,00AH
|
|
LD L,A
|
|
ADD HL,BC
|
|
LD C,(HL)
|
|
POP AF
|
|
RET
|
|
|
|
L13F1: LD A,(BC)
|
|
PUSH AF
|
|
INC BC
|
|
LD A,(BC)
|
|
LD B,A
|
|
POP AF
|
|
LD C,A
|
|
ADD HL,BC
|
|
DI
|
|
OUT (LSE2),A
|
|
LD A,(HL)
|
|
OUT (LSE0),A
|
|
EI
|
|
CALL L13A4
|
|
LD C,A
|
|
POP AF
|
|
RET
|
|
|
|
PUSH HL
|
|
PUSH BC
|
|
PUSH DE
|
|
LD DE,L2710
|
|
CALL L142C
|
|
LD DE,003E8H
|
|
CALL L142C
|
|
LD DE,L0064
|
|
CALL L142C
|
|
LD DE,0000AH
|
|
CALL L142C
|
|
LD A,L
|
|
POP DE
|
|
OR 030H
|
|
LD (DE),A
|
|
INC DE
|
|
XOR A
|
|
LD (DE),A
|
|
POP BC
|
|
POP HL
|
|
RET
|
|
|
|
L142C: LD A,0FFH
|
|
L142E: INC A
|
|
OR A
|
|
SBC HL,DE
|
|
JR NC,L142E ; (-006H)
|
|
ADD HL,DE
|
|
OR A
|
|
JR NZ,L143B ; (+003H)
|
|
OR B
|
|
RET Z
|
|
XOR A
|
|
L143B: LD B,001H
|
|
OR 030H
|
|
POP DE
|
|
EX (SP),HL
|
|
LD (HL),A
|
|
INC HL
|
|
EX (SP),HL
|
|
PUSH DE
|
|
RET
|
|
|
|
CALL TEST1
|
|
DB 024H
|
|
JR Z,L1476 ; (+02aH)
|
|
LD DE,L0000
|
|
L144F: CALL HLFTCH
|
|
SUB 030H
|
|
CP 00AH
|
|
RET NC
|
|
INC HL
|
|
PUSH HL
|
|
LD H,D
|
|
LD L,E
|
|
ADD HL,HL
|
|
JR C,L1471 ; (+013H)
|
|
ADD HL,HL
|
|
JR C,L1471 ; (+010H)
|
|
ADD HL,DE
|
|
JR C,L1471 ; (+00dH)
|
|
ADD HL,HL
|
|
JR C,L1471 ; (+00aH)
|
|
LD E,A
|
|
LD D,000H
|
|
ADD HL,DE
|
|
JR C,L1471 ; (+004H)
|
|
EX DE,HL
|
|
POP HL
|
|
JR L144F ; (-022H)
|
|
|
|
L1471: LD A,002H
|
|
JP L0182
|
|
|
|
L1476: LD DE,L0000
|
|
L1479: LD A,(HL)
|
|
CALL L1491
|
|
RET C
|
|
INC HL
|
|
EX DE,HL
|
|
ADD HL,HL
|
|
JR C,L1471 ; (-012H)
|
|
ADD HL,HL
|
|
JR C,L1471 ; (-015H)
|
|
ADD HL,HL
|
|
JR C,L1471 ; (-018H)
|
|
ADD HL,HL
|
|
JR C,L1471 ; (-01bH)
|
|
ADD A,L
|
|
LD L,A
|
|
EX DE,HL
|
|
JR L1479 ; (-018H)
|
|
|
|
L1491: SUB 030H
|
|
CP 00AH
|
|
CCF
|
|
RET NC
|
|
SUB 011H
|
|
CP 006H
|
|
CCF
|
|
RET C
|
|
ADD A,00AH
|
|
RET
|
|
|
|
CALL L14AD
|
|
CP 020H
|
|
RET NZ
|
|
L14A6: CALL L14AD
|
|
OR A
|
|
JR Z,L14A6 ; (-006H)
|
|
RET
|
|
|
|
L14AD: RST 018H
|
|
DB 00EH
|
|
JR Z,L14B8 ; (+007H)
|
|
LD A,0FFH
|
|
RST 018H
|
|
DB 00DH
|
|
CP 01BH
|
|
RET NZ
|
|
L14B8: JP 0017DH
|
|
|
|
RET
|
|
|
|
L14BC: CALL SKPDE
|
|
LD HL,L11A4
|
|
LD B,000H
|
|
PUSH HL
|
|
CALL LDHLDE
|
|
POP DE
|
|
LD (014DAH),SP
|
|
LD SP,L10F0
|
|
DI
|
|
OUT (LSE4),A
|
|
RST 030H
|
|
OUT (LSE0),A
|
|
OUT (LSE1),A
|
|
EI
|
|
LD SP,L0000
|
|
RET
|
|
|
|
LD (DDEV),DE
|
|
LD (L1069),A
|
|
RET
|
|
|
|
LD C,A
|
|
RST 018H
|
|
DB 020H
|
|
RST 018H
|
|
DB 002H
|
|
BIT 7,C
|
|
JR Z,L14F8 ; (+00aH)
|
|
LD HL,L11A4
|
|
PUSH HL
|
|
CALL L1535
|
|
POP DE
|
|
RST 018H
|
|
DB 005H
|
|
L14F8: LD A,C
|
|
AND 07FH
|
|
JR L14FF ; (+002H)
|
|
|
|
L14FD: LD A,045H
|
|
L14FF: LD DE,L1554
|
|
L1502: DEC A
|
|
JR Z,L150F ; (+00aH)
|
|
EX AF,AF'
|
|
L1506: LD A,(DE)
|
|
INC DE
|
|
OR A
|
|
JP P,L1506
|
|
EX AF,AF'
|
|
JR L1502 ; (-00dH)
|
|
|
|
L150F: LD A,(DE)
|
|
CP 080H
|
|
JR Z,L14FD ; (-017H)
|
|
L1514: LD A,(DE)
|
|
OR A
|
|
JP M,L151F
|
|
CALL L152A
|
|
INC DE
|
|
JR L1514 ; (-00bH)
|
|
|
|
L151F: AND 07FH
|
|
CALL L152A
|
|
LD DE,L179E
|
|
RST 018H
|
|
DB 005H
|
|
RET
|
|
|
|
L152A: PUSH DE
|
|
LD DE,L1533
|
|
LD (DE),A
|
|
RST 018H
|
|
DB 005H
|
|
POP DE
|
|
RET
|
|
|
|
L1533: NOP
|
|
NOP
|
|
L1535: LD DE,(ZEQT)
|
|
INC DE
|
|
INC DE
|
|
RST 018H
|
|
DB 017H
|
|
CALL LDHLDE
|
|
LD A,(L1046)
|
|
ADD A,031H
|
|
LD (HL),A
|
|
LD A,(01051H)
|
|
AND 00FH
|
|
JR Z,L154E ; (+001H)
|
|
INC HL
|
|
L154E: LD (HL),03AH
|
|
DB 023H
|
|
DB 036H
|
|
DB 000H
|
|
DB 0C9H
|
|
L1554: DB 053H,005H,"YNTA",0D8H,04FH,005H,"VER FLO",0D7H,049H,005H
|
|
DS 2, 04CH
|
|
DB "EGAL DAT",0C1H,054H,005H,"YPE MISMATC",0C8H,053H,005H,"TRING LENGT",0C8H,04DH,005H,"EMORY CAPACIT",0D9H,041H,005H
|
|
DS 2, 052H
|
|
DB "AY DEF",0AEH,04CH,005H,"INELENGT",0C8H,080H,"GOSUB ",005H,"NESTIN",0C7H,"FOR-NEX",0D4H,"DEF FN ",005H,"NESTIN",0C7H,"NEX",0D4H,"RETUR"
|
|
DB LSDMD
|
|
DB 055H,005H,"N DEF. FUNCTIO"
|
|
DB LSDMD
|
|
DB 055H,005H,"N DEF. LIN",0C5H,043H,005H,"AN'T ",006H,"CON",0D4H,04DH,005H,"EMORY PROTECTIO"
|
|
DB LSDMD
|
|
DB 049H,005H,"NSTRUCTIO"
|
|
DB LSDMD
|
|
DB 043H,005H,"AN'T ",006H,"RESUM",0C5H,"RESUM",0C5H
|
|
DS 2, 080H
|
|
DB "REA",0C4H,"SWAP ",005H,"LEVE"
|
|
DB LSWF
|
|
DS 2, 080H
|
|
DB 053H,005H,"YSTEM I",0C4H,046H,005H,"RAMIN",0C7H,04FH,005H,056H,045H
|
|
DS 2, 052H
|
|
DB 055H
|
|
DB LSDMD
|
|
DB 050H,005H,"ARIT",0D9H
|
|
DS 8, 080H
|
|
DB 046H,005H,"ILE NOT FOUN",0C4H,048H,005H,"ARDWAR",0C5H,041H,005H,"LREADY EXIS",0D4H,041H,005H,"LREADY OPE"
|
|
DB LSDMD
|
|
DB 04EH,005H,"OT OPE"
|
|
DB LSDMD
|
|
DB 080H,057H,005H,"RITE PROTEC",0D4H
|
|
DS 3, 080H
|
|
DB 04EH,005H,"OT READ",0D9H,054H,005H
|
|
DS 2, 04FH
|
|
DB " MANY FILE"
|
|
DB LSD3
|
|
DB 044H,005H,"ISK MISMATC",0C8H,04EH,005H,"O FILE SPAC",0C5H,055H,005H,"NFORMA",0D4H,054H,005H
|
|
DS 2, 04FH
|
|
DB " LONG FIL",0C5H
|
|
DS 2, 080H
|
|
DB 044H,005H,"EV. NAM",0C5H,043H,005H,"AN'T EXECUT",0C5H,049H,005H
|
|
DS 2, 04CH
|
|
DB "EGAL FILENAM",0C5H,049H,005H
|
|
DS 2, 04CH
|
|
DB "EGAL FILEMOD",0C5H,080H,04FH,005H,"UT OF FIL",0C5H,04CH,005H,"OGICAL NUMBE"
|
|
DB LSD2
|
|
DB "LPT:"
|
|
L1772: DB 04EH,005H,"OT READ",0D9H
|
|
DS 2, 080H
|
|
DB 044H,005H,"EV. MOD",0C5H,055H,005H,"NPRINTABL",0C5H,043H,005H,"HECK SU"
|
|
DB LSRF
|
|
L179E: DB 020H
|
|
DB 005H
|
|
DB 045H
|
|
DS 2, 052H
|
|
DB 04FH
|
|
LD D,D
|
|
DS 91, 000H
|
|
L1800: JP L4000
|
|
|
|
L1803: LD A,(L1042)
|
|
CP 088H
|
|
RET
|
|
|
|
L1809: NOP
|
|
NOP
|
|
L180B: NOP
|
|
NOP
|
|
L180D: NOP
|
|
NOP
|
|
CALL L181A
|
|
CALL L1821
|
|
L1815: XOR A
|
|
LD (L1FC0),A
|
|
RET
|
|
|
|
L181A: LD A,(L1042)
|
|
LD (L1FC0),A
|
|
RET
|
|
|
|
L1821: CALL SKPDE
|
|
LD A,(L1050)
|
|
BIT 7,A
|
|
LD HL,L1848
|
|
L182C: JR Z,L183D ; (+00fH)
|
|
BIT 3,A
|
|
LD HL,L1835
|
|
JR NZ,L183D ; (+008H)
|
|
L1835: LD IX,(ZOUT)
|
|
CALL IOCALL
|
|
RET
|
|
|
|
L183D: LD A,B
|
|
L183E: OR A
|
|
RET Z
|
|
LD A,(DE)
|
|
CALL L00FA
|
|
INC DE
|
|
DEC B
|
|
JR L183D ; (-00bH)
|
|
|
|
L1848: CALL SKPDE
|
|
LD E,(IY+040H)
|
|
LD D,(IY+041H)
|
|
LD HL,(L180B)
|
|
ADD HL,DE
|
|
LD (HL),A
|
|
INC DE
|
|
LD HL,(ZKL)
|
|
OR A
|
|
SBC HL,DE
|
|
CALL Z,L1871
|
|
LD (IY+040H),E
|
|
LD (IY+041H),D
|
|
INC (IY+014H)
|
|
RET NZ
|
|
INC (IY+015H)
|
|
RET NZ
|
|
JP 01F91H
|
|
|
|
L1871: PUSH BC
|
|
LD B,002H
|
|
L1874: CALL L1D15
|
|
LD IX,L1835
|
|
JR Z,L1881 ; (+004H)
|
|
LD IX,L2907
|
|
L1881: LD A,B
|
|
CALL L18B6
|
|
CALL L1890
|
|
INC (IY+04EH)
|
|
LD DE,L0000
|
|
POP BC
|
|
RET
|
|
|
|
L1890: JP (IX)
|
|
|
|
L1892: LD A,01AH
|
|
LD E,(IY+040H)
|
|
LD D,(IY+041H)
|
|
L189A: LD HL,(L180B)
|
|
ADD HL,DE
|
|
LD (HL),A
|
|
INC DE
|
|
LD HL,(ZKL)
|
|
XOR A
|
|
SBC HL,DE
|
|
JR NZ,L189A ; (-00eH)
|
|
PUSH BC
|
|
LD HL,(L180B)
|
|
DEC HL
|
|
LD (HL),0FFH
|
|
DEC HL
|
|
LD (HL),0FFH
|
|
LD B,006H
|
|
JR L1874 ; (-042H)
|
|
|
|
L18B6: LD BC,(ZKL)
|
|
INC BC
|
|
INC BC
|
|
LD HL,(L180B)
|
|
DEC HL
|
|
DEC HL
|
|
LD DE,(01809H)
|
|
RET
|
|
|
|
L18C6: OR 0AFH
|
|
LD IX,(ZCL)
|
|
CALL IOCALL
|
|
RET
|
|
|
|
CALL L1803
|
|
RET NZ
|
|
PUSH DE
|
|
LD DE,L11A4
|
|
CALL L026A
|
|
LD (0193CH),DE
|
|
POP DE
|
|
RET NC
|
|
JP 0017DH
|
|
|
|
PUSH HL
|
|
PUSH DE
|
|
CALL L181A
|
|
LD HL,(L1040)
|
|
INC HL
|
|
BIT 7,(HL)
|
|
PUSH HL
|
|
LD B,000H
|
|
SCF
|
|
CALL Z,L1913
|
|
POP HL
|
|
CALL C,L1908
|
|
POP DE
|
|
PUSH AF
|
|
CALL L1815
|
|
LD L,B
|
|
LD H,000H
|
|
ADD HL,DE
|
|
LD (HL),000H
|
|
POP AF
|
|
POP HL
|
|
RET
|
|
|
|
L1908: SET 7,(HL)
|
|
LD HL,01051H
|
|
BIT 4,(HL)
|
|
RET Z
|
|
JP 01FA0H
|
|
|
|
L1913: CALL L1803
|
|
JR Z,L193B ; (+023H)
|
|
LD A,(L1050)
|
|
BIT 7,A
|
|
LD HL,L1989
|
|
JR Z,L1975 ; (+053H)
|
|
BIT 2,A
|
|
LD HL,L1929
|
|
JR NZ,L1975 ; (+04cH)
|
|
L1929: LD IX,(ZINP)
|
|
CALL IOCALL
|
|
RET
|
|
|
|
L1931: LD A,03FH
|
|
RST 018H
|
|
DB 003H
|
|
LD A,020H
|
|
RST 018H
|
|
DB 003H
|
|
RST 018H
|
|
DB 034H
|
|
L193B: LD HL,L0000
|
|
L193E: CALL HLFTCH
|
|
OR A
|
|
JR Z,L1931 ; (-013H)
|
|
LD C,000H
|
|
RST 018H
|
|
DB 036H
|
|
LD (0193CH),HL
|
|
RET
|
|
|
|
LD B,000H
|
|
CALL TEST1
|
|
DB 022H
|
|
JR NZ,L1967 ; (+013H)
|
|
L1954: LD A,(HL)
|
|
OR A
|
|
RET Z
|
|
INC HL
|
|
CP 022H
|
|
JR Z,L1961 ; (+005H)
|
|
LD (DE),A
|
|
INC DE
|
|
INC B
|
|
JR L1954 ; (-00dH)
|
|
|
|
L1961: CALL TEST1
|
|
DB 02CH
|
|
OR A
|
|
RET
|
|
|
|
L1967: LD A,(HL)
|
|
OR A
|
|
RET Z
|
|
CP C
|
|
RET Z
|
|
INC HL
|
|
CP 02CH
|
|
RET Z
|
|
LD (DE),A
|
|
INC DE
|
|
INC B
|
|
JR L1967 ; (-00eH)
|
|
|
|
L1975: LD (0197BH),HL
|
|
LD B,000H
|
|
L197A: CALL L0000
|
|
RET C
|
|
CP 00DH
|
|
RET Z
|
|
LD (DE),A
|
|
INC DE
|
|
INC B
|
|
JR NZ,L197A ; (-00cH)
|
|
JP 01F76H
|
|
|
|
L1989: CALL SKPDE
|
|
LD E,(IY+040H)
|
|
LD D,(IY+041H)
|
|
LD HL,(ZKL)
|
|
OR A
|
|
SBC HL,DE
|
|
CALL Z,L19B4
|
|
RET C
|
|
LD L,(IY+04EH)
|
|
LD H,(IY+04FH)
|
|
XOR A
|
|
SBC HL,DE
|
|
SCF
|
|
RET Z
|
|
LD HL,(L180B)
|
|
ADD HL,DE
|
|
LD A,(HL)
|
|
INC DE
|
|
LD (IY+040H),E
|
|
LD (IY+041H),D
|
|
RET
|
|
|
|
L19B4: CALL L1D15
|
|
JP NZ,L2A4C
|
|
OR 0AFH
|
|
CALL L18B6
|
|
CALL L1929
|
|
RET C
|
|
LD A,(HL)
|
|
INC HL
|
|
AND (HL)
|
|
LD (HL),0FFH
|
|
INC A
|
|
LD DE,L0000
|
|
RET NZ
|
|
PUSH HL
|
|
LD HL,(L180D)
|
|
LD BC,(ZKL)
|
|
L19D5: DEC HL
|
|
DEC BC
|
|
LD A,(HL)
|
|
OR A
|
|
JR Z,L19D5 ; (-006H)
|
|
POP HL
|
|
LD (HL),B
|
|
DEC HL
|
|
LD (HL),C
|
|
RET
|
|
|
|
CALL SKPDE
|
|
LD HL,L1A2D
|
|
CP 088H
|
|
JR Z,L19F4 ; (+00aH)
|
|
LD HL,L1A35
|
|
CP 089H
|
|
JR Z,L19F4 ; (+003H)
|
|
RST 018H
|
|
DB 029H
|
|
RET C
|
|
L19F4: LD (L1040),HL
|
|
LD DE,L1042
|
|
LD BC,00008H
|
|
LDIR
|
|
LD (L1809),HL
|
|
PUSH HL
|
|
POP IY
|
|
LD DE,L1000
|
|
CALL L1C54
|
|
PUSH HL
|
|
LD HL,(L1044)
|
|
LD DE,L104A
|
|
LD BC,0001DH
|
|
LDIR
|
|
POP HL
|
|
LD BC,00010H
|
|
ADD HL,BC
|
|
LD (L180B),HL
|
|
LD BC,(ZKL)
|
|
ADD HL,BC
|
|
LD (L180D),HL
|
|
LD A,(L1043)
|
|
AND 00FH
|
|
RET
|
|
|
|
L1A2D: ADC A,B
|
|
INC BC
|
|
LD A,B
|
|
DEC BC
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L1A35: ADC A,C
|
|
LD (BC),A
|
|
NOP
|
|
RRCA
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
LD HL,L11A4
|
|
PUSH HL
|
|
LD A,B
|
|
OR A
|
|
CALL NZ,LDHLDE
|
|
LD (HL),000H
|
|
LD HL,L0B78
|
|
JR L1A50 ; (+003H)
|
|
|
|
L1A4D: LD HL,L0000
|
|
L1A50: LD A,L
|
|
OR H
|
|
JR Z,L1A89 ; (+035H)
|
|
LD (01A84H),HL
|
|
CALL LDDEMI
|
|
LD (01A4EH),DE
|
|
LD DE,L11A4
|
|
EX DE,HL
|
|
L1A62: LD A,(DE)
|
|
OR A
|
|
JR Z,L1A6D ; (+007H)
|
|
CP (HL)
|
|
JR NZ,L1A4D ; (-01cH)
|
|
INC HL
|
|
INC DE
|
|
JR L1A62 ; (-00bH)
|
|
|
|
L1A6D: LD A,(HL)
|
|
INC HL
|
|
CP 03AH
|
|
LD C,000H
|
|
JR Z,L1A82 ; (+00dH)
|
|
SUB 031H
|
|
CP 009H
|
|
JR NC,L1A4D ; (-02eH)
|
|
LD C,A
|
|
LD A,(HL)
|
|
INC HL
|
|
CP 03AH
|
|
JR NZ,L1A4D ; (-035H)
|
|
L1A82: EX (SP),HL
|
|
LD HL,L0000
|
|
LD A,C
|
|
JR L1A9B ; (+012H)
|
|
|
|
L1A89: POP HL
|
|
PUSH HL
|
|
L1A8B: LD A,(HL)
|
|
INC HL
|
|
CP 03AH
|
|
JP Z,01F94H
|
|
OR A
|
|
JR NZ,L1A8B ; (-00aH)
|
|
LD HL,(DDEV)
|
|
LD A,(L1069)
|
|
L1A9B: LD (L1044),HL
|
|
PUSH HL
|
|
LD (L1046),A
|
|
LD DE,L104A
|
|
LD BC,0001DH
|
|
LDIR
|
|
LD B,A
|
|
LD A,(01051H)
|
|
AND 007H
|
|
CP B
|
|
JP C,01F94H
|
|
LD A,B
|
|
POP DE
|
|
POP HL
|
|
RET
|
|
|
|
CALL SKPDE
|
|
RST 018H
|
|
DB 02CH
|
|
EX DE,HL
|
|
LD HL,L1001
|
|
LD B,01FH
|
|
CALL ?CLRHL
|
|
LD HL,L1000
|
|
RST 018H
|
|
DB 017H
|
|
CALL L1EB4
|
|
LD HL,L1050
|
|
BIT 4,(HL)
|
|
RET Z
|
|
INC HL
|
|
BIT 7,(HL)
|
|
RET NZ
|
|
LD A,(L1001)
|
|
CP 00DH
|
|
JP Z,BC_ERR_HOOK ; !BC hook: L1F6A cascade path
|
|
RET
|
|
|
|
CALL SKPDE
|
|
CALL L1AEF
|
|
LD B,000H
|
|
CALL L1B97
|
|
JP L2D08
|
|
|
|
L1AEF: LD A,(L1042)
|
|
RST 018H
|
|
DB 029H
|
|
JP NC,01F7CH
|
|
CALL L1C5B
|
|
LD HL,L005D
|
|
LD A,(L1050)
|
|
LD DE,(ZKL)
|
|
INC DE
|
|
INC DE
|
|
BIT 7,A
|
|
JR NZ,L1B0B ; (+001H)
|
|
ADD HL,DE
|
|
L1B0B: LD A,(L1043)
|
|
BIT 2,A
|
|
JR Z,L1B13 ; (+001H)
|
|
ADD HL,DE
|
|
L1B13: EX DE,HL
|
|
LD A,(L1042)
|
|
RST 018H
|
|
L1B18: DB 02AH
|
|
LD (L1FC0),A
|
|
LD (L1040),HL
|
|
EX DE,HL
|
|
LD HL,L1042
|
|
LD BC,00008H
|
|
LDIR
|
|
LD (01809H),DE
|
|
PUSH DE
|
|
POP IY
|
|
LD HL,L1000
|
|
CALL L1C54
|
|
LD HL,00010H
|
|
ADD HL,DE
|
|
LD (L180B),HL
|
|
LD DE,(ZKL)
|
|
ADD HL,DE
|
|
LD (L180D),HL
|
|
CALL L1D15
|
|
JP NZ,L2B7F
|
|
LD A,(L1043)
|
|
BIT 2,A
|
|
JP NZ,YP_HOOK_A ; !Y source A: L1043 bit2
|
|
BIT 1,A
|
|
LD IX,(ZWO)
|
|
JR NZ,L1B65 ; (+00bH)
|
|
LD A,(L1050)
|
|
BIT 7,A
|
|
JR Z,L1B6B ; (+00aH)
|
|
LD IX,(ZRO)
|
|
L1B65: LD HL,L1000
|
|
JP IOCALL
|
|
|
|
L1B6B: CALL L1C39
|
|
JP 019BBH
|
|
|
|
CALL SKPDE
|
|
LD IY,L0100
|
|
LD (L1042),IY
|
|
LD IY,L1000
|
|
CALL L1D15
|
|
LD HL,L2B7A
|
|
JR NZ,L1B8B ; (+003H)
|
|
LD HL,L1C39
|
|
L1B8B: CALL L00FA
|
|
LD B,080H
|
|
CALL L1B97
|
|
LD A,(L1000)
|
|
RET
|
|
|
|
L1B97: LD A,(L1000)
|
|
CP 005H
|
|
RET C
|
|
LD A,(L1012)
|
|
AND 080H
|
|
CP B
|
|
RET Z
|
|
JP 01F9DH
|
|
|
|
L1BA7: CALL SKPDE
|
|
OR A
|
|
JR Z,L1BED ; (+040H)
|
|
CALL L1BB3
|
|
JP L2D08
|
|
|
|
L1BB3: RST 018H
|
|
DB 02EH
|
|
RET C
|
|
CALL L181A
|
|
PUSH AF
|
|
CALL L1D15
|
|
JR NZ,L1BE1 ; (+022H)
|
|
BIT 7,A
|
|
LD A,B
|
|
JR Z,L1BD4 ; (+010H)
|
|
OR A
|
|
LD IX,(ZKL)
|
|
JR Z,L1BCF ; (+004H)
|
|
LD IX,(ZCL)
|
|
L1BCF: CALL IOCALL
|
|
JR L1BE4 ; (+010H)
|
|
|
|
L1BD4: OR A
|
|
JR Z,L1BE4 ; (+00dH)
|
|
LD A,(L1043)
|
|
BIT 1,A
|
|
CALL NZ,L1892
|
|
JR L1BE4 ; (+003H)
|
|
|
|
L1BE1: CALL L2BEC
|
|
L1BE4: POP AF
|
|
RST 018H
|
|
DB 02BH
|
|
RET
|
|
|
|
CALL SKPDE
|
|
LD B,000H
|
|
L1BED: LD C,08EH
|
|
L1BEF: LD A,C
|
|
PUSH BC
|
|
RST 018H
|
|
DB 029H
|
|
CALL NC,L1BB3
|
|
POP BC
|
|
DEC C
|
|
JR NZ,L1BEF ; (-00bH)
|
|
JP L1FAB
|
|
|
|
L1BFD: CALL SKPDE
|
|
LD A,(L1050)
|
|
BIT 6,A
|
|
JP Z,YP_HOOK_B ; !Y source B: L1050 bit6=0
|
|
CALL 018C7H
|
|
LD A,(ZDIRMX)
|
|
LD B,A
|
|
L1C0F: LD HL,L11A4
|
|
PUSH BC
|
|
LD IX,(ZRO)
|
|
CALL IOCALL
|
|
POP BC
|
|
SET 0,A
|
|
RET C
|
|
PUSH IY
|
|
POP DE
|
|
CALL L1E9D
|
|
LD A,(HL)
|
|
RET Z
|
|
DJNZ L1C0F ; (-019H)
|
|
XOR A
|
|
SCF
|
|
RET
|
|
|
|
L1C2B: CALL L1C5B
|
|
CALL L1BFD
|
|
JP NC,01F79H
|
|
OR A
|
|
JP Z,01F85H
|
|
RET
|
|
|
|
L1C39: CALL L1C5B
|
|
CALL L1BFD
|
|
JP C,01F73H
|
|
CALL SKPDE
|
|
LD HL,L11A4
|
|
PUSH IY
|
|
POP DE
|
|
PUSH HL
|
|
CALL L1C54
|
|
POP HL
|
|
LD DE,L1000
|
|
LD A,(HL)
|
|
L1C54: LD BC,00040H
|
|
LDIR
|
|
OR A
|
|
RET
|
|
|
|
L1C5B: LD IX,L1C9D
|
|
L1C5F: LD (01C99H),IX
|
|
CALL SKPDE
|
|
LD A,(L1042)
|
|
LD C,A
|
|
LD HL,(L1072)
|
|
PUSH HL
|
|
L1C6E: POP HL
|
|
LD A,(HL)
|
|
OR A
|
|
RET Z
|
|
LD B,A
|
|
INC HL
|
|
CALL LDDEMI
|
|
PUSH HL
|
|
ADD HL,DE
|
|
EX (SP),HL
|
|
CP 08FH
|
|
JR NC,L1C6E ; (-010H)
|
|
CP C
|
|
JR Z,L1C6E ; (-013H)
|
|
INC HL
|
|
LD A,(HL)
|
|
EX AF,AF'
|
|
INC HL
|
|
LD DE,L1044
|
|
PUSH BC
|
|
LD BC,00300H
|
|
L1C8C: LD A,(DE)
|
|
SUB (HL)
|
|
OR C
|
|
LD C,A
|
|
INC DE
|
|
INC HL
|
|
DJNZ L1C8C ; (-008H)
|
|
POP BC
|
|
JR NZ,L1C6E ; (-029H)
|
|
LD A,B
|
|
CALL L0000
|
|
JR L1C6E ; (-02fH)
|
|
|
|
L1C9D: LD A,(01051H)
|
|
BIT 6,A
|
|
JP NZ,01F7CH
|
|
BIT 5,A
|
|
RET Z
|
|
EX AF,AF'
|
|
LD B,A
|
|
LD A,(L1043)
|
|
AND B
|
|
BIT 1,A
|
|
RET Z
|
|
JP 01F7CH
|
|
|
|
JP SVC30_DBG ; Was: CALL L1D15 / JP NZ,RFS_SVC30_HOOK
|
|
NOP
|
|
NOP
|
|
NOP
|
|
SVC30_FD: LD BC,(ELMD20)
|
|
PUSH BC
|
|
XOR A
|
|
LD IX,(ZINP)
|
|
CALL IOCALL
|
|
POP BC
|
|
RET
|
|
|
|
JP SVC32_FIX ; Was: LD A,(01051H) / BIT 7,A / JP Z,01F97H
|
|
NOP ; Padding (original was 8 bytes, now 3+1+1=5+...)
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
LD BC,(ELMD20)
|
|
JP L313A
|
|
|
|
LD A,(L1000)
|
|
CP 005H
|
|
JR C,L1CE4 ; (+005H)
|
|
LD A,080H
|
|
LD (L1012),A
|
|
L1CE4: CALL L1D15
|
|
JP NZ,L2AE0
|
|
BIT 7,A
|
|
JP NZ,YP_HOOK_C ; !Y source C: device setup bit7
|
|
PUSH DE
|
|
LD HL,L0200
|
|
LD (L1042),HL
|
|
CALL L1C5B
|
|
LD HL,L1000
|
|
PUSH HL
|
|
POP IY
|
|
LD IX,(ZWO)
|
|
CALL IOCALL
|
|
LD BC,(ELMD20)
|
|
POP HL
|
|
LD A,004H
|
|
LD IX,(ZOUT)
|
|
CALL IOCALL
|
|
RET
|
|
|
|
L1D15: LD A,(L1050)
|
|
BIT 5,A
|
|
RET
|
|
|
|
CALL SKPDE
|
|
OR A
|
|
JR NZ,L1D6B ; (+04aH)
|
|
LD HL,L0100
|
|
LD (L1042),HL
|
|
CALL L1C5B
|
|
LD HL,L1050
|
|
BIT 7,(HL)
|
|
JP NZ,YP_HOOK_D ; !Y source D: L1050 bit7
|
|
BIT 5,(HL)
|
|
JP NZ,RFS_BIT5PATH
|
|
INC HL
|
|
BIT 7,(HL)
|
|
JP NZ,YP_HOOK_E ; !Y source E: L1051 bit7
|
|
LD HL,L2000
|
|
LD BC,00008H
|
|
L1D43: CALL ?CLRHL
|
|
DEC C
|
|
JR NZ,L1D43 ; (-006H)
|
|
CALL 018C7H
|
|
LD A,(ZDIRMX)
|
|
LD B,A
|
|
LD HL,L2000
|
|
L1D53: PUSH BC
|
|
LD IX,(ZRO)
|
|
CALL IOCALL
|
|
PUSH AF
|
|
LD BC,00020H
|
|
ADD HL,BC
|
|
LD (HL),000H
|
|
POP AF
|
|
POP BC
|
|
JR C,L1D68 ; (+002H)
|
|
DJNZ L1D53 ; (-015H)
|
|
L1D68: JP L18C6
|
|
|
|
L1D6B: LD (01E13H),A
|
|
XOR A
|
|
LD (L1090),A
|
|
LD HL,L11A4
|
|
PUSH HL
|
|
LD DE,L1E1D
|
|
LD B,00EH
|
|
CALL LDHLDE
|
|
CALL L1535
|
|
LD (HL),020H
|
|
INC HL
|
|
LD (HL),020H
|
|
INC HL
|
|
EX DE,HL
|
|
CALL L1D15
|
|
LD IX,(ZFREE)
|
|
JR Z,L1D95 ; (+004H)
|
|
LD IX,RFS_FREE_HOOK
|
|
L1D95: CALL IOCALL
|
|
JR C,L1DA8 ; (+00eH)
|
|
LD H,B
|
|
LD L,C
|
|
LD B,000H
|
|
RST 018H
|
|
DB 016H
|
|
LD HL,L1E2B
|
|
LD B,009H
|
|
CALL LDDEHL
|
|
L1DA8: EX DE,HL
|
|
LD (HL),00DH
|
|
INC HL
|
|
LD (HL),000H
|
|
POP DE
|
|
CALL L1E12
|
|
LD B,040H
|
|
LD HL,L2000
|
|
L1DB7: CALL L1DC3
|
|
LD DE,00020H
|
|
ADD HL,DE
|
|
DJNZ L1DB7 ; (-009H)
|
|
JP L2D08
|
|
|
|
L1DC3: CALL SKPDE
|
|
LD A,(HL)
|
|
OR A
|
|
RET Z
|
|
RET M
|
|
LD DE,L11A4
|
|
PUSH DE
|
|
LD A,020H
|
|
LD B,026H
|
|
CALL ?SETDE
|
|
LD A,(HL)
|
|
CP 00CH
|
|
JR C,L1DDC ; (+002H)
|
|
LD A,00CH
|
|
L1DDC: PUSH HL
|
|
POP IY
|
|
POP DE
|
|
PUSH DE
|
|
INC DE
|
|
LD HL,L1E31
|
|
LD BC,L0003
|
|
L1DE8: ADD HL,BC
|
|
DEC A
|
|
JR NZ,L1DE8 ; (-004H)
|
|
LDIR
|
|
EX DE,HL
|
|
BIT 0,(IY+012H)
|
|
JR Z,L1DF7 ; (+002H)
|
|
LD (HL),02AH
|
|
L1DF7: INC HL
|
|
INC HL
|
|
LD (HL),022H
|
|
INC HL
|
|
L1DFC: LD A,(IY+001H)
|
|
CP 00DH
|
|
JR Z,L1E09 ; (+006H)
|
|
LD (HL),A
|
|
INC IY
|
|
INC HL
|
|
JR L1DFC ; (-00dH)
|
|
|
|
L1E09: LD (HL),022H
|
|
INC HL
|
|
LD (HL),00DH
|
|
INC HL
|
|
LD (HL),000H
|
|
POP DE
|
|
L1E12: LD A,000H
|
|
RST 018H
|
|
DB 02EH
|
|
RST 018H
|
|
DB 017H
|
|
RST 018H
|
|
DB 037H
|
|
RST 018H
|
|
DB 00FH
|
|
RET
|
|
|
|
L1E1D: DEC C
|
|
DB "DIRECTORY OF "
|
|
L1E2B: DB " KB FR"
|
|
L1E31: DS 2, 045H
|
|
DB ".OBJBTXBSDBRDRB"
|
|
DS 2, 020H
|
|
DB "? LIB ?"
|
|
DS 2, 020H
|
|
DB "? SYSGR"
|
|
DS 2, 020H
|
|
DB 03FH
|
|
DB 020H
|
|
DB LSE5
|
|
DB 0AFH,032H,042H,010H,0DDH,021H,071H,01EH,0EDH,073H,072H,01EH
|
|
DB LSRF
|
|
DB 05FH
|
|
DB 01CH
|
|
DB LSE1
|
|
DB 0DDH
|
|
DB 02AH
|
|
DB 053H
|
|
DB 010H
|
|
DB LSRF
|
|
DB 045H
|
|
DB 002H
|
|
DB 0C9H
|
|
DB 031H
|
|
DS 2, 000H
|
|
DB 006H
|
|
DB 000H
|
|
DB 0DFH
|
|
DB 038H
|
|
DB 018H
|
|
DB 0DFH
|
|
L1E7A: DB LSRF
|
|
DB 064H,001H,059H,0C8H,011H,08EH,01EH,0DFH,005H,03EH,001H,0DFH,00DH,0FEH,059H,0C8H,0C3H,07DH,001H,"OK ? [Y/N]",019H,000H
|
|
L1E9A: DB 011H
|
|
DB 000H
|
|
DB 010H
|
|
L1E9D: DB LSRF
|
|
DB 008H
|
|
DB 001H
|
|
INC HL
|
|
INC DE
|
|
LD A,(DE)
|
|
CP 00DH
|
|
RET Z
|
|
LD B,011H
|
|
L1EA8: LD A,(DE)
|
|
CP (HL)
|
|
RET NZ
|
|
CP 00DH
|
|
RET Z
|
|
INC HL
|
|
INC DE
|
|
DJNZ L1EA8 ; (-00aH)
|
|
OR A
|
|
RET
|
|
|
|
L1EB4: INC HL
|
|
LD C,010H
|
|
L1EB7: LD A,B
|
|
OR A
|
|
JR Z,L1ECF ; (+014H)
|
|
LD A,(DE)
|
|
INC DE
|
|
DEC B
|
|
OR A
|
|
JR Z,L1ECF ; (+00eH)
|
|
CP 022H
|
|
JR Z,L1EB7 ; (-00eH)
|
|
CP 03AH
|
|
JP Z,01F9AH
|
|
LD (HL),A
|
|
INC HL
|
|
DEC C
|
|
JR NZ,L1EB7 ; (-018H)
|
|
L1ECF: LD (HL),00DH
|
|
INC HL
|
|
L1ED2: LD A,C
|
|
OR A
|
|
RET Z
|
|
LD (HL),020H
|
|
INC HL
|
|
DEC C
|
|
JR L1ED2 ; (-009H)
|
|
|
|
LD HL,(L1072)
|
|
L1EDE: INC (HL)
|
|
DEC (HL)
|
|
SCF
|
|
RET Z
|
|
CP (HL)
|
|
INC HL
|
|
JR Z,L1EEE ; (+008H)
|
|
PUSH DE
|
|
CALL LDDEMI
|
|
ADD HL,DE
|
|
POP DE
|
|
JR L1EDE ; (-010H)
|
|
|
|
L1EEE: INC HL
|
|
INC HL
|
|
RET
|
|
|
|
L1EF1: CALL SKPDE
|
|
RST 018H
|
|
DB 029H
|
|
RET C
|
|
DEC HL
|
|
LD B,(HL)
|
|
DEC HL
|
|
LD C,(HL)
|
|
DEC HL
|
|
LD D,H
|
|
LD E,L
|
|
INC BC
|
|
INC BC
|
|
INC BC
|
|
PUSH BC
|
|
ADD HL,BC
|
|
PUSH HL
|
|
LD B,H
|
|
LD C,L
|
|
LD HL,(L107A)
|
|
OR A
|
|
SBC HL,BC
|
|
LD B,H
|
|
LD C,L
|
|
POP HL
|
|
LDIR
|
|
POP DE
|
|
LD HL,L0000
|
|
OR A
|
|
SBC HL,DE
|
|
EX DE,HL
|
|
RST 018H
|
|
DB 019H
|
|
OR A
|
|
RET
|
|
|
|
PUSH AF
|
|
PUSH BC
|
|
PUSH DE
|
|
PUSH DE
|
|
INC DE
|
|
INC DE
|
|
INC DE
|
|
LD HL,(L107A)
|
|
EX DE,HL
|
|
ADD HL,DE
|
|
EX DE,HL
|
|
JP C,01F6DH
|
|
PUSH HL
|
|
LD HL,0FE00H
|
|
ADD HL,SP
|
|
SBC HL,DE
|
|
JR C,01F6DH ; (+037H)
|
|
LD HL,(L107E)
|
|
DEC H
|
|
DEC H
|
|
SBC HL,DE
|
|
JR C,01F6DH ; (+02eH)
|
|
POP HL
|
|
PUSH HL
|
|
LD BC,(VARST)
|
|
OR A
|
|
SBC HL,BC
|
|
LD B,H
|
|
LD C,L
|
|
POP HL
|
|
INC BC
|
|
LDDR
|
|
POP DE
|
|
LD (HL),A
|
|
INC HL
|
|
LD (HL),E
|
|
INC HL
|
|
LD (HL),D
|
|
INC HL
|
|
PUSH HL
|
|
INC DE
|
|
PUSH DE
|
|
L1F58: LD (HL),000H
|
|
INC HL
|
|
DEC DE
|
|
LD A,D
|
|
OR E
|
|
JR NZ,L1F58 ; (-008H)
|
|
POP DE
|
|
INC DE
|
|
INC DE
|
|
RST 018H
|
|
DB 019H
|
|
POP HL
|
|
POP DE
|
|
POP BC
|
|
POP AF
|
|
RET
|
|
|
|
L1F6A: LD A,003H
|
|
LD HL,0063EH
|
|
LD HL,09C3EH
|
|
LD HL,0A83EH
|
|
LD HL,0A93EH
|
|
LD HL,0AA3EH
|
|
LD HL,0AB3EH
|
|
LD HL,0AE3EH
|
|
LD HL,0B23EH
|
|
LD HL,0B33EH
|
|
LD HL,0B43EH
|
|
LD HL,0B53EH
|
|
LD HL,0B63EH
|
|
LD HL,0B73EH
|
|
LD HL,L3A3E
|
|
LD HL,0BB3EH
|
|
LD HL,0BC3EH
|
|
LD HL,0BD3EH
|
|
LD HL,0BF3EH
|
|
LD HL,0403EH
|
|
LD HL,0C43EH
|
|
JP L0182
|
|
|
|
L1FAB: LD A,(L1FC0)
|
|
OR A
|
|
LD B,000H
|
|
CALL NZ,L1BA7
|
|
CALL L368D
|
|
CALL L3C34
|
|
CALL L2D08
|
|
JP L0D20
|
|
|
|
L1FC0: DS 64, 000H
|
|
L2000: DS 38, 000H
|
|
L2026: DS 263, 000H
|
|
L212D: DS 211, 000H
|
|
L2200: DS 294, 000H
|
|
L2326: DS 986, 000H
|
|
L2700: DS 16, 000H
|
|
L2710: DS 240, 000H
|
|
L2800: DS 256, 000H
|
|
LD (02905H),DE
|
|
RET
|
|
|
|
L2905: NOP
|
|
NOP
|
|
L2907: LD BC,L0000
|
|
LD DE,00001H
|
|
BIT 2,A
|
|
CALL Z,L2ED0
|
|
LD HL,(L180D)
|
|
LD A,(HL)
|
|
LD (HL),C
|
|
LD C,A
|
|
INC HL
|
|
LD A,(HL)
|
|
LD (HL),B
|
|
LD B,A
|
|
LD HL,(L180B)
|
|
LD DE,L0100
|
|
JP L2FCF
|
|
|
|
CALL SKPDE
|
|
CALL L181A
|
|
LD HL,L11A4
|
|
PUSH HL
|
|
LD A,B
|
|
OR A
|
|
CALL NZ,LDHLDE
|
|
LD B,020H
|
|
LD A,020H
|
|
CALL ?SETHL
|
|
LD A,(IY+012H)
|
|
OR A
|
|
JP NZ,01F7FH
|
|
CALL L29DF
|
|
JR NC,L2964 ; (+01dH)
|
|
LD (IY+014H),E
|
|
LD (IY+015H),D
|
|
LD (IY+046H),001H
|
|
JR Z,L2964 ; (+011H)
|
|
CALL L29C2
|
|
CALL L2A08
|
|
CALL L297C
|
|
LD (IY+040H),L
|
|
LD (IY+041H),H
|
|
JR L296A ; (+006H)
|
|
|
|
L2964: CALL L297C
|
|
CALL L29AB
|
|
L296A: POP HL
|
|
CALL L2E24
|
|
LD (IY+044H),001H
|
|
L2972: LD HL,(L2905)
|
|
INC HL
|
|
LD (L2905),HL
|
|
JP L1815
|
|
|
|
L297C: LD HL,(L2905)
|
|
DEC HL
|
|
PUSH HL
|
|
ADD HL,HL
|
|
LD E,H
|
|
LD D,000H
|
|
LD HL,(L180B)
|
|
ADD HL,DE
|
|
ADD HL,DE
|
|
LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
POP HL
|
|
LD A,L
|
|
PUSH AF
|
|
RRA
|
|
RRA
|
|
RRA
|
|
AND 00FH
|
|
LD L,A
|
|
LD H,000H
|
|
ADD HL,DE
|
|
POP AF
|
|
AND 007H
|
|
ADD A,A
|
|
ADD A,A
|
|
ADD A,A
|
|
ADD A,A
|
|
ADD A,A
|
|
LD DE,(0180BH)
|
|
INC D
|
|
ADD A,E
|
|
LD E,A
|
|
RET NC
|
|
INC D
|
|
RET
|
|
|
|
L29AB: LD A,(IY+040H)
|
|
CP L
|
|
JR NZ,L29B6 ; (+005H)
|
|
LD A,(IY+041H)
|
|
CP H
|
|
RET Z
|
|
L29B6: CALL L29C2
|
|
LD (IY+040H),L
|
|
LD (IY+041H),H
|
|
XOR A
|
|
JR L29CC ; (+00aH)
|
|
|
|
L29C2: XOR A
|
|
CP (IY+044H)
|
|
RET Z
|
|
LD (IY+044H),A
|
|
LD A,003H
|
|
L29CC: CALL SKPDE
|
|
LD C,(IY+040H)
|
|
LD B,(IY+041H)
|
|
LD DE,L0100
|
|
LD HL,(L180B)
|
|
INC H
|
|
JP L2FD1
|
|
|
|
L29DF: LD L,(IY+014H)
|
|
LD H,(IY+015H)
|
|
LD DE,(02905H)
|
|
LD A,H
|
|
OR L
|
|
JR NZ,L29F1 ; (+004H)
|
|
OR 0FFH
|
|
SCF
|
|
RET
|
|
|
|
L29F1: CALL L2FC9
|
|
RET NC
|
|
CALL SKPDE
|
|
DEC HL
|
|
DEC DE
|
|
LD A,L
|
|
AND 080H
|
|
LD L,A
|
|
LD A,E
|
|
AND 080H
|
|
LD E,A
|
|
CALL L2FC9
|
|
RET C
|
|
SCF
|
|
RET
|
|
|
|
L2A08: CALL SKPDE
|
|
LD HL,(L2905)
|
|
DEC HL
|
|
ADD HL,HL
|
|
LD B,H
|
|
INC B
|
|
LD HL,(L180B)
|
|
L2A15: LD A,(HL)
|
|
INC HL
|
|
OR (HL)
|
|
CALL Z,L2A23
|
|
INC HL
|
|
DJNZ L2A15 ; (-009H)
|
|
LD (IY+046H),001H
|
|
RET
|
|
|
|
L2A23: CALL SKPDE
|
|
PUSH HL
|
|
LD DE,00010H
|
|
CALL L2ED0
|
|
POP HL
|
|
LD (HL),B
|
|
DEC HL
|
|
LD (HL),C
|
|
LD HL,(L180B)
|
|
INC H
|
|
XOR A
|
|
L2A36: LD (HL),020H
|
|
INC HL
|
|
DEC A
|
|
JR NZ,L2A36 ; (-006H)
|
|
DEC H
|
|
LD DE,L0100
|
|
LD A,010H
|
|
L2A42: PUSH AF
|
|
CALL L2FCF
|
|
POP AF
|
|
INC BC
|
|
DEC A
|
|
JR NZ,L2A42 ; (-009H)
|
|
RET
|
|
|
|
L2A4C: LD L,(IY+014H)
|
|
LD H,(IY+015H)
|
|
LD A,H
|
|
OR L
|
|
SCF
|
|
RET Z
|
|
LD DE,0FF02H
|
|
PUSH HL
|
|
ADD HL,DE
|
|
JR C,L2A60 ; (+003H)
|
|
LD HL,L0000
|
|
L2A60: LD (IY+014H),L
|
|
LD (IY+015H),H
|
|
POP DE
|
|
LD HL,(L180B)
|
|
DEC HL
|
|
LD (HL),D
|
|
DEC HL
|
|
LD (HL),E
|
|
CALL L2A88
|
|
OR A
|
|
LD A,(L1043)
|
|
BIT 2,A
|
|
RET NZ
|
|
LD HL,(L180D)
|
|
LD A,(HL)
|
|
LD (IY+01EH),A
|
|
INC HL
|
|
LD A,(HL)
|
|
LD (IY+01FH),A
|
|
LD DE,L0000
|
|
RET
|
|
|
|
L2A88: LD C,(IY+01EH)
|
|
LD B,(IY+01FH)
|
|
LD A,B
|
|
OR C
|
|
JP Z,01F76H
|
|
LD DE,L0100
|
|
LD HL,(L180B)
|
|
JP 02FD0H
|
|
|
|
RET
|
|
|
|
XOR A
|
|
LD (DE),A
|
|
PUSH HL
|
|
PUSH DE
|
|
PUSH DE
|
|
CALL L29DF
|
|
POP DE
|
|
JR C,L2AC7 ; (+01fH)
|
|
CALL L181A
|
|
PUSH DE
|
|
CALL L297C
|
|
CALL L29AB
|
|
EX DE,HL
|
|
POP DE
|
|
CALL L2E24
|
|
XOR A
|
|
LD (DE),A
|
|
CALL L2972
|
|
LD B,020H
|
|
XOR A
|
|
LD HL,(L1040)
|
|
INC HL
|
|
RES 7,(HL)
|
|
JR L2ACF ; (+008H)
|
|
|
|
L2AC7: XOR A
|
|
LD B,A
|
|
LD HL,(L1040)
|
|
INC HL
|
|
SET 7,(HL)
|
|
L2ACF: POP DE
|
|
POP HL
|
|
RET
|
|
|
|
L2AD2: LD DE,(ELMD20)
|
|
LD BC,(ELMD30)
|
|
CALL 02FD0H
|
|
JP L2D08
|
|
|
|
L2AE0: CALL L2AEA
|
|
LD IY,L1000
|
|
JP L2C07
|
|
|
|
L2AEA: PUSH DE
|
|
CALL L2DD0
|
|
CALL L2ED0
|
|
LD (ELMD30),BC
|
|
LD D,E
|
|
LD E,000H
|
|
POP HL
|
|
JP L2FCF
|
|
|
|
OR A
|
|
JR NZ,L2B34 ; (+035H)
|
|
PUSH DE
|
|
CALL L2B6A
|
|
LD A,000H
|
|
CALL Z,L2B51
|
|
POP DE
|
|
CALL L2AEA
|
|
LD HL,L1000
|
|
OR 0FFH
|
|
CALL L2B51
|
|
CALL L2E2A
|
|
LD HL,L2000
|
|
LD (HL),081H
|
|
PUSH HL
|
|
POP IY
|
|
LD HL,(L1014)
|
|
LD (IY+014H),L
|
|
LD (IY+015H),H
|
|
LD HL,(ELMD30)
|
|
LD (IY+01EH),L
|
|
LD (IY+01FH),H
|
|
JP L2F37
|
|
|
|
L2B34: PUSH HL
|
|
CALL L2B6A
|
|
JP NZ,01F88H
|
|
DEC (HL)
|
|
LD DE,L1000
|
|
CALL L2E24
|
|
CALL L2F37
|
|
L2B45: XOR A
|
|
LD HL,L2000
|
|
CALL L2B51
|
|
CALL L2E2A
|
|
POP HL
|
|
RET
|
|
|
|
L2B51: CALL SKPDE
|
|
PUSH AF
|
|
LD DE,00014H
|
|
ADD HL,DE
|
|
CALL LDDEMI
|
|
LD BC,00008H
|
|
ADD HL,BC
|
|
LD C,(HL)
|
|
INC HL
|
|
LD B,(HL)
|
|
CALL L2DD8
|
|
POP AF
|
|
JP L2E77
|
|
|
|
L2B6A: CALL L1D15
|
|
JP Z,YP_HOOK_F ; !Y source F: L1D15 bit5=0
|
|
CALL L2E36
|
|
CALL 02F38H
|
|
LD A,(HL)
|
|
CP 081H
|
|
RET
|
|
|
|
L2B7A: LD A,009H
|
|
LD (L1043),A
|
|
L2B7F: CALL L2F6E
|
|
XOR B
|
|
DEC HL
|
|
LD A,(L1043)
|
|
BIT 0,A
|
|
JP NZ,01F73H
|
|
PUSH AF
|
|
LD DE,00001H
|
|
CALL L2ED0
|
|
LD (IY+01EH),C
|
|
LD (IY+01FH),B
|
|
LD (IY+046H),001H
|
|
POP AF
|
|
BIT 1,A
|
|
RET Z
|
|
LD HL,(L180D)
|
|
LD (HL),C
|
|
INC HL
|
|
LD (HL),B
|
|
RET
|
|
|
|
RET M
|
|
RET Z
|
|
CALL L1E9A
|
|
RET NZ
|
|
POP AF
|
|
LD A,(L1043)
|
|
BIT 1,A
|
|
JP NZ,01F79H
|
|
PUSH HL
|
|
CALL L2E24
|
|
LD B,020H
|
|
CALL ?CLRDE
|
|
POP HL
|
|
LD A,(HL)
|
|
PUSH IY
|
|
POP DE
|
|
CALL L2E24
|
|
LD HL,L1043
|
|
BIT 3,(HL)
|
|
RET NZ
|
|
BIT 0,(HL)
|
|
JP NZ,L2A4C
|
|
CALL L2E5E
|
|
CALL L2A88
|
|
LD D,H
|
|
LD E,L
|
|
L2BDB: LD A,(HL)
|
|
INC HL
|
|
OR (HL)
|
|
INC HL
|
|
JR NZ,L2BDB ; (-006H)
|
|
DEC HL
|
|
DEC HL
|
|
SBC HL,DE
|
|
LD (IY+042H),L
|
|
LD (IY+043H),H
|
|
RET
|
|
|
|
L2BEC: LD A,B
|
|
OR A
|
|
RET Z
|
|
LD A,(L1043)
|
|
BIT 0,A
|
|
RET NZ
|
|
BIT 2,A
|
|
JR NZ,L2C20 ; (+027H)
|
|
LD A,006H
|
|
CALL L2907
|
|
PUSH IY
|
|
POP HL
|
|
LD DE,L1000
|
|
CALL L2E24
|
|
L2C07: CALL L2F6E
|
|
RLA
|
|
INC L
|
|
JP Z,01F85H
|
|
L2C0F: LD A,001H
|
|
LD B,(IY+000H)
|
|
JP L2D6A
|
|
|
|
RET M
|
|
RET Z
|
|
CALL L1E9A
|
|
RET NZ
|
|
JP 01F79H
|
|
|
|
L2C20: CALL L29C2
|
|
LD A,(IY+046H)
|
|
OR A
|
|
RET Z
|
|
CALL L2F6E
|
|
LD (0CA2CH),A
|
|
ADD A,L
|
|
RRA
|
|
JR L2C0F ; (-023H)
|
|
|
|
RET M
|
|
RET Z
|
|
CALL L1E9A
|
|
RET NZ
|
|
POP AF
|
|
LD (IY+045H),001H
|
|
LD A,(HL)
|
|
CP (IY+000H)
|
|
JP NZ,01F9DH
|
|
JR L2C0F ; (-037H)
|
|
|
|
CALL SKPDE
|
|
LD (02C60H),A
|
|
CALL L2F6E
|
|
LD D,H
|
|
INC L
|
|
JP 01F73H
|
|
|
|
RET Z
|
|
RET M
|
|
CALL L1E9A
|
|
RET NZ
|
|
POP AF
|
|
LD BC,L0012
|
|
ADD HL,BC
|
|
LD (HL),0FFH
|
|
L2C61: CALL L2F37
|
|
JP L2D08
|
|
|
|
CALL SKPDE
|
|
CALL L2F6E
|
|
LD (HL),D
|
|
INC L
|
|
JP 01F73H
|
|
|
|
RET Z
|
|
RET M
|
|
CALL L1E9A
|
|
RET NZ
|
|
POP AF
|
|
CALL L2CFB
|
|
PUSH HL
|
|
LD DE,L1000
|
|
CALL L2E24
|
|
XOR A
|
|
LD (L1042),A
|
|
LD IX,L2C9B
|
|
CALL L1C5F
|
|
XOR A
|
|
LD (L1000),A
|
|
POP HL
|
|
L2C93: LD B,(HL)
|
|
LD IY,L1000
|
|
JP L2D6A
|
|
|
|
L2C9B: INC HL
|
|
INC HL
|
|
INC HL
|
|
CALL L1E9A
|
|
JP Z,01F7CH
|
|
L2CA4: RET
|
|
|
|
L2CA5: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
DEC C
|
|
CALL SKPDE
|
|
LD HL,L2CA4
|
|
CALL L1EB4
|
|
XOR A
|
|
L2CC0: LD (02CE3H),A
|
|
CALL L2F6E
|
|
JP Z,L182C
|
|
JR L2C93 ; (-038H)
|
|
|
|
RET M
|
|
LD DE,L2CA4
|
|
CALL L1E9D
|
|
JP Z,01F79H
|
|
CALL L1E9A
|
|
RET NZ
|
|
LD (02CE9H),HL
|
|
LD A,001H
|
|
LD (02CE3H),A
|
|
RET
|
|
|
|
LD A,0FFH
|
|
OR A
|
|
JP Z,01F73H
|
|
LD HL,0FFFFH
|
|
CALL L2CFB
|
|
LD DE,L2CA5
|
|
INC HL
|
|
EX DE,HL
|
|
LD BC,00011H
|
|
LDIR
|
|
JP L2C61
|
|
|
|
L2CFB: CALL SKPDE
|
|
LD DE,L0012
|
|
ADD HL,DE
|
|
LD A,(HL)
|
|
OR A
|
|
RET Z
|
|
JP 01F7FH
|
|
|
|
L2D08: CALL IOOUT
|
|
XOR A
|
|
LD (L1FC0),A
|
|
LD A,LSE0
|
|
L2D11: PUSH AF
|
|
RST 018H
|
|
DB 02BH
|
|
POP AF
|
|
INC A
|
|
JR NZ,L2D11 ; (-007H)
|
|
LD HL,(L1044)
|
|
LD DE,$FD
|
|
CALL L2FC9
|
|
RET NZ
|
|
LD A,(L1046)
|
|
EXX
|
|
LD H,A
|
|
LD D,000H
|
|
LD B,003H
|
|
EXX
|
|
XOR A
|
|
LD (L1042),A
|
|
L2D30: EXX
|
|
LD A,B
|
|
LD (L1046),A
|
|
ADD A,090H
|
|
LD L,A
|
|
LD E,000H
|
|
EXX
|
|
LD IX,L2D5C
|
|
CALL L1C5F
|
|
EXX
|
|
BIT 7,E
|
|
LD A,L
|
|
EXX
|
|
CALL Z,L1EF1
|
|
EXX
|
|
DEC B
|
|
EXX
|
|
JP P,L2D30
|
|
EXX
|
|
LD A,H
|
|
LD (L1046),A
|
|
BIT 7,D
|
|
EXX
|
|
CALL Z,L368D
|
|
RET
|
|
|
|
L2D5C: EXX
|
|
LD DE,0FFFFH
|
|
EXX
|
|
RET
|
|
|
|
L2D62: LD A,(L1046)
|
|
ADD A,090H
|
|
RST 018H
|
|
DB 029H
|
|
RET
|
|
|
|
L2D6A: LD (L2DCF),A
|
|
LD A,B
|
|
PUSH AF
|
|
EX DE,HL
|
|
LD HL,L1000
|
|
CALL L2E24
|
|
CALL L2E36
|
|
POP AF
|
|
CP 005H
|
|
JR C,L2D88 ; (+00aH)
|
|
LD A,(L1012)
|
|
RLA
|
|
LD A,003H
|
|
JR NC,L2D88 ; (+002H)
|
|
LD A,001H
|
|
L2D88: LD HL,02D9CH
|
|
ADD A,A
|
|
CALL ADDHLA
|
|
CALL INDRCT
|
|
CALL L00FA
|
|
CALL L2F37
|
|
CALL L2E2A
|
|
JP L2D08
|
|
|
|
ADD A,02DH
|
|
ADD A,02DH
|
|
AND (HL)
|
|
DEC L
|
|
JP PO,L212D
|
|
JR NZ,02DB9H ; (+010H)
|
|
L2DA9: DEC HL
|
|
LD B,(HL)
|
|
DEC HL
|
|
LD C,(HL)
|
|
LD A,B
|
|
OR C
|
|
RET Z
|
|
LD DE,L0100
|
|
LD HL,L11A4
|
|
PUSH HL
|
|
PUSH DE
|
|
CALL 02FD0H
|
|
LD DE,00001H
|
|
CALL L2DC9
|
|
POP DE
|
|
POP HL
|
|
ADD HL,DE
|
|
JR L2DA9 ; (-01dH)
|
|
|
|
CALL L2DD0
|
|
L2DC9: LD A,(L2DCF)
|
|
JP L2E77
|
|
|
|
L2DCF: NOP
|
|
L2DD0: LD DE,(ELMD20)
|
|
LD BC,(ELMD30)
|
|
L2DD8: LD A,E
|
|
OR D
|
|
JR Z,L2DDD ; (+001H)
|
|
DEC DE
|
|
L2DDD: INC D
|
|
LD E,D
|
|
LD D,000H
|
|
RET
|
|
|
|
LD DE,L0100
|
|
LD BC,(ELMD30)
|
|
LD A,(L2DCF)
|
|
OR A
|
|
LD HL,L11A4
|
|
JR Z,L2DF5 ; (+003H)
|
|
LD HL,(L180B)
|
|
L2DF5: PUSH HL
|
|
PUSH AF
|
|
CALL L2FD1
|
|
POP AF
|
|
PUSH AF
|
|
JR Z,L2E02 ; (+004H)
|
|
LD A,(IY+045H)
|
|
OR A
|
|
L2E02: LD DE,00001H
|
|
CALL Z,L2DC9
|
|
POP AF
|
|
POP HL
|
|
JR Z,L2E13 ; (+007H)
|
|
LD E,(IY+042H)
|
|
LD D,(IY+043H)
|
|
ADD HL,DE
|
|
L2E13: LD C,(HL)
|
|
INC HL
|
|
LD B,(HL)
|
|
INC HL
|
|
LD A,B
|
|
OR C
|
|
RET Z
|
|
PUSH HL
|
|
LD DE,00010H
|
|
CALL L2DC9
|
|
POP HL
|
|
JR L2E13 ; (-011H)
|
|
|
|
L2E24: LD BC,00020H
|
|
LDIR
|
|
RET
|
|
|
|
L2E2A: LD HL,L2800
|
|
LD DE,L0100
|
|
LD BC,L000F
|
|
JP L2FCF
|
|
|
|
L2E36: LD HL,L2800
|
|
CALL L2E67
|
|
PUSH HL
|
|
CALL L2D62
|
|
EX DE,HL
|
|
POP HL
|
|
RET C
|
|
PUSH HL
|
|
LD A,(DE)
|
|
CP (HL)
|
|
JP NZ,01F88H
|
|
LD BC,L0006
|
|
ADD HL,BC
|
|
EX DE,HL
|
|
ADD HL,BC
|
|
EX DE,HL
|
|
LD B,FDPC
|
|
L2E52: LD A,(DE)
|
|
CPL
|
|
AND (HL)
|
|
JP NZ,01F88H
|
|
INC HL
|
|
INC DE
|
|
DJNZ L2E52 ; (-00aH)
|
|
POP HL
|
|
RET
|
|
|
|
L2E5E: CALL L2D62
|
|
RET NC
|
|
LD DE,L0100
|
|
RST 018H
|
|
DB 02AH
|
|
L2E67: LD BC,L000F
|
|
LD DE,L0100
|
|
XOR A
|
|
CALL L2FD4
|
|
LD A,(HL)
|
|
OR A
|
|
JP M,01F70H
|
|
RET
|
|
|
|
L2E77: LD HL,L2800
|
|
CALL L2E84
|
|
OR A
|
|
RET NZ
|
|
CALL L2D62
|
|
RET C
|
|
XOR A
|
|
L2E84: CALL IOOUT
|
|
OR A
|
|
PUSH HL
|
|
LD HL,0B600H
|
|
LD A,013H
|
|
JR NZ,L2E95 ; (+005H)
|
|
LD HL,0A62FH
|
|
LD A,01BH
|
|
L2E95: LD (L2EB2),A
|
|
LD (L2EC8),HL
|
|
POP HL
|
|
L2E9C: CALL L2EA4
|
|
INC BC
|
|
DEC E
|
|
JR NZ,L2E9C ; (-007H)
|
|
RET
|
|
|
|
L2EA4: CALL SKPDE
|
|
INC HL
|
|
LD A,C
|
|
SUB (HL)
|
|
LD C,A
|
|
JR NC,L2EAE ; (+001H)
|
|
DEC B
|
|
L2EAE: INC HL
|
|
LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
L2EB2: NOP
|
|
DEC HL
|
|
LD (HL),E
|
|
INC HL
|
|
LD (HL),D
|
|
INC HL
|
|
INC HL
|
|
INC HL
|
|
LD A,C
|
|
LD E,003H
|
|
L2EBD: SRL B
|
|
RR C
|
|
DEC E
|
|
JR NZ,L2EBD ; (-007H)
|
|
ADD HL,BC
|
|
CALL L2F2B
|
|
L2EC8: NOP
|
|
NOP
|
|
CP (HL)
|
|
LD (HL),A
|
|
RET NZ
|
|
JP 01F88H
|
|
|
|
L2ED0: PUSH DE
|
|
CALL L2E5E
|
|
POP DE
|
|
PUSH HL
|
|
CALL L2EDE
|
|
POP HL
|
|
LD A,001H
|
|
JR L2E84 ; (-05aH)
|
|
|
|
L2EDE: LD A,E
|
|
EXX
|
|
LD E,A
|
|
LD D,A
|
|
LD B,001H
|
|
EXX
|
|
INC HL
|
|
LD E,(HL)
|
|
LD D,000H
|
|
INC HL
|
|
INC HL
|
|
INC HL
|
|
LD C,(HL)
|
|
INC HL
|
|
LD B,(HL)
|
|
DEC BC
|
|
LD (02EFCH),BC
|
|
INC HL
|
|
PUSH HL
|
|
EXX
|
|
POP HL
|
|
EXX
|
|
LD B,D
|
|
LD C,E
|
|
L2EFB: LD HL,L0000
|
|
OR A
|
|
SBC HL,DE
|
|
JP C,01F8BH
|
|
EXX
|
|
LD A,B
|
|
AND (HL)
|
|
EXX
|
|
CALL L2F15
|
|
INC DE
|
|
EXX
|
|
RLC B
|
|
JR NC,L2F12 ; (+001H)
|
|
INC HL
|
|
L2F12: EXX
|
|
JR L2EFB ; (-01aH)
|
|
|
|
L2F15: JR NZ,L2F24 ; (+00dH)
|
|
EXX
|
|
DEC E
|
|
EXX
|
|
RET NZ
|
|
POP AF
|
|
EXX
|
|
LD A,D
|
|
EXX
|
|
LD E,A
|
|
LD D,000H
|
|
OR A
|
|
RET
|
|
|
|
L2F24: EXX
|
|
LD E,D
|
|
EXX
|
|
LD B,D
|
|
LD C,E
|
|
INC BC
|
|
RET
|
|
|
|
L2F2B: PUSH BC
|
|
AND 007H
|
|
INC A
|
|
LD B,A
|
|
XOR A
|
|
SCF
|
|
L2F32: ADC A,A
|
|
DJNZ L2F32 ; (-003H)
|
|
POP BC
|
|
RET
|
|
|
|
L2F37: OR 0AFH
|
|
LD HL,L2000
|
|
LD DE,00800H
|
|
LD BC,00010H
|
|
CALL L2FD1
|
|
LD A,(HL)
|
|
OR A
|
|
JP P,01F70H
|
|
RET
|
|
|
|
L2F4B: PUSH HL
|
|
PUSH DE
|
|
CALL L2E36
|
|
INC HL
|
|
INC HL
|
|
CALL LDDEMI
|
|
CALL INDRCT
|
|
XOR A
|
|
SBC HL,DE
|
|
JP C,01F70H
|
|
SRL H
|
|
RR L
|
|
SRL H
|
|
RR L
|
|
LD B,H
|
|
LD C,L
|
|
POP DE
|
|
POP HL
|
|
OR A
|
|
JP L368D
|
|
|
|
L2F6E: CALL L1D15
|
|
JP Z,SVC2F_YP_DBG ; Was: JP Z,01F97H — hook to trace !Y cause
|
|
POP HL
|
|
CALL LDDEMI
|
|
LD (02FB1H),HL
|
|
LD (02F97H),DE
|
|
XOR A
|
|
LD (L2FC3),A
|
|
CALL 02F38H
|
|
LD (L2FC7),HL
|
|
LD A,040H
|
|
LD (L2FC6),A
|
|
L2F8E: LD HL,(L2FC7)
|
|
LD A,(HL)
|
|
OR A
|
|
CALL Z,L2FB3
|
|
CALL 0FFFFH
|
|
LD HL,(L2FC7)
|
|
LD BC,00020H
|
|
ADD HL,BC
|
|
LD (L2FC7),HL
|
|
LD HL,L2FC6
|
|
DEC (HL)
|
|
JR NZ,L2F8E ; (-01bH)
|
|
LD A,(L2FC3)
|
|
LD HL,(L2FC4)
|
|
OR A
|
|
JP 0FFFFH
|
|
|
|
L2FB3: PUSH AF
|
|
LD A,(L2FC3)
|
|
OR A
|
|
JR NZ,L2FC1 ; (+007H)
|
|
INC A
|
|
LD (L2FC3),A
|
|
LD (L2FC4),HL
|
|
L2FC1: POP AF
|
|
RET
|
|
|
|
L2FC3: NOP
|
|
L2FC4: NOP
|
|
NOP
|
|
L2FC6: NOP
|
|
L2FC7: NOP
|
|
NOP
|
|
L2FC9: PUSH HL
|
|
OR A
|
|
SBC HL,DE
|
|
POP HL
|
|
RET
|
|
|
|
L2FCF: OR 0AFH
|
|
L2FD1: CALL L2FE8 ; Patched at runtime by L4000 cold start → CALL L2FE8_FIX
|
|
L2FD4: CALL SKPDE
|
|
OR A
|
|
LD IX,(ZINP)
|
|
JR Z,L2FE2 ; (+004H)
|
|
LD IX,(ZOUT)
|
|
L2FE2: LD A,(L1046)
|
|
JP IOCALL
|
|
|
|
L2FE8: CALL IOOUT
|
|
LD A,(L35B5)
|
|
OR A
|
|
RET M
|
|
CALL L2D62
|
|
RET C
|
|
JP L2E36
|
|
|
|
$CMT: DB "Y3CMT",000H,05FH ; $CMT - Cassette device descriptor
|
|
L2FFE: DB 0C0H,000H,014H,"0d0",022H,030H
|
|
DB LSE5
|
|
DS 2, 000H
|
|
DB 001H,0AAH,"0]0",097H,01FH,097H,01FH,097H,01FH
|
|
CALL TEST1
|
|
DB 054H
|
|
LD HL,L2FFE
|
|
SET 4,(HL)
|
|
RET Z
|
|
RES 4,(HL)
|
|
OR A
|
|
RET
|
|
|
|
CALL SKPDE
|
|
LD DE,L10F0
|
|
LD A,(HL)
|
|
LD C,005H
|
|
CP 002H
|
|
JR Z,L303D ; (+00eH)
|
|
LD C,004H
|
|
L3031: CP 003H
|
|
JR Z,L303D ; (+008H)
|
|
LD C,A
|
|
L3036: SUB 004H
|
|
CP 002H
|
|
JP C,01F9DH
|
|
L303D: LD A,C
|
|
LD (DE),A
|
|
INC HL
|
|
INC DE
|
|
LD BC,00011H
|
|
LDIR
|
|
INC HL
|
|
INC HL
|
|
LD BC,L0006
|
|
LDIR
|
|
LD B,068H
|
|
CALL ?CLRDE
|
|
LD HL,L10F0
|
|
LD BC,L0080
|
|
CALL L30CB
|
|
JR L3060 ; (+003H)
|
|
|
|
CALL L30D2
|
|
L3060: JP C,L017B
|
|
RET
|
|
|
|
LD A,037H
|
|
LD (L30AA),A
|
|
PUSH HL
|
|
LD HL,L10F0
|
|
LD BC,L0080
|
|
CALL L3114
|
|
JR C,L30C1 ; (+04cH)
|
|
LD DE,L3332
|
|
CALL L3301
|
|
POP DE
|
|
LD A,(HL)
|
|
LD C,002H
|
|
CP 005H
|
|
JR Z,L3091 ; (+00eH)
|
|
LD C,003H
|
|
CP 004H
|
|
JR Z,L3091 ; (+008H)
|
|
LD C,A
|
|
SUB 002H
|
|
CP 002H
|
|
JP C,01F9DH
|
|
L3091: LD A,C
|
|
LD (DE),A
|
|
INC HL
|
|
INC DE
|
|
LD BC,00011H
|
|
LDIR
|
|
XOR A
|
|
LD B,002H
|
|
CALL ?CLRDE
|
|
LD BC,L0006
|
|
LDIR
|
|
LD B,006H
|
|
JP ?CLRDE
|
|
|
|
L30AA: XOR A
|
|
JR NC,L30BD ; (+010H)
|
|
LD A,0AFH
|
|
LD (L30AA),A
|
|
PUSH HL
|
|
LD HL,L1000
|
|
LD DE,L333F
|
|
CALL L3301
|
|
POP HL
|
|
L30BD: CALL L311B
|
|
RET NC
|
|
L30C1: CP 002H
|
|
JP NZ,L017B
|
|
LD A,0C6H
|
|
JP L0182
|
|
|
|
L30CB: CALL L32D4
|
|
LD A,LSWF
|
|
JR L30D4 ; (+002H)
|
|
|
|
L30D2: LD A,053H
|
|
L30D4: LD (03109H),SP
|
|
LD SP,L10F0
|
|
PUSH DE
|
|
LD E,A
|
|
LD D,0D7H
|
|
LD A,B
|
|
OR C
|
|
JR Z,L3107 ; (+024H)
|
|
CALL L32CB
|
|
CALL L3174
|
|
JR C,L3101 ; (+016H)
|
|
LD A,E
|
|
CP LSWF
|
|
JR NZ,L30F8 ; (+008H)
|
|
PUSH DE
|
|
LD DE,L3325
|
|
CALL L3301
|
|
POP DE
|
|
L30F8: DI
|
|
OUT (LSE4),A
|
|
CALL 00780H
|
|
CALL NC,L31DD
|
|
L3101: DI
|
|
OUT (LSE4),A
|
|
CALL 00700H
|
|
L3107: POP DE
|
|
LD SP,L0000
|
|
OUT (LSE0),A
|
|
OUT (LSE1),A
|
|
PUSH AF
|
|
RST 018H
|
|
DB 011H
|
|
POP AF
|
|
RET
|
|
|
|
L3114: CALL L32D4
|
|
LD A,LSWF
|
|
JR L311D ; (+002H)
|
|
|
|
L311B: LD A,053H
|
|
L311D: LD (03109H),SP
|
|
LD SP,L10F0
|
|
PUSH DE
|
|
LD D,LSD2
|
|
LD E,A
|
|
LD A,B
|
|
OR C
|
|
JR Z,L3107 ; (-025H)
|
|
CALL L3174
|
|
DI
|
|
OUT (LSE4),A
|
|
CALL NC,L065B
|
|
CALL NC,L3220
|
|
JR L3101 ; (-039H)
|
|
|
|
L313A: PUSH HL
|
|
LD DE,L334C
|
|
LD HL,L1000
|
|
CALL L3301
|
|
POP HL
|
|
CALL L3153
|
|
RET NC
|
|
CP 002H
|
|
JP NZ,L017B
|
|
LD A,083H
|
|
JP L0182
|
|
|
|
L3153: LD (03109H),SP
|
|
LD SP,L10F0
|
|
PUSH DE
|
|
LD D,LSD2
|
|
LD E,053H
|
|
LD A,B
|
|
OR C
|
|
JR Z,L3107 ; (-05cH)
|
|
CALL L32CB
|
|
CALL L3174
|
|
DI
|
|
OUT (LSE4),A
|
|
CALL NC,L065B
|
|
CALL NC,L3274
|
|
JR L3101 ; (-073H)
|
|
|
|
L3174: CALL SKPDE
|
|
RST 018H
|
|
DB 010H
|
|
LD HL,0E000H
|
|
LD A,FDPA
|
|
CALL POPRA
|
|
LD B,00AH
|
|
L3183: LD HL,0E002H
|
|
CALL BREAKX
|
|
AND 010H
|
|
JR Z,L319A ; (+00dH)
|
|
L318D: LD B,0FFH
|
|
OUT (LSE2),A
|
|
L3191: CALL L09A6
|
|
DJNZ L3191 ; (-005H)
|
|
OUT (LSE0),A
|
|
XOR A
|
|
RET
|
|
|
|
L319A: LD HL,0E003H
|
|
LD A,006H
|
|
CALL POPRA
|
|
INC A
|
|
CALL POPRA
|
|
DJNZ L3183 ; (-025H)
|
|
LD A,(L0050)
|
|
OR A
|
|
JR NZ,L31C7 ; (+019H)
|
|
RST 018H
|
|
DB 002H
|
|
LD A,07FH
|
|
RST 018H
|
|
DB 004H
|
|
LD A,020H
|
|
RST 018H
|
|
DB 003H
|
|
LD A,D
|
|
CP 0D7H
|
|
LD DE,L32BC
|
|
JR Z,L31C3 ; (+003H)
|
|
LD DE,L32C3
|
|
L31C3: RST 018H
|
|
DB 005H
|
|
RST 018H
|
|
DB 002H
|
|
L31C7: LD HL,0E002H
|
|
CALL BREAKX
|
|
AND 010H
|
|
JR NZ,L318D ; (-044H)
|
|
LD HL,0E001H
|
|
CALL BREAKX
|
|
AND 080H
|
|
JR NZ,L31C7 ; (-014H)
|
|
SCF
|
|
RET
|
|
|
|
L31DD: PUSH DE
|
|
PUSH BC
|
|
PUSH HL
|
|
LD D,002H
|
|
LD A,FDPA
|
|
LD (0E000H),A
|
|
L31E7: OUT (LSE1),A
|
|
LD A,(HL)
|
|
OUT (LSE3),A
|
|
CALL L32C8
|
|
LD A,(0E001H)
|
|
AND 080H
|
|
SCF
|
|
JR Z,L321C ; (+025H)
|
|
INC HL
|
|
DEC BC
|
|
LD A,B
|
|
OR C
|
|
JR NZ,L31E7 ; (-016H)
|
|
LD HL,(L1197)
|
|
LD A,H
|
|
CALL L32C8
|
|
LD A,L
|
|
CALL L32C8
|
|
CALL L0D60
|
|
XOR A
|
|
DEC D
|
|
JR Z,L321C ; (+00dH)
|
|
LD B,000H
|
|
L3211: CALL L0D47
|
|
DJNZ L3211 ; (-005H)
|
|
POP HL
|
|
POP BC
|
|
PUSH BC
|
|
PUSH HL
|
|
JR L31E7 ; (-035H)
|
|
|
|
L321C: POP HL
|
|
POP BC
|
|
POP DE
|
|
RET
|
|
|
|
L3220: PUSH DE
|
|
PUSH BC
|
|
PUSH HL
|
|
LD H,002H
|
|
L3225: LD BC,0E001H
|
|
LD DE,0E002H
|
|
L322B: CALL 00601H
|
|
JR C,L3267 ; (+037H)
|
|
CALL 00A4AH
|
|
LD A,(DE)
|
|
AND 020H
|
|
JR Z,L322B ; (-00dH)
|
|
LD D,H
|
|
LD HL,L0000
|
|
LD (L1197),HL
|
|
POP HL
|
|
POP BC
|
|
PUSH BC
|
|
PUSH HL
|
|
L3243: CALL L0624
|
|
JR C,L3267 ; (+01fH)
|
|
OUT (LSE1),A
|
|
LD (HL),A
|
|
OUT (LSE3),A
|
|
INC HL
|
|
DEC BC
|
|
LD A,B
|
|
OR C
|
|
JR NZ,L3243 ; (-010H)
|
|
LD HL,(L1197)
|
|
CALL L0624
|
|
JR C,L3267 ; (+00cH)
|
|
CP H
|
|
JR NZ,L326B ; (+00dH)
|
|
CALL L0624
|
|
JR C,L3267 ; (+004H)
|
|
CP L
|
|
JR NZ,L326B ; (+005H)
|
|
L3266: XOR A
|
|
L3267: POP HL
|
|
POP BC
|
|
POP DE
|
|
RET
|
|
|
|
L326B: DEC D
|
|
LD H,D
|
|
JR NZ,L3225 ; (-04aH)
|
|
L326F: LD A,002H
|
|
SCF
|
|
JR L3267 ; (-00dH)
|
|
|
|
L3274: PUSH DE
|
|
PUSH BC
|
|
PUSH HL
|
|
LD H,002H
|
|
L3279: LD BC,0E001H
|
|
LD DE,0E002H
|
|
L327F: CALL 00601H
|
|
JR C,L3267 ; (-01dH)
|
|
CALL 00A4AH
|
|
LD A,(DE)
|
|
AND 020H
|
|
JR Z,L327F ; (-00dH)
|
|
LD D,H
|
|
POP HL
|
|
POP BC
|
|
PUSH BC
|
|
PUSH HL
|
|
L3291: CALL L0624
|
|
JR C,L3267 ; (-02fH)
|
|
OUT (LSE1),A
|
|
CP (HL)
|
|
OUT (LSE3),A
|
|
JR NZ,L326F ; (-02eH)
|
|
INC HL
|
|
DEC BC
|
|
LD A,B
|
|
OR C
|
|
JR NZ,L3291 ; (-012H)
|
|
LD HL,(CSMDT)
|
|
CALL L0624
|
|
JR C,L3267 ; (-044H)
|
|
CP H
|
|
JR NZ,L326F ; (-03fH)
|
|
CALL L0624
|
|
JR C,L3267 ; (-04cH)
|
|
CP L
|
|
JR NZ,L326F ; (-047H)
|
|
DEC D
|
|
LD H,D
|
|
JR NZ,L3279 ; (-041H)
|
|
JR L3266 ; (-056H)
|
|
|
|
L32BC: DB "RECORD."
|
|
L32C3: DB "PLAY",000H
|
|
L32C8: DB 0C3H
|
|
DB 06DH
|
|
DB 007H
|
|
L32CB: DB QDPB
|
|
DB LSD3
|
|
DB LSE2
|
|
DB LSRF
|
|
DB 01AH
|
|
DB 007H
|
|
DB LSD3
|
|
DB LSE0
|
|
DB 0C9H
|
|
L32D4: DB LSRF
|
|
DB 008H,001H,03EH,0C9H,032H,0D4H,"2!6",000H,0CBH,076H,0C8H,021H,067H,007H,022H,0C9H,"2!z",007H,022H
|
|
DB LSFC
|
|
DB 030H,021H,096H,009H,022H,092H,031H,021H,001H,00AH,022H,012H,032H,021H,01AH,00AH,022H,009H,032H,0C9H
|
|
L3301: DB 03AH
|
|
DB 050H
|
|
DB 000H
|
|
DB 0B7H
|
|
DB 0C0H
|
|
DB 0DFH
|
|
DB 002H
|
|
DB 0DFH
|
|
DB 005H
|
|
DB LSE5
|
|
DB 023H,03EH,022H,0DFH,003H,016H,010H,07EH,0FEH,00DH,028H,006H,0DFH,003H,023H,015H,020H
|
|
DB QDPD
|
|
DB 03EH
|
|
DB 022H
|
|
DB 0DFH
|
|
DB 003H
|
|
DB 0DFH
|
|
DB 002H
|
|
DB LSE1
|
|
DB 0C9H
|
|
L3325: DB 057H,005H,"RITING"
|
|
DS 3, 020H
|
|
DB 006H
|
|
DB 000H
|
|
L3332: DB 046H,005H,"OUND"
|
|
DS 5, 020H
|
|
DB 006H
|
|
DB 000H
|
|
L333F: DB 04CH,005H,"OADING"
|
|
DS 3, 020H
|
|
DB 006H
|
|
DB 000H
|
|
L334C: DB 056H,005H,"ERIFYING "
|
|
LD B,000H
|
|
$RS: DB 08DH,"5RS" ; $RS - RS-232C device descriptor
|
|
DS 2, 000H
|
|
DB 08FH,001H,000H,072H,033H,0A4H,033H,0A4H,033H,0B5H,033H,0B5H,033H,0C6H,033H,0DBH,033H
|
|
DB LSE5
|
|
DB 000H
|
|
DB 0D8H
|
|
DB 0FDH
|
|
DB LSE5
|
|
DB LSRF
|
|
CALL PE,0CD33H
|
|
ADD A,B
|
|
INC SP
|
|
CALL L3435
|
|
JR L33D8 ; (+058H)
|
|
|
|
RST 018H
|
|
DB 013H
|
|
LD (IY-003H),E
|
|
CALL TEST1
|
|
DB 02CH
|
|
JP NZ,L1F6A
|
|
RST 018H
|
|
DB 013H
|
|
LD (IY-002H),E
|
|
LD (IY-008H),00DH
|
|
CALL TEST1
|
|
DB 000H
|
|
RET Z
|
|
CALL TEST1
|
|
DB 02CH
|
|
RST 018H
|
|
DB 013H
|
|
LD (IY-008H),E
|
|
RET
|
|
|
|
PUSH IY
|
|
CALL L33EC
|
|
LD A,(IY-001H)
|
|
INC (IY-001H)
|
|
OR A
|
|
CALL Z,L3497
|
|
JR L33D8 ; (+023H)
|
|
|
|
PUSH IY
|
|
CALL L33EC
|
|
DEC (IY-001H)
|
|
LD A,(IY-001H)
|
|
OR A
|
|
CALL Z,L347F
|
|
JR L33D7 ; (+011H)
|
|
|
|
PUSH IY
|
|
CALL L33EC
|
|
CALL L34E6
|
|
JR C,L33D8 ; (+008H)
|
|
CP (IY-008H)
|
|
JR NZ,L33D7 ; (+002H)
|
|
LD A,00DH
|
|
L33D7: OR A
|
|
L33D8: POP IY
|
|
RET
|
|
|
|
PUSH IY
|
|
CALL L33EC
|
|
CP 00DH
|
|
JR NZ,L33E7 ; (+003H)
|
|
LD A,(IY-008H)
|
|
L33E7: CALL L352B
|
|
JR L33D8 ; (-014H)
|
|
|
|
L33EC: PUSH AF
|
|
PUSH DE
|
|
LD A,(L1046)
|
|
INC A
|
|
LD IY,033F7H
|
|
LD DE,L0015
|
|
L33F9: ADD IY,DE
|
|
DEC A
|
|
JR NZ,L33F9 ; (-005H)
|
|
LD C,(IY+000H)
|
|
POP DE
|
|
POP AF
|
|
RET
|
|
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
OR C
|
|
OR B
|
|
NOP
|
|
DJNZ L3421 ; (+010H)
|
|
INC B
|
|
LD B,B
|
|
INC BC
|
|
RET NZ
|
|
DEC B
|
|
LD H,B
|
|
JR NC,L341C ; (+003H)
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L341C: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L3421: OR E
|
|
OR D
|
|
NOP
|
|
DJNZ 03436H ; (+010H)
|
|
INC B
|
|
LD B,B
|
|
INC BC
|
|
RET NZ
|
|
DEC B
|
|
LD H,B
|
|
JR NC,L3431 ; (+003H)
|
|
L342E: CALL BRKCHK
|
|
L3431: RET NZ
|
|
JP 0017DH
|
|
|
|
L3435: LD A,018H
|
|
OUT (C),A
|
|
LD A,030H
|
|
OUT (C),A
|
|
LD A,(IY-002H)
|
|
AND 00CH
|
|
JR NZ,L3448 ; (+004H)
|
|
SET 2,(IY-002H)
|
|
L3448: LD A,(IY-002H)
|
|
LD B,A
|
|
AND 00FH
|
|
OR 040H
|
|
LD (IY+006H),A
|
|
LD A,B
|
|
AND 080H
|
|
OR 040H
|
|
LD (IY+008H),A
|
|
RRA
|
|
AND 07FH
|
|
OR 00AH
|
|
LD (IY+00AH),A
|
|
LD A,B
|
|
OR 07FH
|
|
LD (IY+002H),A
|
|
CALL L348B
|
|
L346C: IN A,(C)
|
|
RRCA
|
|
RET NC
|
|
DEC C
|
|
IN A,(C)
|
|
INC C
|
|
LD A,001H
|
|
OUT (C),A
|
|
IN A,(C)
|
|
AND 070H
|
|
JR Z,L346C ; (-012H)
|
|
RET
|
|
|
|
L347F: RES 0,(IY+008H)
|
|
RES 7,(IY+00AH)
|
|
LD (IY-001H),000H
|
|
L348B: LD B,00AH
|
|
PUSH IY
|
|
POP HL
|
|
LD DE,L0003
|
|
ADD HL,DE
|
|
OTIR
|
|
RET
|
|
|
|
L3497: LD A,030H
|
|
OUT (C),A
|
|
RET
|
|
|
|
L349C: SET 0,(IY+008H)
|
|
LD A,013H
|
|
OUT (C),A
|
|
LD A,(IY+008H)
|
|
OUT (C),A
|
|
LD A,035H
|
|
OUT (C),A
|
|
LD A,(IY+00AH)
|
|
OR 088H
|
|
LD (IY+00AH),A
|
|
OUT (C),A
|
|
RET
|
|
|
|
LD A,003H
|
|
OUT (C),A
|
|
RES 0,(IY+008H)
|
|
LD A,(IY+008H)
|
|
OUT (C),A
|
|
L34C5: RES 7,(IY+00AH)
|
|
JR L34DB ; (+010H)
|
|
|
|
L34CB: SET 1,(IY+00AH)
|
|
JR L34DB ; (+00aH)
|
|
|
|
L34D1: RES 1,(IY+00AH)
|
|
JR L34DB ; (+004H)
|
|
|
|
SET 7,(IY+00AH)
|
|
L34DB: LD A,005H
|
|
OUT (C),A
|
|
LD A,(IY+00AH)
|
|
OUT (C),A
|
|
OR A
|
|
RET
|
|
|
|
L34E6: CALL SKPDE
|
|
LD C,(IY+000H)
|
|
L34EC: CALL L342E
|
|
CALL L3564
|
|
JR C,L34EC ; (-008H)
|
|
CALL L349C
|
|
L34F7: CALL L342E
|
|
IN A,(C)
|
|
RRCA
|
|
JR NC,L34F7 ; (-008H)
|
|
DEC C
|
|
IN A,(C)
|
|
INC C
|
|
AND (IY+002H)
|
|
PUSH AF
|
|
LD A,001H
|
|
OUT (C),A
|
|
IN A,(C)
|
|
AND 070H
|
|
JR NZ,L3516 ; (+005H)
|
|
CALL L34C5
|
|
POP AF
|
|
RET
|
|
|
|
L3516: LD B,A
|
|
POP AF
|
|
PUSH BC
|
|
CALL L3435
|
|
POP BC
|
|
LD A,01DH
|
|
RLC B
|
|
RLC B
|
|
RET C
|
|
INC A
|
|
RLC B
|
|
RET C
|
|
INC A
|
|
SCF
|
|
RET
|
|
|
|
L352B: CALL SKPDE
|
|
LD C,(IY+000H)
|
|
LD D,A
|
|
CALL L34CB
|
|
L3535: CALL L342E
|
|
CALL L356B
|
|
CALL NC,L357C
|
|
L353E: JR C,L3535 ; (-00bH)
|
|
IN A,(C)
|
|
BIT 2,A
|
|
JR Z,L3535 ; (-011H)
|
|
BIT 7,(IY-003H)
|
|
JR Z,L3555 ; (+009H)
|
|
LD A,001H
|
|
OUT (C),A
|
|
IN A,(C)
|
|
RRCA
|
|
JR NC,L3535 ; (-020H)
|
|
L3555: DEC C
|
|
OUT (C),D
|
|
INC C
|
|
BIT 6,(IY-003H)
|
|
JR Z,L3562 ; (+003H)
|
|
CALL L34D1
|
|
L3562: OR A
|
|
RET
|
|
|
|
L3564: OR A
|
|
BIT 0,(IY-003H)
|
|
JR L3570 ; (+005H)
|
|
|
|
L356B: OR A
|
|
BIT 1,(IY-003H)
|
|
L3570: RET Z
|
|
LD A,010H
|
|
OUT (C),A
|
|
IN A,(C)
|
|
AND 008H
|
|
RET NZ
|
|
SCF
|
|
RET
|
|
|
|
L357C: OR A
|
|
BIT 2,(IY-003H)
|
|
RET Z
|
|
LD A,010H
|
|
OUT (C),A
|
|
IN A,(C)
|
|
AND 020H
|
|
RET NZ
|
|
SCF
|
|
RET
|
|
|
|
$FD: DB 0A2H,"8FD" ; $FD - Floppy Disk device descriptor
|
|
DS 2, 000H
|
|
DB 03FH,003H,03FH,08DH,036H,00FH
|
|
DS 2, 000H
|
|
DB 001H,030H,000H,0FEH,000H,005H,037H,008H,037H,097H,01FH,097H,01FH,097H,01FH
|
|
NOP
|
|
L35AB: NOP
|
|
L35AC: NOP
|
|
L35AD: NOP
|
|
NOP
|
|
NOP
|
|
L35B0: NOP
|
|
L35B1: NOP
|
|
NOP
|
|
L35B3: NOP
|
|
L35B4: NOP
|
|
L35B5: NOP
|
|
L35B6: NOP
|
|
L35B7: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L35BB: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L35BF: NOP
|
|
L35C0: PUSH BC
|
|
LD A,L
|
|
LD B,004H
|
|
L35C4: SRL H
|
|
RR L
|
|
DJNZ L35C4 ; (-006H)
|
|
AND 00FH
|
|
INC A
|
|
LD H,A
|
|
POP BC
|
|
RET
|
|
|
|
L35D0: LD A,H
|
|
LD H,000H
|
|
ADD HL,HL
|
|
ADD HL,HL
|
|
ADD HL,HL
|
|
ADD HL,HL
|
|
DEC A
|
|
ADD A,L
|
|
LD L,A
|
|
RET
|
|
|
|
L35DB: CALL SKPDE
|
|
LD HL,L35B5
|
|
BIT 7,(HL)
|
|
JR NZ,L35EB ; (+006H)
|
|
CALL L367C
|
|
CALL L3898
|
|
L35EB: LD A,(L35AC)
|
|
BIT 2,A
|
|
SET 2,A
|
|
JR Z,L35F6 ; (+002H)
|
|
SET 5,A
|
|
L35F6: SET 7,A
|
|
LD HL,L35B5
|
|
BIT 6,(HL)
|
|
JR Z,L3601 ; (+002H)
|
|
SET 6,A
|
|
L3601: CALL L361C
|
|
LD (HL),A
|
|
LD HL,L35B7
|
|
CALL L3614
|
|
BIT 0,(HL)
|
|
CALL Z,L3695
|
|
RET C
|
|
SET 0,(HL)
|
|
RET
|
|
|
|
L3614: LD A,(L35AC)
|
|
AND 003H
|
|
JP ADDHLA
|
|
|
|
L361C: OUT (0DCH),A
|
|
PUSH AF
|
|
RLCA
|
|
RLCA
|
|
OUT (0DDH),A
|
|
RLCA
|
|
OUT (0DEH),A
|
|
POP AF
|
|
RET
|
|
|
|
L3628: CALL SKPDE
|
|
LD D,000H
|
|
LD A,(L35B3)
|
|
SRL A
|
|
CPL
|
|
OUT (0DBH),A
|
|
LD B,A
|
|
LD A,(L35B5)
|
|
RES 6,A
|
|
BIT 5,A
|
|
JR Z,L3640 ; (+001H)
|
|
CCF
|
|
L3640: JR C,L3644 ; (+002H)
|
|
SET 6,A
|
|
L3644: CALL L361C
|
|
LD HL,L35B5
|
|
CP (HL)
|
|
LD (HL),A
|
|
JR Z,L364F ; (+001H)
|
|
INC D
|
|
L364F: LD HL,L35BB
|
|
CALL L3614
|
|
LD A,(HL)
|
|
OUT (0D9H),A
|
|
CP B
|
|
JR Z,L3666 ; (+00bH)
|
|
INC D
|
|
CALL L3673
|
|
PUSH AF
|
|
IN A,(0D9H)
|
|
LD (HL),A
|
|
POP AF
|
|
RET C
|
|
RET NZ
|
|
L3666: LD A,(L35B4)
|
|
CPL
|
|
OUT (0DAH),A
|
|
LD A,D
|
|
OR A
|
|
CALL NZ,L388D
|
|
XOR A
|
|
RET
|
|
|
|
L3673: LD A,018H
|
|
CALL L36C2
|
|
RET C
|
|
AND 099H
|
|
RET
|
|
|
|
L367C: LD HL,L35B5
|
|
SET 7,(HL)
|
|
LD A,(HL)
|
|
CALL L361C
|
|
LD HL,L35B7
|
|
LD B,004H
|
|
JP ?CLRHL
|
|
|
|
L368D: XOR A
|
|
CALL L361C
|
|
LD (L35B5),A
|
|
RET
|
|
|
|
L3695: CALL SKPDE
|
|
LD HL,L35BB
|
|
CALL L3614
|
|
LD (HL),0FFH
|
|
LD A,008H
|
|
CALL L36C2
|
|
RET C
|
|
AND 085H
|
|
XOR 004H
|
|
RET Z
|
|
JP L385A
|
|
|
|
L36AE: PUSH AF
|
|
LD A,LSD0
|
|
CALL L36BB
|
|
JR C,L36B8 ; (+002H)
|
|
POP AF
|
|
RET
|
|
|
|
L36B8: POP HL
|
|
POP HL
|
|
RET
|
|
|
|
L36BB: CALL SKPDE
|
|
LD D,000H
|
|
JR L36DC ; (+01aH)
|
|
|
|
L36C2: CALL SKPDE
|
|
LD B,A
|
|
LD A,(035AAH)
|
|
CPL
|
|
AND 003H
|
|
OR B
|
|
LD D,000H
|
|
JR L36D6 ; (+005H)
|
|
|
|
L36D1: CALL SKPDE
|
|
LD D,001H
|
|
L36D6: CALL L36AE
|
|
LD (L35B6),A
|
|
L36DC: CPL
|
|
OUT (0D8H),A
|
|
CALL L3887
|
|
LD E,007H
|
|
L36E4: LD HL,L2710
|
|
L36E7: DEC HL
|
|
LD A,H
|
|
OR L
|
|
JP Z,L36F9
|
|
IN A,(0D8H)
|
|
CPL
|
|
LD B,A
|
|
AND 081H
|
|
CP D
|
|
JR NZ,L36E7 ; (-00fH)
|
|
LD A,B
|
|
OR A
|
|
RET
|
|
|
|
L36F9: DEC E
|
|
JP Z,L385A
|
|
LD A,(L35B6)
|
|
CPL
|
|
OUT (0D8H),A
|
|
JR L36E4 ; (-021H)
|
|
|
|
DB 037H
|
|
JR L3709 ; (+001H)
|
|
|
|
OR A
|
|
L3709: EX AF,AF'
|
|
PUSH AF
|
|
EX AF,AF'
|
|
LD (L35B1),HL
|
|
PUSH HL
|
|
LD HL,L35AB
|
|
RL (HL)
|
|
RRC (HL)
|
|
LD H,(HL)
|
|
LD L,A
|
|
AND 007H
|
|
LD (L35AC),A
|
|
CALL L35DB
|
|
JR NC,L3728 ; (+005H)
|
|
POP HL
|
|
EX AF,AF'
|
|
POP AF
|
|
EX AF,AF'
|
|
RET
|
|
|
|
L3728: BIT 7,H
|
|
LD A,L
|
|
POP HL
|
|
PUSH HL
|
|
CALL Z,L37E7
|
|
LD (035AFH),DE
|
|
PUSH DE
|
|
OR A
|
|
PUSH AF
|
|
LD H,B
|
|
LD L,C
|
|
CALL P,L35C0
|
|
LD (L35AD),HL
|
|
LD A,009H
|
|
LD (L35BF),A
|
|
PUSH IY
|
|
CALL L375C
|
|
EX AF,AF'
|
|
POP IY
|
|
LD HL,(L35B3)
|
|
POP AF
|
|
CALL P,L35D0
|
|
LD B,H
|
|
LD C,L
|
|
POP DE
|
|
POP HL
|
|
POP AF
|
|
EX AF,AF'
|
|
JP L37E7
|
|
|
|
L375C: LD E,000H
|
|
LD HL,(035AFH)
|
|
LD A,(L35B5)
|
|
BIT 5,A
|
|
JR Z,L376B ; (+003H)
|
|
ADD HL,HL
|
|
LD E,080H
|
|
L376B: LD A,L
|
|
OR A
|
|
JR Z,L3770 ; (+001H)
|
|
INC H
|
|
L3770: LD A,H
|
|
LD (L35B0),A
|
|
L3774: CALL L37FA
|
|
CALL NC,L3628
|
|
RET C
|
|
JR NZ,L37E1 ; (+064H)
|
|
DI
|
|
LD A,(L35AB)
|
|
BIT 7,A
|
|
LD A,090H
|
|
LD IY,0A2EDH
|
|
JR NZ,L3791 ; (+006H)
|
|
LD A,0B4H
|
|
LD IY,0A3EDH
|
|
L3791: LD (L37A8),IY
|
|
CALL L36D1
|
|
RET C
|
|
L3799: LD B,E
|
|
PUSH DE
|
|
LD DE,0FE7CH
|
|
L379E: IN A,(0D8H)
|
|
OR E
|
|
CP D
|
|
JR Z,L379E ; (-006H)
|
|
CP LSFC
|
|
JR NZ,L37AD ; (+005H)
|
|
L37A8: NOP
|
|
NOP
|
|
JP NZ,L379E
|
|
L37AD: POP DE
|
|
IN A,(0D8H)
|
|
RRA
|
|
JP C,L385A
|
|
LD A,(L35B4)
|
|
INC A
|
|
LD (L35B4),A
|
|
CP 011H
|
|
JR Z,L37C4 ; (+005H)
|
|
DEC D
|
|
JR NZ,L3799 ; (-029H)
|
|
JR L37C5 ; (+001H)
|
|
|
|
L37C4: DEC D
|
|
L37C5: CALL L36AE
|
|
EI
|
|
IN A,(0D8H)
|
|
CPL
|
|
OR A
|
|
JR NZ,L37E1 ; (+012H)
|
|
LD A,(L35AB)
|
|
OR A
|
|
CALL Z,L3830
|
|
JR C,L37E1 ; (+009H)
|
|
CALL L3818
|
|
LD A,D
|
|
OR A
|
|
JR NZ,L3774 ; (-06bH)
|
|
XOR A
|
|
RET
|
|
|
|
L37E1: CALL L380B
|
|
RET C
|
|
JR L3774 ; (-073H)
|
|
|
|
L37E7: CALL IOOUT
|
|
LD A,(L35B5)
|
|
BIT 5,A
|
|
RET Z
|
|
L37F0: LD A,(HL)
|
|
CPL
|
|
LD (HL),A
|
|
INC HL
|
|
DEC DE
|
|
LD A,D
|
|
OR E
|
|
JR NZ,L37F0 ; (-009H)
|
|
RET
|
|
|
|
L37FA: LD HL,(L35AD)
|
|
LD (L35B3),HL
|
|
LD HL,(L35B1)
|
|
LD A,(L35B0)
|
|
LD D,A
|
|
LD C,0DBH
|
|
OR A
|
|
RET
|
|
|
|
L380B: CALL SKPDE
|
|
LD HL,L35BF
|
|
DEC (HL)
|
|
JP Z,L385A
|
|
JP L3695
|
|
|
|
L3818: LD (L35B1),HL
|
|
LD A,D
|
|
LD (L35B0),A
|
|
LD HL,(L35B3)
|
|
LD A,H
|
|
CP 011H
|
|
RET NZ
|
|
LD H,001H
|
|
INC L
|
|
LD (L35AD),HL
|
|
LD (L35B3),HL
|
|
RET
|
|
|
|
L3830: LD A,(035AEH)
|
|
CPL
|
|
OUT (0DAH),A
|
|
LD A,090H
|
|
CALL L36D1
|
|
RET C
|
|
LD A,(L35B4)
|
|
LD B,A
|
|
L3840: IN A,(0D8H)
|
|
CPL
|
|
AND 081H
|
|
CP 001H
|
|
JR NZ,L3852 ; (+009H)
|
|
IN A,(0DAH)
|
|
CPL
|
|
CP B
|
|
JR NZ,L3840 ; (-00fH)
|
|
CALL L36AE
|
|
L3852: IN A,(0D8H)
|
|
CPL
|
|
AND 099H
|
|
RET Z
|
|
SCF
|
|
RET
|
|
|
|
L385A: LD A,(L35B6)
|
|
RLA
|
|
IN A,(0D8H)
|
|
CPL
|
|
JR NC,L3878 ; (+015H)
|
|
RLA
|
|
JR C,L387B ; (+015H)
|
|
RLA
|
|
JR NC,L3870 ; (+007H)
|
|
LD HL,L35AB
|
|
BIT 7,(HL)
|
|
JR Z,L387F ; (+00fH)
|
|
L3870: AND 0C0H
|
|
JR NZ,L3883 ; (+00fH)
|
|
L3874: LD A,029H
|
|
SCF
|
|
RET
|
|
|
|
L3878: RLA
|
|
JR NC,L3874 ; (-007H)
|
|
L387B: LD A,032H
|
|
SCF
|
|
RET
|
|
|
|
L387F: LD A,02EH
|
|
SCF
|
|
RET
|
|
|
|
L3883: LD A,036H
|
|
SCF
|
|
RET
|
|
|
|
L3887: PUSH DE
|
|
LD DE,L000F
|
|
JR L3891 ; (+004H)
|
|
|
|
L388D: PUSH DE
|
|
LD DE,L2026
|
|
L3891: DEC DE
|
|
LD A,E
|
|
OR D
|
|
JR NZ,L3891 ; (-005H)
|
|
POP DE
|
|
RET
|
|
|
|
L3898: PUSH BC
|
|
LD B,011H
|
|
L389B: CALL L388D
|
|
DJNZ L389B ; (-005H)
|
|
POP BC
|
|
RET
|
|
|
|
; $QD - Quick Disk device descriptor (29 bytes)
|
|
$QD:
|
|
IF BUILD_RFS = 1
|
|
DW $RFS ; Next device = $RFS (RFS enhanced)
|
|
ELSE
|
|
DW $USR ; Next device = $USR (original)
|
|
ENDIF
|
|
DB "QD",000H,000H ; Device name
|
|
DB 05FH ; flags1
|
|
DB 040H ; flags2
|
|
DB 020H ; dirmx (32 entries)
|
|
DW 038C4H ; ZINIT
|
|
DW 038FBH ; ZRO
|
|
DW 0392AH ; ZWO
|
|
DW 038DAH ; ZCL
|
|
DW 00400H ; ZKL
|
|
DW 03918H ; ZINP
|
|
DW 03939H ; ZOUT
|
|
DW 01F97H ; ZDELT
|
|
DW 01F97H ; ZWDIR
|
|
DW 038C1H ; ZFREE
|
|
NOP
|
|
NOP
|
|
XOR A
|
|
SCF
|
|
RET
|
|
|
|
RET C
|
|
CALL L1E7A
|
|
CALL TEST1
|
|
DB 000H
|
|
JP NZ,L1F6A
|
|
CALL L392F
|
|
RET C
|
|
LD HL,L3972
|
|
LD (HL),002H
|
|
JR L3928 ; (+04eH)
|
|
|
|
OR A
|
|
JR NZ,L38F4 ; (+017H)
|
|
XOR A
|
|
LD (L397E),A
|
|
LD HL,L3972
|
|
LD (HL),005H
|
|
CALL L3988
|
|
LD HL,00001H
|
|
LD (L3972),HL
|
|
LD HL,L3972
|
|
JR L3928 ; (+034H)
|
|
|
|
L38F4: LD HL,L3972
|
|
LD (HL),006H
|
|
JR L3928 ; (+02dH)
|
|
|
|
LD (L3974),HL
|
|
LD HL,L0003
|
|
LD (L3972),HL
|
|
LD HL,00040H
|
|
LD (L3976),HL
|
|
LD HL,L3972
|
|
CALL L3988
|
|
RET NC
|
|
CP 028H
|
|
SCF
|
|
RET NZ
|
|
LD A,000H
|
|
RET
|
|
|
|
LD (L3974),HL
|
|
LD HL,00103H
|
|
LD (L3972),HL
|
|
LD (03976H),BC
|
|
LD HL,L3972
|
|
L3928: JR L3988 ; (+05eH)
|
|
|
|
LD A,037H
|
|
LD (L393C),A
|
|
L392F: LD A,001H
|
|
LD HL,L3973
|
|
LD (HL),A
|
|
DEC HL
|
|
LD (HL),A
|
|
JR L3988 ; (+04fH)
|
|
|
|
LD (L3971),A
|
|
L393C: XOR A
|
|
JR NC,L395B ; (+01cH)
|
|
LD A,0AFH
|
|
LD (L393C),A
|
|
CALL L1C2B
|
|
LD (L3978),HL
|
|
LD HL,L1000
|
|
LD (L3974),HL
|
|
LD HL,00040H
|
|
LD (L3976),HL
|
|
LD A,(L3971)
|
|
JR L3963 ; (+008H)
|
|
|
|
L395B: LD (L3978),HL
|
|
LD A,(L3971)
|
|
SET 0,A
|
|
L3963: LD (L3973),A
|
|
LD (0397AH),BC
|
|
LD HL,L3972
|
|
LD (HL),004H
|
|
JR L3988 ; (+017H)
|
|
|
|
L3971: NOP
|
|
L3972: NOP
|
|
L3973: NOP
|
|
L3974: NOP
|
|
NOP
|
|
L3976: NOP
|
|
NOP
|
|
L3978: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L397C: NOP
|
|
L397D: NOP
|
|
L397E: NOP
|
|
L397F: NOP
|
|
L3980: NOP
|
|
L3981: NOP
|
|
L3982: NOP
|
|
L3983: NOP
|
|
L3984: NOP
|
|
L3985: NOP
|
|
NOP
|
|
NOP
|
|
L3988: LD A,002H
|
|
LD (L3984),A
|
|
L398D: DI
|
|
CALL L39D5
|
|
EI
|
|
RET NC
|
|
PUSH AF
|
|
CP 028H
|
|
JR Z,L39D3 ; (+03bH)
|
|
CALL L3C34
|
|
LD A,(L3980)
|
|
OR A
|
|
JR Z,L39B8 ; (+017H)
|
|
XOR A
|
|
LD (L3980),A
|
|
LD A,(L3981)
|
|
PUSH HL
|
|
LD (03986H),SP
|
|
POP HL
|
|
DI
|
|
CALL L3BD3
|
|
EI
|
|
JR C,L39CD ; (+018H)
|
|
CALL L3C34
|
|
L39B8: POP AF
|
|
PUSH AF
|
|
CP 029H
|
|
JR NZ,L39D3 ; (+015H)
|
|
LD HL,L3984
|
|
DEC (HL)
|
|
JR Z,L39CD ; (+009H)
|
|
POP AF
|
|
LD A,(L397F)
|
|
LD (L397E),A
|
|
JR L398D ; (-040H)
|
|
|
|
L39CD: CALL L3B47
|
|
CALL L39EE
|
|
L39D3: POP AF
|
|
RET
|
|
|
|
L39D5: LD (03986H),SP
|
|
LD A,(L3972)
|
|
DEC A
|
|
JR Z,L39F5 ; (+016H)
|
|
DEC A
|
|
JR Z,L39FB ; (+019H)
|
|
DEC A
|
|
JR Z,L3A49 ; (+064H)
|
|
DEC A
|
|
JP Z,L3AB4
|
|
DEC A
|
|
JR Z,L39EE ; (+002H)
|
|
JR L3A3E ; (+050H)
|
|
|
|
L39EE: PUSH AF
|
|
XOR A
|
|
LD (L397C),A
|
|
POP AF
|
|
RET
|
|
|
|
L39F5: LD A,(L3973)
|
|
JP L3BA9
|
|
|
|
L39FB: XOR A
|
|
CALL L3BD3
|
|
CALL L3CAA
|
|
LD BC,0FFFFH
|
|
LD A,0AAH
|
|
L3A07: CPL
|
|
LD D,A
|
|
CALL L3D21
|
|
DEC BC
|
|
LD A,B
|
|
OR C
|
|
JR Z,L3A14 ; (+003H)
|
|
LD A,D
|
|
JR L3A07 ; (-00dH)
|
|
|
|
L3A14: CALL L3CF7
|
|
CALL L3C34
|
|
CALL L3BEB
|
|
LD A,(L3982)
|
|
DEC A
|
|
JR NZ,L3A41 ; (+01eH)
|
|
CALL L3C49
|
|
LD BC,0FFFFH
|
|
LD E,055H
|
|
L3A2B: CP E
|
|
JR NZ,L3A41 ; (+013H)
|
|
DEC BC
|
|
LD A,B
|
|
OR C
|
|
JR Z,L3A3B ; (+008H)
|
|
LD A,E
|
|
CPL
|
|
LD E,A
|
|
CALL L3D37
|
|
JR L3A2B ; (-010H)
|
|
|
|
L3A3B: CALL L3D09
|
|
L3A3E: JP L3C34
|
|
|
|
L3A41: LD A,029H
|
|
SCF
|
|
RET
|
|
|
|
L3A45: EI
|
|
JP 0017DH
|
|
|
|
L3A49: LD A,(L3983)
|
|
OR A
|
|
CALL Z,L3BEB
|
|
CALL L3A7A
|
|
RET C
|
|
CALL BRKCHK
|
|
JP Z,L3A45
|
|
CALL L3D37
|
|
LD C,A
|
|
CALL L3D37
|
|
LD B,A
|
|
LD HL,(L3974)
|
|
L3A65: CALL L3D37
|
|
LD (HL),A
|
|
INC HL
|
|
DEC BC
|
|
LD A,B
|
|
OR C
|
|
JR NZ,L3A65 ; (-00aH)
|
|
CALL L3D09
|
|
LD A,(L3973)
|
|
BIT 0,A
|
|
JR NZ,L3A3E ; (-03bH)
|
|
RET
|
|
|
|
L3A7A: LD HL,L3982
|
|
DEC (HL)
|
|
JR Z,L3AB0 ; (+030H)
|
|
CALL L3C49
|
|
LD C,A
|
|
LD A,(L397C)
|
|
LD HL,L397D
|
|
CP (HL)
|
|
JR NZ,L3AAD ; (+020H)
|
|
INC A
|
|
LD (L397C),A
|
|
LD (HL),A
|
|
LD A,(L3973)
|
|
XOR C
|
|
RRA
|
|
RET NC
|
|
L3A98: CALL L3D37
|
|
LD C,A
|
|
CALL L3D37
|
|
LD B,A
|
|
L3AA0: CALL L3D37
|
|
DEC BC
|
|
LD A,B
|
|
OR C
|
|
JR NZ,L3AA0 ; (-008H)
|
|
CALL L3D09
|
|
JR L3A7A ; (-033H)
|
|
|
|
L3AAD: INC (HL)
|
|
JR L3A98 ; (-018H)
|
|
|
|
L3AB0: LD A,028H
|
|
SCF
|
|
RET
|
|
|
|
L3AB4: LD A,(L397E)
|
|
LD (L397F),A
|
|
LD A,(L3983)
|
|
OR A
|
|
JR NZ,L3AD7 ; (+017H)
|
|
CALL L3BEB
|
|
LD A,(L397E)
|
|
LD HL,L3982
|
|
ADD A,(HL)
|
|
LD (L3982),A
|
|
INC A
|
|
LD (L397C),A
|
|
CALL L3A7A
|
|
JP NC,L3B51
|
|
L3AD7: LD A,(L3973)
|
|
LD B,A
|
|
AND 001H
|
|
JR NZ,L3AEE ; (+00fH)
|
|
LD DE,L3974
|
|
LD A,B
|
|
RES 2,A
|
|
CALL L3B5A
|
|
CALL BRKCHK
|
|
JP Z,L3A45
|
|
L3AEE: LD DE,L3978
|
|
LD A,(L3973)
|
|
SET 0,A
|
|
CALL L3B5A
|
|
CALL L3C34
|
|
CALL BRKCHK
|
|
JP Z,L3A45
|
|
LD A,(L3973)
|
|
AND 004H
|
|
JR Z,L3B55 ; (+04cH)
|
|
LD A,(L3981)
|
|
LD HL,L397E
|
|
ADD A,(HL)
|
|
CALL L3BD3
|
|
LD A,001H
|
|
LD (L3980),A
|
|
L3B18: LD A,(L3981)
|
|
LD HL,L397F
|
|
ADD A,(HL)
|
|
INC A
|
|
LD (L3982),A
|
|
INC A
|
|
LD (L397C),A
|
|
CALL L3A7A
|
|
JR NC,L3B51 ; (+025H)
|
|
LD A,(L3973)
|
|
AND 001H
|
|
JR NZ,L3B3A ; (+007H)
|
|
LD DE,L3974
|
|
CALL L3B88
|
|
RET C
|
|
L3B3A: LD DE,L3978
|
|
CALL L3B88
|
|
RET C
|
|
LD A,(L3980)
|
|
OR A
|
|
JR Z,L3B4E ; (+007H)
|
|
L3B47: XOR A
|
|
LD (L397E),A
|
|
LD (L3980),A
|
|
L3B4E: JP L3C34
|
|
|
|
L3B51: LD A,029H
|
|
SCF
|
|
RET
|
|
|
|
L3B55: CALL L3BEB
|
|
JR L3B18 ; (-042H)
|
|
|
|
L3B5A: PUSH AF
|
|
LD HL,L397E
|
|
INC (HL)
|
|
CALL L3CAA
|
|
POP AF
|
|
CALL L3D21
|
|
CALL L3B7E
|
|
LD A,C
|
|
CALL L3D21
|
|
LD A,B
|
|
CALL L3D21
|
|
L3B71: LD A,(HL)
|
|
CALL L3D21
|
|
INC HL
|
|
DEC BC
|
|
LD A,B
|
|
OR C
|
|
JR NZ,L3B71 ; (-00aH)
|
|
JP L3CF7
|
|
|
|
L3B7E: EX DE,HL
|
|
LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
INC HL
|
|
LD C,(HL)
|
|
INC HL
|
|
LD B,(HL)
|
|
EX DE,HL
|
|
RET
|
|
|
|
L3B88: CALL L3C49
|
|
CALL L3B7E
|
|
CALL L3D37
|
|
CP C
|
|
JR NZ,L3B51 ; (-043H)
|
|
CALL L3D37
|
|
CP B
|
|
JR NZ,L3B51 ; (-049H)
|
|
L3B9A: CALL L3D37
|
|
CP (HL)
|
|
JR NZ,L3B51 ; (-04fH)
|
|
INC HL
|
|
DEC BC
|
|
LD A,B
|
|
OR C
|
|
JR NZ,L3B9A ; (-00cH)
|
|
JP L3D09
|
|
|
|
L3BA9: LD B,A
|
|
LD A,002H
|
|
OUT (0F7H),A
|
|
LD A,055H
|
|
OUT (0F7H),A
|
|
LD A,002H
|
|
OUT (0F7H),A
|
|
IN A,(0F7H)
|
|
CP 055H
|
|
JP NZ,03D4DH
|
|
LD A,010H
|
|
OUT (0F6H),A
|
|
IN A,(0F6H)
|
|
LD C,A
|
|
AND 008H
|
|
JP Z,03D4DH
|
|
LD A,B
|
|
OR A
|
|
RET Z
|
|
LD A,C
|
|
AND 020H
|
|
RET NZ
|
|
JP 03D4AH
|
|
|
|
L3BD3: PUSH AF
|
|
LD HL,03D73H
|
|
LD B,009H
|
|
CALL L3C0A
|
|
CALL L3CDF
|
|
CALL L3CC3
|
|
POP AF
|
|
CALL L3D21
|
|
CALL L3CF7
|
|
JR L3C00 ; (+015H)
|
|
|
|
L3BEB: LD HL,L3D68
|
|
LD B,00BH
|
|
CALL L3C0A
|
|
CALL L3C5F
|
|
LD (L3981),A
|
|
INC A
|
|
LD (L3982),A
|
|
CALL L3D09
|
|
L3C00: LD HL,L3985
|
|
SET 3,(HL)
|
|
XOR A
|
|
LD (L397D),A
|
|
RET
|
|
|
|
L3C0A: LD C,0F6H
|
|
OTIR
|
|
LD A,005H
|
|
LD (L3983),A
|
|
OUT (0F7H),A
|
|
LD A,080H
|
|
OUT (0F7H),A
|
|
L3C19: LD A,010H
|
|
OUT (0F6H),A
|
|
IN A,(0F6H)
|
|
AND 008H
|
|
JP Z,03D4DH
|
|
LD A,010H
|
|
OUT (0F7H),A
|
|
IN A,(0F7H)
|
|
AND 008H
|
|
JR Z,L3C19 ; (-015H)
|
|
LD BC,L00E9
|
|
JP L3D5B
|
|
|
|
L3C34: PUSH AF
|
|
LD A,005H
|
|
OUT (0F6H),A
|
|
LD A,060H
|
|
OUT (0F6H),A
|
|
LD A,005H
|
|
OUT (0F7H),A
|
|
XOR A
|
|
LD (L3983),A
|
|
OUT (0F7H),A
|
|
POP AF
|
|
RET
|
|
|
|
L3C49: LD A,058H
|
|
LD B,00BH
|
|
LD HL,L3D68
|
|
CALL L3CE8
|
|
LD HL,L3985
|
|
BIT 3,(HL)
|
|
LD BC,L0003
|
|
JR Z,L3C62 ; (+005H)
|
|
RES 3,(HL)
|
|
L3C5F: LD BC,L00A0
|
|
L3C62: CALL L3D5B
|
|
LD A,005H
|
|
OUT (0F7H),A
|
|
LD A,082H
|
|
OUT (0F7H),A
|
|
LD A,003H
|
|
OUT (0F6H),A
|
|
LD A,LSD3
|
|
OUT (0F6H),A
|
|
LD BC,L2CC0
|
|
L3C78: LD A,010H
|
|
OUT (0F6H),A
|
|
IN A,(0F6H)
|
|
AND 010H
|
|
JR Z,L3C8A ; (+008H)
|
|
DEC BC
|
|
LD A,B
|
|
OR C
|
|
JR NZ,L3C78 ; (-00fH)
|
|
JP 03D53H
|
|
|
|
L3C8A: LD A,003H
|
|
OUT (0F6H),A
|
|
LD A,0C3H
|
|
OUT (0F6H),A
|
|
L3C92: LD A,010H
|
|
OUT (0F6H),A
|
|
IN A,(0F6H)
|
|
AND 001H
|
|
JR Z,L3C92 ; (-00aH)
|
|
LD A,003H
|
|
OUT (0F6H),A
|
|
LD A,0C9H
|
|
OUT (0F6H),A
|
|
CALL L3D37
|
|
JP L3D37
|
|
|
|
L3CAA: LD A,098H
|
|
LD B,009H
|
|
LD HL,03D73H
|
|
CALL L3CE8
|
|
CALL L3CDF
|
|
LD HL,L3985
|
|
BIT 3,(HL)
|
|
LD BC,0001DH
|
|
JR Z,L3CC6 ; (+005H)
|
|
RES 3,(HL)
|
|
L3CC3: LD BC,L0140
|
|
L3CC6: CALL L3D5B
|
|
LD A,005H
|
|
OUT (0F6H),A
|
|
LD A,0EFH
|
|
OUT (0F6H),A
|
|
LD BC,00001H
|
|
CALL L3D5B
|
|
LD A,0C0H
|
|
OUT (0F6H),A
|
|
LD A,0A5H
|
|
JR L3D21 ; (+042H)
|
|
|
|
L3CDF: LD A,005H
|
|
OUT (0F6H),A
|
|
LD A,0FFH
|
|
OUT (0F6H),A
|
|
RET
|
|
|
|
L3CE8: LD C,0F6H
|
|
OUT (C),A
|
|
LD A,005H
|
|
OUT (0F7H),A
|
|
LD A,080H
|
|
OUT (0F7H),A
|
|
OTIR
|
|
RET
|
|
|
|
L3CF7: LD BC,00001H
|
|
CALL L3D5B
|
|
LD A,010H
|
|
OUT (0F7H),A
|
|
IN A,(0F7H)
|
|
AND 008H
|
|
RET NZ
|
|
JP 03D50H
|
|
|
|
L3D09: LD B,003H
|
|
L3D0B: CALL L3D37
|
|
DJNZ L3D0B ; (-005H)
|
|
L3D10: IN A,(0F6H)
|
|
RRCA
|
|
JR NC,L3D10 ; (-005H)
|
|
LD A,001H
|
|
OUT (0F6H),A
|
|
IN A,(0F6H)
|
|
AND 040H
|
|
JR NZ,L3D47 ; (+028H)
|
|
OR A
|
|
RET
|
|
|
|
L3D21: PUSH AF
|
|
L3D22: IN A,(0F6H)
|
|
AND 004H
|
|
JR Z,L3D22 ; (-006H)
|
|
POP AF
|
|
OUT (QDPC),A
|
|
L3D2B: LD A,010H
|
|
OUT (0F6H),A
|
|
IN A,(0F6H)
|
|
AND 008H
|
|
JP Z,03D4DH
|
|
RET
|
|
|
|
L3D37: CALL L3D2B
|
|
IN A,(0F6H)
|
|
RLCA
|
|
JR C,L3D47 ; (+008H)
|
|
RRCA
|
|
RRCA
|
|
JR NC,L3D37 ; (-00cH)
|
|
IN A,(QDPC)
|
|
OR A
|
|
RET
|
|
|
|
L3D47: LD A,029H
|
|
LD HL,02E3EH
|
|
LD HL,0323EH
|
|
LD HL,L353E
|
|
LD HL,0363EH
|
|
LD SP,(03986H)
|
|
SCF
|
|
RET
|
|
|
|
L3D5B: PUSH AF
|
|
L3D5C: LD A,098H
|
|
L3D5E: DEC A
|
|
JR NZ,L3D5E ; (-003H)
|
|
DEC BC
|
|
LD A,B
|
|
OR C
|
|
JR NZ,L3D5C ; (-00aH)
|
|
POP AF
|
|
RET
|
|
|
|
L3D68: LD E,B
|
|
INC B
|
|
DJNZ L3D71 ; (+005H)
|
|
INC B
|
|
INC BC
|
|
RET NC
|
|
LD B,016H
|
|
L3D71: RLCA
|
|
LD D,098H
|
|
INC B
|
|
DJNZ L3D7D ; (+006H)
|
|
LD D,007H
|
|
LD D,005H
|
|
LD L,L
|
|
PUSH HL
|
|
L3D7D: LD DE,(00188H)
|
|
PUSH DE
|
|
LD DE,L3DC3
|
|
LD (00188H),DE
|
|
LD A,(L004F)
|
|
PUSH AF
|
|
LD A,064H
|
|
LD (L004F),A
|
|
LD (03E3AH),SP
|
|
XOR A
|
|
LD (L1091),A
|
|
L3D9A: LD SP,L0000
|
|
L3D9D: LD BC,L3D9D
|
|
PUSH BC
|
|
RST 018H
|
|
DB 002H
|
|
LD A,02AH
|
|
RST 018H
|
|
DB 003H
|
|
L3DA7: CALL L3E46
|
|
JR NC,L3DA7 ; (-005H)
|
|
LD A,(DE)
|
|
CP 02AH
|
|
RET NZ
|
|
INC DE
|
|
LD A,(DE)
|
|
INC DE
|
|
EXX
|
|
LD HL,L3DD5
|
|
LD B,00AH
|
|
L3DB9: CP (HL)
|
|
INC HL
|
|
JR Z,L3DCF ; (+012H)
|
|
INC HL
|
|
INC HL
|
|
DJNZ L3DB9 ; (-008H)
|
|
EXX
|
|
RET
|
|
|
|
L3DC3: LD C,A
|
|
AND 07FH
|
|
JR Z,L3D9A ; (-02eH)
|
|
LD A,C
|
|
RST 018H
|
|
DB 01BH
|
|
RST 018H
|
|
DB 043H
|
|
JR L3D9A ; (-035H)
|
|
|
|
L3DCF: LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
PUSH DE
|
|
EXX
|
|
RET
|
|
|
|
L3DD5: LD B,H
|
|
CP E
|
|
LD A,04DH
|
|
DEC L
|
|
CCF
|
|
LD D,B
|
|
DI
|
|
DEC A
|
|
LD B,A
|
|
OR (HL)
|
|
LD A,046H
|
|
LD D,C
|
|
CCF
|
|
LD D,D
|
|
ADD HL,SP
|
|
LD A,053H
|
|
CALL M,L4C3D
|
|
INC DE
|
|
LD A,056H
|
|
JR NC,03E2EH ; (+03eH)
|
|
LD D,H
|
|
AND C
|
|
CCF
|
|
LD A,(L1091)
|
|
XOR 001H
|
|
LD (L1091),A
|
|
RET
|
|
|
|
CALL L3F8A
|
|
RET C
|
|
EXX
|
|
CALL L3FB8
|
|
EXX
|
|
LD (ELMD20),BC
|
|
LD (ELMD22),DE
|
|
LD (L1018),HL
|
|
RST 018H
|
|
DB 031H
|
|
RET
|
|
|
|
CALL L3E67
|
|
PUSH HL
|
|
PUSH AF
|
|
CALL L3E25
|
|
POP AF
|
|
POP HL
|
|
JR NC,L3E22 ; (+003H)
|
|
LD HL,(ELMD22)
|
|
L3E22: RST 018H
|
|
DB 030H
|
|
RET
|
|
|
|
L3E25: CALL L3FB8
|
|
RST 018H
|
|
DB 02FH
|
|
CP 001H
|
|
RET Z
|
|
JP 01F9DH
|
|
|
|
CALL L3E25
|
|
LD HL,(ELMD22)
|
|
RST 018H
|
|
DB 032H
|
|
RET
|
|
|
|
LD SP,L0000
|
|
POP AF
|
|
LD (L004F),A
|
|
POP HL
|
|
LD (00188H),HL
|
|
POP HL
|
|
RET
|
|
|
|
L3E46: LD DE,0FF00H
|
|
RST 018H
|
|
DB 00CH
|
|
JR C,L3E65 ; (+018H)
|
|
LD A,(DE)
|
|
CP 03AH
|
|
SCF
|
|
RET NZ
|
|
INC DE
|
|
CALL L3E67
|
|
RET C
|
|
LD A,(DE)
|
|
INC DE
|
|
XOR 03DH
|
|
RET NZ
|
|
L3E5C: CALL L3E8C
|
|
CCF
|
|
RET NC
|
|
LD (HL),A
|
|
INC HL
|
|
JR L3E5C ; (-009H)
|
|
|
|
L3E65: LD (DE),A
|
|
RET
|
|
|
|
L3E67: PUSH HL
|
|
CALL L3E81
|
|
PUSH DE
|
|
CALL L3E93
|
|
JR C,L3E7C ; (+00bH)
|
|
LD H,A
|
|
CALL L3E93
|
|
JR C,L3E7C ; (+005H)
|
|
LD L,A
|
|
POP AF
|
|
POP AF
|
|
XOR A
|
|
RET
|
|
|
|
L3E7C: POP DE
|
|
POP HL
|
|
SCF
|
|
RET
|
|
|
|
L3E80: INC DE
|
|
L3E81: LD A,(DE)
|
|
CP 020H
|
|
JR Z,L3E80 ; (-006H)
|
|
RET
|
|
|
|
L3E87: LD A,(DE)
|
|
RST 018H
|
|
DB 015H
|
|
INC DE
|
|
RET
|
|
|
|
L3E8C: CALL L3E81
|
|
CP 03BH
|
|
JR Z,L3EB1 ; (+01eH)
|
|
L3E93: PUSH BC
|
|
PUSH DE
|
|
CALL L3E87
|
|
JR C,L3EAD ; (+013H)
|
|
LD C,A
|
|
CALL L3E87
|
|
JR C,L3EAD ; (+00dH)
|
|
LD B,A
|
|
LD A,C
|
|
RLCA
|
|
RLCA
|
|
RLCA
|
|
RLCA
|
|
ADD A,B
|
|
LD C,A
|
|
LD A,C
|
|
POP BC
|
|
POP BC
|
|
OR A
|
|
RET
|
|
|
|
L3EAD: POP DE
|
|
POP BC
|
|
SCF
|
|
RET
|
|
|
|
L3EB1: INC DE
|
|
LD A,(DE)
|
|
INC DE
|
|
OR A
|
|
RET
|
|
|
|
CALL L3E67
|
|
RET C
|
|
JP (HL)
|
|
|
|
CALL L3E67
|
|
JR C,L3ECB ; (+00bH)
|
|
PUSH HL
|
|
CALL L3E67
|
|
JR C,L3ECA ; (+004H)
|
|
POP DE
|
|
EX DE,HL
|
|
JR L3ED1 ; (+007H)
|
|
|
|
L3ECA: POP HL
|
|
L3ECB: EX DE,HL
|
|
LD HL,L0080
|
|
ADD HL,DE
|
|
EX DE,HL
|
|
L3ED1: LD C,008H
|
|
CALL L3EDE
|
|
RET C
|
|
PUSH HL
|
|
SBC HL,DE
|
|
POP HL
|
|
RET NC
|
|
JR L3ED1 ; (-00dH)
|
|
|
|
L3EDE: CALL L3F06
|
|
LD B,C
|
|
PUSH HL
|
|
L3EE3: LD A,(HL)
|
|
CALL L3F17
|
|
INC HL
|
|
LD A,020H
|
|
RST 018H
|
|
DB 009H
|
|
DJNZ L3EE3 ; (-00bH)
|
|
POP HL
|
|
LD A,02FH
|
|
RST 018H
|
|
DB 009H
|
|
LD B,C
|
|
L3EF4: LD A,(HL)
|
|
CP 020H
|
|
JR NC,L3EFB ; (+002H)
|
|
LD A,02EH
|
|
L3EFB: RST 018H
|
|
DB 009H
|
|
INC HL
|
|
DJNZ L3EF4 ; (-00cH)
|
|
RST 018H
|
|
DB 008H
|
|
RST 018H
|
|
DB 00FH
|
|
OR A
|
|
RET
|
|
|
|
L3F06: LD A,03AH
|
|
RST 018H
|
|
DB 009H
|
|
LD A,H
|
|
CALL L3F17
|
|
LD A,L
|
|
CALL L3F17
|
|
LD A,03DH
|
|
RST 018H
|
|
DB 009H
|
|
RET
|
|
|
|
L3F17: PUSH AF
|
|
RLCA
|
|
RLCA
|
|
RLCA
|
|
RLCA
|
|
CALL L3F20
|
|
POP AF
|
|
L3F20: AND 00FH
|
|
ADD A,030H
|
|
CP 03AH
|
|
JR C,L3F2A ; (+002H)
|
|
ADD A,007H
|
|
L3F2A: RST 018H
|
|
DB 009H
|
|
RET
|
|
|
|
CALL L3E67
|
|
LD A,(L1091)
|
|
PUSH AF
|
|
XOR A
|
|
LD (L1091),A
|
|
L3F38: RST 018H
|
|
DB 002H
|
|
CALL L3F06
|
|
LD A,(HL)
|
|
CALL L3F17
|
|
LD A,014H
|
|
RST 018H
|
|
DB 003H
|
|
RST 018H
|
|
DB 003H
|
|
CALL L3E46
|
|
JR NC,L3F38 ; (-014H)
|
|
POP AF
|
|
LD (L1091),A
|
|
RET
|
|
|
|
CALL L3E67
|
|
RET C
|
|
PUSH HL
|
|
CALL L3E67
|
|
POP BC
|
|
RET C
|
|
PUSH HL
|
|
PUSH BC
|
|
LD HL,0FF00H
|
|
CALL L3E5C
|
|
LD DE,0FF00H
|
|
OR A
|
|
SBC HL,DE
|
|
LD C,L
|
|
POP HL
|
|
PUSH HL
|
|
EXX
|
|
POP HL
|
|
POP DE
|
|
EXX
|
|
RET Z
|
|
L3F71: CALL L3FCB
|
|
JR NZ,L3F7A ; (+004H)
|
|
CALL L3EDE
|
|
RET C
|
|
L3F7A: RST 018H
|
|
DB 00EH
|
|
RET Z
|
|
EXX
|
|
INC HL
|
|
PUSH HL
|
|
SCF
|
|
SBC HL,DE
|
|
POP HL
|
|
RET NC
|
|
PUSH HL
|
|
EXX
|
|
POP HL
|
|
JR L3F71 ; (-019H)
|
|
|
|
L3F8A: CALL L3E67
|
|
PUSH HL
|
|
CALL NC,L3E67
|
|
POP BC
|
|
RET C
|
|
SBC HL,BC
|
|
INC HL
|
|
PUSH HL
|
|
PUSH BC
|
|
CALL L3E67
|
|
PUSH HL
|
|
EXX
|
|
POP HL
|
|
POP DE
|
|
POP BC
|
|
RET
|
|
|
|
CALL L3F8A
|
|
RET C
|
|
EX DE,HL
|
|
PUSH HL
|
|
SBC HL,DE
|
|
POP HL
|
|
JR C,L3FAF ; (+003H)
|
|
LDIR
|
|
RET
|
|
|
|
L3FAF: ADD HL,BC
|
|
DEC HL
|
|
EX DE,HL
|
|
ADD HL,BC
|
|
DEC HL
|
|
EX DE,HL
|
|
LDDR
|
|
RET
|
|
|
|
L3FB8: LD A,(DE)
|
|
OR A
|
|
JR Z,L3FC1 ; (+005H)
|
|
INC DE
|
|
CP 03AH
|
|
JR NZ,L3FB8 ; (-009H)
|
|
L3FC1: RST 018H
|
|
DB 017H
|
|
RST 018H
|
|
DB 02DH
|
|
LD A,001H
|
|
LD (L1000),A
|
|
RET
|
|
|
|
L3FCB: LD A,(DE)
|
|
CP (HL)
|
|
RET NZ
|
|
PUSH BC
|
|
PUSH DE
|
|
PUSH HL
|
|
LD B,C
|
|
L3FD2: LD A,(DE)
|
|
CP (HL)
|
|
JR NZ,L3FDB ; (+005H)
|
|
INC DE
|
|
INC HL
|
|
DJNZ L3FD2 ; (-008H)
|
|
XOR A
|
|
L3FDB: POP HL
|
|
POP DE
|
|
POP BC
|
|
RET
|
|
|
|
DS 33, 000H
|
|
L4000:
|
|
IF BUILD_RFS = 1
|
|
LD HL,RFS_END ; TEXTST: moved past RFS module
|
|
ELSE
|
|
LD HL,085FEH ; TEXTST: original end of BASIC code
|
|
ENDIF
|
|
LD (L1070),HL
|
|
LD HL,L4052
|
|
LD (000E3H),HL
|
|
LD A,B
|
|
OR A
|
|
JR Z,L401B ; (+00bH)
|
|
LD HL,L4042
|
|
LD DE,L1361
|
|
LD BC,00010H
|
|
LDIR
|
|
L401B: LD A,(L0036)
|
|
BIT 6,A
|
|
LD A,045H
|
|
JR Z,L4027 ; (+003H)
|
|
LD (L852E),A
|
|
L4027: LD DE,L84E0
|
|
RST 018H
|
|
L402B: DB 005H
|
|
IF BUILD_RFS = 1
|
|
JP MEMCLI_PATCH ; RFS: call SVC 020H then set HL=RFS_END
|
|
ELSE
|
|
RST 018H ; Original: SVC 020H (boot beep + EI)
|
|
DB 020H
|
|
EX DE,HL
|
|
ENDIF
|
|
L402F: LD (HL),000H
|
|
INC HL
|
|
LD A,H
|
|
CP 0FFH
|
|
JR C,L402F ; (-008H)
|
|
CALL L4902
|
|
CALL L4914
|
|
CALL L5E1B
|
|
JR L4056 ; (+014H)
|
|
|
|
L4042: RRCA
|
|
DB "RUN ",022H,"AUTO RUN",022H,00DH
|
|
L4052: DB 03EH
|
|
DB 016H
|
|
DB 0DFH
|
|
DB 003H
|
|
L4056: LD HL,L4B7B
|
|
LD (00188H),HL
|
|
L405C: RST 018H
|
|
DB 002H
|
|
LD DE,L4B68
|
|
RST 018H
|
|
DB 005H
|
|
RST 018H
|
|
DB 001H
|
|
L4065: LD A,(L4B6E)
|
|
OR A
|
|
JR NZ,L4077 ; (+00cH)
|
|
LD SP,(INTFAC)
|
|
LD HL,0FFFFH
|
|
PUSH HL
|
|
LD (0848FH),SP
|
|
L4077: LD HL,L0000
|
|
LD (L847C),HL
|
|
XOR A
|
|
LD (L0050),A
|
|
CALL L48B1
|
|
RST 018H
|
|
DB 043H
|
|
LD DE,L11A4
|
|
RST 018H
|
|
DB 00CH
|
|
JR NC,L4099 ; (+00cH)
|
|
L408D: LD HL,L48B0
|
|
LD A,(HL)
|
|
OR A
|
|
LD (HL),000H
|
|
JR NZ,L405C ; (-03aH)
|
|
JR L4065 ; (-033H)
|
|
|
|
L4098: INC DE
|
|
L4099: LD A,(DE)
|
|
CP 020H
|
|
JR Z,L4098 ; (-006H)
|
|
OR A
|
|
JR Z,L4065 ; (-03cH)
|
|
CALL L5EC2
|
|
JP NC,L4746
|
|
LD HL,L84E0
|
|
PUSH HL
|
|
CALL L66ED
|
|
INC HL
|
|
LD (L8476),HL
|
|
CALL L4952
|
|
POP HL
|
|
JR L40BB ; (+003H)
|
|
|
|
L40B8: CALL L5E46
|
|
L40BB: LD (0848FH),SP
|
|
L40BF: LD DE,L40B8
|
|
PUSH DE
|
|
L40C3: LD (L8491),HL
|
|
CALL BRKCHK
|
|
JP Z,0017DH
|
|
L40CC: LD A,(HL)
|
|
INC HL
|
|
CP 080H
|
|
JR NC,L4126 ; (+054H)
|
|
CP 027H
|
|
JP Z,L4F80
|
|
CP 020H
|
|
JR Z,L40CC ; (-00fH)
|
|
CP 03AH
|
|
JR Z,L40C3 ; (-01cH)
|
|
OR A
|
|
JR Z,L40ED ; (+00bH)
|
|
DEC HL
|
|
SUB 041H
|
|
CP 01AH
|
|
JP C,L4C8F
|
|
JP L4AE6
|
|
|
|
L40ED: LD HL,(L8476)
|
|
L40F0: LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
LD A,D
|
|
OR E
|
|
JR Z,L410F ; (+018H)
|
|
LD (L0050),A
|
|
EX DE,HL
|
|
ADD HL,DE
|
|
DEC HL
|
|
LD (L8476),HL
|
|
EX DE,HL
|
|
INC HL
|
|
CALL LDDEMI
|
|
LD (0847CH),DE
|
|
CALL L4971
|
|
POP DE
|
|
JR L40BB ; (-054H)
|
|
|
|
L410F: POP HL
|
|
CALL L4152
|
|
JP Z,L405C
|
|
XOR A
|
|
LD (L4B6E),A
|
|
LD A,(L847F)
|
|
CP 002H
|
|
JP Z,04B13H
|
|
PUSH HL
|
|
JP L4850
|
|
|
|
L4126: CP 0FFH
|
|
JP Z,L4CC1
|
|
LD DE,L44B4
|
|
CP 0FEH
|
|
JR NZ,L4136 ; (+004H)
|
|
LD A,(HL)
|
|
INC HL
|
|
JR L413E ; (+008H)
|
|
|
|
L4136: CP LSE0
|
|
JP NC,L4AE6
|
|
LD DE,L43F4
|
|
L413E: ADD A,A
|
|
PUSH HL
|
|
EX DE,HL
|
|
LD E,A
|
|
LD D,000H
|
|
ADD HL,DE
|
|
LD A,(HL)
|
|
INC HL
|
|
LD H,(HL)
|
|
LD L,A
|
|
EX (SP),HL
|
|
L414A: CALL HLFTCH
|
|
L414D: OR A
|
|
RET Z
|
|
CP 03AH
|
|
RET
|
|
|
|
L4152: PUSH HL
|
|
LD HL,(L847C)
|
|
LD A,L
|
|
OR H
|
|
POP HL
|
|
RET
|
|
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L4167: DB "GOT", "O" | 080H ; BASIC statement keyword text table
|
|
DB "GOSU", "B" | 080H
|
|
DB 080H
|
|
DB "RU", "N" | 080H
|
|
DB "RETUR", "N" | 080H
|
|
DB "RESTOR", "E" | 080H
|
|
DB "RESUM", "E" | 080H
|
|
DB "LIS", "T" | 080H
|
|
DB 080H
|
|
DB "DELET", "E" | 080H
|
|
DB 052H
|
|
L4193: DB "ENU", "M" | 080H
|
|
DB "AUT", "O" | 080H
|
|
DB "EDI", "T" | 080H
|
|
DB "FO", "R" | 080H
|
|
DB "NEX", "T" | 080H
|
|
DB "PRIN", "T" | 080H
|
|
DB 080H
|
|
DB "INPU", "T" | 080H
|
|
DB 080H
|
|
DB "I", "F" | 080H
|
|
DB "DAT", "A" | 080H
|
|
DB "REA", "D" | 080H
|
|
DB "DI", "M" | 080H
|
|
DB "RE", "M" | 080H
|
|
DB "EN", "D" | 080H
|
|
DB "STO", "P" | 080H
|
|
DB "CON", "T" | 080H
|
|
DB "CL", "S" | 080H
|
|
DB 080H
|
|
DB "O", "N" | 080H
|
|
DB "LE", "T" | 080H
|
|
DB "NE", "W" | 080H
|
|
DB "POK", "E" | 080H
|
|
DB "OF", "F" | 080H
|
|
DB "MOD", "E" | 080H
|
|
DB "SKI", "P" | 080H
|
|
DB "PLO", "T" | 080H
|
|
DB "LIN", "E" | 080H
|
|
DB "RLIN", "E" | 080H
|
|
DB "MOV", "E" | 080H
|
|
DB "RMO", "V" | 080H
|
|
DB "TRO", "N" | 080H
|
|
DB "TROF", "F" | 080H
|
|
DB "INP", "@" | 080H
|
|
DB "DEFAUL", "T" | 080H
|
|
DB "GE", "T" | 080H
|
|
DB "PCOLO", "R" | 080H
|
|
DB "PHOM", "E" | 080H
|
|
DB "HSE", "T" | 080H
|
|
DB "GPRIN", "T" | 080H
|
|
DB "KE", "Y" | 080H
|
|
DB "AXI", "S" | 080H
|
|
DB "LOA", "D" | 080H
|
|
DB "SAV", "E" | 080H
|
|
DB "MERG", "E" | 080H
|
|
DB "CHAI", "N" | 080H
|
|
DB "CONSOL", "E" | 080H
|
|
DB "SEARC", "H" | 080H
|
|
DB "OUT", "@" | 080H
|
|
DB "CIRCL", "E" | 080H
|
|
DB "TES", "T" | 080H
|
|
DB "PAG", "E" | 080H
|
|
DB "WAI", "T" | 080H
|
|
DB "SWA", "P" | 080H
|
|
DB 080H
|
|
DB "ERRO", "R" | 080H
|
|
DB "ELS", "E" | 080H
|
|
DB "US", "R" | 080H
|
|
DB "BY", "E" | 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB "DE", "F" | 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB "LABE", "L" | 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB "WOPE", "N" | 080H
|
|
DB "CLOS", "E" | 080H
|
|
DB "ROPE", "N" | 080H
|
|
DB "XOPE", "N" | 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB "DI", "R" | 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB "RENAM", "E" | 080H
|
|
DB "KIL", "L" | 080H
|
|
DB "LOC", "K" | 080H
|
|
DB "UNLOC", "K" | 080H
|
|
DB "INI", "T" | 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB "T", "O" | 080H
|
|
DB "STE", "P" | 080H
|
|
DB "THE", "N" | 080H
|
|
DB "USIN", "G" | 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB "TA", "B" | 080H
|
|
DB "SP", "C" | 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB ".XO", "R" | 080H
|
|
DB ".O", "R" | 080H
|
|
DB ".AN", "D" | 080H
|
|
DB ".NO", "T" | 080H
|
|
DB ">", "<" | 080H
|
|
DB "<", ">" | 080H
|
|
DB "=", "<" | 080H
|
|
DB "<", "=" | 080H
|
|
DB "=", ">" | 080H
|
|
DB ">", "=" | 080H
|
|
DB "=" | 080H
|
|
DB ">" | 080H
|
|
DB "<" | 080H
|
|
DB "+" | 080H
|
|
DB "-" | 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB "/" | 080H
|
|
DB "*" | 080H
|
|
DB "^" | 080H
|
|
DB 0FFH
|
|
L42FE: DB 080H
|
|
DB "SE", "T" | 080H
|
|
DB "RESE", "T" | 080H
|
|
DB "COLO", "R" | 080H
|
|
ADD A,B
|
|
ADD A,B
|
|
ADD A,B
|
|
ADD A,B
|
|
ADD A,B
|
|
ADD A,B
|
|
ADD A,B
|
|
ADD A,B
|
|
ADD A,B
|
|
LD B,D
|
|
LD B,L
|
|
LD B,L
|
|
RET NC
|
|
ADD A,B
|
|
ADD A,B
|
|
ADD A,B
|
|
ADD A,B
|
|
ADD A,B
|
|
ADD A,B
|
|
ADD A,B
|
|
ADD A,B
|
|
ADD A,B
|
|
ADD A,B
|
|
ADD A,B
|
|
ADD A,B
|
|
ADD A,B
|
|
ADD A,B
|
|
ADD A,B
|
|
ADD A,B
|
|
ADD A,B
|
|
ADD A,B
|
|
ADD A,B
|
|
ADD A,B
|
|
LD C,L
|
|
LD D,L
|
|
LD D,E
|
|
LD C,C
|
|
JP L4554
|
|
|
|
LD C,L
|
|
LD D,B
|
|
RST 008H
|
|
LD B,E
|
|
LD D,L
|
|
LD D,D
|
|
LD D,E
|
|
LD C,A
|
|
JP NC,L4556
|
|
LD D,D
|
|
LD C,C
|
|
LD B,(HL)
|
|
EXX
|
|
LD B,E
|
|
LD C,H
|
|
JP NC,0494CH
|
|
LD C,L
|
|
LD C,C
|
|
CALL NC,08080H
|
|
ADD A,B
|
|
ADD A,B
|
|
ADD A,B
|
|
ADD A,B
|
|
FUNCWORDTBL:DB "BOO", "T" | 080H ; BASIC function keyword text table
|
|
DB 0FFH
|
|
L4356: DB "IN", "T" | 080H
|
|
DB "AB", "S" | 080H
|
|
DB "SI", "N" | 080H
|
|
DB "CO", "S" | 080H
|
|
DB "TA", "N" | 080H
|
|
DB "L", "N" | 080H
|
|
DB "EX", "P" | 080H
|
|
DB "SQ", "R" | 080H
|
|
DB "RN", "D" | 080H
|
|
DB "PEE", "K" | 080H
|
|
DB "AT", "N" | 080H
|
|
DB "SG", "N" | 080H
|
|
DB "LO", "G" | 080H
|
|
DB "FRA", "C" | 080H
|
|
DB "PA", "I" | 080H
|
|
DB "RA", "D" | 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB "JO", "Y" | 080H
|
|
DB 080H
|
|
DB "CHR", "$" | 080H
|
|
DB "STR", "$" | 080H
|
|
DB "HEX", "$" | 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB "SPACE", "$" | 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB "AS", "C" | 080H
|
|
DB "LE", "N" | 080H
|
|
DB "VA", "L" | 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB "ER", "N" | 080H
|
|
DB "ER", "L" | 080H
|
|
DB "SIZ", "E" | 080H
|
|
DB "CSR", "H" | 080H
|
|
DB "CSR", "V" | 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB "LEFT", "$" | 080H
|
|
DB "RIGHT", "$" | 080H
|
|
DB "MID", "$" | 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB 080H
|
|
DB "TI", "$" | 080H
|
|
DB 080H
|
|
LD B,L
|
|
LD C,A
|
|
DW 046C6H ; Keyword dispatch address table
|
|
DW 0FFCEH
|
|
L43F4: DW L513D
|
|
DW L50B8
|
|
DW L4AE6
|
|
DW L4802
|
|
DW L5087
|
|
DW L5828
|
|
DW L4C2E
|
|
DW 052B8H
|
|
DW L4AE6
|
|
DW L4999
|
|
DW L4A38
|
|
DW L4861
|
|
DW L48B9
|
|
DW L4D84
|
|
DW L4E1B
|
|
DW L561E
|
|
DW L4AE6
|
|
DW L575B
|
|
DW L4AE6
|
|
DW L5150
|
|
DW L4F80
|
|
DW L5754
|
|
DW L76A5
|
|
DW L4F80
|
|
DW L4850
|
|
DW L4BE0
|
|
DW L4C11
|
|
DW L552D
|
|
DW L4AE6
|
|
DW L50E0
|
|
DW L4C8F
|
|
DW L4922
|
|
DW L501A
|
|
DW L4AE6
|
|
DW L6A1C
|
|
DW L6A7F
|
|
DW L6E1A
|
|
DW L6ACC
|
|
DW 06ACFH
|
|
DW 06AD2H
|
|
DW 06AD5H
|
|
DW L4959
|
|
DW L496C
|
|
DW L4FA1
|
|
DW L58CA
|
|
DW L4FE5
|
|
DW L6B37
|
|
DW L6B69
|
|
DW L6B73
|
|
DW L6B7D
|
|
DW L539F
|
|
DW L6BE2
|
|
DW L5986
|
|
DW L5C86
|
|
DW L59EA
|
|
DW L59D5
|
|
DW L5256
|
|
DW L52B6
|
|
DW L4F8C
|
|
DW L6C22
|
|
DW L6DF0
|
|
DW L6DFB
|
|
DW L4F70
|
|
DW L5D63
|
|
DW L4AE6
|
|
DW L4B70
|
|
DW L5172
|
|
DW L4F26
|
|
DW L524E
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L544C
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4F80
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW 058E2H
|
|
DW L5913
|
|
DW L58DF
|
|
DW 058E5H
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L5CE1
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L5D08
|
|
DW 05914H
|
|
DW 05CD5H
|
|
DW L5CD3
|
|
DW L58D0
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
L44B4: DW L4AE6
|
|
DW L51E4
|
|
DW 051E5H
|
|
DW L549C
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L524B
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L4AE6
|
|
DW L54F3
|
|
DW L5515
|
|
DW L4FBD
|
|
DW L5C6F
|
|
DW L4928
|
|
LD B,E
|
|
LD D,B
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
OR B
|
|
LD D,D
|
|
L4512: ADD A,H
|
|
LD A,(HL)
|
|
LD A,A
|
|
LD A,(HL)
|
|
BIT 7,A
|
|
CP E
|
|
LD A,A
|
|
XOR D
|
|
ADD A,B
|
|
ADD HL,DE
|
|
ADD A,E
|
|
PUSH AF
|
|
ADD A,C
|
|
POP HL
|
|
LD A,(HL)
|
|
OR B
|
|
ADD A,C
|
|
SBC A,H
|
|
ADD A,C
|
|
RST 038H
|
|
LD A,(HL)
|
|
LD H,D
|
|
ADD A,C
|
|
DEC C
|
|
ADD A,E
|
|
ADC A,E
|
|
LD H,B
|
|
LD A,D
|
|
ADD A,C
|
|
LD (HL),L
|
|
ADD A,C
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
DEC H
|
|
LD A,C
|
|
AND 04AH
|
|
AND 04AH
|
|
L4554: JR NC,L45C8 ; (+072H)
|
|
L4556: RST 028H
|
|
LD (HL),C
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
LD (DE),A
|
|
LD (HL),D
|
|
AND 04AH
|
|
AND 04AH
|
|
LD L,E
|
|
LD (HL),D
|
|
LD (HL),L
|
|
LD (HL),D
|
|
LD A,L
|
|
LD (HL),D
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
LD A,E
|
|
LD (HL),C
|
|
ADC A,C
|
|
LD (HL),C
|
|
LD E,H
|
|
LD (HL),C
|
|
LD (HL),C
|
|
LD (HL),C
|
|
HALT
|
|
LD (HL),C
|
|
AND 04AH
|
|
AND 04AH
|
|
ADC A,A
|
|
LD (HL),D
|
|
XOR H
|
|
LD (HL),D
|
|
RET
|
|
|
|
LD (HL),D
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
RRA
|
|
LD (HL),E
|
|
AND 04AH
|
|
LD A,072H
|
|
SBC A,B
|
|
LD A,B
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
AND 04AH
|
|
L45B2: CALL TEST1
|
|
DB 00CH
|
|
JR NZ,L45BE ; (+006H)
|
|
CALL LDDEMI
|
|
OR 0FFH
|
|
RET
|
|
|
|
L45BE: INC HL
|
|
CP 00BH
|
|
JR NZ,L45E2 ; (+01fH)
|
|
LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
INC HL
|
|
LD A,E
|
|
L45C8: OR D
|
|
RET Z
|
|
EX DE,HL
|
|
CALL L4611
|
|
JP C,04B07H
|
|
EX DE,HL
|
|
DEC HL
|
|
LD (HL),D
|
|
DEC HL
|
|
LD (HL),E
|
|
DEC HL
|
|
LD (HL),00CH
|
|
INC HL
|
|
INC HL
|
|
INC HL
|
|
OR 0FFH
|
|
LD (L4745),A
|
|
RET
|
|
|
|
L45E2: CP 022H
|
|
JP NZ,L4AE6
|
|
LD (04658H),HL
|
|
LD B,000H
|
|
L45EC: LD A,(HL)
|
|
OR A
|
|
JR Z,L45F8 ; (+008H)
|
|
INC HL
|
|
CP 022H
|
|
JR Z,L45F8 ; (+003H)
|
|
INC B
|
|
JR L45EC ; (-00cH)
|
|
|
|
L45F8: LD A,B
|
|
OR A
|
|
JP Z,L4AE6
|
|
LD (04656H),A
|
|
EX DE,HL
|
|
CALL L460B
|
|
JP C,04B07H
|
|
EX DE,HL
|
|
OR 0FFH
|
|
RET
|
|
|
|
L460B: PUSH BC
|
|
LD BC,L4644
|
|
JR L4615 ; (+004H)
|
|
|
|
L4611: PUSH BC
|
|
LD BC,L4638
|
|
L4615: LD (0462BH),BC
|
|
PUSH DE
|
|
EX DE,HL
|
|
LD HL,(L1070)
|
|
L461E: LD C,(HL)
|
|
INC HL
|
|
LD B,(HL)
|
|
LD A,B
|
|
OR C
|
|
SCF
|
|
JR Z,L4635 ; (+00fH)
|
|
DEC HL
|
|
PUSH HL
|
|
ADD HL,BC
|
|
EX (SP),HL
|
|
CALL L0000
|
|
JR C,L4634 ; (+005H)
|
|
JR Z,L4634 ; (+003H)
|
|
POP HL
|
|
JR L461E ; (-016H)
|
|
|
|
L4634: POP DE
|
|
L4635: POP DE
|
|
POP BC
|
|
RET
|
|
|
|
L4638: INC HL
|
|
INC HL
|
|
INC HL
|
|
LD A,D
|
|
CP (HL)
|
|
RET NZ
|
|
DEC HL
|
|
LD A,E
|
|
CP (HL)
|
|
DEC HL
|
|
DEC HL
|
|
RET
|
|
|
|
L4644: PUSH HL
|
|
INC HL
|
|
INC HL
|
|
INC HL
|
|
INC HL
|
|
CALL TEST1
|
|
DB 0CAH
|
|
JR NZ,L4668 ; (+019H)
|
|
CALL TEST1
|
|
DB 022H
|
|
JR NZ,L4668 ; (+013H)
|
|
LD B,000H
|
|
LD DE,L0000
|
|
L465A: LD A,(DE)
|
|
CP (HL)
|
|
JR NZ,L4668 ; (+00aH)
|
|
INC HL
|
|
INC DE
|
|
DJNZ L465A ; (-008H)
|
|
LD A,(HL)
|
|
CP 022H
|
|
JR Z,L4668 ; (+001H)
|
|
OR A
|
|
L4668: SCF
|
|
CCF
|
|
POP HL
|
|
RET
|
|
|
|
L466C: LD DE,L0000
|
|
LD BC,0FFFFH
|
|
CALL L46AE
|
|
RET Z
|
|
CP 02DH
|
|
JR Z,L4696 ; (+01cH)
|
|
CP 02EH
|
|
LD DE,(08478H)
|
|
JR Z,L4689 ; (+007H)
|
|
CALL TESTX
|
|
DB 00BH
|
|
LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
L4689: INC HL
|
|
CALL L46AE
|
|
JR Z,L4693 ; (+004H)
|
|
CP 02DH
|
|
JR Z,L4696 ; (+003H)
|
|
L4693: LD C,E
|
|
LD B,D
|
|
RET
|
|
|
|
L4696: INC HL
|
|
CALL L46AE
|
|
RET Z
|
|
CP 02EH
|
|
JR NZ,L46A5 ; (+006H)
|
|
LD BC,(08478H)
|
|
INC HL
|
|
RET
|
|
|
|
L46A5: CALL TESTX
|
|
DB 00BH
|
|
LD C,(HL)
|
|
INC HL
|
|
LD B,(HL)
|
|
INC HL
|
|
RET
|
|
|
|
L46AE: CALL L414A
|
|
RET Z
|
|
CP 02CH
|
|
RET
|
|
|
|
L46B5: CALL SKPDE
|
|
LD A,0FFH
|
|
LD (L4745),A
|
|
LD HL,L470B
|
|
JR L46D4 ; (+012H)
|
|
|
|
L46C2: CALL SKPDE
|
|
CALL L4839
|
|
L46C8: LD A,(L4745)
|
|
OR A
|
|
RET Z
|
|
XOR A
|
|
LD (L4745),A
|
|
LD HL,L46F1
|
|
L46D4: LD (046EFH),HL
|
|
LD HL,(L1070)
|
|
DEC HL
|
|
L46DB: INC HL
|
|
LD A,(HL)
|
|
INC HL
|
|
OR (HL)
|
|
RET Z
|
|
INC HL
|
|
LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
LD (0473AH),DE
|
|
L46E8: CALL L5198
|
|
OR A
|
|
JR Z,L46DB ; (-013H)
|
|
JP L0000
|
|
|
|
L46F1: CP 00CH
|
|
JR NZ,L46E8 ; (-00dH)
|
|
DEC HL
|
|
LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
PUSH HL
|
|
EX DE,HL
|
|
INC HL
|
|
INC HL
|
|
LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
POP HL
|
|
LD (HL),D
|
|
DEC HL
|
|
LD (HL),E
|
|
DEC HL
|
|
LD (HL),00BH
|
|
INC HL
|
|
INC HL
|
|
JR L46E8 ; (-023H)
|
|
|
|
L470B: CP 00BH
|
|
JR NZ,L46E8 ; (-027H)
|
|
DEC HL
|
|
PUSH HL
|
|
CALL INDRCT
|
|
LD E,L
|
|
LD D,H
|
|
LD A,L
|
|
OR H
|
|
JR Z,L4741 ; (+027H)
|
|
CALL L4611
|
|
JR C,L472A ; (+00bH)
|
|
EX DE,HL
|
|
POP HL
|
|
DEC HL
|
|
LD (HL),00CH
|
|
INC HL
|
|
LD (HL),E
|
|
INC HL
|
|
LD (HL),D
|
|
JR L46E8 ; (-042H)
|
|
|
|
L472A: PUSH DE
|
|
LD A,010H
|
|
RST 018H
|
|
DB 01BH
|
|
LD A,020H
|
|
RST 018H
|
|
DB 003H
|
|
POP HL
|
|
CALL L5E64
|
|
RST 018H
|
|
DB 005H
|
|
LD HL,L0000
|
|
CALL L4B4E
|
|
RST 018H
|
|
DB 002H
|
|
L4741: POP HL
|
|
INC HL
|
|
JR L46E8 ; (-05dH)
|
|
|
|
L4745: NOP
|
|
L4746: RST 018H
|
|
DB 028H
|
|
CALL L46C2
|
|
CALL L6A09
|
|
LD A,B
|
|
OR C
|
|
JP Z,L4065
|
|
LD (08478H),BC
|
|
LD A,(DE)
|
|
CP 020H
|
|
JR NZ,L475D ; (+001H)
|
|
INC DE
|
|
L475D: PUSH AF
|
|
LD HL,L84E0
|
|
CALL L66ED
|
|
PUSH HL
|
|
LD HL,(L8478)
|
|
LD E,L
|
|
LD D,H
|
|
CALL L49B9
|
|
POP HL
|
|
POP AF
|
|
OR A
|
|
JR Z,L4784 ; (+012H)
|
|
LD DE,L84E0
|
|
OR A
|
|
SBC HL,DE
|
|
LD DE,00005H
|
|
ADD HL,DE
|
|
LD B,H
|
|
LD C,L
|
|
LD HL,L84E0
|
|
CALL L479C
|
|
L4784: LD A,(L48B0)
|
|
OR A
|
|
JP Z,L4065
|
|
LD DE,(0847AH)
|
|
LD HL,(L8478)
|
|
ADD HL,DE
|
|
LD (L8478),HL
|
|
JP NC,L4065
|
|
JP L408D
|
|
|
|
L479C: LD (047F9H),HL
|
|
PUSH BC
|
|
LD BC,(08478H)
|
|
LD HL,(L1070)
|
|
JR L47AD ; (+004H)
|
|
|
|
L47A9: CALL LDDEMD
|
|
ADD HL,DE
|
|
L47AD: CALL LDDEMD
|
|
LD A,D
|
|
OR E
|
|
JR Z,L47C1 ; (+00dH)
|
|
INC HL
|
|
INC HL
|
|
CALL LDDEMD
|
|
EX DE,HL
|
|
SBC HL,BC
|
|
DEC DE
|
|
DEC DE
|
|
EX DE,HL
|
|
JR C,L47A9 ; (-018H)
|
|
L47C1: POP DE
|
|
PUSH HL
|
|
LD HL,(L1078)
|
|
LD (L107A),HL
|
|
LD B,H
|
|
LD C,L
|
|
ADD HL,DE
|
|
JP C,L4B26
|
|
EX DE,HL
|
|
CALL L74E1
|
|
EX DE,HL
|
|
RST 018H
|
|
DB 018H
|
|
POP HL
|
|
PUSH DE
|
|
PUSH BC
|
|
EX (SP),HL
|
|
POP BC
|
|
PUSH HL
|
|
OR A
|
|
SBC HL,BC
|
|
LD B,H
|
|
LD C,L
|
|
POP HL
|
|
LD DE,(VARED)
|
|
INC BC
|
|
LDDR
|
|
INC HL
|
|
POP BC
|
|
LD (HL),C
|
|
INC HL
|
|
LD (HL),B
|
|
INC HL
|
|
LD DE,(08478H)
|
|
LD (HL),E
|
|
INC HL
|
|
LD (HL),D
|
|
INC HL
|
|
EX DE,HL
|
|
LD HL,L84E0
|
|
DEC BC
|
|
DEC BC
|
|
DEC BC
|
|
DEC BC
|
|
LDIR
|
|
RET
|
|
|
|
L4802: JR Z,L480D ; (+009H)
|
|
CALL L516C
|
|
JP Z,L513D
|
|
JP L5AED
|
|
|
|
L480D: CALL L4928
|
|
L4810: CALL L4824
|
|
LD DE,(TEXTST)
|
|
LD SP,(INTFAC)
|
|
LD HL,0FFFFH
|
|
PUSH HL
|
|
PUSH HL
|
|
EX DE,HL
|
|
JP L40F0
|
|
|
|
L4824: PUSH HL
|
|
PUSH DE
|
|
CALL L4839
|
|
XOR A
|
|
LD (L48B0),A
|
|
LD HL,0000AH
|
|
LD (L8478),HL
|
|
LD (L847A),HL
|
|
POP DE
|
|
POP HL
|
|
RET
|
|
|
|
L4839: CALL L5825
|
|
LD HL,L0000
|
|
LD (L8480),HL
|
|
XOR A
|
|
LD (L4B6E),A
|
|
LD (L847F),A
|
|
LD (L847E),A
|
|
LD (L8493),A
|
|
RET
|
|
|
|
L4850: LD A,(L8493)
|
|
OR A
|
|
JP NZ,L5DC9
|
|
RST 018H
|
|
DB 028H
|
|
XOR A
|
|
LD (L4B6E),A
|
|
POP BC
|
|
JP L405C
|
|
|
|
L4861: LD DE,0000AH
|
|
LD BC,0000AH
|
|
JR Z,L4897 ; (+02eH)
|
|
CP 02CH
|
|
JR NZ,L4878 ; (+00bH)
|
|
INC HL
|
|
CALL L6E57
|
|
LD B,D
|
|
LD C,E
|
|
LD DE,0000AH
|
|
JR L4897 ; (+01fH)
|
|
|
|
L4878: CP 02EH
|
|
LD DE,(08478H)
|
|
JR Z,L4889 ; (+009H)
|
|
CP 00BH
|
|
JP NZ,L4AE6
|
|
INC HL
|
|
LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
L4889: INC HL
|
|
CALL TEST1
|
|
DB 02CH
|
|
JR NZ,L4897 ; (+007H)
|
|
PUSH DE
|
|
CALL L6E57
|
|
LD C,E
|
|
LD B,D
|
|
POP DE
|
|
L4897: CALL L5E46
|
|
LD A,C
|
|
OR B
|
|
JP Z,04AECH
|
|
LD (08478H),DE
|
|
LD (0847AH),BC
|
|
LD A,001H
|
|
LD (L48B0),A
|
|
POP AF
|
|
JP L4065
|
|
|
|
L48B0: NOP
|
|
L48B1: LD A,(L48B0)
|
|
OR A
|
|
RET Z
|
|
XOR A
|
|
JR L48BF ; (+006H)
|
|
|
|
L48B9: CALL L48BF
|
|
JP L4065
|
|
|
|
L48BF: LD DE,(08478H)
|
|
CALL NZ,L466C
|
|
PUSH DE
|
|
EX DE,HL
|
|
CALL L4611
|
|
POP DE
|
|
INC HL
|
|
INC HL
|
|
INC HL
|
|
INC HL
|
|
JR NC,L48D5 ; (+003H)
|
|
LD HL,L00F9
|
|
L48D5: EX DE,HL
|
|
PUSH DE
|
|
LD (L8478),HL
|
|
CALL L5E64
|
|
RST 018H
|
|
DB 005H
|
|
LD A,020H
|
|
RST 018H
|
|
DB 003H
|
|
POP HL
|
|
LD DE,L11A4
|
|
PUSH DE
|
|
CALL L68D8
|
|
POP DE
|
|
LD B,000H
|
|
L48EE: LD A,(DE)
|
|
OR A
|
|
JR Z,L48F8 ; (+006H)
|
|
INC B
|
|
RST 018H
|
|
DB 004H
|
|
INC DE
|
|
JR L48EE ; (-00aH)
|
|
|
|
L48F8: LD A,B
|
|
OR A
|
|
RET Z
|
|
LD A,014H
|
|
RST 018H
|
|
DB 003H
|
|
DJNZ 048FCH ; (-005H)
|
|
RET
|
|
|
|
L4902: PUSH DE
|
|
LD DE,0FFF0H
|
|
ADD HL,DE
|
|
POP DE
|
|
LD (L107E),HL
|
|
DEC H
|
|
LD (L107C),HL
|
|
XOR A
|
|
LD (L8493),A
|
|
RET
|
|
|
|
L4914: LD HL,(L1070)
|
|
CALL L4952
|
|
LD (L1072),HL
|
|
CALL L4824
|
|
JR L4928 ; (+006H)
|
|
|
|
L4922: CALL L4914
|
|
JP L4056
|
|
|
|
L4928: PUSH HL
|
|
CALL L4939
|
|
POP HL
|
|
RST 018H
|
|
DB 028H
|
|
RET
|
|
|
|
L4930: LD HL,(L1070)
|
|
CALL L4952
|
|
LD (L1072),HL
|
|
L4939: LD HL,(L1072)
|
|
LD (HL),000H
|
|
INC HL
|
|
LD (L1074),HL
|
|
LD (HL),000H
|
|
INC HL
|
|
LD (L1076),HL
|
|
CALL L4952
|
|
LD (L1078),HL
|
|
LD (L107A),HL
|
|
RET
|
|
|
|
L4952: LD (HL),000H
|
|
INC HL
|
|
LD (HL),000H
|
|
INC HL
|
|
RET
|
|
|
|
L4959: CALL L414A
|
|
LD A,001H
|
|
JR Z,L496D ; (+00dH)
|
|
CALL TESTX
|
|
DB FDPD
|
|
CALL TESTX
|
|
DB 050H
|
|
LD A,002H
|
|
JR L496D ; (+001H)
|
|
|
|
L496C: XOR A
|
|
L496D: LD (04972H),A
|
|
RET
|
|
|
|
L4971: LD A,000H
|
|
OR A
|
|
RET Z
|
|
DEC A
|
|
LD (L1091),A
|
|
JR Z,L4982 ; (+007H)
|
|
LD A,(L1097)
|
|
CP 002H
|
|
JR Z,L4994 ; (+012H)
|
|
L4982: PUSH HL
|
|
LD A,05BH
|
|
RST 018H
|
|
DB 009H
|
|
LD HL,(L847C)
|
|
CALL L5E64
|
|
RST 018H
|
|
DB 00BH
|
|
LD A,05DH
|
|
RST 018H
|
|
DB 009H
|
|
POP HL
|
|
L4994: XOR A
|
|
LD (L1091),A
|
|
RET
|
|
|
|
L4999: CALL L46AE
|
|
JP Z,L4AE6
|
|
CALL L516C
|
|
JR Z,L49AD ; (+009H)
|
|
CP 02DH
|
|
JR Z,L49AD ; (+005H)
|
|
CP 02EH
|
|
JP NZ,L5D00
|
|
L49AD: CALL L466C
|
|
EX DE,HL
|
|
LD E,C
|
|
LD D,B
|
|
CALL L49B9
|
|
JP L405C
|
|
|
|
L49B9: PUSH AF
|
|
PUSH BC
|
|
PUSH HL
|
|
PUSH DE
|
|
CALL L46C2
|
|
LD C,L
|
|
LD B,H
|
|
LD HL,(L1070)
|
|
L49C5: CALL LDDEMI
|
|
LD A,E
|
|
OR D
|
|
JR NZ,L49D4 ; (+008H)
|
|
L49CC: POP DE
|
|
POP HL
|
|
POP BC
|
|
POP AF
|
|
RET
|
|
|
|
L49D1: POP DE
|
|
JR L49CC ; (-008H)
|
|
|
|
L49D4: EX DE,HL
|
|
ADD HL,DE
|
|
DEC HL
|
|
DEC HL
|
|
EX DE,HL
|
|
PUSH DE
|
|
LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
EX DE,HL
|
|
LD (049EEH),HL
|
|
SBC HL,BC
|
|
POP HL
|
|
JR C,L49C5 ; (-021H)
|
|
DB 01BH
|
|
DEC DE
|
|
DEC DE
|
|
POP BC
|
|
PUSH BC
|
|
PUSH DE
|
|
PUSH HL
|
|
LD HL,L0000
|
|
SBC HL,BC
|
|
POP HL
|
|
JR Z,L4A13 ; (+01eH)
|
|
JR NC,L49D1 ; (-026H)
|
|
L49F7: CALL LDDEMI
|
|
LD A,D
|
|
OR E
|
|
JR Z,L4A11 ; (+013H)
|
|
EX DE,HL
|
|
ADD HL,DE
|
|
EX DE,HL
|
|
DEC DE
|
|
DEC DE
|
|
PUSH DE
|
|
LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
EX DE,HL
|
|
SBC HL,BC
|
|
POP HL
|
|
JR C,L49F7 ; (-016H)
|
|
JR Z,L4A13 ; (+004H)
|
|
EX DE,HL
|
|
DEC HL
|
|
L4A11: DEC HL
|
|
DEC HL
|
|
L4A13: POP DE
|
|
PUSH DE
|
|
PUSH HL
|
|
OR A
|
|
EX DE,HL
|
|
SBC HL,DE
|
|
EX DE,HL
|
|
LD BC,(VARED)
|
|
RST 018H
|
|
DB 018H
|
|
POP DE
|
|
LD H,B
|
|
LD L,C
|
|
OR A
|
|
SBC HL,DE
|
|
LD B,H
|
|
LD C,L
|
|
EX DE,HL
|
|
POP DE
|
|
LDIR
|
|
JR L49CC ; (-063H)
|
|
|
|
L4A2F: CALL L6E57
|
|
LD A,D
|
|
OR E
|
|
RET NZ
|
|
JP 04AECH
|
|
|
|
L4A38: LD DE,0000AH
|
|
LD (04AB4H),DE
|
|
LD (04AC6H),DE
|
|
LD E,000H
|
|
LD (04AA3H),DE
|
|
JR Z,L4A7E ; (+033H)
|
|
CP 02CH
|
|
JR Z,L4A5F ; (+010H)
|
|
CALL L4A2F
|
|
LD (04AB4H),DE
|
|
CALL L414A
|
|
JR Z,L4A7E ; (+023H)
|
|
CALL L5E6E
|
|
DEC HL
|
|
L4A5F: CALL INCHLF
|
|
CP 02CH
|
|
JR Z,L4A76 ; (+010H)
|
|
CALL L4A2F
|
|
LD (04AA3H),DE
|
|
CALL L414A
|
|
JR Z,L4A7E ; (+00cH)
|
|
CALL L5E6E
|
|
DEC HL
|
|
L4A76: INC HL
|
|
CALL L4A2F
|
|
LD (04AC6H),DE
|
|
L4A7E: PUSH HL
|
|
LD HL,(04AA3H)
|
|
EX DE,HL
|
|
LD HL,(04AB4H)
|
|
OR A
|
|
SBC HL,DE
|
|
JP C,04AECH
|
|
CALL L46B5
|
|
LD HL,(L1070)
|
|
L4A92: LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
LD A,D
|
|
OR E
|
|
JR Z,L4AD0 ; (+037H)
|
|
EX DE,HL
|
|
ADD HL,DE
|
|
DEC HL
|
|
EX DE,HL
|
|
INC HL
|
|
LD C,(HL)
|
|
INC HL
|
|
LD B,(HL)
|
|
PUSH HL
|
|
LD HL,L0000
|
|
OR A
|
|
SBC HL,BC
|
|
POP HL
|
|
JR Z,L4AB0 ; (+005H)
|
|
JR C,L4AB0 ; (+003H)
|
|
EX DE,HL
|
|
JR L4A92 ; (-01eH)
|
|
|
|
L4AB0: DEC HL
|
|
DEC HL
|
|
DEC HL
|
|
LD BC,L0000
|
|
L4AB6: LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
LD A,D
|
|
OR E
|
|
JR Z,L4AD0 ; (+013H)
|
|
EX DE,HL
|
|
ADD HL,DE
|
|
DEC HL
|
|
EX DE,HL
|
|
INC HL
|
|
LD (HL),C
|
|
INC HL
|
|
LD (HL),B
|
|
LD HL,L0000
|
|
ADD HL,BC
|
|
JR C,L4AD2 ; (+007H)
|
|
LD C,L
|
|
LD B,H
|
|
EX DE,HL
|
|
JR L4AB6 ; (-01aH)
|
|
|
|
L4AD0: POP HL
|
|
RET
|
|
|
|
L4AD2: LD HL,0000AH
|
|
LD (04AC6H),HL
|
|
LD (04AB4H),HL
|
|
LD L,000H
|
|
LD (04AA3H),HL
|
|
CALL L4A7E
|
|
JP 04AECH
|
|
|
|
L4AE6: LD A,001H
|
|
LD HL,0023EH
|
|
LD HL,L033E
|
|
LD HL,0043EH
|
|
LD HL,L053E
|
|
LD HL,0063EH
|
|
LD HL,0073EH
|
|
LD HL,L083E
|
|
LD HL,L0D3E
|
|
LD HL,L0E3E
|
|
LD HL,L0F3E
|
|
LD HL,L103E
|
|
LD HL,L113E
|
|
LD HL,L123E
|
|
LD HL,L133E
|
|
LD HL,0143EH
|
|
LD HL,0153EH
|
|
LD HL,L183E
|
|
LD HL,L193E
|
|
LD HL,L3A3E
|
|
LD HL,0403EH
|
|
JR L4B34 ; (+00eH)
|
|
|
|
L4B26: LD A,006H
|
|
L4B28: LD SP,(INTFAC)
|
|
LD HL,0FFFFH
|
|
PUSH HL
|
|
LD (0848FH),SP
|
|
L4B34: JR L4B4B ; (+015H)
|
|
|
|
L4B36: LD HL,(.$LPT)
|
|
LD IX,(.$CRT)
|
|
LD (L1044),HL
|
|
LD A,0C4H
|
|
LD HL,0BB3EH
|
|
LD HL,0BC3EH
|
|
LD HL,0BD3EH
|
|
L4B4B: JP L0182
|
|
|
|
L4B4E: LD A,L
|
|
OR H
|
|
RET Z
|
|
LD DE,L4B5C
|
|
RST 018H
|
|
DB 005H
|
|
CALL L5E64
|
|
RST 018H
|
|
DB 005H
|
|
RET
|
|
|
|
L4B5C: DB 020H,049H,04EH,020H,000H ; " IN \0" — error location text
|
|
L4B61: DB 042H,005H ; "B\x05" — control prefix
|
|
DB 052H,045H,041H,04BH,000H ; "REAK\0" — BREAK message
|
|
L4B68: DB 052H,005H ; "R\x05" — control prefix
|
|
DB 045H,041H,044H,059H ; "EADY" — Ready prompt
|
|
L4B6E: DB 000H ; NUL terminator
|
|
DB 000H ; padding
|
|
L4B70: CALL L6E43
|
|
DEC A
|
|
CP 046H
|
|
JR C,L4B7A ; (+002H)
|
|
LD A,044H
|
|
L4B7A: INC A
|
|
L4B7B: LD SP,(0848FH)
|
|
PUSH AF
|
|
RST 018H
|
|
DB 043H
|
|
CALL L5C42
|
|
POP AF
|
|
OR A
|
|
JR Z,L4BDB ; (+052H)
|
|
CP 080H
|
|
JR Z,L4BD9 ; (+04cH)
|
|
LD C,A
|
|
LD HL,L0000
|
|
LD (L7921),HL
|
|
CALL L4152
|
|
LD A,C
|
|
JR Z,L4BC4 ; (+02aH)
|
|
LD HL,(L847C)
|
|
LD (L8480),HL
|
|
LD (L8478),HL
|
|
LD HL,(L8476)
|
|
LD (L8482),HL
|
|
LD HL,(L8491)
|
|
LD (L8484),HL
|
|
AND 07FH
|
|
LD (L847E),A
|
|
LD A,(L847F)
|
|
INC A
|
|
CP 002H
|
|
JR Z,L4BCF ; (+013H)
|
|
XOR A
|
|
LD (L4B6E),A
|
|
LD (L8493),A
|
|
LD A,C
|
|
L4BC4: RST 018H
|
|
DB 01BH
|
|
L4BC6: LD HL,(L847C)
|
|
CALL L4B4E
|
|
JP L405C
|
|
|
|
L4BCF: LD (L847F),A
|
|
LD HL,(08486H)
|
|
PUSH HL
|
|
JP L40F0
|
|
|
|
L4BD9: LD A,02EH
|
|
L4BDB: LD HL,(L8491)
|
|
JR L4BE3 ; (+003H)
|
|
|
|
L4BE0: LD A,02EH
|
|
POP DE
|
|
L4BE3: PUSH AF
|
|
PUSH HL
|
|
RST 018H
|
|
DB 002H
|
|
RST 018H
|
|
DB 020H
|
|
LD DE,L4B61
|
|
RST 018H
|
|
DB 005H
|
|
POP HL
|
|
CALL L4152
|
|
JR Z,L4C0D ; (+019H)
|
|
LD (04C29H),HL
|
|
LD HL,(L8476)
|
|
LD (04C23H),HL
|
|
LD HL,(L847C)
|
|
LD (04C1DH),HL
|
|
LD (L8478),HL
|
|
POP AF
|
|
LD (L4B6E),A
|
|
JP L4BC6
|
|
|
|
L4C0D: POP AF
|
|
JP L405C
|
|
|
|
L4C11: POP DE
|
|
LD HL,L4B6E
|
|
LD A,(HL)
|
|
OR A
|
|
JP Z,04B0AH
|
|
LD (HL),000H
|
|
LD HL,L0000
|
|
LD (L847C),HL
|
|
LD HL,L0000
|
|
LD (L8476),HL
|
|
LD HL,L0000
|
|
JP L40BB
|
|
|
|
L4C2E: LD A,(L847F)
|
|
CP 002H
|
|
JP C,04B16H
|
|
DEC A
|
|
LD (L847F),A
|
|
CALL L414A
|
|
L4C3D: EX DE,HL
|
|
LD HL,(L8480)
|
|
LD (L847C),HL
|
|
LD HL,(L8482)
|
|
LD (L8476),HL
|
|
LD HL,(L8484)
|
|
JR NZ,L4C53 ; (+004H)
|
|
POP BC
|
|
JP L40BF
|
|
|
|
L4C53: CP 08EH
|
|
JP Z,L4F80
|
|
EX DE,HL
|
|
JP L513D
|
|
|
|
L4C5C: CALL TEST1
|
|
DB 080H
|
|
JR Z,L4C6A ; (+008H)
|
|
CALL TESTX
|
|
DB 082H
|
|
CALL TESTX
|
|
DB LSE0
|
|
L4C6A: CALL L45B2
|
|
JR Z,L4C79 ; (+00aH)
|
|
LD (08486H),DE
|
|
LD A,001H
|
|
L4C75: LD (L847F),A
|
|
RET
|
|
|
|
L4C79: LD A,(L847F)
|
|
DEC A
|
|
JR Z,L4C75 ; (-00aH)
|
|
XOR A
|
|
LD (L847F),A
|
|
LD HL,(L8480)
|
|
LD (L847C),HL
|
|
LD A,(L847E)
|
|
JP L4B7B
|
|
|
|
L4C8F: CALL TEST1
|
|
DB 0FFH
|
|
JP Z,L4CC1
|
|
CALL L742F
|
|
PUSH BC
|
|
PUSH BC
|
|
PUSH AF
|
|
CALL TESTX
|
|
DB QDPC
|
|
CALL L6E82
|
|
POP BC
|
|
LD A,(L84C7)
|
|
CP B
|
|
JP NZ,04AEFH
|
|
EX (SP),HL
|
|
EX DE,HL
|
|
CP 005H
|
|
JR Z,L4CB9 ; (+008H)
|
|
PUSH BC
|
|
CALL L4CCC
|
|
POP AF
|
|
POP HL
|
|
POP BC
|
|
RET
|
|
|
|
L4CB9: LD C,A
|
|
LD B,000H
|
|
LDIR
|
|
POP HL
|
|
POP BC
|
|
RET
|
|
|
|
L4CC1: CALL TESTX
|
|
DB 0C4H
|
|
JP L73BB
|
|
|
|
L4CC8: PUSH DE
|
|
EX DE,HL
|
|
JR L4CD0 ; (+004H)
|
|
|
|
L4CCC: PUSH DE
|
|
CALL L6E76
|
|
L4CD0: LD HL,L11A4
|
|
LD (HL),A
|
|
LD B,A
|
|
LD C,A
|
|
INC HL
|
|
CALL LDHLDE
|
|
POP HL
|
|
LD A,(HL)
|
|
CP C
|
|
JR Z,L4D21 ; (+042H)
|
|
PUSH HL
|
|
OR A
|
|
CALL NZ,L4D31
|
|
POP HL
|
|
LD A,(L11A4)
|
|
OR A
|
|
JR Z,L4D1E ; (+033H)
|
|
PUSH HL
|
|
LD BC,(VARST)
|
|
SBC HL,BC
|
|
EX DE,HL
|
|
LD HL,(L1078)
|
|
DEC HL
|
|
DEC HL
|
|
LD (HL),E
|
|
INC HL
|
|
LD (HL),D
|
|
INC HL
|
|
LD BC,(STRST)
|
|
OR A
|
|
POP DE
|
|
PUSH HL
|
|
SBC HL,BC
|
|
EX DE,HL
|
|
LD (HL),A
|
|
LD B,A
|
|
INC HL
|
|
LD (HL),E
|
|
INC HL
|
|
LD (HL),D
|
|
POP HL
|
|
LD DE,L11A4
|
|
INC DE
|
|
CALL L74D5
|
|
CALL L4952
|
|
LD (L107A),HL
|
|
LD (L1078),HL
|
|
RET
|
|
|
|
L4D1E: LD (HL),000H
|
|
RET
|
|
|
|
L4D21: INC HL
|
|
LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
LD HL,(L1076)
|
|
ADD HL,DE
|
|
LD DE,L11A4
|
|
LD B,C
|
|
INC DE
|
|
JP L74D5
|
|
|
|
L4D31: LD C,(HL)
|
|
LD B,000H
|
|
INC BC
|
|
INC BC
|
|
INC HL
|
|
LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
LD HL,(L1076)
|
|
ADD HL,DE
|
|
L4D3E: DEC HL
|
|
DEC HL
|
|
LD E,L
|
|
LD D,H
|
|
ADD HL,BC
|
|
PUSH BC
|
|
PUSH DE
|
|
EX DE,HL
|
|
LD HL,(L1078)
|
|
OR A
|
|
SBC HL,DE
|
|
LD C,L
|
|
LD B,H
|
|
EX DE,HL
|
|
POP DE
|
|
PUSH DE
|
|
JR Z,L4D55 ; (+002H)
|
|
LDIR
|
|
L4D55: POP DE
|
|
POP BC
|
|
LD HL,(L1078)
|
|
OR A
|
|
SBC HL,BC
|
|
LD (L1078),HL
|
|
EX DE,HL
|
|
L4D61: LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
LD A,D
|
|
OR E
|
|
RET Z
|
|
LD HL,(L1074)
|
|
ADD HL,DE
|
|
LD A,(HL)
|
|
INC HL
|
|
LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
OR A
|
|
EX DE,HL
|
|
SBC HL,BC
|
|
EX DE,HL
|
|
LD (HL),D
|
|
DEC HL
|
|
LD (HL),E
|
|
PUSH BC
|
|
LD C,A
|
|
LD B,000H
|
|
LD HL,(L1076)
|
|
ADD HL,DE
|
|
ADD HL,BC
|
|
POP BC
|
|
JR L4D61 ; (-023H)
|
|
|
|
L4D84: POP BC
|
|
LD (04E19H),BC
|
|
CALL L4C8F
|
|
LD IX,L0000
|
|
ADD IX,SP
|
|
LD (04DFBH),HL
|
|
CALL L4EF4
|
|
LD (04DF7H),BC
|
|
L4D9C: LD E,(IX+000H)
|
|
LD D,(IX+001H)
|
|
LD HL,0FF12H
|
|
OR A
|
|
SBC HL,DE
|
|
JR NZ,L4DC4 ; (+01aH)
|
|
LD E,(IX+006H)
|
|
LD D,(IX+007H)
|
|
EX DE,HL
|
|
OR A
|
|
SBC HL,BC
|
|
JR Z,L4DBD ; (+007H)
|
|
LD DE,L0012
|
|
ADD IX,DE
|
|
JR L4D9C ; (-021H)
|
|
|
|
L4DBD: DB 011H
|
|
LD (DE),A
|
|
NOP
|
|
ADD IX,DE
|
|
LD SP,IX
|
|
L4DC4: LD HL,(04DFBH)
|
|
CALL TESTX
|
|
DB LSE0
|
|
CALL L6E82
|
|
PUSH AF
|
|
PUSH HL
|
|
EX DE,HL
|
|
LD DE,L4F00
|
|
CALL L5E91
|
|
POP HL
|
|
POP AF
|
|
CP LSE1
|
|
LD DE,L6110
|
|
JR NZ,L4DE4 ; (+004H)
|
|
INC HL
|
|
CALL L6E82
|
|
L4DE4: LD (04DFBH),HL
|
|
LD HL,0FFF6H
|
|
ADD HL,SP
|
|
LD SP,HL
|
|
EX DE,HL
|
|
CALL L5E91
|
|
LD HL,L4F00
|
|
CALL L5E91
|
|
LD HL,L0000
|
|
PUSH HL
|
|
LD HL,L0000
|
|
PUSH HL
|
|
LD HL,(L8476)
|
|
PUSH HL
|
|
LD HL,0FF12H
|
|
PUSH HL
|
|
LD HL,0FE00H
|
|
ADD HL,SP
|
|
LD DE,(TMPEND)
|
|
SBC HL,DE
|
|
LD A,00BH
|
|
JP C,L4B28
|
|
LD HL,(04DFBH)
|
|
JP L0000
|
|
|
|
L4E1B: LD A,005H
|
|
LD (L84C7),A
|
|
POP BC
|
|
LD (04E90H),BC
|
|
L4E25: PUSH AF
|
|
POP BC
|
|
LD (04DFBH),HL
|
|
LD IX,L0000
|
|
ADD IX,SP
|
|
LD (04E7FH),IX
|
|
LD E,(IX+000H)
|
|
LD D,(IX+001H)
|
|
LD HL,0FF12H
|
|
OR A
|
|
SBC HL,DE
|
|
JP NZ,04AFEH
|
|
PUSH BC
|
|
POP AF
|
|
JR NZ,L4EA6 ; (+05fH)
|
|
LD E,(IX+004H)
|
|
LD D,(IX+005H)
|
|
EX DE,HL
|
|
LD (04E8DH),HL
|
|
LD E,(IX+006H)
|
|
LD D,(IX+007H)
|
|
LD HL,(L1074)
|
|
ADD HL,DE
|
|
LD BC,00008H
|
|
ADD IX,BC
|
|
PUSH IX
|
|
POP DE
|
|
CALL L797E
|
|
INC DE
|
|
LD A,(DE)
|
|
LD IX,(04E7FH)
|
|
LD DE,0000DH
|
|
ADD IX,DE
|
|
PUSH IX
|
|
POP DE
|
|
BIT 7,A
|
|
JR NZ,L4E79 ; (+001H)
|
|
EX DE,HL
|
|
L4E79: CALL L7A15
|
|
JR C,L4E92 ; (+014H)
|
|
LD SP,L0000
|
|
LD HL,00002H
|
|
ADD HL,SP
|
|
LD A,(HL)
|
|
INC HL
|
|
LD H,(HL)
|
|
LD L,A
|
|
LD (L8476),HL
|
|
LD HL,L0000
|
|
L4E8F: JP L0000
|
|
|
|
L4E92: LD DE,L0012
|
|
LD HL,(04E7FH)
|
|
ADD HL,DE
|
|
LD SP,HL
|
|
LD HL,(04DFBH)
|
|
CALL TEST1
|
|
DB 02CH
|
|
JR NZ,L4E8F ; (-014H)
|
|
LD (04DFBH),HL
|
|
L4EA6: LD IX,L0000
|
|
ADD IX,SP
|
|
LD (04E7FH),IX
|
|
LD HL,(04DFBH)
|
|
CALL TEST1
|
|
DB 02CH
|
|
JP Z,L4E25
|
|
CALL L742F
|
|
LD (04DFBH),HL
|
|
CALL L4EF4
|
|
LD IX,(04E7FH)
|
|
L4EC7: LD E,(IX+000H)
|
|
LD D,(IX+001H)
|
|
LD HL,0FF12H
|
|
OR A
|
|
SBC HL,DE
|
|
JP NZ,04AFEH
|
|
LD L,(IX+006H)
|
|
LD H,(IX+007H)
|
|
OR A
|
|
SBC HL,BC
|
|
LD HL,(04DFBH)
|
|
JP Z,L4E25
|
|
LD DE,L0012
|
|
ADD IX,DE
|
|
LD (04E7FH),IX
|
|
LD SP,(04E7FH)
|
|
JR L4EC7 ; (-02dH)
|
|
|
|
L4EF4: LD H,B
|
|
LD L,C
|
|
LD BC,(VARST)
|
|
OR A
|
|
SBC HL,BC
|
|
LD B,H
|
|
LD C,L
|
|
RET
|
|
|
|
L4F00: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L4F09: CALL L5198
|
|
OR A
|
|
RET NZ
|
|
INC HL
|
|
PUSH DE
|
|
LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
LD A,D
|
|
OR E
|
|
INC HL
|
|
LD (04F08H),DE
|
|
LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
LD (04F06H),DE
|
|
POP DE
|
|
SCF
|
|
RET Z
|
|
JR L4F09 ; (-01dH)
|
|
|
|
L4F26: CALL L5E79
|
|
CALL L6E57
|
|
LD (04F5FH),DE
|
|
CALL TEST1
|
|
DB 02CH
|
|
JR NZ,L4F51 ; (+01bH)
|
|
CALL L6E82
|
|
CALL L790F
|
|
LD (04F54H),DE
|
|
CALL TEST1
|
|
DB 02CH
|
|
JR NZ,L4F51 ; (+00bH)
|
|
CALL L742F
|
|
CALL L790F
|
|
LD (04F67H),BC
|
|
XOR A
|
|
L4F51: PUSH HL
|
|
PUSH AF
|
|
LD HL,L0000
|
|
CALL L6E76
|
|
LD IX,L0182
|
|
XOR A
|
|
CALL L0000
|
|
POP AF
|
|
JR NZ,L4F6C ; (+008H)
|
|
LD A,B
|
|
EX DE,HL
|
|
LD DE,L0000
|
|
CALL L4CC8
|
|
L4F6C: POP HL
|
|
JP L5E7D
|
|
|
|
L4F70: CALL L6E57
|
|
L4F73: LD A,D
|
|
OR E
|
|
RET Z
|
|
LD B,000H
|
|
L4F78: DJNZ L4F78 ; (-002H)
|
|
RST 018H
|
|
DB 00EH
|
|
RET Z
|
|
DEC DE
|
|
JR L4F73 ; (-00dH)
|
|
|
|
L4F80: DEC HL
|
|
L4F81: CALL L5198
|
|
OR A
|
|
SCF
|
|
RET Z
|
|
CP 03AH
|
|
RET Z
|
|
JR L4F81 ; (-00bH)
|
|
|
|
L4F8C: CALL L6E43
|
|
SUB LSE0
|
|
CP 007H
|
|
JP C,04AECH
|
|
CALL L5E6E
|
|
PUSH DE
|
|
CALL L6E43
|
|
POP BC
|
|
OUT (C),A
|
|
RET
|
|
|
|
L4FA1: CALL L6E43
|
|
CALL L5E6E
|
|
PUSH DE
|
|
CALL L742F
|
|
CP 005H
|
|
JP NZ,04AEFH
|
|
EX (SP),HL
|
|
PUSH BC
|
|
EX (SP),HL
|
|
POP BC
|
|
IN E,(C)
|
|
LD D,000H
|
|
CALL L5E97
|
|
POP HL
|
|
RET
|
|
|
|
L4FBD: CALL L4FC5
|
|
LD (00054H),DE
|
|
RET
|
|
|
|
L4FC5: LD B,018H
|
|
LD C,027H
|
|
CALL L4FD0
|
|
JP C,04AECH
|
|
RET
|
|
|
|
L4FD0: PUSH BC
|
|
CALL L6E43
|
|
PUSH AF
|
|
CALL L5E6E
|
|
CALL L6E43
|
|
LD D,E
|
|
POP AF
|
|
LD E,A
|
|
POP BC
|
|
LD A,C
|
|
CP E
|
|
RET C
|
|
LD A,B
|
|
CP D
|
|
RET
|
|
|
|
L4FE5: CALL L742F
|
|
LD (L84C7),A
|
|
CP 005H
|
|
JR Z,L5004 ; (+015H)
|
|
PUSH HL
|
|
PUSH BC
|
|
LD A,0FFH
|
|
RST 018H
|
|
DB 00DH
|
|
OR A
|
|
JR Z,L4FFE ; (+006H)
|
|
LD HL,(L107A)
|
|
LD (HL),A
|
|
LD A,001H
|
|
L4FFE: POP DE
|
|
CALL L4CC8
|
|
POP HL
|
|
RET
|
|
|
|
L5004: PUSH HL
|
|
PUSH BC
|
|
LD A,0FFH
|
|
RST 018H
|
|
DB 00DH
|
|
SUB 030H
|
|
CP 00AH
|
|
JR C,L5011 ; (+001H)
|
|
XOR A
|
|
L5011: LD E,A
|
|
LD D,000H
|
|
POP HL
|
|
CALL L5E97
|
|
POP HL
|
|
RET
|
|
|
|
L501A: CP 040H
|
|
LD BC,POPRA
|
|
JR NZ,L5025 ; (+004H)
|
|
INC HL
|
|
LD BC,L5041
|
|
L5025: LD (05036H),BC
|
|
CALL L6E57
|
|
CALL L5E71
|
|
L502F: PUSH DE
|
|
CALL L6E43
|
|
POP DE
|
|
EX DE,HL
|
|
CALL POPRA
|
|
EX DE,HL
|
|
INC DE
|
|
CALL TEST1
|
|
DB 02CH
|
|
RET NZ
|
|
JR L502F ; (-012H)
|
|
|
|
L5041: LD (HL),A
|
|
RET
|
|
|
|
PUSH HL
|
|
CALL TEST1
|
|
DB 04DH
|
|
JR NZ,L505C ; (+012H)
|
|
CALL TEST1
|
|
DB 041H
|
|
JR NZ,L505C ; (+00cH)
|
|
CALL TEST1
|
|
DB 058H
|
|
JR NZ,L505C ; (+006H)
|
|
EX (SP),HL
|
|
LD HL,(MEMMAX)
|
|
JR L5078 ; (+01cH)
|
|
|
|
L505C: POP HL
|
|
CALL L6E57
|
|
PUSH HL
|
|
LD HL,(MEMMAX)
|
|
OR A
|
|
SBC HL,DE
|
|
JP C,L4B26
|
|
LD HL,(L107A)
|
|
INC H
|
|
INC H
|
|
INC H
|
|
INC H
|
|
OR A
|
|
SBC HL,DE
|
|
JP NC,04AECH
|
|
EX DE,HL
|
|
L5078: CALL L4902
|
|
POP HL
|
|
POP DE
|
|
LD SP,(INTFAC)
|
|
LD BC,0FFFFH
|
|
PUSH BC
|
|
PUSH DE
|
|
RET
|
|
|
|
L5087: POP IX
|
|
L5089: POP BC
|
|
PUSH BC
|
|
LD A,B
|
|
INC A
|
|
JP NZ,04B01H
|
|
LD A,C
|
|
CP 012H
|
|
JR Z,L50AF ; (+01aH)
|
|
CP 0FEH
|
|
JP NZ,04B01H
|
|
POP BC
|
|
CALL L414A
|
|
EX DE,HL
|
|
POP HL
|
|
LD (L847C),HL
|
|
POP HL
|
|
LD (L8476),HL
|
|
POP HL
|
|
PUSH IX
|
|
RET Z
|
|
EX DE,HL
|
|
JP L513D
|
|
|
|
L50AF: EX DE,HL
|
|
LD HL,L0012
|
|
ADD HL,SP
|
|
LD SP,HL
|
|
EX DE,HL
|
|
JR L5089 ; (-02fH)
|
|
|
|
L50B8: PUSH HL
|
|
CALL L4F80
|
|
EX DE,HL
|
|
POP HL
|
|
POP BC
|
|
PUSH DE
|
|
EXX
|
|
LD HL,(L8476)
|
|
PUSH HL
|
|
LD HL,(L847C)
|
|
PUSH HL
|
|
LD HL,0FFFEH
|
|
PUSH HL
|
|
LD HL,0FE00H
|
|
ADD HL,SP
|
|
LD DE,(TMPEND)
|
|
SBC HL,DE
|
|
LD A,00AH
|
|
JP C,L4B28
|
|
EXX
|
|
PUSH BC
|
|
JR L513D ; (+05dH)
|
|
|
|
L50E0: CALL TEST1
|
|
DB 0C1H
|
|
JP Z,L4C5C
|
|
CALL L6E57
|
|
LD C,E
|
|
LD B,D
|
|
CP 087H
|
|
JP NC,L4AE6
|
|
CP 082H
|
|
JR NZ,L5105 ; (+010H)
|
|
CALL INCHLF
|
|
LD E,081H
|
|
CP LSE4
|
|
JR Z,L5104 ; (+006H)
|
|
CP LSE0
|
|
JP NZ,L4AE6
|
|
DEC E
|
|
L5104: LD A,E
|
|
L5105: PUSH HL
|
|
LD HL,L43F4
|
|
SUB 080H
|
|
ADD A,A
|
|
LD E,A
|
|
LD D,000H
|
|
ADD HL,DE
|
|
CALL INDRCT
|
|
EX (SP),HL
|
|
INC HL
|
|
LD A,B
|
|
OR A
|
|
JR NZ,L5139 ; (+020H)
|
|
LD A,C
|
|
OR A
|
|
JR Z,L5139 ; (+01cH)
|
|
LD B,A
|
|
L511E: DEC B
|
|
RET Z
|
|
CALL HLFTCH
|
|
CALL L5169
|
|
JP NZ,L4AE6
|
|
CALL L519E
|
|
OR A
|
|
RET Z
|
|
INC HL
|
|
CALL TEST1
|
|
DB 02CH
|
|
JR Z,L511E ; (-017H)
|
|
POP DE
|
|
JP L5E46
|
|
|
|
L5139: POP DE
|
|
JP L4F80
|
|
|
|
L513D: CALL L45B2
|
|
EX DE,HL
|
|
JR NZ,L5146 ; (+003H)
|
|
LD HL,(L1070)
|
|
L5146: LD (L8476),HL
|
|
XOR A
|
|
LD (L4B6E),A
|
|
JP L40F0
|
|
|
|
L5150: CALL L6E82
|
|
EX AF,AF'
|
|
LD A,(DE)
|
|
OR A
|
|
JR Z,L5178 ; (+020H)
|
|
EX AF,AF'
|
|
CP LSE2
|
|
JR NZ,L5165 ; (+008H)
|
|
L515D: CALL INCHLF
|
|
CALL L5169
|
|
JR Z,L513D ; (-028H)
|
|
L5165: POP AF
|
|
JP L40BB
|
|
|
|
L5169: CP 022H
|
|
RET Z
|
|
L516C: CP 00BH
|
|
RET Z
|
|
CP 00CH
|
|
RET
|
|
|
|
L5172: CALL L5181
|
|
JR NC,L5172 ; (-005H)
|
|
RET
|
|
|
|
L5178: DEC HL
|
|
CALL L5181
|
|
JR NC,L515D ; (-021H)
|
|
DB 0C3H
|
|
IN B,(C)
|
|
L5181: CALL L5198
|
|
OR A
|
|
SCF
|
|
RET Z
|
|
CP 0C2H
|
|
RET Z
|
|
CP 093H
|
|
JR NZ,L5181 ; (-00dH)
|
|
CALL L5181
|
|
RET C
|
|
JR L5181 ; (-013H)
|
|
|
|
L5194: INC HL
|
|
LD A,(HL)
|
|
JR L519E ; (+006H)
|
|
|
|
L5198: INC HL
|
|
LD A,(HL)
|
|
CP 094H
|
|
JR Z,L51BD ; (+01fH)
|
|
L519E: OR A
|
|
RET Z
|
|
CP 022H
|
|
JR Z,L51DB ; (+037H)
|
|
CP 0FEH
|
|
JR NC,L51BB ; (+013H)
|
|
CP 097H
|
|
JR Z,L51BD ; (+011H)
|
|
CP 027H
|
|
JR Z,L51BD ; (+00dH)
|
|
CP 020H
|
|
RET NC
|
|
CP 00BH
|
|
RET C
|
|
CP 015H
|
|
JR NC,L51D2 ; (+018H)
|
|
INC HL
|
|
L51BB: INC HL
|
|
RET
|
|
|
|
L51BD: LD A,(HL)
|
|
OR A
|
|
RET Z
|
|
CP 03AH
|
|
RET Z
|
|
CP 022H
|
|
JR Z,L51CA ; (+003H)
|
|
INC HL
|
|
JR L51BD ; (-00dH)
|
|
|
|
L51CA: CALL L51DB
|
|
OR A
|
|
RET Z
|
|
INC HL
|
|
JR L51BD ; (-015H)
|
|
|
|
L51D2: AND 00FH
|
|
ADD A,L
|
|
LD L,A
|
|
LD A,020H
|
|
RET NC
|
|
INC H
|
|
RET
|
|
|
|
L51DB: INC HL
|
|
LD A,(HL)
|
|
OR A
|
|
RET Z
|
|
CP 022H
|
|
RET Z
|
|
JR L51DB ; (-009H)
|
|
|
|
L51E4: OR 0AFH
|
|
PUSH AF
|
|
LD B,031H
|
|
LD C,04FH
|
|
CALL L4FD0
|
|
PUSH AF
|
|
CALL L5235
|
|
POP AF
|
|
JR C,L5233 ; (+03eH)
|
|
LD A,C
|
|
LD (05221H),A
|
|
LD B,001H
|
|
SRL E
|
|
JR NC,L5201 ; (+002H)
|
|
SLA B
|
|
L5201: SRL D
|
|
JR NC,L5209 ; (+004H)
|
|
SLA B
|
|
SLA B
|
|
L5209: EX DE,HL
|
|
RST 018H
|
|
DB 01EH
|
|
CALL BREAKX
|
|
CP LSPAL
|
|
JR NC,L5215 ; (+002H)
|
|
LD A,LSPAL
|
|
L5215: LD C,A
|
|
POP AF
|
|
JR Z,L522B ; (+012H)
|
|
SET 3,H
|
|
CALL BREAKX
|
|
AND 08FH
|
|
OR 000H
|
|
CALL POPRA
|
|
RES 3,H
|
|
LD A,C
|
|
OR B
|
|
JR L522E ; (+003H)
|
|
|
|
L522B: LD A,B
|
|
CPL
|
|
AND C
|
|
L522E: CALL POPRA
|
|
EX DE,HL
|
|
RET
|
|
|
|
L5233: POP AF
|
|
RET
|
|
|
|
L5235: LD A,(L005D)
|
|
AND 070H
|
|
LD C,A
|
|
CALL TEST1
|
|
DB 02CH
|
|
RET NZ
|
|
PUSH DE
|
|
CALL L5522
|
|
POP DE
|
|
RLCA
|
|
RLCA
|
|
RLCA
|
|
RLCA
|
|
LD C,A
|
|
RET
|
|
|
|
L524B: RST 018H
|
|
DB 020H
|
|
RET
|
|
|
|
L524E: CALL L5E46
|
|
RST 018H
|
|
DB 028H
|
|
RST 018H
|
|
DB 000H
|
|
RET
|
|
|
|
L5256: JR Z,L527B ; (+023H)
|
|
LD A,001H
|
|
LD (L004E),A
|
|
LD A,(L0056)
|
|
LD B,019H
|
|
CALL L528E
|
|
LD (00056H),BC
|
|
CALL TEST1
|
|
DB 02CH
|
|
RET NZ
|
|
LD B,028H
|
|
LD A,(L005B)
|
|
CALL L528E
|
|
LD (0005BH),BC
|
|
RET
|
|
|
|
L527B: XOR A
|
|
LD (L004E),A
|
|
LD BC,L1800
|
|
LD (00056H),BC
|
|
LD BC,L2700
|
|
LD (0005BH),BC
|
|
RET
|
|
|
|
L528E: LD D,000H
|
|
LD E,A
|
|
CALL TEST1
|
|
DB 02CH
|
|
JR Z,L529F ; (+008H)
|
|
PUSH BC
|
|
CALL L6E43
|
|
POP BC
|
|
CALL L5E6E
|
|
L529F: LD C,E
|
|
PUSH BC
|
|
CALL L6E43
|
|
POP BC
|
|
DEC A
|
|
JP M,04AECH
|
|
ADD A,C
|
|
CP B
|
|
JP NC,04AECH
|
|
LD B,A
|
|
RET
|
|
|
|
DI
|
|
OUT (LSE4),A
|
|
JP L0000
|
|
|
|
L52B6: XOR A
|
|
LD BC,?SETDE
|
|
LD (L539E),A
|
|
PUSH AF
|
|
CALL L5882
|
|
RST 018H
|
|
DB 02EH
|
|
JP C,04B22H
|
|
BIT 1,A
|
|
JP Z,04B22H
|
|
CALL TEST1
|
|
DB 02CH
|
|
POP AF
|
|
OR A
|
|
JR NZ,L52E8 ; (+015H)
|
|
CALL L6E67
|
|
LD A,B
|
|
LD (L5399),A
|
|
LD (0539AH),DE
|
|
CALL L5E46
|
|
JR L52E8 ; (+005H)
|
|
|
|
L52E3: LD A,002H
|
|
LD (L539E),A
|
|
L52E8: CALL L466C
|
|
LD (0530FH),DE
|
|
LD (0531DH),BC
|
|
LD A,0FFH
|
|
LD (L1090),A
|
|
CALL SKPDE
|
|
LD HL,(L1070)
|
|
L52FE: CALL LDDEMI
|
|
LD A,D
|
|
OR E
|
|
RET Z
|
|
EX DE,HL
|
|
ADD HL,DE
|
|
DEC HL
|
|
DEC HL
|
|
EX DE,HL
|
|
PUSH DE
|
|
CALL LDDEMI
|
|
PUSH HL
|
|
LD HL,L0000
|
|
OR A
|
|
SBC HL,DE
|
|
JR C,L531C ; (+006H)
|
|
JR Z,L531C ; (+004H)
|
|
POP HL
|
|
POP HL
|
|
JR L52FE ; (-01eH)
|
|
|
|
L531C: LD HL,L0000
|
|
OR A
|
|
SBC HL,DE
|
|
JR NC,L5327 ; (+003H)
|
|
POP HL
|
|
POP HL
|
|
RET
|
|
|
|
L5327: EX DE,HL
|
|
CALL L5E64
|
|
RST 018H
|
|
DB 017H
|
|
LD HL,L11A4
|
|
CALL LDHLDE
|
|
LD (HL),020H
|
|
INC HL
|
|
EX DE,HL
|
|
POP HL
|
|
CALL L68D8
|
|
LD A,(L539E)
|
|
OR A
|
|
JR NZ,L5346 ; (+005H)
|
|
CALL L535C
|
|
JR NC,L5350 ; (+00aH)
|
|
L5346: LD DE,L11A4
|
|
RST 018H
|
|
DB 017H
|
|
RST 018H
|
|
DB 037H
|
|
CALL L5733
|
|
L5350: POP HL
|
|
LD A,(L539E)
|
|
CP 002H
|
|
JR Z,L52FE ; (-05aH)
|
|
RST 018H
|
|
DB 00FH
|
|
JR L52FE ; (-05eH)
|
|
|
|
L535C: EX DE,HL
|
|
L535D: PUSH HL
|
|
CALL L5367
|
|
POP HL
|
|
RET C
|
|
RET Z
|
|
INC HL
|
|
JR L535D ; (-00aH)
|
|
|
|
L5367: LD A,(L5399)
|
|
LD B,A
|
|
LD DE,(0539AH)
|
|
L536F: LD A,(HL)
|
|
INC HL
|
|
OR A
|
|
RET Z
|
|
CP 005H
|
|
JR Z,L537B ; (+004H)
|
|
CP 006H
|
|
JR NZ,L537D ; (+002H)
|
|
L537B: JR L536F ; (-00eH)
|
|
|
|
L537D: PUSH HL
|
|
LD C,A
|
|
L537F: LD A,(DE)
|
|
INC DE
|
|
CP 005H
|
|
JR Z,L5389 ; (+004H)
|
|
CP 006H
|
|
JR NZ,L5390 ; (+007H)
|
|
L5389: DEC B
|
|
SCF
|
|
POP HL
|
|
RET Z
|
|
PUSH HL
|
|
JR L537F ; (-011H)
|
|
|
|
L5390: SUB C
|
|
POP HL
|
|
OR A
|
|
RET NZ
|
|
DEC B
|
|
SCF
|
|
RET Z
|
|
JR L536F ; (-02aH)
|
|
|
|
L5399: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L539E: NOP
|
|
L539F: CALL TESTX
|
|
DB 087H
|
|
CALL L5E4D
|
|
PUSH HL
|
|
LD C,000H
|
|
L53A9: RST 018H
|
|
DB 008H
|
|
LD A,C
|
|
ADD A,031H
|
|
LD D,A
|
|
LD E,020H
|
|
CP 03AH
|
|
JR NZ,L53B8 ; (+003H)
|
|
LD DE,L3031
|
|
L53B8: LD (0543BH),DE
|
|
LD DE,L5433
|
|
RST 018H
|
|
DB 00BH
|
|
LD A,C
|
|
CALL L5492
|
|
LD B,(HL)
|
|
INC HL
|
|
PUSH BC
|
|
CALL L53D6
|
|
POP BC
|
|
INC C
|
|
LD A,C
|
|
CP 00AH
|
|
JR NZ,L53A9 ; (-029H)
|
|
RST 018H
|
|
DB 008H
|
|
POP HL
|
|
RET
|
|
|
|
L53D6: LD A,B
|
|
OR A
|
|
LD C,000H
|
|
JR NZ,L53E3 ; (+007H)
|
|
LD A,022H
|
|
RST 018H
|
|
DB 00AH
|
|
RST 018H
|
|
DB 00AH
|
|
RET
|
|
|
|
L53E3: LD A,(HL)
|
|
CP 020H
|
|
JR C,L5408 ; (+020H)
|
|
CP 022H
|
|
JR Z,L5408 ; (+01cH)
|
|
LD A,C
|
|
CP 001H
|
|
JR Z,L53FB ; (+00aH)
|
|
OR A
|
|
LD DE,L5440
|
|
JR NZ,L53F9 ; (+002H)
|
|
INC DE
|
|
INC DE
|
|
L53F9: RST 018H
|
|
DB 00BH
|
|
L53FB: LD A,(HL)
|
|
RST 018H
|
|
DB 00AH
|
|
INC HL
|
|
LD C,001H
|
|
DJNZ L53E3 ; (-020H)
|
|
LD A,022H
|
|
L5405: RST 018H
|
|
DB 00AH
|
|
RET
|
|
|
|
L5408: LD A,C
|
|
CP 0FFH
|
|
JR Z,L542D ; (+020H)
|
|
OR A
|
|
LD DE,05444H
|
|
JR NZ,L5415 ; (+002H)
|
|
INC DE
|
|
INC DE
|
|
L5415: RST 018H
|
|
DB 00BH
|
|
L5417: PUSH BC
|
|
PUSH HL
|
|
LD L,(HL)
|
|
LD H,000H
|
|
CALL L5E64
|
|
RST 018H
|
|
DB 00BH
|
|
POP HL
|
|
POP BC
|
|
INC HL
|
|
LD C,0FFH
|
|
DJNZ L53E3 ; (-045H)
|
|
LD A,029H
|
|
JP L5405
|
|
|
|
L542D: LD A,02CH
|
|
RST 018H
|
|
DB 00AH
|
|
JR L5417 ; (-01cH)
|
|
|
|
L5433: LD B,H
|
|
LD B,L
|
|
LD B,(HL)
|
|
JR NZ,L5483 ; (+04bH)
|
|
LD B,L
|
|
LD E,C
|
|
JR Z,L543C ; (+000H)
|
|
L543C: NOP
|
|
ADD HL,HL
|
|
DEC A
|
|
NOP
|
|
L5440: ADD HL,HL
|
|
DEC HL
|
|
LD (L2200),HL
|
|
DEC HL
|
|
LD B,E
|
|
LD C,B
|
|
LD D,D
|
|
INC H
|
|
JR Z,L544C ; (+000H)
|
|
L544C: CALL TEST1
|
|
DB 0B2H
|
|
JR Z,L545D ; (+00bH)
|
|
CALL TESTX
|
|
DB 0FFH
|
|
CALL TESTX
|
|
DB 0C7H
|
|
JP L781D
|
|
|
|
L545D: CALL TESTX
|
|
L5460: DB 028H
|
|
CALL L6E43
|
|
CALL TESTX
|
|
DB 029H
|
|
CALL TESTX
|
|
DB QDPC
|
|
LD A,E
|
|
DEC A
|
|
CP 00AH
|
|
JP NC,04AECH
|
|
PUSH HL
|
|
CALL L5492
|
|
EX (SP),HL
|
|
CALL L6E67
|
|
EX (SP),HL
|
|
LD A,B
|
|
CP 010H
|
|
JR C,L5483 ; (+002H)
|
|
LD A,00FH
|
|
L5483: LD (HL),A
|
|
OR A
|
|
JR Z,L548F ; (+008H)
|
|
LD B,A
|
|
INC HL
|
|
L5489: LD A,(DE)
|
|
LD (HL),A
|
|
INC DE
|
|
INC HL
|
|
DJNZ L5489 ; (-006H)
|
|
L548F: POP HL
|
|
EI
|
|
RET
|
|
|
|
L5492: ADD A,A
|
|
ADD A,A
|
|
ADD A,A
|
|
ADD A,A
|
|
LD HL,L12C0
|
|
JP ADDHLA
|
|
|
|
L549C: CALL TEST1
|
|
DB 02CH
|
|
JR NZ,L54AA ; (+008H)
|
|
CALL L5E6E
|
|
LD DE,L005D
|
|
JR L54B6 ; (+00cH)
|
|
|
|
L54AA: CALL L4FC5
|
|
CALL L5E6E
|
|
EX DE,HL
|
|
RST 018H
|
|
DB 01EH
|
|
SET 3,H
|
|
EX DE,HL
|
|
L54B6: EX DE,HL
|
|
CALL BREAKX
|
|
EX DE,HL
|
|
PUSH DE
|
|
CALL L54C6
|
|
POP DE
|
|
EX DE,HL
|
|
CALL POPRA
|
|
EX DE,HL
|
|
RET
|
|
|
|
L54C6: LD C,A
|
|
CALL TEST1
|
|
DB 02CH
|
|
JR Z,L54DF ; (+012H)
|
|
CALL L5522
|
|
ADD A,A
|
|
ADD A,A
|
|
ADD A,A
|
|
ADD A,A
|
|
XOR C
|
|
AND 070H
|
|
XOR C
|
|
LD C,A
|
|
CALL TEST1
|
|
DB 02CH
|
|
JR NZ,L54F0 ; (+011H)
|
|
L54DF: CALL L414A
|
|
JR Z,L54F0 ; (+00cH)
|
|
CP 05DH
|
|
JR Z,L54F0 ; (+008H)
|
|
CALL L5522
|
|
XOR C
|
|
AND 007H
|
|
XOR C
|
|
RET
|
|
|
|
L54F0: LD A,C
|
|
RET
|
|
|
|
L54F2: INC HL
|
|
L54F3: CALL L6E67
|
|
LD A,B
|
|
OR A
|
|
JR Z,L5509 ; (+00fH)
|
|
PUSH HL
|
|
LD HL,L11A4
|
|
PUSH HL
|
|
CALL LDHLDE
|
|
LD (HL),00DH
|
|
POP DE
|
|
CALL L0030
|
|
POP HL
|
|
L5509: CALL HLFTCH
|
|
CP 03BH
|
|
JR Z,L54F2 ; (-01eH)
|
|
CP 02CH
|
|
JR Z,L54F2 ; (-022H)
|
|
RET
|
|
|
|
L5515: CALL L6E43
|
|
DEC A
|
|
CP 007H
|
|
JP NC,04AECH
|
|
INC A
|
|
JP L0041
|
|
|
|
L5522: PUSH BC
|
|
CALL L6E43
|
|
POP BC
|
|
CP 008H
|
|
JP NC,04AECH
|
|
RET
|
|
|
|
L552D: RST 018H
|
|
DB 045H
|
|
RET
|
|
|
|
DS 208, 000H
|
|
L5600: LD A,(L1042)
|
|
CP 088H
|
|
RET
|
|
|
|
L5606: CALL L6E82
|
|
LD A,(L84C7)
|
|
CP 003H
|
|
PUSH HL
|
|
EX DE,HL
|
|
JR Z,L5619 ; (+007H)
|
|
CALL L6026
|
|
POP HL
|
|
RST 018H
|
|
DB 017H
|
|
RET
|
|
|
|
L5619: CALL L6E76
|
|
POP HL
|
|
RET
|
|
|
|
L561E: LD A,(L005D)
|
|
LD (0574DH),A
|
|
XOR A
|
|
LD (L1090),A
|
|
CALL L5882
|
|
RST 018H
|
|
DB 02EH
|
|
JP C,L57B4
|
|
BIT 2,A
|
|
JP NZ,L5D16
|
|
BIT 1,A
|
|
JP Z,057B7H
|
|
CALL L58C2
|
|
CALL L5600
|
|
JR NZ,L5655 ; (+013H)
|
|
CALL TEST1
|
|
DB 05BH
|
|
JR NZ,L5655 ; (+00dH)
|
|
LD A,(0574DH)
|
|
CALL L54C6
|
|
LD (0574DH),A
|
|
CALL TESTX
|
|
DB 05DH
|
|
L5655: CALL L414A
|
|
JP Z,L5733
|
|
L565B: LD A,(HL)
|
|
CP LSE3
|
|
JR Z,L56DA ; (+07aH)
|
|
LD BC,L5674
|
|
PUSH BC
|
|
CP 03BH
|
|
RET Z
|
|
CP 02CH
|
|
RET Z
|
|
CP LSE6
|
|
JR Z,L56AA ; (+03cH)
|
|
CALL L5606
|
|
JP L573E
|
|
|
|
L5674: CALL L414A
|
|
JP Z,L5733
|
|
CP 02CH
|
|
JR NZ,L569A ; (+01cH)
|
|
CALL L5600
|
|
JR C,L5697 ; (+014H)
|
|
LD IX,(ZDELT)
|
|
CALL IOCALL
|
|
LD B,A
|
|
L568B: SUB 00AH
|
|
JR NC,L568B ; (-004H)
|
|
NEG
|
|
LD B,A
|
|
CALL L56CC
|
|
JR L569A ; (+003H)
|
|
|
|
L5697: CALL L5733
|
|
L569A: LD A,(HL)
|
|
CP 02CH
|
|
JR Z,L56A1 ; (+002H)
|
|
CP 03BH
|
|
L56A1: JR NZ,L56A4 ; (+001H)
|
|
INC HL
|
|
L56A4: CALL L414A
|
|
RET Z
|
|
JR L565B ; (-04fH)
|
|
|
|
L56AA: CALL L5600
|
|
JP C,057B7H
|
|
CALL L5E75
|
|
CALL L6E43
|
|
CALL L5E7D
|
|
LD IX,(ZDELT)
|
|
CALL IOCALL
|
|
SUB E
|
|
RET NC
|
|
NEG
|
|
LD B,A
|
|
CALL L5600
|
|
LD A,013H
|
|
JR Z,L56CE ; (+002H)
|
|
L56CC: LD A,020H
|
|
L56CE: LD DE,L11A4
|
|
PUSH BC
|
|
PUSH DE
|
|
CALL ?SETDE
|
|
POP DE
|
|
POP BC
|
|
JR L573E ; (+064H)
|
|
|
|
L56DA: INC HL
|
|
CALL L6E67
|
|
LD A,B
|
|
OR A
|
|
JP Z,04AECH
|
|
PUSH HL
|
|
LD HL,L11A4
|
|
PUSH HL
|
|
PUSH BC
|
|
CALL LDHLDE
|
|
POP BC
|
|
LD A,LSPAL
|
|
LD E,B
|
|
LD D,000H
|
|
INC DE
|
|
RST 018H
|
|
DB 02AH
|
|
LD (L6304),HL
|
|
LD (L6306),HL
|
|
POP DE
|
|
CALL LDHLDE
|
|
LD (HL),000H
|
|
POP HL
|
|
L5702: CALL L414A
|
|
JR Z,L5729 ; (+022H)
|
|
INC HL
|
|
CP 02CH
|
|
JR Z,L5711 ; (+005H)
|
|
CP 03BH
|
|
JP NZ,L4AE6
|
|
L5711: CALL L414A
|
|
JR Z,L572C ; (+016H)
|
|
CALL L6E8A
|
|
PUSH HL
|
|
LD BC,(TMPEND)
|
|
PUSH BC
|
|
CALL L6308
|
|
POP DE
|
|
CALL L573C
|
|
POP HL
|
|
JR L5702 ; (-027H)
|
|
|
|
L5729: CALL L5733
|
|
L572C: LD A,LSPAL
|
|
RST 018H
|
|
DB 02BH
|
|
RET
|
|
|
|
L5731: DEC C
|
|
NOP
|
|
L5733: LD A,(L005D)
|
|
LD (0574DH),A
|
|
LD DE,L5731
|
|
L573C: RST 018H
|
|
DB 017H
|
|
L573E: CALL L5600
|
|
JR Z,L5746 ; (+003H)
|
|
RST 018H
|
|
DB 037H
|
|
RET
|
|
|
|
L5746: PUSH HL
|
|
PUSH BC
|
|
LD HL,L005D
|
|
LD C,(HL)
|
|
LD (HL),070H
|
|
RST 018H
|
|
DB 037H
|
|
LD (HL),C
|
|
POP BC
|
|
POP HL
|
|
RET
|
|
|
|
L5754: LD A,08AH
|
|
LD (L1042),A
|
|
JR L5792 ; (+037H)
|
|
|
|
L575B: CALL L5882
|
|
RST 018H
|
|
DB 02EH
|
|
JP C,L57B4
|
|
BIT 2,A
|
|
JP NZ,L5D27
|
|
BIT 0,A
|
|
JP Z,057B7H
|
|
CALL L58C2
|
|
CALL L5600
|
|
JR NZ,L5792 ; (+01dH)
|
|
CALL HLFTCH
|
|
CP 022H
|
|
LD DE,L57BC
|
|
LD B,002H
|
|
JR NZ,L5788 ; (+007H)
|
|
CALL L6E67
|
|
CALL TESTX
|
|
DB 03BH
|
|
L5788: LD A,B
|
|
OR A
|
|
JR Z,L5792 ; (+006H)
|
|
L578C: LD A,(DE)
|
|
INC DE
|
|
RST 018H
|
|
DB 003H
|
|
DJNZ L578C ; (-006H)
|
|
L5792: LD (057EBH),SP
|
|
LD DE,(VARED)
|
|
LD (TMPEND),DE
|
|
L579E: LD DE,(TMPEND)
|
|
CALL L74E1
|
|
CALL L742F
|
|
PUSH AF
|
|
PUSH BC
|
|
CALL L414A
|
|
JR Z,057BEH ; (+00fH)
|
|
CALL L5E71
|
|
JR L579E ; (-016H)
|
|
|
|
L57B4: LD A,02CH
|
|
LD HL,0BB3EH
|
|
JP L0182
|
|
|
|
L57BC: CCF
|
|
JR NZ,0576EH ; (-051H)
|
|
PUSH AF
|
|
PUSH HL
|
|
RST 018H
|
|
DB 034H
|
|
LD HL,(057EBH)
|
|
DEC HL
|
|
L57C7: LD A,(HL)
|
|
OR A
|
|
JR Z,L57E9 ; (+01eH)
|
|
DEC HL
|
|
DEC HL
|
|
LD B,(HL)
|
|
DEC HL
|
|
LD C,(HL)
|
|
DEC HL
|
|
PUSH HL
|
|
PUSH AF
|
|
PUSH BC
|
|
LD DE,(TMPEND)
|
|
CALL L57EE
|
|
LD H,000H
|
|
LD L,B
|
|
ADD HL,DE
|
|
LD (HL),000H
|
|
POP DE
|
|
POP AF
|
|
CALL L57F8
|
|
POP HL
|
|
JR L57C7 ; (-022H)
|
|
|
|
L57E9: POP HL
|
|
LD SP,L0000
|
|
RET
|
|
|
|
L57EE: LD A,(L1042)
|
|
CP 08AH
|
|
JR Z,L5839 ; (+044H)
|
|
RST 018H
|
|
DB 035H
|
|
RET
|
|
|
|
L57F8: CP 003H
|
|
JR NZ,L5803 ; (+007H)
|
|
LD HL,(L107A)
|
|
LD A,B
|
|
$START: JP L4CC8 ; $START - BASIC warm start / system entry
|
|
|
|
L5803: PUSH DE
|
|
LD HL,(L107C)
|
|
LD DE,(TMPEND)
|
|
EX DE,HL
|
|
CALL HLFTCH
|
|
CP 045H
|
|
JP Z,04AECH
|
|
EX DE,HL
|
|
CALL L5EDA
|
|
EX DE,HL
|
|
CALL TEST1
|
|
DB 000H
|
|
JP NZ,04AECH
|
|
EX DE,HL
|
|
POP DE
|
|
JP L5E91
|
|
|
|
L5825: XOR A
|
|
JR L587E ; (+056H)
|
|
|
|
L5828: CALL L5825
|
|
CALL L414A
|
|
CALL NZ,L45B2
|
|
EX DE,HL
|
|
CALL NZ,L5869
|
|
EX DE,HL
|
|
JP L4F80
|
|
|
|
L5839: PUSH HL
|
|
PUSH DE
|
|
CALL L5847
|
|
POP DE
|
|
POP HL
|
|
RET
|
|
|
|
L5841: LD HL,(L1070)
|
|
CALL L5869
|
|
L5847: LD A,(L8488)
|
|
CP 001H
|
|
JP Z,04B19H
|
|
JR C,L5841 ; (-010H)
|
|
LD HL,(L8489)
|
|
LD C,03AH
|
|
RST 018H
|
|
DB 036H
|
|
LD (L8489),HL
|
|
CALL L414A
|
|
SCF
|
|
CCF
|
|
RET NZ
|
|
DEC HL
|
|
L5862: CALL L5194
|
|
OR A
|
|
JR NZ,L5874 ; (+00cH)
|
|
INC HL
|
|
L5869: LD A,(HL)
|
|
INC HL
|
|
OR (HL)
|
|
LD A,001H
|
|
JR Z,L587E ; (+00eH)
|
|
INC HL
|
|
INC HL
|
|
JR L5862 ; (-012H)
|
|
|
|
L5874: CP 094H
|
|
JR NZ,L5862 ; (-016H)
|
|
INC HL
|
|
LD (L8489),HL
|
|
LD A,002H
|
|
L587E: LD (L8488),A
|
|
RET
|
|
|
|
L5882: CALL TEST1
|
|
DB 023H
|
|
JR NZ,L58AD ; (+025H)
|
|
CALL HLFTCH
|
|
CP 020H
|
|
JP NC,L4AE6
|
|
PUSH DE
|
|
PUSH BC
|
|
LD DE,L84C8
|
|
PUSH DE
|
|
CALL L7052
|
|
EX (SP),HL
|
|
CALL L60B5
|
|
LD A,H
|
|
OR A
|
|
JP NZ,04B22H
|
|
OR L
|
|
JP Z,04B22H
|
|
JP M,04B22H
|
|
POP HL
|
|
POP BC
|
|
POP DE
|
|
RET
|
|
|
|
L58AD: CALL TEST1
|
|
DB FDPD
|
|
LD A,088H
|
|
RET NZ
|
|
CALL TEST1
|
|
DB 050H
|
|
LD A,089H
|
|
RET Z
|
|
CALL TESTX
|
|
DB 054H
|
|
LD A,080H
|
|
RET
|
|
|
|
L58C2: LD A,(L1042)
|
|
OR A
|
|
RET M
|
|
JP L5E6E
|
|
|
|
L58CA: CALL L593A
|
|
RST 018H
|
|
DB 03AH
|
|
RET
|
|
|
|
L58D0: CALL L414A
|
|
LD B,000H
|
|
CALL NZ,L6E67
|
|
L58D8: PUSH HL
|
|
RST 018H
|
|
DB 02CH
|
|
RST 018H
|
|
DB 03CH
|
|
POP HL
|
|
RET
|
|
|
|
L58DF: LD A,001H
|
|
LD BC,0023EH
|
|
LD BC,0043EH
|
|
PUSH AF
|
|
LD (L1043),A
|
|
CALL L5882
|
|
CP 088H
|
|
JR NZ,L58F4 ; (+002H)
|
|
LD A,080H
|
|
L58F4: LD (L1042),A
|
|
CALL L58C2
|
|
CALL L592D
|
|
POP AF
|
|
CP 004H
|
|
JR Z,L5904 ; (+002H)
|
|
L5902: LD A,003H
|
|
L5904: LD (L1000),A
|
|
PUSH AF
|
|
RST 018H
|
|
DB 033H
|
|
LD A,(L1000)
|
|
POP BC
|
|
CP B
|
|
JP NZ,04B49H
|
|
RET
|
|
|
|
L5913: OR 0AFH
|
|
LD B,A
|
|
CALL L414A
|
|
JR Z,L5929 ; (+00eH)
|
|
L591B: CALL L5882
|
|
CP 088H
|
|
RET NC
|
|
RST 018H
|
|
DB 038H
|
|
CALL TEST1
|
|
DB 02CH
|
|
JR L591B ; (-00eH)
|
|
|
|
L5929: XOR A
|
|
RST 018H
|
|
DB 038H
|
|
RET
|
|
|
|
L592D: CALL L46AE
|
|
LD B,000H
|
|
CALL NZ,L6E67
|
|
PUSH HL
|
|
RST 018H
|
|
DB 02DH
|
|
POP HL
|
|
RET
|
|
|
|
L593A: PUSH HL
|
|
CALL HLFTCH
|
|
LD DE,DEVNAMEBUF
|
|
LD B,001H
|
|
CALL L5975
|
|
CALL NC,L5975
|
|
JR C,L5962 ; (+017H)
|
|
CALL L5975
|
|
CALL L5EC2
|
|
CALL L597B
|
|
CALL L414A
|
|
JR NZ,L5962 ; (+009H)
|
|
LD A,03AH
|
|
LD (DE),A
|
|
POP AF
|
|
JP RFS_DIR_FIX ; Was: LD DE,L5982 / JR L596B (buffer now DEVNAMEBUF)
|
|
NOP
|
|
NOP
|
|
|
|
L5962: POP HL
|
|
CALL L414A
|
|
LD B,000H
|
|
CALL NZ,RFS_DIR_STR ; Was: L6E67; handles RFS device name in strings
|
|
L596B: PUSH HL
|
|
RST 018H
|
|
DB 02CH
|
|
INC (HL)
|
|
DEC (HL)
|
|
JP NZ,04B1FH
|
|
POP HL
|
|
RET
|
|
|
|
L5975: CP 041H
|
|
RET C
|
|
CP 05BH
|
|
CCF
|
|
L597B: RET C
|
|
LD (DE),A
|
|
INC HL
|
|
INC DE
|
|
LD A,(HL)
|
|
INC B
|
|
RET
|
|
|
|
L5982: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L5986: CALL L592D
|
|
CALL TEST1
|
|
DB 02CH
|
|
JP Z,L5A47
|
|
PUSH HL
|
|
CALL L5BDC
|
|
DEC A
|
|
JR Z,L59A9 ; (+012H)
|
|
DEC A
|
|
JP NZ,04B49H
|
|
CALL L5C08
|
|
CALL L5BE5
|
|
CALL L5C0F
|
|
CALL L5C42
|
|
POP HL
|
|
RET
|
|
|
|
L59A9: LD HL,(ELMD22)
|
|
PUSH HL
|
|
LD DE,(MEMLMT)
|
|
CALL L59CF
|
|
LD DE,(ELMD20)
|
|
LD BC,(MEMMAX)
|
|
CALL NC,L59CA
|
|
JP C,04B0DH
|
|
POP HL
|
|
RST 018H
|
|
DB 030H
|
|
CALL L5C42
|
|
POP HL
|
|
RET
|
|
|
|
L59CA: ADD HL,DE
|
|
RET C
|
|
EX DE,HL
|
|
LD H,B
|
|
LD L,C
|
|
L59CF: PUSH HL
|
|
OR A
|
|
SBC HL,DE
|
|
POP HL
|
|
RET
|
|
|
|
L59D5: CALL L592D
|
|
CALL L5BDC
|
|
CP 002H
|
|
JP NZ,04B49H
|
|
LD A,(L8493)
|
|
OR A
|
|
JP Z,L5B0D
|
|
JP L5DB0
|
|
|
|
L59EA: CALL L5C08
|
|
CALL L592D
|
|
CALL TEST1
|
|
DB 02CH
|
|
JR Z,05A4DH ; (+057H)
|
|
RST 018H
|
|
DB 02FH
|
|
CP 002H
|
|
JP NZ,04B49H
|
|
PUSH HL
|
|
LD HL,(L1078)
|
|
LD (L107A),HL
|
|
LD BC,003E8H
|
|
ADD HL,BC
|
|
JP C,L4B26
|
|
PUSH HL
|
|
LD BC,(ELMD20)
|
|
INC B
|
|
ADD HL,BC
|
|
JP C,L4B26
|
|
SBC HL,SP
|
|
JP NC,L4B26
|
|
POP HL
|
|
PUSH HL
|
|
RST 018H
|
|
DB 030H
|
|
POP HL
|
|
CALL L5A24
|
|
POP HL
|
|
RET
|
|
|
|
L5A24: CALL LDDEMI
|
|
LD A,D
|
|
OR E
|
|
RET Z
|
|
PUSH DE
|
|
CALL LDDEMI
|
|
PUSH HL
|
|
LD H,D
|
|
LD L,E
|
|
LD (L8478),HL
|
|
CALL L49B9
|
|
POP HL
|
|
POP BC
|
|
PUSH BC
|
|
PUSH HL
|
|
CALL L479C
|
|
POP HL
|
|
POP BC
|
|
ADD HL,BC
|
|
DEC HL
|
|
DEC HL
|
|
DEC HL
|
|
DEC HL
|
|
JR L5A24 ; (-023H)
|
|
|
|
L5A47: CALL L5C08
|
|
LD A,001H
|
|
LD BC,L003E
|
|
LD BC,0023EH
|
|
PUSH AF
|
|
CALL TESTX
|
|
DB 041H
|
|
CALL L5E46
|
|
LD A,001H
|
|
LD (L1043),A
|
|
LD A,081H
|
|
LD (L1042),A
|
|
CALL L5902
|
|
POP AF
|
|
PUSH AF
|
|
PUSH HL
|
|
LD HL,L0000
|
|
LD DE,0FFFFH
|
|
OR A
|
|
CALL NZ,L49B9
|
|
LD A,081H
|
|
RST 018H
|
|
DB 02EH
|
|
LD HL,(L1078)
|
|
LD (L107A),HL
|
|
LD BC,003E8H
|
|
ADD HL,BC
|
|
JP C,04AF5H
|
|
PUSH HL
|
|
LD (L5AEB),HL
|
|
L5A89: LD HL,0FE00H
|
|
ADD HL,SP
|
|
LD DE,(05AEBH)
|
|
SBC HL,DE
|
|
JP C,04AF5H
|
|
LD DE,(TMPEND)
|
|
RST 018H
|
|
DB 035H
|
|
LD A,B
|
|
OR A
|
|
JR Z,L5AD6 ; (+036H)
|
|
CALL L6A09
|
|
LD A,B
|
|
OR C
|
|
JP Z,04AECH
|
|
LD HL,(L5AEB)
|
|
PUSH HL
|
|
INC HL
|
|
INC HL
|
|
LD (HL),C
|
|
INC HL
|
|
LD (HL),B
|
|
INC HL
|
|
PUSH HL
|
|
LD H,D
|
|
LD L,E
|
|
CALL TEST1
|
|
DB 000H
|
|
JP Z,04AECH
|
|
POP HL
|
|
LD A,(DE)
|
|
CP 020H
|
|
JR NZ,L5AC3 ; (+001H)
|
|
INC DE
|
|
L5AC3: CALL L66ED
|
|
LD (HL),000H
|
|
INC HL
|
|
LD (L5AEB),HL
|
|
POP DE
|
|
OR A
|
|
SBC HL,DE
|
|
EX DE,HL
|
|
LD (HL),E
|
|
INC HL
|
|
LD (HL),D
|
|
JR L5A89 ; (-04dH)
|
|
|
|
L5AD6: LD HL,(L5AEB)
|
|
CALL L4952
|
|
CALL L4928
|
|
POP HL
|
|
CALL L5A24
|
|
POP HL
|
|
POP AF
|
|
CP 002H
|
|
RET NZ
|
|
JP L4810
|
|
|
|
L5AEB: NOP
|
|
NOP
|
|
L5AED: CALL L592D
|
|
PUSH HL
|
|
CALL TEST1
|
|
DB 02CH
|
|
JR NZ,L5AFF ; (+008H)
|
|
CALL HLFTCH
|
|
CP 041H
|
|
JP Z,05A50H
|
|
L5AFF: CALL L5BDC
|
|
POP HL
|
|
DEC A
|
|
JR Z,L5B16 ; (+010H)
|
|
DEC A
|
|
JP NZ,04B49H
|
|
CALL L5BE5
|
|
L5B0D: CALL L5C0F
|
|
CALL L5C42
|
|
JP L4810
|
|
|
|
L5B16: LD D,0C9H
|
|
LD BC,0FF00H
|
|
CALL TEST1
|
|
DB 02CH
|
|
JR NZ,L5B2A ; (+009H)
|
|
CALL TESTX
|
|
DB 052H
|
|
LD D,000H
|
|
LD BC,0CF00H
|
|
L5B2A: LD A,D
|
|
LD (L5B93),A
|
|
LD HL,(L1014)
|
|
LD DE,(ELMD22)
|
|
PUSH HL
|
|
CALL L59CA
|
|
POP DE
|
|
LD HL,(L1070)
|
|
LD BC,0FF00H
|
|
CALL NC,L59CA
|
|
JP C,L4B26
|
|
LD SP,L0000
|
|
CALL L4930
|
|
XOR A
|
|
LD (L5C07),A
|
|
LD HL,(L1018)
|
|
PUSH HL
|
|
LD DE,(ELMD20)
|
|
PUSH DE
|
|
LD HL,(L107A)
|
|
RST 018H
|
|
DB 030H
|
|
LD A,004H
|
|
RST 018H
|
|
DB 003H
|
|
LD A,016H
|
|
RST 018H
|
|
DB 003H
|
|
POP BC
|
|
PUSH BC
|
|
LD DE,(ELMD22)
|
|
CALL L59CF
|
|
LD A,0B0H
|
|
JR NC,L5B7B ; (+008H)
|
|
EX DE,HL
|
|
ADD HL,BC
|
|
DEC HL
|
|
EX DE,HL
|
|
ADD HL,BC
|
|
DEC HL
|
|
LD A,0B8H
|
|
L5B7B: LD (05B92H),A
|
|
DI
|
|
PUSH HL
|
|
PUSH DE
|
|
LD BC,00016H
|
|
LD HL,L5B8E
|
|
LD DE,0FF80H
|
|
PUSH DE
|
|
LDIR
|
|
RET
|
|
|
|
L5B8E: POP DE
|
|
POP HL
|
|
POP BC
|
|
LDIR
|
|
L5B93: RET
|
|
|
|
POP BC
|
|
LD SP,0D000H
|
|
EX DE,HL
|
|
PUSH BC
|
|
PUSH HL
|
|
LD (HL),LSD3
|
|
INC HL
|
|
LD (HL),LSE4
|
|
INC HL
|
|
LD (HL),0C9H
|
|
RET
|
|
|
|
L5BA4: LD HL,(L1078)
|
|
LD (L107A),HL
|
|
LD DE,(TEXTED)
|
|
LD (05C01H),DE
|
|
OR A
|
|
SBC HL,DE
|
|
LD (L5C03),HL
|
|
LD HL,0FE00H
|
|
ADD HL,SP
|
|
LD (L5C05),HL
|
|
LD DE,(VARED)
|
|
PUSH HL
|
|
OR A
|
|
SBC HL,DE
|
|
JP C,L4B26
|
|
EX (SP),HL
|
|
EX DE,HL
|
|
LD BC,(05C03H)
|
|
INC BC
|
|
LDDR
|
|
POP DE
|
|
RST 018H
|
|
DB 018H
|
|
LD A,001H
|
|
LD (L5C07),A
|
|
RET
|
|
|
|
L5BDC: CALL L5BA4
|
|
RST 018H
|
|
DB 02FH
|
|
LD A,(L1000)
|
|
RET
|
|
|
|
L5BE5: LD HL,(L1078)
|
|
XOR A
|
|
DEC HL
|
|
LD (HL),A
|
|
DEC HL
|
|
LD (HL),A
|
|
LD (L1076),HL
|
|
DEC HL
|
|
LD (HL),A
|
|
LD (L1074),HL
|
|
DEC HL
|
|
LD (HL),A
|
|
LD (L1072),HL
|
|
LD HL,00004H
|
|
LD (L5C03),HL
|
|
RET
|
|
|
|
L5C01: NOP
|
|
NOP
|
|
L5C03: NOP
|
|
NOP
|
|
L5C05: NOP
|
|
NOP
|
|
L5C07: NOP
|
|
L5C08: CALL L4152
|
|
JP NZ,04B10H
|
|
RET
|
|
|
|
L5C0F: LD BC,(ELMD20)
|
|
PUSH BC
|
|
LD HL,(L1072)
|
|
LD DE,(TEXTST)
|
|
OR A
|
|
SBC HL,DE
|
|
LD L,000H
|
|
SBC HL,BC
|
|
JP C,L4B26
|
|
LD HL,L0000
|
|
LD (L5C01),HL
|
|
CALL L4824
|
|
LD HL,L0000
|
|
LD (L847C),HL
|
|
LD HL,(L1070)
|
|
RST 018H
|
|
DB 030H
|
|
POP BC
|
|
LD HL,(L1070)
|
|
ADD HL,BC
|
|
LD (L5C01),HL
|
|
RET
|
|
|
|
L5C42: LD A,081H
|
|
LD B,000H
|
|
RST 018H
|
|
DB 038H
|
|
LD HL,L5C07
|
|
LD A,(HL)
|
|
OR A
|
|
RET Z
|
|
LD (HL),000H
|
|
LD HL,(L5C01)
|
|
LD A,H
|
|
OR L
|
|
JR NZ,L5C5D ; (+006H)
|
|
LD HL,(L1070)
|
|
CALL L4952
|
|
L5C5D: EX DE,HL
|
|
LD HL,(L1072)
|
|
LD BC,(05C03H)
|
|
LDIR
|
|
EX DE,HL
|
|
OR A
|
|
SBC HL,DE
|
|
EX DE,HL
|
|
RST 018H
|
|
DB 018H
|
|
RET
|
|
|
|
L5C6F: PUSH HL
|
|
CALL L46C8
|
|
POP HL
|
|
CALL L592D
|
|
PUSH HL
|
|
RST 018H
|
|
DB 02FH
|
|
CP 002H
|
|
JP NZ,04B49H
|
|
LD HL,(L1070)
|
|
RST 018H
|
|
DB 032H
|
|
POP HL
|
|
RET
|
|
|
|
L5C86: PUSH HL
|
|
CALL L46C8
|
|
POP HL
|
|
CALL L592D
|
|
CALL TEST1
|
|
DB 02CH
|
|
JR Z,L5CB3 ; (+01fH)
|
|
PUSH HL
|
|
LD A,002H
|
|
LD (L1000),A
|
|
LD HL,(L1072)
|
|
LD DE,(TEXTST)
|
|
OR A
|
|
SBC HL,DE
|
|
LD (L1014),HL
|
|
LD A,(L1001)
|
|
CP 00DH
|
|
JP Z,BC_ERR_HOOK ; !BC hook: dump ELMD before error 0xBC
|
|
RST 018H
|
|
DB 031H
|
|
POP HL
|
|
RET
|
|
|
|
L5CB3: CALL TESTX
|
|
DB 041H
|
|
PUSH HL
|
|
LD A,002H
|
|
LD (L1043),A
|
|
LD A,081H
|
|
LD (L1042),A
|
|
CALL L5902
|
|
POP HL
|
|
CALL L52E3
|
|
CALL L5733
|
|
LD B,001H
|
|
LD A,081H
|
|
RST 018H
|
|
DB 038H
|
|
RET
|
|
|
|
L5CD3: XOR A
|
|
LD BC,?SETDE
|
|
PUSH AF
|
|
CALL L6E67
|
|
RST 018H
|
|
DB 02DH
|
|
POP AF
|
|
RST 018H
|
|
DB 03FH
|
|
RET
|
|
|
|
L5CE1: CALL L5882
|
|
PUSH AF
|
|
RST 018H
|
|
DB 02EH
|
|
JP C,L57B4
|
|
BIT 1,A
|
|
JP Z,057B7H
|
|
CALL L58C2
|
|
CALL L593A
|
|
LD B,A
|
|
XOR A
|
|
RST 018H
|
|
DB 039H
|
|
LD A,B
|
|
RST 018H
|
|
DB 03AH
|
|
POP AF
|
|
RST 018H
|
|
DB 039H
|
|
RET
|
|
|
|
L5D00: CALL L6E67
|
|
RST 018H
|
|
DB 02DH
|
|
RST 018H
|
|
DB 03DH
|
|
RET
|
|
|
|
L5D08: CALL L6E67
|
|
RST 018H
|
|
DB 02DH
|
|
CALL L5E6E
|
|
CALL L6E67
|
|
RST 018H
|
|
DB 03EH
|
|
RET
|
|
|
|
L5D16: CALL L5D4C
|
|
L5D19: CALL L5606
|
|
RST 018H
|
|
DB 042H
|
|
CALL L414A
|
|
RET Z
|
|
CALL L5E71
|
|
JR L5D19 ; (-00eH)
|
|
|
|
L5D27: CALL L5D4C
|
|
LD DE,(TMPEND)
|
|
CALL L74E1
|
|
L5D31: CALL L742F
|
|
PUSH HL
|
|
PUSH AF
|
|
PUSH BC
|
|
LD DE,(TMPEND)
|
|
RST 018H
|
|
DB 041H
|
|
POP DE
|
|
POP AF
|
|
CALL L57F8
|
|
POP HL
|
|
CALL L414A
|
|
RET Z
|
|
CALL L5E71
|
|
JR L5D31 ; (-01bH)
|
|
|
|
L5D4C: CALL TEST1
|
|
DB 028H
|
|
RET NZ
|
|
CALL L6E57
|
|
LD A,D
|
|
OR E
|
|
JP Z,04AECH
|
|
RST 018H
|
|
DB 040H
|
|
CALL L5E7D
|
|
CALL TEST1
|
|
DB 02CH
|
|
RET
|
|
|
|
L5D63: LD A,(L8493)
|
|
OR A
|
|
JP NZ,04B1CH
|
|
PUSH HL
|
|
LD B,000H
|
|
RST 018H
|
|
DB 02CH
|
|
LD (05E18H),DE
|
|
LD (L5E1A),A
|
|
LD HL,(L1072)
|
|
LD DE,(TEXTST)
|
|
XOR A
|
|
SBC HL,DE
|
|
LD (L1014),HL
|
|
RST 018H
|
|
DB 044H
|
|
POP HL
|
|
CALL L592D
|
|
CALL L5E46
|
|
LD A,(L1050)
|
|
BIT 5,A
|
|
JP Z,057B7H
|
|
PUSH HL
|
|
LD HL,(0848DH)
|
|
ADD HL,SP
|
|
LD SP,HL
|
|
EX DE,HL
|
|
LD HL,L8476
|
|
LD BC,(0848BH)
|
|
LDIR
|
|
CALL L5BDC
|
|
CP 002H
|
|
JP NZ,04B49H
|
|
LD (05DB1H),SP
|
|
L5DB0: LD SP,L0000
|
|
CALL L5C0F
|
|
CALL L5C42
|
|
LD HL,0FFFDH
|
|
PUSH HL
|
|
PUSH HL
|
|
LD A,001H
|
|
LD (L8493),A
|
|
LD HL,(L1070)
|
|
JP L40F0
|
|
|
|
L5DC9: XOR A
|
|
LD (L8493),A
|
|
POP IX
|
|
L5DCF: POP BC
|
|
LD A,B
|
|
CP 0FFH
|
|
JP NZ,04B1CH
|
|
LD A,C
|
|
CP 0FDH
|
|
JR Z,L5DEE ; (+013H)
|
|
CP 0FEH
|
|
LD HL,00004H
|
|
JR Z,L5DEA ; (+008H)
|
|
CP 012H
|
|
LD HL,00010H
|
|
JP NZ,04B1CH
|
|
L5DEA: ADD HL,SP
|
|
LD SP,HL
|
|
JR L5DCF ; (-01fH)
|
|
|
|
L5DEE: LD DE,(05E18H)
|
|
LD A,(L5E1A)
|
|
RST 018H
|
|
DB 03AH
|
|
LD B,000H
|
|
RST 018H
|
|
DB 02CH
|
|
CALL L5BA4
|
|
OR 0FFH
|
|
RST 018H
|
|
DB 044H
|
|
CALL L5C0F
|
|
CALL L5C42
|
|
LD HL,L0000
|
|
ADD HL,SP
|
|
LD DE,L8476
|
|
LD BC,(0848BH)
|
|
LDIR
|
|
LD SP,HL
|
|
POP HL
|
|
RET
|
|
|
|
NOP
|
|
NOP
|
|
L5E1A: NOP
|
|
L5E1B: LD DE,L5E35
|
|
LD B,005H
|
|
CALL L58D8
|
|
LD A,031H
|
|
CALL L5E2A
|
|
LD A,032H
|
|
L5E2A: LD (05E3CH),A
|
|
LD DE,05E3AH
|
|
LD B,00CH
|
|
JP L58D8
|
|
|
|
L5E35: DB "CMT:TRS?:0,$8C,13"
|
|
L5E46: CALL L414A
|
|
RET Z
|
|
JP L4AE6
|
|
|
|
L5E4D: XOR A
|
|
LD (L1091),A
|
|
CALL TEST1
|
|
DB FDPD
|
|
RET NZ
|
|
CALL TESTX
|
|
DB 050H
|
|
CALL L6ABE
|
|
LD A,050H
|
|
LD (L1091),A
|
|
CP A
|
|
RET
|
|
|
|
L5E64: LD DE,L8495
|
|
LD B,000H
|
|
PUSH DE
|
|
RST 018H
|
|
DB 016H
|
|
POP DE
|
|
RET
|
|
|
|
L5E6E: CALL HLFTCH
|
|
L5E71: CP 02CH
|
|
JR L5E82 ; (+00dH)
|
|
|
|
L5E75: INC HL
|
|
L5E76: CALL HLFTCH
|
|
L5E79: CP 028H
|
|
JR L5E82 ; (+005H)
|
|
|
|
L5E7D: CALL HLFTCH
|
|
L5E80: CP 029H
|
|
L5E82: INC HL
|
|
RET Z
|
|
JP L4AE6
|
|
|
|
L5E87: LD A,(DE)
|
|
CP 020H
|
|
INC DE
|
|
JR Z,L5E87 ; (-006H)
|
|
RET
|
|
|
|
L5E8E: LD HL,L6110
|
|
L5E91: LD BC,00005H
|
|
LDIR
|
|
RET
|
|
|
|
L5E97: CALL L7960
|
|
LD A,E
|
|
OR D
|
|
RET Z
|
|
BIT 7,D
|
|
LD A,07FH
|
|
JR Z,L5EAC ; (+009H)
|
|
LD A,D
|
|
CPL
|
|
LD D,A
|
|
LD A,E
|
|
CPL
|
|
LD E,A
|
|
INC DE
|
|
LD A,0FFH
|
|
L5EAC: LD B,091H
|
|
L5EAE: DEC B
|
|
BIT 7,D
|
|
JR NZ,L5EB9 ; (+006H)
|
|
RL E
|
|
RL D
|
|
JR L5EAE ; (-00bH)
|
|
|
|
L5EB9: LD (HL),B
|
|
INC HL
|
|
AND D
|
|
LD (HL),A
|
|
INC HL
|
|
LD (HL),E
|
|
DEC HL
|
|
DEC HL
|
|
RET
|
|
|
|
L5EC2: CP 030H
|
|
RET C
|
|
CP 03AH
|
|
CCF
|
|
RET
|
|
|
|
L5EC9: CP 05FH
|
|
RET Z
|
|
CP 030H
|
|
RET C
|
|
CP 05BH
|
|
CCF
|
|
RET C
|
|
CP 03AH
|
|
CCF
|
|
RET NC
|
|
CP 041H
|
|
RET
|
|
|
|
L5EDA: CALL L7960
|
|
LD (L62FF),A
|
|
LD (L6300),A
|
|
LD (L6301),A
|
|
LD (05F81H),A
|
|
LD A,005H
|
|
LD (L84C7),A
|
|
L5EEE: CALL L5E87
|
|
CP 02BH
|
|
JR Z,L5EEE ; (-007H)
|
|
CP 02DH
|
|
JR NZ,L5EFF ; (+006H)
|
|
CALL L5EEE
|
|
JP L796B
|
|
|
|
L5EFF: CP 024H
|
|
JR NZ,L5F0F ; (+00cH)
|
|
PUSH HL
|
|
EX DE,HL
|
|
RST 018H
|
|
DB 014H
|
|
EX (SP),HL
|
|
CALL L5E97
|
|
POP DE
|
|
LD A,005H
|
|
RET
|
|
|
|
L5F0F: CP 030H
|
|
JR NZ,L5F19 ; (+006H)
|
|
LD A,(DE)
|
|
INC DE
|
|
JR L5F0F ; (-008H)
|
|
|
|
L5F17: LD A,(DE)
|
|
INC DE
|
|
L5F19: CP 020H
|
|
JR Z,L5F17 ; (-006H)
|
|
CP 02EH
|
|
JR Z,L5F3C ; (+01bH)
|
|
CALL L5EC2
|
|
JR C,L5F76 ; (+050H)
|
|
SUB 030H
|
|
CALL L60A8
|
|
CALL L6012
|
|
LD A,001H
|
|
LD (L6300),A
|
|
LD A,(L62FF)
|
|
INC A
|
|
LD (L62FF),A
|
|
JR L5F17 ; (-025H)
|
|
|
|
L5F3C: LD A,001H
|
|
LD (05F81H),A
|
|
LD C,A
|
|
L5F42: LD A,(DE)
|
|
INC DE
|
|
CP 020H
|
|
JR Z,L5F42 ; (-006H)
|
|
CALL L5EC2
|
|
JR C,L5F6E ; (+021H)
|
|
INC C
|
|
SUB 030H
|
|
JR Z,L5F59 ; (+007H)
|
|
PUSH AF
|
|
LD A,001H
|
|
LD (L6300),A
|
|
POP AF
|
|
L5F59: PUSH AF
|
|
LD A,(L6300)
|
|
LD B,A
|
|
LD A,(L62FF)
|
|
ADD A,B
|
|
LD (L62FF),A
|
|
POP AF
|
|
CALL L60A8
|
|
CALL L6012
|
|
JR L5F42 ; (-02cH)
|
|
|
|
L5F6E: DEC C
|
|
JR Z,L5F76 ; (+005H)
|
|
CALL L5FFC
|
|
JR L5F6E ; (-008H)
|
|
|
|
L5F76: CP 045H
|
|
JR Z,L5F87 ; (+00dH)
|
|
L5F7A: DEC DE
|
|
LD A,(L6301)
|
|
OR A
|
|
RET NZ
|
|
LD A,000H
|
|
OR A
|
|
RET NZ
|
|
LD A,005H
|
|
RET
|
|
|
|
L5F87: LD A,(DE)
|
|
CP 02DH
|
|
JR Z,L5F95 ; (+009H)
|
|
CP 02BH
|
|
JR Z,L5F95 ; (+005H)
|
|
CALL L5EC2
|
|
JR C,L5F7A ; (-01bH)
|
|
L5F95: LD A,001H
|
|
LD (05F81H),A
|
|
PUSH HL
|
|
LD HL,L7BAC
|
|
LD (05FF5H),HL
|
|
LD HL,L0000
|
|
LD A,(DE)
|
|
INC DE
|
|
CP 02BH
|
|
JR Z,L5FB6 ; (+00cH)
|
|
CP 02DH
|
|
JR NZ,L5FB8 ; (+00aH)
|
|
PUSH HL
|
|
LD HL,L7C97
|
|
LD (05FF5H),HL
|
|
POP HL
|
|
L5FB6: LD A,(DE)
|
|
INC DE
|
|
L5FB8: SUB 030H
|
|
JR C,L5FD8 ; (+01cH)
|
|
CP 00AH
|
|
JR NC,L5FD8 ; (+018H)
|
|
PUSH DE
|
|
CALL L600D
|
|
LD E,L
|
|
LD D,H
|
|
CALL L600D
|
|
CALL L600D
|
|
CALL L6009
|
|
LD E,A
|
|
LD D,000H
|
|
CALL L6009
|
|
POP DE
|
|
JR L5FB6 ; (-022H)
|
|
|
|
L5FD8: LD A,H
|
|
OR A
|
|
JR NZ,L600F ; (+033H)
|
|
LD A,L
|
|
POP HL
|
|
PUSH DE
|
|
PUSH BC
|
|
PUSH HL
|
|
LD DE,L84C8
|
|
PUSH DE
|
|
CALL L5E8E
|
|
POP HL
|
|
LD B,A
|
|
INC B
|
|
JR L5FF0 ; (+003H)
|
|
|
|
L5FED: CALL L60A8
|
|
L5FF0: DJNZ L5FED ; (-005H)
|
|
EX DE,HL
|
|
POP HL
|
|
CALL L0000
|
|
POP BC
|
|
POP DE
|
|
JP L5F7A
|
|
|
|
L5FFC: PUSH AF
|
|
PUSH BC
|
|
PUSH DE
|
|
LD DE,L610B
|
|
CALL L7C97
|
|
POP DE
|
|
POP BC
|
|
POP AF
|
|
RET
|
|
|
|
L6009: ADD HL,DE
|
|
RET NC
|
|
JR L600F ; (+002H)
|
|
|
|
L600D: ADD HL,HL
|
|
RET NC
|
|
L600F: JP 04AE9H
|
|
|
|
L6012: PUSH DE
|
|
PUSH HL
|
|
LD HL,L84C8
|
|
LD E,A
|
|
LD D,000H
|
|
CALL L5E97
|
|
EX DE,HL
|
|
POP HL
|
|
PUSH BC
|
|
CALL L797E
|
|
POP BC
|
|
POP DE
|
|
RET
|
|
|
|
L6026: LD A,005H
|
|
LD (L84C7),A
|
|
LD A,(HL)
|
|
OR A
|
|
JR Z,L6033 ; (+004H)
|
|
INC HL
|
|
LD A,(HL)
|
|
DEC HL
|
|
RLCA
|
|
L6033: LD A,020H
|
|
JR NC,L603C ; (+005H)
|
|
CALL L796B
|
|
LD A,02DH
|
|
L603C: PUSH AF
|
|
CALL L61AB
|
|
CALL L6238
|
|
POP AF
|
|
DEC DE
|
|
LD (DE),A
|
|
RET
|
|
|
|
L6047: PUSH BC
|
|
CALL L7A15
|
|
POP BC
|
|
RET
|
|
|
|
L604D: CALL SKPDE
|
|
LD A,(HL)
|
|
CP 081H
|
|
JP C,L7960
|
|
LD A,(HL)
|
|
CP 0A0H
|
|
RET NC
|
|
INC HL
|
|
CALL L6084
|
|
PUSH HL
|
|
LD L,(HL)
|
|
LD B,000H
|
|
L6062: SRL E
|
|
RR D
|
|
RR C
|
|
RR L
|
|
INC A
|
|
INC B
|
|
CP 0A0H
|
|
JR NZ,L6062 ; (-00eH)
|
|
L6070: SLA L
|
|
RL C
|
|
RL D
|
|
RL E
|
|
DJNZ L6070 ; (-00aH)
|
|
LD A,L
|
|
POP HL
|
|
LD (HL),A
|
|
DEC HL
|
|
LD (HL),C
|
|
DEC HL
|
|
LD (HL),D
|
|
DEC HL
|
|
LD (HL),E
|
|
RET
|
|
|
|
L6084: LD E,(HL)
|
|
INC HL
|
|
L6086: LD D,(HL)
|
|
INC HL
|
|
LD C,(HL)
|
|
INC HL
|
|
RET
|
|
|
|
L608B: LD A,(HL)
|
|
CP 081H
|
|
RET C
|
|
PUSH DE
|
|
PUSH HL
|
|
LD DE,L60A3
|
|
PUSH DE
|
|
CALL L5E91
|
|
POP HL
|
|
CALL L604D
|
|
EX DE,HL
|
|
POP HL
|
|
CALL L7975
|
|
POP DE
|
|
RET
|
|
|
|
L60A3: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L60A8: PUSH AF
|
|
PUSH BC
|
|
PUSH DE
|
|
LD DE,L610B
|
|
CALL L7BAC
|
|
POP DE
|
|
POP BC
|
|
POP AF
|
|
RET
|
|
|
|
L60B5: INC HL
|
|
BIT 7,(HL)
|
|
JR Z,L60C5 ; (+00bH)
|
|
CALL L60C5
|
|
LD A,H
|
|
CPL
|
|
LD H,A
|
|
LD A,L
|
|
CPL
|
|
LD L,A
|
|
INC HL
|
|
RET
|
|
|
|
L60C5: DEC HL
|
|
LD A,(HL)
|
|
CP 091H
|
|
JP NC,04AE9H
|
|
CP 081H
|
|
JR C,L60E3 ; (+013H)
|
|
PUSH AF
|
|
INC HL
|
|
LD A,(HL)
|
|
INC HL
|
|
LD L,(HL)
|
|
LD H,A
|
|
POP AF
|
|
SET 7,H
|
|
L60D9: CP 090H
|
|
RET Z
|
|
INC A
|
|
SRL H
|
|
RR L
|
|
JR L60D9 ; (-00aH)
|
|
|
|
L60E3: CCF
|
|
LD HL,L0000
|
|
RET
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; Floating-point constant table — powers of 10 for number formatting
|
|
; Each entry is 5 bytes (1 exponent + 4 mantissa) in Sharp MZ FP format
|
|
; ---------------------------------------------------------------------------
|
|
L60E8: DB 09BH,03EH,0BCH,020H,000H ; FP 10^9
|
|
L60ED: DB 098H,018H,096H,080H,000H ; FP 10^8
|
|
DB 094H,074H,024H,000H,000H ; FP 10^7
|
|
DB 091H,043H,050H,000H,000H ; FP 10^6
|
|
DB 08EH,01CH,040H,000H,000H ; FP 10^5
|
|
DB 08AH,07AH,000H,000H,000H ; FP 10^4
|
|
DB 087H,048H,000H,000H,000H ; FP 10^3
|
|
L610B: DB 084H,020H,000H,000H,000H ; FP 10^2
|
|
L6110: DB 081H,000H,000H,000H,000H ; FP 10^1
|
|
DB 07DH,04CH,0CCH,0CCH,0CDH ; FP 0.1
|
|
L611A: DB 066H,02BH,0CCH,077H,012H ; FP precision guard
|
|
L611F: LD HL,(L6302)
|
|
LD B,000H
|
|
L6124: LD DE,L610B
|
|
CALL L6047
|
|
JR C,L6132 ; (+006H)
|
|
CALL L5FFC
|
|
INC B
|
|
JR L6124 ; (-00eH)
|
|
|
|
L6132: LD DE,L6110
|
|
CALL L6047
|
|
JR NC,L6140 ; (+006H)
|
|
CALL L60A8
|
|
DEC B
|
|
JR L6132 ; (-00eH)
|
|
|
|
L6140: PUSH BC
|
|
CALL L61AB
|
|
CALL L6238
|
|
POP BC
|
|
PUSH DE
|
|
EX DE,HL
|
|
L614A: LD A,(HL)
|
|
OR A
|
|
JR Z,L6151 ; (+003H)
|
|
INC HL
|
|
JR L614A ; (-007H)
|
|
|
|
L6151: DEC HL
|
|
LD A,(HL)
|
|
INC HL
|
|
CP 030H
|
|
JR NZ,L615A ; (+002H)
|
|
INC B
|
|
DEC HL
|
|
L615A: LD A,045H
|
|
LD (HL),A
|
|
INC HL
|
|
LD A,B
|
|
LD B,02BH
|
|
BIT 7,A
|
|
JR Z,L6169 ; (+004H)
|
|
NEG
|
|
LD B,02DH
|
|
L6169: LD (HL),B
|
|
INC HL
|
|
LD (HL),030H
|
|
L616D: SUB 00AH
|
|
JR C,L6174 ; (+003H)
|
|
INC (HL)
|
|
JR L616D ; (-007H)
|
|
|
|
L6174: ADD A,03AH
|
|
INC HL
|
|
LD (HL),A
|
|
INC HL
|
|
LD (HL),000H
|
|
POP DE
|
|
RET
|
|
|
|
L617D: PUSH HL
|
|
CALL L60B5
|
|
LD DE,L84A0
|
|
PUSH DE
|
|
LD B,001H
|
|
RST 018H
|
|
DB 016H
|
|
POP HL
|
|
LD A,030H
|
|
LD B,005H
|
|
L618E: CP (HL)
|
|
JR NZ,L6196 ; (+005H)
|
|
INC HL
|
|
DJNZ L618E ; (-006H)
|
|
JR L619F ; (+009H)
|
|
|
|
L6196: LD A,B
|
|
LD (L62FF),A
|
|
LD A,001H
|
|
LD (L6300),A
|
|
L619F: LD A,02EH
|
|
LD (L84A5),A
|
|
POP HL
|
|
CALL L608B
|
|
JP L61FB
|
|
|
|
L61AB: LD (L6302),HL
|
|
XOR A
|
|
LD (L62FF),A
|
|
LD (L6300),A
|
|
PUSH HL
|
|
LD HL,L849C
|
|
LD (HL),0FFH
|
|
LD B,021H
|
|
LD A,030H
|
|
L61BF: INC HL
|
|
LD (HL),A
|
|
DJNZ L61BF ; (-004H)
|
|
LD A,02EH
|
|
LD (L84A5),A
|
|
POP HL
|
|
LD A,(HL)
|
|
OR A
|
|
RET Z
|
|
LD DE,L60E8
|
|
CALL L7A15
|
|
CCF
|
|
RET C
|
|
LD DE,L611A
|
|
CALL L7A15
|
|
RET C
|
|
LD DE,L84D0
|
|
PUSH DE
|
|
CALL L5E91
|
|
POP HL
|
|
LD A,(HL)
|
|
CP 081H
|
|
JR C,L61FB ; (+013H)
|
|
CP 090H
|
|
JP C,L617D
|
|
LD IX,L849D
|
|
LD DE,L60ED
|
|
CALL L62C2
|
|
CALL L62F6
|
|
RET NC
|
|
L61FB: LD IX,L84A6
|
|
L61FF: LD DE,L60E8
|
|
PUSH BC
|
|
PUSH IX
|
|
CALL L7BAC
|
|
POP IX
|
|
POP BC
|
|
INC DE
|
|
INC DE
|
|
INC DE
|
|
INC DE
|
|
INC DE
|
|
CALL L62C2
|
|
CALL L62F6
|
|
JR C,L61FF ; (-019H)
|
|
RET
|
|
|
|
L6219: LD A,005H
|
|
LD (L84C7),A
|
|
PUSH HL
|
|
LD DE,L84D8
|
|
PUSH DE
|
|
CALL L5E91
|
|
POP HL
|
|
CALL L61AB
|
|
CALL L6235
|
|
POP HL
|
|
RET
|
|
|
|
L622F: LD DE,L84A5
|
|
LD (DE),A
|
|
DEC DE
|
|
RET
|
|
|
|
L6235: JP C,L611F
|
|
L6238: LD HL,(L6302)
|
|
LD A,(HL)
|
|
OR A
|
|
JR Z,L622F ; (-010H)
|
|
LD DE,L849D
|
|
DEC DE
|
|
EX DE,HL
|
|
LD DE,00001H
|
|
L6247: INC HL
|
|
LD A,(HL)
|
|
CP 02EH
|
|
JR NZ,L6252 ; (+005H)
|
|
LD DE,L0000
|
|
JR L6247 ; (-00bH)
|
|
|
|
L6252: CP 030H
|
|
JR Z,L6247 ; (-00fH)
|
|
ADD HL,DE
|
|
LD DE,00008H
|
|
ADD HL,DE
|
|
LD A,(HL)
|
|
L625C: LD (HL),030H
|
|
CP 035H
|
|
JR C,L6271 ; (+00fH)
|
|
L6262: DEC HL
|
|
LD A,(HL)
|
|
CP 02EH
|
|
JR Z,L6262 ; (-006H)
|
|
INC A
|
|
JR Z,L62AB ; (+040H)
|
|
LD (HL),A
|
|
CP 03AH
|
|
JR Z,L625C ; (-014H)
|
|
INC HL
|
|
L6271: LD DE,L84A5
|
|
EX DE,HL
|
|
OR A
|
|
SBC HL,DE
|
|
EX DE,HL
|
|
JR C,L6280 ; (+005H)
|
|
LD HL,L84A5
|
|
JR L6297 ; (+017H)
|
|
|
|
L6280: DEC HL
|
|
LD A,(HL)
|
|
CP 02EH
|
|
DEC HL
|
|
JR Z,L6296 ; (+00fH)
|
|
INC HL
|
|
CP 030H
|
|
JR Z,L6271 ; (-01bH)
|
|
PUSH HL
|
|
LD DE,L84AE
|
|
SBC HL,DE
|
|
POP HL
|
|
JP NC,L611F
|
|
L6296: INC HL
|
|
L6297: LD (HL),000H
|
|
LD DE,L849D
|
|
L629C: LD A,(DE)
|
|
CP 030H
|
|
JR NZ,L62A4 ; (+003H)
|
|
INC DE
|
|
JR L629C ; (-008H)
|
|
|
|
L62A4: OR A
|
|
RET NZ
|
|
DEC DE
|
|
LD A,030H
|
|
LD (DE),A
|
|
RET
|
|
|
|
L62AB: LD HL,L8495
|
|
LD DE,L62BC
|
|
PUSH BC
|
|
LD BC,L0006
|
|
LDIR
|
|
POP BC
|
|
LD DE,L8495
|
|
RET
|
|
|
|
L62BC: LD SP,L2B45
|
|
JR NC,L62F9 ; (+038H)
|
|
NOP
|
|
L62C2: LD A,(DE)
|
|
CP 07DH
|
|
RET Z
|
|
L62C6: CALL L7A15
|
|
JR C,L62DE ; (+013H)
|
|
INC (IX+000H)
|
|
PUSH IX
|
|
PUSH BC
|
|
CALL L7975
|
|
POP BC
|
|
POP IX
|
|
LD A,001H
|
|
LD (L6300),A
|
|
JR L62C6 ; (-018H)
|
|
|
|
L62DE: INC IX
|
|
INC DE
|
|
INC DE
|
|
INC DE
|
|
INC DE
|
|
INC DE
|
|
LD A,(L6300)
|
|
LD B,A
|
|
LD A,(L62FF)
|
|
ADD A,B
|
|
LD (L62FF),A
|
|
CALL L62F6
|
|
RET NC
|
|
JR L62C2 ; (-034H)
|
|
|
|
L62F6: LD A,(HL)
|
|
OR A
|
|
RET Z
|
|
L62F9: LD A,(L62FF)
|
|
CP 009H
|
|
RET
|
|
|
|
L62FF: NOP
|
|
L6300: NOP
|
|
L6301: NOP
|
|
L6302: NOP
|
|
NOP
|
|
L6304: NOP
|
|
NOP
|
|
L6306: NOP
|
|
NOP
|
|
L6308: LD HL,(L6306)
|
|
PUSH DE
|
|
L630C: LD A,(HL)
|
|
OR A
|
|
JP Z,04AECH
|
|
CALL L63AA
|
|
JR Z,L631B ; (+005H)
|
|
LD (BC),A
|
|
INC BC
|
|
INC HL
|
|
JR L630C ; (-00fH)
|
|
|
|
L631B: EX AF,AF'
|
|
LD A,(L84C7)
|
|
CP 003H
|
|
JP NZ,L63D3
|
|
EX AF,AF'
|
|
CP 021H
|
|
JP Z,L6332
|
|
CP 026H
|
|
JP Z,L6359
|
|
JP 04AEFH
|
|
|
|
L6332: EX (SP),HL
|
|
PUSH BC
|
|
CALL L6E76
|
|
OR A
|
|
LD A,020H
|
|
JR Z,L633D ; (+001H)
|
|
LD A,(DE)
|
|
L633D: POP BC
|
|
LD (BC),A
|
|
INC BC
|
|
L6340: POP HL
|
|
INC HL
|
|
L6342: LD A,(HL)
|
|
OR A
|
|
JR Z,L6350 ; (+00aH)
|
|
CALL L63AA
|
|
JR Z,L6353 ; (+008H)
|
|
LD (BC),A
|
|
INC BC
|
|
INC HL
|
|
JR L6342 ; (-00eH)
|
|
|
|
L6350: LD HL,(L6304)
|
|
L6353: LD (L6306),HL
|
|
XOR A
|
|
LD (BC),A
|
|
RET
|
|
|
|
L6359: LD D,002H
|
|
L635B: INC HL
|
|
LD A,(HL)
|
|
CP 026H
|
|
JR Z,L6369 ; (+008H)
|
|
INC D
|
|
CP 020H
|
|
JR Z,L635B ; (-00bH)
|
|
JP 04AECH
|
|
|
|
L6369: EX (SP),HL
|
|
LD A,(HL)
|
|
CP D
|
|
JR C,L6383 ; (+015H)
|
|
INC HL
|
|
CALL INDRCT
|
|
PUSH BC
|
|
LD BC,(STRST)
|
|
ADD HL,BC
|
|
POP BC
|
|
L6379: LD A,(HL)
|
|
LD (BC),A
|
|
INC BC
|
|
INC HL
|
|
DEC D
|
|
JR NZ,L6379 ; (-007H)
|
|
JP L6340
|
|
|
|
L6383: LD E,(HL)
|
|
INC HL
|
|
CALL INDRCT
|
|
LD A,E
|
|
OR A
|
|
JR Z,L63A0 ; (+014H)
|
|
PUSH BC
|
|
LD BC,(STRST)
|
|
ADD HL,BC
|
|
POP BC
|
|
L6393: LD A,(HL)
|
|
LD (BC),A
|
|
INC BC
|
|
INC HL
|
|
DEC E
|
|
JR Z,L63A4 ; (+00aH)
|
|
DEC D
|
|
JR NZ,L6393 ; (-00aH)
|
|
JP L6340
|
|
|
|
L63A0: LD A,020H
|
|
LD (BC),A
|
|
INC BC
|
|
L63A4: DEC D
|
|
JR NZ,L63A0 ; (-007H)
|
|
JP L6340
|
|
|
|
L63AA: CALL CHKACC
|
|
INC B
|
|
LD HL,L2326
|
|
DEC HL
|
|
RET Z
|
|
LD E,A
|
|
CP 02AH
|
|
JR Z,L63CD ; (+015H)
|
|
CALL L65AA
|
|
JR Z,L63CD ; (+010H)
|
|
CP 02EH
|
|
LD E,023H
|
|
JR Z,L63CD ; (+00aH)
|
|
CP 0C4H
|
|
RET NZ
|
|
INC HL
|
|
LD A,(HL)
|
|
OR A
|
|
JP Z,04AECH
|
|
RET
|
|
|
|
L63CD: INC HL
|
|
LD A,(HL)
|
|
CP E
|
|
DEC HL
|
|
LD A,(HL)
|
|
RET
|
|
|
|
L63D3: XOR A
|
|
LD (0651AH),A
|
|
LD (0656AH),A
|
|
LD (L6552),A
|
|
LD (06510H),A
|
|
LD (064CAH),A
|
|
LD (064F7H),A
|
|
LD (06515H),A
|
|
LD (064C3H),A
|
|
DEC A
|
|
LD (064C0H),A
|
|
EX AF,AF'
|
|
LD D,000H
|
|
CP 023H
|
|
JP Z,L642F
|
|
CP 02AH
|
|
JP Z,L6410
|
|
CALL L65AA
|
|
JP Z,L6421
|
|
CP 02EH
|
|
JP Z,L6431
|
|
CP 02BH
|
|
JP Z,L642A
|
|
JP 04AEFH
|
|
|
|
L6410: LD A,001H
|
|
LD (0656AH),A
|
|
INC HL
|
|
INC D
|
|
INC HL
|
|
INC D
|
|
LD A,(HL)
|
|
CALL L65AA
|
|
JR NZ,L6431 ; (+012H)
|
|
JR L6423 ; (+002H)
|
|
|
|
L6421: INC HL
|
|
INC D
|
|
L6423: INC HL
|
|
INC D
|
|
LD (L6552),A
|
|
JR L6431 ; (+007H)
|
|
|
|
L642A: LD A,001H
|
|
LD (0651AH),A
|
|
L642F: INC HL
|
|
INC D
|
|
L6431: EX DE,HL
|
|
DEC H
|
|
L6433: INC H
|
|
LD A,(DE)
|
|
INC DE
|
|
CP 023H
|
|
JR Z,L6433 ; (-007H)
|
|
CP 02CH
|
|
JR NZ,L6445 ; (+007H)
|
|
LD A,001H
|
|
LD (064CAH),A
|
|
JR L6433 ; (-012H)
|
|
|
|
L6445: CP 02EH
|
|
JR Z,L646C ; (+023H)
|
|
CP 02DH
|
|
JR NZ,L6455 ; (+008H)
|
|
LD A,001H
|
|
LD (06510H),A
|
|
INC DE
|
|
JR L6465 ; (+010H)
|
|
|
|
L6455: CP 02BH
|
|
JR NZ,L6465 ; (+00cH)
|
|
LD A,(0651AH)
|
|
OR A
|
|
JR NZ,L6465 ; (+006H)
|
|
LD A,001H
|
|
LD (06515H),A
|
|
INC DE
|
|
L6465: DEC DE
|
|
LD A,H
|
|
LD (064F7H),A
|
|
JR L649F ; (+033H)
|
|
|
|
L646C: LD A,H
|
|
LD (064F7H),A
|
|
LD H,0FFH
|
|
L6472: INC H
|
|
LD A,(DE)
|
|
INC DE
|
|
CP 023H
|
|
JR Z,L6472 ; (-007H)
|
|
CP 02DH
|
|
JR NZ,L6485 ; (+008H)
|
|
LD A,001H
|
|
LD (06510H),A
|
|
INC DE
|
|
JR L6495 ; (+010H)
|
|
|
|
L6485: CP 02BH
|
|
JR NZ,L6495 ; (+00cH)
|
|
LD A,(0651AH)
|
|
OR A
|
|
JR NZ,L6495 ; (+006H)
|
|
LD A,001H
|
|
LD (06515H),A
|
|
INC DE
|
|
L6495: DEC DE
|
|
LD A,H
|
|
LD (064C0H),A
|
|
JR L649F ; (+003H)
|
|
|
|
L649C: POP DE
|
|
JR L64B1 ; (+012H)
|
|
|
|
L649F: LD H,004H
|
|
PUSH DE
|
|
L64A2: LD A,(DE)
|
|
INC DE
|
|
CP 05EH
|
|
JR NZ,L649C ; (-00cH)
|
|
DEC H
|
|
JR NZ,L64A2 ; (-009H)
|
|
POP AF
|
|
LD A,001H
|
|
LD (064C3H),A
|
|
L64B1: POP HL
|
|
PUSH DE
|
|
INC HL
|
|
LD A,(HL)
|
|
RES 7,(HL)
|
|
DEC HL
|
|
LD (06547H),A
|
|
LD A,(064F7H)
|
|
LD D,A
|
|
LD A,000H
|
|
LD E,A
|
|
LD A,000H
|
|
PUSH BC
|
|
CALL L65BC
|
|
POP BC
|
|
LD A,000H
|
|
OR A
|
|
JR Z,L650F ; (+041H)
|
|
PUSH BC
|
|
PUSH DE
|
|
LD A,(064F7H)
|
|
LD L,A
|
|
LD H,000H
|
|
ADD HL,DE
|
|
LD DE,L8495
|
|
LD C,000H
|
|
DEC HL
|
|
L64DD: LD B,003H
|
|
L64DF: LD A,(HL)
|
|
CP 020H
|
|
JR Z,L64F6 ; (+012H)
|
|
INC C
|
|
LD (DE),A
|
|
INC DE
|
|
DEC HL
|
|
DJNZ L64DF ; (-00bH)
|
|
LD A,(HL)
|
|
CP 020H
|
|
JR Z,L64F6 ; (+007H)
|
|
LD A,02CH
|
|
LD (DE),A
|
|
INC DE
|
|
INC C
|
|
JR L64DD ; (-019H)
|
|
|
|
L64F6: LD A,000H
|
|
CP C
|
|
JP C,04AE9H
|
|
LD B,C
|
|
LD L,A
|
|
LD H,000H
|
|
POP DE
|
|
PUSH DE
|
|
ADD HL,DE
|
|
LD DE,L8495
|
|
DEC HL
|
|
L6507: LD A,(DE)
|
|
LD (HL),A
|
|
DEC HL
|
|
INC DE
|
|
DJNZ L6507 ; (-006H)
|
|
POP DE
|
|
POP BC
|
|
L650F: LD A,000H
|
|
OR A
|
|
JR NZ,L6551 ; (+03dH)
|
|
LD A,000H
|
|
OR A
|
|
JR NZ,L6551 ; (+038H)
|
|
LD A,000H
|
|
OR A
|
|
JR NZ,L6546 ; (+028H)
|
|
LD A,(06547H)
|
|
RLCA
|
|
JR NC,L6551 ; (+02dH)
|
|
LD A,(DE)
|
|
CP 020H
|
|
LD H,02DH
|
|
JR Z,L6530 ; (+005H)
|
|
CP 030H
|
|
JP NZ,04AE9H
|
|
L6530: PUSH DE
|
|
L6531: LD A,(DE)
|
|
INC DE
|
|
CP 020H
|
|
JR Z,L6531 ; (-006H)
|
|
CP 030H
|
|
JR Z,L6531 ; (-00aH)
|
|
OR A
|
|
JR NZ,L653F ; (+001H)
|
|
DEC DE
|
|
L653F: DEC DE
|
|
DEC DE
|
|
LD A,H
|
|
LD (DE),A
|
|
POP DE
|
|
JR L6551 ; (+00bH)
|
|
|
|
L6546: LD A,000H
|
|
RLCA
|
|
LD H,02BH
|
|
JR NC,L6530 ; (-01dH)
|
|
LD H,02DH
|
|
JR L6530 ; (-021H)
|
|
|
|
L6551: DB 03EH
|
|
L6552: NOP
|
|
OR A
|
|
JR Z,L6569 ; (+013H)
|
|
LD A,(DE)
|
|
CP 020H
|
|
JR NZ,L6569 ; (+00eH)
|
|
PUSH DE
|
|
L655C: LD A,(DE)
|
|
INC DE
|
|
CP 020H
|
|
JR Z,L655C ; (-006H)
|
|
DEC DE
|
|
DEC DE
|
|
LD A,(L6552)
|
|
LD (DE),A
|
|
POP DE
|
|
L6569: LD A,000H
|
|
OR A
|
|
JR Z,L657B ; (+00dH)
|
|
PUSH DE
|
|
L656F: LD A,(DE)
|
|
CP 020H
|
|
JR NZ,L657A ; (+006H)
|
|
LD A,02AH
|
|
LD (DE),A
|
|
INC DE
|
|
JR L656F ; (-00bH)
|
|
|
|
L657A: POP DE
|
|
L657B: LD A,(DE)
|
|
OR A
|
|
JR Z,L6584 ; (+005H)
|
|
LD (BC),A
|
|
INC BC
|
|
INC DE
|
|
JR L657B ; (-009H)
|
|
|
|
L6584: LD A,(06515H)
|
|
OR A
|
|
JR Z,L6598 ; (+00eH)
|
|
LD A,(06547H)
|
|
RLCA
|
|
LD A,02BH
|
|
L6590: JR NC,L6594 ; (+002H)
|
|
LD A,02DH
|
|
L6594: LD (BC),A
|
|
INC BC
|
|
JR L65A6 ; (+00eH)
|
|
|
|
L6598: LD A,(06510H)
|
|
OR A
|
|
JR Z,L65A6 ; (+008H)
|
|
LD A,(06547H)
|
|
RLCA
|
|
LD A,020H
|
|
JR L6590 ; (-016H)
|
|
|
|
L65A6: POP HL
|
|
JP L6342
|
|
|
|
L65AA: PUSH HL
|
|
LD HL,L0036
|
|
BIT 6,(HL)
|
|
POP HL
|
|
JR NZ,L65B6 ; (+003H)
|
|
CP 07DH
|
|
RET
|
|
|
|
L65B6: CP FDPD
|
|
RET Z
|
|
CP 024H
|
|
RET
|
|
|
|
L65BC: OR A
|
|
JP Z,L6647
|
|
PUSH DE
|
|
LD A,(HL)
|
|
OR A
|
|
JR Z,L6604 ; (+03fH)
|
|
PUSH HL
|
|
LD A,D
|
|
LD DE,L84D0
|
|
PUSH AF
|
|
CALL L5E8E
|
|
POP AF
|
|
OR A
|
|
JR Z,L65DD ; (+00bH)
|
|
LD B,A
|
|
LD HL,L84D0
|
|
JR L65DB ; (+003H)
|
|
|
|
L65D8: CALL L60A8
|
|
L65DB: DJNZ L65D8 ; (-005H)
|
|
L65DD: POP HL
|
|
LD B,000H
|
|
L65E0: LD DE,L84D0
|
|
CALL L6047
|
|
JR C,L65EE ; (+006H)
|
|
CALL L5FFC
|
|
INC B
|
|
JR L65E0 ; (-00eH)
|
|
|
|
L65EE: PUSH HL
|
|
LD HL,L84D0
|
|
CALL L5FFC
|
|
POP HL
|
|
L65F6: LD DE,L84D0
|
|
CALL L6047
|
|
JR NC,L6604 ; (+006H)
|
|
CALL L60A8
|
|
DEC B
|
|
JR L65F6 ; (-00eH)
|
|
|
|
L6604: POP DE
|
|
PUSH BC
|
|
CALL L6661
|
|
POP BC
|
|
PUSH DE
|
|
LD A,(DE)
|
|
CP 02EH
|
|
JR NZ,L6622 ; (+012H)
|
|
LD DE,L84A5
|
|
DEC DE
|
|
LD A,(DE)
|
|
CP 031H
|
|
POP DE
|
|
PUSH DE
|
|
JR NZ,L663E ; (+023H)
|
|
EX DE,HL
|
|
INC HL
|
|
LD (HL),031H
|
|
DEC HL
|
|
JR L663C ; (+01aH)
|
|
|
|
L6622: LD A,(DE)
|
|
CP 031H
|
|
JR NZ,L663E ; (+017H)
|
|
EX DE,HL
|
|
INC HL
|
|
LD A,(HL)
|
|
DEC HL
|
|
CP 02EH
|
|
LD A,030H
|
|
JR Z,L6633 ; (+002H)
|
|
LD A,020H
|
|
L6633: LD (HL),A
|
|
L6634: INC HL
|
|
LD A,(HL)
|
|
CP 02EH
|
|
JR Z,L6634 ; (-006H)
|
|
LD (HL),031H
|
|
L663C: EX DE,HL
|
|
INC B
|
|
L663E: LD A,(DE)
|
|
INC DE
|
|
OR A
|
|
JR NZ,L663E ; (-005H)
|
|
DEC DE
|
|
JP L615A
|
|
|
|
L6647: PUSH DE
|
|
CALL L6661
|
|
POP AF
|
|
OR A
|
|
RET NZ
|
|
PUSH HL
|
|
LD HL,L84A5
|
|
DEC HL
|
|
LD A,030H
|
|
CP (HL)
|
|
L6656: JP NZ,04AE9H
|
|
DEC HL
|
|
LD A,020H
|
|
CP (HL)
|
|
JR NZ,L6656 ; (-009H)
|
|
POP HL
|
|
RET
|
|
|
|
L6661: PUSH DE
|
|
CALL L61AB
|
|
JP C,04AE9H
|
|
POP HL
|
|
PUSH HL
|
|
LD H,000H
|
|
INC L
|
|
JR Z,L6670 ; (+001H)
|
|
DEC L
|
|
L6670: LD DE,L84A6
|
|
ADD HL,DE
|
|
LD A,(HL)
|
|
LD (HL),000H
|
|
LD DE,L3036
|
|
CP 035H
|
|
JR C,L668D ; (+00fH)
|
|
L667E: DEC HL
|
|
LD A,(HL)
|
|
CP 02EH
|
|
JR Z,L667E ; (-006H)
|
|
INC A
|
|
JP Z,04AE9H
|
|
LD (HL),A
|
|
CP 03AH
|
|
JR Z,06678H ; (-015H)
|
|
L668D: LD HL,L11A3
|
|
LD DE,L2000
|
|
L6693: LD (HL),D
|
|
INC HL
|
|
DEC E
|
|
JR NZ,L6693 ; (-005H)
|
|
POP HL
|
|
PUSH HL
|
|
LD E,H
|
|
LD D,000H
|
|
LD HL,L11A4
|
|
ADD HL,DE
|
|
PUSH HL
|
|
LD HL,L849C
|
|
LD (HL),020H
|
|
INC HL
|
|
LD D,007H
|
|
L66AA: LD A,(HL)
|
|
CP 030H
|
|
JR NZ,L66B5 ; (+006H)
|
|
LD (HL),020H
|
|
INC HL
|
|
DEC D
|
|
JR NZ,L66AA ; (-00bH)
|
|
L66B5: POP HL
|
|
PUSH HL
|
|
LD B,E
|
|
LD A,B
|
|
OR A
|
|
JR Z,L66D3 ; (+017H)
|
|
LD DE,L84A5
|
|
L66BF: DEC HL
|
|
DEC DE
|
|
LD A,(DE)
|
|
LD (HL),A
|
|
CP 020H
|
|
JR Z,L66D3 ; (+00cH)
|
|
DJNZ L66BF ; (-00aH)
|
|
DEC DE
|
|
LD A,(DE)
|
|
CP 020H
|
|
JR Z,L66D3 ; (+004H)
|
|
INC A
|
|
JP NZ,04AE9H
|
|
L66D3: POP HL
|
|
POP DE
|
|
INC E
|
|
JR Z,L66E7 ; (+00fH)
|
|
LD B,E
|
|
LD DE,L84A6
|
|
LD (HL),02EH
|
|
L66DE: INC HL
|
|
DEC B
|
|
JR Z,L66E7 ; (+005H)
|
|
LD A,(DE)
|
|
INC DE
|
|
LD (HL),A
|
|
JR L66DE ; (-009H)
|
|
|
|
L66E7: LD (HL),000H
|
|
LD DE,L11A4
|
|
RET
|
|
|
|
L66ED: PUSH DE
|
|
PUSH BC
|
|
LD C,000H
|
|
DEC DE
|
|
L66F2: INC DE
|
|
L66F3: CALL L6873
|
|
OR A
|
|
JR Z,L672A ; (+031H)
|
|
CP 0FFH
|
|
JR Z,L672E ; (+031H)
|
|
CP 060H
|
|
JP NC,L4AE6
|
|
CP 020H
|
|
JR C,L66F2 ; (-014H)
|
|
LD IX,L66F3
|
|
PUSH IX
|
|
CP 022H
|
|
JR Z,L6749 ; (+039H)
|
|
CP 027H
|
|
JR Z,L673C ; (+028H)
|
|
CP 03FH
|
|
JR Z,L6735 ; (+01dH)
|
|
CP 02EH
|
|
JP Z,L6896
|
|
CP 024H
|
|
JP Z,L68B0
|
|
CALL L5EC2
|
|
JR C,L6771 ; (+04aH)
|
|
JP L687D
|
|
|
|
L672A: LD (HL),A
|
|
POP BC
|
|
POP DE
|
|
RET
|
|
|
|
L672E: LD (HL),LSE4
|
|
CALL L6755
|
|
JR L66F3 ; (-042H)
|
|
|
|
L6735: LD A,08FH
|
|
CALL L6754
|
|
JR L67AC ; (+070H)
|
|
|
|
L673C: LD (HL),03AH
|
|
CALL L6755
|
|
LD (HL),027H
|
|
CALL L6756
|
|
JP L6813
|
|
|
|
L6749: LD (HL),A
|
|
CALL L6755
|
|
L674D: LD A,(DE)
|
|
OR A
|
|
RET Z
|
|
CP 022H
|
|
JR NZ,L6749 ; (-00bH)
|
|
L6754: LD (HL),A
|
|
L6755: INC DE
|
|
L6756: INC HL
|
|
L6757: INC C
|
|
RET NZ
|
|
JP 04AFBH
|
|
|
|
L675C: POP BC
|
|
LD A,(DE)
|
|
CALL L5EC9
|
|
JR C,L6754 ; (-00fH)
|
|
L6763: CALL L6754
|
|
LD A,(DE)
|
|
CP 024H
|
|
JR Z,L6754 ; (-017H)
|
|
CALL L5EC2
|
|
RET C
|
|
JR L6763 ; (-00eH)
|
|
|
|
L6771: PUSH BC
|
|
LD BC,L4167
|
|
CALL L6822
|
|
JR NC,L67A8 ; (+02eH)
|
|
LD BC,L42FE
|
|
CALL L6822
|
|
LD C,0FEH
|
|
JR NC,L678E ; (+00aH)
|
|
LD BC,L4356
|
|
CALL L6822
|
|
LD C,0FFH
|
|
JR C,L675C ; (-032H)
|
|
L678E: LD (HL),C
|
|
INC HL
|
|
LD (HL),A
|
|
POP BC
|
|
CALL L6757
|
|
CALL L6756
|
|
CP 0B4H
|
|
RET NZ
|
|
CALL L6873
|
|
CP 03DH
|
|
RET NZ
|
|
LD (HL),QDPC
|
|
CALL L6755
|
|
JR L67E8 ; (+040H)
|
|
|
|
L67A8: POP BC
|
|
CALL L6756
|
|
L67AC: CP 097H
|
|
JR Z,L6813 ; (+063H)
|
|
CP 094H
|
|
JR Z,L6813 ; (+05fH)
|
|
CP 0C2H
|
|
JR Z,L6809 ; (+051H)
|
|
CP LSE2
|
|
JR Z,L67E8 ; (+02cH)
|
|
CP LSE0
|
|
RET NC
|
|
PUSH AF
|
|
CALL L6873
|
|
CP 02FH
|
|
JR NZ,L67D4 ; (+00dH)
|
|
LD (HL),FDPD
|
|
CALL L6755
|
|
CALL L6A15
|
|
CALL L6754
|
|
JR L67E4 ; (+010H)
|
|
|
|
L67D4: CP 023H
|
|
JR NZ,L67E4 ; (+00cH)
|
|
CALL L6754
|
|
CALL L6A15
|
|
CALL L5EC2
|
|
CALL NC,L687D
|
|
L67E4: POP AF
|
|
CP 08DH
|
|
RET NC
|
|
L67E8: CALL L6873
|
|
CP 022H
|
|
JR NZ,L67F4 ; (+005H)
|
|
CALL L6749
|
|
JR L67E8 ; (-00cH)
|
|
|
|
L67F4: CP 02CH
|
|
RET C
|
|
CP 02FH
|
|
JR C,L6804 ; (+009H)
|
|
CALL L5EC2
|
|
RET C
|
|
CALL L68A7
|
|
JR L67E8 ; (-01cH)
|
|
|
|
L6804: CALL L6754
|
|
JR L67E8 ; (-021H)
|
|
|
|
L6809: DB 02BH
|
|
LD (HL),03AH
|
|
INC HL
|
|
LD (HL),A
|
|
CALL L6756
|
|
JR L67E8 ; (-02bH)
|
|
|
|
L6813: LD A,(DE)
|
|
CALL L414D
|
|
RET Z
|
|
CALL L6754
|
|
CP 022H
|
|
CALL Z,L674D
|
|
JR L6813 ; (-00fH)
|
|
|
|
L6822: PUSH HL
|
|
PUSH DE
|
|
LD H,B
|
|
LD L,C
|
|
LD B,07FH
|
|
L6828: POP DE
|
|
PUSH DE
|
|
INC B
|
|
LD A,(HL)
|
|
CP 0FFH
|
|
JR NZ,L6834 ; (+004H)
|
|
POP DE
|
|
POP HL
|
|
SCF
|
|
RET
|
|
|
|
L6834: CP 02EH
|
|
JR NZ,L6841 ; (+009H)
|
|
INC HL
|
|
DEC DE
|
|
LD A,(DE)
|
|
INC DE
|
|
CALL L5EC9
|
|
JR NC,L6860 ; (+01fH)
|
|
L6841: LD A,(DE)
|
|
CP 020H
|
|
JR NZ,L6852 ; (+00cH)
|
|
LD A,(HL)
|
|
AND 07FH
|
|
SUB 041H
|
|
CP 01AH
|
|
JR C,L6860 ; (+011H)
|
|
CALL L6A14
|
|
L6852: LD C,(HL)
|
|
INC HL
|
|
INC DE
|
|
CP 02EH
|
|
JR Z,L6868 ; (+00fH)
|
|
SUB C
|
|
JR Z,L6841 ; (-01bH)
|
|
CP 080H
|
|
JR Z,L686E ; (+00eH)
|
|
L6860: DEC HL
|
|
L6861: BIT 7,(HL)
|
|
INC HL
|
|
JR Z,L6861 ; (-005H)
|
|
JR L6828 ; (-040H)
|
|
|
|
L6868: LD A,B
|
|
CP 0E8H
|
|
JR NC,L6860 ; (-00dH)
|
|
CCF
|
|
L686E: POP HL
|
|
POP HL
|
|
LD (HL),B
|
|
LD A,B
|
|
RET
|
|
|
|
L6873: LD A,(DE)
|
|
CP 020H
|
|
RET NZ
|
|
LD (HL),A
|
|
CALL L6755
|
|
JR L6873 ; (-00aH)
|
|
|
|
L687D: EX AF,AF'
|
|
PUSH DE
|
|
CALL L6A14
|
|
POP DE
|
|
CALL L5EC2
|
|
JR NC,L6896 ; (+00eH)
|
|
CP 02EH
|
|
JR Z,L6896 ; (+00aH)
|
|
CP 045H
|
|
JR Z,L6896 ; (+006H)
|
|
EX AF,AF'
|
|
SUB 02FH
|
|
JP L6896
|
|
|
|
L6896: PUSH BC
|
|
LD (HL),015H
|
|
INC HL
|
|
PUSH HL
|
|
CALL L5EDA
|
|
POP HL
|
|
LD BC,00005H
|
|
ADD HL,BC
|
|
LD A,006H
|
|
JR L68CA ; (+023H)
|
|
|
|
L68A7: PUSH BC
|
|
CALL L6A09
|
|
LD (HL),00BH
|
|
INC HL
|
|
JR L68C4 ; (+014H)
|
|
|
|
L68B0: LD (HL),A
|
|
INC DE
|
|
LD A,(DE)
|
|
RST 018H
|
|
DB 015H
|
|
JP C,L6756
|
|
PUSH BC
|
|
LD (HL),011H
|
|
INC HL
|
|
PUSH HL
|
|
EX DE,HL
|
|
RST 018H
|
|
DB 014H
|
|
LD B,D
|
|
LD C,E
|
|
EX DE,HL
|
|
POP HL
|
|
L68C4: LD A,003H
|
|
LD (HL),C
|
|
INC HL
|
|
LD (HL),B
|
|
INC HL
|
|
L68CA: POP BC
|
|
ADD A,C
|
|
JP C,04AFBH
|
|
LD C,A
|
|
L68D0: DEC DE
|
|
LD A,(DE)
|
|
CP 020H
|
|
JR Z,L68D0 ; (-006H)
|
|
INC DE
|
|
RET
|
|
|
|
L68D8: PUSH HL
|
|
PUSH DE
|
|
PUSH BC
|
|
EXX
|
|
LD B,000H
|
|
EXX
|
|
LD C,000H
|
|
L68E1: LD A,(HL)
|
|
OR A
|
|
JR Z,L6915 ; (+030H)
|
|
LD BC,L68E1
|
|
PUSH BC
|
|
CP 027H
|
|
JR Z,L692F ; (+042H)
|
|
INC HL
|
|
LD BC,L4167
|
|
CP 020H
|
|
JR C,L6957 ; (+062H)
|
|
CP 022H
|
|
JR Z,L6940 ; (+047H)
|
|
CP 03AH
|
|
JR Z,L694D ; (+050H)
|
|
CP 097H
|
|
JR Z,L692B ; (+02aH)
|
|
CP 094H
|
|
JR Z,L692B ; (+026H)
|
|
CP LSE4
|
|
JR Z,L691A ; (+011H)
|
|
CP 0FEH
|
|
JR NC,L691F ; (+012H)
|
|
CP 080H
|
|
JP NC,L699B
|
|
JP L69B8
|
|
|
|
L6915: LD (DE),A
|
|
POP BC
|
|
POP DE
|
|
POP HL
|
|
RET
|
|
|
|
L691A: LD A,0FFH
|
|
JP L69B8
|
|
|
|
L691F: LD BC,L4356
|
|
JR NZ,L6927 ; (+003H)
|
|
LD BC,L42FE
|
|
L6927: LD A,(HL)
|
|
INC HL
|
|
JR L699B ; (+070H)
|
|
|
|
L692B: CALL L699B
|
|
RET Z
|
|
L692F: LD A,(HL)
|
|
CALL L414D
|
|
RET Z
|
|
CALL L69B8
|
|
LD A,(HL)
|
|
INC HL
|
|
CP 022H
|
|
CALL Z,L6943
|
|
JR L692F ; (-011H)
|
|
|
|
L6940: CALL L69B8
|
|
L6943: LD A,(HL)
|
|
OR A
|
|
RET Z
|
|
INC HL
|
|
CP 022H
|
|
JR NZ,L6940 ; (-00bH)
|
|
JR L69B8 ; (+06bH)
|
|
|
|
L694D: LD (DE),A
|
|
LD A,(HL)
|
|
CP 0C2H
|
|
RET Z
|
|
CP 027H
|
|
RET Z
|
|
JR L69BB ; (+064H)
|
|
|
|
L6957: CP 015H
|
|
JR Z,L698B ; (+030H)
|
|
CP 00BH
|
|
JR NC,L6964 ; (+005H)
|
|
DEC A
|
|
OR 030H
|
|
JR L69B8 ; (+054H)
|
|
|
|
L6964: PUSH DE
|
|
LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
INC HL
|
|
PUSH HL
|
|
CP 012H
|
|
JR Z,L697A ; (+00cH)
|
|
CP 00CH
|
|
JR C,L697A ; (+008H)
|
|
JR NZ,L69C7 ; (+053H)
|
|
EX DE,HL
|
|
INC HL
|
|
INC HL
|
|
LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
L697A: EX DE,HL
|
|
CALL L5E64
|
|
LD B,D
|
|
LD C,E
|
|
POP HL
|
|
POP DE
|
|
L6982: LD A,(BC)
|
|
OR A
|
|
RET Z
|
|
CALL L69B8
|
|
INC BC
|
|
JR L6982 ; (-009H)
|
|
|
|
L698B: PUSH HL
|
|
PUSH DE
|
|
CALL L6219
|
|
LD B,D
|
|
LD C,E
|
|
POP DE
|
|
POP HL
|
|
INC HL
|
|
INC HL
|
|
INC HL
|
|
INC HL
|
|
INC HL
|
|
JR L6982 ; (-019H)
|
|
|
|
L699B: CP 080H
|
|
JR Z,L69A9 ; (+00aH)
|
|
EX AF,AF'
|
|
L69A0: LD A,(BC)
|
|
RLCA
|
|
INC BC
|
|
JR NC,L69A0 ; (-005H)
|
|
EX AF,AF'
|
|
DEC A
|
|
JR L699B ; (-00eH)
|
|
|
|
L69A9: LD A,(BC)
|
|
BIT 7,A
|
|
JR NZ,L69B6 ; (+008H)
|
|
CP 02EH
|
|
CALL NZ,L69B8
|
|
INC BC
|
|
JR L69A9 ; (-00dH)
|
|
|
|
L69B6: AND 07FH
|
|
L69B8: LD (DE),A
|
|
OR A
|
|
RET Z
|
|
L69BB: INC DE
|
|
EXX
|
|
INC B
|
|
EXX
|
|
RET NZ
|
|
XOR A
|
|
LD (DE),A
|
|
DEC DE
|
|
EXX
|
|
DEC B
|
|
EXX
|
|
RET
|
|
|
|
L69C7: LD A,024H
|
|
EX AF,AF'
|
|
EX DE,HL
|
|
CALL L69D8
|
|
LD B,D
|
|
LD C,E
|
|
POP HL
|
|
POP DE
|
|
EX AF,AF'
|
|
CALL L69B8
|
|
JR L6982 ; (-056H)
|
|
|
|
L69D8: LD DE,L84A1
|
|
PUSH DE
|
|
LD A,H
|
|
CALL L69F1
|
|
LD A,L
|
|
CALL L69F1
|
|
XOR A
|
|
LD (DE),A
|
|
POP DE
|
|
LD B,003H
|
|
L69E9: LD A,(DE)
|
|
CP 030H
|
|
RET NZ
|
|
INC DE
|
|
DJNZ L69E9 ; (-007H)
|
|
RET
|
|
|
|
L69F1: PUSH AF
|
|
RRCA
|
|
RRCA
|
|
RRCA
|
|
RRCA
|
|
AND 00FH
|
|
CALL L69FE
|
|
POP AF
|
|
AND 00FH
|
|
L69FE: ADD A,030H
|
|
CP 03AH
|
|
JR C,L6A06 ; (+002H)
|
|
ADD A,007H
|
|
L6A06: LD (DE),A
|
|
INC DE
|
|
RET
|
|
|
|
L6A09: PUSH HL
|
|
EX DE,HL
|
|
RST 018H
|
|
DB 013H
|
|
LD B,D
|
|
LD C,E
|
|
EX DE,HL
|
|
POP HL
|
|
JP L68D0
|
|
|
|
L6A14: INC DE
|
|
L6A15: LD A,(DE)
|
|
CP 020H
|
|
JR Z,L6A14 ; (-006H)
|
|
RET
|
|
|
|
L6A1B: LD C,(HL)
|
|
L6A1C: CALL L6A24
|
|
XOR A
|
|
LD (L1095),A
|
|
RET
|
|
|
|
L6A24: LD A,(L004D)
|
|
OR A
|
|
JP NZ,L4B36
|
|
CALL TEST1
|
|
DB 047H
|
|
JR Z,L6A74 ; (+043H)
|
|
CALL TESTX
|
|
DB 054H
|
|
LD A,001H
|
|
LD (L1097),A
|
|
CALL TEST1
|
|
DB 04EH
|
|
JR Z,L6A4A ; (+00aH)
|
|
CALL TEST1
|
|
DB 04CH
|
|
JR Z,L6A4A ; (+004H)
|
|
CALL TESTX
|
|
DB 053H
|
|
L6A4A: LD (L6A1B),A
|
|
CALL L5E46
|
|
CALL L6A6C
|
|
L6A53: LD A,001H
|
|
RST 018H
|
|
DB 006H
|
|
LD A,(L6A1B)
|
|
CP 04EH
|
|
RET Z
|
|
CP 04CH
|
|
LD A,00BH
|
|
JR Z,L6A69 ; (+006H)
|
|
LD A,009H
|
|
RST 018H
|
|
DB 006H
|
|
RST 018H
|
|
DB 006H
|
|
L6A69: RST 018H
|
|
DB 006H
|
|
RET
|
|
|
|
L6A6C: LD A,00AH
|
|
RST 018H
|
|
DB 006H
|
|
LD A,003H
|
|
JR L6A69 ; (-00bH)
|
|
|
|
L6A74: INC HL
|
|
CALL L5E46
|
|
LD A,002H
|
|
LD (L1097),A
|
|
JR L6A69 ; (-016H)
|
|
|
|
L6A7F: CALL L6ABE
|
|
CALL L6E57
|
|
LD A,E
|
|
OR A
|
|
RET Z
|
|
CP 0ECH
|
|
JR NC,L6A91 ; (+005H)
|
|
CP 015H
|
|
JP NC,04AECH
|
|
L6A91: CALL L5E46
|
|
BIT 7,E
|
|
JR NZ,L6AA0 ; (+008H)
|
|
L6A98: LD A,00AH
|
|
RST 018H
|
|
DB 006H
|
|
DEC E
|
|
JR NZ,L6A98 ; (-007H)
|
|
RET
|
|
|
|
L6AA0: LD A,003H
|
|
RST 018H
|
|
DB 006H
|
|
INC E
|
|
JR NZ,L6AA0 ; (-007H)
|
|
RET
|
|
|
|
L6AA8: PUSH HL
|
|
LD HL,L03E7
|
|
JR L6AB2 ; (+004H)
|
|
|
|
L6AAE: PUSH HL
|
|
LD HL,L01E0
|
|
L6AB2: PUSH HL
|
|
ADD HL,DE
|
|
POP HL
|
|
JR C,L6ABC ; (+005H)
|
|
SBC HL,DE
|
|
JP C,04AECH
|
|
L6ABC: POP HL
|
|
RET
|
|
|
|
L6ABE: LD B,001H
|
|
JR L6AC4 ; (+002H)
|
|
|
|
L6AC2: LD B,002H
|
|
L6AC4: LD A,(L1097)
|
|
CP B
|
|
RET Z
|
|
JP L4B36
|
|
|
|
L6ACC: LD C,044H
|
|
LD DE,04A0EH
|
|
LD DE,04D0EH
|
|
LD DE,0520EH
|
|
CALL L6AC2
|
|
LD A,C
|
|
LD (06B1EH),A
|
|
CP 04DH
|
|
JR NC,L6B04 ; (+022H)
|
|
CALL TEST1
|
|
DB 025H
|
|
JR NZ,L6B04 ; (+01cH)
|
|
CALL L6E43
|
|
LD A,E
|
|
DEC A
|
|
CP 010H
|
|
JP NC,04AECH
|
|
DEC DE
|
|
LD A,04CH
|
|
RST 018H
|
|
DB 006H
|
|
CALL L6DDA
|
|
CALL L6B60
|
|
CALL L414A
|
|
RET Z
|
|
CALL L5E71
|
|
L6B04: CALL L6E57
|
|
CALL L5E71
|
|
CALL L6AAE
|
|
PUSH DE
|
|
CALL L6E57
|
|
CP 02CH
|
|
JR Z,L6B18 ; (+003H)
|
|
CALL L5E46
|
|
L6B18: CALL L6AA8
|
|
POP BC
|
|
PUSH DE
|
|
LD A,000H
|
|
RST 018H
|
|
DB 006H
|
|
LD E,C
|
|
LD D,B
|
|
CALL L6DDA
|
|
CALL L6B64
|
|
POP DE
|
|
CALL L6DDA
|
|
CALL L6B60
|
|
CALL L414A
|
|
RET Z
|
|
INC HL
|
|
JR L6B04 ; (-033H)
|
|
|
|
L6B37: CALL L6E43
|
|
LD A,E
|
|
CP 004H
|
|
JP NC,04AECH
|
|
CALL L5E46
|
|
LD A,(L1097)
|
|
CP 002H
|
|
JR Z,L6B57 ; (+00dH)
|
|
CALL L6A6C
|
|
LD A,002H
|
|
RST 018H
|
|
DB 006H
|
|
CALL L6B57
|
|
JP L6A53
|
|
|
|
L6B57: LD A,043H
|
|
RST 018H
|
|
DB 006H
|
|
LD A,E
|
|
OR 030H
|
|
RST 018H
|
|
DB 006H
|
|
L6B60: LD A,00DH
|
|
JR L6B66 ; (+002H)
|
|
|
|
L6B64: LD A,02CH
|
|
L6B66: RST 018H
|
|
DB 006H
|
|
RET
|
|
|
|
L6B69: CALL L6AC2
|
|
CALL L5E46
|
|
LD A,048H
|
|
JR L6B66 ; (-00dH)
|
|
|
|
L6B73: CALL L6AC2
|
|
CALL L5E46
|
|
LD A,049H
|
|
JR L6B66 ; (-017H)
|
|
|
|
L6B7D: CALL L6AC2
|
|
CALL TEST1
|
|
DB 05BH
|
|
JR NZ,L6BBE ; (+038H)
|
|
CALL L6E43
|
|
CP 040H
|
|
JP NC,04AECH
|
|
PUSH DE
|
|
CALL L5E6E
|
|
CALL L6E43
|
|
CP 004H
|
|
JP NC,04AECH
|
|
PUSH DE
|
|
CALL TESTX
|
|
DB 05DH
|
|
POP BC
|
|
POP DE
|
|
PUSH BC
|
|
LD A,053H
|
|
RST 018H
|
|
DB 006H
|
|
CALL L6DDA
|
|
CALL L6B64
|
|
POP DE
|
|
LD A,051H
|
|
RST 018H
|
|
DB 006H
|
|
CALL L6DDA
|
|
CALL L6B60
|
|
CALL L414A
|
|
RET Z
|
|
CALL L5E71
|
|
L6BBE: CALL L6E67
|
|
CALL L414A
|
|
JR Z,L6BCA ; (+004H)
|
|
CALL L5E71
|
|
DEC HL
|
|
L6BCA: LD A,B
|
|
OR A
|
|
JR Z,L6BDB ; (+00dH)
|
|
LD A,050H
|
|
RST 018H
|
|
DB 006H
|
|
L6BD2: LD A,(DE)
|
|
RST 018H
|
|
DB 006H
|
|
INC DE
|
|
DJNZ L6BD2 ; (-006H)
|
|
CALL L6B60
|
|
L6BDB: CALL L414A
|
|
RET Z
|
|
INC HL
|
|
JR L6BBE ; (-024H)
|
|
|
|
L6BE2: CALL L6AC2
|
|
CALL L6E43
|
|
CP 002H
|
|
JP NC,04AECH
|
|
PUSH AF
|
|
CALL L5E6E
|
|
CALL L6E57
|
|
PUSH DE
|
|
CALL L5E71
|
|
CALL L6E43
|
|
OR A
|
|
JP Z,04AECH
|
|
CALL L5E46
|
|
LD A,058H
|
|
RST 018H
|
|
DB 006H
|
|
POP BC
|
|
POP AF
|
|
PUSH DE
|
|
PUSH BC
|
|
OR 030H
|
|
RST 018H
|
|
DB 006H
|
|
CALL L6B64
|
|
POP DE
|
|
CALL L6AA8
|
|
CALL L6DDA
|
|
CALL L6B64
|
|
POP DE
|
|
CALL L6DDA
|
|
JP L6B60
|
|
|
|
L6C22: CALL L6AC2
|
|
PUSH HL
|
|
LD DE,L0000
|
|
LD HL,L6DBC
|
|
CALL L5E97
|
|
LD DE,L0168
|
|
LD HL,L6DC1
|
|
CALL L5E97
|
|
LD HL,L610B
|
|
LD DE,L6DC6
|
|
CALL L5E91
|
|
POP HL
|
|
CALL L6E82
|
|
CALL L5E71
|
|
PUSH HL
|
|
LD HL,L6DAD
|
|
EX DE,HL
|
|
CALL L5E91
|
|
POP HL
|
|
CALL L6E82
|
|
CALL L5E71
|
|
PUSH HL
|
|
LD HL,L6DB2
|
|
EX DE,HL
|
|
CALL L5E91
|
|
POP HL
|
|
CALL L6E82
|
|
PUSH HL
|
|
PUSH AF
|
|
LD HL,L6DB7
|
|
EX DE,HL
|
|
CALL L5E91
|
|
LD A,(06DB8H)
|
|
RLCA
|
|
JP C,04AECH
|
|
POP AF
|
|
CP 02CH
|
|
JR NZ,L6CB2 ; (+03aH)
|
|
POP HL
|
|
INC HL
|
|
CALL L6E82
|
|
PUSH HL
|
|
PUSH AF
|
|
LD HL,L6DBC
|
|
EX DE,HL
|
|
CALL L5E91
|
|
POP AF
|
|
CP 02CH
|
|
JR NZ,L6CB2 ; (+027H)
|
|
POP HL
|
|
INC HL
|
|
CALL L6E82
|
|
PUSH HL
|
|
PUSH AF
|
|
LD HL,L6DC1
|
|
EX DE,HL
|
|
CALL L5E91
|
|
POP AF
|
|
CP 02CH
|
|
JR NZ,L6CB2 ; (+014H)
|
|
POP HL
|
|
INC HL
|
|
CALL L6E82
|
|
PUSH HL
|
|
LD HL,L6DC6
|
|
EX DE,HL
|
|
CALL L5E91
|
|
LD A,(06DC7H)
|
|
RLCA
|
|
JP C,04AECH
|
|
L6CB2: POP HL
|
|
CALL L5E46
|
|
PUSH HL
|
|
LD HL,L6DC1
|
|
LD DE,L6DBC
|
|
LD A,(L6DC6)
|
|
OR A
|
|
CALL NZ,L7A15
|
|
JP C,04AECH
|
|
CALL L6D63
|
|
LD HL,L6DCB
|
|
LD (06D3BH),HL
|
|
LD HL,L6DD0
|
|
LD (06D46H),HL
|
|
CALL 06D37H
|
|
LD A,(L6DC6)
|
|
OR A
|
|
JR Z,L6D11 ; (+032H)
|
|
L6CDF: LD HL,L6DBC
|
|
LD DE,L6DC6
|
|
CALL L797E
|
|
LD DE,L6DC1
|
|
CALL L7A15
|
|
JR NC,L6CFC ; (+00cH)
|
|
CALL L6D63
|
|
CALL L6D34
|
|
RST 018H
|
|
DB 00EH
|
|
JR NZ,L6CDF ; (-01bH)
|
|
POP HL
|
|
RET
|
|
|
|
L6CFC: CALL L6D04
|
|
CALL L6D34
|
|
POP HL
|
|
RET
|
|
|
|
L6D04: LD HL,L6DC1
|
|
LD DE,L6DBC
|
|
LD BC,00005H
|
|
LDIR
|
|
JR L6D63 ; (+052H)
|
|
|
|
L6D11: LD HL,L6DAD
|
|
LD (06D3BH),HL
|
|
LD HL,L6DB2
|
|
LD (06D46H),HL
|
|
CALL L6D34
|
|
CALL L6D04
|
|
LD HL,L6DCB
|
|
LD (06D3BH),HL
|
|
LD HL,L6DD0
|
|
LD (06D46H),HL
|
|
CALL L6D34
|
|
POP HL
|
|
RET
|
|
|
|
L6D34: LD A,044H
|
|
LD HL,L4D3E
|
|
PUSH AF
|
|
LD HL,L6DAD
|
|
CALL L60B5
|
|
PUSH HL
|
|
EX DE,HL
|
|
CALL L6AA8
|
|
LD HL,L6DB2
|
|
CALL L60B5
|
|
PUSH HL
|
|
EX DE,HL
|
|
CALL L6AA8
|
|
POP HL
|
|
POP DE
|
|
POP AF
|
|
RST 018H
|
|
DB 006H
|
|
PUSH HL
|
|
CALL L6DDA
|
|
CALL L6B64
|
|
POP DE
|
|
CALL L6DDA
|
|
JP L6B60
|
|
|
|
L6D63: LD DE,(INTFAC)
|
|
LD HL,L6DBC
|
|
CALL L5E91
|
|
LD HL,(L107C)
|
|
CALL L8175
|
|
CALL L7FBB
|
|
LD DE,L6DB7
|
|
CALL L7BAC
|
|
LD DE,L6DAD
|
|
CALL L797E
|
|
LD DE,L6DCB
|
|
CALL L5E91
|
|
LD DE,(INTFAC)
|
|
LD HL,L6DBC
|
|
CALL L5E91
|
|
LD HL,(L107C)
|
|
CALL L8175
|
|
CALL L7FCB
|
|
LD DE,L6DB7
|
|
CALL L7BAC
|
|
LD DE,L6DB2
|
|
CALL L797E
|
|
LD DE,L6DD0
|
|
JP L5E91
|
|
|
|
L6DAD: DS 5, 000H
|
|
L6DB2: DS 5, 000H
|
|
L6DB7: DS 5, 000H
|
|
L6DBC: DS 5, 000H
|
|
L6DC1: DS 5, 000H
|
|
L6DC6: DS 5, 000H
|
|
L6DCB: DS 5, 000H
|
|
L6DD0: DS 10, 000H
|
|
L6DDA: PUSH AF
|
|
PUSH HL
|
|
LD HL,(L107C)
|
|
CALL L5E97
|
|
CALL L6026
|
|
RST 018H
|
|
DB 017H
|
|
L6DE7: LD A,(DE)
|
|
RST 018H
|
|
DB 006H
|
|
INC DE
|
|
DJNZ L6DE7 ; (-006H)
|
|
POP HL
|
|
POP AF
|
|
RET
|
|
|
|
L6DF0: CALL L6ABE
|
|
CALL L5E46
|
|
LD A,004H
|
|
RST 018H
|
|
DB 006H
|
|
RET
|
|
|
|
L6DFB: CALL L6ABE
|
|
CALL L6E57
|
|
LD A,E
|
|
OR A
|
|
JP Z,04AECH
|
|
CP 049H
|
|
JP NC,04AECH
|
|
CALL L5E46
|
|
LD A,009H
|
|
RST 018H
|
|
DB 006H
|
|
RST 018H
|
|
DB 006H
|
|
CALL L6DDA
|
|
JP L6B60
|
|
|
|
L6E1A: CP 09DH
|
|
JR Z,L6E29 ; (+00bH)
|
|
CP 0A1H
|
|
JP NZ,L4AE6
|
|
XOR A
|
|
L6E24: LD (L004D),A
|
|
INC HL
|
|
RET
|
|
|
|
L6E29: CALL L6ABE
|
|
LD A,(L6A1B)
|
|
CP 04EH
|
|
JP NZ,L4B36
|
|
LD A,(L004D)
|
|
OR A
|
|
JR NZ,L6E24 ; (-016H)
|
|
CALL L527B
|
|
LD A,016H
|
|
RST 018H
|
|
DB 003H
|
|
JR L6E24 ; (-01fH)
|
|
|
|
L6E43: CALL L6E57
|
|
L6E46: LD A,D
|
|
OR A
|
|
JP NZ,04AECH
|
|
LD A,E
|
|
RET
|
|
|
|
L6E4D: CALL L6E94
|
|
DEC DE
|
|
DEC DE
|
|
DEC DE
|
|
DEC DE
|
|
DEC DE
|
|
JR L6E5A ; (+003H)
|
|
|
|
L6E57: CALL L6E82
|
|
L6E5A: PUSH AF
|
|
PUSH HL
|
|
EX DE,HL
|
|
CALL L7918
|
|
CALL L60B5
|
|
EX DE,HL
|
|
POP HL
|
|
POP AF
|
|
RET
|
|
|
|
L6E67: CALL L6E82
|
|
PUSH AF
|
|
CALL L790F
|
|
PUSH HL
|
|
EX DE,HL
|
|
CALL L6E76
|
|
POP HL
|
|
POP AF
|
|
RET
|
|
|
|
L6E76: LD B,(HL)
|
|
INC HL
|
|
LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
LD HL,(L1076)
|
|
ADD HL,DE
|
|
EX DE,HL
|
|
LD A,B
|
|
RET
|
|
|
|
L6E82: LD DE,(VARED)
|
|
LD (TMPEND),DE
|
|
L6E8A: LD DE,(INTFAC)
|
|
PUSH DE
|
|
CALL L6E94
|
|
POP DE
|
|
RET
|
|
|
|
L6E94: PUSH DE
|
|
LD DE,(TMPEND)
|
|
CALL L74E1
|
|
POP DE
|
|
CALL L6EB8
|
|
L6EA0: CP EM_P0
|
|
RET NZ
|
|
LD A,(L84C7)
|
|
PUSH AF
|
|
INC HL
|
|
CALL L6EB8
|
|
POP BC
|
|
PUSH AF
|
|
PUSH HL
|
|
CALL L74BE
|
|
CALL 07E5EH
|
|
POP HL
|
|
POP AF
|
|
JR L6EA0 ; (-018H)
|
|
|
|
L6EB8: CALL L6ED3
|
|
L6EBB: CP EM_P1
|
|
RET NZ
|
|
LD A,(L84C7)
|
|
PUSH AF
|
|
INC HL
|
|
CALL L6ED3
|
|
POP BC
|
|
PUSH AF
|
|
PUSH HL
|
|
CALL L74BE
|
|
CALL 07E5BH
|
|
POP HL
|
|
POP AF
|
|
JR L6EBB ; (-018H)
|
|
|
|
L6ED3: CALL L6EEE
|
|
L6ED6: CP 0ECH
|
|
RET NZ
|
|
LD A,(L84C7)
|
|
PUSH AF
|
|
INC HL
|
|
CALL L6EEE
|
|
POP BC
|
|
PUSH AF
|
|
PUSH HL
|
|
CALL L74BE
|
|
CALL L7E58
|
|
POP HL
|
|
POP AF
|
|
JR L6ED6 ; (-018H)
|
|
|
|
L6EEE: CALL TEST1
|
|
DB 0EDH
|
|
JR NZ,L6F03 ; (+00fH)
|
|
CALL L6F03
|
|
PUSH AF
|
|
PUSH HL
|
|
LD HL,0FFFBH
|
|
ADD HL,DE
|
|
CALL L7E48
|
|
POP HL
|
|
POP AF
|
|
RET
|
|
|
|
L6F03: CALL L6F6D
|
|
L6F06: CP 0EEH
|
|
RET C
|
|
PUSH AF
|
|
LD A,(L84C7)
|
|
PUSH AF
|
|
INC HL
|
|
CALL L6F6D
|
|
POP BC
|
|
EX (SP),HL
|
|
PUSH AF
|
|
PUSH HL
|
|
CALL L74BE
|
|
CALL L7A15
|
|
EX AF,AF'
|
|
POP AF
|
|
CP 0F6H
|
|
JR NZ,L6F40 ; (+01eH)
|
|
EX AF,AF'
|
|
JR C,L6F3B ; (+016H)
|
|
L6F25: LD BC,L0000
|
|
L6F28: LD (HL),C
|
|
INC HL
|
|
LD (HL),B
|
|
INC HL
|
|
XOR A
|
|
LD (HL),A
|
|
INC HL
|
|
LD (HL),A
|
|
INC HL
|
|
LD (HL),A
|
|
LD A,005H
|
|
LD (L84C7),A
|
|
POP AF
|
|
POP HL
|
|
JR L6F06 ; (-035H)
|
|
|
|
L6F3B: LD BC,08081H
|
|
JR L6F28 ; (-018H)
|
|
|
|
L6F40: CP QDPD
|
|
JR NZ,L6F4B ; (+007H)
|
|
EX AF,AF'
|
|
JR Z,L6F25 ; (-022H)
|
|
JR C,L6F25 ; (-024H)
|
|
JR L6F3B ; (-010H)
|
|
|
|
L6F4B: CP QDPC
|
|
JR NZ,L6F54 ; (+005H)
|
|
EX AF,AF'
|
|
JR Z,L6F3B ; (-017H)
|
|
JR L6F25 ; (-02fH)
|
|
|
|
L6F54: CP QDPA
|
|
JR C,L6F5D ; (+005H)
|
|
EX AF,AF'
|
|
JR NC,L6F3B ; (-020H)
|
|
JR L6F25 ; (-038H)
|
|
|
|
L6F5D: CP LSPAL
|
|
JR C,L6F68 ; (+007H)
|
|
EX AF,AF'
|
|
JR Z,L6F3B ; (-029H)
|
|
JR C,L6F3B ; (-02bH)
|
|
JR L6F25 ; (-043H)
|
|
|
|
L6F68: EX AF,AF'
|
|
JR Z,L6F25 ; (-046H)
|
|
JR L6F3B ; (-032H)
|
|
|
|
L6F6D: CALL L6F98
|
|
L6F70: CP 0F7H
|
|
RET C
|
|
LD A,(L84C7)
|
|
PUSH AF
|
|
INC HL
|
|
JR Z,L6F8A ; (+010H)
|
|
CALL L6F98
|
|
POP BC
|
|
PUSH AF
|
|
PUSH HL
|
|
CALL L74BE
|
|
CALL L7975
|
|
L6F86: POP HL
|
|
POP AF
|
|
JR L6F70 ; (-01aH)
|
|
|
|
L6F8A: CALL L6F98
|
|
POP BC
|
|
PUSH AF
|
|
PUSH HL
|
|
CALL L74BE
|
|
CALL L797E
|
|
JR L6F86 ; (-012H)
|
|
|
|
L6F98: CALL L6FC3
|
|
L6F9B: CP FDPB
|
|
RET C
|
|
LD A,(L84C7)
|
|
PUSH AF
|
|
INC HL
|
|
JR Z,L6FB5 ; (+010H)
|
|
CALL L6FC3
|
|
POP BC
|
|
PUSH AF
|
|
PUSH HL
|
|
CALL L74BE
|
|
CALL L7EB4
|
|
L6FB1: POP HL
|
|
POP AF
|
|
JR L6F9B ; (-01aH)
|
|
|
|
L6FB5: CALL L6FC3
|
|
POP BC
|
|
PUSH AF
|
|
PUSH HL
|
|
CALL L74BE
|
|
CALL L7ED3
|
|
JR L6FB1 ; (-012H)
|
|
|
|
L6FC3: CALL L6FEE
|
|
L6FC6: CP FDPD
|
|
RET C
|
|
LD A,(L84C7)
|
|
PUSH AF
|
|
INC HL
|
|
JR Z,L6FE0 ; (+010H)
|
|
CALL L6FEE
|
|
POP BC
|
|
PUSH AF
|
|
PUSH HL
|
|
CALL L74BE
|
|
CALL L7BAC
|
|
L6FDC: POP HL
|
|
POP AF
|
|
JR L6FC6 ; (-01aH)
|
|
|
|
L6FE0: CALL L6FEE
|
|
POP BC
|
|
PUSH AF
|
|
PUSH HL
|
|
CALL L74BE
|
|
CALL L7C97
|
|
JR L6FDC ; (-012H)
|
|
|
|
L6FEE: CALL TEST1
|
|
DB 0F7H
|
|
JR Z,L6FEE ; (-006H)
|
|
CP FDPA
|
|
JR NZ,L6FFE ; (+006H)
|
|
INC HL
|
|
CALL L6FFE
|
|
JR L7027 ; (+029H)
|
|
|
|
L6FFE: CALL L7033
|
|
L7001: CP 0FDH
|
|
RET NZ
|
|
LD A,(L84C7)
|
|
PUSH AF
|
|
INC HL
|
|
CALL L7019
|
|
POP BC
|
|
PUSH AF
|
|
PUSH HL
|
|
CALL L74BE
|
|
CALL L7DCC
|
|
POP HL
|
|
POP AF
|
|
JR L7001 ; (-018H)
|
|
|
|
L7019: CALL TEST1
|
|
DB 0F7H
|
|
JR Z,L7019 ; (-006H)
|
|
CP FDPA
|
|
JR NZ,L7033 ; (+010H)
|
|
INC HL
|
|
CALL L7033
|
|
L7027: PUSH AF
|
|
PUSH HL
|
|
LD HL,0FFFBH
|
|
ADD HL,DE
|
|
CALL L7968
|
|
POP HL
|
|
POP AF
|
|
RET
|
|
|
|
L7033: CALL L414A
|
|
JP Z,L4AE6
|
|
CALL L703F
|
|
JP HLFTCH
|
|
|
|
L703F: PUSH HL
|
|
LD HL,(L107E)
|
|
SCF
|
|
SBC HL,DE
|
|
JP C,04AF5H
|
|
POP HL
|
|
CP LSE4
|
|
JR Z,L705C ; (+00eH)
|
|
CP 020H
|
|
JR NC,L709C ; (+04aH)
|
|
L7052: INC HL
|
|
CP 015H
|
|
JR C,L706B ; (+014H)
|
|
CALL L5E91
|
|
JR L7065 ; (+009H)
|
|
|
|
L705C: INC HL
|
|
PUSH HL
|
|
LD HL,08188H
|
|
CALL L5E91
|
|
POP HL
|
|
L7065: LD A,005H
|
|
L7067: LD (L84C7),A
|
|
RET
|
|
|
|
L706B: CP 00BH
|
|
JR NC,L7078 ; (+009H)
|
|
DEC A
|
|
JP M,L4AE6
|
|
LD B,000H
|
|
LD C,A
|
|
JR L7089 ; (+011H)
|
|
|
|
L7078: LD C,(HL)
|
|
INC HL
|
|
LD B,(HL)
|
|
INC HL
|
|
CP 00CH
|
|
JR NZ,L7089 ; (+009H)
|
|
INC BC
|
|
INC BC
|
|
LD A,(BC)
|
|
INC BC
|
|
EX AF,AF'
|
|
LD A,(BC)
|
|
LD B,A
|
|
EX AF,AF'
|
|
LD C,A
|
|
L7089: PUSH HL
|
|
PUSH DE
|
|
EX DE,HL
|
|
LD E,C
|
|
LD D,B
|
|
CALL L5E97
|
|
POP DE
|
|
POP HL
|
|
LD A,005H
|
|
L7095: INC DE
|
|
INC DE
|
|
INC DE
|
|
INC DE
|
|
INC DE
|
|
JR L7067 ; (-035H)
|
|
|
|
L709C: CP 022H
|
|
JR NZ,L70CF ; (+02fH)
|
|
INC HL
|
|
PUSH HL
|
|
CALL L74C9
|
|
EX (SP),HL
|
|
PUSH HL
|
|
LD HL,(L107A)
|
|
PUSH BC
|
|
LD BC,(STRST)
|
|
OR A
|
|
SBC HL,BC
|
|
POP BC
|
|
EX DE,HL
|
|
LD (HL),B
|
|
INC HL
|
|
LD (HL),E
|
|
INC HL
|
|
LD (HL),D
|
|
INC HL
|
|
INC HL
|
|
INC HL
|
|
POP DE
|
|
PUSH HL
|
|
LD HL,(L107A)
|
|
CALL L74D5
|
|
LD (L107A),HL
|
|
POP DE
|
|
POP HL
|
|
LD A,003H
|
|
LD (L84C7),A
|
|
RET
|
|
|
|
L70CF: CP 028H
|
|
JR NZ,L70DA ; (+007H)
|
|
INC HL
|
|
CALL L6E94
|
|
JP L5E80
|
|
|
|
L70DA: OR A
|
|
JP P,L76EE
|
|
CP 0E7H
|
|
INC HL
|
|
JR NZ,L70E8 ; (+005H)
|
|
LD A,0A8H
|
|
PUSH AF
|
|
JR L711D ; (+035H)
|
|
|
|
L70E8: CP 0FFH
|
|
JP NZ,L4AE6
|
|
LD A,(HL)
|
|
INC HL
|
|
CP 0A0H
|
|
JP Z,L71A0
|
|
CP 0C8H
|
|
JP NC,L4AE6
|
|
CP 0BAH
|
|
JR NC,L714D ; (+050H)
|
|
PUSH AF
|
|
CP 0B3H
|
|
JR NC,L713E ; (+03cH)
|
|
LD B,003H
|
|
CP 0AAH
|
|
JR Z,L711D ; (+015H)
|
|
CP 0ABH
|
|
JR NC,L711D ; (+011H)
|
|
LD B,005H
|
|
CP 088H
|
|
JR Z,L7138 ; (+026H)
|
|
CP 089H
|
|
JR NZ,L711D ; (+007H)
|
|
CALL TEST1
|
|
DB 040H
|
|
LD (081A1H),A
|
|
L711D: CALL L5E76
|
|
L7120: PUSH BC
|
|
CALL L6E94
|
|
CALL L5E80
|
|
POP AF
|
|
CALL L790B
|
|
L712B: POP AF
|
|
PUSH DE
|
|
PUSH HL
|
|
LD HL,0FFFBH
|
|
ADD HL,DE
|
|
CALL L714D
|
|
POP HL
|
|
POP DE
|
|
RET
|
|
|
|
L7138: CALL TEST1
|
|
DB 028H
|
|
JR Z,L7120 ; (-01eH)
|
|
L713E: LD A,005H
|
|
LD (L84C7),A
|
|
PUSH HL
|
|
LD HL,L6110
|
|
CALL L5E91
|
|
POP HL
|
|
JR L712B ; (-022H)
|
|
|
|
L714D: PUSH HL
|
|
ADD A,A
|
|
LD L,A
|
|
LD H,000H
|
|
LD BC,L4512
|
|
ADD HL,BC
|
|
LD A,(HL)
|
|
INC HL
|
|
LD H,(HL)
|
|
LD L,A
|
|
EX (SP),HL
|
|
RET
|
|
|
|
EX DE,HL
|
|
LD HL,L0000
|
|
ADD HL,SP
|
|
LD BC,(TMPEND)
|
|
OR A
|
|
SBC HL,BC
|
|
OR A
|
|
LD BC,L0100
|
|
SBC HL,BC
|
|
EX DE,HL
|
|
JR L7181 ; (+010H)
|
|
|
|
LD A,(L0054)
|
|
JR L717E ; (+008H)
|
|
|
|
LD A,(00055H)
|
|
JR L717E ; (+003H)
|
|
|
|
LD A,(L847E)
|
|
L717E: LD E,A
|
|
LD D,000H
|
|
L7181: LD A,005H
|
|
LD (L84C7),A
|
|
JP L5E97
|
|
|
|
LD DE,(08480H)
|
|
CALL L5E97
|
|
INC HL
|
|
BIT 7,(HL)
|
|
DEC HL
|
|
RET Z
|
|
LD DE,L719B
|
|
JP L797E
|
|
|
|
L719B: DB 091H,000H,000H,000H,000H ; FP constant (65536.0)
|
|
L71A0: CALL L5E76
|
|
LD BC,(TMPEND)
|
|
PUSH BC
|
|
XOR A
|
|
PUSH AF
|
|
L71AA: PUSH BC
|
|
PUSH DE
|
|
CALL L6E4D
|
|
CALL L6E46
|
|
POP DE
|
|
POP BC
|
|
LD (BC),A
|
|
INC BC
|
|
LD (TMPEND),BC
|
|
POP AF
|
|
INC A
|
|
PUSH AF
|
|
CALL TEST1
|
|
DB 02CH
|
|
JR Z,L71AA ; (-019H)
|
|
CALL L5E80
|
|
PUSH BC
|
|
EXX
|
|
POP DE
|
|
POP AF
|
|
LD B,A
|
|
POP HL
|
|
CALL L74E1
|
|
L71CF: LD (TMPEND),DE
|
|
LD DE,(STRST)
|
|
OR A
|
|
SBC HL,DE
|
|
PUSH HL
|
|
LD A,B
|
|
EXX
|
|
EX DE,HL
|
|
LD (HL),A
|
|
INC HL
|
|
POP BC
|
|
LD (HL),C
|
|
INC HL
|
|
LD (HL),B
|
|
LD BC,L0003
|
|
ADD HL,BC
|
|
L71E8: EX DE,HL
|
|
LD A,003H
|
|
LD (L84C7),A
|
|
RET
|
|
|
|
PUSH HL
|
|
CALL L60B5
|
|
CALL L69D8
|
|
RST 018H
|
|
DB 017H
|
|
L71F8: LD A,B
|
|
OR A
|
|
JR Z,L720C ; (+010H)
|
|
LD HL,(L107A)
|
|
PUSH HL
|
|
PUSH BC
|
|
CALL L74D5
|
|
POP BC
|
|
EX DE,HL
|
|
POP HL
|
|
EXX
|
|
POP DE
|
|
EXX
|
|
JR L71CF ; (-03dH)
|
|
|
|
L720C: POP HL
|
|
CALL L7960
|
|
JR L71E8 ; (-02aH)
|
|
|
|
PUSH HL
|
|
CALL L7223
|
|
LD B,A
|
|
LD C,A
|
|
OR A
|
|
LD A,020H
|
|
PUSH DE
|
|
CALL NZ,?SETDE
|
|
POP DE
|
|
LD B,C
|
|
JR L71F8 ; (-02bH)
|
|
|
|
L7223: CALL L60B5
|
|
LD DE,L11A4
|
|
LD A,H
|
|
OR A
|
|
JP NZ,04AECH
|
|
LD A,L
|
|
RET
|
|
|
|
PUSH HL
|
|
CALL L6026
|
|
LD A,(DE)
|
|
CP 020H
|
|
JR NZ,L723A ; (+001H)
|
|
INC DE
|
|
L723A: RST 018H
|
|
DB 017H
|
|
JR L71F8 ; (-046H)
|
|
|
|
CALL L5E76
|
|
CALL L5882
|
|
LD B,A
|
|
CALL L5E7D
|
|
LD A,B
|
|
PUSH HL
|
|
PUSH DE
|
|
RST 018H
|
|
DB 029H
|
|
LD DE,0FFFFH
|
|
JR C,L725A ; (+008H)
|
|
INC HL
|
|
BIT 7,(HL)
|
|
JR NZ,L725A ; (+003H)
|
|
LD DE,L0000
|
|
L725A: POP HL
|
|
CALL L5E97
|
|
LD A,005H
|
|
LD (L84C7),A
|
|
INC HL
|
|
INC HL
|
|
INC HL
|
|
INC HL
|
|
INC HL
|
|
EX DE,HL
|
|
POP HL
|
|
RET
|
|
|
|
PUSH HL
|
|
CALL L6E76
|
|
OR A
|
|
JR Z,L7273 ; (+001H)
|
|
LD A,(DE)
|
|
L7273: JR L7279 ; (+004H)
|
|
|
|
PUSH HL
|
|
CALL L6E76
|
|
L7279: POP HL
|
|
JP L717E
|
|
|
|
PUSH HL
|
|
CALL L6E76
|
|
LD HL,(L107A)
|
|
PUSH HL
|
|
CALL L74D5
|
|
LD (HL),000H
|
|
POP DE
|
|
POP HL
|
|
JP L5EDA
|
|
|
|
CALL L730B
|
|
CALL L5E80
|
|
CALL L7304
|
|
EX DE,HL
|
|
LD A,(HL)
|
|
CP C
|
|
JR NC,L729E ; (+001H)
|
|
LD C,A
|
|
L729E: LD (HL),C
|
|
LD BC,00005H
|
|
L72A2: LD A,003H
|
|
ADD HL,BC
|
|
EX DE,HL
|
|
LD (L84C7),A
|
|
JP HLFTCH
|
|
|
|
CALL L730B
|
|
CALL L5E80
|
|
CALL L7304
|
|
EX DE,HL
|
|
LD A,(HL)
|
|
SUB C
|
|
JR NC,L72BC ; (+002H)
|
|
XOR A
|
|
LD C,(HL)
|
|
L72BC: LD (HL),C
|
|
INC HL
|
|
ADD A,(HL)
|
|
LD (HL),A
|
|
INC HL
|
|
JR NC,L72C4 ; (+001H)
|
|
INC (HL)
|
|
L72C4: LD BC,L0003
|
|
JR L72A2 ; (-027H)
|
|
|
|
CALL L730B
|
|
CALL L7304
|
|
OR A
|
|
JP Z,04AECH
|
|
PUSH AF
|
|
CALL TEST1
|
|
DB 029H
|
|
LD A,0FFH
|
|
JR Z,L72F0 ; (+014H)
|
|
CALL L5E6E
|
|
PUSH DE
|
|
EX DE,HL
|
|
LD BC,00005H
|
|
ADD HL,BC
|
|
EX DE,HL
|
|
CALL L6E4D
|
|
CALL L5E80
|
|
CALL L6E46
|
|
POP DE
|
|
L72F0: POP BC
|
|
LD C,A
|
|
EX DE,HL
|
|
LD A,(HL)
|
|
SUB B
|
|
JR C,L7300 ; (+009H)
|
|
INC A
|
|
CP C
|
|
JR NC,L72FC ; (+001H)
|
|
LD C,A
|
|
L72FC: LD A,B
|
|
DEC A
|
|
JR L72BC ; (-044H)
|
|
|
|
L7300: XOR A
|
|
LD C,A
|
|
JR L72BC ; (-048H)
|
|
|
|
L7304: LD A,B
|
|
OR A
|
|
JP NZ,04AECH
|
|
LD A,C
|
|
RET
|
|
|
|
L730B: CALL L5E76
|
|
PUSH DE
|
|
CALL L6E94
|
|
CALL L5E71
|
|
CALL L790F
|
|
CALL L6E4D
|
|
LD C,E
|
|
LD B,D
|
|
POP DE
|
|
RET
|
|
|
|
PUSH HL
|
|
PUSH DE
|
|
LD HL,(L107A)
|
|
PUSH HL
|
|
LD A,030H
|
|
LD B,006H
|
|
CALL ?SETHL
|
|
RST 018H
|
|
DB 025H
|
|
POP HL
|
|
OR A
|
|
JR Z,L7337 ; (+005H)
|
|
INC (HL)
|
|
INC HL
|
|
INC (HL)
|
|
INC (HL)
|
|
DEC HL
|
|
L7337: EX DE,HL
|
|
LD BC,L8CA0
|
|
CALL L73AE
|
|
LD BC,L0E10
|
|
CALL L73AE
|
|
CP 03AH
|
|
JR C,L7352 ; (+00aH)
|
|
SUB 00AH
|
|
DEC DE
|
|
LD (DE),A
|
|
DEC DE
|
|
LD A,(DE)
|
|
INC A
|
|
LD (DE),A
|
|
INC DE
|
|
INC DE
|
|
L7352: DEC DE
|
|
DEC DE
|
|
LD A,(DE)
|
|
INC DE
|
|
LD B,A
|
|
LD A,(DE)
|
|
INC DE
|
|
LD C,A
|
|
LD A,B
|
|
CP 032H
|
|
JR NZ,L7370 ; (+011H)
|
|
LD A,C
|
|
CP 034H
|
|
JR NZ,L7370 ; (+00cH)
|
|
LD HL,(L107A)
|
|
LD A,030H
|
|
LD B,006H
|
|
CALL ?SETHL
|
|
JR L7386 ; (+016H)
|
|
|
|
L7370: LD BC,L0258
|
|
CALL L73AE
|
|
LD BC,0003CH
|
|
CALL L73AE
|
|
LD BC,0000AH
|
|
CALL L73AE
|
|
LD A,030H
|
|
ADD A,L
|
|
LD (DE),A
|
|
L7386: LD HL,(L107A)
|
|
LD DE,L0006
|
|
EX DE,HL
|
|
ADD HL,DE
|
|
LD (L107A),HL
|
|
EX DE,HL
|
|
LD DE,(STRST)
|
|
OR A
|
|
SBC HL,DE
|
|
EX DE,HL
|
|
POP HL
|
|
LD (HL),006H
|
|
INC HL
|
|
LD (HL),E
|
|
INC HL
|
|
LD (HL),D
|
|
INC HL
|
|
INC HL
|
|
INC HL
|
|
EX DE,HL
|
|
POP HL
|
|
LD A,003H
|
|
LD (L84C7),A
|
|
JP HLFTCH
|
|
|
|
L73AE: OR A
|
|
SBC HL,BC
|
|
JR C,L73B8 ; (+005H)
|
|
LD A,(DE)
|
|
INC A
|
|
LD (DE),A
|
|
JR L73AE ; (-00aH)
|
|
|
|
L73B8: ADD HL,BC
|
|
INC DE
|
|
RET
|
|
|
|
L73BB: CALL TESTX
|
|
DB QDPC
|
|
CALL L6E67
|
|
LD A,B
|
|
CP 006H
|
|
JP NZ,04AECH
|
|
PUSH HL
|
|
PUSH DE
|
|
LD HL,L0000
|
|
CALL L73FC
|
|
CP 018H
|
|
JP NC,04AECH
|
|
CP 00CH
|
|
LD A,000H
|
|
JR C,L73E4 ; (+009H)
|
|
PUSH DE
|
|
LD DE,L000C
|
|
OR A
|
|
SBC HL,DE
|
|
POP DE
|
|
INC A
|
|
L73E4: PUSH AF
|
|
CALL L73FC
|
|
CP 03CH
|
|
JP NC,04AECH
|
|
CALL L73FC
|
|
CP 03CH
|
|
JP NC,04AECH
|
|
POP AF
|
|
EX DE,HL
|
|
RST 018H
|
|
DB 026H
|
|
POP DE
|
|
POP HL
|
|
RET
|
|
|
|
L73FC: PUSH DE
|
|
LD D,H
|
|
LD E,L
|
|
ADD HL,HL
|
|
ADD HL,HL
|
|
ADD HL,DE
|
|
LD D,H
|
|
LD E,L
|
|
ADD HL,HL
|
|
ADD HL,DE
|
|
ADD HL,HL
|
|
ADD HL,HL
|
|
POP DE
|
|
LD A,(DE)
|
|
INC DE
|
|
SUB 030H
|
|
JP C,04AECH
|
|
CP 00AH
|
|
JP NC,04AECH
|
|
PUSH BC
|
|
LD C,A
|
|
ADD A,A
|
|
ADD A,A
|
|
ADD A,C
|
|
ADD A,A
|
|
LD C,A
|
|
LD A,(DE)
|
|
INC DE
|
|
SUB 030H
|
|
JP C,04AECH
|
|
CP 00AH
|
|
JP NC,04AECH
|
|
ADD A,C
|
|
LD C,A
|
|
L742A: LD B,000H
|
|
ADD HL,BC
|
|
POP BC
|
|
RET
|
|
|
|
L742F: LD DE,(VARED)
|
|
LD (TMPEND),DE
|
|
LD DE,(INTFAC)
|
|
L743B: PUSH DE
|
|
CALL L748E
|
|
L743F: LD A,(HL)
|
|
CP 028H
|
|
JP Z,L74F4
|
|
PUSH HL
|
|
CALL L77AF
|
|
JR NC,L7451 ; (+006H)
|
|
LD A,C
|
|
LD C,L
|
|
LD B,H
|
|
POP HL
|
|
POP DE
|
|
RET
|
|
|
|
L7451: LD A,(DE)
|
|
ADD A,C
|
|
ADD A,002H
|
|
PUSH BC
|
|
EX DE,HL
|
|
LD HL,(L107A)
|
|
PUSH HL
|
|
OR A
|
|
SBC HL,DE
|
|
INC HL
|
|
LD C,L
|
|
LD B,H
|
|
POP HL
|
|
PUSH DE
|
|
EX DE,HL
|
|
LD L,A
|
|
LD H,000H
|
|
ADD HL,DE
|
|
EX DE,HL
|
|
CALL L74E1
|
|
LDDR
|
|
LD E,A
|
|
LD D,000H
|
|
RST 018H
|
|
DB 01AH
|
|
POP HL
|
|
POP BC
|
|
LD DE,L11A4
|
|
LD (HL),C
|
|
INC HL
|
|
SCF
|
|
SBC A,C
|
|
LD B,A
|
|
L747D: LD A,(DE)
|
|
LD (HL),A
|
|
INC DE
|
|
INC HL
|
|
DJNZ L747D ; (-006H)
|
|
PUSH HL
|
|
LD B,C
|
|
CALL ?CLRHL
|
|
LD (HL),A
|
|
LD A,C
|
|
POP BC
|
|
POP HL
|
|
POP DE
|
|
RET
|
|
|
|
L748E: CALL HLFTCH
|
|
SUB 041H
|
|
CP 01AH
|
|
JP NC,L4AE6
|
|
LD DE,L11A4
|
|
LD B,000H
|
|
L749D: INC DE
|
|
LD A,(HL)
|
|
CALL L5EC9
|
|
JR C,L74AF ; (+00bH)
|
|
LD (DE),A
|
|
INC B
|
|
LD A,B
|
|
CP 003H
|
|
JR C,L74AC ; (+001H)
|
|
DEC B
|
|
L74AC: INC HL
|
|
JR L749D ; (-012H)
|
|
|
|
L74AF: LD DE,L11A4
|
|
EX DE,HL
|
|
LD (HL),B
|
|
EX DE,HL
|
|
LD C,005H
|
|
CP 024H
|
|
RET NZ
|
|
LD C,003H
|
|
INC HL
|
|
RET
|
|
|
|
L74BE: LD HL,0FFFBH
|
|
EX DE,HL
|
|
ADD HL,DE
|
|
EX DE,HL
|
|
ADD HL,DE
|
|
LD A,B
|
|
JP L790B
|
|
|
|
L74C9: LD B,0FFH
|
|
L74CB: INC B
|
|
LD A,(HL)
|
|
OR A
|
|
RET Z
|
|
INC HL
|
|
CP 022H
|
|
RET Z
|
|
JR L74CB ; (-00aH)
|
|
|
|
L74D5: LD A,B
|
|
OR A
|
|
RET Z
|
|
CALL LDHLDE
|
|
EX DE,HL
|
|
CALL L74E1
|
|
EX DE,HL
|
|
RET
|
|
|
|
L74E1: PUSH HL
|
|
LD HL,0FE00H
|
|
ADD HL,SP
|
|
SBC HL,DE
|
|
POP HL
|
|
RET NC
|
|
JP L4B26
|
|
|
|
L74ED: LD DE,(INTFAC)
|
|
PUSH DE
|
|
JR L74FC ; (+008H)
|
|
|
|
L74F4: XOR A
|
|
LD (L76ED),A
|
|
INC HL
|
|
LD (L76EB),HL
|
|
L74FC: LD B,000H
|
|
EXX
|
|
POP HL
|
|
PUSH HL
|
|
PUSH HL
|
|
LD HL,(L107A)
|
|
LD DE,L11A4
|
|
PUSH HL
|
|
LD A,(DE)
|
|
LD (HL),A
|
|
INC DE
|
|
INC HL
|
|
LD B,A
|
|
CALL L74D5
|
|
POP DE
|
|
LD (L107A),HL
|
|
LD HL,(L1076)
|
|
EX DE,HL
|
|
OR A
|
|
SBC HL,DE
|
|
EX (SP),HL
|
|
PUSH HL
|
|
EXX
|
|
L751F: POP DE
|
|
PUSH DE
|
|
PUSH BC
|
|
LD BC,(076EBH)
|
|
LD A,(L76ED)
|
|
PUSH BC
|
|
PUSH AF
|
|
LD BC,(08495H)
|
|
PUSH BC
|
|
CALL L6E4D
|
|
BIT 7,D
|
|
JP NZ,04AECH
|
|
EX AF,AF'
|
|
POP BC
|
|
LD (08495H),BC
|
|
POP AF
|
|
LD (L76ED),A
|
|
POP BC
|
|
LD (076EBH),BC
|
|
EX AF,AF'
|
|
INC HL
|
|
CP 029H
|
|
JR Z,L7565 ; (+018H)
|
|
CP 02CH
|
|
JP NZ,L4AE6
|
|
POP BC
|
|
INC B
|
|
LD A,B
|
|
CP 004H
|
|
JP NC,04AECH
|
|
EXX
|
|
POP HL
|
|
POP DE
|
|
EXX
|
|
PUSH DE
|
|
EXX
|
|
PUSH DE
|
|
PUSH HL
|
|
EXX
|
|
JR L751F ; (-046H)
|
|
|
|
L7565: POP BC
|
|
EXX
|
|
POP HL
|
|
POP DE
|
|
EXX
|
|
INC B
|
|
PUSH DE
|
|
PUSH HL
|
|
EXX
|
|
LD HL,(L1076)
|
|
ADD HL,DE
|
|
LD B,(HL)
|
|
INC B
|
|
LD DE,L11A4
|
|
CALL LDDEHL
|
|
EXX
|
|
SET 7,C
|
|
CALL L77AF
|
|
RES 7,C
|
|
JR NC,L75DA ; (+056H)
|
|
LD A,B
|
|
CP (HL)
|
|
JP NZ,04AF8H
|
|
INC HL
|
|
EX DE,HL
|
|
POP HL
|
|
LD (L8495),HL
|
|
EXX
|
|
LD HL,L0000
|
|
EXX
|
|
EX DE,HL
|
|
L7595: LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
INC HL
|
|
EX (SP),HL
|
|
PUSH DE
|
|
EXX
|
|
POP DE
|
|
CALL L76C1
|
|
EXX
|
|
PUSH HL
|
|
OR A
|
|
SBC HL,DE
|
|
JP NC,04AECH
|
|
EXX
|
|
POP DE
|
|
CALL L76BD
|
|
EXX
|
|
POP HL
|
|
DJNZ L7595 ; (-01cH)
|
|
PUSH HL
|
|
EXX
|
|
LD A,C
|
|
LD D,B
|
|
BIT 6,A
|
|
JR NZ,L75CD ; (+014H)
|
|
AND 00FH
|
|
LD E,A
|
|
PUSH AF
|
|
CALL L76C1
|
|
PUSH HL
|
|
EXX
|
|
POP BC
|
|
POP AF
|
|
POP HL
|
|
ADD HL,BC
|
|
LD C,L
|
|
LD B,H
|
|
L75C8: LD HL,(L8495)
|
|
POP DE
|
|
RET
|
|
|
|
L75CD: LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
POP HL
|
|
LD C,L
|
|
LD B,H
|
|
LD (HL),E
|
|
INC HL
|
|
LD (HL),D
|
|
AND 00FH
|
|
JR L75C8 ; (-012H)
|
|
|
|
L75DA: EXX
|
|
LD A,(L76ED)
|
|
OR A
|
|
JP Z,04AECH
|
|
POP HL
|
|
LD (L8495),HL
|
|
EXX
|
|
LD DE,(TMPEND)
|
|
LD L,B
|
|
LD H,000H
|
|
ADD HL,HL
|
|
ADD HL,DE
|
|
EX DE,HL
|
|
INC DE
|
|
CALL L74E1
|
|
LD (HL),B
|
|
INC HL
|
|
EXX
|
|
LD HL,00001H
|
|
EXX
|
|
L75FC: POP DE
|
|
LD A,(L76ED)
|
|
OR A
|
|
JR NZ,L760F ; (+00cH)
|
|
PUSH HL
|
|
EX DE,HL
|
|
LD DE,0000AH
|
|
SCF
|
|
SBC HL,DE
|
|
JP NC,04AECH
|
|
POP HL
|
|
L760F: INC DE
|
|
LD (HL),E
|
|
INC HL
|
|
LD (HL),D
|
|
INC HL
|
|
PUSH DE
|
|
EXX
|
|
POP DE
|
|
CALL L76C1
|
|
EXX
|
|
DJNZ L75FC ; (-021H)
|
|
DB 059H
|
|
LD D,000H
|
|
PUSH BC
|
|
PUSH DE
|
|
EXX
|
|
POP DE
|
|
CALL L76C1
|
|
PUSH HL
|
|
EXX
|
|
POP BC
|
|
PUSH BC
|
|
EX DE,HL
|
|
LD HL,(L107A)
|
|
LD L,(HL)
|
|
LD H,000H
|
|
ADD HL,HL
|
|
LD A,(L11A4)
|
|
ADD A,005H
|
|
ADD A,L
|
|
LD L,A
|
|
LD A,000H
|
|
ADC A,H
|
|
LD H,A
|
|
JR C,L7645 ; (+005H)
|
|
ADD HL,BC
|
|
JR C,L7645 ; (+002H)
|
|
PUSH HL
|
|
ADD HL,DE
|
|
L7645: JP C,L4B26
|
|
EX DE,HL
|
|
CALL L74E1
|
|
PUSH HL
|
|
EXX
|
|
POP HL
|
|
LD BC,(STRST)
|
|
DEC BC
|
|
OR A
|
|
SBC HL,BC
|
|
PUSH HL
|
|
EXX
|
|
POP BC
|
|
LDDR
|
|
POP DE
|
|
RST 018H
|
|
DB 01AH
|
|
POP BC
|
|
PUSH DE
|
|
EXX
|
|
POP DE
|
|
LD H,B
|
|
LD L,C
|
|
POP BC
|
|
LD A,C
|
|
OR 080H
|
|
LD (HL),A
|
|
INC HL
|
|
DEC DE
|
|
LD (HL),E
|
|
INC HL
|
|
LD (HL),D
|
|
INC HL
|
|
LD DE,L11A4
|
|
LD A,(DE)
|
|
INC A
|
|
LD B,A
|
|
CALL LDHLDE
|
|
LD DE,(TMPEND)
|
|
LD A,(DE)
|
|
LD (HL),A
|
|
INC HL
|
|
INC DE
|
|
ADD A,A
|
|
LD B,A
|
|
CALL LDHLDE
|
|
PUSH HL
|
|
EXX
|
|
POP HL
|
|
L7689: XOR A
|
|
LD (HL),A
|
|
INC HL
|
|
DEC BC
|
|
LD A,B
|
|
OR C
|
|
JR NZ,L7689 ; (-008H)
|
|
LD (HL),A
|
|
EXX
|
|
POP DE
|
|
LD A,(L76ED)
|
|
OR A
|
|
JR Z,L769E ; (+004H)
|
|
LD HL,(L8495)
|
|
RET
|
|
|
|
L769E: LD HL,(L76EB)
|
|
PUSH DE
|
|
JP L74FC
|
|
|
|
L76A5: LD A,0FFH
|
|
LD (L76ED),A
|
|
L76AA: CALL L748E
|
|
LD A,(HL)
|
|
CALL L5E79
|
|
CALL L74ED
|
|
CALL HLFTCH
|
|
CP 02CH
|
|
RET NZ
|
|
INC HL
|
|
JR L76AA ; (-013H)
|
|
|
|
L76BD: ADD HL,DE
|
|
RET NC
|
|
JR L76E8 ; (+027H)
|
|
|
|
L76C1: PUSH BC
|
|
EX DE,HL
|
|
LD C,L
|
|
LD A,H
|
|
LD HL,L0000
|
|
CALL L76D1
|
|
LD A,C
|
|
CALL L76D1
|
|
POP BC
|
|
RET
|
|
|
|
L76D1: OR A
|
|
JR Z,L76E2 ; (+00eH)
|
|
LD B,008H
|
|
L76D6: ADD HL,HL
|
|
JR C,L76E8 ; (+00fH)
|
|
RLCA
|
|
JR NC,L76DF ; (+003H)
|
|
ADD HL,DE
|
|
JR C,L76E8 ; (+009H)
|
|
L76DF: DJNZ L76D6 ; (-00bH)
|
|
RET
|
|
|
|
L76E2: LD A,H
|
|
LD H,L
|
|
LD L,000H
|
|
OR A
|
|
RET Z
|
|
L76E8: JP 04AECH
|
|
|
|
L76EB: NOP
|
|
NOP
|
|
L76ED: NOP
|
|
L76EE: SUB 041H
|
|
CP 01AH
|
|
JP NC,L4AE6
|
|
LD BC,(07921H)
|
|
LD A,B
|
|
OR C
|
|
JR NZ,L770F ; (+012H)
|
|
CALL L743B
|
|
L7700: PUSH DE
|
|
PUSH HL
|
|
LD L,C
|
|
LD H,B
|
|
LD B,A
|
|
LD C,A
|
|
CALL LDDEHL
|
|
POP HL
|
|
LD A,C
|
|
POP DE
|
|
JP L7095
|
|
|
|
L770F: PUSH DE
|
|
CALL L748E
|
|
PUSH HL
|
|
INC B
|
|
LD DE,L11A4
|
|
LD HL,(L107A)
|
|
CALL L74D5
|
|
LD B,000H
|
|
LD HL,(L7921)
|
|
CALL HLFTCH
|
|
CP QDPC
|
|
JR Z,L7759 ; (+02fH)
|
|
CP 028H
|
|
JR NZ,L7756 ; (+028H)
|
|
L772E: INC HL
|
|
INC B
|
|
PUSH BC
|
|
CALL L748E
|
|
LD A,C
|
|
POP DE
|
|
CP E
|
|
LD C,E
|
|
JR NZ,L774B ; (+011H)
|
|
PUSH DE
|
|
LD C,B
|
|
INC C
|
|
PUSH HL
|
|
LD HL,(L107A)
|
|
LD DE,L11A4
|
|
CALL L794C
|
|
POP HL
|
|
POP BC
|
|
JR Z,L776F ; (+024H)
|
|
L774B: CALL HLFTCH
|
|
CP 029H
|
|
JR Z,L7759 ; (+007H)
|
|
CP 02CH
|
|
JR Z,L772E ; (-028H)
|
|
L7756: JP L4AE6
|
|
|
|
L7759: LD HL,(L107A)
|
|
LD DE,L11A4
|
|
LD A,(HL)
|
|
LD (DE),A
|
|
LD B,A
|
|
L7762: INC HL
|
|
INC DE
|
|
LD A,(HL)
|
|
LD (DE),A
|
|
DJNZ L7762 ; (-006H)
|
|
POP HL
|
|
POP DE
|
|
CALL L77AB
|
|
JR L7700 ; (-06fH)
|
|
|
|
L776F: LD HL,(L7923)
|
|
CALL L5E76
|
|
DEC B
|
|
JR Z,L7790 ; (+018H)
|
|
DEC HL
|
|
L7779: PUSH BC
|
|
L777A: CALL L5198
|
|
CALL L414A
|
|
JP Z,L4AE6
|
|
CP 029H
|
|
JP Z,L4AE6
|
|
CP 02CH
|
|
JR NZ,L777A ; (-012H)
|
|
POP BC
|
|
DJNZ L7779 ; (-016H)
|
|
INC HL
|
|
L7790: EX DE,HL
|
|
POP HL
|
|
EX (SP),HL
|
|
EX DE,HL
|
|
LD BC,(07921H)
|
|
PUSH BC
|
|
LD BC,L0000
|
|
LD (07921H),BC
|
|
CALL L6E94
|
|
POP HL
|
|
LD (L7921),HL
|
|
POP HL
|
|
JP HLFTCH
|
|
|
|
L77AB: PUSH DE
|
|
JP L743F
|
|
|
|
L77AF: LD HL,(L1074)
|
|
L77B2: LD DE,L11A4
|
|
LD A,(HL)
|
|
OR A
|
|
RET Z
|
|
CP 040H
|
|
JR NC,L77E3 ; (+027H)
|
|
CP C
|
|
JR NZ,L77D8 ; (+019H)
|
|
INC HL
|
|
LD A,(DE)
|
|
CP (HL)
|
|
JR NZ,L77D6 ; (+012H)
|
|
LD B,A
|
|
L77C5: INC DE
|
|
INC HL
|
|
LD A,(DE)
|
|
CP (HL)
|
|
JR NZ,L77D0 ; (+005H)
|
|
DJNZ L77C5 ; (-008H)
|
|
INC HL
|
|
SCF
|
|
RET
|
|
|
|
L77D0: INC HL
|
|
DJNZ L77D0 ; (-003H)
|
|
LD A,C
|
|
JR L77DD ; (+007H)
|
|
|
|
L77D6: LD A,C
|
|
DEC HL
|
|
L77D8: AND 00FH
|
|
INC HL
|
|
ADD A,(HL)
|
|
INC HL
|
|
L77DD: LD E,A
|
|
LD D,000H
|
|
ADD HL,DE
|
|
JR L77B2 ; (-031H)
|
|
|
|
L77E3: CP C
|
|
JR Z,L77FA ; (+014H)
|
|
INC HL
|
|
L77E7: LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
DEC HL
|
|
ADD HL,DE
|
|
JR L77B2 ; (-03cH)
|
|
|
|
L77EE: LD A,C
|
|
SUB B
|
|
CPL
|
|
LD C,A
|
|
LD B,0FFH
|
|
ADD HL,BC
|
|
POP BC
|
|
L77F6: DEC HL
|
|
DEC HL
|
|
JR L77E7 ; (-013H)
|
|
|
|
L77FA: LD A,(HL)
|
|
EXX
|
|
LD C,A
|
|
LD B,000H
|
|
EXX
|
|
INC HL
|
|
PUSH DE
|
|
LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
INC HL
|
|
EX DE,HL
|
|
ADD HL,DE
|
|
EX DE,HL
|
|
POP DE
|
|
LD A,(DE)
|
|
CP (HL)
|
|
JR NZ,L77F6 ; (-018H)
|
|
PUSH BC
|
|
LD B,A
|
|
LD C,A
|
|
L7811: INC HL
|
|
INC DE
|
|
LD A,(DE)
|
|
CP (HL)
|
|
JR NZ,L77EE ; (-029H)
|
|
DJNZ L7811 ; (-008H)
|
|
INC HL
|
|
POP BC
|
|
SCF
|
|
RET
|
|
|
|
L781D: CALL L748E
|
|
SET 6,C
|
|
PUSH HL
|
|
CALL L77AF
|
|
JP C,04AF8H
|
|
LD (HL),C
|
|
EX (SP),HL
|
|
PUSH HL
|
|
DEC HL
|
|
L782D: CALL L5198
|
|
OR A
|
|
JR Z,L7837 ; (+004H)
|
|
CP 03AH
|
|
JR NZ,L782D ; (-00aH)
|
|
L7837: POP DE
|
|
PUSH HL
|
|
INC HL
|
|
SBC HL,DE
|
|
LD A,(L11A4)
|
|
ADD A,004H
|
|
LD C,A
|
|
LD B,000H
|
|
LD A,L
|
|
ADD HL,BC
|
|
LD B,A
|
|
PUSH HL
|
|
EXX
|
|
POP BC
|
|
PUSH BC
|
|
PUSH HL
|
|
PUSH DE
|
|
PUSH BC
|
|
LD HL,L0000
|
|
ADD HL,SP
|
|
LD DE,(TMPEND)
|
|
DEC H
|
|
OR A
|
|
SBC HL,DE
|
|
LD A,00CH
|
|
JP C,L4B28
|
|
POP BC
|
|
POP DE
|
|
POP HL
|
|
LD HL,(L107A)
|
|
PUSH HL
|
|
ADD HL,BC
|
|
EX (SP),HL
|
|
PUSH HL
|
|
LD DE,(STRST)
|
|
OR A
|
|
SBC HL,DE
|
|
LD C,L
|
|
LD B,H
|
|
POP HL
|
|
POP DE
|
|
LDDR
|
|
POP DE
|
|
RST 018H
|
|
DB 01AH
|
|
DEC DE
|
|
POP HL
|
|
EX (SP),HL
|
|
INC HL
|
|
LD (HL),E
|
|
INC HL
|
|
LD (HL),D
|
|
INC HL
|
|
LD DE,L11A4
|
|
LD A,(DE)
|
|
LD (HL),A
|
|
LD B,A
|
|
L7887: INC DE
|
|
INC HL
|
|
LD A,(DE)
|
|
LD (HL),A
|
|
DJNZ L7887 ; (-006H)
|
|
INC HL
|
|
PUSH HL
|
|
EXX
|
|
POP HL
|
|
CALL LDHLDE
|
|
LD (HL),000H
|
|
POP HL
|
|
RET
|
|
|
|
PUSH DE
|
|
CALL L748E
|
|
POP IX
|
|
PUSH BC
|
|
SET 6,C
|
|
LD DE,(07923H)
|
|
LD (L7923),HL
|
|
PUSH DE
|
|
CALL L77AF
|
|
JP NC,04B04H
|
|
LD DE,(07921H)
|
|
LD (L7921),HL
|
|
PUSH DE
|
|
PUSH IX
|
|
DEC HL
|
|
L78BA: CALL L5198
|
|
CALL L414A
|
|
JP Z,L4AE6
|
|
CP QDPC
|
|
JR NZ,L78BA ; (-00dH)
|
|
INC HL
|
|
POP DE
|
|
PUSH DE
|
|
CALL L6E94
|
|
POP DE
|
|
LD HL,(L7923)
|
|
POP BC
|
|
LD (07921H),BC
|
|
POP BC
|
|
LD (07923H),BC
|
|
EX DE,HL
|
|
POP BC
|
|
LD A,C
|
|
CALL L790B
|
|
LD BC,00005H
|
|
ADD HL,BC
|
|
EX DE,HL
|
|
CALL HLFTCH
|
|
CP 028H
|
|
RET NZ
|
|
PUSH DE
|
|
LD B,001H
|
|
L78EF: PUSH BC
|
|
CALL L5198
|
|
POP BC
|
|
CALL L414D
|
|
JP Z,L4AE6
|
|
CP 028H
|
|
JR NZ,L78FF ; (+001H)
|
|
INC B
|
|
L78FF: CP 029H
|
|
JR NZ,L78EF ; (-014H)
|
|
DJNZ L78EF ; (-016H)
|
|
INC HL
|
|
CALL HLFTCH
|
|
POP DE
|
|
RET
|
|
|
|
L790B: CP 003H
|
|
JR NZ,L7918 ; (+009H)
|
|
L790F: LD A,(L84C7)
|
|
CP 003H
|
|
RET Z
|
|
JP 04AEFH
|
|
|
|
L7918: LD A,(L84C7)
|
|
CP 003H
|
|
RET NZ
|
|
JP 04AEFH
|
|
|
|
L7921: NOP
|
|
NOP
|
|
L7923: NOP
|
|
NOP
|
|
PUSH HL
|
|
CALL L60B5
|
|
LD A,H
|
|
OR A
|
|
JP NZ,04AECH
|
|
LD A,L
|
|
CP 008H
|
|
JP NC,04AECH
|
|
RST 018H
|
|
DB 012H
|
|
POP HL
|
|
JR C,L7947 ; (+00eH)
|
|
JR Z,L7947 ; (+00cH)
|
|
LD DE,0FFFFH
|
|
L793E: CALL L5E97
|
|
LD A,005H
|
|
LD (L84C7),A
|
|
RET
|
|
|
|
L7947: LD E,A
|
|
LD D,000H
|
|
JR L793E ; (-00eH)
|
|
|
|
L794C: LD A,(DE)
|
|
CP (HL)
|
|
RET NZ
|
|
PUSH BC
|
|
PUSH DE
|
|
PUSH HL
|
|
LD B,C
|
|
L7953: LD A,(DE)
|
|
CP (HL)
|
|
JR NZ,L795C ; (+005H)
|
|
INC DE
|
|
INC HL
|
|
DJNZ L7953 ; (-008H)
|
|
XOR A
|
|
L795C: POP HL
|
|
POP DE
|
|
POP BC
|
|
RET
|
|
|
|
L7960: PUSH HL
|
|
LD B,005H
|
|
CALL ?CLRHL
|
|
POP HL
|
|
RET
|
|
|
|
L7968: CALL L7918
|
|
L796B: LD A,(HL)
|
|
OR A
|
|
RET Z
|
|
INC HL
|
|
LD A,(HL)
|
|
XOR 080H
|
|
LD (HL),A
|
|
DEC HL
|
|
RET
|
|
|
|
L7975: CALL L7918
|
|
LD C,A
|
|
LD A,080H
|
|
JP L7988
|
|
|
|
L797E: LD A,(L84C7)
|
|
CP 003H
|
|
JP Z,L79D2
|
|
LD C,A
|
|
XOR A
|
|
L7988: LD (L7D82),HL
|
|
PUSH DE
|
|
PUSH HL
|
|
LD (07D85H),SP
|
|
INC HL
|
|
INC DE
|
|
LD B,(HL)
|
|
XOR (HL)
|
|
EX DE,HL
|
|
XOR (HL)
|
|
DEC HL
|
|
DEC DE
|
|
EX DE,HL
|
|
RLCA
|
|
LD A,B
|
|
LD (L7D84),A
|
|
JP C,L7A93
|
|
XOR A
|
|
CP (HL)
|
|
JP Z,L79C7
|
|
LD A,(DE)
|
|
OR A
|
|
JR Z,L79AF ; (+004H)
|
|
SUB (HL)
|
|
JP L7AD6
|
|
|
|
L79AF: LD SP,(07D85H)
|
|
POP HL
|
|
POP DE
|
|
EI
|
|
LD A,(HL)
|
|
OR A
|
|
JP Z,L7E7F
|
|
LD A,(L7D84)
|
|
AND 080H
|
|
INC HL
|
|
RES 7,(HL)
|
|
OR (HL)
|
|
LD (HL),A
|
|
DEC HL
|
|
RET
|
|
|
|
L79C7: LD B,000H
|
|
LD A,005H
|
|
LD C,A
|
|
EX DE,HL
|
|
LDIR
|
|
JP L79AF
|
|
|
|
L79D2: LD B,(HL)
|
|
LD A,(DE)
|
|
ADD A,B
|
|
JP C,04AF2H
|
|
LD C,A
|
|
PUSH DE
|
|
PUSH HL
|
|
PUSH DE
|
|
INC HL
|
|
LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
LD HL,(L1076)
|
|
ADD HL,DE
|
|
EX DE,HL
|
|
LD HL,(L107A)
|
|
CALL L74D5
|
|
EX (SP),HL
|
|
LD B,(HL)
|
|
INC HL
|
|
LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
LD HL,(L1076)
|
|
ADD HL,DE
|
|
EX DE,HL
|
|
POP HL
|
|
CALL L74D5
|
|
LD A,C
|
|
LD DE,(TMPEND)
|
|
LD BC,(STRST)
|
|
EX DE,HL
|
|
OR A
|
|
SBC HL,BC
|
|
EX DE,HL
|
|
LD (L107A),HL
|
|
POP HL
|
|
LD (HL),A
|
|
INC HL
|
|
LD (HL),E
|
|
INC HL
|
|
LD (HL),D
|
|
DEC HL
|
|
DEC HL
|
|
POP DE
|
|
RET
|
|
|
|
L7A15: LD A,(L84C7)
|
|
CP 003H
|
|
JR NZ,L7A50 ; (+034H)
|
|
PUSH DE
|
|
PUSH HL
|
|
LD A,(DE)
|
|
OR (HL)
|
|
JR Z,L7A4D ; (+02bH)
|
|
LD A,(DE)
|
|
CP (HL)
|
|
JR C,L7A27 ; (+001H)
|
|
LD A,(HL)
|
|
L7A27: OR A
|
|
JR Z,L7A47 ; (+01dH)
|
|
INC HL
|
|
LD C,(HL)
|
|
INC HL
|
|
LD B,(HL)
|
|
EX DE,HL
|
|
INC HL
|
|
LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
LD HL,(L1076)
|
|
EX DE,HL
|
|
ADD HL,DE
|
|
EX DE,HL
|
|
ADD HL,BC
|
|
EX DE,HL
|
|
LD B,A
|
|
OR A
|
|
JR Z,L7A4D ; (+00eH)
|
|
L7A3F: LD A,(DE)
|
|
CP (HL)
|
|
JR NZ,L7A4D ; (+00aH)
|
|
INC DE
|
|
INC HL
|
|
DJNZ L7A3F ; (-008H)
|
|
L7A47: POP DE
|
|
POP HL
|
|
LD A,(DE)
|
|
CP (HL)
|
|
EX DE,HL
|
|
RET
|
|
|
|
L7A4D: POP HL
|
|
POP DE
|
|
RET
|
|
|
|
L7A50: INC DE
|
|
INC HL
|
|
LD A,(DE)
|
|
DEC DE
|
|
XOR (HL)
|
|
RLCA
|
|
JR NC,L7A5C ; (+004H)
|
|
LD A,(HL)
|
|
DEC HL
|
|
RLCA
|
|
RET
|
|
|
|
L7A5C: LD A,(HL)
|
|
DEC HL
|
|
RLCA
|
|
JR NC,L7A67 ; (+006H)
|
|
CALL L7A67
|
|
RET Z
|
|
CCF
|
|
RET
|
|
|
|
L7A67: PUSH DE
|
|
PUSH HL
|
|
EX DE,HL
|
|
LD A,(DE)
|
|
CP (HL)
|
|
JR NZ,L7A88 ; (+01aH)
|
|
INC DE
|
|
INC HL
|
|
LD A,(HL)
|
|
OR 080H
|
|
LD B,A
|
|
LD A,(DE)
|
|
OR 080H
|
|
CP B
|
|
JR NZ,L7A88 ; (+00eH)
|
|
LD A,(L84C7)
|
|
LD B,A
|
|
DEC B
|
|
DEC B
|
|
L7A80: INC DE
|
|
INC HL
|
|
LD A,(DE)
|
|
CP (HL)
|
|
JR NZ,L7A88 ; (+002H)
|
|
DJNZ L7A80 ; (-008H)
|
|
L7A88: POP HL
|
|
POP DE
|
|
RET
|
|
|
|
L7A8B: POP HL
|
|
PUSH HL
|
|
CALL L7960
|
|
JP L79AF
|
|
|
|
L7A93: CALL L7A67
|
|
JR Z,L7A8B ; (-00dH)
|
|
JR NC,L7AA3 ; (+009H)
|
|
LD A,(L7D84)
|
|
XOR 080H
|
|
LD (L7D84),A
|
|
SCF
|
|
L7AA3: EX AF,AF'
|
|
LD A,(HL)
|
|
OR A
|
|
JP Z,L79C7
|
|
LD A,(DE)
|
|
OR A
|
|
JP Z,L79AF
|
|
SUB (HL)
|
|
JR C,L7AB8 ; (+007H)
|
|
CP 020H
|
|
JP NC,L79C7
|
|
JR L7ABF ; (+007H)
|
|
|
|
L7AB8: NEG
|
|
CP 020H
|
|
JP NC,L79AF
|
|
L7ABF: EX AF,AF'
|
|
JR C,L7AC3 ; (+001H)
|
|
EX DE,HL
|
|
L7AC3: EX AF,AF'
|
|
JP L7B5D
|
|
|
|
L7AC7: LD SP,(07D85H)
|
|
EI
|
|
POP HL
|
|
POP DE
|
|
LD A,(07D8CH)
|
|
OR A
|
|
JP Z,04AE9H
|
|
RET
|
|
|
|
L7AD6: JR NC,L7AE2 ; (+00aH)
|
|
NEG
|
|
CP 020H
|
|
JP NC,L79AF
|
|
EX DE,HL
|
|
JR L7AE7 ; (+005H)
|
|
|
|
L7AE2: CP 020H
|
|
JP NC,L79C7
|
|
L7AE7: CALL L7B1D
|
|
LD A,H
|
|
EXX
|
|
ADC A,H
|
|
EXX
|
|
LD H,A
|
|
LD A,L
|
|
EXX
|
|
ADC A,L
|
|
EXX
|
|
LD L,A
|
|
LD A,D
|
|
EXX
|
|
ADC A,D
|
|
EXX
|
|
LD D,A
|
|
LD A,E
|
|
EXX
|
|
ADC A,E
|
|
EXX
|
|
JR NC,L7B0A ; (+00bH)
|
|
RRA
|
|
RR D
|
|
RR L
|
|
RR H
|
|
INC C
|
|
JP Z,L7AC7
|
|
L7B0A: LD E,A
|
|
LD A,C
|
|
EXX
|
|
LD BC,00005H
|
|
LD HL,(L7D82)
|
|
LD (HL),A
|
|
ADD HL,BC
|
|
DI
|
|
LD SP,HL
|
|
EXX
|
|
PUSH HL
|
|
PUSH DE
|
|
JP L79AF
|
|
|
|
L7B1D: DI
|
|
LD (07D87H),SP
|
|
EX AF,AF'
|
|
INC HL
|
|
LD SP,HL
|
|
EXX
|
|
POP DE
|
|
SET 7,E
|
|
POP HL
|
|
OR A
|
|
L7B2B: EX AF,AF'
|
|
CP 008H
|
|
JR C,L7B3C ; (+00cH)
|
|
SUB 008H
|
|
EX AF,AF'
|
|
RL H
|
|
LD H,L
|
|
LD L,D
|
|
LD D,E
|
|
LD E,000H
|
|
JR L7B2B ; (-011H)
|
|
|
|
L7B3C: OR A
|
|
JR Z,L7B4D ; (+00eH)
|
|
L7B3F: EX AF,AF'
|
|
OR A
|
|
RR E
|
|
RR D
|
|
RR L
|
|
RR H
|
|
EX AF,AF'
|
|
DEC A
|
|
JR NZ,L7B3F ; (-00eH)
|
|
L7B4D: EXX
|
|
EX DE,HL
|
|
LD C,(HL)
|
|
INC HL
|
|
LD SP,HL
|
|
POP DE
|
|
SET 7,E
|
|
POP HL
|
|
EX AF,AF'
|
|
LD SP,(07D87H)
|
|
EI
|
|
RET
|
|
|
|
L7B5D: CP 020H
|
|
JP NC,L79AF
|
|
CALL L7B1D
|
|
LD A,H
|
|
EXX
|
|
SBC A,H
|
|
EXX
|
|
LD H,A
|
|
LD A,L
|
|
EXX
|
|
SBC A,L
|
|
EXX
|
|
LD L,A
|
|
LD A,D
|
|
EXX
|
|
SBC A,D
|
|
EXX
|
|
LD D,A
|
|
LD A,E
|
|
EXX
|
|
SBC A,E
|
|
EXX
|
|
L7B78: OR A
|
|
JR Z,L7B91 ; (+016H)
|
|
L7B7B: BIT 7,A
|
|
JR NZ,L7B8D ; (+00eH)
|
|
RL H
|
|
RL L
|
|
RL D
|
|
RLA
|
|
DEC C
|
|
JP NZ,L7B7B
|
|
JP L7A8B
|
|
|
|
L7B8D: LD E,A
|
|
JP L7B0A
|
|
|
|
L7B91: LD A,C
|
|
SUB 008H
|
|
LD C,A
|
|
LD A,D
|
|
LD D,L
|
|
LD L,H
|
|
LD H,000H
|
|
JR Z,L7B9E ; (+002H)
|
|
JR NC,L7B78 ; (-026H)
|
|
L7B9E: JP L7A8B
|
|
|
|
L7BA1: LD C,A
|
|
L7BA2: INC HL
|
|
INC DE
|
|
LD A,(DE)
|
|
XOR (HL)
|
|
LD (L7D84),A
|
|
DEC HL
|
|
DEC DE
|
|
RET
|
|
|
|
L7BAC: CALL L7918
|
|
CALL L7BA1
|
|
PUSH DE
|
|
PUSH HL
|
|
LD (07D85H),SP
|
|
LD A,(HL)
|
|
OR A
|
|
JP Z,L7A8B
|
|
LD A,(DE)
|
|
OR A
|
|
JP Z,L7A8B
|
|
INC DE
|
|
PUSH DE
|
|
POP IX
|
|
ADD A,(HL)
|
|
LD E,A
|
|
LD A,000H
|
|
ADC A,A
|
|
LD D,A
|
|
LD (07D8AH),DE
|
|
INC HL
|
|
XOR A
|
|
LD (L7D89),A
|
|
LD D,(HL)
|
|
SET 7,D
|
|
INC HL
|
|
LD E,(HL)
|
|
INC HL
|
|
PUSH HL
|
|
LD H,A
|
|
LD L,A
|
|
EXX
|
|
POP HL
|
|
LD D,(HL)
|
|
INC HL
|
|
LD E,(HL)
|
|
LD B,A
|
|
LD C,A
|
|
LD H,A
|
|
LD L,A
|
|
EXX
|
|
LD A,(IX+000H)
|
|
OR 080H
|
|
LD C,004H
|
|
L7BEF: LD B,008H
|
|
OR A
|
|
JP Z,L7C84
|
|
L7BF5: RLCA
|
|
JR NC,L7C0A ; (+012H)
|
|
EX AF,AF'
|
|
EXX
|
|
LD A,C
|
|
ADD A,B
|
|
LD C,A
|
|
ADC HL,DE
|
|
EXX
|
|
ADC HL,DE
|
|
JR NC,L7C09 ; (+005H)
|
|
LD A,001H
|
|
LD (L7D89),A
|
|
L7C09: EX AF,AF'
|
|
L7C0A: SRL D
|
|
RR E
|
|
EXX
|
|
RR D
|
|
RR E
|
|
RR B
|
|
EXX
|
|
DJNZ L7BF5 ; (-023H)
|
|
L7C18: INC IX
|
|
LD A,(IX+000H)
|
|
DEC C
|
|
JR NZ,L7BEF ; (-031H)
|
|
EXX
|
|
LD A,(L7D89)
|
|
OR A
|
|
JR Z,L7C3D ; (+016H)
|
|
LD DE,(07D8AH)
|
|
INC DE
|
|
LD (07D8AH),DE
|
|
EXX
|
|
SCF
|
|
RR H
|
|
RR L
|
|
EXX
|
|
RR H
|
|
RR L
|
|
RR C
|
|
L7C3D: BIT 7,C
|
|
JR Z,L7C5B ; (+01aH)
|
|
LD DE,00001H
|
|
ADD HL,DE
|
|
EXX
|
|
LD DE,L0000
|
|
ADC HL,DE
|
|
EXX
|
|
JR NC,L7C5B ; (+00dH)
|
|
LD DE,(07D8AH)
|
|
INC DE
|
|
LD (07D8AH),DE
|
|
EXX
|
|
LD H,080H
|
|
EXX
|
|
L7C5B: POP IX
|
|
PUSH IX
|
|
LD (IX+004H),L
|
|
LD (IX+003H),H
|
|
EXX
|
|
LD (IX+002H),L
|
|
LD (IX+001H),H
|
|
LD HL,(07D8AH)
|
|
OR A
|
|
LD DE,L0081
|
|
SBC HL,DE
|
|
LD A,H
|
|
ADD A,000H
|
|
JP M,L7C90
|
|
JP NZ,L7AC7
|
|
LD (IX+000H),L
|
|
JP L79AF
|
|
|
|
L7C84: LD A,E
|
|
EXX
|
|
LD B,E
|
|
LD E,D
|
|
LD D,A
|
|
EXX
|
|
LD E,D
|
|
LD D,000H
|
|
JP L7C18
|
|
|
|
L7C90: LD SP,(07D85H)
|
|
JP L7A8B
|
|
|
|
L7C97: CALL L7918
|
|
CALL L7BA1
|
|
PUSH DE
|
|
PUSH HL
|
|
LD (07D85H),SP
|
|
LD A,(DE)
|
|
OR A
|
|
JP Z,04AE9H
|
|
EX AF,AF'
|
|
LD A,(HL)
|
|
OR A
|
|
JP Z,L7A8B
|
|
EXX
|
|
ADD A,081H
|
|
LD B,A
|
|
LD A,000H
|
|
ADC A,A
|
|
EX AF,AF'
|
|
LD C,A
|
|
LD A,B
|
|
SUB C
|
|
LD C,A
|
|
EX AF,AF'
|
|
LD B,A
|
|
EX AF,AF'
|
|
LD A,B
|
|
SBC A,000H
|
|
JP C,L7C90
|
|
JP NZ,L7AC7
|
|
LD A,C
|
|
PUSH AF
|
|
EXX
|
|
INC DE
|
|
INC HL
|
|
LD B,(HL)
|
|
SET 7,B
|
|
INC HL
|
|
LD C,(HL)
|
|
INC HL
|
|
PUSH HL
|
|
EX DE,HL
|
|
LD D,(HL)
|
|
SET 7,D
|
|
INC HL
|
|
LD E,(HL)
|
|
INC HL
|
|
PUSH HL
|
|
LD H,B
|
|
LD L,C
|
|
EXX
|
|
POP HL
|
|
LD D,(HL)
|
|
INC HL
|
|
LD E,(HL)
|
|
POP HL
|
|
LD A,(HL)
|
|
INC HL
|
|
LD L,(HL)
|
|
LD H,A
|
|
EXX
|
|
LD C,005H
|
|
L7CE9: LD B,008H
|
|
XOR A
|
|
L7CEC: BIT 7,H
|
|
JR NZ,L7D00 ; (+010H)
|
|
OR A
|
|
L7CF1: RLA
|
|
EXX
|
|
ADD HL,HL
|
|
EXX
|
|
ADC HL,HL
|
|
DJNZ L7CEC ; (-00dH)
|
|
PUSH AF
|
|
DEC C
|
|
JR NZ,L7CE9 ; (-014H)
|
|
JP L7D3A
|
|
|
|
L7D00: OR A
|
|
EXX
|
|
SBC HL,DE
|
|
EXX
|
|
SBC HL,DE
|
|
CCF
|
|
JR C,L7CF1 ; (-019H)
|
|
EXX
|
|
ADD HL,DE
|
|
EXX
|
|
ADC HL,DE
|
|
OR A
|
|
RLA
|
|
EXX
|
|
ADD HL,HL
|
|
EXX
|
|
ADC HL,HL
|
|
DJNZ L7D1F ; (+007H)
|
|
PUSH AF
|
|
LD B,008H
|
|
DEC C
|
|
JP Z,L7D3A
|
|
L7D1F: EXX
|
|
OR A
|
|
SBC HL,DE
|
|
EXX
|
|
SBC HL,DE
|
|
SCF
|
|
RLA
|
|
DJNZ L7D30 ; (+006H)
|
|
PUSH AF
|
|
LD B,008H
|
|
DEC C
|
|
JR Z,L7D3A ; (+00aH)
|
|
L7D30: EXX
|
|
ADD HL,HL
|
|
EXX
|
|
ADC HL,HL
|
|
JR C,L7D1F ; (-018H)
|
|
JP L7CEC
|
|
|
|
L7D3A: POP AF
|
|
LD H,A
|
|
EXX
|
|
POP AF
|
|
LD E,A
|
|
POP AF
|
|
LD D,A
|
|
POP AF
|
|
LD C,A
|
|
POP AF
|
|
LD B,A
|
|
POP AF
|
|
L7D46: BIT 7,B
|
|
JR NZ,L7D5D ; (+013H)
|
|
EXX
|
|
SLA H
|
|
EXX
|
|
RL E
|
|
RL D
|
|
RL C
|
|
RL B
|
|
DEC A
|
|
JP NZ,L7D46
|
|
JP L7A8B
|
|
|
|
L7D5D: EXX
|
|
RL H
|
|
EXX
|
|
JR NC,L7D74 ; (+011H)
|
|
LD HL,00001H
|
|
ADD HL,DE
|
|
EX DE,HL
|
|
LD HL,L0000
|
|
ADC HL,BC
|
|
LD B,H
|
|
LD C,L
|
|
JR NC,L7D74 ; (+003H)
|
|
LD B,080H
|
|
INC A
|
|
L7D74: POP HL
|
|
PUSH HL
|
|
LD (HL),A
|
|
INC HL
|
|
LD (HL),B
|
|
INC HL
|
|
LD (HL),C
|
|
INC HL
|
|
LD (HL),D
|
|
INC HL
|
|
LD (HL),E
|
|
JP L79AF
|
|
|
|
L7D82: NOP
|
|
NOP
|
|
L7D84: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L7D89: NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
L7D8D: INC HL
|
|
BIT 7,(HL)
|
|
DEC HL
|
|
RET
|
|
|
|
L7D92: INC (HL)
|
|
RET NZ
|
|
JP 04AE9H
|
|
|
|
L7D97: LD A,(HL)
|
|
OR A
|
|
RET Z
|
|
DEC (HL)
|
|
RET NZ
|
|
JP L7960
|
|
|
|
L7D9F: PUSH HL
|
|
INC HL
|
|
INC HL
|
|
INC HL
|
|
INC HL
|
|
INC HL
|
|
EX DE,HL
|
|
LD HL,(MEMMAX)
|
|
DEC HL
|
|
SBC HL,DE
|
|
JP C,04AF5H
|
|
POP HL
|
|
RET
|
|
|
|
L7DB1: PUSH HL
|
|
LD (L846A),HL
|
|
CALL L7D9F
|
|
EX DE,HL
|
|
LD (L846C),HL
|
|
CALL L7D9F
|
|
EX DE,HL
|
|
LD (L846E),HL
|
|
CALL L7D9F
|
|
LD (08470H),DE
|
|
POP HL
|
|
RET
|
|
|
|
L7DCC: CALL L7918
|
|
EX DE,HL
|
|
LD A,(HL)
|
|
OR A
|
|
JP Z,L7E2E
|
|
EX DE,HL
|
|
LD A,(HL)
|
|
OR A
|
|
JP Z,L7960
|
|
CALL L7D8D
|
|
JR Z,L7E08 ; (+028H)
|
|
CALL L796B
|
|
EX DE,HL
|
|
PUSH DE
|
|
PUSH HL
|
|
LD DE,L84D0
|
|
CALL L5E91
|
|
LD HL,L84D0
|
|
CALL L608B
|
|
LD A,(HL)
|
|
OR A
|
|
JP NZ,04AECH
|
|
POP HL
|
|
PUSH HL
|
|
CALL L60B5
|
|
BIT 0,L
|
|
POP DE
|
|
POP HL
|
|
JR Z,L7E08 ; (+006H)
|
|
CALL L7E08
|
|
JP L796B
|
|
|
|
L7E08: EX DE,HL
|
|
LD A,(HL)
|
|
OR A
|
|
JR Z,L7E2E ; (+021H)
|
|
CALL L7D8D
|
|
JR Z,L7E34 ; (+022H)
|
|
CALL L796B
|
|
CALL L7E34
|
|
PUSH DE
|
|
PUSH HL
|
|
LD DE,L84D0
|
|
CALL L5E8E
|
|
LD HL,L84D0
|
|
POP DE
|
|
CALL L7C97
|
|
PUSH DE
|
|
CALL L5E91
|
|
POP HL
|
|
POP DE
|
|
RET
|
|
|
|
L7E2E: PUSH DE
|
|
CALL L5E8E
|
|
POP HL
|
|
RET
|
|
|
|
L7E34: PUSH DE
|
|
LD DE,L84D0
|
|
CALL L5E91
|
|
POP HL
|
|
CALL L8319
|
|
LD DE,L84D0
|
|
CALL L7BAC
|
|
JP L81F5
|
|
|
|
L7E48: CALL L7918
|
|
PUSH DE
|
|
PUSH HL
|
|
CALL L60B5
|
|
LD A,L
|
|
CPL
|
|
LD E,A
|
|
LD A,H
|
|
CPL
|
|
LD D,A
|
|
JR L7E79 ; (+021H)
|
|
|
|
L7E58: LD A,0A2H
|
|
LD BC,0B23EH
|
|
LD BC,0AA3EH
|
|
LD (L7E74),A
|
|
INC A
|
|
LD (L7E77),A
|
|
CALL L7918
|
|
PUSH DE
|
|
PUSH HL
|
|
CALL L60B5
|
|
EX DE,HL
|
|
CALL L60B5
|
|
LD A,H
|
|
L7E74: AND D
|
|
LD D,A
|
|
LD A,L
|
|
L7E77: AND E
|
|
LD E,A
|
|
L7E79: POP HL
|
|
CALL L5E97
|
|
POP DE
|
|
RET
|
|
|
|
L7E7F: INC HL
|
|
RES 7,(HL)
|
|
DEC HL
|
|
RET
|
|
|
|
CALL L7D8D
|
|
JP Z,L604D
|
|
CALL L7EA9
|
|
CALL L604D
|
|
LD DE,L84D0
|
|
CALL L7A15
|
|
RET Z
|
|
L7E97: LD DE,L6110
|
|
JP L7975
|
|
|
|
L7E9D: LD DE,L6110
|
|
JP L797E
|
|
|
|
L7EA3: LD DE,L6110
|
|
JP L7A15
|
|
|
|
L7EA9: PUSH HL
|
|
PUSH DE
|
|
LD DE,L84D0
|
|
CALL L5E91
|
|
POP DE
|
|
POP HL
|
|
RET
|
|
|
|
L7EB4: CALL L604D
|
|
EX DE,HL
|
|
CALL L604D
|
|
EX DE,HL
|
|
CALL L7EA9
|
|
CALL L7C97
|
|
CALL L604D
|
|
CALL L7BAC
|
|
PUSH DE
|
|
LD DE,L84D0
|
|
CALL L7975
|
|
POP DE
|
|
JP L796B
|
|
|
|
L7ED3: CALL L604D
|
|
EX DE,HL
|
|
CALL L604D
|
|
EX DE,HL
|
|
CALL L7C97
|
|
JP L604D
|
|
|
|
LD A,(HL)
|
|
OR A
|
|
RET Z
|
|
CALL L7D8D
|
|
JP NZ,04AECH
|
|
CALL L8319
|
|
CALL L7D97
|
|
JP L81F5
|
|
|
|
L7EF3: PUSH HL
|
|
EX DE,HL
|
|
CALL L5E8E
|
|
POP HL
|
|
POP BC
|
|
RET
|
|
|
|
L7EFB: LD A,(HL)
|
|
LD C,H
|
|
L7EFD: ADD A,B
|
|
DEC HL
|
|
PUSH BC
|
|
INC HL
|
|
LD A,(HL)
|
|
RES 7,(HL)
|
|
DEC HL
|
|
PUSH AF
|
|
CALL L7F10
|
|
POP AF
|
|
POP BC
|
|
RLCA
|
|
RET NC
|
|
JP L796B
|
|
|
|
L7F10: CALL L7EA3
|
|
JR C,L7F33 ; (+01eH)
|
|
CALL L7D9F
|
|
PUSH DE
|
|
PUSH HL
|
|
CALL L5E91
|
|
POP DE
|
|
PUSH DE
|
|
CALL L5E8E
|
|
POP HL
|
|
POP DE
|
|
CALL L7C97
|
|
CALL L7F33
|
|
LD DE,0818DH
|
|
CALL L7975
|
|
JP L7E7F
|
|
|
|
L7F33: LD A,0FFH
|
|
LD (L80A9),A
|
|
LD DE,L7EFB
|
|
CALL L7A15
|
|
JR C,07F8FH ; (+04fH)
|
|
LD DE,L7EFD
|
|
CALL L7A15
|
|
PUSH AF
|
|
CALL L7D9F
|
|
POP AF
|
|
PUSH HL
|
|
PUSH DE
|
|
CALL L5E91
|
|
POP HL
|
|
JR C,L7F67 ; (+014H)
|
|
CALL L7E9D
|
|
EX (SP),HL
|
|
CALL L7975
|
|
POP DE
|
|
CALL L7C97
|
|
CALL 07F8FH
|
|
LD DE,08192H
|
|
JP L797E
|
|
|
|
L7F67: LD DE,L7F8A
|
|
CALL L7BAC
|
|
CALL L7E9D
|
|
EX (SP),HL
|
|
LD DE,L7F8A
|
|
CALL L7975
|
|
POP DE
|
|
CALL L7C97
|
|
CALL 07F8FH
|
|
CALL L7D92
|
|
LD DE,08192H
|
|
CALL L797E
|
|
JP L7D97
|
|
|
|
L7F8A: DB 07FH,054H,013H,0CCH,0D0H ; FP constant (used by EXP/LOG)
|
|
PUSH BC ; *** was misaligned: disassembler consumed D0+C5 as CALL Z ***
|
|
PUSH HL
|
|
CALL L7DB1
|
|
POP HL
|
|
PUSH HL
|
|
PUSH DE
|
|
CALL L5E91
|
|
POP HL
|
|
LD E,L
|
|
LD D,H
|
|
CALL L7BAC
|
|
LD DE,(0846EH)
|
|
POP HL
|
|
PUSH HL
|
|
CALL L5E91
|
|
LD A,(L84C7)
|
|
DEC A
|
|
CP 004H
|
|
LD B,A
|
|
LD HL,08130H
|
|
JP Z,L8036
|
|
LD B,00AH
|
|
JP L8036
|
|
|
|
L7FBB: PUSH BC
|
|
LD A,(HL)
|
|
OR A
|
|
JP Z,L7EF3
|
|
LD DE,0818DH
|
|
CALL L7975
|
|
CALL L796B
|
|
POP BC
|
|
L7FCB: PUSH BC
|
|
INC HL
|
|
LD A,(HL)
|
|
RES 7,(HL)
|
|
AND 080H
|
|
CPL
|
|
LD (L80A9),A
|
|
DEC HL
|
|
LD DE,L8183
|
|
PUSH HL
|
|
CALL L7A15
|
|
JR C,L7FE9 ; (+009H)
|
|
CALL L7C97
|
|
CALL L608B
|
|
CALL L7BAC
|
|
L7FE9: LD DE,08188H
|
|
CALL L7A15
|
|
JR C,L7FFC ; (+00bH)
|
|
CALL L7975
|
|
LD A,(L80A9)
|
|
XOR 080H
|
|
LD (L80A9),A
|
|
L7FFC: LD DE,0818DH
|
|
CALL L7A15
|
|
JR C,L800D ; (+009H)
|
|
LD DE,08188H
|
|
CALL L7975
|
|
CALL L7E7F
|
|
L800D: CALL L7DB1
|
|
POP HL
|
|
PUSH DE
|
|
LD DE,08192H
|
|
CALL L7A15
|
|
JR NC,L807F ; (+065H)
|
|
POP DE
|
|
PUSH HL
|
|
PUSH DE
|
|
CALL L5E91
|
|
POP HL
|
|
LD E,L
|
|
LD D,H
|
|
CALL L7BAC
|
|
LD DE,(0846EH)
|
|
POP HL
|
|
PUSH HL
|
|
CALL L5E91
|
|
LD A,(L84C7)
|
|
LD B,A
|
|
LD HL,L80E0
|
|
L8036: PUSH BC
|
|
PUSH HL
|
|
LD HL,(L846E)
|
|
LD DE,(08470H)
|
|
CALL L7BAC
|
|
POP HL
|
|
PUSH HL
|
|
LD DE,(0846CH)
|
|
PUSH DE
|
|
CALL L5E91
|
|
POP HL
|
|
LD DE,(0846EH)
|
|
CALL L7BAC
|
|
EX DE,HL
|
|
LD HL,(L846A)
|
|
CALL L797E
|
|
POP HL
|
|
LD DE,00005H
|
|
ADD HL,DE
|
|
POP BC
|
|
DJNZ L8036 ; (-02dH)
|
|
POP HL
|
|
POP BC
|
|
LD A,(L80A9)
|
|
INC HL
|
|
XOR (HL)
|
|
CPL
|
|
LD (HL),A
|
|
DEC HL
|
|
LD A,(L84C7)
|
|
CP 008H
|
|
LD A,(HL)
|
|
JR Z,L807B ; (+006H)
|
|
CP 05CH
|
|
L8077: RET NC
|
|
JP L7960
|
|
|
|
L807B: CP 04DH
|
|
JR L8077 ; (-008H)
|
|
|
|
L807F: LD DE,0818DH
|
|
CALL L7975
|
|
CALL L7E7F
|
|
POP DE
|
|
PUSH HL
|
|
PUSH DE
|
|
CALL L5E91
|
|
L808E: POP HL
|
|
LD E,L
|
|
LD D,H
|
|
CALL L7BAC
|
|
LD DE,(0846EH)
|
|
CALL L5E8E
|
|
L809B: POP DE
|
|
PUSH DE
|
|
CALL L5E8E
|
|
LD A,(L84C7)
|
|
LD B,A
|
|
LD HL,L8108
|
|
JR L8036 ; (-073H)
|
|
|
|
L80A9: NOP
|
|
PUSH BC
|
|
PUSH HL
|
|
CALL L7D9F
|
|
EX DE,HL
|
|
LD (L8472),HL
|
|
CALL L7D9F
|
|
LD (08474H),DE
|
|
POP HL
|
|
PUSH HL
|
|
CALL L5E91
|
|
LD HL,(L8472)
|
|
EX DE,HL
|
|
POP HL
|
|
PUSH HL
|
|
CALL L5E91
|
|
LD HL,(08474H)
|
|
L80CB: CALL L7FCB
|
|
POP DE
|
|
PUSH DE
|
|
CALL L5E91
|
|
LD HL,(L8472)
|
|
CALL L7FBB
|
|
EX DE,HL
|
|
POP HL
|
|
CALL L7C97
|
|
POP BC
|
|
RET
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; Floating-point polynomial coefficient tables for transcendental functions
|
|
; (SIN, COS, TAN, ATN, LOG, EXP, SQR). 5 bytes per FP constant.
|
|
; ---------------------------------------------------------------------------
|
|
L80E0: DB 07EH,0AAH,0AAH,0AAH,0ABH ; SIN/COS coeff 0
|
|
DB 07AH,008H,088H,088H,089H ; SIN/COS coeff 1
|
|
DB 074H,0D0H,00DH,000H,0D0H ; SIN/COS coeff 2
|
|
L80EF: DB 06EH,038H,0EFH,01DH,02BH ; SIN/COS coeff 3
|
|
DB 067H,0D7H,032H,02BH,040H ; SIN/COS coeff 4
|
|
L80F6: DB 060H,030H,092H,030H,09DH ; SIN/COS coeff 5
|
|
DB 058H,0D7H,03FH,09FH,03AH ; SIN/COS coeff 6
|
|
DB 050H,04AH,096H,03BH,082H ; SIN/COS coeff 7
|
|
L8108: DB 080H,080H,000H,000H,000H ; FP 1.0
|
|
DB 07CH,02AH,0AAH,0AAH,0ABH ; TAN coeff 0
|
|
DB 077H,0B6H,00BH,060H,0B6H ; TAN coeff 1
|
|
DB 071H,050H,00DH,000H,0D0H ; TAN coeff 2
|
|
DB 06BH,093H,0F2H,07DH,0BCH ; TAN coeff 3
|
|
DB 064H,00FH,076H,0C7H,080H ; TAN coeff 4
|
|
L8125: DB 05CH,0C9H,0CBH,0A5H,046H ; TAN coeff 5
|
|
L8128: DB 054H,057H,03FH,09FH,03AH ; ATN coeff 0
|
|
DB 07FH,0AAH,0AAH,0AAH,0ABH ; ATN coeff 1
|
|
DB 07EH,04CH,0CCH,0CCH,0CDH ; ATN coeff 2
|
|
DB 07EH,092H,049H,024H,092H ; ATN coeff 3
|
|
DB 07DH,063H,08EH,038H,0E4H ; ATN coeff 4
|
|
DB 07DH,0BAH,02EH,08BH,0A3H ; ATN coeff 5
|
|
DB 07DH,01DH,089H,0D8H,09EH ; ATN coeff 6
|
|
DB 07DH,088H,088H,088H,089H ; ATN coeff 7
|
|
DB 07CH,070H,0F0H,0F0H,0F1H ; ATN coeff 8
|
|
DB 07CH,0D7H,094H,035H,0E5H ; ATN coeff 9
|
|
DB 07CH,043H,00CH,030H,0C3H ; ATN coeff 10
|
|
LD DE,L0000
|
|
LD A,(HL)
|
|
OR A
|
|
JR Z,L8171 ; (+008H)
|
|
CALL L7D8D
|
|
INC DE
|
|
JR Z,L8171 ; (+002H)
|
|
DEC DE
|
|
DEC DE
|
|
L8171: CALL L5E97
|
|
RET
|
|
|
|
L8175: LD DE,08197H
|
|
JR L817D ; (+003H)
|
|
|
|
LD DE,08188H
|
|
L817D: PUSH BC
|
|
CALL L7BAC
|
|
POP BC
|
|
RET
|
|
|
|
; FP constants for LOG/EXP computation
|
|
L8183: DB 083H,049H,00FH,0DAH,0A2H ; FP log2(e)
|
|
DB 082H,049H,00FH,0DAH,0A2H ; FP constant
|
|
DB 081H,049H,00FH,0DAH,0A2H ; FP constant
|
|
DB 080H,049H,00FH,0DAH,0A2H ; FP constant
|
|
DB 07BH,00EH,0FAH,035H,013H ; FP ln(2)
|
|
PUSH HL
|
|
CALL L60B5
|
|
LD A,000H
|
|
L81A2: CP 040H
|
|
LD A,(HL)
|
|
CALL NZ,BREAKX
|
|
LD E,A
|
|
LD D,000H
|
|
POP HL
|
|
CALL L5E97
|
|
RET
|
|
|
|
LD A,(HL)
|
|
OR A
|
|
JR Z,L81B9 ; (+005H)
|
|
CALL L7D8D
|
|
JR Z,L81C4 ; (+00bH)
|
|
L81B9: PUSH HL
|
|
LD HL,L4193
|
|
LD (L81F3),HL
|
|
POP HL
|
|
XOR A
|
|
LD R,A
|
|
L81C4: PUSH BC
|
|
LD DE,(081F3H)
|
|
LD A,R
|
|
XOR D
|
|
RRC A
|
|
RRC A
|
|
RRC A
|
|
LD D,A
|
|
LD A,R
|
|
XOR E
|
|
RLC A
|
|
RLC A
|
|
LD E,D
|
|
LD D,A
|
|
LD (081F3H),DE
|
|
PUSH HL
|
|
INC HL
|
|
RES 7,D
|
|
LD (HL),D
|
|
INC HL
|
|
LD (HL),E
|
|
INC HL
|
|
LD A,R
|
|
LD (HL),A
|
|
POP HL
|
|
LD (HL),081H
|
|
CALL L7E97
|
|
POP BC
|
|
RET
|
|
|
|
L81F3: SUB E
|
|
LD B,C
|
|
L81F5: PUSH BC
|
|
LD A,(HL)
|
|
OR A
|
|
JP Z,L7EF3
|
|
INC HL
|
|
LD A,(HL)
|
|
LD (L830B),A
|
|
RES 7,(HL)
|
|
DEC HL
|
|
LD DE,L8460
|
|
CALL L7BAC
|
|
PUSH HL
|
|
CALL L7D9F
|
|
PUSH DE
|
|
CALL L5E91
|
|
POP HL
|
|
CALL L604D
|
|
PUSH HL
|
|
CALL L60B5
|
|
XOR A
|
|
CP H
|
|
JP NZ,04AE9H
|
|
LD A,L
|
|
LD (L830A),A
|
|
POP DE
|
|
POP HL
|
|
PUSH HL
|
|
CALL L7975
|
|
PUSH DE
|
|
PUSH HL
|
|
CALL L5E8E
|
|
POP DE
|
|
POP HL
|
|
CALL L7D97
|
|
EX DE,HL
|
|
XOR A
|
|
LD B,008H
|
|
L8236: PUSH BC
|
|
PUSH AF
|
|
CALL L7A15
|
|
JR C,L8244 ; (+007H)
|
|
CALL L7975
|
|
POP AF
|
|
SET 7,A
|
|
PUSH AF
|
|
L8244: POP AF
|
|
RLC A
|
|
EX DE,HL
|
|
PUSH AF
|
|
CALL L7D97
|
|
POP AF
|
|
EX DE,HL
|
|
POP BC
|
|
DJNZ L8236 ; (-01bH)
|
|
LD (L830C),A
|
|
PUSH DE
|
|
LD DE,L8456
|
|
LD A,(L84C7)
|
|
BIT 3,A
|
|
JR NZ,L8262 ; (+003H)
|
|
LD DE,L845B
|
|
L8262: CALL L7BAC
|
|
POP DE
|
|
PUSH DE
|
|
CALL L5E91
|
|
POP HL
|
|
LD A,(L84C7)
|
|
BIT 3,A
|
|
JP Z,L82FA
|
|
CALL L7D92
|
|
LD DE,L610B
|
|
CALL L797E
|
|
CALL L7D97
|
|
POP DE
|
|
PUSH DE
|
|
CALL L7BAC
|
|
LD DE,L610B
|
|
CALL L7D97
|
|
CALL L797E
|
|
CALL L7D92
|
|
POP DE
|
|
PUSH DE
|
|
CALL L7BAC
|
|
LD DE,L8451
|
|
CALL L7BAC
|
|
CALL L7D92
|
|
CALL L7E9D
|
|
CALL L7D97
|
|
POP DE
|
|
PUSH DE
|
|
CALL L7BAC
|
|
CALL L7E9D
|
|
POP DE
|
|
PUSH DE
|
|
CALL L7BAC
|
|
L82B1: CALL L7E9D
|
|
EX (SP),HL
|
|
EX DE,HL
|
|
PUSH DE
|
|
CALL L5E8E
|
|
POP HL
|
|
LD DE,L8401
|
|
LD A,(L830C)
|
|
LD B,008H
|
|
L82C3: RLC A
|
|
JR NC,L82CE ; (+007H)
|
|
PUSH AF
|
|
PUSH BC
|
|
CALL L7BAC
|
|
POP BC
|
|
POP AF
|
|
L82CE: INC DE
|
|
INC DE
|
|
INC DE
|
|
INC DE
|
|
INC DE
|
|
DJNZ L82C3 ; (-012H)
|
|
LD A,(L830A)
|
|
ADD A,(HL)
|
|
JP C,04AE9H
|
|
LD (HL),A
|
|
POP DE
|
|
CALL L7BAC
|
|
POP BC
|
|
LD A,(L830B)
|
|
RLC A
|
|
RET NC
|
|
PUSH BC
|
|
PUSH DE
|
|
PUSH HL
|
|
CALL L5E91
|
|
POP DE
|
|
PUSH DE
|
|
CALL L5E8E
|
|
POP HL
|
|
POP DE
|
|
CALL L7C97
|
|
POP BC
|
|
RET
|
|
|
|
L82FA: POP DE
|
|
PUSH DE
|
|
CALL L7BAC
|
|
LD A,(HL)
|
|
OR A
|
|
CALL NZ,L7D97
|
|
CALL L797E
|
|
JP L82B1
|
|
|
|
L830A: NOP
|
|
L830B: NOP
|
|
L830C: NOP
|
|
PUSH BC
|
|
CALL L8319
|
|
LD DE,L83F2
|
|
CALL L7BAC
|
|
POP BC
|
|
RET
|
|
|
|
L8319: PUSH BC
|
|
CALL L7D8D
|
|
JP NZ,04AECH
|
|
LD A,(HL)
|
|
OR A
|
|
JP Z,04AECH
|
|
SUB 081H
|
|
LD (L83F1),A
|
|
LD (HL),081H
|
|
XOR A
|
|
LD B,008H
|
|
LD DE,L8401
|
|
L8332: PUSH BC
|
|
PUSH AF
|
|
CALL L7A15
|
|
JR C,L8348 ; (+00fH)
|
|
PUSH HL
|
|
LD HL,00028H
|
|
ADD HL,DE
|
|
EX DE,HL
|
|
EX (SP),HL
|
|
CALL L7BAC
|
|
POP DE
|
|
POP AF
|
|
SET 7,A
|
|
PUSH AF
|
|
L8348: POP AF
|
|
RLC A
|
|
INC DE
|
|
INC DE
|
|
INC DE
|
|
INC DE
|
|
INC DE
|
|
POP BC
|
|
DJNZ L8332 ; (-021H)
|
|
DB 022H
|
|
LD L,D
|
|
ADD A,H
|
|
CALL L7D9F
|
|
EX DE,HL
|
|
LD E,A
|
|
LD D,000H
|
|
CALL L5E97
|
|
LD A,(HL)
|
|
OR A
|
|
JR Z,L8367 ; (+003H)
|
|
SUB 008H
|
|
LD (HL),A
|
|
L8367: LD A,(L83F1)
|
|
CP 080H
|
|
JR C,L8370 ; (+002H)
|
|
NEG
|
|
L8370: PUSH HL
|
|
CALL L7D9F
|
|
EX DE,HL
|
|
LD (L846C),HL
|
|
LD E,A
|
|
LD D,000H
|
|
CALL L5E97
|
|
LD A,(L83F1)
|
|
AND 080H
|
|
INC HL
|
|
OR (HL)
|
|
LD (HL),A
|
|
DEC HL
|
|
EX DE,HL
|
|
POP HL
|
|
CALL L797E
|
|
LD A,(L84C7)
|
|
LD DE,08465H
|
|
CP 005H
|
|
JR Z,L8399 ; (+003H)
|
|
LD DE,L8456
|
|
L8399: CALL L7BAC
|
|
PUSH HL
|
|
LD DE,(0846CH)
|
|
LD HL,(L846A)
|
|
PUSH HL
|
|
PUSH DE
|
|
CALL L5E91
|
|
POP HL
|
|
CALL L7E9D
|
|
EX (SP),HL
|
|
CALL L7975
|
|
POP DE
|
|
CALL L7C97
|
|
PUSH DE
|
|
CALL L5E91
|
|
POP HL
|
|
PUSH DE
|
|
LD E,L
|
|
LD D,H
|
|
CALL L7BAC
|
|
POP DE
|
|
PUSH HL
|
|
PUSH DE
|
|
CALL L5E91
|
|
POP HL
|
|
LD DE,L83FC
|
|
CALL L797E
|
|
EX DE,HL
|
|
POP HL
|
|
CALL L7BAC
|
|
LD DE,L610B
|
|
CALL L7D92
|
|
CALL L797E
|
|
CALL L7D97
|
|
EX DE,HL
|
|
LD HL,(L846A)
|
|
CALL L7BAC
|
|
LD DE,L83F7
|
|
CALL L7BAC
|
|
POP DE
|
|
CALL L797E
|
|
POP BC
|
|
RET
|
|
|
|
L83F1: DB 000H ; Exponent work variable
|
|
; ---------------------------------------------------------------------------
|
|
; Floating-point polynomial coefficient tables for SQR, LOG, EXP functions
|
|
; ---------------------------------------------------------------------------
|
|
L83F2: DB 07FH,05EH,05BH,0D8H,0A9H ; 1/sqrt(2) approx
|
|
L83F7: DB 07FH,04CH,0CCH,0CCH,0CDH ; log10(2) approx
|
|
L83FC: DB 081H,055H,055H,055H,056H ; Coeff
|
|
L8401: DB 081H,035H,004H,0F3H,034H ; LOG poly coeff 0
|
|
DB 081H,018H,037H,0F0H,052H ; LOG poly coeff 1
|
|
DB 081H,00BH,095H,0C1H,0E4H ; LOG poly coeff 2
|
|
DB 081H,005H,0AAH,0C3H,068H ; LOG poly coeff 3
|
|
DB 081H,002H,0CDH,086H,099H ; LOG poly coeff 4
|
|
DB 081H,001H,064H,0D1H,0F4H ; LOG poly coeff 5
|
|
DB 081H,000H,0B1H,0EDH,050H ; LOG poly coeff 6
|
|
DB 081H,000H,058H,0D7H,0D3H ; LOG poly coeff 7
|
|
DB 080H,035H,004H,0F3H,034H ; EXP poly coeff 0
|
|
DB 080H,057H,044H,0FCH,0CBH ; EXP poly coeff 1
|
|
DB 080H,06AH,0C0H,0C6H,0E8H ; EXP poly coeff 2
|
|
DB 080H,075H,025H,07DH,016H ; EXP poly coeff 3
|
|
DB 080H,07AH,083H,0B2H,0DCH ; EXP poly coeff 4
|
|
DB 080H,07DH,03EH,00CH,00DH ; EXP poly coeff 5
|
|
DB 080H,07EH,09EH,011H,05DH ; EXP poly coeff 6
|
|
DB 080H,07FH,04EH,0CBH,05AH ; EXP poly coeff 7
|
|
L8451: DB 07AH,008H,088H,088H,089H ; SQR constant
|
|
L8456: DB 080H,031H,072H,017H,0F8H ; SQR constant
|
|
L845B: DB 080H,031H,072H,017H,0F8H ; SQR constant
|
|
L8460: DB 081H,038H,0AAH,03BH,02AH ; SQR constant
|
|
DB 080H,031H,072H,017H,0F8H ; SQR constant
|
|
L846A: DS 2, 000H
|
|
L846C: DS 2, 000H
|
|
L846E: DS 4, 000H
|
|
L8472: DS 4, 000H
|
|
L8476: DS 2, 000H
|
|
L8478: DS 2, 000H
|
|
L847A: DS 2, 000H
|
|
L847C: DS 2, 000H
|
|
L847E: DB 000H
|
|
L847F: DB 000H
|
|
L8480: DS 2, 000H
|
|
L8482: DS 2, 000H
|
|
L8484: DS 4, 000H
|
|
L8488: DB 000H
|
|
L8489: DS 2, 000H
|
|
DB 015H
|
|
DB 000H
|
|
DB EM_P1
|
|
DB 0FFH
|
|
DS 2, 000H
|
|
L8491: DS 2, 000H
|
|
L8493: DS 2, 000H
|
|
L8495: DS 7, 000H
|
|
L849C: DB 000H
|
|
L849D: DS 3, 000H
|
|
L84A0: DB 000H
|
|
L84A1: DS 4, 000H
|
|
L84A5: DB 000H
|
|
L84A6: DS 8, 000H
|
|
L84AE: DS 25, 000H
|
|
L84C7: DB 008H ; Splash screen / banner text
|
|
L84C8: DS 8, 000H
|
|
L84D0: DS 8, 000H
|
|
L84D8: DS 8, 000H
|
|
L84E0: DB 016H
|
|
DB 00DH
|
|
DB 020H
|
|
DS 38, 0D7H
|
|
DS 2, 020H
|
|
DB 044H,005H,"ISK ",006H,042H,005H,"ASIC INTERPRETER ",006H,"MZ-2Z"
|
|
DS 2, 030H
|
|
DB 039H
|
|
L852E: DS 2, 020H
|
|
DB "V1.1T ",00DH
|
|
DS 3, 020H
|
|
DB 043H,005H,"OPYRIGHT ",006H,"(C) 1984 ",005H,"BY ",006H,"SHARP ",005H,"CORP."
|
|
DS 5, 020H
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB LSSCR
|
|
DB 020H,00DH," 28284 ",005H,"BYTES FR"
|
|
DS 2, 045H
|
|
DS 2, 00DH
|
|
DS 93, 000H
|
|
IF BUILD_RFS = 0
|
|
; Dummy EQUs for BUILD_RFS=0: labels referenced from conditional hooks
|
|
; but defined inside the RFS module. Never called when BUILD_RFS=0.
|
|
$RFS EQU $USR
|
|
ENDIF
|
|
|
|
IF BUILD_RFS = 1
|
|
; ===========================================================================
|
|
; RFS (ROM Filing System) support for MZ-2Z009E Disk BASIC
|
|
; Version 1.0B - March 2026
|
|
; (c) 2026 Philip Smart <philip.smart@net2net.org>
|
|
;
|
|
; Provides SD card file access via the RFS hardware interface.
|
|
; Device name: RF (e.g. DIR RF1:, LOAD RF1:"filename", SAVE RF1:"filename")
|
|
; ===========================================================================
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; $RFS Device Descriptor (29 bytes + 22 bytes state area = 51 bytes)
|
|
; Inserted into device chain: $QD → $RFS → $USR
|
|
; ---------------------------------------------------------------------------
|
|
$RFS: DW $USR ; Next device = $USR
|
|
DB "RFS",000H ; Device name "RFS"
|
|
DB 05FH ; flags1: bit5=1 block device, bit6=1 ZRO-based DIR
|
|
DB 007H ; flags2
|
|
DB 0FFH ; dirmx: 255 max directory entries
|
|
DW RFSINIT ; ZINIT handler
|
|
DW RFSRO ; ZRO handler (file search + header extract)
|
|
DW RFSWO ; ZWO handler (SAVE: compute SIZE)
|
|
DW RFSSTRT ; ZCL/ZSTRT handler (open/close)
|
|
DW 00000H ; ZKL (not used)
|
|
DW RFSINP_DIR ; ZINP handler (DIR fill + LOAD data)
|
|
DW RFSOUT ; ZOUT handler (triggers SD write)
|
|
DW 00000H ; ZDELT (not used)
|
|
DW RFSDIR ; ZWDIR handler (stub)
|
|
DW RFSFREE ; ZFREE handler
|
|
; Device state area (22 bytes) - BASIC reads/writes state at descriptor+29.
|
|
RFSSTATE: DS 22, 000H
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; RFSFREE - Free space query (not supported, return carry)
|
|
; ---------------------------------------------------------------------------
|
|
RFSFREE: XOR A
|
|
SCF
|
|
RET
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; RFSINIT - Initialize RFS device
|
|
; ---------------------------------------------------------------------------
|
|
RFSINIT: XOR A
|
|
LD (SAVE_PENDING),A
|
|
LD (DIR_FILLED),A
|
|
LD (DIR_ENTRY_IDX),A
|
|
LD A,0FFH
|
|
LD (DIRSECBUF),A
|
|
LD A,(ZCH)
|
|
ADD A,003H
|
|
LD (SDDRIVENO),A
|
|
RET
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; RFSSTRT - Start/Open device (A=0=open, A!=0=close)
|
|
; ---------------------------------------------------------------------------
|
|
RFSSTRT: OR A
|
|
RET NZ
|
|
LD A,(ZCH)
|
|
ADD A,003H
|
|
LD (SDDRIVENO),A
|
|
XOR A
|
|
LD (DIR_ENTRY_IDX),A
|
|
LD (DIR_FILLED),A ; Reset so next DIR re-enumerates
|
|
LD A,0FFH
|
|
LD (DIRSECBUF),A
|
|
RET
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; RFSDIR - ZWDIR handler (stub, not called with bit5=1)
|
|
; ---------------------------------------------------------------------------
|
|
RFSDIR: XOR A
|
|
RET
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; RFSWO - Write Open (ZWO handler)
|
|
; Calculates SIZE = TEXTED - TEXTST and stores in ELMD20.
|
|
; Actual write is deferred to RFSOUT via SAVE_PENDING flag.
|
|
; ---------------------------------------------------------------------------
|
|
RFSWO: LD HL,(TEXTED)
|
|
LD DE,(TEXTST)
|
|
OR A
|
|
SBC HL,DE
|
|
LD (ELMD20),HL
|
|
XOR A
|
|
RET
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; RFSOUT - Write Data (ZOUT handler for SAVE)
|
|
; First call triggers RFSDOWRITE; subsequent calls are no-ops.
|
|
; ---------------------------------------------------------------------------
|
|
RFSOUT: LD A,(SAVE_PENDING)
|
|
OR A
|
|
JR NZ,RFSOUT_NOP
|
|
INC A
|
|
LD (SAVE_PENDING),A
|
|
JP RFSDOWRITE
|
|
RFSOUT_NOP: XOR A
|
|
RET
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; RFSDOWRITE - Actual SD card write
|
|
; ---------------------------------------------------------------------------
|
|
RFSDOWRITE: PUSH HL
|
|
PUSH DE
|
|
PUSH BC
|
|
LD A,(ELMD)
|
|
CP 002H
|
|
JR NZ,WO_NONBASIC
|
|
LD HL,(ELMD20)
|
|
LD (FILE_SIZE),HL
|
|
LD HL,(TEXTST)
|
|
LD (FILE_LOADADDR),HL
|
|
JR WO_GOTINFO
|
|
WO_NONBASIC:
|
|
LD HL,(ELMD18)
|
|
LD (FILE_SIZE),HL
|
|
LD HL,(ELMD20)
|
|
LD (FILE_LOADADDR),HL
|
|
WO_GOTINFO:
|
|
LD A,(ZCH)
|
|
ADD A,003H
|
|
LD (SDDRIVENO),A
|
|
CALL MMIO_ON
|
|
LD A,0FFH
|
|
LD (DIRSECBUF),A
|
|
; Find free directory entry
|
|
LD E,000H
|
|
LD B,000H
|
|
WO_SCAN: PUSH BC
|
|
PUSH DE
|
|
CALL GETSDDIRENT
|
|
POP DE
|
|
POP BC
|
|
OR A
|
|
JP NZ,WO_IOERR
|
|
LD A,(HL)
|
|
BIT 7,A
|
|
JR Z,WO_FOUND
|
|
INC E
|
|
DJNZ WO_SCAN
|
|
JP WO_IOERR
|
|
WO_FOUND: LD A,E
|
|
LD (SAVE_DIRENT),A
|
|
; Calculate start sector: E * 128 + 16
|
|
LD H,000H
|
|
LD L,E
|
|
ADD HL,HL
|
|
ADD HL,HL
|
|
ADD HL,HL
|
|
ADD HL,HL
|
|
ADD HL,HL
|
|
ADD HL,HL
|
|
ADD HL,HL
|
|
LD DE,00010H
|
|
ADD HL,DE
|
|
LD D,000H
|
|
LD E,000H
|
|
CALL RFSGETSECTR
|
|
CALL SETLBAADDR
|
|
; Write file data sector-by-sector
|
|
WO_WLOOP: LD HL,(FILE_SIZE)
|
|
LD A,H
|
|
OR L
|
|
JR Z,WO_WDONE
|
|
OUT (PORT_DRAM),A
|
|
LD HL,(FILE_SIZE)
|
|
LD DE,00200H
|
|
OR A
|
|
SBC HL,DE
|
|
JR C,WO_PARTIAL
|
|
LD (FILE_SIZE),HL
|
|
LD BC,00200H
|
|
JR WO_COPY
|
|
WO_PARTIAL: ADD HL,DE
|
|
LD B,H
|
|
LD C,L
|
|
PUSH BC
|
|
LD HL,0
|
|
LD (FILE_SIZE),HL
|
|
; Zero-fill SECTORBUF for partial sector
|
|
LD HL,SECTORBUF
|
|
LD DE,SECTORBUF + 1
|
|
PUSH BC
|
|
LD BC,001FFH
|
|
LD (HL),000H
|
|
LDIR
|
|
POP BC
|
|
POP BC
|
|
WO_COPY: LD HL,(FILE_LOADADDR)
|
|
LD DE,SECTORBUF
|
|
LDIR
|
|
LD (FILE_LOADADDR),HL
|
|
OUT (PORT_MMIO),A
|
|
CALL SD_WRITE
|
|
OR A
|
|
JP NZ,WO_IOERR
|
|
CALL INC_STARTSEC
|
|
JR WO_WLOOP
|
|
; Write directory entry
|
|
WO_WDONE: OUT (PORT_MMIO),A
|
|
LD A,0FFH
|
|
LD (DIRSECBUF),A
|
|
LD A,(SAVE_DIRENT)
|
|
LD E,A
|
|
PUSH DE
|
|
CALL GETSDDIRENT
|
|
POP DE
|
|
OR A
|
|
JP NZ,WO_IOERR
|
|
; Fill directory entry
|
|
LD (HL),080H
|
|
INC HL
|
|
; ATRB: remap type 02 -> 05
|
|
LD A,(ELMD)
|
|
CP 002H
|
|
JR NZ,WO_AT1
|
|
LD A,005H
|
|
WO_AT1: LD (HL),A
|
|
INC HL
|
|
; NAME: 17 bytes, CR -> null
|
|
PUSH DE
|
|
LD DE,ELMD1
|
|
LD B,17
|
|
WO_NM: LD A,(DE)
|
|
CP 00DH
|
|
JR NZ,WO_NM1
|
|
XOR A
|
|
WO_NM1: LD (HL),A
|
|
INC HL
|
|
INC DE
|
|
DJNZ WO_NM
|
|
POP DE
|
|
; START_SECTOR: 4 bytes
|
|
PUSH HL
|
|
LD A,(SAVE_DIRENT)
|
|
LD H,000H
|
|
LD L,A
|
|
ADD HL,HL
|
|
ADD HL,HL
|
|
ADD HL,HL
|
|
ADD HL,HL
|
|
ADD HL,HL
|
|
ADD HL,HL
|
|
ADD HL,HL
|
|
LD DE,00010H
|
|
ADD HL,DE
|
|
EX DE,HL
|
|
POP HL
|
|
LD (HL),000H
|
|
INC HL
|
|
LD (HL),000H
|
|
INC HL
|
|
LD (HL),D
|
|
INC HL
|
|
LD (HL),E
|
|
INC HL
|
|
; SIZE: 2 bytes LE
|
|
PUSH DE
|
|
LD A,(ELMD)
|
|
CP 002H
|
|
JR NZ,WO_SZ_NB
|
|
LD DE,(ELMD20)
|
|
JR WO_SZ_OK
|
|
WO_SZ_NB: LD DE,(ELMD18)
|
|
WO_SZ_OK: LD (HL),E
|
|
INC HL
|
|
LD (HL),D
|
|
INC HL
|
|
; DTADR: 2 bytes LE
|
|
LD A,(ELMD)
|
|
CP 002H
|
|
JR NZ,WO_DA_NB
|
|
LD DE,(TEXTST)
|
|
JR WO_DA_OK
|
|
WO_DA_NB: LD DE,(ELMD20)
|
|
WO_DA_OK: LD (HL),E
|
|
INC HL
|
|
LD (HL),D
|
|
INC HL
|
|
; EXADR: 2 bytes LE
|
|
LD DE,(ELMD22)
|
|
LD (HL),E
|
|
INC HL
|
|
LD (HL),D
|
|
INC HL
|
|
; RESERVED: 3 bytes zero
|
|
LD (HL),000H
|
|
INC HL
|
|
LD (HL),000H
|
|
INC HL
|
|
LD (HL),000H
|
|
POP DE
|
|
; Write directory sector back
|
|
LD A,(SAVE_DIRENT)
|
|
SRL A
|
|
SRL A
|
|
SRL A
|
|
SRL A
|
|
LD DE,0
|
|
LD H,0
|
|
LD L,A
|
|
CALL RFSGETSECTR
|
|
CALL SETLBAADDR
|
|
CALL SD_WRITE
|
|
OR A
|
|
JR NZ,WO_IOERR
|
|
CALL MMIO_OFF
|
|
POP BC
|
|
POP DE
|
|
POP HL
|
|
XOR A
|
|
RET
|
|
WO_IOERR: CALL MMIO_OFF
|
|
POP BC
|
|
POP DE
|
|
POP HL
|
|
XOR A
|
|
SCF
|
|
RET
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; RFSRO - Read One directory entry (ZRO handler)
|
|
; Each call returns one valid 32-byte MZF directory entry at (HL).
|
|
; ---------------------------------------------------------------------------
|
|
RFSRO: LD (DIR_BUFPTR),HL
|
|
PUSH HL
|
|
PUSH DE
|
|
PUSH BC
|
|
LD A,(ZCH)
|
|
ADD A,003H
|
|
LD (SDDRIVENO),A
|
|
CALL MMIO_ON
|
|
LD HL,(DIR_BUFPTR)
|
|
LD B,32
|
|
RFSRO_CLR: LD (HL),000H
|
|
INC HL
|
|
DJNZ RFSRO_CLR
|
|
RFSRO_NEXT:
|
|
LD A,(DIR_ENTRY_IDX)
|
|
LD E,A
|
|
CALL GETSDDIRENT
|
|
OR A
|
|
JR NZ,RFSRO_END
|
|
LD A,(HL)
|
|
BIT 7,A
|
|
JR Z,RFSRO_SKIP
|
|
INC HL
|
|
LD A,(HL)
|
|
DEC HL
|
|
OR A
|
|
JR Z,RFSRO_SKIP
|
|
CP 0FFH
|
|
JR Z,RFSRO_SKIP
|
|
CALL CONVERT_ENTRY
|
|
LD A,(DIR_ENTRY_IDX)
|
|
INC A
|
|
LD (DIR_ENTRY_IDX),A
|
|
CALL MMIO_OFF
|
|
POP BC
|
|
POP DE
|
|
POP HL
|
|
LD HL,(DIR_BUFPTR)
|
|
LD A,(HL)
|
|
OR A
|
|
RET
|
|
RFSRO_SKIP:
|
|
LD A,(DIR_ENTRY_IDX)
|
|
INC A
|
|
LD (DIR_ENTRY_IDX),A
|
|
JR Z,RFSRO_END
|
|
JR RFSRO_NEXT
|
|
RFSRO_END:
|
|
CALL MMIO_OFF
|
|
POP BC
|
|
POP DE
|
|
POP HL
|
|
XOR A
|
|
SCF
|
|
RET
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; RFSINP_DIR - ZINP handler for $RFS device
|
|
; Called from multiple paths:
|
|
; - SVC#2F dir search (02F38H) with H>=28H for disk ID check
|
|
; - SVC#2F dir search (02F38H) with H<28H for directory entry read
|
|
; - SVC#39 via RFS_BIT5PATH with H=20H for DIR enumeration
|
|
; - (SVC#30 no longer reaches here — RFS_SVC30_HOOK calls RFSINP_LD directly)
|
|
; Dispatch:
|
|
; H >= 28H → RFSINP_DISKID (returns valid-disk marker at L2800)
|
|
; H < 28H, DIR_FILLED=0 → fill DIR buffer at L2000
|
|
; H < 28H, DIR_FILLED=1 → RET (buffer already filled, NOP for remaining iterations)
|
|
; ---------------------------------------------------------------------------
|
|
RFSINP_DIR:
|
|
; Debug: entry marker "D"
|
|
PUSH AF
|
|
LD A,'D'
|
|
OUT (050H),A
|
|
POP AF
|
|
; Dispatch based on H and DIR_FILLED state
|
|
LD A,H
|
|
CP 028H
|
|
JP NC,RFSINP_DISKID
|
|
LD A,(DIR_FILLED)
|
|
OR A
|
|
RET NZ ; DIR already filled — NOP for remaining SVC#2F iterations
|
|
; DIR mode: enumerate files into 0x2000 buffer
|
|
PUSH HL
|
|
PUSH DE
|
|
PUSH BC
|
|
LD HL,L2000
|
|
LD DE,L2000 + 1
|
|
LD BC,007FFH
|
|
LD (HL),000H
|
|
LDIR
|
|
LD A,(ZCH)
|
|
ADD A,003H
|
|
LD (SDDRIVENO),A
|
|
LD HL,L2000
|
|
LD (HL),080H
|
|
CALL MMIO_ON
|
|
LD A,0FFH
|
|
LD (DIRSECBUF),A
|
|
LD HL,L2000 + 020H
|
|
LD (DIR_BUFPTR),HL
|
|
LD E,000H
|
|
LD D,03FH
|
|
LD B,000H
|
|
RDIR_LOOP: PUSH BC
|
|
PUSH DE
|
|
CALL GETSDDIRENT
|
|
POP DE
|
|
POP BC
|
|
OR A
|
|
JR NZ,RDIR_DONE
|
|
LD A,(HL)
|
|
BIT 7,A
|
|
JR Z,RDIR_NEXT
|
|
INC HL
|
|
LD A,(HL)
|
|
DEC HL
|
|
OR A
|
|
JR Z,RDIR_NEXT
|
|
CP 0FFH
|
|
JR Z,RDIR_NEXT
|
|
PUSH DE
|
|
PUSH BC
|
|
CALL CONVERT_ENTRY
|
|
POP BC
|
|
POP DE
|
|
DEC D
|
|
JR Z,RDIR_DONE
|
|
RDIR_NEXT: INC E
|
|
DJNZ RDIR_LOOP
|
|
RDIR_DONE: CALL MMIO_OFF
|
|
POP BC
|
|
POP DE
|
|
POP HL
|
|
LD A,001H
|
|
LD (DIR_FILLED),A
|
|
XOR A
|
|
RET
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; RFSINP_DISKID - Identity read: fill L2800-L28FF with zeros
|
|
; All-zero is safe: L2E67's JP M check passes (bit7=0), and L2E36's
|
|
; bitmask comparison (CPL/AND) produces 0 for every byte.
|
|
; RFS_BIT5PATH sets L2800[0]=0x80 separately before the DIR fill call.
|
|
; ---------------------------------------------------------------------------
|
|
RFSINP_DISKID:
|
|
PUSH HL
|
|
PUSH DE
|
|
PUSH BC
|
|
LD HL,02800H
|
|
LD DE,02801H
|
|
LD BC,000FFH
|
|
LD (HL),000H ; Zero-fill: safe for L2E67 and L2E52
|
|
LDIR
|
|
POP BC
|
|
POP DE
|
|
POP HL
|
|
XOR A
|
|
RET
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; RFSINP_LD - LOAD data transfer from SD card
|
|
; Finds file by name, reads sectors to load address.
|
|
; ---------------------------------------------------------------------------
|
|
RFSINP_LD:
|
|
; Debug: LOAD data entry
|
|
PUSH AF
|
|
LD A,'L'
|
|
OUT (050H),A
|
|
LD A,'D'
|
|
OUT (050H),A
|
|
LD A,':'
|
|
OUT (050H),A
|
|
; Show ELMD[0..7]
|
|
PUSH HL
|
|
PUSH BC
|
|
LD HL,ELMD
|
|
LD B,008H
|
|
RLD_DMP1: LD A,(HL)
|
|
CALL DBG_HEX
|
|
LD A,' '
|
|
OUT (050H),A
|
|
INC HL
|
|
DJNZ RLD_DMP1
|
|
CALL DBG_CRLF
|
|
POP BC
|
|
POP HL
|
|
POP AF
|
|
;
|
|
LD (RFS_LD_A0),A
|
|
PUSH HL
|
|
PUSH DE
|
|
PUSH BC
|
|
LD A,(ZCH)
|
|
ADD A,003H
|
|
LD (SDDRIVENO),A
|
|
CALL MMIO_ON
|
|
LD A,0FFH
|
|
LD (DIRSECBUF),A
|
|
LD DE,ELMD1
|
|
CALL FINDSD
|
|
JR Z,RLD_FOUND
|
|
; Debug: file not found
|
|
PUSH AF
|
|
OUT (PORT_DRAM),A
|
|
LD A,'L'
|
|
OUT (050H),A
|
|
LD A,'N'
|
|
OUT (050H),A
|
|
CALL DBG_CRLF
|
|
OUT (PORT_MMIO),A
|
|
POP AF
|
|
JP RLD_NFERR
|
|
RLD_FOUND:
|
|
; Debug: file found
|
|
PUSH AF
|
|
OUT (PORT_DRAM),A
|
|
LD A,'L'
|
|
OUT (050H),A
|
|
LD A,'F'
|
|
OUT (050H),A
|
|
CALL DBG_CRLF
|
|
OUT (PORT_MMIO),A
|
|
POP AF
|
|
; HL = directory entry
|
|
; Read file type from SD entry (offset 1) and update ELMD
|
|
INC HL ; HL = entry + 1 = type byte
|
|
LD A,(HL)
|
|
CP 005H
|
|
JR NZ,RLD_TYPOK
|
|
LD A,002H ; SD type 5 → MZ type 2 (BASIC)
|
|
RLD_TYPOK: LD (ELMD),A ; Update ELMD[0] with actual file type
|
|
; Skip to START_SECTOR (entry + 19; we're at entry + 1)
|
|
LD DE,18
|
|
ADD HL,DE
|
|
; Copy 4-byte start sector
|
|
LD DE,FILE_STARTSEC
|
|
LD A,(HL)
|
|
LD (DE),A
|
|
INC HL
|
|
INC DE
|
|
LD A,(HL)
|
|
LD (DE),A
|
|
INC HL
|
|
INC DE
|
|
LD A,(HL)
|
|
LD (DE),A
|
|
INC HL
|
|
INC DE
|
|
LD A,(HL)
|
|
LD (DE),A
|
|
; Read SIZE from SD entry and update ELMD20
|
|
INC HL
|
|
LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
EX DE,HL
|
|
LD (FILE_SIZE),HL
|
|
LD (ELMD20),HL ; Update ELMD with actual file size
|
|
EX DE,HL
|
|
; Read DTADR from SD entry and update ELMD22
|
|
INC HL
|
|
LD E,(HL)
|
|
INC HL
|
|
LD D,(HL)
|
|
EX DE,HL
|
|
LD (FILE_LOADADDR),HL
|
|
LD (ELMD22),HL ; Update ELMD with actual DTADR
|
|
; For BASIC (type 2), override load addr with TEXTST
|
|
LD A,(ELMD) ; Now reads correct type (set above)
|
|
CP 002H
|
|
JR NZ,RLD_NORLOC
|
|
LD HL,(TEXTST)
|
|
LD (FILE_LOADADDR),HL
|
|
RLD_NORLOC:
|
|
; Convert to absolute sector
|
|
LD A,(FILE_STARTSEC)
|
|
LD D,A
|
|
LD A,(FILE_STARTSEC+1)
|
|
LD E,A
|
|
LD A,(FILE_STARTSEC+2)
|
|
LD H,A
|
|
LD A,(FILE_STARTSEC+3)
|
|
LD L,A
|
|
CALL RFSGETSECTR
|
|
CALL SETLBAADDR
|
|
; Read sectors
|
|
RLD_LOOP: CALL SD_READ
|
|
OR A
|
|
JR NZ,RLD_ERR
|
|
OUT (PORT_DRAM),A
|
|
LD HL,(FILE_SIZE)
|
|
LD DE,00200H
|
|
OR A
|
|
SBC HL,DE
|
|
JR C,RLD_PARTIAL
|
|
LD (FILE_SIZE),HL
|
|
LD BC,00200H
|
|
JR RLD_COPY
|
|
RLD_PARTIAL:ADD HL,DE
|
|
LD B,H
|
|
LD C,L
|
|
LD HL,0
|
|
LD (FILE_SIZE),HL
|
|
RLD_COPY: LD HL,SECTORBUF
|
|
LD DE,(FILE_LOADADDR)
|
|
LDIR
|
|
LD (FILE_LOADADDR),DE
|
|
LD HL,(FILE_SIZE)
|
|
LD A,H
|
|
OR L
|
|
JR Z,RLD_DONE
|
|
CALL INC_STARTSEC
|
|
OUT (PORT_MMIO),A
|
|
JR RLD_LOOP
|
|
RLD_DONE: OUT (PORT_MMIO),A
|
|
CALL MMIO_OFF
|
|
; Conditionally write status bytes (SVC #33 path only)
|
|
LD A,(RFS_LD_A0)
|
|
OR A
|
|
JR Z,RLD_SKIP_STAT
|
|
LD HL,(L180B)
|
|
DEC HL
|
|
LD (HL),0FFH
|
|
DEC HL
|
|
LD (HL),0FFH
|
|
RLD_SKIP_STAT:
|
|
; Debug: LOAD complete OK
|
|
LD A,'L'
|
|
OUT (050H),A
|
|
LD A,'='
|
|
OUT (050H),A
|
|
LD A,'K'
|
|
OUT (050H),A
|
|
CALL DBG_CRLF
|
|
;
|
|
POP BC
|
|
POP DE
|
|
POP HL
|
|
XOR A
|
|
RET
|
|
RLD_ERR: ; Debug: LOAD error (SD read)
|
|
PUSH AF
|
|
OUT (PORT_DRAM),A
|
|
LD A,'L'
|
|
OUT (050H),A
|
|
LD A,'='
|
|
OUT (050H),A
|
|
LD A,'E'
|
|
OUT (050H),A
|
|
CALL DBG_CRLF
|
|
POP AF
|
|
OUT (PORT_MMIO),A
|
|
CALL MMIO_OFF
|
|
POP BC
|
|
POP DE
|
|
POP HL
|
|
XOR A
|
|
SCF
|
|
RET
|
|
RLD_NFERR: CALL MMIO_OFF
|
|
POP BC
|
|
POP DE
|
|
POP HL
|
|
XOR A
|
|
SCF
|
|
RET
|
|
|
|
; ===========================================================================
|
|
; Low-level SD card access routines
|
|
; ===========================================================================
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; MMIO_ON - Enter MMIO mode for SPI access
|
|
; ---------------------------------------------------------------------------
|
|
MMIO_ON: POP HL
|
|
LD (SAVE_SP),SP
|
|
LD SP,TEMP_STACK_TOP
|
|
PUSH HL
|
|
DI
|
|
XOR A
|
|
OUT (PORT_MMIO),A
|
|
CALL TRAIN_UPCNTR
|
|
RET
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; MMIO_OFF - Leave MMIO mode, restore DRAM and BASIC stack
|
|
; ---------------------------------------------------------------------------
|
|
MMIO_OFF: POP HL
|
|
XOR A
|
|
OUT (PORT_DRAM),A
|
|
EI
|
|
LD SP,(SAVE_SP)
|
|
JP (HL)
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; TRAIN_UPCNTR - Train the RFS register latch (15 reads of EFF8H)
|
|
; ---------------------------------------------------------------------------
|
|
TRAIN_UPCNTR:
|
|
LD HL,BNKCTRLRST
|
|
LD B,15
|
|
TRAIN_LP: LD A,(HL)
|
|
DJNZ TRAIN_LP
|
|
XOR A
|
|
RET
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; SPI routines
|
|
; ---------------------------------------------------------------------------
|
|
SPIOUT: LD (HWSPIDATA),A
|
|
LD (HWSPISTART),A
|
|
RET
|
|
|
|
SPIIN: LD (HWSPISTART),A
|
|
LD A,(HWSPIDATA)
|
|
RET
|
|
|
|
SPI_CS_LO: LD A,SDCS_ACT
|
|
LD (BNKCTRL),A
|
|
RET
|
|
|
|
SPI_CS_HI: LD A,SDCS_DEACT
|
|
LD (BNKCTRL),A
|
|
RET
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; SD_READ - Read one 512-byte sector into SECTORBUF
|
|
; ---------------------------------------------------------------------------
|
|
SD_READ: CALL SPI_CS_LO
|
|
LD A,051H
|
|
CALL SPIOUT
|
|
LD A,(SDSTARTSEC)
|
|
CALL SPIOUT
|
|
LD A,(SDSTARTSEC+1)
|
|
CALL SPIOUT
|
|
LD A,(SDSTARTSEC+2)
|
|
CALL SPIOUT
|
|
LD A,(SDSTARTSEC+3)
|
|
CALL SPIOUT
|
|
LD A,0FFH
|
|
CALL SPIOUT
|
|
LD B,0FFH
|
|
SDR_R1: CALL SPIIN
|
|
CP 0FFH
|
|
JR NZ,SDR_GOTR1
|
|
DJNZ SDR_R1
|
|
JR SDR_ERR
|
|
SDR_GOTR1: OR A
|
|
JR NZ,SDR_ERR
|
|
LD B,0FFH
|
|
SDR_TOK: CALL SPIIN
|
|
CP 0FEH
|
|
JR Z,SDR_DATA
|
|
CP 0FFH
|
|
JR NZ,SDR_ERR
|
|
DJNZ SDR_TOK
|
|
JR SDR_ERR
|
|
SDR_DATA: LD HL,SECTORBUF
|
|
LD D,002H
|
|
SDR_PG: LD B,000H
|
|
SDR_BYTE: CALL SPIIN
|
|
LD (HL),A
|
|
INC HL
|
|
DJNZ SDR_BYTE
|
|
DEC D
|
|
JR NZ,SDR_PG
|
|
CALL SPIIN
|
|
CALL SPIIN
|
|
CALL SPI_CS_HI
|
|
XOR A
|
|
RET
|
|
SDR_ERR: CALL SPI_CS_HI
|
|
LD A,001H
|
|
RET
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; SD_WRITE - Write one 512-byte sector from SECTORBUF
|
|
; ---------------------------------------------------------------------------
|
|
SD_WRITE: CALL SPI_CS_LO
|
|
LD A,058H
|
|
CALL SPIOUT
|
|
LD A,(SDSTARTSEC)
|
|
CALL SPIOUT
|
|
LD A,(SDSTARTSEC+1)
|
|
CALL SPIOUT
|
|
LD A,(SDSTARTSEC+2)
|
|
CALL SPIOUT
|
|
LD A,(SDSTARTSEC+3)
|
|
CALL SPIOUT
|
|
LD A,0FFH
|
|
CALL SPIOUT
|
|
LD B,0FFH
|
|
SDW_R1: CALL SPIIN
|
|
CP 0FFH
|
|
JR NZ,SDW_GOTR1
|
|
DJNZ SDW_R1
|
|
JR SDW_ERR
|
|
SDW_GOTR1: OR A
|
|
JR NZ,SDW_ERR
|
|
LD A,0FEH
|
|
CALL SPIOUT
|
|
LD HL,SECTORBUF
|
|
LD D,002H
|
|
SDW_PG: LD B,000H
|
|
SDW_BYTE: LD A,(HL)
|
|
CALL SPIOUT
|
|
INC HL
|
|
DJNZ SDW_BYTE
|
|
DEC D
|
|
JR NZ,SDW_PG
|
|
LD A,0FFH
|
|
CALL SPIOUT
|
|
CALL SPIOUT
|
|
CALL SPIIN
|
|
AND 01FH
|
|
CP 005H
|
|
JR NZ,SDW_ERR
|
|
LD D,040H
|
|
SDW_BSY1: LD B,000H
|
|
SDW_BSY2: CALL SPIIN
|
|
CP 0FFH
|
|
JR Z,SDW_DONE
|
|
DJNZ SDW_BSY2
|
|
DEC D
|
|
JR NZ,SDW_BSY1
|
|
JR SDW_ERR
|
|
SDW_DONE: CALL SPI_CS_HI
|
|
XOR A
|
|
RET
|
|
SDW_ERR: CALL SPI_CS_HI
|
|
LD A,001H
|
|
RET
|
|
|
|
; ===========================================================================
|
|
; Directory and file access routines
|
|
; ===========================================================================
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; ADD3216 - Add 16-bit BC to 32-bit DEHL
|
|
; ---------------------------------------------------------------------------
|
|
ADD3216: ADD HL,BC
|
|
EX DE,HL
|
|
LD BC,0
|
|
ADC HL,BC
|
|
EX DE,HL
|
|
RET
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; RFSGETSECTR - Calculate absolute sector (adds drive offset)
|
|
; Each drive image = 0x8010 sectors
|
|
; ---------------------------------------------------------------------------
|
|
RFSGETSECTR:
|
|
LD A,(SDDRIVENO)
|
|
GETSEC_LP: OR A
|
|
RET Z
|
|
DEC A
|
|
LD BC,08010H
|
|
CALL ADD3216
|
|
JR GETSEC_LP
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; SETLBAADDR - Store DEHL into SDSTARTSEC (big-endian)
|
|
; ---------------------------------------------------------------------------
|
|
SETLBAADDR: LD A,D
|
|
LD (SDSTARTSEC),A
|
|
LD A,E
|
|
LD (SDSTARTSEC+1),A
|
|
LD A,H
|
|
LD (SDSTARTSEC+2),A
|
|
LD A,L
|
|
LD (SDSTARTSEC+3),A
|
|
RET
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; INC_STARTSEC - Increment SDSTARTSEC by 1 (32-bit big-endian)
|
|
; ---------------------------------------------------------------------------
|
|
INC_STARTSEC:
|
|
LD HL,SDSTARTSEC+3
|
|
INC (HL)
|
|
RET NZ
|
|
DEC HL
|
|
INC (HL)
|
|
RET NZ
|
|
DEC HL
|
|
INC (HL)
|
|
RET NZ
|
|
DEC HL
|
|
INC (HL)
|
|
RET
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; GETSDDIRENT - Get SD directory entry with sector caching
|
|
; Entry: E = entry number (0-255)
|
|
; Exit: HL = pointer to 32-byte entry, A = 0 success / 1 error
|
|
; ---------------------------------------------------------------------------
|
|
GETSDDIRENT:
|
|
PUSH DE
|
|
LD A,E
|
|
SRL A
|
|
SRL A
|
|
SRL A
|
|
SRL A
|
|
LD C,A
|
|
LD A,(DIRSECBUF)
|
|
CP C
|
|
JR Z,GDIR_CACHED
|
|
LD A,C
|
|
LD (DIRSECBUF),A
|
|
LD DE,0
|
|
LD H,0
|
|
LD L,A
|
|
CALL RFSGETSECTR
|
|
CALL SETLBAADDR
|
|
CALL SD_READ
|
|
OR A
|
|
JR NZ,GDIR_ERR
|
|
GDIR_CACHED:POP DE
|
|
PUSH DE
|
|
LD A,E
|
|
AND 00FH
|
|
LD HL,SECTORBUF
|
|
OR A
|
|
JR Z,GDIR_DONE
|
|
LD B,A
|
|
LD DE,00020H
|
|
GDIR_ADD: ADD HL,DE
|
|
DJNZ GDIR_ADD
|
|
GDIR_DONE: POP DE
|
|
XOR A
|
|
RET
|
|
GDIR_ERR: POP DE
|
|
LD A,001H
|
|
RET
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; FINDSD - Find file by name in SD directory
|
|
; Entry: DE = filename (CR or null terminated)
|
|
; Exit: Z = found (HL = entry), NZ = not found
|
|
; ---------------------------------------------------------------------------
|
|
FINDSD: LD (FINDSD_NAME),DE
|
|
LD E,000H
|
|
LD B,000H
|
|
FSD_LOOP: PUSH BC
|
|
PUSH DE
|
|
CALL GETSDDIRENT
|
|
POP DE
|
|
POP BC
|
|
OR A
|
|
JR NZ,FSD_NF
|
|
LD A,(HL)
|
|
BIT 7,A
|
|
JR Z,FSD_NEXT
|
|
INC HL
|
|
LD A,(HL)
|
|
DEC HL
|
|
OR A
|
|
JR Z,FSD_NEXT
|
|
CP 0FFH
|
|
JR Z,FSD_NEXT
|
|
PUSH HL
|
|
PUSH DE
|
|
PUSH BC
|
|
INC HL
|
|
INC HL
|
|
LD DE,(FINDSD_NAME)
|
|
LD B,17
|
|
FSD_CMP: LD A,(DE)
|
|
CP 00DH
|
|
JR Z,FSD_MATCH
|
|
OR A
|
|
JR Z,FSD_MATCH
|
|
CP (HL)
|
|
JR NZ,FSD_NOMATCH
|
|
INC DE
|
|
INC HL
|
|
DJNZ FSD_CMP
|
|
FSD_MATCH: POP BC
|
|
POP DE
|
|
POP HL
|
|
XOR A
|
|
RET
|
|
FSD_NOMATCH:POP BC
|
|
POP DE
|
|
POP HL
|
|
FSD_NEXT: INC E
|
|
DJNZ FSD_LOOP
|
|
FSD_NF: LD A,001H
|
|
OR A
|
|
RET
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; CONVERT_ENTRY - Convert SD entry to Disk BASIC DIR buffer format
|
|
; Entry: HL = SD entry in SECTORBUF
|
|
; Exit: DIR_BUFPTR advanced by 32
|
|
; ---------------------------------------------------------------------------
|
|
CONVERT_ENTRY:
|
|
INC HL
|
|
LD DE,(DIR_BUFPTR)
|
|
LD A,(HL)
|
|
CP 005H
|
|
JR NZ,CE_AT1
|
|
LD A,002H
|
|
CE_AT1: LD (DE),A
|
|
INC HL
|
|
INC DE
|
|
LD B,17
|
|
CE_NAME: LD A,(HL)
|
|
OR A
|
|
JR NZ,CE_NM1
|
|
LD A,00DH
|
|
CE_NM1: LD (DE),A
|
|
INC HL
|
|
INC DE
|
|
DJNZ CE_NAME
|
|
; Skip START_SECTOR[0..1], copy [2..3]
|
|
INC HL
|
|
INC HL
|
|
LD A,(HL)
|
|
LD (DE),A
|
|
INC HL
|
|
INC DE
|
|
LD A,(HL)
|
|
LD (DE),A
|
|
INC HL
|
|
INC DE
|
|
; Copy SIZE(2) + DTADR(2) + EXADR(2) = 6 bytes
|
|
LD BC,6
|
|
LDIR
|
|
; Advance DIR_BUFPTR by 32
|
|
LD HL,(DIR_BUFPTR)
|
|
LD DE,00020H
|
|
ADD HL,DE
|
|
LD (DIR_BUFPTR),HL
|
|
RET
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; MEMCLI_PATCH - Trampoline for memory clear init
|
|
; Original: RST 018H / DB 020H / EX DE,HL
|
|
; ---------------------------------------------------------------------------
|
|
ENDIF ; (Glass: label outside IF)
|
|
MEMCLI_PATCH:
|
|
IF BUILD_RFS = 1
|
|
; Runtime patch: L2FD1 must call L2FE8_FIX instead of L2FE8.
|
|
; Binary keeps original bytes (CD E8 2F) at 0x2FD1 so the LOAD
|
|
; from MZ-5Z008 doesn't corrupt its own L2FD1 mid-transfer.
|
|
; We patch here because cold start runs ONCE after full load.
|
|
LD A,L2FE8_FIX & 0FFH ; Low byte of L2FE8_FIX address
|
|
LD (L2FD1+1),A ; Patch CALL operand low byte
|
|
LD A,L2FE8_FIX >> 8 ; High byte
|
|
LD (L2FD1+2),A ; Patch CALL operand high byte
|
|
;
|
|
RST 018H
|
|
DB 020H ; SVC 020H: boot beep + EI
|
|
LD HL,RFS_END
|
|
JP L402F ; Continue with memory clear loop
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; RFS_ERR_HOOK - Debug: show error code before BASIC warm restart
|
|
; A = error code from error table (L1F6A or L4AE6)
|
|
; NOTE: L0182 must JP here BEFORE calling L0D20, because L0D20 maps
|
|
; Monitor ROM at 0000-0FFF which overlays L0182's code. The original
|
|
; JP RFS_ERR_HOOK at 0x0187 was invisible (Monitor ROM's JP L0000 ran).
|
|
; ---------------------------------------------------------------------------
|
|
ENDIF ; (Glass: label outside IF)
|
|
RFS_ERR_HOOK:
|
|
IF BUILD_RFS = 1
|
|
; AF on stack from L0182's PUSH AF
|
|
LD A,'!'
|
|
OUT (050H),A
|
|
LD A,'E'
|
|
OUT (050H),A
|
|
LD A,':'
|
|
OUT (050H),A
|
|
POP AF
|
|
PUSH AF
|
|
CALL DBG_HEX
|
|
CALL DBG_CRLF
|
|
CALL L0D20 ; Bank reset (maps Monitor ROM at 0000-0FFF)
|
|
JP 00186H ; Jump to Monitor ROM's handler (POP AF + JP L0000)
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; SVC30_DBG - Debug wrapper for SVC #30 handler
|
|
; Shows L1050 (device flags) and ZINP for every SVC #30 call, then dispatches.
|
|
; ---------------------------------------------------------------------------
|
|
ENDIF ; (Glass: label outside IF)
|
|
SVC30_DBG:
|
|
IF BUILD_RFS = 1
|
|
; Check ZINP high byte for $RFS
|
|
LD A,(ZINP+1)
|
|
CP 080H ; RFS handlers are at >= 0x8000
|
|
JP NC,RFS_SVC30_HOOK ; $RFS
|
|
; Not $RFS: use flags1 bit5 for block-device detection
|
|
LD A,(L1050) ; flags1
|
|
AND 020H ; bit5 = block device
|
|
JP Z,SVC30_FD ; not block device → direct IOCALL
|
|
JP L2AD2 ; $FD/$QD block device
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; RFS_BIT5PATH - Block-device DIR handler for $RFS
|
|
; Replaces the standard L2FD1 path (0x2F38) which doesn't work with
|
|
; RFSINP_DIR because L2FD1 always calls ZINP with HL=L2800 (H>=28H),
|
|
; which triggers RFSINP_DISKID instead of the DIR fill path.
|
|
; For non-$RFS block devices ($FD/$QD), falls through to the original path.
|
|
; Detects $RFS by device name (ZDEVNM), not flags — $QD also has 0x5F.
|
|
; ---------------------------------------------------------------------------
|
|
ENDIF ; (Glass: label outside IF)
|
|
RFS_BIT5PATH:
|
|
IF BUILD_RFS = 1
|
|
; Detect $RFS by device name (flags1 bits 5+6 cannot distinguish
|
|
; $QD from $RFS — both have 0x5F). Same approach as MZ-5Z008.
|
|
LD A,(ZDEVNM) ; First char of device name
|
|
CP 'R'
|
|
JP NZ,02F38H ; Not 'R' → not $RFS → original path
|
|
LD A,(ZDEVNM+1) ; Second char
|
|
CP 'F'
|
|
JP NZ,02F38H ; Not 'F' → not $RFS → original path
|
|
;
|
|
; $RFS custom DIR handler — replicates the TWO ZINP calls that the
|
|
; standard 02F38H→L2FD1 path makes (L2FE8 identity + L2FD4 DIR fill).
|
|
; MZ-5Z008 DBG_BIT5PATH does exactly this.
|
|
;
|
|
; 1st ZINP call: disk identity (H=0x28 → RFSINP_DISKID → zeros L2800)
|
|
LD HL,02800H ; H=0x28 triggers DISKID path
|
|
LD A,(ZCH)
|
|
CALL RFSINP_DIR
|
|
;
|
|
; 2nd ZINP call: DIR fill (H=0x20 → fills L2000-L27FF)
|
|
LD HL,L2000 ; H=0x20 triggers DIR fill path
|
|
LD A,(ZCH)
|
|
CALL RFSINP_DIR
|
|
;
|
|
; Check DIR buffer and clean up (same as MZ-5Z008 DBG_BIT5PATH)
|
|
LD HL,L2000
|
|
LD A,(HL)
|
|
OR A
|
|
JP P,01F70H ; If bit7=0 → no entries (error)
|
|
; Clear DIR_FILLED so next DIR re-enumerates
|
|
XOR A
|
|
LD (DIR_FILLED),A
|
|
; Reset FDC to known state after MMIO bank switching.
|
|
; L2D08 normally calls L368D for $FD cleanup, but skips it when
|
|
; L1044=$RFS. The MMIO OUT(E3H)/OUT(E1H) bank switch during
|
|
; RFSINP_DIR may leave the emulated FDC I/O ports in an undefined
|
|
; state. L368D resets FDC select ports (DC/DD/DE) to 0 and clears
|
|
; L35B5, ensuring the next FD access does a full identity check.
|
|
JP L368D ; XOR A + L361C(OUT DC/DD/DE) + LD (L35B5),A + RET
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; RFS_SVC30_HOOK - Direct RFSINP_LD call for $RFS
|
|
; Device already identified as $RFS by bit6 test in SVC30_DBG.
|
|
; Calls RFSINP_LD directly (the SVC#30 block path would go through
|
|
; L2AD2 → L2FE8 → IOCALL → RFSINP_DIR with H>=28H → RFSINP_DISKID,
|
|
; which zeros L2800 instead of loading the file).
|
|
; ---------------------------------------------------------------------------
|
|
ENDIF ; (Glass: label outside IF)
|
|
RFS_SVC30_HOOK:
|
|
IF BUILD_RFS = 1
|
|
; $RFS: call RFSINP_LD directly (A=0 for read)
|
|
; RFSINP_LD updates ELMD[0], ELMD20, ELMD22 from SD entry.
|
|
XOR A
|
|
CALL RFSINP_LD
|
|
JR C,SH_FAIL ; RFSINP_LD failed → don't patch stack
|
|
;
|
|
; Fix stacked file size for L5C0F.
|
|
; L5C0F pushed BC=ELMD20 (was 0) BEFORE SVC#30.
|
|
; RFSINP_LD wrote the actual size to ELMD20.
|
|
; Stack: SP → [ret_addr, old_BC=0, ...]. Patch old_BC.
|
|
POP HL ; HL=ret_addr, SP → [old_BC, ...]
|
|
EX (SP),HL ; HL=old_BC, SP → [ret_addr, ...]
|
|
LD HL,(ELMD20) ; HL=actual file size
|
|
EX (SP),HL ; HL=ret_addr, SP → [actual_size, ...]
|
|
PUSH HL ; SP → [ret_addr, actual_size, ...]
|
|
JR SH_CLEANUP
|
|
SH_FAIL:
|
|
SH_CLEANUP:
|
|
; Cleanup after RFS LOAD (success or fail):
|
|
; 1. Clear L1FC0 dirty flag — prevents L1FAB infinite loop.
|
|
; 2. Set SAVE_PENDING=1 — prevents spurious RFSDOWRITE.
|
|
XOR A
|
|
LD (L1FC0),A
|
|
LD A,001H
|
|
LD (SAVE_PENDING),A
|
|
RET
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; L2FE8_FIX - Skip FD-specific identity check for $RFS in L2FD1
|
|
; L2FE8 calls IOOUT→L2D62(SVC#29 seek)→L2E36(identity check), all of which
|
|
; operate on FD hardware state (L35B5, track positioning, disk identity at
|
|
; L2800). For $RFS, these are meaningless and leave stale FD state that
|
|
; corrupts the next LOAD "FD1:" after DIR "RFSx:".
|
|
; By returning immediately for $RFS, L2FD1 skips straight to L2FD4 (ZINP
|
|
; dispatch) which calls RFSINP_DIR for the DIR fill — exactly what's needed.
|
|
; ---------------------------------------------------------------------------
|
|
ENDIF ; (Glass: label outside IF)
|
|
L2FE8_FIX:
|
|
IF BUILD_RFS = 1
|
|
PUSH AF ; MUST preserve A (caller set A=0 for ZINP select
|
|
; at L2FD4; IOOUT saves/restores AF via trampoline)
|
|
LD A,(ZINP+1) ; High byte of current ZINP handler
|
|
CP 080H ; RFS handlers are at >= 0x8000
|
|
JR NC,L2FE8_SKIP ; $RFS → skip identity check
|
|
POP AF ; Restore A=0 for IOOUT save
|
|
JP L2FE8 ; $FD/$QD → original identity check path
|
|
L2FE8_SKIP:
|
|
POP AF ; Restore A
|
|
RET ; $RFS → return to L2FD4 (skip L2FE8 entirely)
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; RFS_DIR_FIX - Advance HL past ':' for DIR device-name parsing
|
|
; ---------------------------------------------------------------------------
|
|
ENDIF ; (Glass: label outside IF)
|
|
RFS_DIR_FIX:
|
|
IF BUILD_RFS = 1
|
|
LD DE,DEVNAMEBUF
|
|
INC HL
|
|
JP L596B
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; RFS_DIR_STR - Handle string expressions in DIR for device names
|
|
; Called instead of L6E67 to properly parse "RF1:" strings
|
|
; ---------------------------------------------------------------------------
|
|
ENDIF ; (Glass: label outside IF)
|
|
RFS_DIR_STR:
|
|
IF BUILD_RFS = 1
|
|
CALL L6E67 ; Evaluate string expr. B=strlen, DE=strptr
|
|
PUSH HL
|
|
EX DE,HL
|
|
LD DE,DEVNAMEBUF
|
|
LD A,B
|
|
OR A
|
|
JR Z,DSTR_DONE
|
|
LD C,A
|
|
LD B,000H
|
|
DSTR_LP: LD A,(HL)
|
|
LD (DE),A
|
|
INC HL
|
|
INC DE
|
|
INC B
|
|
DEC C
|
|
CP 03AH
|
|
JR Z,DSTR_DONE
|
|
LD A,C
|
|
OR A
|
|
JR NZ,DSTR_LP
|
|
DSTR_DONE: LD DE,DEVNAMEBUF
|
|
POP HL
|
|
RET
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; SVC32_FIX - Fixed SVC #32 (file data transfer)
|
|
; Original code only supported CMT (checks L1051 bit7). Block devices
|
|
; (FD, QD, RFS) have bit7=0 and always failed with !Y error.
|
|
; Fix: call ZINP directly via IOCALL, bypassing L2FE8 sector management.
|
|
; L2FE8's L2D62→L2E36 chain repositions the FD driver to directory sectors
|
|
; (via SVC#29), corrupting the file data position set by SVC#2F.
|
|
; HL (load address) passes through IOCALL to ZINP as the buffer address.
|
|
; DE=file size, BC=sector position from ELMD area (set by SVC#2F).
|
|
; L2D08 cleanup is essential: clears L1FC0, closes channels. Without it,
|
|
; L1FAB sees dirty L1FC0 and tries SVC#2E write-back → WRITE_SECTOR hang.
|
|
; ---------------------------------------------------------------------------
|
|
ENDIF ; (Glass: label outside IF)
|
|
SVC32_FIX:
|
|
IF BUILD_RFS = 1
|
|
LD A,(01051H)
|
|
BIT 7,A
|
|
JR NZ,SVC32_CMT
|
|
; Non-CMT: check if block device (bit5 of flags1)
|
|
LD A,(L1050)
|
|
BIT 5,A
|
|
JP Z,YP_HOOK_G ; !Y source G: SVC32 L1050 bit5=0
|
|
; Block device (FD/QD/RFS): skip L2FE8 sector management,
|
|
; enter at L2FD4 (SKPDE→IOCALL chain) with L2D08 on stack.
|
|
; L2FE8 repositions FD to directory sectors, corrupting position
|
|
; set by SVC#2F. QD is immune (L35B5 bit7=1), FD is not.
|
|
LD DE,(ELMD20) ; File size
|
|
LD BC,(ELMD30) ; Sector position
|
|
PUSH HL ; Save load address
|
|
LD HL,L2D08 ; Cleanup return address
|
|
EX (SP),HL ; Stack=[L2D08,...], HL=load addr restored
|
|
XOR A ; A=0, Z=1 → selects ZINP at L2FD4
|
|
JP L2FD4 ; SKPDE→IOCALL→RET→L2D08 cleanup
|
|
SVC32_CMT:
|
|
LD BC,(ELMD20)
|
|
JP L313A
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; SVC2F_YP_DBG - Diagnostic: L2F6E's L1D15 returned Z (bit5=0) → !Y error
|
|
; Prints "2F:XX YYYY" where XX=L1050 (flags1), YYYY=L1044 (device pointer).
|
|
; This tells us what device descriptor is active when !Y fires.
|
|
; ---------------------------------------------------------------------------
|
|
ENDIF ; (Glass: label outside IF)
|
|
SVC2F_YP_DBG:
|
|
IF BUILD_RFS = 1
|
|
PUSH AF
|
|
LD A,'2'
|
|
OUT (050H),A
|
|
LD A,'F'
|
|
OUT (050H),A
|
|
LD A,':'
|
|
OUT (050H),A
|
|
LD A,(L1050) ; flags1 — bit5 should be 1 for block device
|
|
CALL DBG_HEX
|
|
LD A,' '
|
|
OUT (050H),A
|
|
LD A,(L1044+1) ; device pointer high byte
|
|
CALL DBG_HEX
|
|
LD A,(L1044) ; device pointer low byte
|
|
CALL DBG_HEX
|
|
CALL DBG_CRLF
|
|
POP AF
|
|
JP 01F97H ; Continue to !Y error handler
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; RFS_FREE_HOOK - Intercept L2F4B free space query for $RFS
|
|
; During DIR display (2nd SVC#39 call), L1D6B sets IX=L2F4B (block device
|
|
; free space) and calls IOCALL. L2F4B → L2E36 → L2E67 reads "disk identity"
|
|
; via ZINP. For $RFS, RFSINP_DISKID fills L2800 with 0x80 (bit7=1), but
|
|
; L2E67 expects bit7=0 → fires JP M,01F70H → error table → JP 0x0182 →
|
|
; warm restart via 0x0D20 which resets SP, discarding pending stack frames
|
|
; from L2F4B/L2E36/IOCALL — corrupting system state for subsequent commands.
|
|
; Fix: detect $RFS and return carry (= no free space info). The caller at
|
|
; L1D95+3 does JR C,L1DA8 which skips free space display gracefully.
|
|
; For non-$RFS block devices ($FD/$QD), fall through to original L2F4B.
|
|
; ---------------------------------------------------------------------------
|
|
ENDIF ; (Glass: label outside IF)
|
|
RFS_FREE_HOOK:
|
|
IF BUILD_RFS = 1
|
|
; Detect $RFS by device name (flags1 bits 5+6 cannot distinguish
|
|
; $QD from $RFS — both have 0x5F). Same fix as RFS_BIT5PATH.
|
|
LD A,(ZDEVNM) ; First char of device name
|
|
CP 'R'
|
|
JP NZ,L2F4B ; Not 'R' → not $RFS → original free space
|
|
LD A,(ZDEVNM+1) ; Second char
|
|
CP 'F'
|
|
JP NZ,L2F4B ; Not 'F' → not $RFS → original free space
|
|
XOR A ; A=0 (IOCALL checks: OR A / SCF / RET Z)
|
|
SCF ; Carry = skip free space display
|
|
RET
|
|
|
|
; ===========================================================================
|
|
; RFS Data Variables
|
|
; ===========================================================================
|
|
ENDIF ; (Glass: label outside IF)
|
|
DEVNAMEBUF:
|
|
IF BUILD_RFS = 1
|
|
DS 8, 000H ; Device name buffer for DIR/LOAD parsing
|
|
; (replaces L5982 4-byte buffer which overflowed
|
|
; for 3-letter device names like "RFS1:")
|
|
ENDIF ; (Glass: label outside IF)
|
|
SDSTARTSEC:
|
|
IF BUILD_RFS = 1
|
|
DS 4, 000H ; Current sector address (big-endian)
|
|
ENDIF ; (Glass: label outside IF)
|
|
DIRSECBUF:
|
|
IF BUILD_RFS = 1
|
|
DB 0FFH ; Cached directory sector number
|
|
ENDIF ; (Glass: label outside IF)
|
|
FILE_STARTSEC:
|
|
IF BUILD_RFS = 1
|
|
DS 4, 000H ; File start sector (big-endian)
|
|
ENDIF ; (Glass: label outside IF)
|
|
FILE_LOADADDR:
|
|
IF BUILD_RFS = 1
|
|
DW 00000H ; Current load/store address
|
|
ENDIF ; (Glass: label outside IF)
|
|
FILE_SIZE:
|
|
IF BUILD_RFS = 1
|
|
DW 00000H ; Remaining bytes during transfer
|
|
ENDIF ; (Glass: label outside IF)
|
|
RFS_LD_A0:
|
|
IF BUILD_RFS = 1
|
|
DB 000H ; Entry A for RFSINP_LD
|
|
ENDIF ; (Glass: label outside IF)
|
|
DIR_BUFPTR:
|
|
IF BUILD_RFS = 1
|
|
DW 00000H ; Current DIR buffer write position
|
|
; ---------------------------------------------------------------------------
|
|
; DBG_HEX — Output A as 2 hex ASCII digits to port 050H.
|
|
; Preserves BC, DE, HL.
|
|
; ---------------------------------------------------------------------------
|
|
ENDIF ; (Glass: label outside IF)
|
|
DBG_HEX:
|
|
IF BUILD_RFS = 1
|
|
PUSH AF
|
|
RRCA
|
|
RRCA
|
|
RRCA
|
|
RRCA
|
|
AND 00FH
|
|
CALL DBG_NIB
|
|
POP AF
|
|
AND 00FH
|
|
DBG_NIB: CP 00AH
|
|
JR C,DBG_DIG
|
|
ADD A,037H ; 'A'..'F'
|
|
OUT (050H),A
|
|
RET
|
|
DBG_DIG: ADD A,030H ; '0'..'9'
|
|
OUT (050H),A
|
|
RET
|
|
;
|
|
; ---------------------------------------------------------------------------
|
|
; DBG_CRLF — Output CR+LF to port 050H. Preserves all registers.
|
|
; ---------------------------------------------------------------------------
|
|
ENDIF ; (Glass: label outside IF)
|
|
DBG_CRLF:
|
|
IF BUILD_RFS = 1
|
|
PUSH AF
|
|
LD A,00DH ; CR
|
|
OUT (050H),A
|
|
LD A,00AH ; LF
|
|
OUT (050H),A
|
|
POP AF
|
|
RET
|
|
;
|
|
; ---------------------------------------------------------------------------
|
|
; YP_HOOK — Identify which code path triggers !Y error.
|
|
; Each entry loads a letter (A-F) into A via the cascade trick (DB 021H).
|
|
; Output: single letter + CRLF, then continues to !Y error table at 01F97H.
|
|
; A = line 3813 (L1B55, BIT 2 of L1043)
|
|
; B = line 3902 (L1BFD, BIT 6 of L1050)
|
|
; C = line 4030 (device setup)
|
|
; D = line 4059 (BIT 7 of L1050)
|
|
; E = line 4064 (BIT 5 of L1050, DIR non-RFS)
|
|
; F = line 4764 (L2B6A, L1D15 bit5)
|
|
; G = SVC32_FIX (L1050 bit5=0, non-block device in SVC#32)
|
|
; ---------------------------------------------------------------------------
|
|
ENDIF ; (Glass: label outside IF)
|
|
YP_HOOK_A:
|
|
IF BUILD_RFS = 1
|
|
LD A,'A'
|
|
DB 021H
|
|
ENDIF ; (Glass: label outside IF)
|
|
YP_HOOK_B:
|
|
IF BUILD_RFS = 1
|
|
LD A,'B'
|
|
DB 021H
|
|
ENDIF ; (Glass: label outside IF)
|
|
YP_HOOK_C:
|
|
IF BUILD_RFS = 1
|
|
LD A,'C'
|
|
DB 021H
|
|
ENDIF ; (Glass: label outside IF)
|
|
YP_HOOK_D:
|
|
IF BUILD_RFS = 1
|
|
LD A,'D'
|
|
DB 021H
|
|
ENDIF ; (Glass: label outside IF)
|
|
YP_HOOK_E:
|
|
IF BUILD_RFS = 1
|
|
LD A,'E'
|
|
DB 021H
|
|
ENDIF ; (Glass: label outside IF)
|
|
YP_HOOK_F:
|
|
IF BUILD_RFS = 1
|
|
LD A,'F'
|
|
DB 021H
|
|
ENDIF ; (Glass: label outside IF)
|
|
YP_HOOK_G:
|
|
IF BUILD_RFS = 1
|
|
LD A,'G'
|
|
OUT (050H),A
|
|
CALL DBG_CRLF
|
|
JP 01F97H
|
|
;
|
|
; BC_ERR_HOOK - Debug: show ELMD[0..1] when error 0xBC fires
|
|
ENDIF ; (Glass: label outside IF)
|
|
BC_ERR_HOOK:
|
|
IF BUILD_RFS = 1
|
|
PUSH AF
|
|
LD A,'B'
|
|
OUT (050H),A
|
|
LD A,(L1000) ; File mode byte
|
|
CALL DBG_HEX
|
|
LD A,(L1001) ; File type (should be 0x0D here)
|
|
CALL DBG_HEX
|
|
CALL DBG_CRLF
|
|
POP AF
|
|
JP 01F9AH ; L1F6A cascade: error 0xBC
|
|
;
|
|
; ---------------------------------------------------------------------------
|
|
; Data area
|
|
; ---------------------------------------------------------------------------
|
|
ENDIF ; (Glass: label outside IF)
|
|
FINDSD_NAME:
|
|
IF BUILD_RFS = 1
|
|
DW 00000H ; Saved filename pointer for FINDSD
|
|
ENDIF ; (Glass: label outside IF)
|
|
SAVE_DIRENT:
|
|
IF BUILD_RFS = 1
|
|
DB 000H ; Directory entry number for SAVE
|
|
ENDIF ; (Glass: label outside IF)
|
|
SAVE_PENDING:
|
|
IF BUILD_RFS = 1
|
|
DB 000H ; 1 = SAVE done flag
|
|
ENDIF ; (Glass: label outside IF)
|
|
DIR_FILLED:
|
|
IF BUILD_RFS = 1
|
|
DB 000H ; 1 = DIR buffer filled
|
|
ENDIF ; (Glass: label outside IF)
|
|
SAVE_SP:
|
|
IF BUILD_RFS = 1
|
|
DW 00000H ; Saved BASIC stack pointer
|
|
ENDIF ; (Glass: label outside IF)
|
|
DIR_ENTRY_IDX:
|
|
IF BUILD_RFS = 1
|
|
DB 000H ; Current directory entry index
|
|
ENDIF ; (Glass: label outside IF)
|
|
SDDRIVENO:
|
|
IF BUILD_RFS = 1
|
|
DB 000H ; SD drive number
|
|
ENDIF ; (Glass: label outside IF)
|
|
SECTORBUF:
|
|
IF BUILD_RFS = 1
|
|
DS 512, 000H ; SD card sector buffer (512 bytes)
|
|
DS 14, 000H ; Temp stack space (grows downward, 7 levels = exact max depth)
|
|
ENDIF ; (Glass: labels outside IF)
|
|
TEMP_STACK_TOP: ; SP points here
|
|
RFS_END EQU TEMP_STACK_TOP ; End of RFS code = new TEXTST
|
|
IF BUILD_RFS = 1
|
|
;
|
|
; Pad remaining space to maintain original binary size (0x9000 bytes)
|
|
DS 09000H - RFS_END, 0FFH
|
|
|
|
ENDIF ; END BUILD_RFS = 1
|
|
|
|
; ===========================================================================
|
|
; Tape/CMT bootstrap (only for BUILD_TAPE=1)
|
|
; Loads at TAPECOPY (0x1200), copies BASIC ROM to 0x0000, jumps to cold start.
|
|
; ===========================================================================
|
|
IF BUILD_TAPE = 1
|
|
EXECSTART: XOR A
|
|
LD DE,L0000
|
|
CALL TIMST ; Stop timer
|
|
LD DE,L0000
|
|
LD HL,BASICEND - L0000
|
|
OR A
|
|
SBC HL,DE
|
|
LD C,L
|
|
LD B,H
|
|
LD HL,TAPECOPY
|
|
OUT (LSE0),A ; Map 0000-0FFF to DRAM
|
|
LDIR ; Copy BASIC ROM to 0x0000
|
|
JP L0000 ; Jump to cold start
|
|
BASICEND:
|
|
ENDIF
|