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


Ignore:
Timestamp:
Jul 10, 2018, 1:20:11 AM (6 years ago)
Author:
krille_n_
Message:

Changes:

  • Made changes to HotkeyBar.asm to give the Boot Menu and Hotkey Bar a more consistent look. It will probably seem a bit strange at first to people used to the classic theme.
  • Added the missing parts of USE_NEC_V that should have been committed with the rest in r593.
  • Removed DEFINES_ALL_FEATURES from the BIOS makefile. It didn't work anymore and never really made sense anyway. Added all the official builds to 'make unused' instead which actually uncovered some unused code in the Tiny build.
  • XTIDECFG will no longer load color themes from unrecognized versions of the BIOS.
  • Other fixes in comments and some minor optimizations.
Location:
trunk/XTIDE_Universal_BIOS/Src/Initialization
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Initialization/AdvancedAta/AdvAtaInit.asm

    r593 r596  
    3737AdvAtaInit_DetectControllerForIdeBaseInBX:
    3838    ; Detect if system has PCI bus. If it does, we can skip VLB detection. This is
    39     ; good thing since detecting Vision QD6850 is dangerous since Intel PIIX4 south bridge
     39    ; good thing since detecting Vision QD6580 is dangerous since Intel PIIX4 south bridge
    4040    ; mirrors Interrupt Controller registers from Axh to Bxh. This can lead to faulty
    41     ; detection of QD6850 that will eventually crash the system when ports are written.
     41    ; detection of QD6580 that will eventually crash the system when ports are written.
    4242
    4343    ; We should save the 32-bit registers but we don't since system BIOS has stored
  • trunk/XTIDE_Universal_BIOS/Src/Initialization/AdvancedAta/Vision.asm

    r593 r596  
    194194    ; Calculate Recovery Time value for QD65xx IDE Timing Register
    195195    xchg    ax, cx
    196     eMOVZX  cx, BYTE [cs:bx+.rgbToSubtractFromCycleTimeBasedOnPIOmode]
    197     sub     ax, cx
     196    mov     bl, [cs:bx+.rgbToSubtractFromCycleTimeBasedOnPIOmode]
     197    sub     ax, bx
    198198    mov     bx, bp                      ; Active Time value now in BL
    199199    mov     bp, QD65xx_MAX_RECOVERY_TIME_CLOCKS | (QD65xx_MIN_RECOVERY_TIME_CLOCKS << 8)
  • trunk/XTIDE_Universal_BIOS/Src/Initialization/DetectDrives.asm

    r594 r596  
    9999; Primary reason is to support dynamic overlay feature in the future. Second reason
    100100; is a hack to get Windows 95 load proper IDE drivers.
    101 ; 
     101;
    102102; The Windows hack has two parts. First part is to try to alter CMOS address 12h as that
    103103; is what Windows 95 driver reads to detect IDE drives. Altering is not possible on all
    104 ; systems since CMOS has a checksum but it's location is not standardized. We will first
     104; systems since CMOS has a checksum but its location is not standardized. We will first
    105105; try to detect valid checksum. If it succeeds, then it is safe to assume this system
    106106; has compatible CMOS and we can alter it.
     
    117117        call    CMOS_Verify10hTo2Dh             ; Can we modify CMOS?
    118118        jnz     SHORT .ClearBdaDriveCount       ; Unsupported BIOS, use plan B
    119    
     119
    120120        ; Now we can alter CMOS location 12h
    121121        mov     dl, HARD_DISK_TYPES
  • trunk/XTIDE_Universal_BIOS/Src/Initialization/Interrupts.asm

    r594 r596  
    6565    mov     ax, [es:BIOS_DISK_INTERRUPT_13h*4]  ; Load old INT 13h offset
    6666    mov     [RAMVARS.fpMFMint13h], ax           ; Store old INT 13h offset
    67    
     67
    6868    mov     [RAMVARS.fpOldI13h+2], cs
    69     mov     WORD [RAMVARS.fpOldI13h], Int13hMFMcompatibilityHandler 
     69    mov     WORD [RAMVARS.fpOldI13h], Int13hMFMcompatibilityHandler
    7070%else
    7171    mov     ax, [es:BIOS_DISK_INTERRUPT_13h*4+2]; Load old INT 13h segment
     
    252252    xchg    cx, ax              ; IRQ index to CL
    253253    in      al, dx              ; Read Interrupt Mask Register
     254%ifdef USE_NEC_V
     255    eCLR1   al, cl              ; Clear wanted bit
     256%else
    254257    mov     ch, ~1              ; Load bit mask to be rotated
    255258    rol     ch, cl              ; Rotate mask to correct position for clearing
    256259    and     al, ch              ; Clear wanted bit
     260%endif
    257261    out     dx, al              ; Write modified Interrupt Mask Register
    258262    pop     cx
Note: See TracChangeset for help on using the changeset viewer.