• Please review our updated Terms and Rules here

Testing hard drives with a 5150, getting lost in DOS 3.3...

Ozzuneoj

Experienced Member
Joined
Nov 16, 2015
Messages
185
Location
PA, USA
This is related to the huge lot of old stuff I posted about in this thread:
http://www.vintage-computer.com/vcf...ntage-hardware-and-electronics-XT-MFM-ISA-etc

First off, I'm using an IBM 5150 with a WD1002A-WX1 MFM controller card, supplemented by a 300W AT PSU to test a pile of old drives. The floppy drive in this system needs some work, for sure, so I resorted to using a standard 1.44MB floppy drive with the cable backward as advised here, with a standard 1.44MB floppy taped off and formatted as a 720K floppy. This. Works. BEAUTIFULLY! ... after struggling with a broken down Tandon 360K drive, this thing is a breath of fresh air. What I currently have on this disk is a bare bones copy of DOS 3.3 (as downloaded from the link above) with Speedstor 6.03 and Spinrite II on it. I'm using this to boot to DOS.

To get to the point quickly because its nearly 1AM... So far, all three of the drives I've tested spin up but I've only had one that passed all the tests in Speedstor and allowed me to format it with G=C800:5. It is an NEC D5124 10MB drive.

Without getting into troubleshooting the other drives just yet, I'd like to ask a couple questions about what I'm experiencing with this one.

First, when I formatted it using Speedstor, rather than G=C800:5, it worked but gave a seek error and became corrupt part way through copying all of the files from the A drive to it. Reformatting with G=C800:5 worked, and then I was able to copy all of the files to it without a hitch. I was curious as to whether I could boot from the hard drive with this system or not, and I couldn't figure out how to get DOS 3.3 without XCOPY or ATTRIB to copy the needed hidden\system files, so I attempted "format C: /s" which ran for a while before the drive made a different motor sound and I was told that the format failed. On this drive there's a little wheel (labeled interrupter) that moves around slightly when the drive is busy, but any time it fails\errors this wheel spins continuously until it gets all the way around one full turn and resets back to its original position (I'm assuming it must be connected to the heads somehow and this is what stops them from wandering off the platters?).

Anyway... I want to be optimistic and say that I just don't know what I'm doing and that it can only be formatted properly with the drive controller's utility and not via "FORMAT" in DOS or in Speedstor... but I have a feeling that there's more going on here. What do you guy's think?

So, as a side note... can a 5150 boot from a hard drive? And how on earth can you copy MSDOS 3.3 hidden files from a disk without XCOPY and other external commands? And where can I find all of the proper DOS 3.3 compatible executables to give me all of the commands I'm used to?
 
So, as a side note... can a 5150 boot from a hard drive? And how on earth can you copy MSDOS 3.3 hidden files from a disk without XCOPY and other external commands? And where can I find all of the proper DOS 3.3 compatible executables to give me all of the commands I'm used to?

I will leave the hard drive format to those more familiar with the specific controller.

For installing DOS hidden files on a disk, FORMAT /S does the job or use the SYS command if the drive was already formatted. Because of limitations in DOS, SYS may not work if you already copied other files over.
 
Anyway... I want to be optimistic and say that I just don't know what I'm doing and that it can only be formatted properly with the drive controller's utility and not via "FORMAT" in DOS or in Speedstor... but I have a feeling that there's more going on here. What do you guy's think?
First, "FORMAT" in DOS is not the same animal as Speedstor. IOW, DOS Format ╪ Low Level Format which is what Speedstor does. With DOS the DEBUG command you referenced does the LLF part.

Any MFM drive with a BIOS enabled controller can be LLFed with either DOS or Speedstor.

Are you sure you have the HD controller correctly jumpered?

You have to realize that many MFM drives suffer from Track 0 failures due to their age, etc., which renders the drive unusable without taking to extremely uncommon actions to circumvent this problem. Even then the drive may not always become usable.
 
So, as a side note... can a 5150 boot from a hard drive?
Definitely, with the requirement that the 5150 has the third (and final) BIOS revision.

... and other external commands? And where can I find all of the proper DOS 3.3 compatible executables to give me all of the commands I'm used to?
They are on the two DOS 3.3 floppies.

Normally, once the hard drive is ready to use:
1. Create the folder of C:\DOS
2. Copy all files on the two DOS 3.3 floppies into C:\DOS
3. Create an AUTOEXEC.BAT file that has a PATH that includes C:\DOS
 
Last edited:
Step 1. Configure the drive (drive-select jumpers and termination).
Step 2. Configure the WD1002A-WX1 for the connected drive.
Step 3. Low-level format (LLF) the drive.
Step 4. Use FDISK to create a DOS partition.
Step 5. Use FORMAT to format the DOS partition. (A.K.A. high-level format)

Re steps 2 and 3. This will depend on whether you have an early or late WD1002A-WX1.
According to what I read:
* With the early WD1002A-WX1, you have no option but to jumper the WD1002A-WX1 to match the connected drive.
* The later WD1002A-WX1 is a 'dynamic' controller. You can inform the WD1002A-WX1 of the drive's cylinder/head count at low-level format time.

I suggest that you drop the use of SpeedStor for the low-level formatting, because if you have the later version of the WD1002A-WX1, SpeedStor's low-level formatting code may not be compatible with the 'dynamic' part of the WD1002A-WX1's operation. Instead, use the 'G=C800:5' method, which runs the low-level formatting code embedded in the WD1002A-WX1.

Using the 'G=C800:5' method, if you are asked a question about whether or not you want to 'dynamic configure', then that is an indicator that you have the later version of the WD1002A-WX1. If you have the later version, then I suggest that you take advantage of dynamic configuration.

Re steps 4 and 5: The procedure is at [here].
 
One interesting thing to note is that I actually have an EEPROM programming "device" and the instructions and software to run it. I've never run one of these, but I've been doing a lot of things for the first time lately and its gone alright so far. Could I upgrade the BIOS on the WX1 to the version posted here for a similar WD1002S-WX2 card?

According to this, it seems like the 1002A, 1002S, wX1 and WX2 series all use the same BIOS. The all list the same revisions as well, so it seems likely that it'd work.

So... I may have the tools to make this controller work with pretty much any drive. For a system that I'll be using for testing, it seems like this would be a good idea.

As for my other questions, is it likely that the NEC drive is defective if it has seek errors some times and doesn't seem to like to be high level formatted in DOS? :eek:
 
As for my other questions, is it likely that the NEC drive is defective if it has seek errors some times and doesn't seem to like to be high level formatted in DOS? :eek:
Yes, but to be absolutely sure a LLF is required. If the LLF is performed successfully and a DOS format fails..... yes, it's bad. Or if a LLF is unsuccessful it's bad. :)
 
Last edited:
One interesting thing to note is that I actually have an EEPROM programming "device" and the instructions and software to run it. I've never run one of these, but I've been doing a lot of things for the first time lately and its gone alright so far. Could I upgrade the BIOS on the WX1 to the version posted here for a similar WD1002S-WX2 card?

According to this, it seems like the 1002A, 1002S, wX1 and WX2 series all use the same BIOS. The all list the same revisions as well, so it seems likely that it'd work.

So... I may have the tools to make this controller work with pretty much any drive.
On the WD1002A-WX1, the BIOS ROM is in chip U12, and is a regular ROM (not an EEPROM). So a BIOS upgrade requires U12 replacement. On my WD1002A-WX1, U12 is soldered onto the card (no socket).
But there is no point exploring BIOS upgrade feasibility if your WD1002A-WX1 already has the 'dynamic' functionality. My earlier email provided you with a way to determine that. Looking elsewhere, if "62-00094" appears on chip U12, then the WD1002A-WX1 has what Western Digital refers to as the "Super BIOS". The Super BIOS will have 'dynamic' functionality.
 
As for my other questions, is it likely that the NEC drive is defective if it has seek errors some times and doesn't seem to like to be high level formatted in DOS? :eek:
Keep in mind that even if all of the required initialisation steps are performed, there are certain combinations of drive and controller that do not work together, at all, or work unreliably.

For example. You are trying to pair a Perstor PS180-8XT controller with a Micro Science HH1120 drive. You attempt the required initialisation steps, but the combination doesn't work reliably. Then you look the PS180-8XT manual and read,
"Micro Science HH1120 RLL drives dated August 1988 and later with a 100+ nanosecond pulse width require a modification to the Perstor controller artwork revisions below 3.0 for proper operation. On the solder side of the PS180-8XT/-8AT at location JMP7, cut the trace between pins 2 and 3. Connect a short jumper wire between pin 2 of JMP7 and pin 11 of component U16"

That incompatibility is documented. A lot are not. But I think that most of the incompatibilities are with early MFM controllers and drives. For example, if one looks at step pulse rate, by the time of the IBM AT, it appears that all controllers being made used 70 us, and that all drives being made could accept 70 us.
 
Just wanted to update this thread to mention that I figured out some of my drive problems!

Until a few hours ago, every drive I'd tested had problems or wouldn't format at all, and it was getting frustrating... I knew that every drive couldn't have the same problem, despite all of them spinning up perfectly fine. No matter what, I'd get errors in SpeedStor and "completion code 80" errors when using the debug LL format commands.

I guess I kept missing the fact that MFM drives are supposed to be placed before the twist in the cable (if it has two connections on it) unless there is a second drive... Totally the opposite of floppies that have to be after the twist. So, its a pain getting the drives hooked up now, since I have such limited cable length, but at least I'm having results!

I haven't tried the drive I mentioned in the OP yet, but I tried a Seagate ST225 and it works beautifully! I realized after the fact that I had accidentally left my controller set to 10MB, so it isn't formatted to its full capacity yet, but its working! It formatted just fine using the debug command and G=C800:5, then I did a format c: /s and made it bootable, restarted the system and it booted to DOS, from the drive.

After figuring this out, I decided it'd be worth it to try the Miniscribe 8425 3.5" 20MB drive that came in my 5150 with my new-found knowledge of MFM cabling and jumper settings... and... IT WORKS! The system booted to DOS and the previous owner's files and games are all here! I played King's Quest (the original) in glorious CGA mode, and there's a bunch of other games and applications on here. The OS and everything else takes up a whopping 3MB of hard drive space.

I'm not sure exactly what was wrong with the drive before. I'm wondering if the faulty RAM chip I replaced had gone bad years ago and the owner plugged the drive back in incorrectly when diagnosing the problem, because it did nothing but throw up a 1701 error from the moment I got the system running. Now that its configured properly, its like its right back to 1987. There's a very slight squeak when the drive stops spinning, but aside from that its fine. It was pretty exciting seeing that little red hard drive activity light start blinking, hearing that clunky mechanical music and then seeing a DOS prompt for the first time. This is a pretty awesome hobby... I might be hooked. :)

Now, I have three questions.

*Was there an IBM 5150 with the standard 63.5W PSU that actually shipped with a 3.5" hard drive? There's nothing on minus zero degrees about such a configuration (at least not that I can find). I saw the portion on there about the power draw of some drives being low enough to work(and its interesting to know that all of the drives I have are "new" enough to be run without a secondary PSU for testing), so I assume its not that uncommon, I'm just curious as to whether this is an aftermarket drive or not.

*Is there a way to prevent having to put in the time and date every time I turn this thing on?

*What is the simplest method to transfer files over a serial connection to and from a DOS system like the 5150 to something newer? I have several different systems with serial ports and newer operating systems (Windows 98SE, Windows XP, etc.) that I could use, I've just never done anything like this before.
 
Last edited:
No 5150s shipped with a hard drive, much less a 3.5 inch drive. IBM didn't ship a computer with a hard drive until the 5160.

You would need a card with a real time clock and battery if you don't want to enter the date and time each power on. Assuming you want the time accurate at least.
 
I guess I kept missing the fact that MFM drives are supposed to be placed before the twist in the cable (if it has two connections on it) unless there is a second drive... Totally the opposite of floppies that have to be after the twist. So, its a pain getting the drives hooked up now, since I have such limited cable length, but at least I'm having results!

If you're installing a single drive it's supposed to be connected at the end of the cable, NOT before the twist.
However, if the cable is twisted, you need to set the Drive Select jumper to the second position (2 if they are numbered 1,2,3,4; or 1 if 0,1,2,3).
Also, make sure you're using an HDD cable, not an FDD one - they have different twists.

BTW, with HDDs like yours it's a good idea to park heads before powering down, eg. SpeedStor has such an option.

*What is the simplest method to transfer files over a serial connection to and from a DOS system like the 5150 to something newer? I have several different systems with serial ports and newer operating systems (Windows 98SE, Windows XP, etc.) that I could use, I've just never done anything like this before.

Depends what software you have.
I would probably use some early Norton Commander - it supports serial link, and works in both DOS 3.3 and Windows 98 in DOS mode.
 
*What is the simplest method to transfer files over a serial connection to and from a DOS system like the 5150 to something newer? I have several different systems with serial ports and newer operating systems (Windows 98SE, Windows XP, etc.) that I could use, I've just never done anything like this before.
With either serial or parallel ports you can use LapLink. I've found version 3 to be excellent for this. It's simple and effective but you need the correct cable. I prefer parallel as it's way faster than serial. But serial works just fine, too. For serial transfer a null modem cable is used and for parallel you need a parallel transfer cable. Parallel cables are available or you could make one:

Code:
We recommend a maximum cable length of 10m (30ft).

Use data grade cable, 11 wires with shield and male DB-25 connectors.  Wiring
is as follows;


Pin      2      to      Pin     15
 -       3      --      ---     13
 -       4      --      ---     12
 -       5      --      ---     10
 -       6      --      ---     11
 -      10      --      ---      5
 -      11      --      ---      6
 -      12      --      ---      4
 -      13      --      ---      3
 -      15      --      ---      2
 -      25      --      ---     25 
(Also connect both pins 25 to shield)
 
*Is there a way to prevent having to put in the time and date every time I turn this thing on?
You would need a card with a real time clock and battery if you don't want to enter the date and time each power on. Assuming you want the time accurate at least.
A generic diagram that explains such a real-time-clock (RTC) card is at [here].
 
*What is the simplest method to transfer files over a serial connection to and from a DOS system like the 5150 to something newer? I have several different systems with serial ports and newer operating systems (Windows 98SE, Windows XP, etc.) that I could use, I've just never done anything like this before.
With either serial or parallel ports you can use LapLink. I've found version 3 to be excellent for this. It's simple and effective but you need the correct cable. I prefer parallel as it's way faster than serial. But serial works just fine, too. For serial transfer a null modem cable is used and for parallel you need a parallel transfer cable. Parallel cables are available or you could make one:
1. The serial version of the Laplink cable is a particular type of null modem cable (akin to a side tipping truck being a particular type of truck). Therefore, simply looking on the Internet for any kind of "null modem cable" will in some cases show cables unsuitable for LapLink.

2. Be aware of LapLink limitations. I describe two at [here].
 
*What is the simplest method to transfer files over a serial connection to and from a DOS system like the 5150 to something newer? I have several different systems with serial ports and newer operating systems (Windows 98SE, Windows XP, etc.) that I could use, I've just never done anything like this before.
A possible solution: Be aware that you can connect a 1.44M diskette drive up to the IBM supplied controller, and it will work with 720K diskettes. More information on that is [here].
 
I guess I kept missing the fact that MFM drives are supposed to be placed before the twist in the cable (if it has two connections on it) unless there is a second drive... Totally the opposite of floppies that have to be after the twist.
If you're installing a single drive it's supposed to be connected at the end of the cable, NOT before the twist.
However, if the cable is twisted, you need to set the Drive Select jumper to the second position (2 if they are numbered 1,2,3,4; or 1 if 0,1,2,3).
Also, make sure you're using an HDD cable, not an FDD one - they have different twists.
Expanding on that:

The two different twisted cables are pictured at [here].

Floppy

In a PC, the (only) floppy drive has to go after the twist because of the way IBM engineered their solution (controller + cable + drive). The IBM floppy cable crosses over both the 'drive select' and 'motor on' signals. A diagram showing this is [here].

Hard drive

The hard drive control cable in a PC is 'a different story'. It can either be flat or twisted. The twisted control cable crosses over 'drive select' signals.

The type chosen (flat or twisted) for use dictates what setting the drive select jumpers are set to.

Irrespective of what type is chosen, if there is only one drive, the preference is to have it on the connector at the end of the drive. The reason is to reduce signal reflections from the cable end (more info at [here]).
 
Thanks so much for all the info!

I have been using standard 1.44Mb floppy drives and disks, with tape on the disks (formatted as 720K) since my Tandon TM100-2a is having issues. If that's the best I do to transfer things off of this system, it'll have to do.

And thanks for the tips on Laplink. You likely saved me a ton of time. The oldest system I have after the 5150 is a Socket 7 based system with a Pentium 200Mhz MMX installed... the slowest thing I have to put in it would be a 133Mhz Pentium, so I'm thinking that Laplink most likely wouldn't work properly connected to the 5150. And honestly, I'd want it connected to something with USB support anyway, and the slowest thing I have there would be a Pentium II 266Mhz.

My main reason for wanting to do this would be to copy the games and other information off of the hard drive without having to worry about my beat up old 3.5" floppies giving me problems (several of mine are 20+ years old and have been used and reused several times).

Its pretty amazing that the OS and everything on the drive only take up 3MB though. It shouldn't be hard to fit a couple games on a floppy.

Also, the information about the different drive cables is much appreciated. I'm not sure why I never saw any mention of needing to change jumpers on a drive to "1" (rather than 0) if its on the end of a cable, after the twist. None of the documentation for drives that I've come across seems to specify this. I will try it though!
 
Some people have networked their vintage PCs, but I do not have that luxury available to me.
I chose to standardise on 1.44M diskettes for most inter-PC transfers.

My modern PC (what I am using now)

Has a 1.44M diskette drive connected to the motherboard (ASRock 980DE3/U3S3 R2.0). Alternatively, I could have used a USB based external 1.44M drive instead.

286/376/486 based PC clones

All have 1.44M diskette drives.

IBM 5150/5155/5160/5170

For 1.44M use, I have the option #3 as shown at [here].

(One appears to be at eBay item 391364636617.)
 
You could try U - N E T II which is a complete, parallel port, server/workstation network. It utilizes the same parallel cable as LapLink to complete the network. I've used it successfully many times on different machines. It's a full blown network but is limited to just the two machines.
 
Back
Top