diff --git a/Source/HBIOS/hbios.asm b/Source/HBIOS/hbios.asm index eecebdfb..0ae10b0e 100644 --- a/Source/HBIOS/hbios.asm +++ b/Source/HBIOS/hbios.asm @@ -5243,6 +5243,8 @@ SYS_GETDIOFN: ; E: SLICE, ignored if media is not a hard disk ; RETURNS: ; A: STATUS, -6 (parameter out of range) - if Slice is invalid + Other errors Include ERR_NOUNIT, ERR_NOMEDIA, + If any error is raised the other return values are undefined ; B: DEVICE ATTRIBUTES, as reported by DIODEVICE ; C: MEDIAID, including MID_HDNEW if hd1k partition is found ; DEHL: LBAOFFSET, of Slice if valid, 0 otherwise. @@ -5250,11 +5252,11 @@ SYS_GETDIOFN: DIOMED_SLICE .DB 0 ; SLICE ARGUMENT (E) DIOMED_UNIT .DB 0 ; UNIT ARGUMENT (D) DIOMED_DEVATT .DB 0 ; DEVICE ATTRIBUTES +DIOMED_MID .DB 0 ; DISCOVERED MEDIAID ; DIOMED_WRKSTA .EQU $ DIOMED_LBAOFF .FILL 4,0 ; START OF PARTITION / SLICE (SECTORS) DIOMED_LBASIZ .FILL 4,0 ; SIZE OF MEDIA / PARTITION (SECTORS) -DIOMED_MID .DB 0 ; DISCOVERED MEDIAID DIOMED_SPS .DW 0 ; DISCOVERED SECTORS PER SLICE (16BIT) DIOMED_FND .DB 0 ; DID WE FIND A NON CPM PARTITION DIOMED_WRKSIZ .EQU $ - DIOMED_WRKSTA ; SIZE OF WORKING DATA @@ -5297,9 +5299,6 @@ SYS_GETDIOMED: ; SYS_GETDIOMED1A: ; RETURN MEDIA ID (NOT HD) WITH SUCCESS - LD A,(DIOMED_DEVATT) ; GET DEVICE ATTRIBUTES - LD B,A ; ... AND RETURN IN B - LD C,E ; RETURN MEDIA ID IN C LD DE,0 ; LBA VALUE WILL BE ZERO LD HL,0 JP SYS_GETDIOMED6A ; RETURN SUCCESS @@ -5405,8 +5404,6 @@ SYS_GETDIOMED3B: ; SYS_GETDIOMED3C: ; NO PARTITION TABLE FOUND / NO CPM PARTITION FOUND -> HD512 - LD A, MID_HD ; HD512 MEDIA - LD (DIOMED_MID), A ; STORE IT LD BC, SPS_HD512 ; WITH HD512 SECTORS PER SLICE LD (DIOMED_SPS), BC ; STORE IT