Hey, and welcome back to UcMadScientist. As you might know from my Previous Article. I recently reverse-engineered the VGA pinout on a Sonus/Ribbon SBC 1000’s ASM.
The ASM is an interesting module as it’s more of a server than anything else with its own little bus to the main SBC processor and connection to the internal ethernet switch. But it was clearly never engineered to run Doom.
Update: I threw it up on YouTube!
Get to the good part!
Anyway, enough of that, you came here to see stuff running on something it shouldn’t!
After the recent post about getting to the VGA port, I was prompted by Chris over on Twitter, saying I had to try Doom.
Well, that’s easy enough I guess. Now that we have access to the VGA port of the ASM, we simply need to load something on here that can play Doom.
With a spare USB Key and a copy of Rufus, I quickly downloaded FreeDos, Flashed the USB Key and coped over an old copy of Doom.
After inserting the USB and rebooting, FreeDos starts just fine and I can change directory to C:\Doom and run Doom.exe
Bam, Doom. On an ISDN gateway.
Pfft, Doom… Always bet on Duke!
As a kid I never actually played Doom 1, Sure I did wolf 3d when it came out, but my family sold that PC to my uncle. After building a new PC I cut my teeth on Doom 2, and it was actually visiting my uncle and watching him play it on my old 386, that made Dad and I go out and buy a SoundBlaster/CDRom combo the next day! As our 486 DX didn’t have a soundcard till then.
With a CDRom drive, came my true childhood FPS, Duke Nukem 3D! In fact, in high school, I regularly visited friends houses to remove the Australian government mandated maturity filter 3D realms used to make the game MA15+ instead of 18+. As Australia didn’t have an 18+ classification for games back then, So if it was considered 18+, it was flat out banned. So of course I had to try out ol’ Duke.
Unfortunately, in FreeDos I was met with a ton of errors relating to the sound setup, and I couldnt run Setup.exe because it would refuse to see the keyboard. No matter what USB emulation I set in the bios or USB drivers I loaded. Duke3d or its setup wouldn’t see the keyboard, game over.
Thankfully I could cheat a little bit, digging through an old bin of ISO’s, I found my old trusty Hirens Boot ISO. This was brilliant in that it had a fully self-contained LiveCD version of Windows XP that could run on pretty much anything. Later versions moved to Windows 7, but I wasn’t complaining.
After booting up the Hirens Mini XP image, it was as simple as setting my resolution to 1024×768, copying across DosBox and running Duke from there.
Emulated Duke Nukem Goodness, even if it is running like a potato.
This is all a bit “Unreal” don’t you think?
Well, yeah. But we have a functional PC in here. So we can pretty much run anything. In fact, one of my Twitter followers suggested Quake III. As was typical for my childhood, I was always the “other” kid. Sega instead of Nintendo, Sailor Moon instead of Speed Racer, and Unreal Tournament instead of Quake 3.
Ironically, a week earlier I had spun up a UT99 server to show my kids what FPS’s were like when I was a kid, so it made perfect sense to try that on the XP live CD… which failed, probably because Direct X was missing.
Nevermind, I’ll just install Windows 10 and run it on that.
The windows 10 install took close to 2 hours, plus another 3 hours of it constantly trashing the disk installing updates on first boot.
But I even got my old Pony meme screensaver running (If you ever left your PC unlocked… You got this)
But we got there, UT99 launches, and even gets 60FPS just fine.
Windows 10? what?
Yeah, you got me, I cheated a bit. In the SBA we have an ASM card. On it, we have a Celeron P4505 with 2 cores clocked at 1.87 Ghz from 2010, 4GB of DDR3 and a 160GB Hard Drive.
Unfortunately, the real issue here isn’t the CPU, or memory. Where this little server on a card falls over, is it’s built in hard drive. A 2.5-inch Laptop drive running at 5400 RPM. With about 1800 bad sectors.
To give you an idea of how far back that CPU is, it’s a 32nm processor with 382 million transistors. With today’s CPU’s packing in 15.2 billion transistors at 7nm! Regardless, even back then, this CPU wasn’t designed for performance, it was a task-specific CPU and perfect for what it needs to do. Low processing overhead work that needs an x86 core. For a light Windows Server for example.
Because it can run Windows, that gave us the ability to install Lync on it, and thus the Lync Survivable Branch appliance was born. In the event a remote site couldn’t connect to your main data centre, the SBA would take over and allow for reduced communications whilst things came back online. Neat.
Honestly, not much. As we know we can run DOS and Windows on it perfectly fine, we can pretty much run most things over the last 30 or so years. Assuming it doesn’t need a recent CPU or GPU.
But soon, I will be replacing that failing HDD with an SSD and installing the new Teams SBA image on it, Ready to go into my new series on Teams and SBA’s. Keep an eye out for that.
I tired as a joke to overclock the CPU, yeah, didn’t work.
Anyway, hope this helps.
Pingback: Local Logging on Sonus/Ribbon SBC1000 without an ASM? Can we add it? - UcMadScientist.com