VOGONS


80286 Adventures

Topic actions

First post, by keenmaster486

User metadata
Rank l33t
Rank
l33t

I finally have succumbed to my more basic instincts and acquired a 286 machine.

Here is a glamor shot of it just for kicks. I will post more detailed pictures later.

286_scaled.jpg
Filename
286_scaled.jpg
File size
29.57 KiB
Views
1657 views
File license
Fair use/fair dealing exception

EDIT: Some more pics:

2.jpg
Filename
2.jpg
File size
211.32 KiB
Views
799 views
File license
Fair use/fair dealing exception
3.jpg
Filename
3.jpg
File size
255.72 KiB
Views
799 views
File license
Fair use/fair dealing exception

I found the unit on eBay for a reasonable price; it was listed as for parts due to not having a video card. One Oak 16-bit ISA VGA card later, and I was in business.

It will boot from a floppy disk. But the 43 MB RLL drive is giving me fits. The controller is a Seagate ST-21/22. What is strange about it is that the drive will spin up and make a lot of noise if you connect only the power without the data cables. But as soon as you hook up the wider data cable (not the narrower one), it will not spin up when you power on the machine. As I mentioned, this does not occur if you only hook up the narrow cable. With both cables connected the controller detects the drive (claiming it is an RLL drive) and wants to perform a low level format on it, but of course it cannot due to the drive not having spun up. I wonder what is causing this. I have very little experience with MFM/RLL drives so I really don't know what I'm doing here. Some quick searches don't turn up much on how to connect these things. Do I need to set something in the BIOS? The CMOS has Drive C: as "Not Installed". I tried setting it to Type 14 (43 MB) and it said "Drive C: Error" when booting. There's nothing on the drive that indicates what the geometry is, so I have no reference point as to which type I should set. I do notice that there are several that give a capacity of 43 MB. Maybe I should just try all of them until something works.

Anyway, this will be a lot of fun to play around with. Stay tuned to find out in what gruesome way I take my revenge on this hard drive when it begins to slowly eat away at my soul.

Last edited by keenmaster486 on 2019-04-22, 18:45. Edited 1 time in total.

World's foremost 486 enjoyer.

Reply 1 of 33, by rmay635703

User metadata
Rank Oldbie
Rank
Oldbie

Maybe one cable is mounted backwards?

In any event I have never had a working rll drive, all the mfms still work great but RLLs always seem to be crapped out for some reason

Good Luck

Reply 2 of 33, by retardware

User metadata
Rank Oldbie
Rank
Oldbie

yes, take care to not put the cables the wrong way around!
There is almost always a pin 1 mark, make sure that cables are right around both ends.

MFM and RLL drives are the same, just the encoding/data rate is ~50% more effective, resulting in higher data density, and smaller bits that decay quicker.

You should low-level format by invoking debug, then entering g=c800:5 (or on some controllers g=c800:6) before judging the drive as bad.
If a drive does no longer work fine using RLL, you often still can use it with MFM.

Back then many people "overclocked" their drives by using RLL controllers on MFM drives. Worked fine if you had a good quality drive.

Regarding the drive type, just look up the label on the drive and then search specifications for your drive (c, h, s, precomp) using your favorite search engine to find out the type.

Reply 4 of 33, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hi, nice machine! 😀
Found a manual for the interface controller..

canthearu wrote:

the debug command is only for XT based controllers with their BIOS.

Normally for AT/286 class computers, you would low level format through the system BIOS interface.

True. That's the same experience that I got as well. However, a few exotic 16-bit cards might had got their own BIOSes, still (who knows ?).
Perhaps because of the limited numbers of HDDs being hard-code into the main BIOS etc.
- Similar to these enhanced IDE controllers with their own ROM chip, I can imagine. 😀

Attachments

  • Filename
    st21-22.txt
    File size
    26.76 KiB
    Downloads
    53 downloads
    File comment
    ST21M/ST21R and ST22M/ST22R
    ST412 Interface Controller Installation Guide
    File license
    Fair use/fair dealing exception

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 5 of 33, by retardware

User metadata
Rank Oldbie
Rank
Oldbie
canthearu wrote:

the debug command is only for XT based controllers with their BIOS.

Normally for AT/286 class computers, you would low level format through the system BIOS interface.

This applies only for MFM controllers that use the original WD100x (one of either 1003, 1006 or 1007 iirc, or compatible) MFM chip of the original IBM MFM controller.

Jo22 wrote:

However, a few exotic 16-bit cards might had got their own BIOSes...

All other controllers thus had to provide a BIOS with formatter utility that supported the chips(et) they used.
Thus for *all* RLL controllers using the formatter provided by the cards' BIOS is the *only* correct way to low-level-format.

rmay635703 wrote:

In any event I have never had a working rll drive, all the mfms still work great but RLLs always seem to be crapped out for some reason

Attempting to format using an incorrect (i.e. silently or loudly failing) method might be an explanation, as RLL drives were much more expensive (selected) ones with particular good properties.

Jo22 wrote:

Perhaps because of the limited numbers of HDDs being hard-code into the main BIOS etc.
- Similar to these enhanced IDE controllers with their own ROM chip, I can imagine. 😀

The consequence of that was the introduction of user definable types (usually 46, 47)

Reply 6 of 33, by keenmaster486

User metadata
Rank l33t
Rank
l33t

I have achieved success, somewhat.

One of the cables was indeed upside down. I couldn't see this until I took the controller card out and looked at the numbers on the back.

After turning it over, the drive works, but has errors. I'm running CHKDSK now to see if it can fix them.

World's foremost 486 enjoyer.

Reply 7 of 33, by retardware

User metadata
Rank Oldbie
Rank
Oldbie

Great!
In your place I would now do a clean low-level format, to make sure that you get a complete and current list of bad sectors that will get mapped out.
This is useful in particular if the drive developed new bad sectors over time, which are not yet mapped out as bad.
Else the drive will show errors every time you hit such a sector, which is not fun.

Edit:
My memory regarding the exact details already faded somewhat, but I remember I liked SpeedStor for entering and marking the bad block information manually, as DOS format does not recognize them reliably.

Reply 8 of 33, by keenmaster486

User metadata
Rank l33t
Rank
l33t

I assume to do a clean low level format I should use the debug command you specified earlier.

I attempted a low level format using DOS 5.0's FORMAT utility, but it didn't work. FDISK said "Error reading fixed disk".

World's foremost 486 enjoyer.

Reply 9 of 33, by retardware

User metadata
Rank Oldbie
Rank
Oldbie

Yes.
On HDDs, DOS "FORMAT" actually does no formatting (different than with diskettes, which it low-level formats).
it only writes the DOS filesystem data onto the HDD, which already has to be low-level formatted to have FDISK and FORMAT work.

After running the low level formatter via DEBUG, it should put out a list of bad sectors.
Copy (or photograph) this list, you'll need it later.

Reply 10 of 33, by canthearu

User metadata
Rank Oldbie
Rank
Oldbie
keenmaster486 wrote:

I assume to do a clean low level format I should use the debug command you specified earlier.

I attempted a low level format using DOS 5.0's FORMAT utility, but it didn't work. FDISK said "Error reading fixed disk".

Low level format will be done by the system bios. 16bit MFM cards do not have a built in BIOS, so the debug command will not work (it is for the XT class machine only)

Reply 11 of 33, by keenmaster486

User metadata
Rank l33t
Rank
l33t

The debug command works. The Seagate I/O card BIOS pulls up and performs a low level format.

However, it fails to verify the format after it is complete, exiting with an error. After this, I can partition the drive with FDISK, but FORMAT chokes, churns and churns and eventually gives up.

I wonder how I can find the defects on the drive.

World's foremost 486 enjoyer.

Reply 12 of 33, by retardware

User metadata
Rank Oldbie
Rank
Oldbie

What was the error message?

If you have a MFM controller, test low level formatting the drive using that.
For two reasons: its not always the drive which is bad. Bad cables and controllers also occur.
And, as MFM uses lower density, borderline drives might work fine witn MFM.
(You can reformat to RLL any time)

Does FDISK actually write the partition table, so it gets read back? (It does not tell if whe write attempt fails)

Reply 13 of 33, by keenmaster486

User metadata
Rank l33t
Rank
l33t

I don’t have an MFM controller unfortunately.

Here is the error code:

B84806C5-2EDB-4E32-8777-08C6CDBADF7F.jpeg
Filename
B84806C5-2EDB-4E32-8777-08C6CDBADF7F.jpeg
File size
716.36 KiB
Views
1348 views
File license
Fair use/fair dealing exception

I have been able to solve the problem temporarily, however, by simply making a partition that is a little less than the percentage of the drive that FORMAT gets through before hanging (i.e. 37%, so I made the partition 35%.) This seems to work fine. I can format it and install DOS.

It’s strange to me just how slow these old drives are. It’s almost as slow as a floppy disk in a high-speed floppy drive.

World's foremost 486 enjoyer.

Reply 14 of 33, by retardware

User metadata
Rank Oldbie
Rank
Oldbie

Cool!

The error might be caused by wrong drive identification.
Say, data entered indicates a 800trk drive, and in case it is only a 300 trk drive, there will be a fatal error when trying to access track 301.
If this is the case, your "fix" by not using the part above, say, track 295 will work out fine.

To ensure there are no bad blocks in lack of low level format verification data, you can use things like the pctools drive test (with write test enabled!), to find bad blocks and mark them so DOS does not use these.

BTW, speed is relative... these 3600rpm MFM drives with their 17 sectors were blazing fast compared to floppy disks 😀
Imagine, my first HDD on my XT in the mid-1980s (ST-212) made a whopping 80kB/sec sequential read throughput.
The later transition to a ST-4096 (not sure whether I remember the number correctly) "overdriven" by an 8bit Adaptec ISA RLL controller increased the transfer rate to a whopping 120kB/sec!
And then compare this with the floppy's approximate 5kB/sec! And the seek times... average 80ms iirc. That was about the track-to-track seek time of the floppy... wow 😀

(Anyway make sure that you haven't set the interleave lower than the system can process... if your system can process interleave 2 and you set interleave 1, the access + latency times will increase 1000+%)

Reply 15 of 33, by keenmaster486

User metadata
Rank l33t
Rank
l33t

Interesting.

I have no way of knowing whether the drive is being detected incorrectly. However, I do know that the partition that was on there before I low-level formatted was created in 1992, and was also 11 MB large (i.e. about 35% of the drive, same as the one I just made). So either somebody else ran into this same problem 27 years ago, or the drive is smaller than I thought. But it does say 43MB on it.

I'll see if I can test it with a drive test tool.

I have set it to interleave 1! Perhaps interleave 2 would work better? I could try that and see what happens, although of course I will have to low level format it again.

World's foremost 486 enjoyer.

Reply 16 of 33, by retardware

User metadata
Rank Oldbie
Rank
Oldbie
keenmaster486 wrote:

I have no way of knowing whether the drive is being detected incorrectly.

There is no hardware detection in the MFM/RLL interface.
The "detection" has to be done by the user.
It involves looking at the label and then looking up the drive specification in the web.
Usually near the type sticker (or even on itself) there is the defects list.
Ideally just take a photograph of that, so we can work based on hard facts instead of guessing.

keenmaster486 wrote:

However, I do know that the partition that was on there before I low-level formatted was created in 1992, and was also 11 MB large (i.e. about 35% of the drive, same as the one I just made). So either somebody else ran into this same problem 27 years ago, or the drive is smaller than I thought. But it does say 43MB on it.

Well, I am still not sure what gave the information "43MB". The label? The (possibly incorrect) size in the partition table?

keenmaster486 wrote:

I have set it to interleave 1! Perhaps interleave 2 would work better? I could try that and see what happens, although of course I will have to low level format it again.

You can calculate whether the interleave is too low by calculating from the measured sequential read speed.
If the interleave is too low, the next sector being to be read has already slipped away when the previous sector has been read and the computer is ready to process the next sector. Then one has to wait for a full platter revolution to read the next sector, leading to an access speed/efficiency of only 1 sector per revolution.

The interleave means how the sectors are ordered:
1: 1 2 3 4 5 6 7 8 9
3: 1 4 7 2 5 8 3 6 9

one RLL track = 26 sectors = 13kB
3600rpm = 60 rps => theoretical maximum transfer rate = 60x13kB = 780kB
and then think slow 4.77 machine with slow custom controller bios etc -> high interleave factor was common
in contrast, 386+ usually were able to handle interleave 1

only sure way to find out is to try out and find at which interleave the performance drops sharply compared to the next-higher one.

Reply 17 of 33, by keenmaster486

User metadata
Rank l33t
Rank
l33t

Does setting the interleave higher mean that I will no longer be able to dodge the bad areas of the disk by creating a smaller partition?

Also, the only information on the label on the disk is that it is a “Packintell Model 43MB”. That’s it. No other information. The defect list has not been populated.

World's foremost 486 enjoyer.

Reply 18 of 33, by retardware

User metadata
Rank Oldbie
Rank
Oldbie

Changing the interleave only orders the sectors differently.
The idea behind this is that the next sector reaches the heads not before the processing of the previous sector has been completed.
Only effect of setting it higher than necessary is increased latency (=less performance).

Never have heard of a HDD manufacturer named "Packintell".
Sounds to me like some long forgotten OEM brand.
I'd suggest you take the HDD out of the case, make some photos and open a thread "Can anybody identify that HDD?".

In case we can identify original manufacturer and the series, we can narrow down to a particular type, to know the correct C/H/S/Precomp values to make full use of the drive.

Reply 19 of 33, by keenmaster486

User metadata
Rank l33t
Rank
l33t

I set the interleave to 2 and reformatted - also I think I have figured out that it is an 818 cylinder drive because it chokes while formatting if the cylinders are set higher than that. Still can't verify the format though.

I will be posting pictures later.

It is strange to me, though, that the formatting utility will get very far at all formatting with different C/H/S settings; you would think it would just exit with an error if it was not correct. How could it format for 5 heads when there are only 4, for example?

World's foremost 486 enjoyer.