mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 17:31:47 +03:00
лучше бы я этого не делал
This commit is contained in:
parent
1430dec045
commit
fb13b0231b
@ -59,7 +59,7 @@
|
||||
include 'API/Open.asm'
|
||||
include 'API/Close.asm'
|
||||
include 'API/Find.asm'
|
||||
include 'API/ChnDisk.asm'
|
||||
include 'API/ChDisk.asm'
|
||||
include 'API/CurrDir.asm'
|
||||
include 'API/Time.asm'
|
||||
include 'API/GetDateTime.asm'
|
||||
@ -88,8 +88,8 @@
|
||||
|
||||
|
||||
;R09
|
||||
;„ã¡«ì - CHNDISK = OPENDSK
|
||||
;CHNDISK:
|
||||
;„ã¡«ì - CHDISK = OPENDSK
|
||||
;CHDISK:
|
||||
; PUSH AF
|
||||
; LD C,Dss.DRV.Open
|
||||
; RST ToDSS.DRV
|
||||
|
||||
24
DSS/API/ChDisk.asm
Normal file
24
DSS/API/ChDisk.asm
Normal 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
|
||||
;
|
||||
@ -2,13 +2,13 @@
|
||||
;
|
||||
;
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
CHNDISK_FN: CALL CHNDISK
|
||||
CHDISK_FN: CALL CHDISK
|
||||
RET C
|
||||
PUSH AF
|
||||
CALL DIR_PATH_CHANGE.FullCurrent
|
||||
POP AF
|
||||
RET
|
||||
CHNDISK: ;[x] ¡®«¥¥ ª®à४â ï ᬥ ¤¨áª
|
||||
CHDISK: ;[x] ¡®«¥¥ ª®à४â ï ᬥ ¤¨áª
|
||||
CALL OPENDSK
|
||||
;
|
||||
;R010
|
||||
|
||||
@ -103,7 +103,6 @@ EXEC_1: ;LD (CMDLINE),HL
|
||||
CALL MASK
|
||||
RET C
|
||||
CALL TST_EXT
|
||||
;LD A,DSS_Error.sys.FILE_NOT_FOUND
|
||||
RET C
|
||||
_mINCTASK ;R08
|
||||
CALL OPEN_FN.FILE
|
||||
@ -164,17 +163,11 @@ EXEC02: LD (EXE_FM),A
|
||||
LD A,DSS_Error.sys.INVALID_EXE
|
||||
SCF
|
||||
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
|
||||
CP (IX + _sEXE_HEADER.VERSION)
|
||||
LD A,DSS_Error.sys.UNKNOWN_EXE
|
||||
JP C,ERREXE
|
||||
;
|
||||
LD A,MINIMUM_EXE_VERSION
|
||||
CP (IX + _sEXE_HEADER.VERSION)
|
||||
LD A,DSS_Error.sys.UNKNOWN_EXE
|
||||
JP C,ERREXE
|
||||
;
|
||||
LD DE,(CORE_BUFFERS.EXEBUFF.LOADER)
|
||||
LD A,E
|
||||
|
||||
@ -137,7 +137,7 @@ DISKINF: LD C,B
|
||||
JR Z,.CheckFreeSpace
|
||||
;
|
||||
.CustomDisk: PUSH BC
|
||||
CALL CHNDISK ;R06
|
||||
CALL CHDISK ;R06
|
||||
POP BC
|
||||
RET C
|
||||
;
|
||||
|
||||
@ -108,7 +108,7 @@ SetPath_GetName:
|
||||
INC HL
|
||||
INC HL
|
||||
PUSH HL
|
||||
CALL CHNDISK
|
||||
CALL CHDISK
|
||||
;CALL OPENDSK
|
||||
POP HL
|
||||
RET C
|
||||
@ -164,9 +164,9 @@ SetPath_GetName:
|
||||
; SUB #20
|
||||
; .next: SUB 'A'
|
||||
; PUSH HL
|
||||
; ;!TEST CHNDISK OPENDSK
|
||||
; ;!TEST CHDISK OPENDSK
|
||||
; ;CALL OPENDSK
|
||||
; CALL CHNDISK
|
||||
; CALL CHDISK
|
||||
; ;
|
||||
; POP HL
|
||||
; RET C
|
||||
@ -220,19 +220,24 @@ OPENDSK: ;!TEST DRV.Open
|
||||
AND A
|
||||
RET
|
||||
; !FIXIT ª®áâë«ì ¤«ï Flex Navigator ; [ ] media change
|
||||
.error: CP DSS_Error.sys.INVALID_DRIVE
|
||||
.error: CALL .error_convert
|
||||
LD A,C
|
||||
SCF
|
||||
RET
|
||||
;
|
||||
.error_convert: CP DSS_Error.drv.INVALID_DRIVE
|
||||
LD C,DSS_Error.sys.INVALID_DRIVE
|
||||
RET Z
|
||||
;
|
||||
CP DSS_Error.sys.MEDIA_CHANGED
|
||||
SCF
|
||||
CP DSS_Error.drv.ATAPI.UnitAttention
|
||||
LD C,DSS_Error.sys.MEDIA_CHANGED
|
||||
RET Z
|
||||
;
|
||||
CP DSS_Error.sys.UNKNOWN_FORMAT
|
||||
SCF
|
||||
CP DSS_Error.drv.UNKNOWN_FORMAT
|
||||
LD C,DSS_Error.sys.UNKNOWN_FORMAT
|
||||
RET Z
|
||||
;
|
||||
LD A,DSS_Error.sys.NOT_READY
|
||||
LD C,DSS_Error.sys.NOT_READY
|
||||
RET
|
||||
;
|
||||
;[x] 29/02/2024 fix "open drive error"; 20/06/2024 fixed
|
||||
|
||||
@ -34,7 +34,7 @@ A0000: JP RST_00
|
||||
|
||||
;
|
||||
RST_00:
|
||||
LD A,DSS_Error.drv.INVALID_COMMAND
|
||||
LD A,BIOS.Error.InvalidSubFunction
|
||||
SCF
|
||||
RET
|
||||
;
|
||||
@ -83,7 +83,7 @@ A0020: JP DRV_PAGE.RST_20
|
||||
|
||||
;
|
||||
DRV_PAGE.RST_20:
|
||||
LD A,DSS_Error.drv.INVALID_COMMAND
|
||||
LD A,BIOS.Error.InvalidSubFunction
|
||||
SCF
|
||||
RET
|
||||
;
|
||||
@ -98,7 +98,7 @@ A0028: JP DRV_PAGE.RST_28
|
||||
|
||||
;
|
||||
DRV_PAGE.RST_28:
|
||||
LD A,DSS_Error.drv.INVALID_COMMAND
|
||||
LD A,BIOS.Error.InvalidSubFunction
|
||||
SCF
|
||||
RET
|
||||
;
|
||||
@ -195,16 +195,19 @@ A0066: JP DRV_PAGE.NMI ;
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
; <[DRIVE PAGE SWITCH]> ;
|
||||
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 ¨á¯®«ì§ã¥â íâ® § 票¥
|
||||
.switch: OUT (C),B ;
|
||||
.switch: OUT (C),B
|
||||
ASSERT $!=84,'-> Portal error!';
|
||||
;Entry point from DSS main page
|
||||
LD (.RETBANK),A ;
|
||||
POP BC ;
|
||||
POP AF ;
|
||||
.ADCALL+1: CALL DISPATCH ; ¯ âç¨âáï INTDISK
|
||||
JP PORTAL.out_DRV ;
|
||||
LD (.RETBANK),A
|
||||
POP BC
|
||||
POP AF
|
||||
.ADCALL+1: CALL DISPATCH ; ¯ âç¨âáï INTDISK
|
||||
JR NC,PORTAL.out_DRV
|
||||
XOR DSS_Error.DRV_MASK
|
||||
SCF
|
||||
JP PORTAL.out_DRV
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
@ -338,7 +338,7 @@ GO_ZERO EQU #0000
|
||||
DSS_API_TABLE: ;DS 512 ;,0
|
||||
;...............................................[LOW ADDRESS ]:
|
||||
; 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 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
|
||||
@ -367,7 +367,7 @@ DSS_API_TABLE: ;DS 512 ;,0
|
||||
;[ ] R09
|
||||
ENDIF
|
||||
;...............................................[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 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
|
||||
|
||||
@ -1 +1 @@
|
||||
31
|
||||
33
|
||||
@ -276,46 +276,6 @@ Find_Record:
|
||||
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!
|
||||
; . ¥á«¨ ¤à ©¢ ¥áâì ¢ ®¢®© ¨ áâ ன, â® § â¨à ¥¬ ¢ ®¢®©
|
||||
|
||||
@ -210,7 +210,7 @@ INTDISK:
|
||||
RET
|
||||
NODEV: POP BC
|
||||
POP HL
|
||||
LD A,DSS_Error.drv.INVALID_DRIVE
|
||||
LD A,BIOS.Error.BadNumber
|
||||
SCF
|
||||
RET
|
||||
|
||||
|
||||
@ -207,7 +207,7 @@ API_TABLE: INC C
|
||||
DEC C
|
||||
JP Z,WriteLong ; [ ] ; c=11 Write Long
|
||||
;
|
||||
.Reserved: LD A,DSS_Error.drv.INVALID_COMMAND
|
||||
.Reserved: LD A,BIOS.Error.InvalidSubFunction
|
||||
SCF
|
||||
RET
|
||||
|
||||
@ -279,7 +279,7 @@ Init: PUSH IY
|
||||
DJNZ .NX_DVCI
|
||||
RET
|
||||
;
|
||||
.check_error: XOR BIOS.Error.BadNumber
|
||||
.check_error: XOR BIOS.Error.BadNumber ; â ª ¤®
|
||||
RET NZ
|
||||
SCF
|
||||
RET
|
||||
@ -294,34 +294,6 @@ Init: PUSH IY
|
||||
;+10 WORD Sector Size
|
||||
;+12 BYTE Removable Media Byte flags
|
||||
;+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
|
||||
ADD 0 - DSS_MAX_DRIVES_AMOUNT - 1
|
||||
LD A,DSS_Error.sys.INVALID_DRIVE
|
||||
LD A,BIOS.Error.UnknownDevice
|
||||
JR C,.error_pop
|
||||
;
|
||||
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
|
||||
CALL .get_data
|
||||
JR C,.error_pop2
|
||||
;
|
||||
POP DE
|
||||
; LD A,DSS_Error.sys.SECTOR_NOT_FOUND
|
||||
; RET C
|
||||
;
|
||||
LD A,(IY+LOGDRV.PHISICAL_DRV_NUMBER)
|
||||
RET
|
||||
;
|
||||
@ -371,7 +329,7 @@ SelectDrive: PUSH DE
|
||||
;
|
||||
.get_data: ; [ ] custom sector size
|
||||
CALL CHECK_IDE_SECTOR_SIZE
|
||||
LD A,DSS_Error.sys.UNKNOWN_FORMAT
|
||||
LD A,BIOS.Error.UnknownDevice
|
||||
RET C
|
||||
;
|
||||
LD E,(IY+LOGDRV.SECTOR_OFFSET)
|
||||
@ -380,7 +338,7 @@ SelectDrive: PUSH DE
|
||||
LD E,(IY+LOGDRV.SECTOR_OFFSET+2)
|
||||
LD D,(IY+LOGDRV.SECTOR_OFFSET+3)
|
||||
ADC HL,DE
|
||||
LD A,DSS_Error.sys.SECTOR_NOT_FOUND
|
||||
LD A,BIOS.Error.SectorNotFound
|
||||
RET
|
||||
|
||||
|
||||
@ -400,7 +358,7 @@ GenIOCTL: BIT 7,B
|
||||
JR Z,.error ;ReadTrack
|
||||
DEC B
|
||||
JR Z,TestTRK
|
||||
LD A,DSS_Error.drv.INVALID_COMMAND
|
||||
LD A,BIOS.Error.InvalidSubFunction
|
||||
SCF
|
||||
RET
|
||||
;
|
||||
@ -412,11 +370,11 @@ GenIOCTL: BIT 7,B
|
||||
JR Z,.error ;WriteTrack
|
||||
DEC B
|
||||
JR Z,.error
|
||||
LD A,DSS_Error.drv.INVALID_COMMAND
|
||||
LD A,BIOS.Error.InvalidSubFunction
|
||||
SCF
|
||||
RET
|
||||
;
|
||||
.error: LD A,DSS_Error.drv.GENERAL_FAILURE
|
||||
.error: LD A,BIOS.Error.Failure
|
||||
SCF
|
||||
RET
|
||||
|
||||
@ -459,7 +417,7 @@ GetParams: EX DE,HL
|
||||
AND A
|
||||
SBC HL,BC
|
||||
LD L,A
|
||||
LD A,DSS_Error.drv.GENERAL_FAILURE
|
||||
LD A,BIOS.Error.Failure
|
||||
SCF
|
||||
RET NZ
|
||||
;
|
||||
@ -475,21 +433,12 @@ GetParams: EX DE,HL
|
||||
POP IY
|
||||
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
|
||||
SCF
|
||||
LD A,DSS_Error.drv.INVALID_DRIVE
|
||||
JR Z,.error
|
||||
LD A,DSS_Error.drv.NOT_READY
|
||||
JR .error
|
||||
|
||||
|
||||
CP BIOS.Error.BadNumber
|
||||
SCF
|
||||
JR Z,.error
|
||||
LD A,BIOS.Error.NotReady
|
||||
JR .error
|
||||
;
|
||||
; [ ] media change - ã¡à âì ;!FIXIT
|
||||
.next: EX AF,AF
|
||||
JR NC,.NoMediaChange
|
||||
@ -576,7 +525,7 @@ Open: CALL MediaCheck
|
||||
;
|
||||
INC A
|
||||
RET NZ
|
||||
LD A,DSS_Error.sys.MEDIA_CHANGED
|
||||
LD A,BIOS.Error.ATAPI.UnitAttention
|
||||
SCF
|
||||
RET
|
||||
;
|
||||
@ -587,7 +536,7 @@ MediaCheck: PUSH IY
|
||||
CALL SelectDrive.NoSector
|
||||
JR NC,.next_step
|
||||
;
|
||||
CP DSS_Error.sys.UNKNOWN_FORMAT
|
||||
CP BIOS.Error.UnknownDevice
|
||||
JR NZ,.exit
|
||||
; A != 0
|
||||
AND A ; á¡à®á ZF
|
||||
@ -604,7 +553,15 @@ MediaCheck: PUSH IY
|
||||
;
|
||||
CP BIOS.Error.ATAPI.UnitAttention
|
||||
JR Z,.Reinit
|
||||
;!FIXIT § £«ãèª /ª®áâë«ì ¨§-§ ¯¥à¥á¥ç¥¨ï ®¬¥à®¢ ®è¨¡®ª
|
||||
POP BC ; <20> « á á⥪
|
||||
/*
|
||||
BIOS.Error.BadNumber
|
||||
BIOS.Error.Failure
|
||||
BIOS.Error.Busy
|
||||
BIOS.Error.ATAPI.TimeOut
|
||||
*/
|
||||
;LD A,BIOS.Error.Busy
|
||||
.exit: SCF
|
||||
POP IY
|
||||
RET
|
||||
@ -626,7 +583,7 @@ MediaCheck: PUSH IY
|
||||
POP IY
|
||||
JR NC,.no_errors
|
||||
;
|
||||
CP DSS_Error.sys.UNKNOWN_FORMAT
|
||||
CP BIOS.Error.UnknownDevice
|
||||
SCF
|
||||
RET Z
|
||||
;
|
||||
@ -669,33 +626,6 @@ GetBPB: ; !FIXIT
|
||||
LD IX,0
|
||||
LD B,1
|
||||
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
|
||||
|
||||
@ -162,7 +162,7 @@ API_TABLE: INC C
|
||||
DEC C
|
||||
JP Z,Reserved ;#09
|
||||
;
|
||||
Reserved: LD A,DSS_Error.drv.INVALID_COMMAND
|
||||
Reserved: LD A,BIOS.Error.InvalidSubFunction
|
||||
SCF
|
||||
RET
|
||||
|
||||
@ -189,7 +189,7 @@ Open: PUSH AF
|
||||
RST ToBIOS
|
||||
LD DE,-DSS_MAX_SECTOR_SIZE - 1 ; [ ] 15/04/25 ¥ ¡ã¤¥â ç¨â âì ᥪâ®à ¡®«ìè¥ DSS_MAX_SECTOR_SIZE
|
||||
; ZF = 0
|
||||
LD A,DSS_Error.sys.UNKNOWN_FORMAT
|
||||
LD A,BIOS.Error.UnknownDevice
|
||||
OR A ; ã¡¨à ¥¬ ZF, ¥á«¨ ¥áâì
|
||||
;
|
||||
ADD IX,DE ; ¥á«¨ à §¬¥à ᥪâ®à ¡®«ìè¥, â® ®¡«®¬
|
||||
@ -279,7 +279,7 @@ GenIOCTL: BIT 7,B
|
||||
;DEC B
|
||||
;JP Z,.TestTRK
|
||||
;
|
||||
LD A,DSS_Error.drv.INVALID_COMMAND
|
||||
LD A,BIOS.Error.InvalidSubFunction
|
||||
SCF
|
||||
RET
|
||||
;
|
||||
@ -293,7 +293,7 @@ GenIOCTL: BIT 7,B
|
||||
;DEC B
|
||||
;JP Z,.FormatTRK
|
||||
;
|
||||
LD A,DSS_Error.drv.INVALID_COMMAND
|
||||
LD A,BIOS.Error.InvalidSubFunction
|
||||
SCF
|
||||
RET
|
||||
; ; ;
|
||||
@ -319,7 +319,7 @@ GenIOCTL: BIT 7,B
|
||||
SBC HL,BC
|
||||
JR Z,.next
|
||||
;
|
||||
LD A,DSS_Error.drv.GENERAL_FAILURE
|
||||
LD A,BIOS.Error.Failure
|
||||
SCF
|
||||
RET
|
||||
;
|
||||
@ -377,7 +377,7 @@ GenIOCTL: BIT 7,B
|
||||
RET
|
||||
;
|
||||
.NONE_FDD: POP BC
|
||||
LD A,DSS_Error.drv.INVALID_DRIVE
|
||||
LD A,BIOS.Error.BadNumber
|
||||
; CF=1
|
||||
RET
|
||||
; ; ;
|
||||
|
||||
@ -172,7 +172,7 @@
|
||||
;
|
||||
;[]===========================================================[ 11]
|
||||
;
|
||||
; Errors:
|
||||
; Errors: ;!FIXIT ⑤<><E291A4>※<EFBFBD>㈲<EFBFBD> Л<>腑⑧<E88591>
|
||||
; 0 (00h) - NO ERRORS
|
||||
; 1 (01h) - BAD COMMAND
|
||||
; 2 (02h) - BAD DRIVE NUMBER
|
||||
@ -231,7 +231,7 @@ API_TABLE: INC C
|
||||
DEC C
|
||||
JP Z,WriteLong ; 11
|
||||
;
|
||||
.error: LD A,DSS_Error.drv.INVALID_COMMAND
|
||||
.error: LD A,BIOS.Error.InvalidSubFunction
|
||||
SCF
|
||||
RET
|
||||
|
||||
@ -434,7 +434,7 @@ GenIOCTL: BIT 7,B
|
||||
;JP Z,FRDTRAC
|
||||
;DEC B
|
||||
;JP Z,FCHTRAC
|
||||
LD A,DSS_Error.drv.INVALID_COMMAND
|
||||
LD A,BIOS.Error.InvalidSubFunction
|
||||
SCF
|
||||
RET
|
||||
|
||||
@ -446,7 +446,7 @@ GenIOCTL: BIT 7,B
|
||||
;JP Z,FWRTRAC
|
||||
;DEC B
|
||||
;JP Z,FFRTRAC
|
||||
LD A,DSS_Error.drv.INVALID_COMMAND
|
||||
LD A,BIOS.Error.InvalidSubFunction
|
||||
SCF
|
||||
RET
|
||||
|
||||
@ -467,7 +467,7 @@ GenIOCTL: BIT 7,B
|
||||
AND A
|
||||
SBC HL,BC
|
||||
LD L,A
|
||||
LD A,DSS_Error.drv.GENERAL_FAILURE
|
||||
LD A,BIOS.Error.Failure
|
||||
SCF
|
||||
RET NZ
|
||||
;
|
||||
|
||||
@ -1 +1 @@
|
||||
494
|
||||
503
|
||||
@ -1 +1 @@
|
||||
Subproject commit f533c03f52f53e581c794c1017b7b0d61d39dfbf
|
||||
Subproject commit 5a36cbee9ca6df7f7c1008fed7f242d0a505bc50
|
||||
Loading…
Reference in New Issue
Block a user