Changeset 613 in xtideuniversalbios for trunk/BIOS_Drive_Information_Tool


Ignore:
Timestamp:
May 27, 2021, 6:25:17 PM (3 years ago)
Author:
Tomi Tilli
Message:

Added more complex way to limit illegal P-CHS Cylinders. This way more modifications can be easily made later if necessary.
Updated biosdrvs to display unmodified and modified CHS.

Location:
trunk/BIOS_Drive_Information_Tool
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/BIOS_Drive_Information_Tool/Src/AtaInfo.asm

    r612 r613  
    3636
    3737    ; Read ATA Information from the drive
    38     call    Bios_ReadAtaInfoFromDriveDLtoBX
     38    call    Bios_ReadAtaInfoFromDriveDLtoBX ; Unaltered ATA information
    3939    call    Print_ErrorMessageFromAHifError ; AH=25h is not available on many BIOSes
    4040    jc      SHORT .SkipAtaInfoSinceError
     
    4444
    4545    ; Print Drive P-CHS parameters
    46     call    DisplayPCHSusingAtaInfoFromDSBX
     46    call    DisplayPCHSusingAtaInfoFromDSBX ; Unaltered
     47
     48    ; Fix and display values (ATA Info will stay fixed)
     49    xor     ah, ah                          ; Successfully read ATA ID
     50    push    ds
     51    pop     es
     52    mov     si, bx
     53    call    AtaID_FixIllegalValuesFromESSI  ; Modify ATA information if necessary
     54    mov     si, g_szWillBeModified
     55    call    Print_NullTerminatedStringFromSI
     56    call    DisplayPCHSusingAtaInfoFromDSBX ; Display fixed values
    4757
    4858    ; Print Drive CHS sector count
  • trunk/BIOS_Drive_Information_Tool/Src/Bios.asm

    r589 r613  
    118118;               Set = BIOS error code stored in AH
    119119;   Corrupts registers:
    120 ;       ES
     120;       CX, ES
    121121;--------------------------------------------------------------------
    122122Bios_ReadAtaInfoFromDriveDLtoBX:
     
    124124    push    ds
    125125    pop     es
     126    mov     cx, XUB_INT13h_SIGNATURE    ; Signature to read unaltered ATA ID
    126127    mov     ah, GET_DRIVE_INFORMATION
    127128    int     BIOS_DISK_INTERRUPT_13h
  • trunk/BIOS_Drive_Information_Tool/Src/Main.asm

    r590 r613  
    2525%include "Version.inc"          ; From XTIDE Universal BIOS
    2626%include "ATA_ID.inc"           ; From XTIDE Universal BIOS
     27%include "Ramvars.inc"          ; From XTIDE Universal BIOS (needed by Int13h.inc)
    2728%include "Int13h.inc"           ; From XTIDE Universal BIOS
    2829%include "EBIOS.inc"            ; From XTIDE Universal BIOS
     
    4243; Include library and other sources
    4344%include "AssemblyLibrary.asm"
     45%include "AtaID.asm"            ; From XTIDE Universal BIOS
    4446%include "AtaGeometry.asm"      ; From XTIDE Universal BIOS
    4547%include "Strings.asm"
  • trunk/BIOS_Drive_Information_Tool/Src/Strings.asm

    r612 r613  
    3737g_szLBA:            db  "LBA   ",NULL
    3838g_szFormatCHS:      db  " Cylinders    : %5u, Heads: %3u, Sectors: %2u",NULL
     39g_szWillBeModified: db  "Will be modified to:",CR,LF,NULL       
    3940g_szChsSectors:     db  " CHS   sectors: ",NULL
    4041g_szLBA28:          db  " LBA28 sectors: ",NULL
  • trunk/BIOS_Drive_Information_Tool/makefile

    r592 r613  
    4545LIBS += ../Assembly_Library/Src/Util/
    4646LIBS += ../XTIDE_Universal_BIOS/Inc/
     47LIBS += ../XTIDE_Universal_BIOS/Src/Initialization/
    4748LIBS += ../XTIDE_Universal_BIOS/Src/VariablesAndDPTs/
    4849HEADERS += $(LIBS)
Note: See TracChangeset for help on using the changeset viewer.