рефакторинг

This commit is contained in:
Tolik 2025-07-05 00:10:32 +10:00
parent 6badb66772
commit ed32954619

View File

@ -1,16 +1,16 @@
COMMAND LD HL,BUF1
COMMAND: LD HL,BUF1
LD A,(HL)
OR A
RET Z
DEC HL
SKIPSP INC HL
SKIPSP: INC HL
LD A,(HL)
CP 9
JR Z,SKIPSP
CP " "
JR Z,SKIPSP
COMP01 LD D,H
COMP01: LD D,H
LD E,L
XOR A
LD BC,255
@ -19,15 +19,15 @@ COMP01 LD D,H
SUB C
LD C,A
LD HL,CMDLIST
COMP004 PUSH BC
COMP004: PUSH BC
PUSH DE
COMP000 LD A,(DE)
COMP000: LD A,(DE)
CP #61
JP C,COMP001
CP #7B
JP NC,COMP001
SUB #20
COMP001 CP (HL)
COMP001: CP (HL)
JP NZ,COMP002
INC HL
INC DE
@ -42,14 +42,14 @@ COMP001 CP (HL)
CP " "
JR NZ,NOSPC
INC DE
NOSPC INC HL
NOSPC: INC HL
LD A,(HL)
INC HL
LD H,(HL)
LD L,A
JP (HL)
COMP002 XOR A
COMP002: XOR A
LD C,#FF
CPI
JP NZ,$-2
@ -67,7 +67,7 @@ COMP002 XOR A
SCF
RET
CMDLIST DB "CLOSE",0
CMDLIST: DB "CLOSE",0
DW CCLOSE
DB "COPY",0
DW CCOPY
@ -92,15 +92,13 @@ CCLOSE: LD A,MSG_TRAY_CLOSE
CALL MESSAGE
LD A,(CDDRIVE)
LD BC,BIOS.DRV_EXTENDED.ATAPI_Close
RST ToBIOS
LD A,MSG_DONE
JP MESSAGE
JR COPEN.cmd
;
COPEN: LD A,MSG_TRAY_OPEN
CALL MESSAGE
LD A,(CDDRIVE)
LD BC,BIOS.DRV_EXTENDED.ATAPI_Eject
RST ToBIOS
.cmd: RST ToBIOS
LD A,MSG_DONE
JP MESSAGE
@ -133,8 +131,8 @@ CCOPY: CALL CHANGEDISK
CALL MESSAGE
SCF
RET
.NONSTOP:
LD DE,FF_STRUCT
;
.NONSTOP: LD DE,FF_STRUCT
CALL F_NEXT
JR NC,.COPIER
XOR A
@ -145,14 +143,13 @@ CCOPY: CALL CHANGEDISK
; RET
;IFOK
MAKECOPY:
LD A,(COPYMODE)
MAKECOPY: LD A,(COPYMODE)
BIT SRCPATT,A
JR NZ,.WITH_SRC_PATT
BIT DSTFILE,A
JR NZ,.WITH_DST_FILE
.WITH_SRC_PATT:
LD HL,CDFNAME
;
.WITH_SRC_PATT: LD HL,CDFNAME
.YCR1: LD A,(HL)
CP "A"
JR C,.NCR1
@ -181,9 +178,8 @@ MAKECOPY:
LDI
OR A
JR NZ,.CZSL1
;
.WITH_DST_FILE:
LD HL,BUF3
;
.WITH_DST_FILE: LD HL,BUF3
LD A,(CDFATTR)
LD C,Dss.Create
RST ToDSS
@ -222,8 +218,7 @@ MAKECOPY:
LD E,(IX+CLU3)
LD D,(IX+CLU4)
LD (CH_OFFSET),DE
.CDCOPY_LOOP:
CALL RCDFSB ;!!!!!
.CDCOPY_LOOP: CALL RCDFSB ;!!!!!
JR C,.COPY_FAULT
CALL WDATAB
JR C,.COPY_FAULT
@ -243,15 +238,14 @@ MAKECOPY:
CALL MESSAGE
AND A
RET
.COPY_FAULT:
LD A,(FHND)
;
.COPY_FAULT: LD A,(FHND)
LD C,Dss.Close
RST ToDSS
SCF
RET
EX_COPY_PARAM
LD HL,BUF2 ;SOURCE
EX_COPY_PARAM: LD HL,BUF2 ;SOURCE
LD BC,255
XOR A
CPIR
@ -277,8 +271,7 @@ EX_COPY_PARAM
SET SRCPATT,A
JR NZ,.NOPATSR
RES SRCPATT,A
.NOPATSR:
LD (COPYMODE),A
.NOPATSR: LD (COPYMODE),A
LD HL,BUF3 ;DESTINATION
LD BC,Dss.EX_Path.GET_ALL
RST ToDSS
@ -288,8 +281,7 @@ EX_COPY_PARAM
SET DSTFILE,A
JR Z,.SINGC1
RES DSTFILE,A
.SINGC1:
LD (COPYMODE),A
.SINGC1: LD (COPYMODE),A
RET Z
LD HL,BUF3
LD BC,255
@ -309,19 +301,19 @@ EX_COPY_PARAM
LD (HL),0 ;PUT ZERO CHAR
RET
DSTFILE EQU 0 ;SPECIFIED DESTINATION FILENAME
SRCPATT EQU 3 ;SPECIFIED SOURCE PATTERN A??.*
DSTFILE: EQU 0 ;SPECIFIED DESTINATION FILENAME
SRCPATT: EQU 3 ;SPECIFIED SOURCE PATTERN A??.*
COPYMODE DB 0
COPYMODE: DB 0
SRC_PUT_ADR DW BUF2
DST_PUT_ADR DW BUF3
SRC_PUT_ADR: DW BUF2
DST_PUT_ADR: DW BUF3
CL_OFFSET DW 0
CH_OFFSET DW 0
CL_SIZE DW 0
CH_SIZE DW 0
BYTECOUNTER DW 0
CL_OFFSET: DW 0
CH_OFFSET: DW 0
CL_SIZE: DW 0
CH_SIZE: DW 0
BYTECOUNTER: DW 0
WDATAB: LD DE,(BYTECOUNTER)
LD A,D
@ -335,8 +327,8 @@ WDATAB: LD DE,(BYTECOUNTER)
XOR A
INC A
RET
.WRDERR:
LD A,MSG_FAILURE
;
.WRDERR: LD A,MSG_FAILURE
CALL MESSAGE
CALL CRLF
LD A,MSG_F_WRITE_ERR
@ -373,8 +365,8 @@ RCDFSB: LD HL,(CL_SIZE)
LD C,L
LD HL,0
LD DE,0
.RC_NOCAR:
LD (CL_SIZE),HL
;
.RC_NOCAR: LD (CL_SIZE),HL
LD (CH_SIZE),DE
LD (BYTECOUNTER),BC
;
@ -386,8 +378,7 @@ RCDFSB: LD HL,(CL_SIZE)
OR C
JR Z,.RC_EVEN_NUM
INC B
.RC_EVEN_NUM:
LD A,B
.RC_EVEN_NUM: LD A,B
LD C,B
LD B,0
;
@ -418,7 +409,7 @@ RCDFSB: LD HL,(CL_SIZE)
RET
FHND DB #FF
FHND: DB #FF
;----------------------
CDIR: CALL CHANGEDISK
@ -429,8 +420,8 @@ CDIR: CALL CHANGEDISK
JR NZ,.NODEFD
LD HL,DEFDIR
JR .PATPRESNT
.NODEFD:
LD BC,Dss.EX_Path.GET_ALL
;
.NODEFD: LD BC,Dss.EX_Path.GET_ALL
RST ToDSS
BIT 7,A ;PATTERN
LD HL,BUF2
@ -448,8 +439,7 @@ CDIR: CALL CHANGEDISK
LD A,'\' ;
LD (HL),A ;PUT BACKSLASH TO THE END OF STRING
INC HL ;MOVE TO THE NEW END OF STRING
.WITHSL9:
LD A,"*"
.WITHSL9: LD A,"*"
LD (HL),A
INC HL
LD (HL),"."
@ -458,22 +448,20 @@ CDIR: CALL CHANGEDISK
INC HL
LD (HL),0
LD HL,BUF2
.PATPRESNT
LD DE,FF_STRUCT
.PATPRESNT: LD DE,FF_STRUCT
LD A,FAT_ATTR.NoVolID
LD B,0
CALL F_FIRST
JP C,ERROR
.CDIR_HEAD:
LD A,MSG_DIRHEAD
;
.CDIR_HEAD: LD A,MSG_DIRHEAD
CALL MESSAGE
LD HL,DIRSPEC
LD C,Dss.PChars
RST ToDSS
CALL CRLF
CALL CRLF
.CDIR_LOOP:
LD HL,CDFNAME
.CDIR_LOOP: LD HL,CDFNAME
CALL PNAME
LD DE,FF_STRUCT
CALL F_NEXT
@ -495,7 +483,7 @@ CDIR: CALL CHANGEDISK
; ; DS 44
; DS 256-($-FF_STRUCT)
PNAME LD BC,8
PNAME: LD BC,8
LD DE,PRM1
LDIR
XOR A
@ -512,7 +500,7 @@ PNAME LD BC,8
LD A,MSG_DIRENTRY
JP MESSAGE
PRNDATE LD B,(IX+25)
PRNDATE: LD B,(IX+25)
LD C,(IX+24)
LD HL,SIZEBFF
CALL DATE
@ -525,7 +513,7 @@ PRNDATE LD B,(IX+25)
LD (HL),#20
JP PUTPRM
PRNTIME LD B,(IX+22)
PRNTIME: LD B,(IX+22)
LD C,(IX+23)
LD HL,SIZEBFF
CALL TIME
@ -592,7 +580,7 @@ NUMB: LD C,#2F
INC HL
RET
PRNSIZE LD A,(IX+32)
PRNSIZE: LD A,(IX+32)
LD HL,DIRIDD
AND #10
JP NZ,.PRZ
@ -634,8 +622,7 @@ PRNSIZE LD A,(IX+32)
.PRZ: LD DE,PRM3
JP PUTPRM
MAKE_LN:
LD IX,L32BIT_
MAKE_LN: LD IX,L32BIT_
EXX
LD DE,#3B9A ; 1000000000
EXX
@ -704,10 +691,8 @@ MAKE_LN:
; HL:HL - DE:DE
GET_DIG:
XOR A
.INC_DG:
INC A
GET_DIG: XOR A
.INC_DG: INC A
SBC HL,DE
EXX
SBC HL,DE
@ -723,25 +708,25 @@ GET_DIG:
INC IX
RET
L32BIT_ DB "0000000000"
L32BIT_: DB "0000000000"
DIRIDD DB "<DIR> ",0
DIRIDD: DB "<DIR> ",0
SIZEBFF DB "0 000 000 000",0,0
SIZEBFF: DB "0 000 000 000",0,0
DEFDIR DB #5C,"*.*",0
DEFDIR: DB #5C,"*.*",0
;------------------------
CDUMP: LD HL,BUF2
LD BC,#0000
CALL GETNUM
; LD XL,C
; LD XH,0
; LD HL,0
; LD XL,C
; LD XH,0
; LD HL,0
LD A,(CDDRIVE)
LD DE,DUMPBUF
LD BC,1*256 + BIOS.DRV_READ
LD BC,1*256+BIOS.DRV_READ
RST ToBIOS
JR C,.DMPERR
;
@ -757,14 +742,12 @@ CDUMP: LD HL,BUF2
SBC HL,BC
JR NC,.GOODOFFS
LD BC,2048-#01C0
.GOODOFFS:
LD HL,DUMPBUF
.GOODOFFS: LD HL,DUMPBUF
ADD HL,BC
;
CALL DUMP
JP CRLF
.DMPERR:
LD A,MSG_IO_ERROR
.DMPERR: LD A,MSG_IO_ERROR
JP MESSAGE
;
@ -772,8 +755,7 @@ GETNUM: EXX
LD IX,0
LD HL,0
EXX
.GETNUM0:
LD A,(HL)
.GETNUM0: LD A,(HL)
OR A
JR Z,.EGETN
INC HL
@ -806,11 +788,11 @@ GETNUM: EXX
EXX
JR .GETNUM0
.EGETN: EXX
;PUSH IX
; PUSH IX
PUSH HL
EXX
POP HL
;POP IX
; POP IX
RET
;;;;;;;;;;;;;;;
; LD A,(HL)
@ -936,7 +918,6 @@ PHEX: LD E,A
.PHEX3: CALL PRINT_
RET
PRNCHAR:
LD C,Dss.PutChar
PRNCHAR: LD C,Dss.PutChar
JP ToDSS
;