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.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/AccessDPT.asm

    r568 r588  
    9494;   Returns:
    9595;       AH:     Device Type
    96 ;       ZF:     Set if XTCF
    97 ;               Cleared if some other device
     96;       CF:     Cleared if XTCF
     97;               Set if some other device
    9898;   Corrupts registers:
    9999;       Nothing
     
    101101AccessDPT_IsThisDeviceXTCF:
    102102    mov     ah, [di+DPT_ATA.bDevice]
    103     cmp     ah, DEVICE_8BIT_XTCF_PIO8
    104     je      SHORT .DeviceIsXTCF
    105     cmp     ah, DEVICE_8BIT_XTCF_PIO8_WITH_BIU_OFFLOAD
    106     je      SHORT .DeviceIsXTCF
    107     cmp     ah, DEVICE_8BIT_XTCF_DMA
    108 .DeviceIsXTCF:
     103    cmp     ah, FIRST_XTCF_DEVICE
     104    jb      SHORT .DeviceIsNotXTCF
     105    cmp     ah, LAST_XTCF_DEVICE+1
     106    cmc
     107.DeviceIsNotXTCF:
    109108    ret
    110109%endif ; MODULE_8BIT_IDE_ADVANCED
Note: See TracChangeset for help on using the changeset viewer.