dss errors update

This commit is contained in:
Tolik 2025-04-16 04:35:04 +10:00
parent f7e4caf53a
commit 03e52d38f2
5 changed files with 99 additions and 35 deletions

96
CDX.ASM
View File

@ -12,8 +12,7 @@
; COMMAND ; COMMAND
; -h,? Help page ; -h,? Help page
DEFINE _MAME 1 MAX_DSS_ERR EQU 33
CR EQU 13 CR EQU 13
LF EQU 10 LF EQU 10
@ -241,9 +240,23 @@ SAVE_MEDIA_CHANGED:
STOPMODE DB #00 STOPMODE DB #00
INCLUDE "cmdparse.asm"
INCLUDE "command.asm"
INCLUDE "cd_dos.asm"
CMD_PARSE_ASM.Start: INCLUDE "cmdparse.asm"
CMD_PARSE_ASM.End EQU $
DISPLAY "cmdparse.asm size: ",/D,CMD_PARSE_ASM.End - CMD_PARSE_ASM.Start
;
COMMAND_ASM.Start INCLUDE "command.asm"
COMMAND_ASM.End EQU $
DISPLAY "command.asm size: ",/D,COMMAND_ASM.End - COMMAND_ASM.Start
;
CD_DOS_ASM.Start: INCLUDE "cd_dos.asm"
CD_DOS_ASM.End EQU $
DISPLAY "cd_dos.asm size: ",/D,CD_DOS_ASM.End - CD_DOS_ASM.Start
CRLF: PUSH HL CRLF: PUSH HL
LD HL,MSG0.crlf LD HL,MSG0.crlf
@ -258,11 +271,11 @@ CRLF: PUSH HL
RET RET
; ;
ERROR: CP MAX_DSS_ERR ERROR: ;CP MAX_DSS_ERR
LD E,A LD E,A
LD D,0 LD D,0
JR C,.ERR_MSG ;JR C,.ERR_MSG
LD E,D ;LD E,D
;JP .ERR_MSG ;JP .ERR_MSG
; ;
.ERR_MSG: PUSH DE .ERR_MSG: PUSH DE
@ -275,20 +288,70 @@ ERROR: CP MAX_DSS_ERR
JP CRLF JP CRLF
FMESAGE INC DE FMESAGE: LD A,E
LD HL,ERR0 LD HL,SYS_ERRORS ; ¬ áᨢ áâப
LD BC,ERR0.Size LD BC,SYS_ERRORS.Size ; à §¬¥à ¬ áᨢ 
LCPIR XOR A RLA
jr nc,.set_de
ld hl,DRV_ERRORS ; ¬ áᨢ áâப
ld bc,DRV_ERRORS.Size ; à §¬¥à ¬ áᨢ 
.set_de: SRL A
LD E,A
INC DE
LCPIR: XOR A
CPIR CPIR
RET PO RET PO
RET NZ RET NZ
;
XOR A
CP (HL)
JR Z,.no_mess
;
DEC DE DEC DE
LD A,D LD A,D
OR E OR E
JP NZ,LCPIR JP NZ,LCPIR
RET RET
.no_mess: INC HL
RET
/*
LCPIR: xor a
cpir
ret po
ret nz
;R11
XOR A
CP (HL)
JR Z,.no_mess
;
dec de
ld a,d
or e
jr nz,LCPIR
ret
.no_mess: INC HL
RET
MAX_DSS_ERR EQU 33
print_err_message:
ld hl,SYS_ERRORS ; ¬ áᨢ áâப
ld bc,SYS_ERRORS.Size ; à §¬¥à ¬ áᨢ 
;cp %1000'0000
RLA
jr nc,.set_de
;
;and %0111'1111
ld hl,DRV_ERRORS ; ¬ áᨢ áâப
ld bc,DRV_ERRORS.Size ; à §¬¥à ¬ áᨢ 
;
.set_de: SRL A
ld e,a
ld d,0
inc de
call LCPIR ; ­ ©â¨ áâபã
call PRINTZ ; ä®à¬ â. ¢ë¢®¤ áâப¨
jp newline
*/
ERRCDX DB "CDX: ",0 ERRCDX DB "CDX: ",0
@ -448,8 +511,8 @@ MSG_COPYABORTED EQU 19 ;21
MSG0 BYTE 0 MSG0 BYTE 0
;0 ;0
BYTE "CDROM eXtension utility v1.02, 2025 (c) Sprinter Team",CR,LF BYTE "CDROM eXtension utility v1.02.1, 2025 (c) Sprinter Team",CR,LF
DZ "Type CDX.EXE -? for help.",CR,LF,CR,LF DZ "Type CDX.EXE -? for help.",CR,LF
;1 ;1
DZ "Opening tray..." DZ "Opening tray..."
;2 ;2
@ -547,5 +610,6 @@ BUFERS_NUMBER EQU 6
; ;
ASSERT (DUMPBUF+2048 < #C000), "NO FREE SPACE FOR BUFFERS" ASSERT (DUMPBUF+2048 < #C000), "NO FREE SPACE FOR BUFFERS"
;-----------------------------------------------------------------------; ;-----------------------------------------------------------------------;
DEV_CFG DEV_CFG:
DISPLAY "\n\tCDX size: ",/D,DEV_CFG - START
;[END] ;[END]

View File

@ -1,5 +1,5 @@
CDROM eXtension utility version 1.01 CDROM eXtension utility version 1.02.01
------------------------------------------------ ------------------------------------------------
It's utility came for solving the problem with support CDROM in DSS ver 1.x. It's utility came for solving the problem with support CDROM in DSS ver 1.x.

View File

@ -91,7 +91,7 @@ CHELP: LD A,MSG_USAGE
CCLOSE: LD A,MSG_TRAY_CLOSE CCLOSE: LD A,MSG_TRAY_CLOSE
CALL MESSAGE CALL MESSAGE
LD A,(CDDRIVE) LD A,(CDDRIVE)
LD BC,BIOS.DRV_EXTENDED.CD_Close LD BC,BIOS.DRV_EXTENDED.ATAPI_Close
RST ToBIOS RST ToBIOS
LD A,MSG_DONE LD A,MSG_DONE
JP MESSAGE JP MESSAGE
@ -99,7 +99,7 @@ CCLOSE: LD A,MSG_TRAY_CLOSE
COPEN: LD A,MSG_TRAY_OPEN COPEN: LD A,MSG_TRAY_OPEN
CALL MESSAGE CALL MESSAGE
LD A,(CDDRIVE) LD A,(CDDRIVE)
LD BC,BIOS.DRV_EXTENDED.CD_Eject LD BC,BIOS.DRV_EXTENDED.ATAPI_Eject
RST ToBIOS RST ToBIOS
LD A,MSG_DONE LD A,MSG_DONE
JP MESSAGE JP MESSAGE

View File

@ -63,7 +63,7 @@ FM_BUF DB ". " ;+00 NAME
DB #00 ;+43 EMPTY DB #00 ;+43 EMPTY
END_FM END_FM
;End of FM ;End of FM
DS 44*2 ; DS 44*2
FM_SIZE EQU END_FM-FM_BUF FM_SIZE EQU END_FM-FM_BUF
@ -166,12 +166,12 @@ CHANGEDISK: LD A,(CDDRIVE)
AND A AND A
RET RET
NDISK11 CP BIOS.Error.ATAPI.NotReady ; NDISK11 CP BIOS.Error.ATAPI.NotReady
SCF ; SCF
RET NZ ; RET NZ
; ; ;
LD A,DSS_Error.sys.NOT_READY ; LD A,DSS_Error.sys.NOT_READY
RET ; RET
INITDISK: INITDISK:
LD A,DIRPAGE LD A,DIRPAGE

@ -1 +1 @@
Subproject commit 2b1e30c6108f0a5c271f84558e1e5f804a6d623a Subproject commit f533c03f52f53e581c794c1017b7b0d61d39dfbf