The x86 processor family is for the time being, the most ubiquitous type of processor in the PC world, and has been since the 1980s when the IBM PC came on the scene. Emulating these older devices is easy enough if you want to play an old LucasArts game or experience Windows 3.1 again, but the true experience is found on original hardware. And, thanks to industrial equipment compatibility needs, you can build a brand new 486 machine with new hardware that will run this retro software as though it was new itself.
[The Rasteri] masterminded this build which is reminiscent of the NES classic and other nostalgic console re-releases. It’s based on the PC/104 standard which was introduced in the early 90s, mostly for industrial controls applications. The platform is remarkably small, and the board chosen for this build hosts a 486 processor running at 300 MHz. It has on-board VGA-compatible graphics but no Sound Blaster card, so he designed and built his own ISA-compatible sound card that fits in the PC/104’s available expansion port.
After adding some more tiny peripherals to the build and installing it in a custom case, [The Rasteri] has a working DOS machine on new, bare-metal 486 hardware which can play DOOM as it was originally intended. It can also run early versions of Windows to play games from the Microsoft Entertainment Pack if you feel like being eaten by a snow monster while skiing. [The Rasteri] is no stranger to intense retro computing like this either, as he was the one who got DOOM to run on original NES hardware.
486 at 300MHz? What black magic is this?
This project is super cool, and a testament to the authors commitment and skill.
But the VSX-6154-V2 is like $340 used on ebay, companies selling it won’t even tell you what it costs. Then you have to build front panel and the sound-card from scratch. I’ll just go with having my PCs in the office instead of the living room, then I can be lazy and have full-size machines with olden hardware instead xD
In fairness I’ve been idly shopping for one and a used 486 will also run a few hundred bucks on eBay. You can (and should) be patient and find one for a much saner price, but that’s true of these little embedded machines as well.
The real tradeoff is a full-size PC will be a more authentic experience. Out of the box it’ll accept standard ISA cards, and if you get the right board, VL bus or PCI expansion cards. No *specific* effort required, but there’s a catch.
Vintage micros are just that: vintage. Even the most lovingly cared for machines will have accumulated thirty years of grime that needs cleaning. Caps and batteries will need checking to ensure they won’t/haven’t puked caustic gunk everywhere.
If you go back far enough you’re going to find that even mundane stuff is expensive and increasingly hard to get. A CRT that supports RGBI/CGA for example will run you a few hundred bucks, plus a substantial amount for shipping because those suckers are fragile and *heavy*. Honest-to-god mechanical hard drives can and will just drop dead for no apparent reason.
Old PCs, and really all vintage micros are niche enough that if you want to get into any of them, it behooves you to do a bit of research first and figure out what you *really* care about. Start with emulation. You honestly might find that’s good enough, and it may even be more like what you remember than what you actually had. You might decide you want something tangible but still modern–the mini Nintendo systems sold like hotcakes for a reason. Or you might find you love painstakingly restoring and maintaining these old systems. Really there’s no wrong answer, just make sure you know what you actually want.
That’s true, ofc, I’ve never bought any retro gear, I just picked it off of the curb as it was set out, so I’ve no feel for the prices.. Except for that one machine of my childhood that slipped away, and I’m wondering if I should put out the multiple hundred bucks + a drive from Denmark to Italy to pick it up :/
I recommend DBGL, dosbox game launcher on windows (Think there’s linux ver too) for point and click retro PC gaming under emulation, or waiting until I clear my basement out on Tindie fleamarket for the real deal. :-D
BTW if you’ve found the default dosbox package on Ubuntus suck, that’s because it does, compile and install from source and you get a newer version 1.9 I think, that is a lot less glitchy and runs the games 1.8 didn’t.
Dosbox is version 0.74, there is no version 1.8 or 1.9 of it.
I’ve found the best dosbox packages can be found here which are built daily off trunk
https://launchpad.net/~i30817/+archive/ubuntu/dosbox-patched
If you just start telling people you are looking for old pc’s people start handing them to you. Just before the Holiday break @ my work a tech handed me a 386SX 25 with a sound blaster and cd rom + a CRT (ugh yay) saying his parents were cleaning the garage
Before you short out your CDROM drive or sound card, be aware that there were interfaces other than PATA on soundcards for CDROMs, the soundblaster pro interface, the mitsumi and panasonic interfaces. .. and they all look close to IDE. There was also one called Aztech or Astech, which may or may not be IDE, ppl used to speak like it was something different, but I had 2 cards back in the day with it on and it was IDE on those. Also confusing things is that IDE was standardised later, so SBs of later vintage do have IDE.
Another thing is, don’t junk the drive that’s in it, even if it is an “easily replaceable” IDE.. particularly if it’s a 2x speed. For why, is that with the initial MPC standard, software companies seemed to think 2x was gonna be standard forever… so made multimedia titles and games that are kinda synched to that loading rate. What this means is, the disk spins steadily, the content plays steadily, it’s a reasonable experience (Given they might have been reaching a bit with the tech of the day) however, stick an 8x or 16x drive in and it’s going zeeeep zeeeep *power down* *stall* zeeep zeeeep *power down* *stall* all the way through the content and yah, it can load the next 16 seconds in 2 seconds but it has to spin up for a second to do it, which is a stuttery mess. There’s a number of “Multimedia PC” titles that are like this and a few games around 94ish era. There’s some later titles that seemed to much prefer an actual 6x or 8x, but not many, and most devs had “got an actual freaking clue” by then and made sure they loaded content gracefully whatever the speed of the drive. Also some drives are better than others at using multiple speeds, reading slower when required, but a real 2x is a real 2x and will make mid 90s stuff play right.
thanks I was alive before 1980 though
Wouldn’t a solution that doesn’t rely on ancient hardware be to have a hypervisor that transparently caches the CD to RAM in the background?
I had it on my ’93 68k Mac Quadra. It was also great for booting, because it didn’t take time spinning up. Not that there were too many OSes to boot from on a 68k Mac (well, Drive 10 was a great utility that did) I continue to rave about it when the subject of CD-ROMs and retrocomputing comes up.
I really hope PC/104 homebrew scene will appear sometimes soon. So much untapped potential for small modular devices!
There are a number of projects to replicate an XT class main board (with varying amounts of extra hardware in board e.g. video, disk controllers, serial/parallel ports etc).
I wonder if the same could be done for a 486 class machine?
The ao486 FPGA core as made tremendous progress so it’s in the realm of possibility. Last time I’ve checked the then issue was finding an FPGA with enough IO ports to implement a real ISA bus with physical ISA connectors. PCI isn’t on the table (yet?) but I’d love to be corrected.
Modern FPGAs are very, very fast compared to ISA, would it be easy to have a bunch of latches multiplexing the ISA bus to a single 8 bit bus at a much higher frequency?
Think you’d have to do something anyway to slow the ISA bus down to 10Mhz or less, 8 for best compatibility. If you ever wanted to run original ISA peripherals on it. I had a few cherrypicked ones that coped with 12.5Mhz for a blazing fast DX50 build back in the day, but that’s really not typical.
So say you’ve got the core running at 66 for DX2 66 speeds, you might implement an on FPGA svga controller, since you’re not getting PCI out, and SD card HDD emulation for primary HDD… then you can 8:1 multiplex all the i/o and address lines for the ISA.
Back in the 90’s there used to be a lot of vendors selling 8088 SBC’s for a $100 or so and included Borland C as a development too. And some were PC/104 boards.
It’s too bad those vendors aren’t around today. I wouldn’t give any hobbyist variant the time of day. They all tend to lack documentation, support and software.
ATX-compliant new-fab 2/3/486? So you can use new cases
I was thinking that since this project included a PC104-to-ISA adapter, perhaps it wouldn’t be much of a stretch to make a Mini-ITX carrier for a PC104 board (or maybe even MicroATX, if PC104 can be split out to multiple ISA slots). Put a bunch of connectors on to break out PS/2, USB, Ethernet, etc.) and bring them to the back edge.
I was having an idea last week that one might be able to futz around with the JTAG interface on a 486 (and emulate interfaces on SBCs/dev boards) until you provoked it into some basic mode of operation that let you do 16 bit stuffs, over a couple of square feet of breadboards… but you’d get a 25Mhz XT rather than a “486 class” that way. But might lead to finding stuff out for real chipset implementation.
My first LAN gaming event, I had the AMD “586”, which was a 486 clocked at 133mhz. It was in a wooden case that had a 2x30watt amp built in with two 4” (or were they 6″) speakers built in that my dad made. Getting doom to room over IPX on Win95 took a little work, but it was great fun.
The problem with trying to make a project like some of the 8088 cpu like projects is that anything much newer than a 286/386 class machine used chip sets to consolidate a lot of the glue logic on the boards. While you might be able to replicate this in discreet logic, you’ll probably end up with a motherboard the size of a dinner table. Likely most of these chip sets are long out of production. Perhaps salvageable off broken boards or the rare NOS that might be out there on ebay or sketchy Chinese sites.
Didn’t watch the video but AFAIK the fastest 80486 CPUs were running at 150MHz.
How did he get to 300MHz? Which 486 CPU runs that fast?
AMD continued die shrinking and tweaking their “Dx-5” 486 class CPU for embedded applications into the first few years of 21st century. Couldn’t get one to plug in yer old socket 3 (or 6?) board though.
My guess would be one that some manufacturer is still currently producing for things like these industrial SBCs. Everything regarding the instruction set and other 486 quirks are probably kept intact for code compatibility for software that cant run on more modern processors and can’t be rewritten for one reason or another. Probably the only difference is shrinking the die process down to something more modern and being able to jack up the clock speed due to using modern processes to create the chip. This is probably another reason for the costs. Such a chip still being produced today would probably be of such low sales volume that the price is going to be jacked sky high to cover the costs of using some contract chip fab to produce it.
I don’t think we’re truly looking at a 486 here. The Vortex86 traces its lineage back to the Rise mP6, a chip that was available for socket 7. It does offer 486-level performance though, given how cut down it is. I think the last true 486s you’d find in single board computers would be from AMD or ST in the early 2000s.
If I can downclock this to around 80mhz, I’ve got some games to run. Some of the old games I have didn’t really do clock limiting very well and run way too fast at 300Mhz.
BTW should you not want to roll your own, wait (Indefinitely? No activity this year) for PC Classic mentioned in vid, and want to have a tiny box PC for the living room… Beelink have android box scale mini PCs on Bezos’ Bazaar for well under $200 and should run DOSbox 1.9 perfectly, which will give you 8088 to early PII era games. Then should also be able to handle natively late 90s to early 00s games with suitable VMed OS install (and glide wrappers or whatever your allegiance is).
In theory you can use DOSbox on a $50 or less android box but I have yet to see a DOSbox port for android that doesn’t have one major issue or another. Bochs on android seems a bit more useable. El cheapo suggestion is find a bargain basement “R69” android box, they’ve been seen sub $30, put RetroOrangPi distro on it, then use MESS and MAME for cycle perfect early PC configs (Tandy and IBM are in there I think) DL and compile DOSbox from source, to avoid the out of date and flaky version in the Debian packages, and that should do you up to about Pentium 150ish performance, maybe better.
DOSBox for Win32 can also run under pure DOS using HX DOS Extender.
Also, 86Box/PCem can -more or less- accurately emulate 8086 to Pentium II era PCs, including the old chipsets and original BIOSes.
That way, you can enjoy the old 386/486 AMIBIOS in its disco like colour scheme.
Or use the old WinBIOS that looks like Windows 3.x. :)
I’m late, by hackaday standards, practically necro-posting, but emulating DOS on DOS??? Mind blown! Although the memory paging issues of DOS were brain twisting to begin with. Those who learned programming on DOS had trial by fire. It’s no wonder Microsoft continued to hold them in high esteem long afterwards, even after finally getting to a WinNT base
This is industrial 486 at 300 MHz. This is not classic PC that “apartment” or “backyard” hackers are used to. This is stuff running critical machines on industrial sites where thousands of people are going to work in the morning and leave at 4:00 PM.
Thanks for the tips. I need ISA combined with an Intel Core-i7.
What does the speed of this CPU mean for some retro games which require a “turbo button” because they run too fast on anything faster than an 8088 at 4.77mhz? There was never a 300mhz 486 back in the day. I can only imagine how fast one of those games would play on this. Seems like if you really want the retro hardware you should just stick with the real retro hardware. Things like caps don’t often go bad on these. The biggest problem of old retro 386/486 boards is the damn NiCad batteries many of these used for the RTC/CMOS back in the day before the Dallas RTC/CMOS/Battery modules or just a plain old coin cell started to be used. These NiCad batteries will leak out and destroy the traces on the board. If you do have any of these retro boards in your collection make sure to remove that NiCad battery NOW. These can be replaced with a NiMH drop in equivalent or a supercap. You could probably also put in a battery holder for a typical lithium coin cell, so long as you disable the circuitry that would have charged that NiCad.
It means the game launched, ran the demo, you died, and it exited to DOS before your finger lifted from the enter key
To go fully into this is a 5000 word essay, or dissertation LOL
First, 486 class machines never had PC/XT compatibility in their turbo modes, they either went back to 8Mhz for AT compatibility or turned off L1 and/or L2 cache which made them more bus synchronised. Possibly this made some PC/XT software work better, but it would have been fairly well programmed in the first place, just didn’t have enough adjustment in it’s timing loops to cope with something more than 3 times as fast or so. These can also be handled by software slowdown utils (provided that util doesn’t have the same fault, it allows 10x slower for fast 486s but not 50x slower for a PII) Unlike :
a) Software which took it’s timing from the 4.77Mhz bus speed, or
b) Software which relied on the exact amount of time and/or clock ticks for particular instructions to execute.
a) will be tripped up by anything that doesn’t run at 4.77Mhz, some Turbo XTs had this fallback in their Turbo mode, carried over to some 286es, but 386 and up mostly seemed to have AT compatibility fallbacks. However, this mode isn’t processor inherent and it’s possible to get into your BIOS and force bus timing low enough to get things to work (May also require downclocking of the system clock, not easy if it’s a crystal, and math, ummm what’s 33 divided by 7)
b) falls over on pretty much anything that isn’t an 8088 or direct clone (i.e. Harris, AMD etc 8088). V20s or V30s running at a precise 4.77, nope, sorry, they took a couple of cycles out of some instruction times. Some of it may actually run (but faster) on intel 8088 turbo XTs that run at 6, 8 or even 10Mhz not caring about the clock so much but the number of ticks.
Mostly depends on what variety of bare metal or BIOS rather than DOS system call dependence shenanigans the programmer was pulling, we can forgive it before 1986ish, one PC to rule them all, why would you need to do different? It was questionable up to 1990, and plain stupidity/insanity/pig ignorance after that. Though we still could get the lack of sufficient calibration room in the timing loop problem (Why should I code for an x86 that’s 1000x as fast? 10x should be enough. We’ll be using transputers by then…)
PC/104, thats a flash back. I use to work on PAR POS Systems that used PC/104 boards. By 2010 I saw a unit that came from McDonald’s. Had a Pentium CPU running at 90MHz, 8MB of RAM and a 40GB Hard Drive. Best part was it had MS-DOS 5 running on it.
if it’s old games you’re after, you might be better off running this https://github.com/rossumur/esp_8_bit on a lilygo ttgo vga32 board
You can use Nero DriveSpeed (or alternatives) to set the max speed and the delay before the spin-down.
Retro PC’s are in the 300$ range or more now if you want one that isn’t seriously broken and even then your taking a chance since it’s Junk Bay. I’ve gotten 3 different ones and all had various issues despite it looking good on pictures. Dad got two Commodores back in the early 2000s at different times to replace ours that had a broken J key and guess what? Despite the pictures they ALL had a broken J key!!! Back then though you couldn’t return broken stuff so were stuck with it.