Changeset 584 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Device


Ignore:
Timestamp:
Apr 25, 2015, 7:17:41 PM (9 years ago)
Author:
aitotat
google:author:
aitotat
Message:

Changes to XTIDE Universal BIOS:

  • Added support for Lo-tech 8-bit IDE Adapter (untested)
Location:
trunk/XTIDE_Universal_BIOS/Src/Device/IDE
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeCommand.asm

    r545 r584  
    8989
    9090%ifdef MODULE_8BIT_IDE
    91     ; Enable 8-bit PIO mode for 8-bit ATA and XT-CF
    9291    push    si
     92
     93    ; Enable 8-bit PIO for DEVICE_8BIT_ATA (no need to verify device type here)
    9394    call    AH9h_Enable8bitModeForDevice8bitAta
     95
     96    ; Set XT-CF mode. No need to check here if device is XT-CF or not.
    9497%ifdef MODULE_8BIT_IDE_ADVANCED
    95     mov     al, XTCF_8BIT_PIO_MODE      ; initialise with most basic transfer mode
    96     call    AH9h_SetModeFromALtoXTCF
     98    call    AH1Eh_GetCurrentXTCFmodeToAX    ; Reads from DPT_ATA.bDevice that we just stored
     99    call    AH9h_SetModeFromALtoXTCF        ; Enables/disables 8-bit mode when necessary
    97100%endif ; MODULE_8BIT_IDE_ADVANCED
    98101    pop     si
     
    106109
    107110    ; Clean stack and return
    108 .FailedToSet8bitMode:
    109111    lea     sp, [bp+SIZE_OF_IDEPACK_WITHOUT_INTPACK]    ; This assumes BP hasn't changed between Idepack_FakeToSSBP and here
    110112    pop     bp
  • trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeTransfer.asm

    r568 r584  
    350350        dw      IdePioBlock_ReadFromXtideRev1       ; 3, DEVICE_8BIT_XTIDE_REV1
    351351        dw      IdePioBlock_ReadFrom16bitDataPort   ; 4, DEVICE_8BIT_XTIDE_REV2
     352%ifdef MODULE_8BIT_IDE_ADVANCED
    352353        dw      IdePioBlock_ReadFrom8bitDataPort    ; 5, DEVICE_8BIT_XTCF_PIO8
    353354        dw      IdePioBlock_ReadFrom16bitDataPort   ; 6, DEVICE_8BIT_XTCF_PIO8_WITH_BIU_OFFLOAD
    354 %ifdef MODULE_8BIT_IDE_ADVANCED
    355         dw      IdeDmaBlock_ReadFromXTCF            ; 7, DEVICE_8BIT_XTCF_DMA
     355        dw      IdePioBlock_ReadFrom16bitDataPort   ; 7, DEVICE_8BIT_XTCF_PIO16_WITH_BIU_OFFLOAD
     356        dw      IdeDmaBlock_ReadFromXTCF            ; 8, DEVICE_8BIT_XTCF_DMA
    356357%endif ; MODULE_8BIT_IDE_ADVANCED
    357358%endif ; MODULE_8BIT_IDE
     
    365366        dw      IdePioBlock_WriteToXtideRev1        ; 3, DEVICE_8BIT_XTIDE_REV1
    366367        dw      IdePioBlock_WriteToXtideRev2        ; 4, DEVICE_8BIT_XTIDE_REV2
     368%ifdef MODULE_8BIT_IDE_ADVANCED
    367369        dw      IdePioBlock_WriteTo8bitDataPort     ; 5, DEVICE_8BIT_XTCF_PIO8
    368370        dw      IdePioBlock_WriteTo16bitDataPort    ; 6, DEVICE_8BIT_XTCF_PIO8_WITH_BIU_OFFLOAD
    369 %ifdef MODULE_8BIT_IDE_ADVANCED
    370         dw      IdeDmaBlock_WriteToXTCF             ; 7, DEVICE_8BIT_XTCF_DMA
     371        dw      IdePioBlock_WriteTo16bitDataPort    ; 7, DEVICE_8BIT_XTCF_PIO16_WITH_BIU_OFFLOAD
     372        dw      IdeDmaBlock_WriteToXTCF             ; 8, DEVICE_8BIT_XTCF_DMA
    371373%endif ; MODULE_8BIT_IDE_ADVANCED
    372374%endif ; MODULE_8BIT_IDE
Note: See TracChangeset for help on using the changeset viewer.