Changes between Version 4 and Version 5 of WikiStart


Ignore:
Timestamp:
Sep 13, 2020, 10:30:01 PM (4 years ago)
Author:
Krister Nordvall
Comment:

An attempt to bring this up to date (there's still a lot to do).

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v4 v5  
     1= Download =
     2XTIDE Universal BIOS can be downloaded from the [http://www.xtideuniversalbios.org/binaries/ Pre-built Binaries Download Centre].
     3
     4
    15= Introduction =
    26
    37XTIDE Universal BIOS makes it possible to use modern large ATA hard disks or Compact Flash cards on old PC's. You can then enjoy quiet or noiseless drives with more capacity than you'll ever need for old computers.
    48
    5 XTIDE Universal BIOS can be used on any IBM PC, XT, AT or 100% compatible system. On AT systems you can use any 16-bit ISA or VLB IDE or Multi I/O controller. For XT systems you can use XTIDE rev1 (not available anymore), [http://www.vcfed.org/forum/showthread.php?29202-XTIDE-Rev2] or [https://www.retrotronics.org/home-page/jride/].
     9XTIDE Universal BIOS can be used on any IBM PC, XT, AT or 100% compatible system. On AT systems you can use any 16-bit ISA or VLB IDE or Multi I/O controller. For XT systems you can use XTIDE rev1 (not available anymore), [http://www.vcfed.org/forum/showthread.php?29202-XTIDE-Rev2 XTIDE rev2] or [https://www.retrotronics.org/home-page/jride/ JR-IDE/ISA].
    610
    711== License ==
    812
    9 XTIDE Universal BIOS and associated tools are Copyright (C) 2009-2010 by Tomi Tilli, 2011-2012 by XTIDE Universal BIOS Team.
     13XTIDE Universal BIOS and associated tools are Copyright (C) 2009-2010 by Tomi Tilli, 2011-2020 by XTIDE Universal BIOS Team.
    1014
    1115This program is free software; you can redistribute it and/or modify
     
    2428Some of the features included in XTIDE Universal BIOS are...
    2529  * Supports up to 4 IDE controllers
    26   * Support for virtual drives via serial port, [SerialDrives more information]
     30  * Support for virtual drives via serial port
    2731  * Supports drives with any capacity (MS-DOS 7.x (Windows 9x) or FreeDOS is required to access more than 8.4 GB)
    2832  * PIO transfers with block mode support
    2933  * Hard disk autodetection
    3034  * Autodetected capacity, both CHS and LBA, can be overridden to make drive appear smaller than it actually is
    31   * Hotkeys and optional Boot menu (included in official 12k builds) for selecting any floppy drive or hard disk to boot from, including hard disks that are not handled by XTIDE Universal BIOS
     35  * Hotkeys and optional Boot menu (included in the large official builds) for selecting any floppy drive or hard drive to boot from, including drives that are not handled by XTIDE Universal BIOS
    3236  * Compact Flash and Microdrive support
    3337  * Support for most 8-, 16-, and 32-bit IDE controllers
     
    3842== Different builds ==
    3943
    40 XTIDE Universal BIOS includes many modules and features that are optional. It is not possible to include them all into 8k builds. Officially released builds include modules that benefits most people. You can quite easily make your own build to include the features that you need if you are not satisfied on the official builds.
     44XTIDE Universal BIOS is modular and has many optional features. It is not possible to include all features in the Small (8 kiB) builds. Officially released builds include the modules that benefits most people. You can quite easily make your own custom build from source to include only the features you need if you are not satisfied with the official builds.
    4145
    4246=== Modules included in officially released builds ===
     
    4549
    4650||File||Description||MODULE_8BIT_IDE_ADVANCED||MODULE_ADVANCED_ATA||MODULE_BOOT_MENU||MODULE_IRQ||ELIMINATE_CGA_SNOW||RELOCATE_INT13H_STACK||USE_186||USE_286||USE_AT||
     51||ide_tiny.bin||8088/8086 compatible 4 kiB XT build||-||-||-||-||√||-||-||-||-||
    4752||ide_xt.bin||8088/8086 compatible 8 kiB XT build||√||-||-||-||√||-||-||-||-||
    48 ||ide_xtp.bin||8 kiB XT+ build requiring 80188/80186 or better||√||-||-||-||√||-||√||-||-||
    49 ||ide_at.bin||8 kiB AT build requiring 286 or better||-||√||-||√||-||√||√||√||√||
    50 ||ide_xtl.bin||8088/8086 compatible 12 kiB XT build||√||-||√||-||√||-||-||-||-||
    51 ||ide_xtpl.bin||12 kiB XT+ build requiring 80188/80186 or better||√||-||√||-||√||-||√||-||-||
    52 ||ide_atl.bin||12 kiB AT build requiring 286 or better||√||√||√||√||-||√||√||√||√||
    53 
    54 All official builds include the following modules and features:
    55 MODULE_STRINGS_COMPRESSED, MODULE_HOTKEYS, MODULE_EBIOS, MODULE_SERIAL, MODULE_SERIAL_FLOPPY, MODULE_FEATURE_SETS and RESERVE_DIAGNOSTIC_CYLINDER
     53||ide_xtl.bin||8088/8086 compatible 10 kiB XT build||√||-||√||-||√||-||-||-||-||
     54||ide_xtp.bin||8 kiB XT+ build requiring 80188/80186/V20/V30 or better||√||-||-||-||√||-||√||-||-||
     55||ide_xtpl.bin||10 kiB XT+ build requiring 80188/80186/V20/V30 or better||√||-||√||-||√||-||√||-||-||
     56||ide_at.bin||8 kiB AT build requiring 286 or better||-||-||-||√||-||√||√||√||√||
     57||ide_atl.bin||10 kiB AT build requiring 286 or better||√||-||√||√||-||√||√||√||√||
     58||ide_386.bin||8 kiB AT build requiring 386 or better||-||√||-||√||-||√||√||√||√||
     59||ide_386l.bin||10 kiB AT build requiring 386 or better||√||√||√||√||-||√||√||√||√||
     60
     61All official builds, except the Tiny build, include the following modules and features:
     62MODULE_STRINGS_COMPRESSED, MODULE_HOTKEYS, MODULE_8BIT_IDE, MODULE_EBIOS, MODULE_SERIAL, MODULE_SERIAL_FLOPPY and MODULE_POWER_MANAGEMENT. For compatibility reasons they also include RESERVE_DIAGNOSTIC_CYLINDER, NO_ATAID_VALIDATION and CLD_NEEDED.
    5663
    5764----
     
    6774== Hardware supporting XTIDE Universal BIOS ROM ==
    6875
    69 The most convenient way to use XTIDE Universal BIOS is to use an [http://www.vintage-computer.com/vcforum/showwiki.php?title=XTIDE+Rev2 XTIDE card] or [http://www.lo-tech.co.uk/ Lo-tech XT-CF]. They can be used on any PC with a free 8-bit ISA slot. You might not want to connect any drives to them in 16- or 32-bit systems since 8-bit transfers will be very slow. Using the XTIDE card allows EEPROM flashing so it is really easy to update XTIDE Universal BIOS.
    70 
    71 Another option is to use any card with a free ROM socket for 8 kiB or larger ROMs. Official XTIDE builds are meant for 8 kiB and 16 kiB ROMs but you can burn it on a larger ROM if you append enough zeroes to the end (only append zeroes so checksum does not change). Many network cards have unused ROM sockets and there are also a few multi I/O cards and IDE controllers with ROM sockets. These cards remains fully usable even if you place a ROM with XTIDE Universal BIOS on them.
     76The most convenient way to use XTIDE Universal BIOS is to use an [http://www.vintage-computer.com/vcforum/showwiki.php?title=XTIDE+Rev2 XTIDE card] or [http://www.lo-tech.co.uk/ Lo-tech XT-CF]. They can be used on any PC with a free 8-bit ISA slot. You might not want to connect any drives to them in 16- or 32-bit systems since 8-bit transfers will be very slow. Using these cards allows in-system EEPROM programming so it is really easy to update XTIDE Universal BIOS.
     77
     78Another option is to use any card with a free option ROM socket. Official XUB builds are meant for 8 kiB or 16 kiB ROMs but you can use larger ROMs if you append enough zeroes to the end (only append zeroes so checksum does not change). Many network cards have unused ROM sockets and there are also a few multi I/O cards and IDE controllers with ROM sockets. These cards remain fully usable even if you place a ROM with XTIDE Universal BIOS on them.
    7279
    7380You don't need an EPROM/EEPROM programmer if you already have an XTIDE card. The XTIDE card can be used to flash additional EEPROMs (8 kiB 2864) that can then be moved to EPROM (8 kiB 2764) sockets.
     
    7683== Configuring and flashing ==
    7784
    78 The XTIDE Universal BIOS comes with a DOS utility called XTIDECFG.COM. It's primary purpose is to configure and flash the XTIDE Universal BIOS but it can also be used as a generic EEPROM flasher supporting EEPROM sizes up to 32 kiB. XTIDECFG.COM also allows saving changes to XTIDE Universal BIOS images for later programming with other devices or programming software.
     85The XTIDE Universal BIOS comes with a DOS utility called XTIDECFG.COM. Its primary purpose is to configure and flash the XTIDE Universal BIOS but it can also be used as a generic EEPROM flasher supporting EEPROM sizes up to 32 kiB. XTIDECFG.COM also allows saving changes to XTIDE Universal BIOS images for later programming with other devices or programming software.
    7986
    8087
     
    8895XTIDECFG.COM is intended to be user friendly. At the bottom of the screen appears quick information for each menu item. Pressing F1 displays more detailed help for menu items (some menu items do not have detailed help available). Up, Down, PgUp, PgDn, Home and End keys are used for menu navigation. Enter selects the highlighted menu item and Esc returns to the previous menu.
    8996
    90 Some menu items appear only when needed to make configuring easier.
     97Most menu items appear only when needed to make configuring easier.
    9198
    9299
    93100== Menu items on "Main Menu" ==
    94   * Copyright and License Information
    95     Displays just that.
    96   * Load BIOS from file
    97    Loads any (not just XTIDE Universal BIOS) file to be flashed.
    98   * Load BIOS from EEPROM
    99    Loads XTIDE Universal BIOS from EEPROM to be reconfigured if a supported version of the BIOS is found in the system.
    100   * Load old settings from EEPROM
    101    Loads current settings from EEPROM if a supported version of the XTIDE Universal BIOS is found in the system.
    102   * Configure XTIDE Universal BIOS
    103    This is for configuring the XTIDE Universal BIOS. This menu item appears only when a supported version of the BIOS is loaded.
    104   * Flash EEPROM
    105    This menu item appears when a file has been loaded.
     101  * Copyright and License Information[[BR]]
     102  Displays just that.
     103
     104  * Load BIOS from file[[BR]]
     105  Loads any (not just XTIDE Universal BIOS) file to be flashed.
     106
     107  * Load BIOS from EEPROM[[BR]]
     108  Loads XTIDE Universal BIOS from EEPROM to be reconfigured if a supported version of the BIOS is found in the system.
     109
     110  * Load old settings from EEPROM[[BR]]
     111  Loads current settings from EEPROM if a supported version of the XTIDE Universal BIOS is found in the system.
     112
     113  * Configure XTIDE Universal BIOS[[BR]]
     114  This is for configuring the XTIDE Universal BIOS. This menu item appears only when a supported version of the BIOS is loaded.
     115
     116  * Flash EEPROM[[BR]]
     117  This menu item appears when a file has been loaded.
     118
    106119  * Save BIOS back to original file
    107   * Exit to DOS
    108    Exits to DOS. If you have made configuration changes, then a dialog will be displayed asking if you want to save them. You can also exit to DOS by pressing Esc at the main menu.
    109   * Web Links
     120
     121  * Exit to DOS[[BR]]
     122  If you have made configuration changes, then a dialog will be displayed asking if you want to save them. You can also exit to DOS by pressing Esc at the main menu.
     123
     124  * Web Links[[BR]]
     125  Displays links to this site and to the vcfed.org forum where additional support is available if needed.
    110126
    111127== Menu items on "Flash EEPROM" submenu ==
    112128  * Start flashing
    113   * EEPROM type [default=2864]
    114    Selects EEPROM type. XTIDE rev1 uses 2864 (8 kiB) EEPROM. Select 2864mod if you have done the A0-A3 address line swap mod (aka the Chuck(G) mod) to your XTIDE card.
    115   * SDP command [default=Enable]
    116    Selects Software Data Protect command to be written before every page. You should set it to Enable if the EEPROM supports SDP.
    117   * Page size [default=1]
    118    Larger page sizes makes flashing faster. You'll probably want to select the largest that your EEPROM supports. Slow XT systems might not be fast enough for large page sizes.
    119   * EEPROM address [default=D000h]
    120    Segment address where the EEPROM is located. Supported versions of XTIDE Universal BIOS will be detected automatically.
    121   * Generate checksum byte [default=Yes]
    122    This option will generate a checksum byte at the end of the EEPROM. You'll want to enable this if you have done any changes to the XTIDE Universal BIOS settings.
     129
     130  * EEPROM type [default=2864][[BR]]
     131  Selects EEPROM type. XTIDE rev1 uses 2864 (8 kiB) EEPROM. Select 2864mod if you have done the A0-A3 address line swap modification (aka the Chuck(G) mod) to your XTIDE card.
     132
     133  * SDP command [default=Enable][[BR]]
     134  Selects Software Data Protect command to be written before every page. You should set this to Enable if the EEPROM supports SDP.
     135
     136  * Page size [default=1][[BR]]
     137  Larger page sizes makes flashing faster. You will probably want to select the largest that your EEPROM supports. Slow XT systems might not be fast enough for large page sizes.
     138
     139  * EEPROM address [default=D000h][[BR]]
     140  Segment address where the EEPROM is located. Supported versions of XTIDE Universal BIOS will be detected automatically.
     141
     142  * Generate checksum byte [default=Yes][[BR]]
     143  This option will generate a checksum byte at the end of the EEPROM. You'll want to enable this if you have done any changes to the XTIDE Universal BIOS settings. Note that for Small builds (8 kiB) the checksum is actually 3 bytes. This is required for compatibility with the 3Com 3C503 network interface card.
    123144
    124145== Menu items on "Configure XTIDE Universal BIOS" submenu ==
    125146  * Back to Main Menu
    126   * Primary IDE Controller
    127   * Secondary IDE Controller
    128   * Tertiary IDE Controller
    129   * Quaternary IDE Controller
    130    Each "xxx IDE Controller" submenu displays IDE controller specific settings. "IDE controllers" menu item specifies the visible "xxx IDE Controller" submenus.
    131   * Boot settings
    132    Opens submenu for boot related settings such as should boot menu be enabled etc.
    133   * `*`Auto Configure
    134    Tries to automatically detect controllers and sets settings accordingly.
    135   * Full operating mode [default=No for XT builds, not available for AT builds]
    136    "Full operating mode" reserves a bit of Conventional memory for XTIDE Universal BIOS variables. Disabling this will reduce the maximum number of supported IDE controllers to 2 and place the variables in a memory area reserved for IBM ROM Basic (30:0h). You should always enable this option unless:
    137     # You don't need to use IBM ROM Basic or any BIOS or software that requires that memory area.
    138     # You have a Tandy 1000 with 640k or less RAM (see "kiB to steal from RAM" for a way around this problem).
    139     # You really need the 1k of Conventional memory that "Full operating mode" requires.
    140   * kiB to steal from RAM [default=1]
    141    This menu item will appear only when "Full operating mode" is enabled. Leave it at the default unless you need to enable "Full operating mode" on Tandy 1000 models with 640k or less RAM. Setting this to 33 (almost always enough) or 65 (always enough) will reserve the top of RAM to Tandy video circuitry in addition to the XTIDE Universal BIOS variables thus avoiding a conflict between the two.
    142   * IDE controllers [default=1 for XT builds, 2 for AT builds]
    143    Number of IDE controllers to be searched by XTIDE Universal BIOS. The maximum is 4 if "Full operating mode" is enabled. Otherwise the maximum is 2.
    144   * Power Management [default=Disabled]
    145    This menu item opens up a submenu where you can select the amount of time before idling harddrives should enter standby mode (i.e. stop spinning). This setting applies only to drives controlled by XTIDE Universal BIOS and requires that the drive(s) supports the Power Management feature set. Harddrives that do not support Power Management (only very old drives) will just keep spinning. Note that this option is not available if the BIOS has been built without MODULE_FEATURE_SETS.
     147
     148  * Primary/Secondary/Tertiary/Quaternary IDE Controller[[BR]]
     149  Each "xxx IDE Controller" submenu displays IDE controller specific settings. Note that "IDE controllers" menu item below specifies the number of visible "xxx IDE Controller" submenus.
     150
     151  * Boot settings[[BR]]
     152  Opens a submenu for boot related settings such as display mode, etc.
     153
     154  * `*`Auto Configure[[BR]]
     155  Tries to automatically detect controllers and sets settings accordingly. Note that a drive must be attached to each controller for the autodetection to work.
     156
     157  * Full operating mode [default=No for XT builds, not available for AT builds][[BR]]
     158  "Full operating mode" reserves a bit of Conventional memory for XTIDE Universal BIOS variables. Disabling this will reduce the maximum number of supported IDE controllers to 2 and place the variables in a memory area reserved for IBM ROM Basic (30:0h). You should always enable this option unless:[[BR]]
     159     * You don't need to use IBM ROM Basic or any BIOS or software (e.g. Turbo BASIC) that requires that memory area.
     160     * You have a Tandy 1000 with 640k or less RAM (see "kiB to steal from RAM" for a way around this problem).
     161     * You really need the 1 kiB of Conventional memory that "Full operating mode" requires.
     162
     163  * kiB to steal from RAM [default=1][[BR]]
     164  This menu item will appear only when "Full operating mode" is enabled. Leave it at the default unless you need to enable "Full operating mode" on Tandy 1000 models with 640k or less RAM. Setting this to 33 (almost always enough) or 65 (always enough) will reserve the top of RAM to Tandy video circuitry in addition to the XTIDE Universal BIOS variables thus avoiding a conflict between the two.
     165
     166  * IDE controllers [default=1 for XT builds, 2 for AT builds][[BR]]
     167  Number of IDE controllers to be searched by XTIDE Universal BIOS. The maximum is 4 if "Full operating mode" is enabled. Otherwise the maximum is 2.
     168
     169  * Power Management [default=Disabled][[BR]]
     170  This menu item opens up a submenu where you can select the amount of time before idling harddrives should enter standby mode (i.e. stop spinning). This setting applies only to drives controlled by XTIDE Universal BIOS and requires that the drive(s) supports the Power Management feature set. Harddrives that do not support Power Management (only very old drives) will just keep spinning. Note that this option is not available if the BIOS has been built without MODULE_POWER_MANAGEMENT.
    146171
    147172=== Menu items on "Boot settings" submenu ===
    148   * Display Mode [default=Default]
    149    This setting allows you to force a display mode change before the boot menu is displayed. This setting will work even if the boot menu has been disabled and will leave the specified display mode set when booting to the OS. Forcing the display mode can be handy if you have a composite monitor (use 40 column modes for better readability) or a black&white VGA monitor (use 80 column black&white mode for better readability).
    150   * Number of Floppy Drives [default=Auto]
    151    In some systems the number of floppy drives cannot be reliably autodetected. This setting allows you to specify it manually so all drives can be displayed on the boot menu.
    152   * Scan for Serial Devices [default=No]
    153    When enabled, the BIOS will scan COM1-7 for a Serial Drive server at the end of standard drive detection. Even without this option enabled, holding down the ALT key at the end of drive detection will accomplish the same thing (useful for bootstrapping scenarios). The BIOS will display "Serial Master on COM Detect:" while it is scanning. See the [SerialDrives Serial Drive] documentation for more information.
    154   * Default boot drive [default=80h]
    155    Specifies what drive is booted by default unless user selects other drive using hotkeys or boot menu. The default of 80h means the first hard drive in the system. 00h means first floppy drive in the system if you want floppy drive A to be first.
    156   * Selection timeout [default=540]
    157    Appears only if boot menu is included in the build.
    158    Specifies the duration in timer ticks before the default boot drive is automatically selected. 1 tick = 54.9 ms so the default of 540 is about 30 seconds.
    159 
     173  * Display Mode [default=Default][[BR]]
     174  This setting allows you to force a display mode change before the boot menu is displayed. This setting will work even if there is no boot menu and will leave the specified display mode set when booting to the OS. Forcing the display mode can be handy if you have a composite monitor (use 40 column modes for better readability) or a Black & White VGA monitor (use 80 column Black & White mode for better readability).
     175
     176  * Color Theme [default=Classic][[BR]]
     177  This option is available only in builds with MODULE_BOOT_MENU. It lets you customize the colors used for the boot menu (and hotkey bar, if available) by selecting one of a number of pre-defined themes.
     178
     179  * Number of Floppy Drives [default=Auto][[BR]]
     180  In some systems the number of floppy drives cannot be reliably autodetected. This setting allows you to specify it manually so all drives can be displayed on the boot menu.
     181
     182  * Scan for Serial Drives [default=No][[BR]]
     183  When enabled, the BIOS will scan COM1-7 for a Serial Drive server at the end of standard drive detection. Even without this option enabled, holding down the ALT key at the end of drive detection will accomplish the same thing (useful for bootstrapping scenarios). The BIOS will display "Serial Master on COM Detect:" while it is scanning. See the [SerialDrives Serial Drive] documentation for more information.
     184
     185  * Default boot drive [default=80h][[BR]]
     186  Specifies the drive to boot from by default if the user doesn't select a drive using the hotkeys or the boot menu. The default of 80h means the first hard drive in the system, 81h means the second, and so on. 00h means the first floppy drive and 01h means the second, etc. This menu option is only available on interactive builds, i.e. builds that contain either one or both of MODULE_BOOT_MENU and MODULE_HOTKEYS. Non-interactive builds (e.g. the Tiny build) will always attempt to boot from drive A: first, then drive C:.
     187
     188  * Selection timeout [default=546][[BR]]
     189  Appears only if MODULE_BOOT_MENU is included in the build. Specifies the duration in timer ticks before the default boot drive is automatically selected. 1 tick = 54.9 ms so the default of 546 is about 30 seconds.
     190
     191  * Remove other hard drives [default=No on the AT-builds, Yes on the 386-builds][[BR]]
     192  This option is not available on XT-builds as it exists only to improve compatibility with Windows 95 and Windows 98.
    160193
    161194=== Menu items on "xxx IDE Controller" submenus ===
    162   * Back to Configuration Menu
    163    Moves back to "Configure XTIDE Universal BIOS" submenu.
    164   * Master Drive
    165   * Slave Drive
    166    Opens submenu for Master/Slave Drive specific settings for this IDE Controller.
    167   * Device Type [default=XTIDE for XT builds, 16-bit for AT builds]
    168     Following devices are supported:
    169     * 16-bit ISA/VLB/PCI IDE [default for AT builds]
    170       32-bit mode will be automatically enabled when supported VLB/PCI controller is detected.
    171     * 32-bit VLB/PCI IDE
    172       For those 32-bit controllers that do not require software support (PIO mode is set with jumpers). Can be used with all 32-bit controllers but PIO mode is 0 just like on 16-bit controllers.
    173     * 16-bit ISA IDE in 8-bit mode
    174       Allows to use 16-bit IDE controllers on XT systems. This will require drive that supports 8-bit transfers (CF card and Microdrives all support 8-bit mode).
    175     * XTIDE rev 1 [default for XT builds]
    176     * XTIDE rev 2 or modded rev 1
    177       XTIDE with A0 and A3 address lines swapped.
    178     * XT-CF v2/v3/Lite in PIO mode
    179     * XT-CF v2 in DMA mode
    180     * XT-CF v2 in memory mode
    181     * JR-IDE/ISA
    182     * Serial port virtual device
    183       Note that a serial port controller must be the last configured IDE controller. XTIDECFG will automatically move any serial ports to the end of the list if needed. This is done so that serial floppy disks, if any are present, will be last on the list of drives detected.
    184   * Base (cmd block) address [default=300h for XT builds, 1F0h (Primary IDE) and 170h (Secondary IDE) for AT builds]
    185    Command block (base port) address where the IDE Controller is located. JR-IDE/ISA does not use this setting.
    186   * Control block address [default=308h for XT builds, 3F0h/370h for AT builds]
    187    Set to base port + 8h for XTIDE rev1, rev2 and Lo-tech XT-CF. Set to base port + 200h for standard IDE controllers. JR-IDE/ISA does not use this setting.
    188   * Enable interrupt [default=no]
    189    Enables interrupt but it does not offer any benefit for MS-DOS. Do not enable unless you know you need it.
    190   * IRQ [default=14 for Primary IDE, 15 for Secondary IDE]
    191    Appears only when MODULE_IRQ is available.
    192    IRQ channel to use for IDE controllers.
    193   * COM Port [default=COM1]
    194     Appears only when serial port virtual device is selected.
    195   * Baud Rate [default=38.4K]
    196     Appears only when serial port virtual device is selected.
     195  * Back to Configuration Menu[[BR]]
     196  Moves back to "Configure XTIDE Universal BIOS" submenu.
     197
     198  * Master/Slave Drive[[BR]]
     199  Opens up a submenu for Master/Slave Drive specific settings for this IDE controller.
     200
     201  * Device Type [default=Varies depending on BIOS build options][[BR]]
     202  Some of the IDE controllers supported by XTIDE Universal BIOS can use several data transfer modes so the device types listed below are in many cases just different transfer modes. The following device types are available depending on build options:
     203    * 16-bit ISA/VLB/PCI IDE [default on AT-builds][[BR]]
     204    This device type is available in all builds. If MODULE_ADVANCED_ATA is included in the BIOS, then 32-bit mode will be automatically enabled when a supported VLB/PCI controller is detected.
     205    * 32-bit VLB/PCI IDE[[BR]]
     206    For those 32-bit controllers that do not require software support (PIO mode is set with jumpers). Can be used with all 32-bit controllers but PIO mode is 0 just like on 16-bit controllers. Requires MODULE_ADVANCED_ATA.
     207    * 16-bit ISA IDE in 8-bit mode[[BR]]
     208    Allows use of 16-bit IDE controllers on XT systems. This will require a drive that supports 8-bit transfers (Compact Flash cards and Microdrives all support 8-bit mode). Requires MODULE_8BIT_IDE.
     209    * XTIDE rev 1 [default for XT-builds without MODULE_8BIT_IDE_ADVANCED][[BR]]
     210    Use this option if you have an XTIDE rev 2, 3 or 4 set to Compatibility mode or if you have a rev 1 card without the Chuck(G) mod. Requires MODULE_8BIT_IDE.
     211    * XTIDE rev 2 or modded rev 1[[BR]]
     212    XTIDE with A0 and A3 address lines swapped. Use this option if you have an XTIDE rev 2, 3 or 4 set to High Speed mode or if you have a rev 1 card with the Chuck(G) mod. Requires MODULE_8BIT_IDE.
     213    * XTIDE rev 2 (Olivetti M24)[[BR]]
     214    Same as above except this must be used when the XTIDE card is installed in any of the following machines: Olivetti M24, AT&T PC6300, Xerox 6060, Logabax Persona 1600. Requires MODULE_8BIT_IDE.
     215    * XT-CF PIO8 [default for XT-builds with MODULE_8BIT_IDE_ADVANCED][[BR]]
     216    The slowest but also the most compatible device type/transfer mode for use with any of the Lo-tech boards. Requires MODULE_8BIT_IDE_ADVANCED.
     217    * XT-CF PIO8 (BIU offload)[[BR]]
     218    Requires MODULE_8BIT_IDE_ADVANCED.
     219    * XT-CF PIO16 (BIU offload)[[BR]]
     220    Requires MODULE_8BIT_IDE_ADVANCED.
     221    * XT-CF DMA (v3 only)[[BR]]
     222    Requires MODULE_8BIT_IDE_ADVANCED.
     223    * JR-IDE/ISA[[BR]]
     224    Requires MODULE_8BIT_IDE_ADVANCED.
     225    * SVC ADP50L[[BR]]
     226    Requires MODULE_8BIT_IDE_ADVANCED.
     227    * Serial port virtual device[[BR]]
     228    Note that a serial port controller must be the last configured IDE controller. XTIDECFG will automatically move any serial port devices to the end of the list if needed. This is done so that serial floppy disks, if any are present, will be last on the list of drives detected. This device type requires MODULE_SERIAL for serial harddrive support and, in addition to that, also MODULE_SERIAL_FLOPPY for serial floppy support.
     229
     230  * Base (cmd block) address [default=300h for XT-builds, 1F0h/170h/1E8h/168h for AT-builds][[BR]]
     231  Command block (base port) I/O-address where the IDE controller is located. The JR-IDE/ISA and SVC ADP50L controllers use memory mapped I/O, not port I/O, so for these controllers the ROM segment address as configured with switches or jumpers on the card should be set here instead. Note that this is not necessarily the same segment address as the XTIDE Universal BIOS has been installed into.
     232  * Control block address [default=308h for XT-builds, 3F0h/370h/3E8h/368h for AT-builds][[BR]]
     233  Set to base port + 8h for XTIDE rev1, rev2 and Lo-tech XT-CF. Set to base port + 200h for standard IDE controllers.
     234  * Enable interrupt [default=Yes on Primary and Secondary IDE interfaces on AT-builds, No on everything else][[BR]]
     235  Enables use of interrupts instead of polling when transferring data. Does not offer any benefit for single-tasking operating systems like DOS and will actually lower the performance on machines with a fast drive and a slow CPU (i.e. where the CPU is the bottleneck like on most vintage machines using flash-based storage). Do not enable this unless you know you need it. This option appears only when MODULE_IRQ is available.
     236  * IRQ [default=14 for Primary IDE, 15 for Secondary IDE][[BR]]
     237  IRQ channel to use for this IDE controller. Appears when Enable interrupt is set to Yes.
     238  * COM Port [default=COM1][[BR]]
     239  Appears only when Serial port virtual device is selected.
     240  * Baud Rate [default=9600][[BR]]
     241  Appears only when Serial port virtual device is selected.
    197242
    198243=== Menu items for "Master/Slave Drive" submenus ===
    199   * Back to IDE Controller Menu
    200   * Block Mode Transfers [default=Yes]
    201    Block Mode Transfers will speed up the transfer rates. This should be left enabled but there is at least one old hard drive with buggy block mode support when interrupts are enabled (Quantum, maybe 100MB).
    202   * CHS Translation Method [default=Auto]
    203     The NORMAL/LARGE/LBA selection seen on many BIOSes. Leave this to Auto unless you want this to be the same you are using on some other BIOS.
    204   * Internal Write Cache [default=Disabled]
    205    This should be left disabled unless you know what you are doing! Improper use of write cache can cause data corruption.
    206   * User specified CHS [default=no]
    207    Specify CHS parameters manually. This will force the drive to CHS addressing and EBIOS functions will be disabled. Specifying CHS manually makes the drive incompatible with other BIOSes unless they are specified to use the same CHS parameters.
    208   * User specified LBA [default=no]
    209    Specify drive capacity manually (starting from 8.4 GB). All versions of MS-DOS 7.x (Windows 9x) seem to have compatibility problems with very large drives so you might need to reduce drive capacity. Use FreeDOS if you want to use full capacity of the drive.
    210   * Cylinders, Heads and Sectors per track
    211    These will appear when "User specified CHS" is enabled. Maximum values of 16383 Cylinders, 16 Heads and 63 Sectors per track will provide a capacity of 7.8 GiB/8.4 GB, the maximum that MS-DOS 3.31 to 6.22 supports. Note that this will force CHS addressing so once formatted, there will be data corruption if you try to access the drive with systems using LBA addressing.
    212   * Millions of sectors
    213    This will appear when "User specified LBA" is enabled. You can specify the drive capacity in millions of sectors. Note that MS-DOS 7.x (Windows 9x) or FreeDOS is required to access more than 7.8 GiB/8.4 GB.
     244  * Back to IDE Controller Menu[[BR]]
     245  * Block Mode Transfers [default=Yes][[BR]]
     246  Block Mode Transfers will increase performance by speeding up transfer rates. Normally this should be enabled but there are some hard drives out there with a buggy block mode implementation. For example, the Quantum ProDrive LPS 340A will not work correctly with Block Mode Transfers enabled in polling mode (i.e. with Enable interrupt set to No).
     247  * CHS Translation Method [default=Auto][[BR]]
     248  The NORMAL/LARGE/LBA selection seen on many BIOSes. Leave this to Auto unless you want this to be the same you are using on some other BIOS.
     249  * Internal Write Cache [default=Disabled][[BR]]
     250  This should be left disabled unless you know what you are doing! Improper use of write cache can cause data corruption.
     251  * User specified CHS [default=No][[BR]]
     252  Specify CHS parameters manually. This will force the drive to CHS addressing and EBIOS functions will be disabled. Specifying CHS manually makes the drive incompatible with other BIOSes unless they are specified to use the same CHS parameters.
     253  * User specified LBA [default=No][[BR]]
     254  Specify drive capacity manually (starting from 8.4 GB). All versions of MS-DOS 7.x (Windows 9x) seem to have compatibility problems with very large drives so you might need to reduce drive capacity. Use FreeDOS if you want to use full capacity of the drive.
     255  * Cylinders, Heads and Sectors per track[[BR]]
     256  These will appear when "User specified CHS" is enabled. Maximum values of 16383 Cylinders, 16 Heads and 63 Sectors per track will provide a capacity of 7.8 GiB/8.4 GB, the maximum that MS-DOS 3.31 to 6.22 supports. Note that this will force CHS addressing so once formatted, there will be data corruption if you try to access the drive with systems using LBA addressing.
     257  * Millions of sectors[[BR]]
     258  This will appear when "User specified LBA" is enabled. You can specify the drive capacity in millions of sectors. Note that MS-DOS 7.x (Windows 9x) or FreeDOS is required to access more than 7.8 GiB/8.4 GB.
    214259
    215260----
    216261= Hotkeys =
    217262
    218 You will see Hotkeybar at the top of screen during drive detection. Hotkeys are available during that time and selected hotkeys will be displayed on the Hotkeybar.
     263If MODULE_HOTKEYS is included in the BIOS then the Hotkey bar will appear at the top of the screen during drive detection.
    219264
    220265Keys A to Z work as hotkeys for drives to select as boot device. Hotkeys have another benefit: they allow the installation of DOS from any floppy drive to any hard disk. For example if you want to install DOS from floppy drive B to Hard Drive D then first press D and then B. The last drive selected is always the drive to boot from.
    221266
    222 F2 displays boot menu (available only if MODULE_BOOT_MENU is available).
    223 
    224 F6 will search for virtual serial drives on COM ports 1-7 at the end of standard drive detection (available only if MODULE_SERIAL is available).
     267F2 displays the Boot Menu (available only if MODULE_BOOT_MENU is included in the BIOS).
     268
     269F6 will search for virtual serial drives on COM ports 1-7 at the end of standard drive detection (available only if MODULE_SERIAL is included).
    225270
    226271F8 calls software interrupt 18h. This starts IBM ROM Basic, ROM DOS or displays an error message from the motherboard BIOS when there is no ROM to boot from.
    227272
    228 
    229273== Drive swapping ==
    230274
    231 DOS requires that it is loaded from the first floppy drive (00h) or the first hard disk (80h) in the system. XTIDE Universal BIOS translates drive numbers to make booting possible from any floppy drive or hard disk. Drive number translation is implemented with a simple swapping method: selected drive will be swapped with first drive and vice versa. For example drive 81h (Second hard drive) would be translated to 80h (First hard drive) and 80h would be translated to 81h. Drive swapping for floppy drives and hard disks are handled separately to make possible to install DOS from any floppy drive to any hard disk.
    232 
    233 ----
    234 = Boot menu =
    235 
    236 Using the boot menu is optional and it is not included in official 8 kiB builds. Boot menu does not offer any more functionality than hotkeys except to display drive information. Drive can be selected with Up and Down arrows. Home, End, PgUp and PgDn keys can speed up selection if there are many drives in the boot menu. Press Enter to boot from selected drive.
     275DOS requires that it is loaded from the first floppy drive (00h) or the first hard disk (80h) in the system. XTIDE Universal BIOS translates drive numbers to make booting possible from any floppy drive or hard disk. Drive number translation is implemented with a simple swapping method: selected drive will be swapped with first drive and vice versa. For example drive 81h (Second hard drive) would be translated to 80h (First hard drive) and 80h would be translated to 81h. Drive swapping for floppy drives and hard disks are handled separately to make it possible to install DOS from any floppy drive to any hard disk.
     276
     277----
     278= Boot Menu =
     279
     280Using the Boot Menu is optional and it is only included in the Large official builds. It does not offer any more functionality than Hotkeys except to display drive information. Drives can be selected with Up and Down arrows. Home, End, PgUp and PgDn keys can speed up selection if there are many drives in the menu. Press Enter to boot from selected drive. Note! Some people want the Boot Menu to be displayed automatically without pressing F2 - this is the way older versions of XTIDE Universal BIOS behaved. In such a scenario creating a custom build with MODULE_BOOT_MENU but without MODULE_HOTKEYS will have the desired effect of an always-on Boot Menu.
    237281
    238282== Boot menu drive information ==
    239283
    240 The boot menu can display a little bit of information about the drive:
    241 
    242   * Capacity
    243    This shows the drive capacity. This is the same as reported by the drive unless you have specified CHS or LBA manually. Capacity is read from INT 13h AH=08h for drives not handled by XTIDE Universal BIOS.
    244   * Addr.
    245    This shows the current addressing mode:
     284The Boot Menu can display a little bit of information about the drive:
     285
     286  * Capacity[[BR]]
     287  This shows the drive capacity. This is the same as reported by the drive unless you have specified CHS or LBA manually. Capacity is read from INT 13h AH=08h for drives not handled by XTIDE Universal BIOS.
     288  * Addr.[[BR]]
     289  This shows the current addressing mode:
    246290    * NORMAL is used for drives with 1024 or less cylinders (504 MiB / 528 MB and smaller drives). NORMAL is the fastest mode since no address translations are required.
    247291    * LARGE is used for drives with 1025...8192 cylinders. LARGE addressing mode L-CHS parameters are generated with Revised Enhanced CHS calculation algorithm. LARGE addressing mode can use LBA if drive supports it.
    248292    * LBA is used for drives with 8193 or more cylinders and LBA support. L-CHS parameters are generated with Assisted LBA algorithm.
    249   * Block
    250    Shows the maximum number of sectors supported in a single multi-sector transfer. The larger the better. 1 means that block mode is disabled or not supported. CF cards usually supports block mode commands but do not allow blocks larger than 1 sector.
    251   * Bus
    252    Shows the bus/device type configured in "Device Type" menu item on "xxx IDE Controller" submenu.
    253   * IRQ
    254    Shows the IRQ channel if enabled.
    255   * Reset
    256    Shows the status from drive initialization. This should always be zero. If it is something else, then something has gone wrong.
     293  * Block[[BR]]
     294  Shows the maximum number of sectors supported in a single multi-sector transfer. The larger the better. 1 means that block mode is disabled or not supported. CF cards usually supports block mode commands but do not allow blocks larger than 1 sector.
     295  * Bus[[BR]]
     296  Shows the bus/device type configured in "Device Type" menu item on "xxx IDE Controller" submenu.
     297  * IRQ[[BR]]
     298  Shows the IRQ channel if enabled.
     299  * Reset[[BR]]
     300  Shows the status from drive initialization. This should always be zero. If it is something else, then something has gone wrong.
    257301
    258302----
     
    260304
    261305== MS-DOS DIR command takes a very long time ==
    262 This is completely normal on systems with slow CPUs and large partitions. Calculating free space is simply a very slow process in such cases.
    263 
    264 It was very rare to have partitions larger than 32 MiB on XT systems so there weren't long delays then. Now XTIDE and JR-IDE/ISA makes it possible to use very large modern drives on such slow systems. MS-DOS 3.31 allows partitions up to 512 MiB and MS-DOS 4.00 to 6.22 allows partitions up to 2 GiB. Those are enormous sizes for XT systems and the slow 8088 or even the V20 take some time to calculate the free space on FAT file systems.
     306This is completely normal on systems with slow CPUs and a large number of clusters in the drive's File Allocation Table (FAT). Calculating free space is simply a very slow process in such cases.
     307
     308It was very rare to have partitions larger than 32 MiB on XT systems so there weren't long delays then. With XTIDE Universal BIOS it is now possible to use very large drives on such slow systems. MS-DOS 3.31 allows partitions up to 512 MiB and MS-DOS 4.00 to 6.22 allows partitions up to 2 GiB. Those are enormous sizes for XT systems and the slow 8088 or even the V20 takes a considerable amount of time to calculate the free space on such large file systems.
    265309
    266310It might be a good idea to use a small partition for OS and frequently used utilities and large partition(s) for games and less needed data. You should experiment with what size feels the best for the small partition. Please do let me know the results if you do some testing.
     
    268312It is very likely that this same problem will occur if you decide to use MS-DOS 7.x (Windows 9x) or FreeDOS and a large FAT32 partition on a slow 386 or even 486.
    269313
    270 
    271 == Smartdrive can slow down transfer rates ==
    272 When smartdrive or other cache program is used, data is read from drive to RAM area used by the cache program. Then it is copied to the program RAM area. If same data is required again it is found from the cache. Reading from cache is a lot faster than reading from drive, especially when the drive is old.
     314== SmartDrive can slow down transfer rates ==
     315When SmartDrive or other disk caching programs are used, data is read from drive to RAM area used by the cache program. Then it is copied to the program RAM area. If same data is required again it is found in the cache. Reading from cache is a lot faster than reading from drive, especially when the drive is old and slow.
    273316
    274317Modern drives are a lot faster and they have very large internal caches and data prefetch abilities. Modern drives are so fast on old computers that the extra CPU usage required by caching programs slow down more than reading directly from drive, at least with slow CPUs and small caches.
    275318
    276319Don't assume that disk caching makes things faster. Always test it first.
    277 
    278320
    279321== Importance of Shadow RAM ==
     
    284326So always enable Shadow RAM to copy the ROM to RAM to get full bus width and you might also want to enable cache for ROM areas to compensate for RAM latencies and slower clock rate. The Shadow RAM is the more important of the two.
    285327
    286 You should be aware that you most likely need to disable Shadow RAM when you flash the EEPROM. Another thing to note is that JR-IDE/ISA does not work if Shadow RAM or ROM area caching is enabled. You wouldn't want to connect drives to an 8-bit bus on a 32-bit system anyway. You can use the JR-IDE/ISA if you just need the 512 kiB FLASH.
     328You should be aware that you most likely need to disable Shadow RAM when you flash the EEPROM. Another thing to note is that IDE controllers using memory mapped I/O such as the JR-IDE/ISA and the SVC ADP50L does not work if Shadow RAM or ROM area caching is enabled. You wouldn't want to connect drives to an 8-bit bus on a 32-bit system anyway. You can use the JR-IDE/ISA if you just need the 512 kiB FLASH.
    287329
    288330Here are some transfer rate comparisons using v2.0.0β1. Results are from [http://www.brutman.com/iotest.zip IOTEST by Michael B. Brutman].
     
    304346Unfortunately many of the controllers work only at PIO-0 by default. Some VLB multi I/O cards have jumpers to set transfer rates but most require controller specific programming to enable higher PIO modes. It is possible that your VLB multi I/O card don't offer any advantages over ISA multi I/O cards if your BIOS does not support the IDE controller on the VLB card. There are DOS drivers for many VLB IDE controllers so BIOS support isn't a necessity.
    305347
    306 At the moment XTIDE Universal BIOS has native support for QDI Vision QD6500 and QD6580 VLB IDE controllers. The support is included in MODULE_ADVANCED_ATA that is included in official AT builds by default.
    307 
    308 ----
    309 = Known problems with fixes (v2.0.0 beta 2)=
    310 
    311 ===Flashing sometimes fails on a Pentium system===
    312 Set page size to maximum supported and try to reflash few times. Eventually it should work. It is currently unknown why flash fails.
    313 
    314 ===FreeDOS Format.exe freezes===
     348At the moment XTIDE Universal BIOS has native support for QDI Vision QD6500 and QD6580 VLB IDE controllers. There is also very experimental support for the Promise PDC 20230-C and 20630 VLB IDE controllers. The support is included in MODULE_ADVANCED_ATA that is included in official 386 builds by default.
     349
     350----
     351= Known problems with fixes =
     352Note! Some of these problems might be specific to certain older versions of XTIDE Universal BIOS. It is recommended to always use the latest version, especially if you experience a problem of some sort.
     353
     354=== Data corruption on the IBM PC/AT and IBM XT Model 286 machines ===
     355Data corruption will occur on the harddrive(s) when using an XTIDE card (any revision) with XTIDE Universal BIOS in an IBM PC/AT (5170) or an IBM XT Model 286 (5162) with the IBM system BIOS. The reason for this incompatibility is currently unknown but there are two workarounds. Either use a regular 16-bit IDE controller instead with the XTIDE Universal BIOS (the recommended solution since using an 8-bit XTIDE card would be less than ideal from a performance standpoint) or install a non-IBM system BIOS in the machine. See more [http://www.minuszerodegrees.net/xtide/XT-IDE%20-%20Problems.htm here].
     356
     357=== Flashing sometimes fails on a Pentium system ===
     358Set page size to maximum supported and try to reflash a few times. Eventually it should work. It is currently unknown why flashing fails.
     359
     360=== FreeDOS Format.exe freezes ===
    315361Known to happen with 0.90 dated 4-30-02 when using user defined LBA. Change FORMAT.EXE to newer. 0.91v dated 1-14-06 is known to work.
    316362
     
    323369== Problems with Compact Flash cards and microdrives ==
    324370
    325 CF cards and microdrives are IDE devices and should work as any hard disk. Unfortunately there are many CF cards and microdrives with limitations. Some of them only work as a master drive but not as a slave drive. Some of them requires MBR to be re-created before they can be used for booting.
    326 
    327 The MBR can be re-created with FDISK using the /MBR switch. You can also use any low-level data wipe utility to clear a non-bootable MBR. The MBR will then be created automatically when partitioning the drive.
     371CF cards and microdrives are IDE devices and should work as any hard disk. Unfortunately there are many CF cards and microdrives with limitations. Some of them only work as a master drive but not as a slave drive. A lot of them requires that the master boot record (MBR) is re-created before they can be used for booting.
     372
     373The MBR can be re-created with FDISK using the /MBR switch (available in FDISK from DOS version 5 or higher). You can also use any low-level data wipe utility to clear a non-bootable MBR. The MBR will then be created automatically when partitioning the drive.
    328374
    329375Some CF cards and microdrives do not work properly with IBM 5150/5160 when using XTIDE rev 1 or rev 2. Some of the symptoms are improperly displayed drive name on boot menu or the drive appears to work on some occasions and sometimes not. This is a hardware related problem and cannot be fixed by software. Wait for Lo-tech XT-CF to be available or use known working drive such as Hitachi 6 GB microdrive.
     
    332378= Contact information =
    333379
    334 
    335 [http://www.vcfed.org/forum/showthread.php?17986-XTIDE-Universal-BIOS XTIDE Universal BIOS thread can be found at Vintage Computer Forums]. I recommend to post there but you can also send email to aitotat (at) gmail.com. Another thread to take a look at is [http://www.vcfed.org/forum/showthread.php?29749-XTIDE-Universal-BIOS-v2-0-0-beta-testing-thread XTIDE Universal BIOS v2.0.0 beta testing thread.]
     380[http://www.vcfed.org/forum/showthread.php?17986-XTIDE-Universal-BIOS XTIDE Universal BIOS thread can be found at Vintage Computer Forums]. I recommend to post there but you can also send email to aitotat (at) gmail.com or krille_n_ (at) hotmail.com. Another thread to take a look at is [http://www.vcfed.org/forum/showthread.php?29749-XTIDE-Universal-BIOS-v2-0-0-beta-testing-thread XTIDE Universal BIOS v2.0.0 beta testing thread.]
    336381
    337382When reporting bugs or other problems, please post the following information:
     
    340385  * Hard disk(s) you are using with XTIDE Universal BIOS
    341386  * Hard disk(s) not handled by XTIDE Universal BIOS (if any)
    342   * Reset status that boot menu shows if problem is related to specific drive
     387  * Reset status that boot menu shows if problem is related to a specific drive (if the boot menu is available)