Changeset 28 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Boot


Ignore:
Timestamp:
Aug 1, 2010, 5:57:24 PM (14 years ago)
Author:
Tomi Tilli
google:author:
aitotat
Message:
  • v1.1.1 broke booting from foreign drives, it is now fixed.
  • Improved error handling a bit.
  • Longer DRQ and IRQ timeouts to minimize write timouts with some (bad) CF cards.
  • Default boot menu drive should now be properly selected.
Location:
trunk/XTIDE_Universal_BIOS/Src/Boot
Files:
2 edited

Legend:

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

    r3 r28  
    22; Project name  :   IDE BIOS
    33; Created date  :   25.3.2010
    4 ; Last update   :   1.4.2010
     4; Last update   :   29.7.2010
    55; Author        :   Tomi Tilli
    66; Description   :   Displays Boot Menu.
     
    323323;       DS:     RAMVARS segment
    324324;   Returns:
    325 ;       SF:     Set if drive number is valid
     325;       CF:     Set if drive number is valid
    326326;               Clear if drive is not present in system
    327327;   Corrupts registers:
    328 ;       AX
     328;       AX, CX
    329329;--------------------------------------------------------------------
    330330ALIGN JUMP_ALIGN
     
    332332    test    dl, 80h                 ; Floppy drive?
    333333    jz      SHORT .IsFloppyDriveIsInSystem
    334     call    RamVars_GetDriveCounts
    335     mov     ax, 7Fh                 ; Load mask to clear floppy bit
    336     and     ax, dx                  ; AX = Hard Disk index
    337     cmp     ax, cx                  ; Valid drive index?
    338     ret
    339 ALIGN JUMP_ALIGN
     334    call    RamVars_GetDriveCounts  ; Hard Disk count to CX
     335    or      cl, 80h                 ; Set Hard Disk bit to CX
     336    jmp     SHORT .CompareDriveNumberToDriveCount
    340337.IsFloppyDriveIsInSystem:
    341     call    FloppyDrive_GetCount
     338    call    FloppyDrive_GetCount    ; Floppy Drive count to CX
     339.CompareDriveNumberToDriveCount:
    342340    cmp     dl, cl
    343341    ret
  • trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuEvent.asm

    r3 r28  
    283283    mov     dl, [cs:ROMVARS.bBootDrv]   ; Default boot drive
    284284    call    BootMenu_IsDriveInSystem
    285     jns     SHORT .DoNotSetDefaultMenuitem
     285    jnc     SHORT .DoNotSetDefaultMenuitem
     286    call    DriveXlate_SetDriveToSwap
    286287    call    BootMenu_ConvertDriveToMenuitem
    287288    mov     ax, 1
Note: See TracChangeset for help on using the changeset viewer.