Changeset 536 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS_Configurator_v2


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_Configurator_v2/Src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Main.asm

    r526 r536  
    2727%include "IdeRegisters.inc"     ; Needed for port and device autodetection
    2828%include "JRIDE_ISA.inc"        ; For JR-IDE/ISA default segment
     29%include "ADP50L.inc"           ; For ADP50L default segment
    2930%include "XTCF.inc"             ; For XT-CF modes
    3031
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/IdeControllerMenu.asm

    r526 r536  
    214214    dw  DEVICE_8BIT_XTCF_MEMMAP
    215215    dw  DEVICE_8BIT_JRIDE_ISA
     216    dw  DEVICE_8BIT_ADP50L
    216217    dw  DEVICE_SERIAL_PORT
    217218g_rgszValueToStringLookupForDevice:
     
    225226    dw  g_szValueCfgDeviceMemXTCF
    226227    dw  g_szValueCfgDeviceJrIdeIsa
     228    dw  g_szValueCfgDeviceADP50L
    227229    dw  g_szValueCfgDeviceSerial
    228230
     
    381383    mov     bx, g_MenuitemIdeControllerControlBlockAddress
    382384    cmp     al, DEVICE_8BIT_XTCF_PIO8
    383     jb      SHORT .EnableMenuitemFromCSBX   ; Not needed for XT-CF and JR-IDE/ISA
     385    jb      SHORT .EnableMenuitemFromCSBX   ; Not needed for XT-CF, JR-IDE/ISA and ADP50L
    384386    jmp     SHORT .DisableMenuitemFromCSBX
    385387
     
    603605        cmp     al, DEVICE_8BIT_JRIDE_ISA
    604606        je      SHORT .ChangingToJrIdeIsa
     607        cmp     al, DEVICE_8BIT_ADP50L
     608        je      SHORT .ChangingToADP50L
    605609
    606610        ; Restore ports to default values
     
    620624
    621625.ChangingToJrIdeIsa:
    622         mov     ax, JRIDE_DEFAULT_SEGMENT_ADDRESS
     626        mov     ah, JRIDE_DEFAULT_SEGMENT_ADDRESS >> 8
     627        SKIP2B  bx
     628
     629.ChangingToADP50L:
     630        mov     ah, ADP50L_DEFAULT_BIOS_SEGMENT_ADDRESS >> 8
     631        xor     al, al
    623632        xor     bx, bx
    624633        jmp     SHORT .writeNonSerial
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Strings.asm

    r532 r536  
    228228g_szNfoIdeSlave:            db  "Settings for Slave Drive.",NULL
    229229g_szNfoIdeDevice:           db  "Select controller device type.",NULL
    230 g_szNfoIdeCmdPort:          db  "IDE Controller Command Block (base port) address or segment address for JR-IDE/ISA.",NULL
     230g_szNfoIdeCmdPort:          db  "IDE Controller Command Block (base port) address or segment address for JR-IDE/ISA and SVC ADP50L.",NULL
    231231g_szNfoIdeCtrlPort:         db  "IDE Controller Control Block address. Usually Cmd Block + 8 for XTIDE, and Cmd Block + 200h for ATA.",NULL
    232232g_szNfoIdeEnIRQ:            db  "Interrupt or polling mode.",NULL
     
    241241                            db  " By default the primary IDE controller uses port 1F0h and secondary controller uses port 170h."
    242242                            db  " XTIDE card uses port 300h by default."
    243                             db  " JR-IDE/ISA do not use ports but you need to set ROM space segment address for JR-IDE/ISA.",NULL
     243                            db  " JR-IDE/ISA and SVC ADP50L do not use ports but needs the ROM segment address set here instead.",NULL
    244244
    245245g_szHelpIdeCtrlPort:        db  "IDE controller Control Block address is normally Command Block address + 200h."
     
    282282                            db  "XT-CF v2 in memory mode",LF
    283283                            db  "JR-IDE/ISA",LF
     284                            db  "SVC ADP50L",LF
    284285                            db  "Serial port virtual device",NULL
    285286
     
    293294g_szValueCfgDeviceMemXTCF:  db  "XTCF MEM",NULL
    294295g_szValueCfgDeviceJrIdeIsa: db  "JR-ISA",NULL
     296g_szValueCfgDeviceADP50L:   db  "ADP50L",NULL
    295297g_szValueCfgDeviceSerial:   db  "Serial",NULL
    296298
Note: See TracChangeset for help on using the changeset viewer.