Changeset 437 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS


Ignore:
Timestamp:
Aug 10, 2012, 5:35:08 PM (12 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to XTIDE Universal BIOS:

  • Changed Fast XTIDE to Lo-tech XT-CF
  • 8-bit PIO Transfer mode is enabled for Lo-tech XT-CF
Location:
trunk/XTIDE_Universal_BIOS
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Inc/CustomDPT.inc

    r422 r437  
    9393    FLG_INITERROR_FAILED_TO_SET_PIO_MODE                EQU (1<<5)
    9494    FLG_INITERROR_FAILED_TO_INITIALIZE_STANDBY_TIMER    EQU (1<<6)
     95    FLG_INITERROR_FAILED_TO_ENABLE_8BIT_PIO_MODE        EQU (1<<7)
    9596
    9697
  • trunk/XTIDE_Universal_BIOS/Inc/IdeRegisters.inc

    r380 r437  
    101101
    102102; Subcommands for COMMAND_SET_FEATURES
     103FEATURE_ENABLE_8BIT_PIO_TRANSFER_MODE   EQU     01h     ; CFA feature set only
    103104FEATURE_ENABLE_WRITE_CACHE              EQU     02h
    104105FEATURE_DISABLE_WRITE_CACHE             EQU     82h     ; Can also be used to flush cache
  • trunk/XTIDE_Universal_BIOS/Inc/RomVars.inc

    r422 r437  
    139139;
    140140DEVICE_8BIT_JRIDE_ISA                   EQU (0<<1)  ; JR-IDE/ISA (must be 0)
    141 DEVICE_8BIT_FAST_XTIDE                  EQU (1<<1)  ; CPLD v2 project (must be 1 or 2)
     141DEVICE_8BIT_XTCF                        EQU (1<<1)  ; Lo-tech XT-CF
    142142DEVICE_8BIT_XTIDE_REV2                  EQU (2<<1)  ; Or rev 1 with swapped A0 and A3 (must be 1 or 2)
    143143DEVICE_8BIT_XTIDE_REV1                  EQU (3<<1)  ; Must be 4
  • trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeCommand.asm

    r432 r437  
    8686    call    Idepack_FakeToSSBP
    8787
     88    ; Enable 8-bit PIO mode for Lo-tech XT-CF
     89    call    AH9h_Enable8bitPioModeForXTCF
     90
    8891    ; Prepare to output Identify Device command
    8992    mov     dl, 1                       ; Sector count (required by IdeTransfer.asm)
  • trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH9h_HInit.asm

    r422 r437  
    125125    STORE_ERROR_FLAG_TO_DPT     FLG_INITERROR_FAILED_TO_INITIALIZE_CHS_PARAMETERS
    126126.SkipInitializeDeviceParameters:
     127
     128
     129;;; Enable 8-bit PIO Transfer Mode for Lo-tech XT-CF (CF and Microdrives only)
     130    call    AH9h_Enable8bitPioModeForXTCF
     131    STORE_ERROR_FLAG_TO_DPT     FLG_INITERROR_FAILED_TO_ENABLE_8BIT_PIO_MODE
    127132
    128133
     
    248253.NoErrorFlagToSet:
    249254    ret
     255
     256
     257;--------------------------------------------------------------------
     258; AH9h_Enable8bitPioModeForXTCF
     259;   Parameters:
     260;       DS:DI:  Ptr to DPT
     261;   Returns:
     262;       AH:     Int 13h return status
     263;       CF:     0 if successful, 1 if error
     264;   Corrupts registers:
     265;       AL, BX, CX, DX
     266;--------------------------------------------------------------------
     267AH9h_Enable8bitPioModeForXTCF:
     268    eMOVZX  bx, BYTE [di+DPT.bIdevarsOffset]
     269    cmp     BYTE [cs:bx+IDEVARS.bDevice], DEVICE_8BIT_XTCF
     270    je      SHORT .Enable8bitMode
     271    xor     ah, ah      ; Do nothing for this device
     272    ret
     273.Enable8bitMode:
     274    mov     si, FEATURE_ENABLE_8BIT_PIO_TRANSFER_MODE
     275    jmp     AH23h_SetControllerFeatures
Note: See TracChangeset for help on using the changeset viewer.