Changeset 117 in xtideuniversalbios


Ignore:
Timestamp:
Feb 28, 2011, 12:16:21 PM (13 years ago)
Author:
krille_n_@…
google:author:
krille_n_@hotmail.com
Message:

Changes to the XTIDE Universal BIOS:

  • Bugfix: The stack swapping in BootVars_SwitchBackToPostStack wasn't really an atomic operation anymore (on 186 and 286 CPUs) so I reverted the change I did in the previous revision.
  • A very small size optimization in AH15h_HSize.asm
Location:
trunk/XTIDE_Universal_BIOS/Src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Boot/BootVars.asm

    r116 r117  
    7474BootVars_SwitchBackToPostStack:
    7575    pop     ax                          ; Pop return address
    76 %ifndef USE_186
     76%ifndef USE_386
    7777    cli                                 ; Disable interrupts
    78 %endif
    7978    LOAD_BDA_SEGMENT_TO ss, sp
    80 %ifndef USE_386
    8179    mov     sp, [ss:BOOTVARS.dwPostStack]
    8280    mov     ss, [ss:BOOTVARS.dwPostStack+2]
     81    sti                                 ; Enable interrupts
    8382%else
     83    LOAD_BDA_SEGMENT_TO ss, sp
    8484    lss     sp, [ss:BOOTVARS.dwPostStack]
    8585%endif
    86 %ifndef USE_186
    87     sti                                 ; Enable interrupts
    88 %endif
    8986    jmp     ax
  • trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH15h_HSize.asm

    r35 r117  
    1 ; File name     :   AH15h_HSize.asm
    2 ; Project name  :   IDE BIOS
    3 ; Created date  :   28.9.2007
    4 ; Last update   :   24.8.2010
    5 ; Author        :   Tomi Tilli
     1; Project name  :   XTIDE Universal BIOS
    62; Description   :   Int 13h function AH=15h, Read Disk Drive Size.
    73
     
    3632    push    ax
    3733
    38     call    HCapacity_GetSectorCountFromOurAH08h; Sector count to DX:AX
     34    call    HCapacity_GetSectorCountFromOurAH08h; Sector count to DX:AX (clears CF)
    3935    mov     cx, dx                              ; HIWORD to CX
    4036    xchg    dx, ax                              ; LOWORD to DX
     
    4339    pop     bx
    4440    mov     ah, 3                               ; Type code = Hard disk
    45     clc
    4641    jmp     Int13h_ReturnWithValueInDL
  • trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Common/HCapacity.asm

    r88 r117  
    4141    mul     bx              ; AX=Head count * Sectors per track
    4242    mul     cx              ; DX:AX = Total sector count
    43     xor     bx, bx          ; Zero BX for 48-bit sector count
     43    xor     bx, bx          ; Zero BX for 48-bit sector count (and clear CF)
    4444    ret
Note: See TracChangeset for help on using the changeset viewer.