Ignore:
Timestamp:
Apr 19, 2013, 11:45:35 AM (11 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to Configurator v2:

  • Integrated XT-CFv3 support by James Pearce.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/IdeControllerMenu.asm

    r536 r546  
    2626    at  MENUPAGE.fnEnter,           dw  IdeControllerMenu_EnterMenuOrModifyItemVisibility
    2727    at  MENUPAGE.fnBack,            dw  ConfigurationMenu_EnterMenuOrModifyItemVisibility
    28     at  MENUPAGE.wMenuitems,        dw  12
     28    at  MENUPAGE.wMenuitems,        dw  11
    2929iend
    3030
     
    187187iend
    188188
    189 g_MenuitemIdeControllerXTCFwindow:
    190 istruc MENUITEM
    191     at  MENUITEM.fnActivate,        dw  Menuitem_ActivateHexInputForMenuitemInDSSI
    192     at  MENUITEM.fnFormatValue,     dw  MenuitemPrint_WriteHexValueStringToBufferInESDIfromItemInDSSI
    193     at  MENUITEM.szName,            dw  g_szItemIdeXTCFwindow
    194     at  MENUITEM.szQuickInfo,       dw  g_szNfoIdeXTCFwindow
    195     at  MENUITEM.szHelp,            dw  g_szNfoIdeXTCFwindow
    196     at  MENUITEM.bFlags,            db  FLG_MENUITEM_BYTEVALUE
    197     at  MENUITEM.bType,             db  TYPE_MENUITEM_HEX
    198     at  MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset,        dw  NULL
    199     at  MENUITEM.itemValue + ITEM_VALUE.szDialogTitle,              dw  g_szDlgIdeXTCFwindow
    200     at  MENUITEM.itemValue + ITEM_VALUE.wMinValue,                  dw  0A000h
    201     at  MENUITEM.itemValue + ITEM_VALUE.wMaxValue,                  dw  0E800h
    202     at  MENUITEM.itemValue + ITEM_VALUE.fnValueReader,              dw  ReaderForXTCFwindow
    203     at  MENUITEM.itemValue + ITEM_VALUE.fnValueWriter,              dw  WriterForXTCFwindow
    204 iend
    205 
    206189g_rgwChoiceToValueLookupForDevice:
    207190    dw  DEVICE_16BIT_ATA
     
    211194    dw  DEVICE_8BIT_XTIDE_REV2
    212195    dw  DEVICE_8BIT_XTCF_PIO8
     196    dw  DEVICE_8BIT_XTCF_PIO8_WITH_BIU_OFFLOAD
    213197    dw  DEVICE_8BIT_XTCF_DMA
    214     dw  DEVICE_8BIT_XTCF_MEMMAP
    215198    dw  DEVICE_8BIT_JRIDE_ISA
    216199    dw  DEVICE_8BIT_ADP50L
     
    222205    dw  g_szValueCfgDeviceRev1
    223206    dw  g_szValueCfgDeviceRev2
    224     dw  g_szValueCfgDevicePioXTCF
    225     dw  g_szValueCfgDeviceDmaXTCF
    226     dw  g_szValueCfgDeviceMemXTCF
     207    dw  g_szValueCfgDeviceXTCFPio8
     208    dw  g_szValueCfgDeviceXTCFPio8WithBIUOffload
     209    dw  g_szValueCfgDeviceXTCFDMA
    227210    dw  g_szValueCfgDeviceJrIdeIsa
    228211    dw  g_szValueCfgDeviceADP50L
     
    333316    mov     [cs:g_MenuitemIdeControllerControlBlockAddress+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax
    334317
    335     lea     ax, [bx+IDEVARS.bXTCFcontrolRegister]
    336     mov     [cs:g_MenuitemIdeControllerXTCFwindow+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax
    337 
    338318    lea     ax, [bx+IDEVARS.bSerialCOMPortChar]
    339319    mov     [cs:g_MenuitemIdeControllerSerialCOM+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax
     
    362342    call    .DisableIRQchannelSelection
    363343    call    .EnableOrDisableEnableInterrupt
    364     call    .EnableOrDisableXTCFwindow
    365344    call    .EnableOrDisableSerial
    366345    mov     si, g_MenupageForIdeControllerMenu
     
    430409.DisableIRQchannelSelection:
    431410    mov     bx, g_MenuitemIdeControllerIdeIRQ
    432     jmp     SHORT .DisableMenuitemFromCSBX
    433 
    434 
    435 ;--------------------------------------------------------------------
    436 ; .EnableOrDisableXTCFwindow
    437 ;   Parameters:
    438 ;       SS:BP:  Menu handle
    439 ;   Returns:
    440 ;       Nothing
    441 ;   Corrupts registers:
    442 ;       AX, BX
    443 ;--------------------------------------------------------------------
    444 ALIGN JUMP_ALIGN
    445 .EnableOrDisableXTCFwindow:
    446     mov     bx, [cs:g_MenuitemIdeControllerDevice+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset]
    447     call    Buffers_GetRomvarsValueToAXfromOffsetInBX
    448     mov     bx, g_MenuitemIdeControllerXTCFwindow
    449     cmp     al, DEVICE_8BIT_XTCF_MEMMAP
    450     je      SHORT .EnableMenuitemFromCSBX
    451411    ; Fall to .DisableMenuitemFromCSBX
    452412
     
    614574        jbe     SHORT .writeNonSerial
    615575
    616         mov     ax, DEVICE_XTIDE_DEFAULT_PORT       ; Defaults for 8-bit XTIDE devices
     576        mov     ax, DEVICE_XTIDE_DEFAULT_PORT       ; Defaults for 8-bit XTIDE and XT-CF devices
    617577        mov     bx, DEVICE_XTIDE_DEFAULT_PORTCTRL
    618578
     
    645605
    646606.done:
    647         ; See if we are changing to XT-CF. If we are, store
    648         ; byte for Control Register.
    649607        pop     ax
    650608        pop     di          ; IDEVARS.bDevice
    651         sub     di, BYTE IDEVARS.bDevice - IDEVARS.bXTCFcontrolRegister ; IDEVARS.bXTCFcontrolRegister
    652         cmp     al, DEVICE_8BIT_XTCF_PIO8 >> 1
    653         je      SHORT .ChangingToPioModeXTCF
    654         cmp     al, DEVICE_8BIT_XTCF_DMA >> 1
    655         je      SHORT .ChangingToDmaModeXTCF
    656         cmp     al, DEVICE_8BIT_XTCF_MEMMAP >> 1
    657         jne     SHORT .NoNeedToChangeXTCFsettings
    658 
    659         ; XT-CF Memory Mapped Mode
    660         mov     WORD [es:di], DEFAULT_XTCF_SECTOR_WINDOW_SEGMENT >> 8   ; Store word to clear Control Block Port high byte
    661         jmp     SHORT .NoNeedToChangeXTCFsettings
    662 .ChangingToPioModeXTCF:
    663         mov     BYTE [es:di], XTCF_8BIT_PIO_MODE
    664         jmp     SHORT .NoNeedToChangeXTCFsettings
    665 .ChangingToDmaModeXTCF:
    666         mov     BYTE [es:di], XTCF_DMA_MODE
    667         ; Fall to .NoNeedToChangeXTCFsettings
    668 
    669 .NoNeedToChangeXTCFsettings:
    670609        pop     di
    671610        pop     bx
Note: See TracChangeset for help on using the changeset viewer.