Ignore:
Timestamp:
Sep 18, 2011, 11:41:29 AM (13 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to XTIDE Universal BIOS:

  • L-CHS parameters are now generated differently for LBA enabled drives.
  • Booting to EBIOS partitions now seems to work (at least on one drive).
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Tools/Address.asm

    r165 r173  
    8383    ; LHead / PHeadCount and LHead % PHeadCount
    8484    eMOVZX  ax, bh                  ; Copy L-CHS Head number to AX
    85     div     BYTE [di+DPT.bPchsHeads]; AL = LHead / PHeadCount, AH = LHead % PHeadCount
     85    div     BYTE [di+DPT.bHeads]    ; AL = LHead / PHeadCount, AH = LHead % PHeadCount
    8686    mov     bh, ah                  ; Copy P-CHS Head number to BH
    8787    xor     ah, ah                  ; AX = LHead / PHeadCount
     
    124124    ; cylToSeek*headsPerCyl (18-bit result)
    125125    mov     ax, cx                  ; Copy Cylinder number to AX
    126     eMOVZX  dx, BYTE [di+DPT.bLchsHeads]
     126    eMOVZX  dx, BYTE [di+DPT.bHeads]
    127127    mul     dx                      ; DX:AX = cylToSeek*headsPerCyl
    128128
     
    133133
    134134    ; *=sectPerTrack (18-bit by 6-bit multiplication with 24-bit result)
    135     eMOVZX  cx, BYTE [di+DPT.bPchsSectors]  ; Load Sectors per Track
     135    mov     cx, LBA_ASSIST_SPT      ; Load Sectors per Track
    136136    xchg    ax, dx                  ; Hiword to AX, loword to DX
    137137    mul     cl                      ; AX = hiword * Sectors per Track
Note: See TracChangeset for help on using the changeset viewer.