source: xtideuniversalbios/wiki/Manual_v2_0_0.wiki @ 301

Last change on this file since 301 was 301, checked in by aitotat@…, 12 years ago

Edited wiki page Manual_v2_0_0 through web user interface.

File size: 16.3 KB
Line 
1#summary Instructions for XTIDE Universal BIOS v2.0.0
2*Table of Contents*
3<wiki:toc max_depth="3" />
4----
5
6= Introduction =
7
8XTIDE Universal BIOS makes 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.
9
10XTIDE Universal BIOS can be used on any IBM PC, XT, AT and 100% compatible system. On AT systems you can use any 16-ISA or VLB IDE or Multi I/O controller. For XT systems you can use XTIDE rev1 (not available anymore), [http://www.vintage-computer.com/vcforum/showwiki.php?title=XTIDE+Rev2 XTIDE rev2] or [http://www.retrotronics.org/tiki/tiki-index.php JR-IDE/ISA].
11
12
13
14== Features ==
15
16Some of the features included in XTIDE Universal BIOS are...
17  * Supports up to 4 IDE controllers
18  * Support for virtual drives using serial port
19  * Supports drives with any capacity (MS-DOS 7.x or FreeDOS is required to access more than 8.4 GB)
20  * PIO transfers with block mode support
21  * Hard disk autodetection
22  * Autodetected capacity, both CHS and LBA, can be overridden to make drive appear smaller than it is
23  * Boot menu for selecting any floppy drive or hard disk to boot from, including hard disks that are not handled by XTIDE Universal BIOS
24  * Compact Flash and Microdrive support
25  * Support for most 8-, 16-, and 32-bit IDE controllers
26...and many more.
27
28
29== Different builds ==
30
31At the moment there are different builds included in the XTIDE Universal BIOS zip file. 15 kiB builds (xxxL.BIN) include support for JR-IDE/ISA but are otherwise the same as 8 kiB builds.
32  * IDE_XT.BIN, IDE_JR8K.BIN and IDE_XTL.BIN (XT build)
33   XT build uses only instructions supported by 8086/8088 making it the only build that can be used on any PC, including the original IBM PC model 5150. IDE_JR8K.BIN has JR-IDE/ISA support but serial port features are removed to reduce the size to 8 kiB.
34  * IDE_XTP.BIN and IDE_XTPL.BIN (XT+ build)
35   XT+ build has the same features as the XT build but XT+ build uses instructions introduced in 80186/80188. Those instructions are supported by all later x86 CPUs, including NEC V20/V30. 8-bit transfers rates will be better thanks to INS and OUTS instructions.
36  * IDE_AT.BIN and IDE_ATL.BIN (AT build)
37   AT build is meant for all AT class machines (16-bit or 32-bit bus). AT build supports OS hooks to allow operating system to do some processing while drive seeks the requested data (if interrupts are enabled).
38
39All XT builds (including XT+) can be used on AT systems but XT builds have few differences to make them better suited for XT systems:
40  * XT builds prevent CGA snow on boot menu but this slows down drawing the menu.
41  * XT builds have much simpler method for detecting is INT 40h Floppy Drive handler installed.
42  * Jump targets are not aligned on XT builds.
43  * XT builds have different default settings (see below).
44
45XT builds are preconfigured for XTIDE rev1 at port 300h and IDE_JR8K.BIN is preconfigured for JR-IDE/ISA. AT builds are configured to search standard Primary and Secondary IDE drives, XTIDE rev1 at port 300h and 4th stardard IDE controller at port 168h (found on many sound cards). Interrupts are disabled by default on all builds.
46
47----
48
49= Installing XTIDE Universal BIOS =
50
51== Hardware supporting XTIDE Universal BIOS ROM ==
52
53The most convenient way to use XTIDE Universal BIOS is to use [http://www.vintage-computer.com/vcforum/showwiki.php?title=XTIDE+Rev2 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.
54
55Another option is to use any card with 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 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. The network card remains fully usable even if you place XTIDE Universal BIOS ROM on it.
56
57You don't need EPROM/EEPROM programmer if you already have XTIDE card. XTIDE card can be used to flash additional EEPROMs (8 kiB 2864) that can be moved to EPROM (8 kiB 2764) sockets.
58
59
60== Configuring and flashing ==
61
62XTIDE Universal BIOS comes with DOS utility called XTIDECFG.COM. It configures XTIDE Universal BIOS and also works as a generic EEPROM flasher supporting EEPROM sizes up to 32 kiB. IXTIDECFG.COM allows saving changes to BIOS images so that they can be programmed with other programming software or device.
63
64
65== Other things to know ==
66
67CTRL can be held down to skip XTIDE Universal BIOS initialization. Right time to press CTRL down is when POST OK beep is heard or just before all memory is tested.
68
69
70----
71
72= Using XTIDECFG.COM (XTIDE Universal BIOS configuration and flashing program) =
73
74XTIDECFG.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 item (some menu items do not have detailed help available). Up, Down, PgUp, PgDn, Home and End keys are used for menu navigation. Enter selects menuitem and Esc resumes to previous menu.
75
76Some menu items appear only when needed to make configuring easier.
77
78
79== Menuitems on "Main Menu" ==
80  * Exit to DOS
81   Exits to DOS. If any changes are made, then dialog is displayed about saving the changes. You can also exit to DOS by pressing Esc at the main menu.
82  * Load BIOS from file
83   Loads any (not just XTIDE Universal BIOS) file to be flashed.
84  * Load BIOS from EEPROM
85   Loads XTIDE Universal BIOS from EEPROM to be reconfigured if supported version of XTIDE Universal BIOS is found in system.
86  * Load old settings from EEPROM
87   Loads current settings from EEPROM if supported version of XTIDE Universal BIOS is found in system.
88  * Configure XTIDE Universal BIOS
89   This menuitem appears only when supported version of XTIDE Universal BIOS is loaded to be configured.
90  * Flash EEPROM
91   This menuitem appears when file is loaded.
92
93== Menuitems on "Flash EEPROM" submenu ==
94  * Start flashing
95  * EEPROM type [default=2864]
96   Selects EEPROM type. XTIDE rev1 uses 2864 (8 kiB) EEPROM. Select 2864mod if you have done the A0-A3 address line swap mod to your XTIDE.
97  * SDP command [default=Enable]
98   Selects Software Data Protect command to be written before every page. You should set it to Enable if the EEPROM supports SDP.
99  * Page size [default=1]
100   Large page makes flashing faster. You'll probably want to select largest that your EEPROM supports. Slow XT systems might not be fast enough for large page sizes.
101  * EEPROM address [default=D000h]
102   Segment address where the EEPROM locates. Supported versions of XTIDE Universal BIOS will be detected automatically.
103  * Generate checksum byte [default=Yes]
104   You'll want to enable this if you have done any changes to XTIDE Universal BIOS settings. This option will generate checksum byte to the end of EEPROM.
105
106== Menuitems on "Configure XTIDE Universal BIOS" submenu ==
107  * Back to Main Menu
108  * Primary IDE Controller
109  * Secondary IDE Controller
110  * Tertiary IDE Controller
111  * Quaternary IDE Controller
112   Each "xxx IDE Controller" submenu displays IDE controller specific settings. "IDE controllers" menuitem specifies the visible "xxx IDE Controller" submenus.
113  * Boot settings
114   Opens submenu for boot related settings such as should boot menu be enabled etc.
115  * Full operating mode [default=No for XT builds, Yes for AT builds]
116   "Full operating mode" reserves a bit of Conventional memory for XTIDE Universal BIOS variables. Disabling this will reduce maximum number of IDE controllers to 2 and place the variables to memory area reserved for IBM ROM Basic (30:0h). You should always enable this unless:
117    # You don't need to use IBM ROM Basic or any BIOS or software that requires that memory area.
118    # You have any Tandy 1000 model with 640k or less RAM (see "kiB to steal from RAM" for a way around this problem).
119    # You really need the 1k of Conventional memory that "Full operating mode" requires.
120  * kiB to steal from RAM [default=1]
121   This menuitem will appear only when "Full operating mode" is enabled. Leave this to 1 unless you really need to enable "Full operating mode" on any Tandy 1000 model with 640k or less RAM. Setting this to 33 (almost always enough) or 65 (always enough) in such case will reserve the top of RAM to Tandy video circuitry thus disabling sharing of conventional memory with video circuitry.
122  * IDE controllers
123   Number of IDE controllers to be searched by XTIDE Universal BIOS. The maximum is 4 if Full operation mode" is enabled. Otherwise the maximum is 2.
124
125== Menuitems on "Boot settings" submenu ==
126  * Display Mode [default=Default]
127   This setting allows you to force display mode change before boot menu is displayed. This setting will work even if boot menu is disabled and will leave the specified display mode set when booting to OS. Forcing display mode can be handy if you have composite monitor (use 40 column modes for better readability) or black&white VGA monitor (use 80 column black&white mode for better readability).
128  * Number of Floppy Drives [default=Auto]
129   In some systems number of floppy drives cannot be properly auto detected. This settings allows you to specify it manually so all drives can be displayed on boot menu.
130  * Scan for Serial Devices [default=No]
131  * Boot Menu [default=Yes]
132   You can disable boot menu if you don't like it for some reason. Normal Drive A, then C, then INT 18h (ROM Basic, ROM DOS or boot error) boot order is used when boot menu is disabled.
133  * Default boot drive [default=80h]
134   Specifies what drive is highlighted on boot menu by default. Default of 80h means first hard drive in the system.
135  * Selection timeout [default=540]
136   Specifies the duration before auto selecting default boot drive from boot menu. 1 tick = 54.9 ms so default duration of 540 is about 30 seconds.
137  * Swap boot drive numbers [default=yes]
138   MS-DOS and old operating systems can only boot from first floppy or hard disk drive. Swapping boot drive numbers allows booting from all drives in the system.
139
140
141== Menuitems on "xxx IDE Controller" submenus ==
142  * Back to Configuration Menu
143   Moves back to "Configure XTIDE Universal BIOS" submenu.
144  * Master Drive
145  * Slave Drive
146   Opens submenu for Master/Slave Drive specific settings for this IDE Controller.
147  * Device Type [default=XTIDE for XT builds, 16-bit for AT builds]
148   Type of device. 16-bit will support all standard IDE controllers, including VLB controllers. 32-bit will use 32-bit transfers on VLB controllers but those controllers usually require native support for full speed. Other devices include XTIDE rev1 (and rev2 slow mode), XTIDE mod with swapped A0 and A3 address lines (XTIDE rev2 fast mode), JR-IDE/ISA (IDE_JR8K.BIN and 15 kiB builds only) and support for virtual devices through serial port.
149  * Base (cmd block) address [default=300h for XT builds, 1F0h for AT builds (Primary IDE)]
150   Command block (base port) address where the IDE Controller is located. JR-IDE/ISA does not use this setting.
151  * Control block address [default=308h for XT builds, 3F0h for AT builds (Primary IDE)]
152   Set to base port + 8h for XTIDE rev1 and rev2. Set to base port + 200h for standard IDE controllers. JR-IDE/ISA does not use this setting.
153  * Enable interrupt [default=no]
154   Enables interrupt but it does not offer any benefit for MS-DOS. Do not enable unless you know you need it.
155  * IRQ [default=14 for Primary IDE, 15 for Secondary IDE]
156   IRQ channel to use for IDE controllers.
157  * COM Port [default=COM1]
158  * Baud Rate [default=9600]
159
160== Menuitems for "Master/Slave Drive" submenus ==
161  * Back to IDE Controller Menu
162  * Block Mode Transfers [default=Yes]
163   Block Mode Transfers will speed up the transfer rates. This should be leaved enabled but there is at least one old hard drive with buggy block mode support when interrupts are enabled (Quantum, maybe 100MB).
164  * Internal Write Cache [default=Disabled]
165   Leave to disabled unless you know what you are doing! Improper use of write cache can cause data corruption.
166  * User specified CHS [default=no]
167   Specify CHS parameters manually. This will force the drive to CHS addressing and EBIOS functions will be disabled.
168  * User specified LBA [default=no]
169   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.
170  * Cylinders, Heads and Sectors per track
171   These will appear when "User specified CHS" is enabled. Maximum values of 16383 Cylinders, 16 Heads and 63 Sectors per track will provide capacity of 7.8 GiB/8.4 GB that is 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 system using LBA addressing.
172  * Millions of sectors
173   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.
174
175----
176
177= Boot menu =
178
179Using boot menu is optional. Boot menu allows to boot from any floppy or hard disk drive. 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.
180
181
182== Drive swapping ==
183
184DOS requires that it is loaded from first floppy drive (00h) or first hard disk (80h) in the system. XTIDE Universal BIOS can translate drive numbers to make booting possible from any floppy drive or hard disk. Drive number translation is implemented with simple swapping method: selected drive will be swapped with first drive and vice versa. For example drive 82h on boot menu would be translated to 80h and 80h would be translated to 82h. Drive swapping for floppy drives and hard disks are handled separately so it is possible to install DOS from any floppy drive to any hard disk. Drive number translation can be disabled with XTIDECFG.COM (see "Swap boot drive numbers" on Menuitems on "Boot settings" submenu).
185
186
187== Boot menu hotkeys ==
188
189Keys 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.
190
191F8 calls software interrupt 18h. This starts IBM ROM Basic, ROM DOS or most usually error message from motherboard BIOS when there is no ROM to boot from.
192
193
194== Boot menu drive information ==
195
196Boot menu can display a little bit information about the drive.
197
198  * Capacity
199   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.
200  * Addr.
201   This shows the current addressing mode:
202    * L-CHS is used for drives with 1024 or less cylinders (504 MiB / 528 MB or less). L-CHS is the fastest mode since no address translations are required.
203    * P-CHS addressing is used for drives with 1025 or more cylinders without LBA support. It is unlikely such drives exists so P-CHS addressing is used if you manually specify CHS parameters with 1025 or more heads. P-CHS addressing is only a bit slower than L-CHS addressing.
204    * LBA28 is used when drive supports LBA and has capacity at most 128 GiB / 137 GB.
205    * LBA48 is used for drives larger than 128 GiB / 137 GB.
206   LBA modes are the slowest but the difference cannot be noticed on any AT system. There is no performance differences between LBA28 and LBA48. EBIOS functions (support for drives larger than 7.8 GiB / 8.4 GB) is available only when LBA addressing is used.
207  * Block
208   Shows the size of block in sectors. The larger the better. 1 means that block mode is disabled or not supported. CF cards usually support block mode commands but do not allow blocks larger than 1 sector.
209  * Bus
210   Shows the bus/device type configured in "Device Type" menuitem on "xxx IDE Controller" submenu.
211  * IRQ
212   Shows the IRQ channel if enabled.
213  * Reset
214   Shows the status from drive initialization. This should always be zero. If it is something else, then something has gone wrong.
215
216----
Note: See TracBrowser for help on using the repository browser.