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