Changeset 536 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Inc


Ignore:
Timestamp:
Apr 10, 2013, 6:27:15 PM (11 years ago)
Author:
krille_n_@…
google:author:
krille_n_@hotmail.com
Message:

Changes:

  • Added support for the Silicon Valley Computer ADP50L controller (and possibly other IDE controllers from SVC using memory mapped I/O). Please note that this has not been tested in any way since I don't have any of these cards myself (make backups before trying this on drives with important data). Also, *if* it works, make sure it works reliably (stress test the disk system). Some things you should know: 1) Autodetection for this controller has not been added to XTIDECFG, you need to manually select the "SVC ADP50L" controller (and possibly change the BIOS segment address if not using the default of C800h). 2) The memory mapped I/O window is inside the ROM address space of the controller. The XTIDE Universal BIOS currently do not support this so that means you need to use another ROM (for example, an XTIDE or XTCF card or the BOOT ROM of a NIC). This presents another problem, the original ADP50L BIOS needs to be disabled somehow to avoid conflicts. Either pull the ROM chip or disable the BIOS by removing jumper J3. Note, I have no idea if any of this will actually work. It's basically a shot in the dark.
Location:
trunk/XTIDE_Universal_BIOS/Inc
Files:
1 added
4 edited

Legend:

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

    r526 r536  
    3030    .bIdevarsOffset         resb    1   ; Offset to IDEVARS for this drive
    3131    .bInitError             resb    1   ; Flags for AH=09h initialization errors
    32     .wBasePort              resb    2   ; Segment for JR-IDE/ISA
     32    .wBasePort              resb    2   ; Segment for JR-IDE/ISA and ADP50L
    3333
    3434    ; CHS variables
  • trunk/XTIDE_Universal_BIOS/Inc/EBIOS.inc

    r535 r536  
    7474
    7575; Flags for DPTE.wFlags
    76 FLG_FAST_PIO_ENABLED        EQU (1<<0)  ; Set is using PIO mode 1 or above (DPTE.bPioMode is valid when set)
     76FLG_FAST_PIO_ENABLED        EQU (1<<0)  ; Set if using PIO mode 1 or above (DPTE.bPioMode is valid when set)
    7777FLG_DMA_ENABLED             EQU (1<<1)  ; Set if DMA enabled (DPTE.bDmaChannelAndType is valid when set)
    7878FLG_BLOCK_MODE_ENABLED      EQU (1<<2)  ; Set if Block Mode transfers are enabled (DPTE.bBlockSize is valid when set)
    7979FLG_CHS_TRANSLATION_ENABLED EQU (1<<3)  ; Set for drives with more than 1024 cylinders
    80 FLG_LBA_TRANSLATION_ENABLED EQU (1<<4)  ; Set when LBA addersses from DAP are passed directly to the drive
     80FLG_LBA_TRANSLATION_ENABLED EQU (1<<4)  ; Set when LBA addresses from DAP are passed directly to the drive
    8181FLG_REMOVABLE_MEDIA         EQU (1<<5)
    8282FLG_ATAPI_DEVICE            EQU (1<<6)
  • trunk/XTIDE_Universal_BIOS/Inc/ModuleDependency.inc

    r526 r536  
    3838    %include "XTCF.inc"             ; For Lo-tech XT-CF
    3939    %include "JRIDE_ISA.inc"        ; For JR-IDE/ISA
     40    %include "ADP50L.inc"           ; For SVC ADP50L
    4041%endif
    4142
  • trunk/XTIDE_Universal_BIOS/Inc/RomVars.inc

    r535 r536  
    122122STANDARD_CONTROL_BLOCK_OFFSET           EQU     200h
    123123XTIDE_CONTROL_BLOCK_OFFSET              EQU     8h
    124 XTCF_CONTROL_BLOCK_OFFSET               EQU     (XTIDE_CONTROL_BLOCK_OFFSET << 1)
     124XTCF_CONTROL_BLOCK_OFFSET               EQU     10h
     125ADP50L_CONTROL_BLOCK_OFFSET             EQU     10h
    125126
    126127; Default values for Port and PortCtrl, shared with the configurator
     
    146147;
    147148COUNT_OF_STANDARD_IDE_DEVICES           EQU 2   ; 16- and 32-bit controllers
    148 COUNT_OF_8BIT_IDE_DEVICES               EQU 7
     149COUNT_OF_8BIT_IDE_DEVICES               EQU 8
    149150COUNT_OF_ALL_IDE_DEVICES                EQU (COUNT_OF_8BIT_IDE_DEVICES + COUNT_OF_STANDARD_IDE_DEVICES)
    150151; Standard port mapped I/O
     
    161162; Memory Mapped I/O
    162163DEVICE_8BIT_JRIDE_ISA                   EQU ((COUNT_OF_STANDARD_IDE_DEVICES+6)<<1)  ; JR-IDE/ISA (Memory Mapped I/O)
     164DEVICE_8BIT_ADP50L                      EQU ((COUNT_OF_STANDARD_IDE_DEVICES+7)<<1)  ; SVC ADP50L (Memory Mapped I/O)
    163165; Virtual devices
    164166DEVICE_SERIAL_PORT                      EQU (COUNT_OF_ALL_IDE_DEVICES<<1)
Note: See TracChangeset for help on using the changeset viewer.