I have a DTK 286 board here I'm trying to get running. The BIOS setup doesn't give a choice of floppy drives installed like most other BIOSes i've used, but automatically detects them, though unfortunately not correctly.
The 3.5" 1.44Mb floppy drive is detected as a 5.25" 1.2Mb drive, it still works though but only with double density 720k disks, HD 1.44Mb disks usually hang the machine of gives a read error.
Has anyone ever encountered anything like this before?
I've never seen a 286 that automatically detected drives that that before.
The first thing I'd do is try a generic BIOS setup called "gsetup", and see if you can set the drives manually.
If you can determine the type of chipset on your motherboard, you might be able to download a BIOS replacement and program some new ROMs. DTK BIOSes are generally regarded as crap anyway.
I replaced the IBM BIOS in my AT 5170 with a generic AMI BIOS mainly to get BIOS support for 1.44meg drives.
I don't think there *is* a way to autodetect what type of floppy drive is connected (you can detect if a drive is present or not, but that's it).
I've not seen it on any of my systems, and I wouldn't know how the floppy interface would even make it physically possible to detect.
IDE is different, you can send commands to the harddisk controller on the drive, and it can send back the drive geometry. Floppy drives don't have this.
So there has to be a way to configure the drives manually. Perhaps there are jumpers on the motherboard/IO card for this, if your BIOS setup doesn't allow you to change them?
Looking at the pic in the first post, if you choose item 5, this screen pops up ->
Then any key you press exits back to the menu.
I did try gsetup31, but I'm not really sure how it works. If I set the drives and exit out, it's the same, can't read HD disks. If I choose the reboot option, the board BIOS takes over again and it's the same. How is it suppose to work?
Scali wrote:
Perhaps there are jumpers on the motherboard/IO card for this, if your BIOS setup doesn't allow you to change them?
Is that a thing on I/O cards, jumpers setting the drive type? I did think about that, and there are a number of unlabelled jumpers on my I/O card, but I don't have any documentation for it and the PC I pulled it from was using a 1.44 drive so I figured if that was the case it would have already been set correctly. I have tried several different 1.44Mb drives too, btw.
Anonymous Coward wrote:
If you can determine the type of chipset on your motherboard, you might be able to download a BIOS replacement and program some new ROMs..
It has a Chips and Technologies chipset. I did try a few random 286 BIOSes on it a long while ago, but I think the DTK was the only one that would POST. Happy to try again if you have any suggestions.
Can you post a high resolution image of your motherboard? If you want a replacement BIOS you are going to have to make sure it matches whatever CHIPS chipset your happen to be using. CHIPS was pretty common on 286 boards, so the odds of finding a phoenix, award or AMI 286 BIOS are pretty high.
Funny that the roms are soldered..Maybe its an OEM board. Those mostly have these tricks.
Are you sure that this board will support 1.44MB floppy drives?.. I know that around 1987 there wasnt still much official support for 1.44MB drives. (these 1.44MB drives where still expensive then, only people with a lot of money could afford them)
But 1.2MB where still new then.. I also know that one or two years later, 1.44MB that would officially getting used..
I still have one of those longshine 8-bit floppy drive controllers with an card edge connector and bios support.. I know that this Rom that is installed on this card (in 1987) still hadnt support for 1.44MB floppy drive.. Maybe you encounter the same problem here with this motherboard..
I think that the 286 board you have is one of the first released motherboards.. So because it cant auto switch to 1.44MB drives it would detect it as the best availabe high capacity type that is supported.. So i think it wont support 1.44MB drives at all with this bios.
I wonder if when you switch the board from 128kbit ROM to 256kbit ROM if it ignores the ROMs on the board and uses the ones that go into the empty sockets.
I found somebody with AWARD bios for this chipset. I am requesting ROM dumps.
Sorry for the confusion, the two ICs you guys are looking at are not MASK ROMs but the control chips, the two empty sockets underneath are where the BIOS ROMs go, I didn't have them in when I took the picture 😢
Robin4 wrote:
Are you sure that this board will support 1.44MB floppy drives?
The DTK BIOS might not support a 1.44 drive but without a floppy drive controller on the motherboard, I would think that it only matters if the I/O card support them, as long as we can get a BIOS that does as well.
Is that a thing on I/O cards, jumpers setting the drive type?
Well, I'm not sure.
I've seen some XT-clones with jumpers to set the drive configuration on the motherboard (IO was integrated on the board).
286 systems tend to have CMOS configuration for this stuff, but perhaps you have some kind of early/weird model.
As I say, I'm just not sure where it thinks the 'auto-set' setting of 1.2 MB comes from. I don't think it can physically detect the format of a drive.
Unless, it is as someone else says... it may not support 1.44 MB floppies at all. Distinguishing between 360KB and 1.2MB may be possible, because 360KB only uses 40 tracks where 1.2MB uses 80 tracks. So perhaps it can detect this via the floppy seek that most BIOSes do on startup.
I tried a ROM set found here, http://chukaev.ru54.com/bios_en.htm#z2zzw001 z2zzw001, an award BIOS for a winbond board, as it had 83C201 - 205 listed for the chipset, and it mostly worked OK. I can choose any drive type I want in this bios, and could read HD disks successfully once it booted up. The only issue was the keyboard would become unresponsive after a few minutes, mouse would still move and programs kept running, but no keys working.
Might try a few other random BIOSes later on, but I'm back to work tomorrow so won't have as much time.
I wonder... on an AT the configuration is just stored in the CMOS memory of the MC146818 chip.
See here: http://bochs.sourceforge.net/techspec/CMOS-reference.txt
So I wonder what happens if you were to manually poke the right values in there from BASIC or debug. Since it is CMOS memory, the values should be remembered even when the machine is off. So perhaps if you set them right once, the BIOS you were using at first will keep these values, and it will work.
In fact, if you used another BIOS to set these values, they may also stick when you put the other BIOS back now.
Wasn't somebody saying that on 286 motherboards if you change the BIOS brand you have to change your keyboard controller to a compatible model as well?
Scali wrote:I don't think there *is* a way to autodetect what type of floppy drive is connected (you can detect if a drive is present or not […] Show full quote
I don't think there *is* a way to autodetect what type of floppy drive is connected (you can detect if a drive is present or not, but that's it).
I've not seen it on any of my systems, and I wouldn't know how the floppy interface would even make it physically possible to detect.
IDE is different, you can send commands to the harddisk controller on the drive, and it can send back the drive geometry. Floppy drives don't have this.
So there has to be a way to configure the drives manually. Perhaps there are jumpers on the motherboard/IO card for this, if your BIOS setup doesn't allow you to change them?
Not completely right. From http://www.os2museum.com/wp/detecting-floppy- … ives-and-media/ :
"It’s possible to detect an old 40-track drive. The method IBM’s PC/AT BIOS uses is to seek to track 48, then step back towards the outermost track and watch for the TRK0 signal. On an 80-track drive, TRK0 would go active after 48 steps. On a 40-track drive, it will activate sooner because the drive was in fact not able to step all the way to track 48 (the head cannot physically move that far). This method seems somewhat brutal but must have worked reliably enough for IBM to use it."
That method is (was?) patented. I think this method is meant with the "Floppy drive seek" option in BIOS setup.
I suppose in this case the BIOS might only support 360k and 1.2M floppies and uses the described method to distinguish between them. 1987 is indeed early for 3.5" floppies in IBM compatibles.
idspispopd wrote:Not completely right. From http://www.os2museum.com/wp/detecting-floppy- … ives-and-media/ :
"It’s possible to detect an old 40- […] Show full quote
Scali wrote:I don't think there *is* a way to autodetect what type of floppy drive is connected (you can detect if a drive is present or not […] Show full quote
I don't think there *is* a way to autodetect what type of floppy drive is connected (you can detect if a drive is present or not, but that's it).
I've not seen it on any of my systems, and I wouldn't know how the floppy interface would even make it physically possible to detect.
IDE is different, you can send commands to the harddisk controller on the drive, and it can send back the drive geometry. Floppy drives don't have this.
So there has to be a way to configure the drives manually. Perhaps there are jumpers on the motherboard/IO card for this, if your BIOS setup doesn't allow you to change them?
Not completely right. From http://www.os2museum.com/wp/detecting-floppy- … ives-and-media/ :
"It’s possible to detect an old 40-track drive. The method IBM’s PC/AT BIOS uses is to seek to track 48, then step back towards the outermost track and watch for the TRK0 signal. On an 80-track drive, TRK0 would go active after 48 steps. On a 40-track drive, it will activate sooner because the drive was in fact not able to step all the way to track 48 (the head cannot physically move that far). This method seems somewhat brutal but must have worked reliably enough for IBM to use it."
That method is (was?) patented. I think this method is meant with the "Floppy drive seek" option in BIOS setup.
I suppose in this case the BIOS might only support 360k and 1.2M floppies and uses the described method to distinguish between them. 1987 is indeed early for 3.5" floppies in IBM compatibles.
That's what I already said though 😀
Scali wrote:
Distinguishing between 360KB and 1.2MB may be possible, because 360KB only uses 40 tracks where 1.2MB uses 80 tracks. So perhaps it can detect this via the floppy seek that most BIOSes do on startup.
But you can't distinguish 3.5" from 5.25" drives that way, so you can't detect 1.44 MB vs 1.2 MB. It also won't work for 3.5" DD vs HD floppies, because those both use 80 tracks.
Last edited by Scali on 2016-01-11, 13:18. Edited 1 time in total.
You did indeed, Scali. It seems I didn't read all posts thoroughly. Your second-to-last sentence is exactly what I meant to express with my last sentence: If 3.5" floppies would have been common at the time, the BIOS programmers would have realized that full autodetection won't work.
I've done a bit more digging. I dumped the board's DTK BIOS into one file so it's bytes are in order and I can read through it in a hex editor, and the options for the disk drive type is only 360K or 1.2M, so this BIOS has no support for 3.5" drives at all it would seem, and would more easily explain how it's able to auto-detect the drive 😊
Regarding GSETUP and the CMOS hacking mentioned above, I don't think these are helpful in my situation as these methods don't create support for the 1.44 format, they only point to it, so forcing the drive type as 1.44 makes no difference if there is no format infomation in the BIOS for it to follow.
Despite knowing very little about how a BIOS works or is written, I feel like it wouldn't be hard to cut and paste in support for a 1.44 format from any other BIOS that has it. Probably just wishful thinking, but I'll look into it...
I'm looking through a box of old ROMs, I see there are two DTK 286 BIOS chips sitting there. I will read them to see if they use the chips chipset, and if they support 1.44mb floppies.
*edit*
I dumped the ROMs. I couldn't make much of them using an editor. I tried to merge the files to see if it would help, but it did not. I'm not even sure if the ROMs are corrupted or not. Anyway, you are free to try. DTK used chipsets from many different companies in their 286 motherboards. The images come from ST M27256 chips by the way.
Also, try different keyboard controllers with your Award BIOS if you have any spares. Maybe you could even borrow one from a 486 motherboard.