mirror of
https://github.com/romychs/sprinter-unzip.git
synced 2026-02-20 09:31:52 +03:00
Fix strings for right offsets
This commit is contained in:
parent
bc088bb793
commit
6dead9b2a0
170
unzip.asm
170
unzip.asm
@ -1,9 +1,14 @@
|
|||||||
DEBUG EQU 1
|
; ====================================================
|
||||||
; ==============================================
|
|
||||||
; PKUNZIP utility for Sprinter version 0.7
|
; PKUNZIP utility for Sprinter version 0.7
|
||||||
; Created by Aleksey Gavrilenko 09.02.2002
|
; Created by Aleksey Gavrilenko 09.02.2002
|
||||||
; Procedure deflate by Michail Kondratyev
|
; Procedure deflate by Michail Kondratyev
|
||||||
; ==============================================
|
; ====================================================
|
||||||
|
|
||||||
|
; Set to 1 to turn debug ON with DeZog VSCode plugin
|
||||||
|
; Set to 0 to compile .EXE
|
||||||
|
DEBUG EQU 0
|
||||||
|
|
||||||
|
|
||||||
SLDOPT COMMENT WPMEM, LOGPOINT, ASSERTION
|
SLDOPT COMMENT WPMEM, LOGPOINT, ASSERTION
|
||||||
|
|
||||||
DEVICE NOSLOT64K
|
DEVICE NOSLOT64K
|
||||||
@ -70,9 +75,9 @@ EXE_HEADER
|
|||||||
ORG 0x8100
|
ORG 0x8100
|
||||||
STACK_TOP
|
STACK_TOP
|
||||||
|
|
||||||
; ==============================================
|
; ====================================================
|
||||||
; MAIN Entry point
|
; MAIN Entry point
|
||||||
; ==============================================
|
; ====================================================
|
||||||
START
|
START
|
||||||
IF DEBUG == 1
|
IF DEBUG == 1
|
||||||
LD IX,CMD_LINE2
|
LD IX,CMD_LINE2
|
||||||
@ -407,11 +412,11 @@ CRC_CHK_ERR
|
|||||||
; FILENAME BYTE
|
; FILENAME BYTE
|
||||||
; ENDS
|
; ENDS
|
||||||
|
|
||||||
; --------------------------------------
|
; ----------------------------------------------------
|
||||||
; Read local file header
|
; Read local file header
|
||||||
; ret A=0 - for LocalHileHeader
|
; ret A=0 - for LocalHileHeader
|
||||||
; A=ff - for CentralDirectory
|
; A=ff - for CentralDirectory
|
||||||
; ---------------------------
|
; ----------------------------------------------------
|
||||||
; ZIP Local File Header:
|
; ZIP Local File Header:
|
||||||
; +0 sw Signature 0x04034b50
|
; +0 sw Signature 0x04034b50
|
||||||
; +2 w Version to extract
|
; +2 w Version to extract
|
||||||
@ -426,7 +431,7 @@ CRC_CHK_ERR
|
|||||||
; +28 w Extra field Len (m)
|
; +28 w Extra field Len (m)
|
||||||
; +30 n FileName
|
; +30 n FileName
|
||||||
; +30+n m Extra Field
|
; +30+n m Extra Field
|
||||||
; ----------------------------
|
; ----------------------------------------------------
|
||||||
READ_HEADERS
|
READ_HEADERS
|
||||||
LD A,(FH_INP)
|
LD A,(FH_INP)
|
||||||
LD HL,TEMP_BUFFR ; DST ADDR
|
LD HL,TEMP_BUFFR ; DST ADDR
|
||||||
@ -517,11 +522,11 @@ NO_CENTRAL_DIR
|
|||||||
AND A
|
AND A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
; ---------------------------------
|
; ----------------------------------------------------
|
||||||
; Read next cmd line parameter
|
; Read next cmd line parameter
|
||||||
; Inp: HL - pointer to cmd line position
|
; Inp: HL - pointer to cmd line position
|
||||||
; DE - pointer to buffer to place parameter
|
; DE - pointer to buffer to place parameter
|
||||||
; ---------------------------------
|
; ----------------------------------------------------
|
||||||
READ_CMD_PAR
|
READ_CMD_PAR
|
||||||
PUSH DE
|
PUSH DE
|
||||||
|
|
||||||
@ -555,12 +560,12 @@ PARAM_EOL
|
|||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
|
|
||||||
; ---------------------------------
|
; ----------------------------------------------------
|
||||||
; File name from filepath
|
; File name from filepath
|
||||||
; HL - Buffer to seaarch
|
; HL - Buffer to seaarch
|
||||||
; ret: CF=1 - error
|
; ret: CF=1 - error
|
||||||
; else FILE_SPEC = file name
|
; else FILE_SPEC = file name
|
||||||
; ---------------------------------
|
; ----------------------------------------------------
|
||||||
FIND_FILE_NAME
|
FIND_FILE_NAME
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD BC,0x80
|
LD BC,0x80
|
||||||
@ -599,7 +604,7 @@ NOT_BKSL
|
|||||||
AND A
|
AND A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
; ---------------------------------
|
; ----------------------------------------------------
|
||||||
MAKE_FILE_PATH
|
MAKE_FILE_PATH
|
||||||
PUSH DE
|
PUSH DE
|
||||||
PUSH BC
|
PUSH BC
|
||||||
@ -675,9 +680,9 @@ L_SPC_END
|
|||||||
XOR A
|
XOR A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
; ---------------------------------------------------------
|
; ----------------------------------------------------
|
||||||
; Main code Variables and Constants
|
; Main code Variables and Constants
|
||||||
; ---------------------------------------------------------
|
; ----------------------------------------------------
|
||||||
|
|
||||||
; Local header parameters from zip file storage
|
; Local header parameters from zip file storage
|
||||||
LH_PARAMS:
|
LH_PARAMS:
|
||||||
@ -839,21 +844,19 @@ DW_COUNTER_H
|
|||||||
DW 0
|
DW 0
|
||||||
|
|
||||||
|
|
||||||
; ---------------------------------------------------------
|
; ----------------------------------------------------
|
||||||
; End Main code Variables and Constants
|
; End Main code Variables and Constants
|
||||||
; ---------------------------------------------------------
|
; ----------------------------------------------------
|
||||||
|
|
||||||
; --------------------------------------
|
; ----------------------------------------------------
|
||||||
; Load BC Bytes to (HL) from input file
|
; Load BC Bytes to (HL) from input file
|
||||||
; --------------------------------------
|
; ----------------------------------------------------
|
||||||
LOAD_DATA_BLK
|
LOAD_DATA_BLK
|
||||||
PUSH BC
|
PUSH BC
|
||||||
POP DE
|
POP DE
|
||||||
PUSH HL
|
PUSH HL
|
||||||
FILEPOS_H EQU $+2
|
FILEPOS_H+* LD IX,0x0
|
||||||
LD IX,0x0
|
FILEPOS_L+* LD HL,0x0
|
||||||
FILEPOS_L EQU $+1
|
|
||||||
LD HL,0x0
|
|
||||||
LD A,IXH
|
LD A,IXH
|
||||||
OR IXL
|
OR IXL
|
||||||
JR NZ,L_IX_N0
|
JR NZ,L_IX_N0
|
||||||
@ -886,7 +889,7 @@ LD_NXT_BLK
|
|||||||
OUT (PAGE0),A
|
OUT (PAGE0),A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
; ----------------------------------------------------------
|
; ----------------------------------------------------
|
||||||
FL_DECOMP
|
FL_DECOMP
|
||||||
LD A,(LH_PARAMS)
|
LD A,(LH_PARAMS)
|
||||||
AND A
|
AND A
|
||||||
@ -913,11 +916,11 @@ DC_NEXT_BLK
|
|||||||
JP C,ERR_FILE_OP
|
JP C,ERR_FILE_OP
|
||||||
JR DC_NEXT_BLK
|
JR DC_NEXT_BLK
|
||||||
|
|
||||||
; ----------------------------------------------------------
|
; ----------------------------------------------------
|
||||||
; Read block of uncompressed data
|
; Read block of uncompressed data
|
||||||
; HL - buffer to out
|
; HL - buffer to out
|
||||||
; BC - count of bytes to read
|
; BC - count of bytes to read
|
||||||
; ----------------------------------------------------------
|
; ----------------------------------------------------
|
||||||
UC_READ
|
UC_READ
|
||||||
PUSH BC
|
PUSH BC
|
||||||
POP DE
|
POP DE
|
||||||
@ -951,9 +954,9 @@ RD_DE_BYTES
|
|||||||
JP C,ERR_FILE_OP
|
JP C,ERR_FILE_OP
|
||||||
RET
|
RET
|
||||||
|
|
||||||
; ----------------------------------------------------------
|
; ----------------------------------------------------
|
||||||
; Handle errors with file operations
|
; Handle errors with file operations
|
||||||
; ----------------------------------------------------------
|
; ----------------------------------------------------
|
||||||
ERR_FILE_OP
|
ERR_FILE_OP
|
||||||
SUB 0x2
|
SUB 0x2
|
||||||
LD HL,MSG_WRONG_DEV ; "Wrong device!\r\n"
|
LD HL,MSG_WRONG_DEV ; "Wrong device!\r\n"
|
||||||
@ -1015,9 +1018,9 @@ OF_ALRDY_CL
|
|||||||
; - Terminate program
|
; - Terminate program
|
||||||
|
|
||||||
|
|
||||||
; ------------------------------------------
|
; ----------------------------------------------------
|
||||||
; Switch pages and do inflate
|
; Switch pages and do inflate
|
||||||
; ------------------------------------------
|
; ----------------------------------------------------
|
||||||
DECOMPRESS
|
DECOMPRESS
|
||||||
DI
|
DI
|
||||||
LD (SAVE_SP),SP
|
LD (SAVE_SP),SP
|
||||||
@ -1029,13 +1032,12 @@ DECOMPRESS
|
|||||||
EI
|
EI
|
||||||
RET
|
RET
|
||||||
|
|
||||||
; ------------------------------------------
|
; ----------------------------------------------------
|
||||||
; ZIP file has invalid data format
|
; ZIP file has invalid data format
|
||||||
; ------------------------------------------
|
; ----------------------------------------------------
|
||||||
F_HAS_BAD_TAB
|
F_HAS_BAD_TAB
|
||||||
SAVE_SP EQU $+1
|
SAVE_SP+* LD SP,0x0
|
||||||
LD SP,0x0
|
LD HL,(LD_NXT_WRD)
|
||||||
LD HL,(LD_NXT_WRD+1)
|
|
||||||
CALL WRITE_BUFF
|
CALL WRITE_BUFF
|
||||||
LD A,(SAVE_P0)
|
LD A,(SAVE_P0)
|
||||||
OUT (PAGE0),A
|
OUT (PAGE0),A
|
||||||
@ -1045,20 +1047,20 @@ SAVE_SP EQU $+1
|
|||||||
RST DSS
|
RST DSS
|
||||||
RET
|
RET
|
||||||
|
|
||||||
; ------------------------------------------------------
|
; ----------------------------------------------------
|
||||||
SUB_UNCOMP_7
|
SUB_UNCOMP_7
|
||||||
LD A,C
|
LD A,C
|
||||||
OR B
|
OR B
|
||||||
RET Z
|
RET Z
|
||||||
LD_NXT_WRD
|
LD_NXT_WRD+* LD DE,0x0000
|
||||||
LD DE,0x0
|
|
||||||
HAZ_BYTEZ
|
HAZ_BYTEZ
|
||||||
LD A,(HL)
|
LD A,(HL)
|
||||||
LD (DE),A
|
LD (DE),A
|
||||||
INC DE
|
INC DE
|
||||||
PUSH DE
|
PUSH DE
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD (LD_NXT_WRD+1),DE
|
LD (LD_NXT_WRD),DE
|
||||||
LD HL,0x8000
|
LD HL,0x8000
|
||||||
OR A
|
OR A
|
||||||
SBC HL,DE
|
SBC HL,DE
|
||||||
@ -1068,37 +1070,37 @@ HAZ_BYTEZ
|
|||||||
CONT_BYTEZ
|
CONT_BYTEZ
|
||||||
CPI
|
CPI
|
||||||
JP PE,HAZ_BYTEZ
|
JP PE,HAZ_BYTEZ
|
||||||
LD (LD_NXT_WRD+1),DE
|
LD (LD_NXT_WRD),DE
|
||||||
RET
|
RET
|
||||||
NO_BYTEZ
|
NO_BYTEZ
|
||||||
CALL BUFF_IS_FULL
|
CALL BUFF_IS_FULL
|
||||||
POP HL
|
POP HL
|
||||||
POP DE
|
POP DE
|
||||||
LD DE,(LD_NXT_WRD+1)
|
LD DE,(LD_NXT_WRD)
|
||||||
JR CONT_BYTEZ
|
JR CONT_BYTEZ
|
||||||
|
|
||||||
; ------------------------------------------------------
|
; ----------------------------------------------------
|
||||||
PUT_A_TO_BUFF
|
PUT_A_TO_BUFF
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD HL,(LD_NXT_WRD+1)
|
LD HL,(LD_NXT_WRD)
|
||||||
LD (HL),A
|
LD (HL),A
|
||||||
INC HL
|
INC HL
|
||||||
LD (LD_NXT_WRD+1),HL
|
LD (LD_NXT_WRD),HL
|
||||||
LD A,H
|
LD A,H
|
||||||
CP 80h ; < 0x8000 ?
|
CP 80h ; < 0x8000 ?
|
||||||
POP HL
|
POP HL
|
||||||
RET C
|
RET C
|
||||||
|
|
||||||
; ------------------------------------------------------
|
; ----------------------------------------------------
|
||||||
BUFF_IS_FULL
|
BUFF_IS_FULL
|
||||||
PUSH HL
|
PUSH HL
|
||||||
PUSH DE
|
PUSH DE
|
||||||
PUSH BC
|
PUSH BC
|
||||||
PUSH AF
|
PUSH AF
|
||||||
LD HL,(LD_NXT_WRD+1)
|
LD HL,(LD_NXT_WRD)
|
||||||
LD (SU_L4+1),HL
|
LD (SU_L4+1),HL
|
||||||
CALL FLUSH_BUFF
|
CALL FLUSH_BUFF
|
||||||
LD (LD_NXT_WRD+1),HL
|
LD (LD_NXT_WRD),HL
|
||||||
POP AF
|
POP AF
|
||||||
POP BC
|
POP BC
|
||||||
POP DE
|
POP DE
|
||||||
@ -1123,7 +1125,7 @@ SUNK_NO_WRAP
|
|||||||
POP HL
|
POP HL
|
||||||
RET
|
RET
|
||||||
|
|
||||||
; ------------------------------------------------------
|
; ----------------------------------------------------
|
||||||
LOAD_NXT_BLOCK
|
LOAD_NXT_BLOCK
|
||||||
PUSH HL
|
PUSH HL
|
||||||
PUSH DE
|
PUSH DE
|
||||||
@ -1139,11 +1141,11 @@ LOAD_NXT_BLOCK
|
|||||||
POP HL
|
POP HL
|
||||||
RET
|
RET
|
||||||
|
|
||||||
; ------------------------------------------------------
|
; ----------------------------------------------------
|
||||||
; Update CRC32
|
; Update CRC32
|
||||||
; HL - ptr to byte buffer
|
; HL - ptr to byte buffer
|
||||||
; BC - bytes in buffer
|
; BC - bytes in buffer
|
||||||
; ------------------------------------------------------
|
; ----------------------------------------------------
|
||||||
UPD_CRC
|
UPD_CRC
|
||||||
LD A,B
|
LD A,B
|
||||||
OR C
|
OR C
|
||||||
@ -1180,7 +1182,7 @@ CRC_NXT_BYTE
|
|||||||
POP HL
|
POP HL
|
||||||
RET
|
RET
|
||||||
|
|
||||||
; ------------------------------------------------------
|
; ----------------------------------------------------
|
||||||
WRITE_BUFF
|
WRITE_BUFF
|
||||||
LD A,H
|
LD A,H
|
||||||
OR L
|
OR L
|
||||||
@ -1342,13 +1344,13 @@ NO_WRAP
|
|||||||
POP DE
|
POP DE
|
||||||
JR DO_NEXT_BLOCK
|
JR DO_NEXT_BLOCK
|
||||||
|
|
||||||
; ----------------------------------------------------------
|
; ----------------------------------------------------
|
||||||
INFLATE
|
INFLATE
|
||||||
XOR A
|
XOR A
|
||||||
LD (LAST_BLK+1),A
|
LD (LAST_BLK+1),A
|
||||||
CALL LOAD_NXT_BLOCK
|
CALL LOAD_NXT_BLOCK
|
||||||
LD HL,0x0
|
LD HL,0x0
|
||||||
LD (LD_NXT_WRD+1),HL
|
LD (LD_NXT_WRD),HL
|
||||||
|
|
||||||
DO_NEXT_BLOCK
|
DO_NEXT_BLOCK
|
||||||
LD HL,(TMP_BUFFER_ADDR+1)
|
LD HL,(TMP_BUFFER_ADDR+1)
|
||||||
@ -1388,7 +1390,7 @@ SU_L3
|
|||||||
PUSH AF
|
PUSH AF
|
||||||
POP BC
|
POP BC
|
||||||
EX DE,HL
|
EX DE,HL
|
||||||
LD HL,(LD_NXT_WRD+1)
|
LD HL,(LD_NXT_WRD)
|
||||||
OR A
|
OR A
|
||||||
SBC HL,DE
|
SBC HL,DE
|
||||||
JR NC,SU_L6
|
JR NC,SU_L6
|
||||||
@ -1421,22 +1423,23 @@ SU_L4
|
|||||||
POP BC
|
POP BC
|
||||||
SU_L6
|
SU_L6
|
||||||
CALL SUB_UNCOMP_7
|
CALL SUB_UNCOMP_7
|
||||||
LD A,(LD_NXT_WRD+2)
|
LD A,(LD_NXT_WRD+1) ;+1!
|
||||||
CP 0x80
|
CP 0x80
|
||||||
CALL NC,BUFF_IS_FULL
|
CALL NC,BUFF_IS_FULL
|
||||||
POP DE
|
POP DE
|
||||||
POP BC
|
POP BC
|
||||||
JR SU_L2
|
JR SU_L2
|
||||||
SU_L7
|
SU_L7
|
||||||
LD HL,(LD_NXT_WRD+1)
|
LD HL,(LD_NXT_WRD)
|
||||||
; --------------------------------------
|
|
||||||
|
; ----------------------------------------------------
|
||||||
FLUSH_BUFF
|
FLUSH_BUFF
|
||||||
LD DE,0x0000
|
LD DE,0x0000
|
||||||
JP WRITE_BUFF
|
JP WRITE_BUFF
|
||||||
|
|
||||||
; ----------------------------
|
; ----------------------------------------------------
|
||||||
; Data definitions block for LZ77
|
; Data definitions block for LZ77
|
||||||
; ----------------------------
|
; ----------------------------------------------------
|
||||||
FILL_1
|
FILL_1
|
||||||
DS 33, 0
|
DS 33, 0
|
||||||
|
|
||||||
@ -1453,9 +1456,9 @@ EXTRA_BITS
|
|||||||
LZ77_BUFF
|
LZ77_BUFF
|
||||||
DS 70,0
|
DS 70,0
|
||||||
|
|
||||||
; -----------------------------------------
|
; ----------------------------------------------------
|
||||||
; Return A number of bits in HL from block
|
; Return A number of bits in HL from block
|
||||||
; -----------------------------------------
|
; ----------------------------------------------------
|
||||||
HL_GET_A_BITS
|
HL_GET_A_BITS
|
||||||
CP 0x9
|
CP 0x9
|
||||||
JR C,HL_LESS_8B
|
JR C,HL_LESS_8B
|
||||||
@ -1474,9 +1477,9 @@ HL_LESS_8B
|
|||||||
LD L,A
|
LD L,A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
; -----------------------------------------
|
; ----------------------------------------------------
|
||||||
; Return A number of bits
|
; Return A number of bits
|
||||||
; -----------------------------------------
|
; ----------------------------------------------------
|
||||||
GET_A_BITS
|
GET_A_BITS
|
||||||
LD (XTRA_BITS_OFFS+1),A
|
LD (XTRA_BITS_OFFS+1),A
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
@ -1489,19 +1492,19 @@ XTRA_BITS_OFFS
|
|||||||
POP AF
|
POP AF
|
||||||
RET
|
RET
|
||||||
|
|
||||||
; -----------------------------------------
|
; ----------------------------------------------------
|
||||||
; DE/2, B--
|
; DE/2, B--
|
||||||
; -----------------------------------------
|
; ----------------------------------------------------
|
||||||
DE_DIV_2_Bm1
|
DE_DIV_2_Bm1
|
||||||
SRL D
|
SRL D
|
||||||
RR E
|
RR E
|
||||||
DEC B
|
DEC B
|
||||||
RET NZ
|
RET NZ
|
||||||
|
|
||||||
; -----------------------------------------
|
; ----------------------------------------------------
|
||||||
; D - next 8 bit from block
|
; D - next 8 bit from block
|
||||||
; B = 8
|
; B = 8
|
||||||
; -----------------------------------------
|
; ----------------------------------------------------
|
||||||
D_NEXT_8BIT_B8
|
D_NEXT_8BIT_B8
|
||||||
PUSH AF
|
PUSH AF
|
||||||
PUSH HL
|
PUSH HL
|
||||||
@ -1520,10 +1523,10 @@ D_NEXT_8BIT_B8
|
|||||||
POP AF
|
POP AF
|
||||||
RET
|
RET
|
||||||
|
|
||||||
; -----------------------------------------
|
; ----------------------------------------------------
|
||||||
; Get A number of bits (rigth shift)
|
; Get A number of bits (rigth shift)
|
||||||
; return DE
|
; return DE
|
||||||
; -----------------------------------------
|
; ----------------------------------------------------
|
||||||
GET_RIGHT_A_BITS
|
GET_RIGHT_A_BITS
|
||||||
CP B
|
CP B
|
||||||
JR C,SHF_RT_DE2
|
JR C,SHF_RT_DE2
|
||||||
@ -1699,15 +1702,14 @@ SU4_L9
|
|||||||
|
|
||||||
; Init other LZ77 tables
|
; Init other LZ77 tables
|
||||||
UN_LZ77
|
UN_LZ77
|
||||||
HLIT EQU $+1
|
HLIT+* LD BC,0x100 ; Count of literals and lengths
|
||||||
LD BC,0x100 ; Count of literals and lengths
|
|
||||||
LD DE,CHAR_LENS
|
LD DE,CHAR_LENS
|
||||||
LD HL,HL_VAL_001
|
LD HL,HL_VAL_001
|
||||||
LD IX,IX_VAL_001
|
LD IX,IX_VAL_001
|
||||||
CALL UN_LZ77_1
|
CALL UN_LZ77_1
|
||||||
HDIST EQU $+1
|
|
||||||
SU4_L11
|
SU4_L11
|
||||||
LD BC,0x0
|
HDIST+* LD BC,0x0
|
||||||
LD DE,DISTANCES
|
LD DE,DISTANCES
|
||||||
LD HL,HL_VAL_002
|
LD HL,HL_VAL_002
|
||||||
LD IX,IX_ARR_000
|
LD IX,IX_ARR_000
|
||||||
@ -1716,7 +1718,6 @@ SU4_L11
|
|||||||
POP BC
|
POP BC
|
||||||
RET
|
RET
|
||||||
|
|
||||||
|
|
||||||
UN_LZ77_1
|
UN_LZ77_1
|
||||||
LD A,B
|
LD A,B
|
||||||
OR C
|
OR C
|
||||||
@ -1808,8 +1809,7 @@ INIT_BUFF5
|
|||||||
CHAR_L_NE0
|
CHAR_L_NE0
|
||||||
POP DE
|
POP DE
|
||||||
PUSH DE
|
PUSH DE
|
||||||
LIT_CNT_LEN EQU $+1
|
LIT_CNT_LEN+* LD BC,0x0
|
||||||
LD BC,0x0
|
|
||||||
LD HL,HL_ARR_000
|
LD HL,HL_ARR_000
|
||||||
INIT_BUFF6
|
INIT_BUFF6
|
||||||
LD A,(DE) ; Char lengths?
|
LD A,(DE) ; Char lengths?
|
||||||
@ -1892,8 +1892,7 @@ INIT_BUFF11
|
|||||||
OR B
|
OR B
|
||||||
JR NZ,INIT_BUFF7
|
JR NZ,INIT_BUFF7
|
||||||
|
|
||||||
HL_VAL_000 EQU $+1
|
HL_VAL_000+* LD HL,0x0
|
||||||
LD HL,0x0
|
|
||||||
LD E,L
|
LD E,L
|
||||||
LD D,H
|
LD D,H
|
||||||
INC DE
|
INC DE
|
||||||
@ -1905,7 +1904,7 @@ HL_VAL_000 EQU $+1
|
|||||||
DEC BC
|
DEC BC
|
||||||
ADD HL,BC
|
ADD HL,BC
|
||||||
EX DE,HL
|
EX DE,HL
|
||||||
LD (IB18_L1+1),IX
|
LD (IB18_L1),IX
|
||||||
LD HL,HL_ARR_000+1
|
LD HL,HL_ARR_000+1
|
||||||
ADD HL,BC
|
ADD HL,BC
|
||||||
ADD HL,BC
|
ADD HL,BC
|
||||||
@ -1984,8 +1983,7 @@ INIT_BUFF18
|
|||||||
LD A,D
|
LD A,D
|
||||||
OR E
|
OR E
|
||||||
JR NZ,INIT_BUFF19 ; (word)(HL) != 0?
|
JR NZ,INIT_BUFF19 ; (word)(HL) != 0?
|
||||||
IB18_L1
|
IB18_L1+* LD DE,0x0
|
||||||
LD DE,0x0
|
|
||||||
LD (HL),E
|
LD (HL),E
|
||||||
INC HL
|
INC HL
|
||||||
LD (HL),D
|
LD (HL),D
|
||||||
@ -1999,7 +1997,7 @@ IB18_L1
|
|||||||
INC HL
|
INC HL
|
||||||
LD (HL),A
|
LD (HL),A
|
||||||
INC HL
|
INC HL
|
||||||
LD (IB18_L1+1),HL
|
LD (IB18_L1),HL
|
||||||
INIT_BUFF19
|
INIT_BUFF19
|
||||||
EX DE,HL
|
EX DE,HL
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
@ -2020,7 +2018,7 @@ INIT_BUFF20
|
|||||||
JR INIT_BUFF15
|
JR INIT_BUFF15
|
||||||
|
|
||||||
; --- Unparsed -------------
|
; --- Unparsed -------------
|
||||||
; -----------------------------------
|
; ----------------------------------------------------
|
||||||
SUB_UNCOMP_5
|
SUB_UNCOMP_5
|
||||||
PUSH DE
|
PUSH DE
|
||||||
XOR A
|
XOR A
|
||||||
@ -2077,7 +2075,7 @@ LAB_ram_d58c
|
|||||||
CALL SUB_ram_d5cb
|
CALL SUB_ram_d5cb
|
||||||
JR LAB_ram_d560
|
JR LAB_ram_d560
|
||||||
|
|
||||||
; -----------------------------------
|
; ----------------------------------------------------
|
||||||
SUB_UNCOMP_6
|
SUB_UNCOMP_6
|
||||||
PUSH DE
|
PUSH DE
|
||||||
XOR A
|
XOR A
|
||||||
@ -2124,7 +2122,7 @@ LAB_ram_d5c5
|
|||||||
CALL SUB_ram_d5cb
|
CALL SUB_ram_d5cb
|
||||||
JR LAB_ram_d5a9
|
JR LAB_ram_d5a9
|
||||||
|
|
||||||
; -----------------------------------
|
; ----------------------------------------------------
|
||||||
SUB_ram_d5cb
|
SUB_ram_d5cb
|
||||||
LD A,0x8
|
LD A,0x8
|
||||||
CALL GET_RIGHT_A_BITS
|
CALL GET_RIGHT_A_BITS
|
||||||
@ -2144,6 +2142,8 @@ LD_NXT_W
|
|||||||
JR NZ,HI_W_BIT1
|
JR NZ,HI_W_BIT1
|
||||||
RET
|
RET
|
||||||
|
|
||||||
|
; ----------------------------------------------------
|
||||||
|
|
||||||
FILL_2
|
FILL_2
|
||||||
DS 53, 0
|
DS 53, 0
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user