Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Patching 386 ROM BIOS to work with modern hard drives

462 views
Skip to first unread message

Russ

unread,
Feb 20, 1996, 3:00:00 AM2/20/96
to
I've got a 386DX/25 system that has an 80 MB RLL hard drive. I want to
ditch that old clunker (to make space for a CD-ROM) and use a Quantum
ELS-170A and/or ELS-127A IDE drive. I'm on a low budget and plan to
get an el-cheapo IDE/2S/1P interface, to run DOS/Win and Linux.

My problem is the BIOS only supports older HDs, and does not support
user-defined types. So there's no way I can enter the drive parameters
of the newer drive I want to use.

I've heard that one fix is to patch the BIOS hard drive parameter
table. I like this approach, since I have access to an EPROM burner,
and fits my budget. How can I find out the location and mapping of the
drive parameter table within the BIOS ROM?? My BIOS is version 1.10
02, this is the boot-up screen:

Phoenix 80386 ROM BIOS PLUS Version 1.10 02
Copyright (C) 1985-1988 Phoenix Technologies Ltd.
All rights reserved

P/N 892802-386


Thanks,
-Russ
+------------------------------------------------------------------+
| Russ Salerno rsal...@li.net finger for PGP key |
+------------------------------------------------------------------+

a.h...@irl.cri.nz

unread,
Feb 21, 1996, 3:00:00 AM2/21/96
to
In <4gbbg6$i...@linet06.li.net>, rsal...@li.net (Russ) writes:
>I've heard that one fix is to patch the BIOS hard drive parameter
>table. I like this approach, since I have access to an EPROM burner,
>and fits my budget. How can I find out the location and mapping of the
>drive parameter table within the BIOS ROM?? My BIOS is version 1.10
>02, this is the boot-up screen:

Two of the interrupt vectors (1 per HDD) point to the selected parameter
tables. This gives you an address (offset by the currently selected drive
type number) within the ROM array of param tables. Don't forget the ROM
checksum will need to be corrected for any changes.

Sorry I haven't got the right book for looking up the details with me at the
moment, but you can probably find it in Ralf Brown's Interrupt List.


-----------------------------------------------------------------
Andrew Heald (Electronics Engineer)
Industrial Research Ltd Email a.h...@irl.cri.nz
(Formerly part of the DSIR)
Communications Voice +64-4-569-0114
PO Box 31310 or +64-4-569-0444 ext 4114
Lower Hutt or +64-4-569-0000 ext 4114
New Zealand Fax +64-4-569-0754
-----------------------------------------------------------------

Michael Mauch

unread,
Feb 22, 1996, 3:00:00 AM2/22/96
to
On 20 Feb 1996 02:26:14 GMT, rsal...@li.net (Russ) wrote:

> I've heard that one fix is to patch the BIOS hard drive parameter
> table. I like this approach, since I have access to an EPROM burner,
> and fits my budget. How can I find out the location and mapping of the
> drive parameter table within the BIOS ROM?? My BIOS is version 1.10
> 02, this is the boot-up screen:

[...]

If your BIOS is "100%" IBM compatible, it should have the HD
parameters
starting at F000h:E401h. You can see the mapping from struct
FixedDiskParms
in the source code below. I once wrote it for a friend, whose Amstrad
BIOS
did not even show the Cyl/Hd/Sec entries, only "types".

Regards...
Michael


#include <iostream.h>
#include <iomanip.h>
#include <dos.h>
#include <systypes.h>

typedef unsigned char byte;
typedef unsigned int word;

struct FixedDiskParms
{
word Cyls;
byte Heads;
word Res1;
word WPComp;
byte ECCBurstLength;
byte Control;
byte StandardTimeOut;
byte FormatTimeOut;
byte CheckTimeOut;
word LZone;
byte Sectors;
byte Res2;
};

ostream& operator<< (ostream& s, FixedDiskParms m)
{
s << setw(4) << word(m.Cyls) << " Zyl., "
<< setw(2) << word(m.Heads) << " Koepfe, "
<< setw(2) << word(m.Sectors) << " Sekt.,"
<< " WPComp: " << setw(5) << word(m.WPComp)
<< ", LZone: " << setw(4) << word(m.LZone)
<< " (" << setw(3) <<
(uint32(m.Cyls)*m.Heads*m.Sectors*512/1024/1024)
<< " MB)";
return s;
}

int main(int,char*[])
{ FixedDiskParms far* StartHDData = (FixedDiskParms
far*)MK_FP(0xF000,0xE401);
FixedDiskParms far* p=StartHDData;

cout << " *** El Micha's Festplatten-Typen-Anzeige
***\n" << endl;

for(int i=0; i<50; i++,p++)
cout << "Typ " << setw(2) << (i+1) << ": " << *p << endl;

cerr << "\nUm die Ausgabe seitenweise zu sehen,\n"
" hdtypes |more\n"
"eingeben.\n\n"
"Um die Ausgabe in eine Datei umzuleiten,\n"
" hdtypes >datei\n"
"eingeben.\n\n"
"Die ausgegebenen Werte stimmen nur, falls das BIOS 100%
kompatibel ist.\n\n"
"HDTYPES kann nicht wissen, wieviele Festplatten-Typen das
BIOS unterstützt;\n"
"es werden einfach 50 Typen ausgegeben.\n" << endl;

return 0;
}

Malcolm Reeves

unread,
Feb 23, 1996, 3:00:00 AM2/23/96
to
Hi,

Just came across the file htmu.zip in Jumbo (which sent me to simtel).
This does it all for you. AFAIR it was in Utilities/DOS/System Info
or something like that. The search engine at Jumbo is offline at the
moment but another Archie may find it. If not drop me a line and I
will email it to you.

Jumbo = http://www.jumbo.com

...malcolm

--| Malcolm Reeves (mre...@dial.pipex.com) WSL, Chippenham, UK |--

Wayne Geiser

unread,
Feb 23, 1996, 3:00:00 AM2/23/96
to
In article <4gbbg6$i...@linet06.li.net>, rsal...@li.net (Russ) wrote:

> I've got a 386DX/25 system that has an 80 MB RLL hard drive. I want to
> ditch that old clunker (to make space for a CD-ROM) and use a Quantum
> ELS-170A and/or ELS-127A IDE drive. I'm on a low budget and plan to
> get an el-cheapo IDE/2S/1P interface, to run DOS/Win and Linux.
>

> ...


>
> I've heard that one fix is to patch the BIOS hard drive parameter

> table. ...

I would think that your plan to patch the BIOS has little chance for
success. Keep a backup of the BIOS chip should you try it.

An alternative are cards that extend the BIOS to handle this. They are
available from a number of places. I believe I saw an advertisement for
one in the Lyben catalog ((800) 493-5777) for about $20. I seem to also
recall seeing them in an Egghead catalog for about twice that and several
other places for much more than that.

Wayne.
************************************************************************
* Wayne Geiser Avid Technologies, Inc. voice (508) 640-3188 *
* wayne_...@avid.com http://theyellowpages.com/scc.com/geiser.htm *
************************************************************************
"Take your work seriously but never take yourself seriously; and do not
take what happens either to yourself or your work seriously." - Booth
Tarkington.
************************************************************************
* Wayne Geiser Avid Technologies, Inc. voice (508) 640-3188 *
* wayne_...@avid.com http://theyellowpages.com/scc.com/geiser.htm *
************************************************************************

J.R. Khan

unread,
Feb 24, 1996, 3:00:00 AM2/24/96
to Russ
Russ wrote:
>
> I've got a 386DX/25 system that has an 80 MB RLL hard drive. I want to
> ditch that old clunker (to make space for a CD-ROM) and use a Quantum
> ELS-170A and/or ELS-127A IDE drive. I'm on a low budget and plan to
> get an el-cheapo IDE/2S/1P interface, to run DOS/Win and Linux.
>
> My problem is the BIOS only supports older HDs, and does not support
> user-defined types. So there's no way I can enter the drive parameters
> of the newer drive I want to use.
>
> I've heard that one fix is to patch the BIOS hard drive parameter
> table. I like this approach, since I have access to an EPROM burner,
> and fits my budget. How can I find out the location and mapping of the
> drive parameter table within the BIOS ROM?? My BIOS is version 1.10
> 02, this is the boot-up screen:
>

I have put 420MB drives in machines that originally had 40MB RLL drives.
The bios had an option where you could specify what type of drive is
being used, RLL or IDE.

J.R.

Jim Bilderback

unread,
Feb 25, 1996, 3:00:00 AM2/25/96
to

My problem is the BIOS only supports older HDs, and does not support
user-defined types. So there's no way I can enter the drive parameters
of the newer drive I want to use.
---------------
check around for shareware called "anydrive" ... claims it will
do what u want.


Adam Currey

unread,
Mar 6, 1996, 3:00:00 AM3/6/96
to
On Sat, 24 Feb 1996 20:40:21 -0800, "J.R. Khan" <jek...@idir.net> wrote:

>Russ wrote:
>>
>> I've got a 386DX/25 system that has an 80 MB RLL hard drive. I want to
>> ditch that old clunker (to make space for a CD-ROM) and use a Quantum
>> ELS-170A and/or ELS-127A IDE drive. I'm on a low budget and plan to
>> get an el-cheapo IDE/2S/1P interface, to run DOS/Win and Linux.
>>

>> My problem is the BIOS only supports older HDs, and does not support
>> user-defined types. So there's no way I can enter the drive parameters
>> of the newer drive I want to use.
>>

>> I've heard that one fix is to patch the BIOS hard drive parameter
>> table. I like this approach, since I have access to an EPROM burner,
>> and fits my budget. How can I find out the location and mapping of the
>> drive parameter table within the BIOS ROM?? My BIOS is version 1.10
>> 02, this is the boot-up screen:
>>
>
>I have put 420MB drives in machines that originally had 40MB RLL drives.
>The bios had an option where you could specify what type of drive is
>being used, RLL or IDE.
>
> J.R.


I don't know what purpose that would serve, RLL and MFM drives don't need any
BOIS settings at all, as they were originall used in PC's and XT's, which didn't
have BIOS.

Adam

"...the chances of finding out what's really going on in the universe are
so absurdly remote, that the only sensible thing to do is say, hang the
sense of it and just keep yourself occupied." - Slartibartfast


James Vahn

unread,
Mar 9, 1996, 3:00:00 AM3/9/96
to
Russ wrote:
> My problem is the BIOS only supports older HDs, and does not support
> user-defined types. So there's no way I can enter the drive parameters
> of the newer drive I want to use.

You don't need to patch the BIOS, but you can patch the drives parameter
block that is stored in the MBR.

Here's how, from 80XXX_94.ZIP/NO#47.DOC:


From: OPHER SZICHMAN
Subj: No #47 BIOS user definition.
---------------------------------------------------------------------------
First, I assume you have an AT class computer (equipped with a CMOS) &
running a DOS Version 4.0+ & that your problematic drive has an IDE
interface.

Now, there are three steps to do this:

1. Select a drive type (in CMOS) closest to your drive's
parameters, noting the number of sectors per cylinder
(usually 17). Then run FDISK and allocate all/some of the
HD space to a DOS Primary Partition so that a MBR is placed
on the HD. Your computer reboots.

2. Use DOS's FORMAT on the drive. Then, Patch the MBR code
& Partition Table to reflect your drive parameters
(explained later). Copy the Boot-Record located
at Sectors_Per_Cylinder + 1 or 1/1/0 (S/H/C, usually sector
18) to absolute sector 2 (the one following the MBR).
Reboot from your HD (remove your DOS diskette in drive A)...

3. You get the 'Non system disk...' message. Place a DOS diskette in
drive A and strike any key. Run DOS's FORMAT on your HD again (format
c:/s - make system disk). If you did everything correctly Format
should show the correct capacity ('Formatting 204 MB...').

Patching the MBR: The following is a portion of my MBR...
-----------------
cs:7C00 FA cli ; The bootstrap loader loads
cs:7C01 33C0 xor ax,ax ; the MBR at 0:7c00
cs:7C03 8ED0 mov ss,ax
cs:7C05 BC007C mov sp,7C00
cs:7C08 8BF4 mov si,sp ; si = 7c00, save a byte
cs:7C0A 50 push ax
cs:7C0B 07 pop es ; es = 0
cs:7C0C 50 push ax
cs:7C0D 1F pop ds ; ds = 0
cs:7C0E FB sti
cs:7C0F FC cld
cs:7C10 BF0006 mov di,0600 ; Setup si, es, ds, di
cs:7C13 B90001 mov cx,0100 ; & cx to...
cs:7C16 F2A5 repnz movsw ; move the MBR to 0:0600.
cs:7C18 EAF0060000 jmp 0000:06F0 <- My modification. Originally
. jmp 0000:061D.
. (next instruction)
.
. ----Code to change disk param.
cs:7CF0 BF0003 mov di,0300
cs:7CF3 BE0401 mov si,0104 ; Have INT 41h (HD Param.
cs:7CF6 893C mov [si],di ; Table) point to new param.
cs:7CF8 894402 mov [si+02],ax ; table.
cs:7CFB BEE006 mov si,06E0
cs:7CFE B90800 mov cx,0008
cs:7D01 FC cld
cs:7D02 F3A5 rep movsw ; Copy HDPT to 0:0300
; (safe location)
cs:7D04 B409 mov ah,09
cs:7D06 B280 mov dl,80
cs:7D08 CD13 int 13 ; Inform BIOS of new HDPT.
cs:7D0A E910FF jmp 7C1D <- Continue with original code.

To make the patching easy you need a disk-editor (Norton Utilities,
PCTOOLS etc.) Use the DE (disk-editor) to view the MBR in hex mode.
If you used DOS 5.0 you should read:

00000000: FA 33 C0 8E D0 BC 00 7C 8B F4 50 07 50 1F FB FC
00000010: BF 00 06 B9 00 01 F2 A5 EA 1D 06 00 00 BE BE 07
^^
Change the pointed byte (1D) to F0. Then change the following:
000000F0: BF 00 03 BE 04 01 89 3C 89 44 02 BE E0 06 B9 08
00000100: 00 FC F3 A5 B4 09 B2 80 CD 13 E9 10 FF

Next at 000000E0 enter 16 bytes where...
000000E0: 00 04 0C 00 00 FF FF 00 08 00 00 00 01 04 22 00
\ / | \ / | \ / |
A B C D E F
A. Number of cylinders (0400h = 1024)
B. Number of heads (0Ch = 12)
C. Starting write precompensation cylinder - If not known use FFFF
D. Control byte - Bit 3 = 1 if more than eight heads
E. Landing zone - If not known use Number_of_cylinders + 1
F. Number of sectors (22h = 34)

Having done that the only thing left to do is patch the Partition Table:
Enter the partition editor and update the following:
A. System = BIGDOS (06h)
B. Starting Head = 0
Starting Cylinder = 0
Starting Sector = 2
C. Relative Sectors = 1
D. Number of Sectors = The number of sectors allocated to that partition - If
it's all of the HD space then that's:
Sectors_per_cylinder * Heads * Cylinders - 1.
All Done!

If you haven't got a disk editor, the following instructions
are for DEBUG/SYMDEB:

Enter the debugger & assemble the following instructions at CS:0100:
** all numbers are hex.

mov bx,200 ; ES:BX->Location of buffer to place read sectors
mov dx,80 ; Phisical HD number
mov cx,1 ; Starting sector number, S/H/C = 1/0/0
mov ax,201 ; AH=Read sectors, AL=Num. of sectors to read
int 13
int 1 ; Debugger regains control!
mov bx,400 ; ES:BX->Following MBR
mov dh,1 ; S/H/C = 1/1/0
mov ax,201
int 13 ; Read Boot-Record
xor dh,dh ; DH=0, S/H/C = 1/0/0
mov ax,302 ; Write 2 sectors: MBR then Boot-Record
int 13
int 1

Press `r<CR>` (<CR>=the enter key) and make sure the
instruction listed is `mov bx,200`. Press `g<CR>`...
Patch the MBR as I explained, noting:
1. Offset of MBR start is DS:0200 (not 00000000).
2. You change a byte's content by typing `e <offset> <value> <value> ...`.
3. The partition table is at DS:03BE.

Again press `r<CR>` & make sure the insruction listed is `mov bx,400`.
Press `g<CR>`... You're done.
Exit the debugger.

---eof---
80XXX Assembly Language Snippets --> http://www.poweramp.net/~jvahn

Jim Van Nuland

unread,
Mar 9, 1996, 3:00:00 AM3/9/96
to

Szu-Wen Huang (hu...@mnsinc.com) wrote:
: Adam Currey (cur...@ozemail.com.au) wrote:

: : I don't know what purpose that would serve, RLL and MFM drives


: : don't need any BOIS settings at all, as they were originall used
: : in PC's and XT's, which didn't have BIOS.

: Please refrain from answering when you don't know the answer.
: The PC most certainly had a BIOS.

Indeed they did! The original did not support the BIOS *extensions*
that are part of MFM/RLL adaptor cards. What the old machines did not have
is CMOS setup. The adaptor card had jumpers or hard-wired definitions of
the disk(s) that they could support.


--
-- Jim Van Nuland, San Jose (California) Astronomical Association


Jim Neil

unread,
Mar 10, 1996, 3:00:00 AM3/10/96
to
In article <4hiopg$8...@oznet03.ozemail.com.au>, cur...@ozemail.com.au (Adam Currey) says:

>
>On Sat, 24 Feb 1996 20:40:21 -0800, "J.R. Khan" <jek...@idir.net> wrote:

>I don't know what purpose that would serve, RLL and MFM drives don't need any
>BOIS settings at all, as they were originall used in PC's and XT's, which didn't
>have BIOS.
>

>Adam

ALL IBM-PC's and clones jave ALWAYS had BIOS's, since the very first
one released by IBM in August 1981. It wasen't until the PC-XT was
released that the BIOS would support HARD DRIVES.

Jim Neil

JMPII

unread,
Mar 13, 1996, 3:00:00 AM3/13/96
to
When I installed and IDE on my 1987 386 I bought an IDE card with the
BIOS extensions built in for 386's. The installation was a snap. You
select a drive type of 0 in CMOS and then format /s. The drive was a
MAXTOR 7546A and the card was an Acculogic sIDE-3/PLUS.

Albert W. Dorrington

unread,
Mar 14, 1996, 3:00:00 AM3/14/96
to

I missed this original article, but if the original poster is
looking for an IDE controller card like the above. I've got one collecting
dust in a box in my attic. I may even be able to dig up the docs.
If interested, drop me an email at awdo...@ictest.delcoelect.com

-Al

--
Al Dorrington
awdo...@ictest.delcoelect.com Database Admin
Delco Electronics - IC CIM Unix Sysadmin
Kokomo, Indiana, USA Phone: 317.451.9655

Adam Currey

unread,
Mar 15, 1996, 3:00:00 AM3/15/96
to
On 7 Mar 1996 04:19:41 GMT, hu...@mnsinc.com (Szu-Wen Huang) wrote:

>Adam Currey (cur...@ozemail.com.au) wrote:
>
>: I don't know what purpose that would serve, RLL and MFM drives
>: don't need any BOIS settings at all, as they were originall used
>: in PC's and XT's, which didn't have BIOS.
>

>Please refrain from answering when you don't know the answer.
>The PC most certainly had a BIOS.

Oops! Perthaps I could have worded that better. What I meant was that PC's and
XT's don't have BIOS setup programs like later machines, and that RLL/MFM drives
don't need it - just plug them in and the controller takes care of it.

Dave Dunfield

unread,
Jul 4, 1996, 3:00:00 AM7/4/96
to

> >> My problem is the BIOS only supports older HDs, and does not support
> >> user-defined types. So there's no way I can enter the drive parameters
> >> of the newer drive I want to use.
> >>

> >> I've heard that one fix is to patch the BIOS hard drive parameter
> >> table. I like this approach, since I have access to an EPROM burner,
> >> and fits my budget. How can I find out the location and mapping of the
> >> drive parameter table within the BIOS ROM?? My BIOS is version 1.10
> >> 02, this is the boot-up screen:

I have a little program I wrote some time ago which reads the BIOS
(directly from memory), lets you patch the drive parameters, then
writes two HEX files (ODD and EVEN) which you can use to program
a new BIOS. I've used this many times to put unsupported drives on old
286's. If you want it, email me and I'll sent it to you (completely
unsupported of course). I can also give you the MICRO-C source code
in case you need to make any changes.

>I don't know what purpose that would serve, RLL and MFM drives don't need any
>BOIS settings at all, as they were originall used in PC's and XT's, which didn't
>have BIOS.

PC and XT's used DIP switches on the drive controller to inform them of
the drive type. The AT did in fact require BIOS setup for MFM and RLL
drives.

-----------------------------------------------------------------------
Dave Dunfield (da...@dunfield.com) Embedded system development tools
Dunfield Development Systems Box 31044 Nepean Ontario Canada K2B 8S8
http://www.dunfield.com in...@dunfield.com Fax:613-256-5821 BBS:256-6289


aolsz

unread,
Jul 5, 1996, 3:00:00 AM7/5/96
to

Dave Dunfield (da...@dunfield.com) wrote:
SNIP:
: >I don't know what purpose that would serve, RLL and MFM drives don't need any

: >BOIS settings at all, as they were originall used in PC's and XT's, which didn't
: >have BIOS.
:
: PC and XT's used DIP switches on the drive controller to inform them of
: the drive type. The AT did in fact require BIOS setup for MFM and RLL
: drives.
: -----------------------------------------------------------------------
: Dave Dunfield (da...@dunfield.com) Embedded system development tools

For the PC and the XT, the HD BIOS was built into the adapter card. The
DIP switch settings had nothing to do with HDs in the PC and XT. Many of
the MFM and RLL cards with BIOSes can be used in 286s (or any other
machine with a CMOS SETUP) by setting the drive definition to NOT
INSTALLED in SETUP. The BIOS on the adapter card will then do all the
nitty gritty interfacing.

****************************************************************************
COMPUTERCRAFT Web Site
Maintained by Anthony Olszewski - E-mail: ao...@computercraft.com
For PC troubleshooting, maintenance, upgrade, and repair information
Articles include THE DEAD PC, ASSEMBLING A PC, THE 160 SERIES PS2 ERROR CODES
The Web home of THE PC HARDWARE FAQ and Chris Feeny's PS2 FAQ
A HUGE and GROWING list of PC and PS2 ERROR CODES is also available!
Links to the IBM, MCAFEE, and many other hardware and software support Sites
Many diagnostics, utilities and a NOVELL CNE Tutorial available for Download
Jump to the Home Page of Doctor Diakun, MAC meister, PGP whiz,and HTML maven!
<URL:http://www.computercraft.com>
*****************************************************************************


leon garde

unread,
Jul 5, 1996, 3:00:00 AM7/5/96
to

<groups which this article are off-topic deleted !!!!!>
ie.
alt.comp.hardware.pc-homebuilt,alt.msdos.programmer,comp.os.msdos.misc,
comp.os.msdos.programmer

>> >> My problem is the BIOS only supports older HDs, and does not support
>> >> user-defined types. So there's no way I can enter the drive parameters
>> >> of the newer drive I want to use.
>> >>
>> >> I've heard that one fix is to patch the BIOS hard drive parameter
>> >> table. I like this approach, since I have access to an EPROM burner,
>> >> and fits my budget. How can I find out the location and mapping of the
>> >> drive parameter table within the BIOS ROM?? My BIOS is version 1.10
>> >> 02, this is the boot-up screen:

>I have a little program I wrote some time ago which reads the BIOS
>(directly from memory), lets you patch the drive parameters, then
>writes two HEX files (ODD and EVEN) which you can use to program
>a new BIOS. I've used this many times to put unsupported drives on old
>286's. If you want it, email me and I'll sent it to you (completely
>unsupported of course). I can also give you the MICRO-C source code
>in case you need to make any changes.

if its an IDE drive and so the write precompensation 'WPCOM' value isnt
going to matter (its ignored)
you can use any geometry that has the same or fewer heads, and the same
or fewer sectors. of course you are limited to the number of cylinders
the drive has, or the number of cylinders in the drive parameter table,
which ever is smaller.


ontrack disk manager will install too. this uses up valuable ram
(only a few k) - but it replaces the harddrive drive bios.
this is faster as it runs from the faster RAM not 8 bit ROM ?
(well, maybe :) depends on which machine we are talking about)

on track will be faster with ide drives anyway as it takes advantage of
ide features , and doesnt worry about things like slow speed of
mfm/rll controllers and WPCOM etc ...


>>I don't know what purpose that would serve, RLL and MFM drives don't need any
>>BOIS settings at all, as they were originall used in PC's and XT's, which didn't
>>have BIOS.

>PC and XT's used DIP switches on the drive controller to inform them of
>the drive type.

or they had a bios which autodetected (stored on the drive in a data
sector or something) the geometry info.
xt's had bios. they didnt have hard drive bios.
the drive bios came on the controller card.
the controller card and drive is usable in an AT,
as the bios on the card is detected and installed by the AT bios
linux, minix, etc has an xt controller driver...
(but not win95. )


>The AT did in fact require BIOS setup for MFM and RLL
>drives.

the ST506 controller required the write precompensation value.
this couldnt be autodetected reliably so it had to be stored somewhere,
and jumper settings for 10 bytes seemed impractical ...

leon


Jerzy Tarasiuk

unread,
Jul 6, 1996, 3:00:00 AM7/6/96
to

>>>>> "D" == Dave Dunfield <da...@dunfield.com> writes:
>> >> My problem is the BIOS only supports older HDs, and does not support
>> >> user-defined types. So there's no way I can enter the drive parameters

I had the same problem with HD on 80286, and did the following:
1. choosed type having same head count, and sectors per track,
2. patched master boot record on the hard drive, it now contains
little program which defines proper HD type during boot,
3. splitted the HD into few logical drives - few of them, including
boot drive, is in area BIOS can see - this way it can work when
it is booted from floppy (however part of my disk is unaccessible),
(it is possible to prepare patched floppy boot sector, to be able
to boot from floppy and see all hard disk)

0 new messages