mirror of
https://github.com/Tolik-Trek/CDX.git
synced 2026-06-15 17:31:39 +03:00
исправлены баги с выбором канала
This commit is contained in:
parent
14a85b850f
commit
382e5a8bdb
18
CDX.ASM
18
CDX.ASM
@ -94,20 +94,22 @@ START: PUSH IX
|
|||||||
|
|
||||||
;CALL MDEALLOC
|
;CALL MDEALLOC
|
||||||
QUIT: CALL CRLF
|
QUIT: CALL CRLF
|
||||||
.set_par+1: LD B,1
|
CALL RESTORE_STATE
|
||||||
LD C,BIOS.DRV_SET_PAR
|
|
||||||
LD A,(CDDRIVE)
|
|
||||||
RST ToBIOS
|
|
||||||
;
|
;
|
||||||
.loop: LD BC,Dss.Exit
|
.loop: LD BC,Dss.Exit
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
JP .loop
|
JP .loop
|
||||||
|
|
||||||
OLD_DSS
|
OLD_DSS: LD A,MSG_OLD_DSS
|
||||||
LD A,MSG_OLD_DSS
|
|
||||||
CALL MESSAGE
|
CALL MESSAGE
|
||||||
JR QUIT
|
JR QUIT
|
||||||
|
|
||||||
|
RESTORE_STATE:
|
||||||
|
.set_par+1: LD B,1
|
||||||
|
LD C,BIOS.DRV_SET_PAR
|
||||||
|
LD A,(CDDRIVE)
|
||||||
|
JP ToBIOS
|
||||||
|
|
||||||
;HNDMEM DB #FF
|
;HNDMEM DB #FF
|
||||||
|
|
||||||
MALLOC:
|
MALLOC:
|
||||||
@ -226,9 +228,9 @@ SAVE_MEDIA_CHANGED:
|
|||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
OR %0000'0010
|
OR %0000'0010
|
||||||
LD B,A
|
LD B,A
|
||||||
LD A,(QUIT.set_par)
|
LD A,(RESTORE_STATE.set_par)
|
||||||
OR B
|
OR B
|
||||||
LD (QUIT.set_par),A
|
LD (RESTORE_STATE.set_par),A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
64
CMDPARSE.ASM
64
CMDPARSE.ASM
@ -1,20 +1,20 @@
|
|||||||
|
|
||||||
; HL - exe-prefix
|
; HL - exe-prefix
|
||||||
; IX - pointers at work buffers
|
; IX - pointers at work buffers
|
||||||
EX_COMMAND_LINE
|
EX_COMMAND_LINE:
|
||||||
INC HL
|
INC HL
|
||||||
NEXTPR LD DE,ARGCBUF
|
.NEXTPR: LD DE,ARGCBUF
|
||||||
LD BC,Dss.EX_Path.GSWITCH
|
LD BC,Dss.EX_Path.GSWITCH
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
PUSH AF
|
PUSH AF
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD A,(ARGCBUF)
|
LD A,(ARGCBUF)
|
||||||
OR A
|
OR A
|
||||||
JR Z,EOCL ;end of command line
|
JR Z,.EOCL ;end of command line
|
||||||
CP "-"
|
CP "-"
|
||||||
JR Z,ITCKEY
|
JR Z,.ITCKEY
|
||||||
CP "/"
|
CP "/"
|
||||||
JR Z,ITCKEY
|
JR Z,.ITCKEY
|
||||||
LD HL,ARGCBUF
|
LD HL,ARGCBUF
|
||||||
LD E,(IX+0)
|
LD E,(IX+0)
|
||||||
LD D,(IX+1)
|
LD D,(IX+1)
|
||||||
@ -22,24 +22,24 @@ NEXTPR LD DE,ARGCBUF
|
|||||||
INC IX
|
INC IX
|
||||||
LD A,D
|
LD A,D
|
||||||
OR E
|
OR E
|
||||||
JR Z,CL_FAILURE
|
JR Z,.CL_FAILURE
|
||||||
;LD A,1
|
;LD A,1
|
||||||
;LD (NAME_FLG),A
|
;LD (NAME_FLG),A
|
||||||
MOVNAME LD A,(HL)
|
.MOVNAME: LD A,(HL)
|
||||||
LDI
|
LDI
|
||||||
OR A
|
OR A
|
||||||
JR NZ,MOVNAME
|
JR NZ,.MOVNAME
|
||||||
EOCL POP HL
|
;
|
||||||
|
.EOCL: POP HL
|
||||||
POP AF
|
POP AF
|
||||||
JR NC,NEXTPR
|
JR NC,.NEXTPR
|
||||||
RET
|
RET
|
||||||
|
;
|
||||||
CL_FAILURE
|
.CL_FAILURE: POP HL
|
||||||
POP HL
|
|
||||||
POP AF
|
POP AF
|
||||||
RET
|
RET
|
||||||
|
|
||||||
ITCKEY: LD A,(ARGCBUF+1)
|
.ITCKEY: LD A,(ARGCBUF+1)
|
||||||
CP "5"
|
CP "5"
|
||||||
JR NC,.HELP
|
JR NC,.HELP
|
||||||
CP "1"
|
CP "1"
|
||||||
@ -51,30 +51,46 @@ ITCKEY: LD A,(ARGCBUF+1)
|
|||||||
CALL MESSAGE
|
CALL MESSAGE
|
||||||
LD A,1
|
LD A,1
|
||||||
LD (STOPMODE),A
|
LD (STOPMODE),A
|
||||||
JR EOCL
|
JR .EOCL
|
||||||
;
|
;
|
||||||
.number:;
|
.number: SUB '1'
|
||||||
SUB A,'1'
|
|
||||||
OR #C0
|
OR #C0
|
||||||
LD (CDDRIVE),A
|
|
||||||
LD C,BIOS.DRV_RESET
|
|
||||||
RST ToBIOS
|
|
||||||
JR NC,EOCL
|
|
||||||
;
|
;
|
||||||
LD HL,ARGCBUF+1
|
PUSH IX
|
||||||
|
PUSH AF
|
||||||
|
CALL RESTORE_STATE
|
||||||
|
XOR A
|
||||||
|
LD (RESTORE_STATE.set_par),A
|
||||||
|
POP AF
|
||||||
|
LD (CDDRIVE),A
|
||||||
|
LD C,BIOS.DRV_DETECT
|
||||||
|
RST ToBIOS
|
||||||
|
POP IX
|
||||||
|
JR NC,.EOCL
|
||||||
|
;
|
||||||
|
CP BIOS.Error.ATAPI.UnitAttention
|
||||||
|
JR NZ,.error
|
||||||
|
;
|
||||||
|
LD A,(CDDRIVE)
|
||||||
|
PUSH IX
|
||||||
|
CALL SAVE_MEDIA_CHANGED
|
||||||
|
POP IX
|
||||||
|
JR NC,.EOCL
|
||||||
|
;
|
||||||
|
.error: LD HL,ARGCBUF+1
|
||||||
CALL PUTVAR
|
CALL PUTVAR
|
||||||
LD A,MSG_NO_CDROM
|
LD A,MSG_NO_CDROM
|
||||||
CALL MESSAGE
|
CALL MESSAGE
|
||||||
LD A,1
|
LD A,1
|
||||||
LD (STOPMODE),A
|
LD (STOPMODE),A
|
||||||
SCF
|
SCF
|
||||||
JR CL_FAILURE
|
JR .CL_FAILURE
|
||||||
;
|
;
|
||||||
.HELP: LD A,MSG_USAGE
|
.HELP: LD A,MSG_USAGE
|
||||||
CALL MESSAGE
|
CALL MESSAGE
|
||||||
LD A,1
|
LD A,1
|
||||||
LD (STOPMODE),A
|
LD (STOPMODE),A
|
||||||
JR EOCL
|
JR .EOCL
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user