From 00b6121391fedc43694ddc489f3b6944a2c6cfe2 Mon Sep 17 00:00:00 2001 From: Mark Pruden Date: Sat, 12 Oct 2024 15:02:23 +1100 Subject: [PATCH] Move HBIOS SYSGET_DIOMED Function to new high level function --- Doc/ChangeLog.txt | 6 +- Doc/RomWBW System Guide.pdf | Bin 462596 -> 463301 bytes Source/CBIOS/cbios.asm | 3 +- Source/Doc/SystemGuide.md | 94 +++--- Source/HBIOS/hbios.asm | 585 +++++++++++++++++++----------------- Source/HBIOS/hbios.inc | 6 +- Source/HBIOS/romldr.asm | 3 +- Source/ver.inc | 2 +- Source/ver.lib | 2 +- 9 files changed, 370 insertions(+), 331 deletions(-) diff --git a/Doc/ChangeLog.txt b/Doc/ChangeLog.txt index a822c7f9..e31c7dcf 100644 --- a/Doc/ChangeLog.txt +++ b/Doc/ChangeLog.txt @@ -39,9 +39,9 @@ Version 3.5 - WBW: Add Warm/Cold reboot options to CPUSPD utility - D?N: Added support for eZ80 CPU - MAP: Contributed COPYSL utility -- MAP: Added new HBIOS function SYSGET_DIOMED -- MAP: ROMLDR now uses SYSGET_DIOMED to get Slice Sector for boot -- MAP: CBIOS now uses SYSGET_DIOMED during drive selection +- MAP: Added new HBIOS function EXT_SLICE (orginally SYSGET_DIOMED) +- MAP: ROMLDR now uses EXT_SLICE to get Slice Sector for boot +- MAP: CBIOS now uses EXT_SLICE during drive selection Version 3.4 ----------- diff --git a/Doc/RomWBW System Guide.pdf b/Doc/RomWBW System Guide.pdf index dd7ad4fcc6fceecbdf98a67b60f5cd614611b74b..81ef8fa7a5bb0951a3decd735284bdca0f165635 100644 GIT binary patch delta 97844 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
+IC>&5O)5l`VD5VbPBYD7 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 delta 97536 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%0Dm-kGo9H+Plbr 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 diff --git a/Source/CBIOS/cbios.asm b/Source/CBIOS/cbios.asm index b1461f49..ed29a789 100644 --- a/Source/CBIOS/cbios.asm +++ b/Source/CBIOS/cbios.asm @@ -1388,8 +1388,7 @@ DSK_MBR: LD D,A LD A,(SLICE) ; AND SLICE LD E,A - LD B,BF_SYSGET ; HBIOS FUNC: SYS GET - LD C,BF_SYSGET_DIOMED ; HBIOS SUB-FUNC: GET DISK INFO + LD B,BF_EXTSLICE ; HBIOS FUNC: SLICE RST 08 ; DO IT ; ; CHECK ERRORS FROM THE FUNCTION diff --git a/Source/Doc/SystemGuide.md b/Source/Doc/SystemGuide.md index 8ad00943..4f995772 100644 --- a/Source/Doc/SystemGuide.md +++ b/Source/Doc/SystemGuide.md @@ -388,12 +388,11 @@ differentiate (at the oerating system level) between the Classic and Modern layo However HBIOS itself typically does NOT make this distinction, since the use of these two formats is determined by the operating system based on the partition table on the media. - There are two important HBIOS functions that deal with Media ID. -[Function 0x18 -- Disk Media (DIOMEDIA)] +* [Function 0x18 -- Disk Media (DIOMEDIA)] -[SYSGET Subfunction 0x12 -- Get Extended Disk Media (DIOMED)] +* [Function 0xE0 -- Calculate Slice (EXTSLICE)] # System Boot Process @@ -1107,7 +1106,7 @@ devices. See the section [Mapping to Media ID] for information on this. To determine if an HD1K formatted partition exists on the hard disk please see the following function. -[SYSGET Subfunction 0x12 -- Get Extended Disk Media (DIOMED)] +[Function 0xE0 -- Calculate Slice (EXTSLICE)] ### Function 0x19 -- Disk Define Media (DIODEFMED) @@ -2221,6 +2220,51 @@ approximately B5. `\clearpage`{=latex} +## Extension (EXT) + +Helper (extension) functions that are not a core part of a BIOS. + +### Function 0xE0 -- Calculate Slice (EXTSLICE) + +| **Entry Parameters** | **Returned Values** | +|----------------------------------------|----------------------------------------| +| B: 0xE0 | A: Status | +| D: Disk Unit | B: Device Attributes | +| E: Slice | C: Media ID | +| | DEHL: Sector Address | + +Report the Media ID (C), and Device Attributes (B) for the for media in the +specified Disk Unit (D), and for hard disks the absolute Sector offset to the +start of the Slice (E). The Status (A) is a standard HBIOS result code. + +This function extends upon [Function 0x18 -- Disk Media (DIOMEDIA)] for hard +disk media by scanning for a partition to determine if the disk uses HD512 +or HD1K, correctly reporting MID_HD or MID_HDNEW respectively. +See the folowing for some background [Mapping to Media ID] + +It will also return the sector number of the first sector in the +slice if the slice number is valid. If the slice number is invalid +(it wont fix on the media) an error will be returned. + +The slice calculation is performed by considering the partition start +(if it exists), the size of a slice for the given format type, and ensuring +that the slice fits within the media or partition size, taking into +consideration other partitions that may exist. + +The Device Attributes (B) are the same as defined in +[Function 0x17 -- Disk Device (DIODEVICE)] + +If the Unit specified is not a hard disk the Media ID will be returned and +the slice parameter ignored. If there is no media in device, or the slice +number is invaid (Parameter Out Of Range) the function will return an error status. + +**NOTE: +This function was placed in HBIOS to be shared between the diffeent CP/M +varients supported by RomWBW. It is not strictly a BIOS function, +and may be moved in future. + +`\clearpage`{=latex} + ## System (SYS) ### Function 0xF0 -- System Reset (SYSRESET) @@ -2265,7 +2309,7 @@ The Version (DE)number is encoded as BCD where the 4 digits are: [Major Version][Minor Version][Patch Level][Build Number] -So, for example, a Version (L) number of 0x3102 would indicate +So, for example, a Version (DE) number of 0x3102 would indicate version 3.1.0, build 2. The hardware Platform (L) is identified as follows: @@ -2489,46 +2533,6 @@ the caller can use interbank calls directly to the function in the driver which bypasses the overhead of the normal function invocation lookup. -#### SYSGET Subfunction 0x12 -- Get Extended Disk Media (DIOMED) - -| **Entry Parameters** | **Returned Values** | -|----------------------------------------|---------------------------------------| -| B: 0xF8 | A: Status | -| C: 0x12 | B: Device Attributes | -| D: Disk Unit | C: Media ID | -| E: Slice | DEHL: Sector Address | - -Report the Media ID (C), and Device Attributes (B) for the for media in the -specified Disk Unit (D), and for hard disks the absolute Sector offset to the -start of the Slice (E). The Status (A) is a standard HBIOS result code. - -This function extends upon [Function 0x18 -- Disk Media (DIOMEDIA)] for hard -disk media by scanning for a partition to determine if the disk uses HD512 -or HD1K, correctly reporting MID_HD or MID_HDNEW respectively. - -**NOTE: This is contrary to the design of HBIOS. See the section -[Mapping to Media ID] for information on this. -This function was placed in HBIOS to be shared between the diffeent CP/M -varients supported by RomWBW, and may be moved in future. - -It will also return the sector number of the first sector in the -slice if the slice number is valid. If the slice number is invalid -(it wont fix on the media) an error will be returned. - -The slice calculation is performed by considering the partition start -(if it exists), the size of a slice for the given format type, and ensuring -that the slice fits within the media or partition size, taking into -consideration other partitions that may exist. - -The Device Attributes (B) are the same as defined in -[Function 0x17 -- Disk Device (DIODEVICE)] - -If the Unit specified is not a hard disk the Media ID will be returned and -the slice parameter ignored. If there is no media in device, or the slice -number is invaid (Parameter Out Of Range) the function will return an error status. - -Also see [Function 0x18 -- Disk Media (DIOMEDIA)] - #### SYSGET Subfunction 0x20 -- Get RTC Device Unit Count (RTCCNT) | **Entry Parameters** | **Returned Values** | diff --git a/Source/HBIOS/hbios.asm b/Source/HBIOS/hbios.asm index 0ae10b0e..c69a3ef6 100644 --- a/Source/HBIOS/hbios.asm +++ b/Source/HBIOS/hbios.asm @@ -4062,8 +4062,11 @@ HB_DISPATCH1: JP C,VDA_DISPATCH CP BF_SND + $10 ; $50-$5F: SOUND DRIVERS JP C,SND_DISPATCH - CP BF_SYS ; SKIP TO BF_SYS VALUE AT $F0 - JR C,HB_DISPERR ; ERROR IF LESS THAN BF_SYS + ; GAP TO E0 + CP BF_EXT ; SKIP TO BF_EXT VALUE AT $E0 + JR C,HB_DISPERR ; ERROR IF LESS THAN BF_EXT + CP BF_EXT + $10 ; $E0-$EF: EXTENDED + JP C,EXT_DISPATCH JP SYS_DISPATCH ; OTHERWISE SYS CALL ; FALL THRU ; @@ -4724,6 +4727,19 @@ SND_BEEP_DISP: RET ; ;-------------------------------------------------------------------------------------------------- +; EXTENDED FUNCTION DISPATCHER +;-------------------------------------------------------------------------------------------------- +; +; B: FUNCTION +; +EXT_DISPATCH: + LD A,B ; GET REQUESTED FUNCTION + AND $0F ; ISOLATE SUB-FUNCTION + JP Z,EXT_SLICE ; $E0 + DEC A + JP HB_DISPERR ; ERROR COULD NOT FIND FUNCTION +; +;-------------------------------------------------------------------------------------------------- ; SYSTEM FUNCTION DISPATCHER ;-------------------------------------------------------------------------------------------------- ; @@ -4758,6 +4774,7 @@ SYS_DISPATCH: DEC A JP Z,SYS_INT ; $FC DEC A + JP HB_DISPERR ; ERROR COULD NOT FIND FUNCTION ; HB_DISP_END .EQU $ ; @@ -4860,6 +4877,290 @@ Z280_IVT: HB_Z280IVT_END .EQU $ ; ;================================================================================================== +; EXTENSION API FUNCTIONS +;================================================================================================== +; +HB_EXTAPI_BEG .EQU $ +; +;-------------------------------------------------------------------------------------------------- +; SLICE CALCULATE - GET DISK EXTENDED HARD DISK MEDIA INFORMATION +;-------------------------------------------------------------------------------------------------- +; This function is specificly intended for Hard Drives, where it will scan +; the partition table and return a Media ID, including hd1k (MID_HDNEW). +; It will also return the absolute LBA offset of the first sector in the slice +; If the slice number is invalid (wont fit) the Status will return an error +; If the Unit is not a hard disk the Media ID will be returned and slice ignored. +;-------------------------------------------------------------------------------------------------- +; ENTRY: +; B: FUNCTION 0xE0 EXT_SLICE +; D: DISK UNIT, preferably for a hard disk. +; 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. +;-------------------------------------------------------------------------------------------------- +; +SLICE_SLICE .DB 0 ; SLICE ARGUMENT (E) +SLICE_UNIT .DB 0 ; UNIT ARGUMENT (D) +SLICE_DEVATT .DB 0 ; DEVICE ATTRIBUTES +SLICE_MID .DB 0 ; DISCOVERED MEDIAID +; +SLICE_WRKSTA .EQU $ +SLICE_LBAOFF .FILL 4,0 ; START OF PARTITION / SLICE (SECTORS) +SLICE_LBASIZ .FILL 4,0 ; SIZE OF MEDIA / PARTITION (SECTORS) +SLICE_SPS .DW 0 ; DISCOVERED SECTORS PER SLICE (16BIT) +SLICE_FND .DB 0 ; DID WE FIND A NON CPM PARTITION +SLICE_WRKSIZ .EQU $ - SLICE_WRKSTA ; SIZE OF WORKING DATA +; +EXT_SLICE: + ; SAVE CALL ARGUMENTS + LD (SLICE_SLICE),DE ; STORES DE -> SLICE/UNIT PARAMETERS + + ; READ DEVICE INFORMATION USING DIODEVICE FUNCTION + LD A,(SLICE_UNIT) + LD C,A ; UNIT ID PARAMETER INTO C + LD B,BF_DIODEVICE ; DRIVER FUNCTION = DISK MEDIA + CALL DIO_DISPATCH ; CALL DIO TO GET DEVICE ATTRIBUTES + RET NZ ; ABORT ON ERROR +; + ; DEVICE ATTRIBUTES IN C + LD A,C + LD (SLICE_DEVATT),A ; STORE DEVICE ATTRIBUTES +; + ; DETERMINE MEDIA IN DRIVE USING DIOMEDIA FUNCTION + LD A,(SLICE_UNIT) + LD C,A ; UNIT ID PARAMETER INTO C + LD E,1 ; ENABLE MEDIA CHECK/DISCOVERY + LD B,BF_DIOMEDIA ; DRIVER FUNCTION = DISK MEDIA + CALL DIO_DISPATCH ; CALL DIO TO GET MEDIAID (RESULT IN E) + RET NZ ; ABORT ON ERROR +; + ; CHECK MEDIA TYPE, ONLY HD IS APPLICABLE + LD A,E ; RESULTANT MEDIA ID TO ACCUM + LD (SLICE_MID),A ; INIT VALUE, MAY BE USED LATER + OR A ; SET FLAGS + JR Z, EXT_SLICE1A ; BAIL IF NO MEDIA + CP MID_HD ; IS IT A HARD DISK + JR Z, EXT_SLICE1B ; IS HD, CONTINUE TO PROCESS HD +; + ; NOT A HARD DISK, CHECK SLICE = 0 + LD A,(SLICE_SLICE) ; GET THE SLICE + OR A ; SET FLAGS + JP NZ, EXT_SLICE5C ; SLICE NOT ZERO - SIGNAL ERROR AND RETURN +; +EXT_SLICE1A: + ; RETURN MEDIA ID (NOT HD) WITH SUCCESS + LD DE,0 ; LBA VALUE WILL BE ZERO + LD HL,0 + JP EXT_SLICE6A ; RETURN SUCCESS +; +EXT_SLICE1B: + ; FOUND HD, NEED TO PROCESS MBR / PART TABLE + ; CLEAR WORKING STORAGE + LD HL,SLICE_WRKSTA ; HL SET TO FIRST BYTE + LD (HL),0 ; CLEAR FIRST BYTE + LD D,H + LD E,L + INC DE ; DE SET TO SECOND BYTE + LD BC,SLICE_WRKSIZ - 1 ; NUMBER OF LDIR COPIES + LDIR ; BLOCK COPY TO CLEAR WORKING STORAGE +; + ; SEEK TO SECTOR ZERO (MBR TABLE) + LD B,BF_DIOSEEK ; SEEK FUNCTION + LD A,(SLICE_UNIT) ; GET UNIT + LD C,A ; PUT IN C + LD DE,$8000 ; LBA SECTOR ZERO + LD HL,0 ; ASSUME LBA ACCESS FOR NOW + CALL DIO_DISPATCH ; DO IT + RET NZ ; ABORT ON ERROR +; + ; READ SECTOR ZERO (MBR TABLE) + LD B,BF_DIOREAD ; READ FUNCTION + LD A,(SLICE_UNIT) ; GET UNIT + LD C,A ; PUT IN C + LD A,(HB_CURBNK) ; GET CURRENT BANK ID + LD D,A ; PUT IN D + LD E,1 ; SECTOR COUNT + LD HL,HB_WRKBUF ; IO BUFFER TO USE + CALL DIO_DISPATCH ; DO IT + RET NZ ; ABORT ON ERROR +; + ; CHECK MBR OF DISK TO SEE IF IT HAS A PARTITION TABLE. + LD HL,HB_WRKBUF ; DSKBUF ADR + LD DE,$1FE ; OFFSET TO SIGNATURE + ADD HL,DE ; POINT TO SIGNATURE + LD A,(HL) ; GET FIRST BYTE + CP $55 ; CHECK FIRST BYTE + JR NZ,EXT_SLICE3C ; NO MATCH, NO PART TABLE + INC HL ; NEXT BYTE + LD A,(HL) ; GET SECOND BYTE + CP $AA ; CHECK SECOND BYTE + JR NZ,EXT_SLICE3C ; NO MATCH, NO PART TABLE +; + ; FOUND PARTITION TABLE - LOOP AND PROCESS PARTITION TABLE + LD HL,HB_WRKBUF ; DSKBUF ADR + LD DE,$1BE+4 ; OFFSET OF FIRST ENTRY PART TYPE + ADD HL,DE ; POINT TO IT + LD B,4 ; FOUR ENTRIES IN PART TABLE LOOP +EXT_SLICE2A: + LD A,(HL) ; GET PART TYPE + LD DE,4 + ADD HL,DE ; MOVE HL FWD TO GET TO LBA OFFSET + CP $2E ; CP/M PARTITION? + JR Z,EXT_SLICE3B ; HD1K, GRAB THE LBA OFFSET + CP $00 ; IS ANOTHER PARTITION TYPE, NOT CPM + JR NZ,EXT_SLICE3A ; OTHER VALID PART TYPE +EXT_SLICE2B: + LD DE,12 ; REMAINING SIZE TO GET TO NEXT PARTITION +EXT_SLICE2C: + ADD HL,DE ; BUMP TO NEXT PARTITION ENTRY - TYPE + DJNZ EXT_SLICE2A ; LOOP THRU TABLE + JR EXT_SLICE3C ; READ ALL - NO CP/M PARTITION FOUND +; +EXT_SLICE3A + ; FOUND OTHER (NOT CPM) PARTITION + LD A,(SLICE_FND) ; HAVE WE ALREADY FOUND PROCESSED NON CPM + OR A ; PARTITION, AND CAPTURED ITS START SECTOR, SO + JR NZ,EXT_SLICE2B ; IGNORE AND CONTINUTE TO NEXT PARTITION ENTRY +; +; NOTE THERE SLIGHT ISSUE HERE THAT WE ONLY CONSIDER THE FIRST NON-CPM PARTITION +; TO GET THE UPPER SIZE OF MEDIA, IDEALLY WE WOULD CONSIDER ALL, AND TAKE THE LOWEWST +; STARTING SECTOR - THIS IS A COMPRIMISE - OUT OF SEQUENCE PARTITIONS ARE UNLIKELY. +; + PUSH BC ; SAVE IT, BEING USED IN PARTITION LOOP + LD BC, 4 ; IF NOT ALREADY SET - COPY 4 BYTES + LD DE, SLICE_LBASIZ ; FROM PARTION LBA OFFSET (HL) - TO WORKING LBA SIZE (DE) + LDIR ; COPY 4 BYTES + POP BC ; RESTORE +; + LD A,$FF + LD (SLICE_FND),A ; SET FOUND FLAG, SO DONT PROCESS ANY OTHERS + LD DE,8 ; AND INC HL BY 8 TO GET TO NEXT PARITION + JR EXT_SLICE2C ; CONTINUE TO NEXT PARTITION +; +EXT_SLICE3B: + ; FOUND CP/M (HD1K) PARTITION - RECORD THIS + LD A, MID_HDNEW ; DISCOVERED HD1K MEDIA + LD (SLICE_MID), A ; STORE IT + LD BC, SPS_HD1K ; DISCOVERED HD1K MEDIA + LD (SLICE_SPS), BC ; STORE IT +; + ; CAPTURE THE LBA OFFSET AND SECTOR COUNT FROM PARTITION + ; HL POINTS TO PART LBA OFFSET FIELD OF PART ENTRY + LD DE,SLICE_LBAOFF ; LOC TO STORE OFFSET AND SIZE + LD BC,8 ; 8 BYTES - LBA OFFSET AND SIZE + LDIR ; COPY IT +; + JR EXT_SLICE4A ; CONTINUE AND COMPUTE THE SLICE +; +EXT_SLICE3C: + ; NO PARTITION TABLE FOUND / NO CPM PARTITION FOUND -> HD512 + LD BC, SPS_HD512 ; WITH HD512 SECTORS PER SLICE + LD (SLICE_SPS), BC ; STORE IT + + ; DID WE FIND AN OTHER (NOT CPM) PARTITION + LD A,(SLICE_FND) ; HAVE WE ALREADY FOUND PROCESSED NON CPM + OR A ; PARTITION, AND CAPTURED ITS START SECTOR, SO + JR NZ,EXT_SLICE4A ; MEDIA SIZE IS KNOWN BASED ON START OF PARTITION + + ; FIND THE PHYSICAL CAPCITY OF THE MEDIA CALL (DIOCAP) + LD B, BF_DIOCAP ; HBIOS FUNC: TO GET DISK LBA CAPACITY + LD A, (SLICE_UNIT) + LD C, A ; PUT DISK UNIT IN C FOR FUNC CALL + CALL DIO_DISPATCH ; DO IT - RETURNS SIZE in DE:HL + RET NZ ; ABORT ON ERROR + + ; UPDATE LBA SIZE FROM MEDIA SIZE + LD (SLICE_LBASIZ), HL ; LOWER ORDER BYTES - HL + EX DE,HL + LD (SLICE_LBASIZ+2), HL ; HIGHER ORDER BYTES - DE +; +EXT_SLICE4A: + ; COMPUTE THE START SECTOR (RELATIVE) FOR SLICE -> DE:HL + LD HL,0 ; STARTING SECTOR NUMBER + LD DE,0 ; ASSUMING A 0 OFFSET, SO CAN COMPARE TO SIZE + LD BC,(SLICE_SPS) + LD A,(SLICE_SLICE) + OR A ; SLICE NUMBER - SET FLAGS TO CHECK LOOP CTR + JR Z,EXT_SLICE5A ; NOTHING TO COUNT +EXT_SLICE4B: + ADD HL,BC ; ADD ONE SLICE (SPS) TO LOW WORD + JR NC,EXT_SLICE4C ; CHECK FOR CARRY + INC DE ; IF SO, BUMP HIGH WORD +EXT_SLICE4C: + DEC A ; DEC LOOP (SLICE) COUNTER + JR NZ,EXT_SLICE4B ; AND LOOP +; +EXT_SLICE5A: + ; DE:HL NOW CONTAINS THE STARTING SECTOR FOR SLICE + PUSH HL ; SAVE THE SECTOR OFFSET (SPS * SLICE NUMBER) + PUSH DE +; + ADD HL, BC ; ADD SPS, GET REQUIRED CAPCITY (UPPER SECTOR) + JR NC, EXT_SLICE5B + INC DE +EXT_SLICE5B: + ; DEHL HAS THE REQUIRED NUMBER OF SECTORS (ON MEDIA) FOR THE SLICE + PUSH DE ; SAVE DSK_REQ (MSW) + PUSH HL ; SAVE DSK_REQ (LSW) +; + ; CHECK DSK_CAPACITY >= CAP_REQUIRED, CF SET ON OVERFLOW + ; NO NEED SAVE ACTUAL RESULT + OR A ; CLEAR CARRY FOR SBC + LD HL,(SLICE_LBASIZ+0) ; CAPACITY LSW + POP DE ; REQUIRED LSW + SBC HL,DE ; CAPACITY - REQUIRED (LSW) + LD HL,(SLICE_LBASIZ+2) ; CAPAITY MSW + POP DE ; REQUIRED MSW + SBC HL,DE ; CAPACITY - REQUIRED (MSW) +; + ; POP STARTING OFSETT SECTOR + POP DE + POP HL +; + ; REQUIRE - CAPACITY -> GENERATES BORROW IF CAPITY > REQUIREMENT + JR NC,EXT_SLICE6 ; IF WE HAVE ENOUGH CAPACITY +; +EXT_SLICE5C: + ; SLICE WONT FIT - STOP AND RETURN ERROR + LD DE,0 + LD HL,0 ; EMTY OFFSET IN DEHL + LD A,(SLICE_DEVATT) + LD B,A ; DEVICE ATTRIBUTES IN B + LD A,(SLICE_MID) + LD C,A ; RETURN MEDIA ID IN C + LD A,ERR_RANGE ; OTHERWISE SIGNAL NOT ENOUGH CAPACITY + OR A + RET +; +EXT_SLICE6: + ; FINAL CALC AND RETURN SUCCESS + ; ADD PARTITION OFFSET (START) TO DEHL TO GET ABSOLUTE SLICE OFFSET + LD BC,(SLICE_LBAOFF+0) ; LSB OF LBA OFFSET + ADD HL,BC ; ADD LSB OFFSET + EX DE,HL ; FLIP DE INTO HL + LD BC,(SLICE_LBAOFF+2) ; MSB OF LBA OFFSET + ADC HL,BC ; ADD MSB + EX DE, HL ; FLIP BACK DE:HL AS SLICE OFFSET +; +EXT_SLICE6A: + ; SLICE FITS - RETURN CORRECTLY + LD A,(SLICE_DEVATT) + LD B,A ; DEVICE ATTRIBUTES IN B + LD A,(SLICE_MID) + LD C,A ; RETURN MEDIA ID IN C + XOR A ; CLEAR FLAGS + RET ; RETUNING DE:HL AND C +; +;-------------------------------------------------------------------------------------------------- +; +HB_EXTAPI_END .EQU $ +; +;================================================================================================== ; SYSTEM API FUNCTIONS ;================================================================================================== ; @@ -5146,8 +5447,11 @@ SYS_GET: JP Z,SYS_GETDIOCNT CP BF_SYSGET_DIOFN JP Z,SYS_GETDIOFN - CP BF_SYSGET_DIOMED - JP Z,SYS_GETDIOMED + CP $12 ; LEFT FOR BACKWRD COMPATABILITY + JP Z,EXT_SLICE ; FUNCTION MOVED TO TOP LEVEL $E0 + ; REMOVING THE ABOVE CAUSED UPGRADE ISSUES FOR EARLY ADOPTERS + ; SINCE OS BOOT LOADERS DEPEND ON IT. WITHOUT CAN LEAVE OS + ; UNBOOTABLE AND MIGRATION HARDER - Oct 2024 CP BF_SYSGET_RTCCNT JP Z,SYS_GETRTCCNT CP BF_SYSGET_DSKYCNT @@ -5229,278 +5533,6 @@ SYS_GETDIOFN: LD IY,DIO_TBL ; POINT TO UNIT TABLE JP SYS_GETFN ; GO TO COMMON CODE ; -; GET DISK EXTENDED HARD DISK MEDIA INFORMATION -; This function is specificly intended for Hard Drives, where it will scan -; the partition table and return a Media ID, including hd1k (MID_HDNEW). -; It will also return the absolute LBA offset of the first sector in the slice -; If the slice number is invalid (wont fit) the Status will return an error -; If the Unit is not a hard disk the Media ID will be returned and slice ignored. -; -; ENTRY: -; B: FUNCTION 0xF8 SYSGET -; C: SUB FUNCTION 0x12 DIOMED -; D: DISK UNIT, preferably for a hard disk. -; 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. -; -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_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 -; -SYS_GETDIOMED: - ; SAVE CALL ARGUMENTS - LD (DIOMED_SLICE),DE ; STORES DE -> SLICE/UNIT PARAMETERS - - ; READ DEVICE INFORMATION USING DIODEVICE FUNCTION - LD A,(DIOMED_UNIT) - LD C,A ; UNIT ID PARAMETER INTO C - LD B,BF_DIODEVICE ; DRIVER FUNCTION = DISK MEDIA - CALL DIO_DISPATCH ; CALL DIO TO GET DEVICE ATTRIBUTES - RET NZ ; ABORT ON ERROR -; - ; DEVICE ATTRIBUTES IN C - LD A,C - LD (DIOMED_DEVATT),A ; STORE DEVICE ATTRIBUTES -; - ; DETERMINE MEDIA IN DRIVE USING DIOMEDIA FUNCTION - LD A,(DIOMED_UNIT) - LD C,A ; UNIT ID PARAMETER INTO C - LD E,1 ; ENABLE MEDIA CHECK/DISCOVERY - LD B,BF_DIOMEDIA ; DRIVER FUNCTION = DISK MEDIA - CALL DIO_DISPATCH ; CALL DIO TO GET MEDIAID (RESULT IN E) - RET NZ ; ABORT ON ERROR -; - ; CHECK MEDIA TYPE, ONLY HD IS APPLICABLE - LD A,E ; RESULTANT MEDIA ID TO ACCUM - LD (DIOMED_MID),A ; INIT VALUE, MAY BE USED LATER - OR A ; SET FLAGS - JR Z, SYS_GETDIOMED1A ; BAIL IF NO MEDIA - CP MID_HD ; IS IT A HARD DISK - JR Z, SYS_GETDIOMED1B ; IS HD, CONTINUE TO PROCESS HD -; - ; NOT A HARD DISK, CHECK SLICE = 0 - LD A,(DIOMED_SLICE) ; GET THE SLICE - OR A ; SET FLAGS - JP NZ, SYS_GETDIOMED5C ; SLICE NOT ZERO - SIGNAL ERROR AND RETURN -; -SYS_GETDIOMED1A: - ; RETURN MEDIA ID (NOT HD) WITH SUCCESS - LD DE,0 ; LBA VALUE WILL BE ZERO - LD HL,0 - JP SYS_GETDIOMED6A ; RETURN SUCCESS -; -SYS_GETDIOMED1B: - ; FOUND HD, NEED TO PROCESS MBR / PART TABLE - ; CLEAR WORKING STORAGE - LD HL,DIOMED_WRKSTA ; HL SET TO FIRST BYTE - LD (HL),0 ; CLEAR FIRST BYTE - LD D,H - LD E,L - INC DE ; DE SET TO SECOND BYTE - LD BC,DIOMED_WRKSIZ - 1 ; NUMBER OF LDIR COPIES - LDIR ; BLOCK COPY TO CLEAR WORKING STORAGE -; - ; SEEK TO SECTOR ZERO (MBR TABLE) - LD B,BF_DIOSEEK ; SEEK FUNCTION - LD A,(DIOMED_UNIT) ; GET UNIT - LD C,A ; PUT IN C - LD DE,$8000 ; LBA SECTOR ZERO - LD HL,0 ; ASSUME LBA ACCESS FOR NOW - CALL DIO_DISPATCH ; DO IT - RET NZ ; ABORT ON ERROR -; - ; READ SECTOR ZERO (MBR TABLE) - LD B,BF_DIOREAD ; READ FUNCTION - LD A,(DIOMED_UNIT) ; GET UNIT - LD C,A ; PUT IN C - LD A,(HB_CURBNK) ; GET CURRENT BANK ID - LD D,A ; PUT IN D - LD E,1 ; SECTOR COUNT - LD HL,HB_WRKBUF ; IO BUFFER TO USE - CALL DIO_DISPATCH ; DO IT - RET NZ ; ABORT ON ERROR -; - ; CHECK MBR OF DISK TO SEE IF IT HAS A PARTITION TABLE. - LD HL,HB_WRKBUF ; DSKBUF ADR - LD DE,$1FE ; OFFSET TO SIGNATURE - ADD HL,DE ; POINT TO SIGNATURE - LD A,(HL) ; GET FIRST BYTE - CP $55 ; CHECK FIRST BYTE - JR NZ,SYS_GETDIOMED3C ; NO MATCH, NO PART TABLE - INC HL ; NEXT BYTE - LD A,(HL) ; GET SECOND BYTE - CP $AA ; CHECK SECOND BYTE - JR NZ,SYS_GETDIOMED3C ; NO MATCH, NO PART TABLE -; - ; FOUND PARTITION TABLE - LOOP AND PROCESS PARTITION TABLE - LD HL,HB_WRKBUF ; DSKBUF ADR - LD DE,$1BE+4 ; OFFSET OF FIRST ENTRY PART TYPE - ADD HL,DE ; POINT TO IT - LD B,4 ; FOUR ENTRIES IN PART TABLE LOOP -SYS_GETDIOMED2A: - LD A,(HL) ; GET PART TYPE - LD DE,4 - ADD HL,DE ; MOVE HL FWD TO GET TO LBA OFFSET - CP $2E ; CP/M PARTITION? - JR Z,SYS_GETDIOMED3B ; HD1K, GRAB THE LBA OFFSET - CP $00 ; IS ANOTHER PARTITION TYPE, NOT CPM - JR NZ,SYS_GETDIOMED3A ; OTHER VALID PART TYPE -SYS_GETDIOMED2B: - LD DE,12 ; REMAINING SIZE TO GET TO NEXT PARTITION -SYS_GETDIOMED2C: - ADD HL,DE ; BUMP TO NEXT PARTITION ENTRY - TYPE - DJNZ SYS_GETDIOMED2A ; LOOP THRU TABLE - JR SYS_GETDIOMED3C ; READ ALL - NO CP/M PARTITION FOUND -; -SYS_GETDIOMED3A - ; FOUND OTHER (NOT CPM) PARTITION - LD A,(DIOMED_FND) ; HAVE WE ALREADY FOUND PROCESSED NON CPM - OR A ; PARTITION, AND CAPTURED ITS START SECTOR, SO - JR NZ,SYS_GETDIOMED2B ; IGNORE AND CONTINUTE TO NEXT PARTITION ENTRY -; -; NOTE THERE SLIGHT ISSUE HERE THAT WE ONLY CONSIDER THE FIRST NON-CPM PARTITION -; TO GET THE UPPER SIZE OF MEDIA, IDEALLY WE WOULD CONSIDER ALL, AND TAKE THE LOWEWST -; STARTING SECTOR - THIS IS A COMPRIMISE - OUT OF SEQUENCE PARTITIONS ARE UNLIKELY. -; - PUSH BC ; SAVE IT, BEING USED IN PARTITION LOOP - LD BC, 4 ; IF NOT ALREADY SET - COPY 4 BYTES - LD DE, DIOMED_LBASIZ ; FROM PARTION LBA OFFSET (HL) - TO WORKING LBA SIZE (DE) - LDIR ; COPY 4 BYTES - POP BC ; RESTORE -; - LD A,$FF - LD (DIOMED_FND),A ; SET FOUND FLAG, SO DONT PROCESS ANY OTHERS - LD DE,8 ; AND INC HL BY 8 TO GET TO NEXT PARITION - JR SYS_GETDIOMED2C ; CONTINUE TO NEXT PARTITION -; -SYS_GETDIOMED3B: - ; FOUND CP/M (HD1K) PARTITION - RECORD THIS - LD A, MID_HDNEW ; DISCOVERED HD1K MEDIA - LD (DIOMED_MID), A ; STORE IT - LD BC, SPS_HD1K ; DISCOVERED HD1K MEDIA - LD (DIOMED_SPS), BC ; STORE IT -; - ; CAPTURE THE LBA OFFSET AND SECTOR COUNT FROM PARTITION - ; HL POINTS TO PART LBA OFFSET FIELD OF PART ENTRY - LD DE,DIOMED_LBAOFF ; LOC TO STORE OFFSET AND SIZE - LD BC,8 ; 8 BYTES - LBA OFFSET AND SIZE - LDIR ; COPY IT -; - JR SYS_GETDIOMED4A ; CONTINUE AND COMPUTE THE SLICE -; -SYS_GETDIOMED3C: - ; NO PARTITION TABLE FOUND / NO CPM PARTITION FOUND -> HD512 - LD BC, SPS_HD512 ; WITH HD512 SECTORS PER SLICE - LD (DIOMED_SPS), BC ; STORE IT - - ; DID WE FIND AN OTHER (NOT CPM) PARTITION - LD A,(DIOMED_FND) ; HAVE WE ALREADY FOUND PROCESSED NON CPM - OR A ; PARTITION, AND CAPTURED ITS START SECTOR, SO - JR NZ,SYS_GETDIOMED4A ; MEDIA SIZE IS KNOWN BASED ON START OF PARTITION - - ; FIND THE PHYSICAL CAPCITY OF THE MEDIA CALL (DIOCAP) - LD B, BF_DIOCAP ; HBIOS FUNC: TO GET DISK LBA CAPACITY - LD A, (DIOMED_UNIT) - LD C, A ; PUT DISK UNIT IN C FOR FUNC CALL - CALL DIO_DISPATCH ; DO IT - RETURNS SIZE in DE:HL - RET NZ ; ABORT ON ERROR - - ; UPDATE LBA SIZE FROM MEDIA SIZE - LD (DIOMED_LBASIZ), HL ; LOWER ORDER BYTES - HL - EX DE,HL - LD (DIOMED_LBASIZ+2), HL ; HIGHER ORDER BYTES - DE -; -SYS_GETDIOMED4A: - ; COMPUTE THE START SECTOR (RELATIVE) FOR SLICE -> DE:HL - LD HL,0 ; STARTING SECTOR NUMBER - LD DE,0 ; ASSUMING A 0 OFFSET, SO CAN COMPARE TO SIZE - LD BC,(DIOMED_SPS) ; - LD A,(DIOMED_SLICE) - OR A ; SLICE NUMBER - SET FLAGS TO CHECK LOOP CTR - JR Z,SYS_GETDIOMED5A ; NOTHING TO COUNT -SYS_GETDIOMED4B: - ADD HL,BC ; ADD ONE SLICE (SPS) TO LOW WORD - JR NC,SYS_GETDIOMED4C ; CHECK FOR CARRY - INC DE ; IF SO, BUMP HIGH WORD -SYS_GETDIOMED4C: - DEC A ; DEC LOOP (SLICE) COUNTER - JR NZ,SYS_GETDIOMED4B ; AND LOOP -; -SYS_GETDIOMED5A: - ; DE:HL NOW CONTAINS THE STARTING SECTOR FOR SLICE - PUSH HL ; SAVE THE SECTOR OFFSET (SPS * SLICE NUMBER) - PUSH DE -; - ADD HL, BC ; ADD SPS, GET REQUIRED CAPCITY (UPPER SECTOR) - JR NC, SYS_GETDIOMED5B - INC DE -SYS_GETDIOMED5B: - ; DEHL HAS THE REQUIRED NUMBER OF SECTORS (ON MEDIA) FOR THE SLICE - PUSH DE ; SAVE DSK_REQ (MSW) - PUSH HL ; SAVE DSK_REQ (LSW) -; - ; CHECK DSK_CAPACITY >= CAP_REQUIRED, CF SET ON OVERFLOW - ; NO NEED SAVE ACTUAL RESULT - OR A ; CLEAR CARRY FOR SBC - LD HL,(DIOMED_LBASIZ+0) ; CAPACITY LSW - POP DE ; REQUIRED LSW - SBC HL,DE ; CAPACITY - REQUIRED (LSW) - LD HL,(DIOMED_LBASIZ+2) ; CAPAITY MSW - POP DE ; REQUIRED MSW - SBC HL,DE ; CAPACITY - REQUIRED (MSW) -; - ; POP STARTING OFSETT SECTOR - POP DE - POP HL -; - ; REQUIRE - CAPACITY -> GENERATES BORROW IF CAPITY > REQUIREMENT - JR NC,SYS_GETDIOMED6 ; IF WE HAVE ENOUGH CAPACITY -; -SYS_GETDIOMED5C: - ; SLICE WONT FIT - STOP AND RETURN ERROR - LD DE,0 - LD HL,0 ; EMTY OFFSET IN DEHL - LD A,(DIOMED_DEVATT) - LD B,A ; DEVICE ATTRIBUTES IN B - LD A,(DIOMED_MID) - LD C,A ; RETURN MEDIA ID IN C - LD A,ERR_RANGE ; OTHERWISE SIGNAL NOT ENOUGH CAPACITY - OR A - RET -; -SYS_GETDIOMED6: - ; FINAL CALC AND RETURN SUCCESS - ; ADD PARTITION OFFSET (START) TO DEHL TO GET ABSOLUTE SLICE OFFSET - LD BC,(DIOMED_LBAOFF+0) ; LSB OF LBA OFFSET - ADD HL,BC ; ADD LSB OFFSET - EX DE,HL ; FLIP DE INTO HL - LD BC,(DIOMED_LBAOFF+2) ; MSB OF LBA OFFSET - ADC HL,BC ; ADD MSB - EX DE, HL ; FLIP BACK DE:HL AS SLICE OFFSET -; -SYS_GETDIOMED6A: - ; SLICE FITS - RETURN CORRECTLY - LD A,(DIOMED_DEVATT) - LD B,A ; DEVICE ATTRIBUTES IN B - LD A,(DIOMED_MID) - LD C,A ; RETURN MEDIA ID IN C - XOR A ; CLEAR FLAGS - RET ; RETUNING DE:HL AND C -; ; GET RTC UNIT COUNT ; SYS_GETRTCCNT: @@ -9323,6 +9355,7 @@ SLACK .EQU BNKTOP - $ .ECHO "SYSINIT \t" \ .ECHO HB_SYSINIT_BEG \ .ECHO "\t" \ .ECHO HB_SYSINIT_END - HB_SYSINIT_BEG \ .ECHO "\n" .ECHO "DISP \t" \ .ECHO HB_DISP_BEG \ .ECHO "\t" \ .ECHO HB_DISP_END - HB_DISP_BEG \ .ECHO "\n" .ECHO "Z280IVT \t" \ .ECHO HB_Z280IVT_BEG \ .ECHO "\t" \ .ECHO HB_Z280IVT_END - HB_Z280IVT_BEG \ .ECHO "\n" + .ECHO "EXTAPI \t" \ .ECHO HB_EXTAPI_BEG \ .ECHO "\t" \ .ECHO HB_EXTAPI_END - HB_EXTAPI_BEG \ .ECHO "\n" .ECHO "SYSAPI \t" \ .ECHO HB_SYSAPI_BEG \ .ECHO "\t" \ .ECHO HB_SYSAPI_END - HB_SYSAPI_BEG \ .ECHO "\n" .ECHO "INTFUNC \t" \ .ECHO HB_INTFUNC_BEG \ .ECHO "\t" \ .ECHO HB_INTFUNC_END - HB_INTFUNC_BEG \ .ECHO "\n" .ECHO "UTIL \t" \ .ECHO HB_UTIL_BEG \ .ECHO "\t" \ .ECHO HB_UTIL_END - HB_UTIL_BEG \ .ECHO "\n" diff --git a/Source/HBIOS/hbios.inc b/Source/HBIOS/hbios.inc index f1329ec9..78ac0aca 100644 --- a/Source/HBIOS/hbios.inc +++ b/Source/HBIOS/hbios.inc @@ -84,6 +84,11 @@ BF_SNDQ_CHCNT .EQU BF_SNDQ_STATUS + 1 ; RETURN COUNT OF CHANNELS BF_SNDQ_VOLUME .EQU BF_SNDQ_STATUS + 2 ; 8 BIT NUMBER BF_SNDQ_PERIOD .EQU BF_SNDQ_STATUS + 3 ; 16 BIT NUMBER BF_SNDQ_DEV .EQU BF_SNDQ_STATUS + 4 ; RETURN DEVICE TYPE CODE AND IO PORTS - TYPE IN B, PORTS IN DE, HL +; +; EXTENSION FUNCTIONS +BF_EXT .EQU $E0 +BF_EXTSLICE .EQU BF_EXT + 0 ; SLICE CALCULATION (WAS BF_SYSGET_DIOMED) + ; BF_SYS .EQU $F0 BF_SYSRESET .EQU BF_SYS + 0 ; SOFT RESET HBIOS @@ -109,7 +114,6 @@ BF_SYSGET_CIOCNT .EQU $00 ; GET CHAR UNIT COUNT BF_SYSGET_CIOFN .EQU $01 ; GET CIO UNIT FN/DATA ADR BF_SYSGET_DIOCNT .EQU $10 ; GET DISK UNIT COUNT BF_SYSGET_DIOFN .EQU $11 ; GET DIO UNIT FN/DATA ADR -BF_SYSGET_DIOMED .EQU $12 ; GET DISK MEDIA EXTENDED INFO BF_SYSGET_RTCCNT .EQU $20 ; GET RTC UNIT COUNT BF_SYSGET_DSKYCNT .EQU $30 ; GET DSKY UNIT COUNT BF_SYSGET_VDACNT .EQU $40 ; GET VDA UNIT COUNT diff --git a/Source/HBIOS/romldr.asm b/Source/HBIOS/romldr.asm index fb41a234..7e3a0279 100644 --- a/Source/HBIOS/romldr.asm +++ b/Source/HBIOS/romldr.asm @@ -1124,8 +1124,7 @@ diskboot: #if (BIOS == BIOS_WBW) ; ; Get Extended information for the Device, and Slice - ld b,BF_SYSGET ; HBIOS func: sys get - ld c,BF_SYSGET_DIOMED ; HBIOS sub-func: get extended disk info + ld b,BF_EXTSLICE ; HBIOS func: SLICE CALC ld a,(bootunit) ; passing boot unit ld d,a ld a,(bootslice) ; and slice diff --git a/Source/ver.inc b/Source/ver.inc index 05139b74..cc0edf77 100644 --- a/Source/ver.inc +++ b/Source/ver.inc @@ -2,7 +2,7 @@ #DEFINE RMN 5 #DEFINE RUP 0 #DEFINE RTP 0 -#DEFINE BIOSVER "3.5.0-dev.90" +#DEFINE BIOSVER "3.5.0-dev.91" #define rmj RMJ #define rmn RMN #define rup RUP diff --git a/Source/ver.lib b/Source/ver.lib index 1ce0bc10..39c22608 100644 --- a/Source/ver.lib +++ b/Source/ver.lib @@ -3,5 +3,5 @@ rmn equ 5 rup equ 0 rtp equ 0 biosver macro - db "3.5.0-dev.90" + db "3.5.0-dev.91" endm