Changeset 20 in xtideuniversalbios


Ignore:
Timestamp:
Jun 24, 2010, 7:44:29 AM (15 years ago)
Author:
Tomi Tilli
google:author:
aitotat
Message:

Edited wiki page through web user interface.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • wiki/Manual.wiki

    r18 r20  
    55= Introduction =
    66
    7 XTIDE Universal BIOS is mainly used with XTIDE controller that makes possible to use modern IDE drives on PC/XT systems. XTIDE Universal BIOS does more than that since it support 16- and 32-bit transfers too. 16-bit transfers are meant for 16-bit ISA controllers and 32-bit transfers are meant for VLB and PCI controllers.
     7XTIDE Universal BIOS is mainly used with [http://wiki.vintage-computer.com/index.php/XTIDE_project XTIDE controller] to use modern IDE drives on PC/XT systems. XTIDE Universal BIOS supports 16- and 32-bit IDE controllers found in later ISA, VLB and PCI systems. Thus XTIDE Universal BIOS can be used to overcome 504 MiB hard disk size limit that many old BIOSes have.
    88
    99
     
    1111
    1212Some of the features included in XTIDE Universal BIOS are...
    13   * Boot menu for selecting any floppy drive or hard disk to boot from
     13  * Supports up to 5 IDE controllers (10 drives)
     14  * Accesses up to 8.4 GB hard disk space (BIOS CHS limit)
    1415  * Block mode transfers
     16  * Hard disk autodetection
     17  * Autodetected CHS parameteres can be overridden to make drive appear smaller than it is
     18  * Boot menu for selecting any floppy drive or hard disk to boot from, including hard disks that are not handled by XTIDE Universal BIOS
    1519  * Compact Flash and Microdrive support
    1620  * Support for most 8-, 16-, and 32-bit IDE controllers
    17   * Using IRQ is optional
     21  * IRQ and polling operation modes
    1822...and many more.
    1923
     
    3539== Hardware supporting XTIDE Universal BIOS ROM ==
    3640
    37 The most convenient way to use XTIDE Universal BIOS is to use XTIDE card. It can be used on any PC with free 8-bit ISA slot. You might not want to connect any drives to it in 16- or 32-bit systems since 8-bit transfer will be very very slow. Using XTIDE card allows EEPROM flashing so it is really easy to update XTIDE Universal BIOS.
     41The most convenient way to use XTIDE Universal BIOS is to use [http://wiki.vintage-computer.com/index.php/XTIDE_project XTIDE card]. It can be used on any PC with free 8-bit ISA slot. You might not want to connect any drives to it in 16- or 32-bit systems since 8-bit transfer will be very slow. Using XTIDE card allows EEPROM flashing so it is really easy to update XTIDE Universal BIOS.
    3842
    3943Another option is to use any card with free ROM socket for 8 kiB or larger ROMs. Official XTIDE builds are meant for 8 kiB ROMs but you can burn it on 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 but there are also few multi I/O cards and IDE controllers with ROM sockets.
     
    5559= Using IDECFG.COM (XTIDE Universal BIOS configuration and flashing program) =
    5660
    57 Idecfg.com is intended to be user friendly. At the bottom of the screen appears quick information for each menu item. It can be hidden with F2 to make menu navigation faster for XT systems. Pressing F1 displays more detailed help for menu item. Sometimes the help is the same as the quick information but not always. Up, Down, PgUp, PgDn, Home and End keys are used for menu navigation. Enter selects menuitem and Esc resumes to previous menu.
     61Idecfg.com is intended to be user friendly. At the bottom of the screen appears quick information for each menu item. It can be hidden with F2 to make menu navigation faster on XT systems. Pressing F1 displays more detailed help for menu item. Sometimes the help is the same as the quick information but not always. Up, Down, PgUp, PgDn, Home and End keys are used for menu navigation. Enter selects menuitem and Esc resumes to previous menu.
    5862
    5963Some menu items appear only when needed to make configuring easier.
     
    110114     8-bit ISA controllers with one data port.
    111115    * 16-bit
    112      16-bit I/O for ISA (16-bit), VLB and PCI controllers.
     116     ISA (16-bit) but it also works on VLB and PCI controllers.
    113117    * 32-bit generic
    114118     Generic 32-bit I/O for VLB and PCI controllers.
    115119  * Base (cmd block) address
    116    IDE controller command block address is the usual address mentioned for IDE controllers. By default the primary IDE controller uses port 1F0h and secondary controller uses port 170h. XTIDE uses port 300h by default.
     120   IDE controller command block address is the usual address mentioned for IDE controllers. By default the primary IDE controller uses port 1F0h and secondary controller uses port 170h. XTIDE card uses port 300h by default.
    117121  * Control block address
    118    IDE controller control block address is normally command block address + 200h. For XTIDE the control block registers are mapped right after command block registers so use command block address + 8h for XTIDE.
     122   IDE controller control block address is normally command block address + 200h. For XTIDE card the control block registers are mapped right after command block registers so use command block address + 8h for XTIDE card.
    119123  * Enable interrupt
    120124   IDE controller can use interrupts to signal when it is ready to transfer data. This makes possible to do other tasks while waiting drive to be ready. That is not useful in MS-DOS but using interrupts frees the bus for any DMA transfers. Polling mode is used when interrupts are disabled. Polling usually gives a little better access times since interrupt handling requires extra processing. There can be some compatibility issues with some old drives when polling is used with block mode transfers.
     
    138142   Resumes back to XTIDE Universal BIOS configuration menu.
    139143  * Default boot drive
    140    Default drive will be set selected by default when Boot Menu is displayed.
     144   Drive to be set selected by default when Boot Menu is displayed.
    141145  * Display drive info 
    142    Boot Menu can display some details about the drives in system. Reading this data is slow on XTs so you might want to hide drive information.
     146   Boot Menu can display some details about the drives in system. Reading this data might be slow on XTs so you might want to hide drive information.
    143147  * Display ROM boot
    144148   Some old systems have Basic or DOS in ROM. Since most systems don't have either, ROM Boot setting is disabled by default. Enable it if you have use for it.
     
    175179   Address (segment) where EEPROM is located.
    176180  * Page size
    177    Larger page size will improve write performance but not all EEPROMs support large pages or page writing at all. Byte writing mode will be used when page size is set to 1. Byte writing mode is supported by every EEPROM. Large pages cannot be used with slow CPUs.
     181   Larger page size will improve write performance but not all EEPROMs support large pages or page writing at all. Byte writing mode will be used when page size is set to 1. Byte writing mode is supported by every EEPROM. Large pages cannot be flashed with slow CPUs.
    178182  * Generate checksum byte
    179183   PC BIOSes require checksum byte to the end of expansion card BIOS ROMs. Checksum generation can be disabled so any type of binaries can be flashed.
     
    193197== Boot menu hotkeys ==
    194198
    195 Keys A to Z work as a hotkeys for boot menu drives. Hotkeys have another benefit: they allow to install DOS from any floppy drive to any hard disks. Select hard disk from menu but do not press Enter. Press any floppy drive hotkey instead to boot from floppy while maintaining selected hard disk translation.
     199Keys A to Z work as a hotkeys for boot menu drives. Hotkeys have another benefit: they allow to install DOS from any floppy drive to any hard disk. Select hard disk from menu but do not press Enter. Press any floppy drive hotkey instead to boot from floppy while maintaining selected hard disk translation.
    196200
    197201
     
    204208  * Drive configuration information is displayed for XTIDE Universal BIOS controlled drives. Information includes:
    205209   * Addressing (Addr.)
    206     This can be L-CHS, P-CHS, LBA28 or LBA48. CHS addressing is the old type of addressing method where cylinder, head and sector numbers will be handled separately. Original PC BIOS functions are designed for CHS addressing with maximum  hard disk size being 7.8 GiB (8.4 GB) when some CHS translation method is being used. LBA addressing is modern addressing method where every sector has its own address. There are no cylinders or heads anymore. Enhanced BIOS functions were introduced for LBA drives but they are not supported before Windows 95 (DOS 7). These EBIOS function are not yet supported by XTIDE Universal BIOS. CHS address must be translated to LBA address when using old CHS BIOS functions with LBA addressing.
     210    This can be L-CHS, P-CHS, LBA28 or LBA48. CHS addressing is the old type of addressing method where cylinder, head and sector numbers will be handled separately. Original PC BIOS functions are designed for CHS addressing with maximum  hard disk size being 7.8 GiB (8.4 GB). LBA addressing is modern addressing method where every sector has its own address. There are no cylinders or heads anymore. Enhanced BIOS functions were introduced for LBA drives but they are not supported before Windows 95 (DOS 7). These EBIOS function are not yet supported by XTIDE Universal BIOS. CHS address must be translated to LBA address when using old CHS BIOS functions with LBA addressing.
    207211    * L-CHS (known as NORMAL on many old BIOSes) is used for drives <= 504 MiB that can accept the CHS parameters without translation. That makes L-CHS the fastest addressing method.
    208212    * P-CHS (known as LARGE on many old BIOSes) is used for drives from 504 MiB up to 7.8 GiB. This is a bit slower than L-CHS since simple translation is required to make BIOS L-CHS parameters compatible with IDE P-CHS parameters.
    209     * LBA28 (28-bit address) allows drive sizes up to 128 GiB (137 GB). L-CHS to LBA translation is more complex and slower than L-CHS to P-CHS conversion.
    210     * LBA48 (48-bit address) work just like LBA28 but with 20 more address bits.
     213    * LBA28 (28-bit address) allows drive sizes up to 128 GiB (137 GB) but maximum accessible size is 7.8 GiB when old BIOS functions are used. L-CHS to LBA translation is more complex and slower than L-CHS to P-CHS conversion.
     214    * LBA48 (48-bit address) work just like LBA28 but with 20 more address bits. This makes possible to use drives with over 128 GiB capacity.
    211215   * Block mode (Block)
    212216    Block size in sectors for block mode transfers. XTIDE Universal BIOS always uses largest supported block size. Block mode is disabled or not supported if this is 1.
     
    222226= IDE controllers on VLB and PCI bus =
    223227
    224 16-bit ISA IDE controllers are very simple ISA to PATA adapters and they all perform alike. ISA is not fast enough for anything above PIO-0 transfer method (theoretical maximum 3.3 MB/s).
     22816-bit ISA IDE controllers are basically very simple ISA to PATA adapters so they all perform alike. ISA is not fast enough for anything above PIO-0 transfer method (with theoretical maximum of 3.3 MB/s).
    225229
    226230VLB and PCI IDE controllers are much more complex since they have an actual controller between bus and IDE drive. This controller can buffer words so CPU can read 32-bits at a time. Later VLB and (all?) PCI controller also offer flow control so they can support PIO modes 3 and 4. Early VLB controller are limited to PIO-2. Later VLB multi I/O cards have two IDE connectors so you should use one of those even if you don't need the other IDE connector.
     
    252256
    253257When reporting bugs or other problems, please post the following information:
    254 Computer specs (at least CPU and RAM but details about expansion card and how they are configured might be useful)
    255 Operating system and version (for example MS-DOS 6.22)
    256 Hard disk(s) you are using with XTIDE Universal BIOS
    257 Hard disk(s) not handled by XTIDE Universal BIOS (if any)
    258 Reset status that boot menu shows if problem is related to specific drive
     258  * Computer specs (at least CPU and RAM but details about expansion cards and how they are configured might be useful)
     259  * Operating system and version (for example MS-DOS 6.22)
     260  * Hard disk(s) you are using with XTIDE Universal BIOS
     261  * Hard disk(s) not handled by XTIDE Universal BIOS (if any)
     262  * Reset status that boot menu shows if problem is related to specific drive
Note: See TracChangeset for help on using the changeset viewer.