Changeset 601 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Menus


Ignore:
Timestamp:
Feb 14, 2019, 7:38:08 PM (6 years ago)
Author:
Krister Nordvall
Message:

Changes:

  • Building the BIOS now works again.
  • Added a new IDE device type/transfer mode for use only with XT-IDE rev 2+ (or Chuck(G)-modded rev 1) cards installed in any of the following machines: Olivetti M24, AT&T PC6300, Xerox 6060 and Logabax Persona 1600. This new transfer mode is slightly faster than the regular XT-IDE rev 1 device type and requires that the card is configured for High Speed mode (or, in case of the card being a rev 1 card, has the Chuck(G) mod done). The new device type is called "XTIDE rev 2 (Olivetti M24)" in XTIDECFG.
  • Made some minor improvements to the library code that handles 'Drive Not Ready' errors in XTIDECFG.
  • Optimizations.
Location:
trunk/XTIDE_Universal_BIOS/Src/Menus
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Menus/BootMenu/BootMenuPrintCfg.asm

    r592 r601  
    44;
    55; Included by BootMenuPrint.asm, this routine is to be inserted into
    6 ; BootMenuPrint_HardDiskRefreshInformation.
     6; BootMenuPrint_RefreshInformation.
    77;
    88
     
    2626SECTION .text
    2727
    28 ;;; fall-into from BootMenuPrint_HardDiskRefreshInformation.
     28;;; fall-into from BootMenuPrint_RefreshInformation.
    2929
    3030;--------------------------------------------------------------------
     
    3232; Cursor is set to configuration header string position.
    3333;
    34 ; BootMenuPrintCfg_ForOurDrive
     34; .BootMenuPrintCfg_ForOurDrive
    3535;   Parameters:
    3636;       DS:DI:      Pointer to DPT
     
    3838;       Nothing
    3939;   Corrupts registers:
    40 ;       AX, BX, CX, DX
     40;       AX, BX, DX
    4141;--------------------------------------------------------------------
    4242.BootMenuPrintCfg_ForOurDrive:
    43     eMOVZX  ax, [di+DPT.bIdevarsOffset]
    44     xchg    bx, ax                      ; CS:BX now points to IDEVARS
    4543    ; Fall to .PushAddressingMode
    4644
     
    4947;   Parameters:
    5048;       DS:DI:  Ptr to DPT
    51 ;       CS:BX:  Ptr to IDEVARS
    5249;   Returns:
    5350;       Nothing (falls to next push below)
    5451;   Corrupts registers:
    55 ;       AX, CX, DX
     52;       AX, BX, DX
    5653;--------------------------------------------------------------------
    5754.PushAddressingMode:
     
    6663    imul    ax, g_szAddressingModes_Displacement << (8-TRANSLATEMODE_FIELD_POSITION)
    6764%else
    68     mov     cx, g_szAddressingModes_Displacement << (8-TRANSLATEMODE_FIELD_POSITION)
    69     mul     cx
     65    mov     bx, g_szAddressingModes_Displacement << (8-TRANSLATEMODE_FIELD_POSITION)
     66    mul     bx
    7067%endif
    7168    xchg    al, ah      ; AL = always zero after above multiplication
     
    7875;   Parameters:
    7976;       DS:DI:  Ptr to DPT
    80 ;       CS:BX:  Ptr to IDEVARS
    8177;   Returns:
    8278;       Nothing (falls to next push below)
     
    9793;   Parameters:
    9894;       DS:DI:  Ptr to DPT
    99 ;       CS:BX:  Ptr to IDEVARS
    10095;   Returns:
    10196;       Nothing (falls to next push below)
    10297;   Corrupts registers:
    103 ;       AX
     98;       AX, BX
    10499;--------------------------------------------------------------------
    105100.PushDeviceType:
     101    call    AccessDPT_GetIdevarsToCSBX
    106102%ifndef MODULE_SERIAL
    107103    mov     al, g_szDeviceTypeValues_Displacement
     
    155151;       Nothing (falls to next push below)
    156152;   Corrupts registers:
    157 ;       AX, BX, DX, ES
     153;       AL
    158154;--------------------------------------------------------------------
    159155.PushResetStatus:
     
    161157    push    ax
    162158
    163 ;;; fall-out to BootMenuPrint_HardDiskRefreshInformation.
     159;;; fall-out to BootMenuPrint_RefreshInformation.
  • trunk/XTIDE_Universal_BIOS/Src/Menus/HotkeyBar.asm

    r600 r601  
    3333;       Nothing
    3434;   Corrupts registers:
    35 ;       AX, CX, DX, SI, DI
    36 ;--------------------------------------------------------------------
     35;       Nothing
     36;--------------------------------------------------------------------
     37ALIGN JUMP_ALIGN
    3738HotkeyBar_TimerTickHandler:
    3839    push    es
     
    5657    ; Call previous handler
    5758    pushf
    58     call far [es:BOOTVARS.hotkeyVars+HOTKEYVARS.fpPrevTimerHandler]
     59    call    FAR [es:BOOTVARS.hotkeyVars+HOTKEYVARS.fpPrevTimerHandler]
    5960
    6061    ; Update Hotkeybar (process key input and draw) every fourth tick
     
    9899    mov     BYTE [RAMVARS.bTimeoutTicksLeft], 0
    99100.ContinueDrawing:
    100    
    101101    ; Fall to HotkeyBar_DrawToTopOfScreen
    102102
     
    141141
    142142    ; Clear CH if floppy drive is selected for boot
     143%if 0 ; Not needed until more flags added
     144    mov     ch, FLG_HOTKEY_HD_FIRST
     145    and     ch, [es:BOOTVARS.hotkeyVars+HOTKEYVARS.bFlags]
     146%else
    143147    mov     ch, [es:BOOTVARS.hotkeyVars+HOTKEYVARS.bFlags]
    144     ;and        ch, FLG_HOTKEY_HD_FIRST; Not needed until more flags added
     148%endif
    145149    call    FormatDriveHotkeyString
    146150
     
    428432
    429433    ; Store system 1Ch Timer Tick handler and install our hotkeybar handler
    430     mov     ax, [SYSTEM_TIMER_TICK*4]
     434    mov     ax, [BIOS_SYSTEM_TIMER_TICK_INTERRUPT_1Ch*4]
    431435    mov     [BOOTVARS.hotkeyVars+HOTKEYVARS.fpPrevTimerHandler], ax
    432     mov     ax, [SYSTEM_TIMER_TICK*4+2]
     436    mov     ax, [BIOS_SYSTEM_TIMER_TICK_INTERRUPT_1Ch*4+2]
    433437    mov     [BOOTVARS.hotkeyVars+HOTKEYVARS.fpPrevTimerHandler+2], ax
    434     mov     al, SYSTEM_TIMER_TICK
     438    mov     al, BIOS_SYSTEM_TIMER_TICK_INTERRUPT_1Ch
    435439    mov     si, HotkeyBar_TimerTickHandler
    436440    call    Interrupts_InstallHandlerToVectorInALFromCSSI
Note: See TracChangeset for help on using the changeset viewer.