Changeset 588 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Inc


Ignore:
Timestamp:
Jun 3, 2015, 12:30:54 PM (9 years ago)
Author:
krille_n_@…
google:author:
krille_n_@hotmail.com
Message:

Changes:

  • Fixed a bug in AH24h_HSetBlocks.asm from r550. Trying to set a too large block size with an XT-CF card in DMA transfer mode would corrupt the stack.
  • Fixed a bug from r545 where the list of devices under g_szDeviceTypeValues in Strings.asm was no longer up to date causing the boot menu to display the wrong string for devices numbered higher than DEVICE_8BIT_XTCF_PIO8.
  • Made some fairly significant changes to the XT-CF code to reduce size. Two changes in functionality; 1) Added a simple check to validate the request for a change of the XT-CF transfer mode. 2) Changing transfer mode to use DMA no longer calls AH24h_SetBlockSize if the block size already is within the limits of DMA transfers. UNTESTED
  • XTIDECFG now clears IDEVARS.bIRQ when changing IDE controller to a serial device to keep the boot menu from displaying it since the serial device doesn't use IRQs at all.
  • Other minor optimizations.
Location:
trunk/XTIDE_Universal_BIOS/Inc
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Inc/Controllers/AdvancedID.inc

    r587 r588  
    2424; Low byte is controller specific to be used in controller initialization and such
    2525
    26 ID_NOT_ADVANCED_CONTROLLER  EQU 0
     26ID_NOT_ADVANCED_CONTROLLER  EQU     0
    2727
    2828; Promise
     
    3232; Vision
    3333; QDI Vision Controller Identification nibbles used by hardware so do not modify these
    34 ID_QD6580_ALTERNATE         EQU 0101b
    35 ID_QD6580                   EQU 1010b
    36 ID_QD6500                   EQU 1100b
     34ID_QD6580_ALTERNATE         EQU     5
     35ID_QD6580                   EQU     10
     36ID_QD6500                   EQU     12
    3737
    3838
  • trunk/XTIDE_Universal_BIOS/Inc/Controllers/XTCF.inc

    r584 r588  
    5454;
    5555; XT-CFv3 cannot be distinguished by software, so user must decide and set
    56 ; the mode via a call to Int 13h function 1Eh accordingly (see AH1E_XTCF.asm).
     56; the mode via a call to Int 13h function 1Eh accordingly (see AH1Eh_XTCF.asm).
    5757;
    58 XTCF_8BIT_PIO_MODE                  EQU     ((DEVICE_8BIT_XTCF_PIO8 >> 1) - XTCF_DEVICE_OFFSET)
    59 XTCF_8BIT_PIO_MODE_WITH_BIU_OFFLOAD EQU     (XTCF_8BIT_PIO_MODE + 1)
    60 XTCF_16BIT_PIO_WITH_BIU_OFFLOAD     EQU     (XTCF_8BIT_PIO_MODE + 2)    ; Lo-tech 8-bit IDE Adapter
    61 XTCF_DMA_MODE                       EQU     (XTCF_8BIT_PIO_MODE + 3)
     58XTCF_8BIT_PIO_MODE                  EQU     0   ; XT-CF using 8-bit PIO mode
     59XTCF_8BIT_PIO_MODE_WITH_BIU_OFFLOAD EQU     1   ; XT-CF using 8-bit PIO mode, but with 16-bit instructions
     60XTCF_16BIT_PIO_WITH_BIU_OFFLOAD     EQU     2   ; Lo-tech 8-bit IDE Adapter
     61XTCF_DMA_MODE                       EQU     3   ; XT-CFv3 using DMA
    6262
    6363
  • trunk/XTIDE_Universal_BIOS/Inc/RomVars.inc

    r584 r588  
    158158DEVICE_8BIT_XTIDE_REV2                  EQU ((COUNT_OF_STANDARD_IDE_DEVICES+2)<<1)  ; Or rev 1 with swapped A0 and A3
    159159; IDE Register offsets are SHL 1
    160 XTCF_DEVICE_OFFSET                      EQU 3
    161 DEVICE_8BIT_XTCF_PIO8                   EQU ((COUNT_OF_STANDARD_IDE_DEVICES+XTCF_DEVICE_OFFSET)<<1) ; XT-CF using 8-bit PIO mode
     160DEVICE_8BIT_XTCF_PIO8                   EQU ((COUNT_OF_STANDARD_IDE_DEVICES+3)<<1)  ; XT-CF using 8-bit PIO mode
    162161DEVICE_8BIT_XTCF_PIO8_WITH_BIU_OFFLOAD  EQU ((COUNT_OF_STANDARD_IDE_DEVICES+4)<<1)  ; XT-CF using 8-bit PIO mode, but with 16-bit instructions
    163162DEVICE_8BIT_XTCF_PIO16_WITH_BIU_OFFLOAD EQU ((COUNT_OF_STANDARD_IDE_DEVICES+5)<<1)  ; Lo-tech 8-bit IDE Adapter
     
    169168DEVICE_SERIAL_PORT                      EQU (COUNT_OF_ALL_IDE_DEVICES<<1)
    170169
    171 
     170FIRST_XTCF_DEVICE                       EQU DEVICE_8BIT_XTCF_PIO8
     171LAST_XTCF_DEVICE                        EQU DEVICE_8BIT_XTCF_DMA
     172XTCF_DEVICE_OFFSET                      EQU FIRST_XTCF_DEVICE                       ; Used for XT-CF device <--> mode conversion
    172173
    173174; Master/Slave drive specific parameters
Note: See TracChangeset for help on using the changeset viewer.