fixes for new bios/dos

This commit is contained in:
Tolik 2025-02-13 20:44:57 +10:00
parent 806931357c
commit 14a85b850f
3 changed files with 44 additions and 20 deletions

59
CDX.ASM
View File

@ -92,40 +92,45 @@ START: PUSH IX
OR A OR A
CALL Z,COMMAND CALL Z,COMMAND
CALL MDEALLOC ;CALL MDEALLOC
QUIT: CALL CRLF QUIT: CALL CRLF
.loop: LD BC,Dss.Exit .set_par+1: LD B,1
RST ToDSS LD C,BIOS.DRV_SET_PAR
JP .loop LD A,(CDDRIVE)
RST ToBIOS
;
.loop: LD BC,Dss.Exit
RST ToDSS
JP .loop
OLD_DSS OLD_DSS
LD A,MSG_OLD_DSS LD A,MSG_OLD_DSS
CALL MESSAGE CALL MESSAGE
JR QUIT JR QUIT
HNDMEM DB #FF ;HNDMEM DB #FF
MALLOC MALLOC:
LD BC,2*256 + Dss.GetMem LD BC,2*256 + Dss.GetMem
RST ToDSS RST ToDSS
JR NC,M_ALLOK JR NC,.cont
LD A,MSG_MEMERROR LD A,MSG_MEMERROR
CALL MESSAGE CALL MESSAGE
SCF SCF
RET RET
M_ALLOK ;
LD (HNDMEM),A .cont: PUSH AF
LD BC,1*256 + Dss.SetWin3 LD BC,1*256 + Dss.SetWin3
RST ToDSS RST ToDSS
LD HL,BANKTBL LD HL,BANKTBL
LD C,BIOS.GetMemBlkPages LD C,BIOS.GetMemBlkPages
LD A,(HNDMEM) POP AF
JP ToBIOS JP ToBIOS
MDEALLOC ; MDEALLOC
LD A,(HNDMEM) ; LD A,(HNDMEM)
LD C,Dss.FreeMem ; LD C,Dss.FreeMem
JP ToDSS ; JP ToDSS
; FIND_CDROM ; FIND_CDROM
; LD IX,DEV_CFG ; LD IX,DEV_CFG
@ -198,8 +203,17 @@ INIT: XOR A
PUSH BC PUSH BC
RST ToBIOS RST ToBIOS
POP BC POP BC
JR C,.loop JR NC,.found
;
CP BIOS.Error.ATAPI.UnitAttention
JR NZ,.loop
;
PUSH BC
LD A,B LD A,B
CALL SAVE_MEDIA_CHANGED
POP BC
;
.found: LD A,B
LD (CDDRIVE),A LD (CDDRIVE),A
RET RET
; ;
@ -207,6 +221,17 @@ INIT: XOR A
; JP ToBIOS ; JP ToBIOS
; RET ; RET
SAVE_MEDIA_CHANGED:
LD C,BIOS.DRV_GET_PAR
RST ToBIOS
OR %0000'0010
LD B,A
LD A,(QUIT.set_par)
OR B
LD (QUIT.set_par),A
RET
;VARIABLES ;VARIABLES
; FILENAME DS 256 ; FILENAME DS 256
@ -421,7 +446,7 @@ MSG_COPYABORTED EQU 19 ;21
MSG0 BYTE 0 MSG0 BYTE 0
;0 ;0
BYTE "CDROM eXtension utility v1.01, 2023 (c) Sprinter Team",CR,LF BYTE "CDROM eXtension utility v1.02, 2025 (c) Sprinter Team",CR,LF
DZ "Type CDX.EXE -? for help.",CR,LF,CR,LF DZ "Type CDX.EXE -? for help.",CR,LF,CR,LF
;1 ;1
DZ "Opening tray..." DZ "Opening tray..."

View File

@ -159,8 +159,7 @@ CHANGEDISK: LD A,(CDDRIVE)
RET RET
; ;
.drv_change: LD A,(CDDRIVE) .drv_change: LD A,(CDDRIVE)
LD C,BIOS.DRV_GET_PAR CALL SAVE_MEDIA_CHANGED
RST ToBIOS
; ;
.cont: CALL INITDISK .cont: CALL INITDISK
RET C RET C

@ -1 +1 @@
Subproject commit 857938d1dbf3b332a5e9e8ccabfee531eb3848fa Subproject commit 237dd36651b4af124f12d3f1eaee3688467f8fa3