Changeset 174 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Initialization/AtaID.asm


Ignore:
Timestamp:
Sep 18, 2011, 10:51:12 PM (13 years ago)
Author:
krille_n_@…
google:author:
krille_n_@hotmail.com
Message:

Changes to XTIDE Universal BIOS:

  • Excluded the Math_DivDXAXbyCX procedure as it is currently unused. Also made it 2 bytes smaller.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Initialization/AtaID.asm

    r173 r174  
    1010; this is how to fit a big drive into INT13's skimpy size requirements,
    1111; with a maximum of 8.4G available.
    12 ; 
    13 ; total LBAs (as obtained by words 60+61) 
     12;
     13; total LBAs (as obtained by words 60+61)
    1414; divided by 63 (sectors per track) (save as value A)
    1515; Sub 1 from A
    16 ; divide A by 1024 + truncate. 
     16; divide A by 1024 + truncate.
    1717; == total number of heads to use.
    1818; add 1
    1919; this value must be either 16, 32, 64, 128, or 256 (round up)
    2020; then take the value A above and divide by # of heads
    21 ; to get the # of cylinders to use. 
     21; to get the # of cylinders to use.
    2222;
    2323;
    2424; so a LBA28 drive will have 268,435,456 as maximum LBAs
    25 ; 
     25;
    2626; 10000000h / 63   = 410410h (total cylinders or tracks)
    2727;   410410h / 1024 = 1041h, which is way more than 256 heads, but 256 is max.
     
    3535; anyway, so there's no need to use the 48bit LBA values.
    3636;
    37 ; AtaID_GetLbaAssistedCHStoAXBLBH:
     37; AtaID_GetLbaAssistedCHStoDXAXBLBH:
    3838;   Parameters:
    3939;       BX:DX:AX:   Total number of sectors
Note: See TracChangeset for help on using the changeset viewer.