mirror of
https://github.com/Tolik-Trek/CDX.git
synced 2026-06-15 17:31:39 +03:00
рефакторинг
This commit is contained in:
parent
6badb66772
commit
ed32954619
157
COMMAND.ASM
157
COMMAND.ASM
@ -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
|
||||
;
|
||||
Loading…
Reference in New Issue
Block a user