; LAST UPDATE: 07.07.2025 savelij ; HL - exe-prefix ; IX - pointers at work buffers EX_COMMAND_LINE: INC HL .NEXTPR: LD DE,ARGCBUF SPDSS DSSF.EX_PATH,EX_PATH.GSWITCH 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,MSG0.MSG_UNK_DEVICE_NUMBER CALL MESSAGE LD A,1 LD (STOPMODE),A JR .EOCL .number: SUB '1' OR 0xC0 PUSH IX PUSH AF CALL RESTORE_STATE XOR A LD (RESTORE_STATE.set_par),A POP AF LD (CDDRIVE),A SPBIOS BIOSF.DRV_DETECT POP IX JR NC,.EOCL CP ERR_DRV.ATAPI_MediumError JR Z,.EOCL CP ERR_DRV.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 LD A,MSG0.MSG_NO_CDROM CALL MESSAGE LD A,1 LD (STOPMODE),A SCF JR .CL_FAILURE .HELP: LD A,MSG0.MSG_USAGE CALL MESSAGE LD A,1 LD (STOPMODE),A JR .EOCL