 194e7a1fca
			
		
	
	
		194e7a1fca
		
	
	
	
	
		
			
			- поправлен cdx.txt - добалена возможность послать ATAPI пакет. - если нет диска в приводе, то не пишет ошибку, что нет привода
		
			
				
	
	
		
			91 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
 | |
| ; 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
 |