Ignore:
Timestamp:
Jan 29, 2012, 1:33:44 PM (12 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to XTIDE Universal BIOS:

  • EBIOS functions now work in lite mode.
File:
1 edited

Legend:

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

    r173 r227  
    2222;       CF:     0 if successfull, 1 if error
    2323;--------------------------------------------------------------------
    24 ALIGN JUMP_ALIGN
    2524AH8h_HandlerForReadDiskDriveParameters:
    2625    call    RamVars_IsDriveHandledByThisBIOS
     
    5655;       AX, BX
    5756;--------------------------------------------------------------------
    58 ALIGN JUMP_ALIGN
    5957AH8h_GetDriveParameters:
    60     call    AccessDPT_GetLCHS       ; AX=sectors, BX=cylinders, DX=heads
     58    call    AccessDPT_GetLCHStoAXBLBH
    6159    ; Fall to .PackReturnValues
    6260
     
    6664; .PackReturnValues
    6765;   Parameters:
    68 ;       AX:     Number of L-CHS sectors per track (1...63)
    69 ;       BX:     Number of L-CHS cylinders available (1...1024)
    70 ;       DX:     Number of L-CHS heads (1...256)
     66;       AX:     Number of L-CHS cylinders available (1...1024)
     67;       BL:     Number of L-CHS heads (1...256)
     68;       BH:     Number of L-CHS sectors per track (1...63)
    7169;       DS:     RAMVARS segment
    7270;   Returns:
     
    8078;--------------------------------------------------------------------
    8179.PackReturnValues:
    82     dec     bx                      ; Cylinder count to last cylinder
    83     dec     dx                      ; Head count to max head number
    84     mov     dh, dl                  ; Max head number to DH
    85     mov     ch, bl                  ; Cylinder bits 7...0 to CH
    86     mov     cl, bh                  ; Cylinder bits 9...8 to CL
    87     eROR_IM cl, 2                   ; Cylinder bits 9...8 to CL bits 7...6
    88     or      cl, al                  ; Sectors per track to CL bits 5...0
     80    dec     ax                      ; AX = Number of last cylinder
     81    dec     bx                      ; BL = Number of last head
     82    xchg    cx, ax
     83    xchg    cl, ch                  ; CH = Last cylinder bits 0...7
     84    eROR_IM cl, 2                   ; CL bits 6...7 = Last cylinder bits 8...9
     85    or      cl, bh                  ; CL bits 0...5 = Sectors per track
     86    mov     dh, bl                  ; DH = Maximum head number
    8987    jmp     RamVars_GetCountOfKnownDrivesToDL
Note: See TracChangeset for help on using the changeset viewer.