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


Ignore:
Timestamp:
Dec 21, 2012, 8:44:25 AM (11 years ago)
Author:
gregli@…
google:author:
gregli@hotmail.com
Message:

Separated MODULE_8BIT_IDE into the basic part used by XTIDE rev 1 and rev 2 which is PIO based, and MODULE_8BIT_IDE_ADVANCED for JRIDE and XTCF support which requires memory mapping and/or DMA. This allows for creating an 8KB image with boot menu support (but no hotkeys) for the XTIDE rev 1. Cleaned up how we reset the drive translation information, ensuring it is properly set between boot attempt on a primary and secondary drive - as a result we clean it when needed, rather than trying to always keep it clean. Also fixed translation bugs in int13h.asm where I had previously missed converting some MODULE_HOTKEYS into MODULE_DRIVEXLATE.

Location:
trunk/XTIDE_Universal_BIOS/Src/Menus
Files:
2 edited

Legend:

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

    r492 r493  
    161161EventItemHighlightedFromCX:
    162162    push    cx
    163     call    DriveXlate_Reset       
    164163    call    BootMenu_GetDriveToDXforMenuitemInCX       
    165164    jnc     .noDriveSwap       
     
    209208;--------------------------------------------------------------------
    210209CloseBootMenu:
    211     call    DriveXlate_Reset
    212210    CALL_MENU_LIBRARY   Close
    213211    ; Fall to BootMenuEvent_Completed
  • trunk/XTIDE_Universal_BIOS/Src/Menus/DriveXlate.asm

    r492 r493  
    144144;       Nothing
    145145;   Corrupts registers:
    146 ;       Nothing
     146;       AX, DI, DL
    147147;--------------------------------------------------------------------
    148148DriveXlate_Reset:
    149     mov     WORD [RAMVARS.xlateVars+XLATEVARS.wFDandHDswap], 8000h
    150     ret
    151 
     149    xor     dl, dl              ; no translation for a floppy
     150    ;; fall through to DriveXlate_SetDriveToSwap
    152151
    153152;--------------------------------------------------------------------
     
    161160;       Nothing
    162161;   Corrupts registers:
    163 ;       Nothing
     162;       AX, DI
    164163;--------------------------------------------------------------------
    165164DriveXlate_SetDriveToSwap:
     165    mov     ax, 8000h           ; Default mapping (no translation)
    166166    test    dl, dl              ; Floppy drive?
    167167    js      SHORT .SetHardDriveToSwap
    168 
    169     ; Set Floppy Drive to swap
    170     mov     [RAMVARS.xlateVars+XLATEVARS.bFDSwap], dl
     168    mov     al, dl              ; Store floppy translation
     169    SKIP2B  di
     170.SetHardDriveToSwap:   
     171    mov     ah, dl              ; Store HD translation
     172    mov     WORD [RAMVARS.xlateVars+XLATEVARS.wFDandHDswap], ax
    171173    ret
    172 
    173 .SetHardDriveToSwap:
    174     mov     [RAMVARS.xlateVars+XLATEVARS.bHDSwap], dl
    175     ret
Note: See TracChangeset for help on using the changeset viewer.