You are here: The Oldskool PC/The Guides/Getting Old Software Running on Newer PCs/Floppy Drive Problems |
Now this is an annoying problem: You've got your old software and valuable data out of the basement, but it's all on 5.25" floppies. Who the hell has those any more? How are you going to load these into your 3.5" floppy drive--cram them in or something? You can try, but you'll quickly destroy both disk and drive in the process, in addition to making a complete fool out of yourself. The answer is obvious: You must somehow obtain a 5.25" drive if you're going to run or transfer data contained on 5.25" floppies.
Which is, unfortunately, the only thing about old software that you can't tweak or customize into shape without opening the hood. This sucks, of course, but that's life. I may be an oldskooler, but I'm no magician. Find an old 5.25" drive somehow.
Now before you freak out, don't get all upset because you don't have any free drive bays or don't like to open the hood or something. It doesn't have to be a lone floppy drive; for example, you can use your old PC (or a friend's PC ;-) to transfer the files over to your modern PC. This works best if you just want to grab some old databases or word processing files or something, and can discard the disks when you're done. It's easier than you think to do this: All you need is a cable connecting the two machines, and software to transfer the stuff over the wire. Yes, bubblegum and shoestring networking at its best.
But what kind of cable? I thought you'd never ask:
Type: Null-Modem ("Serial") Cable
Where you can get it: Build one, or visit any "complete" computer store, like Micro Center, etc. Or browse the web, etc.
Implementation: A null-modem cable is just a serial cable with pins 2 and 3 switched and pin 7 (ground) wired straight through. As to why they're called null-modem cables, I'm sure you can make an educated guess.
Hardware needed: Serial port on both ends
Software needed: If using DR DOS or MSDOS 6.x, the software should already included (in MSDOS, it's called INTERLNK.EXE and INTERSVR.EXE). Alternatively, use a communications program on both ends to start a direct connection to the other "modem" and just transfer files over some protocol, like Zmodem. Or, you can try to find an old copy of LapLink, FastLynx, or Norton Commander for an elegant solution.Type: Parallel or "LapLink" Cable
Where you can get it: Any "complete" computer store, like Micro Center; DOS 6.22's help file also has a diagram for building one.
Implementation: These are usually included with older custom file transfer software, like LapLink or FastLynx. The major advantage to these is that you can get much faster transfer rates over the parallel port than the serial port; I routinely get 25K a second or higher. The disadvantage is that these cables are hard to find. Since the pinout is sometimes different from cable to cable, and since I only have one and don't want to damage it, I don't have a pinout for you.
Hardware needed: Parallel port on both ends. Bi-directional or EPP ports help the speed.
Software needed: If using MSDOS 6.x, the software you need to transfer files from one PC to the other is already included (in MSDOS, it's called INTERLNK.EXE and INTERSVR.EXE). Alternatively, you can try to find an old copy of LapLink, FastLynx, or Norton Commander for an elegant solution.Type: Phone Cable
Where you can get it: Practically anywhere; Radio Shack comes to mind
Implementation: By "phone cable", I'm being a smart-ass: Just connect directly to another computer via modem over the phone and transfer data the good old-fasioned way, with a communications program like QModem or ProComm. This is only a solution for two friends who don't live within driving distance of each other.
Hardware needed: Modems on both ends
Software needed: Communication software for both modemsType: Ethernet Cable
Where you can get it: Any "complete" computer store, like Micro Center
Implementation: This is the fastest solution, bar none. A friend of mine connects his Pentium and his 8088-based machine together with two old 3com cards connected via thin ethernet and BNC connectors. For the more technically inclined, here's what he wrote me: "I bought some 3com eth2 cards (about USD 1 each), installed lantastic server to one of my machines, copied it via floppy to my old PCs (and installed those netcards). Those ancient cards do not have TP connector at all - just AUI & BNC."
Hardware needed: Network Interface Cards (NIC) on both ends, of course.
Software needed: Appropriate networking software. Caldera DR DOS (formerly OpenDOS, which was formerly DR DOS anyway) is not only free, but comes with networking software built-in.
I'm sure you get the idea by now. However, some readers are probably raising their hands right about now and asking, "But Jim, what if the software is copy-protected?" Well, astute readers, you have a point. You can transfer the program over all you want, but it's just not going to run without the original disk.
Crap.
Well, boys and girls, you'll have to get your hands on a real live 5.25" floppy drive to get around that.
Obtaining a floppy drive is easier than you think. If you can find an old PC for sale, you can usually find a 5.25" drive close by. (If worse comes to worse, just purchase that old PC and rip the drive out of it.) I was able to find 5.25" drives (in addition to a ton of other cool stuff) for about $14 at my local CyberExchange, and also online at CompuPlus. If you have a drive bay free, this is perfect. If you don't have a drive bay free, however, you might want to invest in a dual-drive unit. It's a half-height unit that contains both a 3.5" drive and a 5.25" drive. I have one of these things and it has really come in handy in a cramped case that I had to transfer old files on. It only requires a single power cable too, although you still need two controller cable connections, of course. As for finding one, I just went to Price Watch and poked around until I found one on Aberdeen's online catalog (one of the vendors who subscribe to Price Watch's service).
Installing a floppy drive is also easier than you think. Just open up the case, slide the drive in, hook up the power cable, and attach the floppy controller cable's second connection to the floppy drive. (My friend Lasse notes, however, that "after ripping a floppy drive from some old computer, it might have the wrong device ID. In older systems floppy A: was set to ID #0 and floppy B: to ID #1. When using 'modern' twisted (ID lines are swapped between 1st and 2nd connector) cable both drives must be set to use device ID #1.", so watch out.) Most floppy cables still have two connections on them even though most modern PCs only have one drive, so this shouldn't be a problem. If it is a problem, you can usually find all sorts of floppy drive cables in practically every computer store, such as Micro Center, Elek-tek, CompUSA, Computer City, Radio Shack, etc., etc.
I hope you were paying attention eariler in this Guide, since you're going to need your BIOS/CMOS setup skills when you install it. Unless you have some sort of funky PC98 or Plug'n'Play PC that can auto-detect floppy drives, you'll need to enter your BIOS/CMOS setup to tell the PC it's got an additional drive. To do this, enter the BIOS/CMOS setup. Once you enter the setup, go to the section where it lists the attached floppy drives, and switch the entry for the second "B:" drive from "None" or "Not Installed" to the drive you installed, which will be either 5.25" 1.2MB high density, or 5.25" 360K low density. (If you don't know for sure what to set it up as, keep reading, as I cover this issue later in this section.) Once you do this, exit out of the setup properly and reboot the machine.
Any problems at this point? Let's consult our handy-dandy floppy drive installation troubleshooting chart:
Problem | Solution |
---|---|
The drive light does not come on as part of the normal bootup sequence; drive doesn't appear to work | While it's possible that the new drive's LED is burned out, it's extremely unlikely, as the half-life of a typical LED is similar to that of plutonium. What is more likely is that you forgot to connect the power cable to the drive. Either that, or you forgot to configure your drive type in your BIOS/CMOS setup. |
The drive light comes on and stays on permanently as soon as it is powered up; drive doesn't appear to work | While this looks like a broken floppy drive, it really means that you've attached the controller cable backwards. Reverse it and try again. |
What if you don't know what drive you have? My friend Jeff mentioned that "while it's not foolproof, most teac 360k drives have red LED's, while the 1.2mb's are green." If you don't have a Teac drive, though, there are no identifing marks to indicate whether it's a low density or high density drive, so just perform this simple test:
Important Note: While the above tests are usually quite clear in determining what kind of drive you have, don't actually write to any of your program or data disks until you are absolutely positive you have a low density drive (or have read all the data off of the disk first!). High density drives can accidentally damage the data on low density disks due to the narrower size of the high density read/write head. (For those who want more information on the subject, or who absolutely must read and write low density disks in high density drives, I've included a link to a small set of instructions I wrote a couple of years ago for doing this reliably.
Okay, why is this section named "Confusing the BIOS" when we went through all that trouble to make sure the BIOS was set up correctly? Because, dear readers, simple programs and data get along just fine with the 5.25" drive set up as drive B:, but when we enter the wonderful world of copy protection and self-booting games, being second-best just doesn't cut it. We must be drive A:. This is due to the fact that self-booting games have to actually boot (duh) in order to run, and everyone knows that you can only boot off of drive A:. And as for copy-protection, well... well, you just don't want to take any chances with copy-protection. It's best that it looks for itself on unit 0 (drive A:).
Before you open up the hood again to start swapping cables around, there's a little-known solution that works with all games that are only mildly copy-protected (they use the BIOS to communicate with the floppy drive instead of interacting with the hardware directly). This solution is the wonderful world of redirection. It's possible to create a boot sector on a floppy disk in drive A: that redirects the boot process over to drive B:, swapping all the BIOS drive references along the way. The best way I've found to do this is through an excellent utility that writes the floppy boot sector for you called Boot_B, which is in the Resouces section at the end of this document.
Copy-protection is ugly because software piracy is ugly. You sometimes can't believe the diverse number of tricks and flaws that copy protection exploits to fool diskcopy programs. It's unbelieveable. Copy-protection makes running old games on newer hardware extremely difficult, second only to the speed problem.
The best methods bypassed the BIOS entirely, communicating exclusively with the floppy drive controller. If you've got a game that is hard-wired to do this, accessing unit 0 directly, you have no choice but to swap the controller cables to make the 5.25" drive the A: drive.
Sorry, but dem's da breaks. There's no easy solution here except to physically swap the controller cables. What's worse, if you have a proprietary floppy cable with an "edge" connection for one drive and a "pin" connection for another, you can't swap the cables without appropriate edge-to-pin and/or pin-to-edge adapters or cables.
(leans in, whispering:) Psst.... You actually have two more options open to you, but their legality is, ah, well, how should I put it... in question. Let's continue...
Those silly programmers! Did they really think that they could create a copy-protection software routine that another programmer couldn't figure out? Did those software companies think that handfulls of teenagers wouldn't be able to figure out how they were doing it? I guess they were worried about lost profits or something. How paranoid! Well kids, the sad truth is that whatever one guy can think up, another guy can unravel. Welcome to the art of cracking programs.
Cracking, for those unfamiliar with the term, is the art of removing the copy-protection routines from a program so that the program can be copied and run without the original disk. This is usually done by loading up the program in a debugger, such as DEBUG.COM, and tracing through the code until the protection routines are found. Then, by patching the program via the replacement of a couple of opcodes (computer machine-language instructions), normal program execution jumps around the routines instead of actually executing them.
Neat, huh? Now before you think I'm going to teach you cracking and get all excited, I'd like to mention two things:
The first three are commercial products that you must pay for. Of those three, Neverlock and Locksmith are excellent products that work as advertised. The last two are collections of patches by various software pirates, and include a little interface to help guide you. They are not as extensive or reliable as the first three, but they'll do in a pinch for the more popular games of the late 80's.
There are also some archives of patches around, although these are diminishing with alarming frequency. One of the coolest, the Romulus archive, died a quiet death when the main UNIX SysAdmin of the University of Wisconsin, David Datta, changed jobs. I have a local mirror of it that I will be putting on oldskool.org at some point, but until then consult this list of cracks/patches for old games:
If you decide to crack or patch a DOS-based game and it works, but is still hard-coded to read itself off of drive A: when you'd really like to install it to a directory on your hard drive, here's a quick little hack that can help: Hex-edit every single file reference that begins with or contains "A:" and change it to ".\" -- this stands for "current directory" to DOS, so the computer will not try to load A:TITLE.PIC but rather .\TITLE.PIC, which works from a subdirectory just fine..
Got an original game disk, but can't boot it off of drive B:? Don't have the skills to crack the game? You need the holy savior of software, the cloner of copy-protection, the enabler of oldwarez: