You might have recognized from my BBS Relaunch and the Radical Rhythms Archive, that I'm on some kind of a retro trip, back to my teenage years, at the moment..
When converting all the old Radical Rhythms tracker files for the archive, I recognized that there are some file-formats, you just can't play right anymore with todays hardware.. It took some nights browsing ebay for me to decide that there's only one solution to this: I'll have to buy a vintage PC and at least a Gravis Ultrasound (GUS) soundcard and do analogue rips of the tracks.
Problem was: A GUS costs more today, than it did back then! €200,- and more, coming from somewhere outside of germany was just too much for me...
Since I just relaunched my old BBS and rejoined FidoNet, I had one more place to ask for relief: FLEA.GER at FidoNet - an old online marketplace, I used to use back in the 90s.
After some unrealistic offers and some people telling me they have exactly, what I'm asking for, but won't sell it, one guy took his heart and made me an offer I could'nt refuse:
A complete 486 DX2/66 with 32MB RAM, a Gravis Ultrasound PnP PRO with 8MB RAM and all the stuff, he could find in his cellar for €150,-
...And so my odyssey to DOS-Land began two weeks ago... :)
Here, I'ld like to collect all the infos and knowledge, that came back to my mind the second, I started the PC: Techniques, Tools, Links - everything that may come in handy, if you're as crazy as I am and want to setup a vintage DOS PC, again..
Many of the tools, I'll talk about, are abandonware, now. This means that there's noone sueing you for downloading them, but it doesn't mean, it's legal to spread them on the interwebs.. So I'll only provide you with links and let the dirty work of hosting this to the others... ;)
First of all, we need to get DOS up and running and set it up to have network access and a decent amount of free ram... Here's, what I did:
This was the last version of standalone MS-DOS. You can download diskimages from kirsle.net.
You'll need 3 3.5" HD FloppyDisk, a FloppyDiskDrive connected to your modern PC and a tool for writing the images to disk. I used Disoriented DiskWrite for Windows, OSX- and Linux users might want to use dd..
Since I had no FloppyDrive on my modern PC, I bought a USB connectable, external one, some years ago, which still does it job: DeLOCK Floppy 3.5". Bigger problem was finding floppydisks that still worked and didn't break the second, I tried to use them.. ;)
Installation is pretty straight forward: Insert disk 1 to your vintage pc, make it boot from A: at the BIOS, boot it and follow the instructions of the installer partitioning the harddisk or not and formating at least drive C:..
If your harddisk is bigger than 400MB, you might encounter problems with the installer not recognizing the HDD, see below "HDD >400MB" for further information on that.
Voila: Who said vintage PCs are slow? A complete OS installed in less than 10 minutes!
XFS (NFS client)
Something making work with your new favourite PC a lot easier is XFS: Not the filesystem, but a MS-DOS NFS client! So you can mount network-shares from your NAS (or some other NFS-capable server, you have on your existing LAN...)
This fine piece of software was freeware and the last MS-DOS version is from 1995. You can find it on the internet or at the download-section of this website...
All you need for it to work is a ethernet capable NIC and a matching "packet driver". These came with the cards, but with some searching, at least I found mine online, too. There's a guy coding opensource versions of vintage NIC packet drivers, where I found the only working one for my 3COM 3c509b: Crynwr Software
On your modern PC, download XFS and a matching packet driver for your NIC and extract both to a floppy drive, again, hopefuly for the last time.
On your vintage PC make a directory on your drive C:, called "XFS" (or something else, somewhere else, but I'll use these default paths for this howto...), and copy the contents of the floppy disks into it.
Next, you'll have to edit the included batchfile "XFS.BAT" and change the packet driver:
REM Change this to whatever your packet driver is:
loadhigh ne2000 0x60
REM XFS stuff - leave untouched until further notice..
loadhigh winpkt 0x60
loadhigh xfskrnl 0x60
For my NIC, I only had to change "ne2000" to "3c509"..
The paramater after every command is the software irq to be used by the packet driver and xfs. 0x60 is the default value, which worked fine for me...
Next, you'll have to edit the some XFS configuration files. The first one is located at C:\XFS\INIT.
At this minimal setup, some of the stuff in there isn't needed and some doesn't even work, so all you need for now is this:
init dos sm=255.255.255.0 gw=192.168.23.1 csum=off
mount z: nas:/volume1/dos
While dos is your hostname, 255.255.255.0 is your netmask, 192.168.23.1 is your gateway, z: is the destination drive for your nfs mount and nas:/volume1/dos is the nfs mount on my nas, called "nas"...
Since there's no DHCP (yet), you'll need to tell xfs the addresses of all the hosts needed. The file for doing this is located at C:\XFS\HOSTS:
192.168.23.11 nas nfs-server
Again: This is my network setup: You might have to change the IPs for some matching your LAN...
Next, you'll have to edit your autoexec.bat for the first time. Still looking familiar, doesn't it? ;) But brace yourself: Don't do all the modifications, you might still remember! Most of them are done automatically, later and all of them will get overwritten.. ;)
Only attach your XFS directory to the PATH variable:
Save, exit and edit your config.sys to attach this line:
So mapping the NFS mount to Z: will actually work...
Save, exit and reboot.
After successful reboot, you should be able to start the network stack by issuing the command "XFS".
If everything worked out, there should be a drive Z: containing your NFS share.
For server-side configuration please see the manual of the server, you're using..
Warning: If the server is running on a case sensitive system, all the files in the share need to be lowercase! XFS can't handle uppercase filenames even (or because) they're all uppercase on DOS. The result will be unreadable filenames with strange characters...
You can extract ZIP archives to all lowercase filenames by using the parameter "-LL" with the linux commandline tool "unzip":
unzip -LL filename.zip
Info: There's another very interesting, somehow related project porting classic TCP/IP services to MS-DOS: mTCP. There, you'll have a DHCP client and a lot more stuff you're used to from modern systems, but I didn't manage to get this working for now... I'll keep you updated on this..
"DOS without 4DOS? Never again" was one of the catchphrases, that popped into my mind the second I saw the default boot-sequence of MS-DOS..
To be honest: I had no idea, why this was and I guess, I still haven't found out about half of its features, yet, but here are four that made DOS usable for me, again:
- TAB completion
- Colored directory indexes
- Insert by default
There's also a v8.0 of 4DOS, but I could'nt manage to install it on my plain DOS machine. My uneducated, fast and unverified guess is, that this version is for later DOS-Versions that came with WIN95 and 98..
4DOS became Freeware at v7.50, so you can legally download it on their website: 4dos.info.
Extract it the self-extracting archive on your modern PC (make sure all the filenames are lowercase, when using NFS to push it to your vintage PC) and copy them to your vintage PCs directory C:\4DOS.
Now, you'll have to edit your config.sys for the first time. Still looks familiar, doesn't it? ;) But there's no need to make all the changes, you might still remember. This'll be done automatiaclly at the next step..
Simply attach the following line to the bottom of your file:
SHELL=C:\4DOS\4DOS.COM C:\4DOS /P
Save, exit and edit your autoexec.bat by attaching these lines:
Save and exit.
For 4DOS to become even awesomererer, you'll need to configure it. I found a nice example 4dos.ini with comments on the internet and modified it a little bit to match my taste and needs:
Copy this ini-file completely, partially or not at all (as this step is optional..), but reboot when you're finished...
Now, 4DOS is enabled. Dispatch a "dir" to see it at work. Or even better: type "di" and press TAB. :)
Again: There are newer versions of this, but v8.03 is the one working best for me...
One thing about DOS was it's memory management. There were 640kb of base memory and the more you had free, the better it was (and you were! ;) ).. THE tool, I always used for this was QEMM: The Quarterdeck Expanded Memory Manager.. First of all, it's a better replacement for Microsofts EMM386.EXE, but it also comes with a pretty good optimizazion tool for freeing up as much of your 640kb base memory as possible.
This is classic abandonware: Quarterdeck was aquired by Symantec in 1997, v8.0 of QUEMM was released in 1995 and support has long dropped. So, you'll find various sources for it on the internet.. One is vetusware.com (Update).. There's also a serial included with these archives...
Extract all the archives of v8.0 to one directory on your NFS share and the update to another. Beware of uppercase filenames!
On your vintage PC cd to the directory you just created on your NFS share, start INSTALL.EXE and follow the instructions. You can find a working serial in the file "KEY".
When asked to run OPTIMIZE, say no and simply finish the installation. Then copy over the upgrade file QEMM803D.EXE to your QEMM installation dir (e.g: C:\QEMM), run it, then RUNME.BAT.
Reboot, when done. Then run optimize manually by invocing "OPTIMIZE.EXE".
This will reboot and analyze the shit out of your PC and you'll end up with a decently optimized boot process and a maximum of available RAM.
For even more RAM, you can tweak your QEMM settings with "QSETUP.EXE": Try enabeling "Stealth ROMs" at "(P) Review or change QEMM parameters". If it breaks, you can still revert your changes later...
Always remember to rerun OPTIMIZE.EXE everytime you change anything with your config.sys, autoexec.bat or, of course, your QEMM configuration...
Now, your system is setup decently and ready to be used and abused...
But there's more! All these little tools and helpers making your everyday easier: An ANSI driver, mouse drivers, vesa driver, doskey, norton commander, ....
For BBSing and general kewlness, you'll need an ansi driver. There's one included with MS-DOS, you can simply enable by adding the following to your config.sys:
Don't make it "DEVICEHIGH", but run QEMMs OPTIMIZE.EXE afterwards...
You can also use a modified ansi driver from the FreeDOS project.
Yeah, well.. ..Depends on your mouse.. I found the matching one for my ATI Vantage Mouse (yes, it's connected to the VGA adapter!) over there: ps-2.kev009.com.
|ATI Vantage drivers||Download|
Same goes for your graphics adapter: For plain textmode, you don't need a driver, but when it comes to graphics, at least a generic vesa driver can come in handy. A specific one for mine came with the same archive containing my mouse drivers..
|ATI Vantage drivers||Download|
For a bash-like command history when pressing "cursor up", you'll have to install DOSKEY by attaching it to your AUTOEXEC.BAT:
Save, exit and rerun OPTIMIZE.EXE...
The original..! ;) Find it at vetusware.com...
|Norton Commander v5.5||Download|
And there's more: More specific to my own personal setup and needs:
THE Soundcard in the 90s and the reason, I started all this in the first place...
There's a website collecting all the installation disks and files, so there you can find everything, you need, for your beloved GUS - no matter, which revision: gravisultrasound.com.
Remember rerunning OPTIMIZE.EXE after installation...
|Gravis Ultrasound Drivers||Download|
SoundBlaster 32 / AWE32
According to the internet, a SB32 is an AWE32 without onboard RAM you can use AWE32-drivers for your SB32 - all you need is RAM.
What was really shocking was were I found the drivers: On the official Creative Labs download page! :D Now that's what I call LTS! ;)
|SoundBlaster 32 Drivers||Download|
The version, you want to run, is v2.08. There is a v2.09, but this was beta and buggy... Find it over at scene.org...
Hints & Clues
While setting up this beast, I encountered various problems. Some of them were already described and/or avoided at the text above, but some deserve their own section:
HDD > 400MB
During times there were various soft- and hardware limits to harddisk sizes. The one, I encountered, was "400MB"... My AMI BIOS from 1993 correctly recognizes HDDs up to 8,4GB, but MS-DOS can't handle so many cylinders. But there is help: Something, I never knew or used: OnTrack DiskManager.
This tool software-emulates less cylinders, so DOS can handle 'em. This is no problem, since even back in the 90ies, the cylinders-setting of harddisks was nothing but software-emulated fake for backward-compatibility purposes. (Read more at wikipedia...)
I never got to write the needed disk-image with the version above (I guess it's because of the USB connection..), but there also was a version made especially for my harddisk by Maxtor, you can find over at ibm-pc.org...
This partitions your HDD and installs to $somewhere (I honestly don't know - can't be the mbr, 'cos I rewrote it after that and it's still working..), but it's OS independant, so if you get the generic version of OnTrack DiskManager running, you can boot from that disk, prepare your harddisk and then install MS-DOS to it (without re-partitioning the hdd!).
Since my PC came with a 200MB HDD installed and I got the 8,4GB one way later, I went another way:
I had MS-DOS installed to my 200MB HDD and used it together with the Maxtor edition of DiskManager to prepare the new 8,4GB HDD connected as primary slave.
Later, I formated the to-be-drive-c using "/s" to make it bootable:
C:\> format d: /s
and simply copied over all the rest using norton commander.
This should normally be enough and rewiring the HDDs to make the new one primary master should be sufficiant to boot it.
If it doesn't, maybe the partition isn't marked "bootable", yet. I tried doing it with some linux recovery distribution, but somehow, this didn't work.. So, I downloaded a MS-DOS Bootdisk from allbootdisks.com, rewired the HDDs (remember to manually run HDD auto-detection at your BIOS everytime, you rewire.. ..And don't forget the jumpers (Master/Slave/Single) and cable positioning (Last position = master, middle = slave)..! ;)
I booted from that floppy, ran fdisk to mark the partition, just created, as bootable / active, saved the partition table, rebooted and it worked. :)
At some point, I also issued an extra "fdisk /mbr" on the new partition to rewrite the Master Boot Record, but this should'nt be needed - I'm just noting it to be sure...
DOS is picky with its configuration, especially the memory managers, so you'll need special boot-sequences for many games and demos.
Since MS-DOS v6.22 does support a simple bootmenu, I've created some configurations for my most usual scenarios: With and without networking, with and without QEMM, with or without EMM386.EXE...
This is pretty easy. Simply edit your config.sys and autoexec.bat to match the following examples:
Menuitem=JUMPPOINT1, First Configuration
Menuitem=JUMPPOINT2, Second Configuration
REM Common configuration to be loaded with every menuitem
REM First configuration goes here...
REM Second configuration goes here...
REM Common configuration to be loaded with every menuitem
REM First configuration goes here...
REM Second configuration goes here...
REM More common configuration or eof...
Work in progress
Since I'm still fiddeling with this continuous source of joy and I'm still learning and remembering stuff every day, this article is WORK IN PROGRESS for now.. ..I'll keep updating it with more hints and clues the next weeks and months...
And I guess, I'll make it more readable, too... Soon... ;)
sharing a thoughHello mate,
My name is Jorge and I work as a machinist, that is, cnc and conventional machining with milling machine and lathe.I have a degree in mechatronic engineering and this allows me to go very much in depth about the maintenance of these computer machines.
At home a have a large ammount of motherboards, 72simms processors, expansion boards etc that I put in a box and scrap for half a dozen euros. Collected all this stuff by not throwing away anything, and every time I had to upgrade I always but second hand/second generation. I upgraded but was always behind. And I still am. Helps me saving a few coppers. I didnt scrap the basket and after seeing that you paid 150 dollars for a pile of old junk I found it unbelievable. Anyway,my decision of keeping the hardware was based on the maintenance of old cnc machine. many have a i386 computer, or 8086, that can be replaced very cheap using the hardware that I have.
Isa bus if fundamental in industry and a motherboard can cost 500 euros easily.
People dont believe me when I say that although its old, it does its job and it does.
And I find them computer parts more reliable also.
So, I'm on your side, supporting the use of old hardware to do the same job, ( or the job we used to do years ago, like playing those files).
So, instead of throwing old things into the bin, I am going to buy some decent racks and store it all nice and neat. Its like puting my money in the bank for interest, for a decade or two ??