Changeset 558 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Initialization


Ignore:
Timestamp:
Jun 23, 2013, 3:52:31 PM (11 years ago)
Author:
krille_n_@…
google:author:
krille_n_@hotmail.com
Message:

Changes:

  • Building the BIOS Drive Information Tool now works again.
  • Moved all XT-CF related code to MODULE_8BIT_IDE_ADVANCED. I don't see how an XT-CF card could work without *_ADVANCED anyway but if I'm wrong, feel free to undo this. Note! The autodetection code in XTIDECFG has NOT been changed to reflect this (still relies on MODULE_8BIT_IDE).
  • Optimizations and fixes in general.
Location:
trunk/XTIDE_Universal_BIOS/Src/Initialization
Files:
3 edited

Legend:

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

    r545 r558  
    135135%endif
    136136
     137%ifdef MODULE_8BIT_IDE_ADVANCED
     138NoSlaveDriveAvailable:
     139%endif
    137140    ret
    138141
     
    153156;       ES:     Zero (BDA segment)
    154157;   Returns:
    155 ;       None
     158;       Nothing
    156159;   Corrupts registers:
    157160;       AX, BL, CX, DX, SI, DI
    158161;--------------------------------------------------------------------
    159162StartDetectionWithDriveSelectByteInBHandStringInCX:
    160 %ifdef MODULE_8BIT_IDE
    161     call    DetectDrives_DoesIdevarsInCSBPbelongToXTCF
    162     jne     SHORT .ShouldNotSkipSlaveDriveDetection
     163%ifdef MODULE_8BIT_IDE_ADVANCED
     164    mov     al, [cs:bp+IDEVARS.bDevice]
     165    cmp     al, DEVICE_8BIT_XTCF_PIO8
     166    jb      SHORT .DoNotSkipSlaveDriveDetection
     167    cmp     al, DEVICE_8BIT_XTCF_DMA
     168    ja      SHORT .DoNotSkipSlaveDriveDetection
    163169
    164170    ; XT-CF do not support slave drives so skip detection
    165171    test    bh, FLG_DRVNHEAD_DRV
    166172    jnz     SHORT NoSlaveDriveAvailable
    167 .ShouldNotSkipSlaveDriveDetection:
    168 %endif ; MODULE_8BIT_IDE
     173.DoNotSkipSlaveDriveDetection:
     174%endif ; MODULE_8BIT_IDE_ADVANCED
    169175
    170176    call    DetectPrint_StartDetectWithMasterOrSlaveStringInCXandIdeVarsInCSBP
    171 .DriveDetectionStringPrintedOnScreen:
     177
    172178%ifdef MODULE_HOTKEYS
    173179    call    HotkeyBar_UpdateDuringDriveDetection
     
    247253    call    DriveDetectInfo_CreateForHardDisk
    248254    jmp     SHORT DetectPrint_DriveNameFromDrvDetectInfoInESBX
    249 
    250 
    251 %ifdef MODULE_8BIT_IDE
    252 ;--------------------------------------------------------------------
    253 ; DetectDrives_DoesIdevarsInCSBPbelongToXTCF
    254 ;   Parameters:
    255 ;       CS:BP:  Ptr to IDEVARS for the drive
    256 ;   Returns:
    257 ;       ZF:     Set if IDEVARS belongs to XT-CF device
    258 ;               Cleared if some other device
    259 ;   Corrupts registers:
    260 ;       AL
    261 ;--------------------------------------------------------------------
    262 DetectDrives_DoesIdevarsInCSBPbelongToXTCF:
    263     mov     al, [cs:bp+IDEVARS.bDevice]
    264     cmp     al, DEVICE_8BIT_XTCF_PIO8
    265     je      SHORT .Done
    266     cmp     al, DEVICE_8BIT_XTCF_PIO8_WITH_BIU_OFFLOAD
    267 
    268 %ifdef MODULE_8BIT_IDE_ADVANCED
    269     je      SHORT .Done
    270     cmp     al, DEVICE_8BIT_XTCF_DMA
    271 %endif ; MODULE_8BIT_IDE_ADVANCED
    272 
    273 .Done:      ; return state via ZF, set from the cmp instructions
    274 NoSlaveDriveAvailable:
    275     ret
    276 %endif ; MODULE_8BIT_IDE
  • trunk/XTIDE_Universal_BIOS/Src/Initialization/Initialize.asm

    r556 r558  
    3535Initialize_FromMainBiosRomSearch:       ; unused entrypoint ok
    3636    pushf                               ; To store IF
     37    sti                                 ; Enable interrupts for keystrokes
    3738    push    ds
    3839
     
    4546%endif
    4647
    47     sti                                 ; Enable interrupts for keystrokes
    4848    test    BYTE [BDA.bKBFlgs1], (1<<2) ; Clears ZF if CTRL is held down
    4949    jnz     SHORT .SkipRomInitialization
  • trunk/XTIDE_Universal_BIOS/Src/Initialization/Interrupts.asm

    r540 r558  
    9797.InitializeHardwareIrqHandlers:
    9898    call    RamVars_GetIdeControllerCountToCX
    99     mov     di, ROMVARS.ideVars0+IDEVARS.bIRQ   ; CS:SI points to first IDEVARS
     99    mov     di, ROMVARS.ideVars0+IDEVARS.bIRQ
    100100.IdeControllerLoop:
    101101    mov     al, [cs:di]
Note: See TracChangeset for help on using the changeset viewer.