лучше бы я этого не делал

This commit is contained in:
Tolik 2025-04-18 05:46:36 +10:00
parent 1430dec045
commit fb13b0231b
16 changed files with 108 additions and 193 deletions

View File

@ -59,7 +59,7 @@
include 'API/Open.asm' include 'API/Open.asm'
include 'API/Close.asm' include 'API/Close.asm'
include 'API/Find.asm' include 'API/Find.asm'
include 'API/ChnDisk.asm' include 'API/ChDisk.asm'
include 'API/CurrDir.asm' include 'API/CurrDir.asm'
include 'API/Time.asm' include 'API/Time.asm'
include 'API/GetDateTime.asm' include 'API/GetDateTime.asm'
@ -88,8 +88,8 @@
;R09 ;R09
;„ã¡«ì - CHNDISK = OPENDSK ;„ã¡«ì - CHDISK = OPENDSK
;CHNDISK: ;CHDISK:
; PUSH AF ; PUSH AF
; LD C,Dss.DRV.Open ; LD C,Dss.DRV.Open
; RST ToDSS.DRV ; RST ToDSS.DRV

24
DSS/API/ChDisk.asm Normal file
View File

@ -0,0 +1,24 @@
////////////////////////////////////////////////////////////////////////
;
;
////////////////////////////////////////////////////////////////////////
CHDISK_FN: CALL CHDISK
RET C
PUSH AF
CALL DIR_PATH_CHANGE.FullCurrent
POP AF
RET
CHDISK: ;[x] ¡®«¥¥ ª®à४⭠ï ᬥ­  ¤¨áª 
CALL OPENDSK
;
;R010
RET C
LD HL,CORE_BUFFERS.WorkDirectory
LD (HL),0
PUSH AF
CALL OPENDIR
POP BC
RET C
LD A,B
RET
;

View File

@ -2,13 +2,13 @@
; ;
; ;
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
CHNDISK_FN: CALL CHNDISK CHDISK_FN: CALL CHDISK
RET C RET C
PUSH AF PUSH AF
CALL DIR_PATH_CHANGE.FullCurrent CALL DIR_PATH_CHANGE.FullCurrent
POP AF POP AF
RET RET
CHNDISK: ;[x] ¡®«¥¥ ª®à४⭠ï ᬥ­  ¤¨áª  CHDISK: ;[x] ¡®«¥¥ ª®à४⭠ï ᬥ­  ¤¨áª 
CALL OPENDSK CALL OPENDSK
; ;
;R010 ;R010

View File

@ -103,7 +103,6 @@ EXEC_1: ;LD (CMDLINE),HL
CALL MASK CALL MASK
RET C RET C
CALL TST_EXT CALL TST_EXT
;LD A,DSS_Error.sys.FILE_NOT_FOUND
RET C RET C
_mINCTASK ;R08 _mINCTASK ;R08
CALL OPEN_FN.FILE CALL OPEN_FN.FILE
@ -164,18 +163,12 @@ EXEC02: LD (EXE_FM),A
LD A,DSS_Error.sys.INVALID_EXE LD A,DSS_Error.sys.INVALID_EXE
SCF SCF
JP NZ,ERREXE JP NZ,ERREXE
;!TEST ;
;LD A,(CORE_BUFFERS.EXEBUFF.VERSION)
;OR A
;LD A,DSS_Error.sys.UNKNOWN_EXE
;SCF
;JP NZ,ERREXE
LD A,MINIMUM_EXE_VERSION LD A,MINIMUM_EXE_VERSION
CP (IX + _sEXE_HEADER.VERSION) CP (IX + _sEXE_HEADER.VERSION)
LD A,DSS_Error.sys.UNKNOWN_EXE LD A,DSS_Error.sys.UNKNOWN_EXE
JP C,ERREXE JP C,ERREXE
; ;
;
LD DE,(CORE_BUFFERS.EXEBUFF.LOADER) LD DE,(CORE_BUFFERS.EXEBUFF.LOADER)
LD A,E LD A,E
OR D OR D

View File

@ -137,7 +137,7 @@ DISKINF: LD C,B
JR Z,.CheckFreeSpace JR Z,.CheckFreeSpace
; ;
.CustomDisk: PUSH BC .CustomDisk: PUSH BC
CALL CHNDISK ;R06 CALL CHDISK ;R06
POP BC POP BC
RET C RET C
; ;

View File

@ -108,7 +108,7 @@ SetPath_GetName:
INC HL INC HL
INC HL INC HL
PUSH HL PUSH HL
CALL CHNDISK CALL CHDISK
;CALL OPENDSK ;CALL OPENDSK
POP HL POP HL
RET C RET C
@ -164,9 +164,9 @@ SetPath_GetName:
; SUB #20 ; SUB #20
; .next: SUB 'A' ; .next: SUB 'A'
; PUSH HL ; PUSH HL
; ;!TEST CHNDISK OPENDSK ; ;!TEST CHDISK OPENDSK
; ;CALL OPENDSK ; ;CALL OPENDSK
; CALL CHNDISK ; CALL CHDISK
; ; ; ;
; POP HL ; POP HL
; RET C ; RET C
@ -220,19 +220,24 @@ OPENDSK: ;!TEST DRV.Open
AND A AND A
RET RET
; !FIXIT ª®áâë«ì ¤«ï Flex Navigator ; [ ] media change ; !FIXIT ª®áâë«ì ¤«ï Flex Navigator ; [ ] media change
.error: CP DSS_Error.sys.INVALID_DRIVE .error: CALL .error_convert
LD A,C
SCF SCF
RET
;
.error_convert: CP DSS_Error.drv.INVALID_DRIVE
LD C,DSS_Error.sys.INVALID_DRIVE
RET Z RET Z
; ;
CP DSS_Error.sys.MEDIA_CHANGED CP DSS_Error.drv.ATAPI.UnitAttention
SCF LD C,DSS_Error.sys.MEDIA_CHANGED
RET Z RET Z
; ;
CP DSS_Error.sys.UNKNOWN_FORMAT CP DSS_Error.drv.UNKNOWN_FORMAT
SCF LD C,DSS_Error.sys.UNKNOWN_FORMAT
RET Z RET Z
; ;
LD A,DSS_Error.sys.NOT_READY LD C,DSS_Error.sys.NOT_READY
RET RET
; ;
;[x] 29/02/2024 fix "open drive error"; 20/06/2024 fixed ;[x] 29/02/2024 fix "open drive error"; 20/06/2024 fixed

View File

@ -34,7 +34,7 @@ A0000: JP RST_00
; ;
RST_00: RST_00:
LD A,DSS_Error.drv.INVALID_COMMAND LD A,BIOS.Error.InvalidSubFunction
SCF SCF
RET RET
; ;
@ -83,7 +83,7 @@ A0020: JP DRV_PAGE.RST_20
; ;
DRV_PAGE.RST_20: DRV_PAGE.RST_20:
LD A,DSS_Error.drv.INVALID_COMMAND LD A,BIOS.Error.InvalidSubFunction
SCF SCF
RET RET
; ;
@ -98,7 +98,7 @@ A0028: JP DRV_PAGE.RST_28
; ;
DRV_PAGE.RST_28: DRV_PAGE.RST_28:
LD A,DSS_Error.drv.INVALID_COMMAND LD A,BIOS.Error.InvalidSubFunction
SCF SCF
RET RET
; ;
@ -195,16 +195,19 @@ A0066: JP DRV_PAGE.NMI ;
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
; <[DRIVE PAGE SWITCH]> ; ; <[DRIVE PAGE SWITCH]> ;
BLOCK PORTAL.RSTx18_SWITCH_ADDRESS-$-(PORTAL.out_DRV.switch - PORTAL.out_DRV),#C7 BLOCK PORTAL.RSTx18_SWITCH_ADDRESS-$-(PORTAL.out_DRV.switch - PORTAL.out_DRV),#C7
PORTAL.out_DRV: PUSH BC ; PORTAL.out_DRV: PUSH BC
.RETBANK+2: LD BC,SLOT0 + 0*256; ;!!!!! ReScnDRV ¨á¯®«ì§ã¥â íâ® §­ ç¥­¨¥ .RETBANK+2: LD BC,SLOT0 + 0*256; ;!!!!! ReScnDRV ¨á¯®«ì§ã¥â íâ® §­ ç¥­¨¥
.switch: OUT (C),B ; .switch: OUT (C),B
ASSERT $!=84,'-> Portal error!'; ASSERT $!=84,'-> Portal error!';
;Entry point from DSS main page ;Entry point from DSS main page
LD (.RETBANK),A ; LD (.RETBANK),A
POP BC ; POP BC
POP AF ; POP AF
.ADCALL+1: CALL DISPATCH ; ¯ âç¨âáï ­  INTDISK .ADCALL+1: CALL DISPATCH ; ¯ âç¨âáï ­  INTDISK
JP PORTAL.out_DRV ; JR NC,PORTAL.out_DRV
XOR DSS_Error.DRV_MASK
SCF
JP PORTAL.out_DRV
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////

View File

@ -338,7 +338,7 @@ GO_ZERO EQU #0000
DSS_API_TABLE: ;DS 512 ;,0 DSS_API_TABLE: ;DS 512 ;,0
;...............................................[LOW ADDRESS ]: ;...............................................[LOW ADDRESS ]:
; 0 1 2 3 4 5 6 7 8 9 DEC HEX ; 0 1 2 3 4 5 6 7 8 9 DEC HEX
DB low F_START, low CHNDISK_FN, low CURDISK_FN,low DISKINF, low NOPS, low NOPS, low NOPS, low NOPS, low SCANDRV, low BOOTDSK ; 0 00..09 DB low F_START, low CHDISK_FN, low CURDISK_FN,low DISKINF, low NOPS, low NOPS, low NOPS, low NOPS, low SCANDRV, low BOOTDSK ; 0 00..09
DB low CREATE, low CREATE.NEW, low NOPS, low NOPS, low DEL_FN, low NOPS, low RENAME, low OPEN_FN, low CLOSE_FN, low READ ; 1 0A..13 DB low CREATE, low CREATE.NEW, low NOPS, low NOPS, low DEL_FN, low NOPS, low RENAME, low OPEN_FN, low CLOSE_FN, low READ ; 1 0A..13
DB low WRITE, low MOVE_FP, low ATTRIB, low GET_D_T, low PUT_D_T, low F_FIRST_FN,low F_NEXT, low MKDIR.B, low RMDIR, low CHDIR_FN ; 2 14..1D DB low WRITE, low MOVE_FP, low ATTRIB, low GET_D_T, low PUT_D_T, low F_FIRST_FN,low F_NEXT, low MKDIR.B, low RMDIR, low CHDIR_FN ; 2 14..1D
DB low CURRDIR_FN,low NOPS, low NOPS, low SYSTIME, low SETTIME, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS ; 3 1E..27 DB low CURRDIR_FN,low NOPS, low NOPS, low SYSTIME, low SETTIME, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS ; 3 1E..27
@ -367,7 +367,7 @@ DSS_API_TABLE: ;DS 512 ;,0
;[ ] R09 ;[ ] R09
ENDIF ENDIF
;...............................................[HIGH ADDRESS]: ;...............................................[HIGH ADDRESS]:
DB high F_START, high CHNDISK_FN,high CURDISK_FN,high DISKINF,high NOPS, high NOPS, high NOPS, high NOPS, high SCANDRV, high BOOTDSK DB high F_START, high CHDISK_FN, high CURDISK_FN,high DISKINF,high NOPS, high NOPS, high NOPS, high NOPS, high SCANDRV, high BOOTDSK
DB high CREATE, high CREATE.NEW,high NOPS, high NOPS, high DEL_FN, high NOPS, high RENAME, high OPEN_FN,high CLOSE_FN,high READ DB high CREATE, high CREATE.NEW,high NOPS, high NOPS, high DEL_FN, high NOPS, high RENAME, high OPEN_FN,high CLOSE_FN,high READ
DB high WRITE, high MOVE_FP, high ATTRIB, high GET_D_T,high PUT_D_T,high F_FIRST_FN,high F_NEXT, high MKDIR.B,high RMDIR, high CHDIR_FN DB high WRITE, high MOVE_FP, high ATTRIB, high GET_D_T,high PUT_D_T,high F_FIRST_FN,high F_NEXT, high MKDIR.B,high RMDIR, high CHDIR_FN
DB high CURRDIR_FN,high NOPS, high NOPS, high SYSTIME,high SETTIME,high NOPS, high NOPS, high NOPS, high NOPS, high NOPS DB high CURRDIR_FN,high NOPS, high NOPS, high SYSTIME,high SETTIME,high NOPS, high NOPS, high NOPS, high NOPS, high NOPS

View File

@ -1 +1 @@
31 33

View File

@ -276,46 +276,6 @@ Find_Record:
RET RET
;-----------------------[] ;-----------------------[]
;-----------------------[]
; ERROR_BOOTDRV_DIES:
; DI
; LD E,1
; LD BC,BIOS.LP_OPEN_S.TXT_80x32_Default
; RST ToBIOS
; ;
; LD HL,#2050
; LD DE,0
; LD BC,256*COLORS.CGA.PAPER.BLUE + BIOS.LP_CLS_WIN
; RST ToBIOS
; ;
; LD A,1
; OUT (SCREEN_SWITCH),A ; set scr-2
; ;
; LD HL,.ERROR_MSG
; LD DE,#A000
; LD BC,.ERROR_MSG.size
; LD A,C
; LDIR
; ;
; LD DE,16*256 + (80-.ERROR_MSG.size)/2 ;X=0, Y=16
; LD C,BIOS.LP_SET_PLACE
; RST ToBIOS
; ;
; LD HL,#A000
; LD DE,0*256 + COLORS.CGA.FLASH + COLORS.CGA.PAPER.BLUE + COLORS.CGA.INK.WHITE
; LD B,A
; LD C,BIOS.LP_PRINT_LINE3
; RST ToBIOS
; ;
; .loop: DI
; HALT
; JR .loop
; ;
; .ERROR_MSG: DZ "Kernel panic! Boot disk lost. Press Ctrl+Alt+Del or RESET."
; .ERROR_MSG.size EQU $-.ERROR_MSG
;-----------------------[]
;-----------------------[] ;-----------------------[]
; <20>… ƒ<>Ž•€œ HL! ; <20>… ƒ<>Ž•€œ HL!
;  . ¥á«¨ ¤à ©¢ ¥áâì ¢ ­®¢®© ¨ áâ à®©, â® § â¨à ¥¬ ¢ ­®¢®© ;  . ¥á«¨ ¤à ©¢ ¥áâì ¢ ­®¢®© ¨ áâ à®©, â® § â¨à ¥¬ ¢ ­®¢®©

View File

@ -210,7 +210,7 @@ INTDISK:
RET RET
NODEV: POP BC NODEV: POP BC
POP HL POP HL
LD A,DSS_Error.drv.INVALID_DRIVE LD A,BIOS.Error.BadNumber
SCF SCF
RET RET

View File

@ -207,7 +207,7 @@ API_TABLE: INC C
DEC C DEC C
JP Z,WriteLong ; [ ] ; c=11 Write Long JP Z,WriteLong ; [ ] ; c=11 Write Long
; ;
.Reserved: LD A,DSS_Error.drv.INVALID_COMMAND .Reserved: LD A,BIOS.Error.InvalidSubFunction
SCF SCF
RET RET
@ -279,7 +279,7 @@ Init: PUSH IY
DJNZ .NX_DVCI DJNZ .NX_DVCI
RET RET
; ;
.check_error: XOR BIOS.Error.BadNumber .check_error: XOR BIOS.Error.BadNumber ; â ª ­ ¤®
RET NZ RET NZ
SCF SCF
RET RET
@ -294,34 +294,6 @@ Init: PUSH IY
;+10 WORD Sector Size ;+10 WORD Sector Size
;+12 BYTE Removable Media Byte flags ;+12 BYTE Removable Media Byte flags
;+13_15 FREE ;+13_15 FREE
; SelectDrive: PUSH DE
; PUSH HL
; ;
; LD L,A
; ;
; LOGDRV_ENTRY_FIND LOGDRV
; ;
; ; [ ] custorm sector size
; CALL CHECK_IDE_SECTOR_SIZE
; RLA
; ;
; ;
; LD E,(IY+LOGDRV.SECTOR_OFFSET)
; LD D,(IY+LOGDRV.SECTOR_OFFSET+1)
; ADD IX,DE
; LD E,(IY+LOGDRV.SECTOR_OFFSET+2)
; LD D,(IY+LOGDRV.SECTOR_OFFSET+3)
; POP HL
; ADC HL,DE
; ; [ ] custom sector size
; ;JR C,.exit
; RRA
; ;
; .exit: LD A,(IY+LOGDRV.PHISICAL_DRV_NUMBER)
; POP DE
; RET NC
; LD A,DSS_Error.drv.UNKNOWN_FORMAT
; RET
; ;
@ -338,30 +310,16 @@ SelectDrive: PUSH DE
; ;
LD L,A LD L,A
ADD 0 - DSS_MAX_DRIVES_AMOUNT - 1 ADD 0 - DSS_MAX_DRIVES_AMOUNT - 1
LD A,DSS_Error.sys.INVALID_DRIVE LD A,BIOS.Error.UnknownDevice
JR C,.error_pop JR C,.error_pop
; ;
LOGDRV_ENTRY_FIND LOGDRV LOGDRV_ENTRY_FIND LOGDRV
; ;
; ; [ ] custom sector size
; CALL CHECK_IDE_SECTOR_SIZE
; LD A,DSS_Error.sys.UNKNOWN_FORMAT
; JR C,.error_pop
; ;
; ;
; LD E,(IY+LOGDRV.SECTOR_OFFSET)
; LD D,(IY+LOGDRV.SECTOR_OFFSET+1)
; ADD IX,DE
; LD E,(IY+LOGDRV.SECTOR_OFFSET+2)
; LD D,(IY+LOGDRV.SECTOR_OFFSET+3)
POP HL POP HL
CALL .get_data CALL .get_data
JR C,.error_pop2 JR C,.error_pop2
; ;
POP DE POP DE
; LD A,DSS_Error.sys.SECTOR_NOT_FOUND
; RET C
;
LD A,(IY+LOGDRV.PHISICAL_DRV_NUMBER) LD A,(IY+LOGDRV.PHISICAL_DRV_NUMBER)
RET RET
; ;
@ -371,7 +329,7 @@ SelectDrive: PUSH DE
; ;
.get_data: ; [ ] custom sector size .get_data: ; [ ] custom sector size
CALL CHECK_IDE_SECTOR_SIZE CALL CHECK_IDE_SECTOR_SIZE
LD A,DSS_Error.sys.UNKNOWN_FORMAT LD A,BIOS.Error.UnknownDevice
RET C RET C
; ;
LD E,(IY+LOGDRV.SECTOR_OFFSET) LD E,(IY+LOGDRV.SECTOR_OFFSET)
@ -380,7 +338,7 @@ SelectDrive: PUSH DE
LD E,(IY+LOGDRV.SECTOR_OFFSET+2) LD E,(IY+LOGDRV.SECTOR_OFFSET+2)
LD D,(IY+LOGDRV.SECTOR_OFFSET+3) LD D,(IY+LOGDRV.SECTOR_OFFSET+3)
ADC HL,DE ADC HL,DE
LD A,DSS_Error.sys.SECTOR_NOT_FOUND LD A,BIOS.Error.SectorNotFound
RET RET
@ -400,7 +358,7 @@ GenIOCTL: BIT 7,B
JR Z,.error ;ReadTrack JR Z,.error ;ReadTrack
DEC B DEC B
JR Z,TestTRK JR Z,TestTRK
LD A,DSS_Error.drv.INVALID_COMMAND LD A,BIOS.Error.InvalidSubFunction
SCF SCF
RET RET
; ;
@ -412,11 +370,11 @@ GenIOCTL: BIT 7,B
JR Z,.error ;WriteTrack JR Z,.error ;WriteTrack
DEC B DEC B
JR Z,.error JR Z,.error
LD A,DSS_Error.drv.INVALID_COMMAND LD A,BIOS.Error.InvalidSubFunction
SCF SCF
RET RET
; ;
.error: LD A,DSS_Error.drv.GENERAL_FAILURE .error: LD A,BIOS.Error.Failure
SCF SCF
RET RET
@ -459,7 +417,7 @@ GetParams: EX DE,HL
AND A AND A
SBC HL,BC SBC HL,BC
LD L,A LD L,A
LD A,DSS_Error.drv.GENERAL_FAILURE LD A,BIOS.Error.Failure
SCF SCF
RET NZ RET NZ
; ;
@ -474,22 +432,13 @@ GetParams: EX DE,HL
RST ToBIOS RST ToBIOS
POP IY POP IY
JR NC,.next JR NC,.next
;
;CP BIOS.Error.ATAPI.NotReady
;SCF
;LD A,DSS_Error.drv.NOT_READY
;JR Z,.error
;LD A,DSS_Error.drv.INVALID_DRIVE
;JR .error
; ;
CP BIOS.Error.BadNumber CP BIOS.Error.BadNumber
SCF SCF
LD A,DSS_Error.drv.INVALID_DRIVE
JR Z,.error JR Z,.error
LD A,DSS_Error.drv.NOT_READY LD A,BIOS.Error.NotReady
JR .error JR .error
;
; [ ] media change - ã¡à âì ;!FIXIT ; [ ] media change - ã¡à âì ;!FIXIT
.next: EX AF,AF .next: EX AF,AF
JR NC,.NoMediaChange JR NC,.NoMediaChange
@ -576,7 +525,7 @@ Open: CALL MediaCheck
; ;
INC A INC A
RET NZ RET NZ
LD A,DSS_Error.sys.MEDIA_CHANGED LD A,BIOS.Error.ATAPI.UnitAttention
SCF SCF
RET RET
; ;
@ -587,7 +536,7 @@ MediaCheck: PUSH IY
CALL SelectDrive.NoSector CALL SelectDrive.NoSector
JR NC,.next_step JR NC,.next_step
; ;
CP DSS_Error.sys.UNKNOWN_FORMAT CP BIOS.Error.UnknownDevice
JR NZ,.exit JR NZ,.exit
; A != 0 ; A != 0
AND A ; á¡à®á ZF AND A ; á¡à®á ZF
@ -604,7 +553,15 @@ MediaCheck: PUSH IY
; ;
CP BIOS.Error.ATAPI.UnitAttention CP BIOS.Error.ATAPI.UnitAttention
JR Z,.Reinit JR Z,.Reinit
;!FIXIT § £«ã誠/ª®áâë«ì ¨§-§  ¯¥à¥á¥ç¥­¨ï ­®¬¥à®¢ ®è¨¡®ª
POP BC ; <20> « ­á á⥪  POP BC ; <20> « ­á á⥪ 
/*
BIOS.Error.BadNumber
BIOS.Error.Failure
BIOS.Error.Busy
BIOS.Error.ATAPI.TimeOut
*/
;LD A,BIOS.Error.Busy
.exit: SCF .exit: SCF
POP IY POP IY
RET RET
@ -626,7 +583,7 @@ MediaCheck: PUSH IY
POP IY POP IY
JR NC,.no_errors JR NC,.no_errors
; ;
CP DSS_Error.sys.UNKNOWN_FORMAT CP BIOS.Error.UnknownDevice
SCF SCF
RET Z RET Z
; ;
@ -669,33 +626,6 @@ GetBPB: ; !FIXIT
LD IX,0 LD IX,0
LD B,1 LD B,1
JR Read JR Read
; PUSH IY
; PUSH DE
; LD L,A
; ;
; LOGDRV_ENTRY_FIND LOGDRV
; ;
; ; [ ] custorm sector size
; CALL CHECK_IDE_SECTOR_SIZE
; JR C,.error
; ;
; LD E,(IY+LOGDRV.SECTOR_OFFSET)
; LD D,(IY+LOGDRV.SECTOR_OFFSET+1)
; LD L,(IY+LOGDRV.SECTOR_OFFSET+2)
; LD H,(IY+LOGDRV.SECTOR_OFFSET+3)
; LD XL,E
; LD XH,D
; LD A,(IY+LOGDRV.PHISICAL_DRV_NUMBER)
; POP DE
; POP IY
; LD BC,1*256 + BIOS.DRV_READ
; JP ToBIOS
; ;
; .error: POP DE
; POP IY
; LD A,DSS_Error.drv.UNKNOWN_FORMAT
; RET
;HL:IX - SECTOR ;HL:IX - SECTOR

View File

@ -162,7 +162,7 @@ API_TABLE: INC C
DEC C DEC C
JP Z,Reserved ;#09 JP Z,Reserved ;#09
; ;
Reserved: LD A,DSS_Error.drv.INVALID_COMMAND Reserved: LD A,BIOS.Error.InvalidSubFunction
SCF SCF
RET RET
@ -189,7 +189,7 @@ Open: PUSH AF
RST ToBIOS RST ToBIOS
LD DE,-DSS_MAX_SECTOR_SIZE - 1 ; [ ] 15/04/25 ­¥ ¡ã¤¥â ç¨â âì ᥪâ®à ¡®«ìè¥ DSS_MAX_SECTOR_SIZE LD DE,-DSS_MAX_SECTOR_SIZE - 1 ; [ ] 15/04/25 ­¥ ¡ã¤¥â ç¨â âì ᥪâ®à ¡®«ìè¥ DSS_MAX_SECTOR_SIZE
; ZF = 0 ; ZF = 0
LD A,DSS_Error.sys.UNKNOWN_FORMAT LD A,BIOS.Error.UnknownDevice
OR A ; 㡨ࠥ¬ ZF, ¥á«¨ ¥áâì OR A ; 㡨ࠥ¬ ZF, ¥á«¨ ¥áâì
; ;
ADD IX,DE ; ¥á«¨ à §¬¥à ᥪâ®à  ¡®«ìè¥, â® ®¡«®¬ ADD IX,DE ; ¥á«¨ à §¬¥à ᥪâ®à  ¡®«ìè¥, â® ®¡«®¬
@ -279,7 +279,7 @@ GenIOCTL: BIT 7,B
;DEC B ;DEC B
;JP Z,.TestTRK ;JP Z,.TestTRK
; ;
LD A,DSS_Error.drv.INVALID_COMMAND LD A,BIOS.Error.InvalidSubFunction
SCF SCF
RET RET
; ;
@ -293,7 +293,7 @@ GenIOCTL: BIT 7,B
;DEC B ;DEC B
;JP Z,.FormatTRK ;JP Z,.FormatTRK
; ;
LD A,DSS_Error.drv.INVALID_COMMAND LD A,BIOS.Error.InvalidSubFunction
SCF SCF
RET RET
; ; ; ; ; ;
@ -319,7 +319,7 @@ GenIOCTL: BIT 7,B
SBC HL,BC SBC HL,BC
JR Z,.next JR Z,.next
; ;
LD A,DSS_Error.drv.GENERAL_FAILURE LD A,BIOS.Error.Failure
SCF SCF
RET RET
; ;
@ -377,7 +377,7 @@ GenIOCTL: BIT 7,B
RET RET
; ;
.NONE_FDD: POP BC .NONE_FDD: POP BC
LD A,DSS_Error.drv.INVALID_DRIVE LD A,BIOS.Error.BadNumber
; CF=1 ; CF=1
RET RET
; ; ; ; ; ;

View File

@ -172,7 +172,7 @@
; ;
;[]===========================================================[ 11] ;[]===========================================================[ 11]
; ;
; Errors: ; Errors: ;!FIXIT ⑤<><E291A4><EFBFBD><EFBFBD> Л<>腑⑧<E88591>
; 0 (00h) - NO ERRORS ; 0 (00h) - NO ERRORS
; 1 (01h) - BAD COMMAND ; 1 (01h) - BAD COMMAND
; 2 (02h) - BAD DRIVE NUMBER ; 2 (02h) - BAD DRIVE NUMBER
@ -231,7 +231,7 @@ API_TABLE: INC C
DEC C DEC C
JP Z,WriteLong ; 11 JP Z,WriteLong ; 11
; ;
.error: LD A,DSS_Error.drv.INVALID_COMMAND .error: LD A,BIOS.Error.InvalidSubFunction
SCF SCF
RET RET
@ -434,7 +434,7 @@ GenIOCTL: BIT 7,B
;JP Z,FRDTRAC ;JP Z,FRDTRAC
;DEC B ;DEC B
;JP Z,FCHTRAC ;JP Z,FCHTRAC
LD A,DSS_Error.drv.INVALID_COMMAND LD A,BIOS.Error.InvalidSubFunction
SCF SCF
RET RET
@ -446,7 +446,7 @@ GenIOCTL: BIT 7,B
;JP Z,FWRTRAC ;JP Z,FWRTRAC
;DEC B ;DEC B
;JP Z,FFRTRAC ;JP Z,FFRTRAC
LD A,DSS_Error.drv.INVALID_COMMAND LD A,BIOS.Error.InvalidSubFunction
SCF SCF
RET RET
@ -467,7 +467,7 @@ GenIOCTL: BIT 7,B
AND A AND A
SBC HL,BC SBC HL,BC
LD L,A LD L,A
LD A,DSS_Error.drv.GENERAL_FAILURE LD A,BIOS.Error.Failure
SCF SCF
RET NZ RET NZ
; ;

View File

@ -1 +1 @@
494 503

@ -1 +1 @@
Subproject commit f533c03f52f53e581c794c1017b7b0d61d39dfbf Subproject commit 5a36cbee9ca6df7f7c1008fed7f242d0a505bc50