mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 09:21:47 +03:00
90 lines
1.1 KiB
NASM
90 lines
1.1 KiB
NASM
|
|
; HL - exe-prefix
|
|
; IX - pointers at work buffers
|
|
EX_COMMAND_LINE
|
|
INC HL
|
|
NEXTPR LD DE,ARGCBUF
|
|
LD BC,Dss.EX_Path.GSWITCH
|
|
RST ToDSS
|
|
PUSH AF
|
|
PUSH HL
|
|
LD A,(ARGCBUF)
|
|
OR A
|
|
JR Z,EOCL ;end of command line
|
|
CP "-"
|
|
JR Z,ITCKEY
|
|
CP "/"
|
|
JR Z,ITCKEY
|
|
LD HL,ARGCBUF
|
|
LD E,(IX+0)
|
|
LD D,(IX+1)
|
|
INC IX
|
|
INC IX
|
|
LD A,D
|
|
OR E
|
|
JR Z,CL_FAILURE
|
|
; LD A,1
|
|
; LD (NAME_FLG),A
|
|
MOVNAME LD A,(HL)
|
|
LDI
|
|
OR A
|
|
JR NZ,MOVNAME
|
|
EOCL POP HL
|
|
POP AF
|
|
JR NC,NEXTPR
|
|
RET
|
|
|
|
CL_FAILURE
|
|
POP HL
|
|
POP AF
|
|
RET
|
|
|
|
ITCKEY: LD A,(ARGCBUF+1)
|
|
CP "5"
|
|
JR NC,.HELP
|
|
CP "1"
|
|
JR NC,.number
|
|
; ERROR
|
|
LD HL,ARGCBUF+1
|
|
CALL PUTVAR
|
|
LD A,MSG_UNK_DEVICE_NUMBER
|
|
CALL MESSAGE
|
|
LD A,1
|
|
LD (STOPMODE),A
|
|
JR EOCL
|
|
;
|
|
.number:;
|
|
SUB A,'1'
|
|
OR #C0
|
|
LD (CDDRIVE),A
|
|
LD C,BIOS.DRV_RESET
|
|
RST ToBIOS
|
|
JR NC,EOCL
|
|
;
|
|
LD HL,ARGCBUF+1
|
|
CALL PUTVAR
|
|
LD A,MSG_NO_CDROM
|
|
CALL MESSAGE
|
|
LD A,1
|
|
LD (STOPMODE),A
|
|
SCF
|
|
JR CL_FAILURE
|
|
;
|
|
.HELP: LD A,MSG_USAGE
|
|
CALL MESSAGE
|
|
LD A,1
|
|
LD (STOPMODE),A
|
|
JR EOCL
|
|
|
|
|
|
|
|
; MAS_CD:
|
|
; ;LD A,MASTER
|
|
; ;LD (CDDRIVE),A
|
|
; JR EOCL
|
|
|
|
; SLA_CD:
|
|
; ;LD A,SLAVE
|
|
; ;LD (CDDRIVE),A
|
|
; JR EOCL
|