Do you like my hacking? If so, please consider leaving something in the
Fediverse (Mastodon etc): @Sprite_tm@social. spritesmods.com
While you might already know that the Steam Deck was not the first machine to be a gaming-first portable PC in a tablet/controller shape, the idea actually is pretty new. Although examples like the GP2X and the Pandora already popped up from 2005, these machines ran Linux and weren't really capable of running mainstream games that you could just buy off the shelf: they were mostly used for emulating older consoles. The first thing that could be called a game console that could run a fair amount of PC games would be the GPD Win introduced in 2016 (although Via had an idea about an x86 console even earlier, around 2025, but it never materialized).
Why was it only in 2016 that this idea materialized into an actual commercial product, given that viable laptops were already around way earlier than that? There's likely multiple reasons. Very early on, I'd say the screen would be the limiting factor: STN, the LCD technology around that time, had pretty bad smearing issues; only the introduction of TFT screens (around 1995) made games expecting the direct response of a CRT bearable. Storage would be another factor: flash storage was expensive and small early on, and actual spinning hard disks would be the only viable alternatives. That all gets at another reason: all that uses a fair bit of power and that needs to be provided by the batteries from around that time. LiIons, with their high energy density, weren't around yet, so you'd have to get all that from NiMH batteries, meaning your off-the-grid gaming sessions would have to be pretty short. And as the console would need to use cutting edge and as such expensive technologies, on top of PC/laptop hardware that was pretty pricey around that time anyway. (A typical laptop with TFT display would have been around US$3000 in the late '90s, or US$6000 in 2006 prices; as a comparison a 2026 Steam Deck is around US$800.) With those downsides and a price tag like that, a 1995 Steam Deck would have had very limited appeal.
But what if we could bypass that? What if display technologies were not an issue, and we had access to modern LiIon technology and flash storage? Well, I now have the platform to make that work: a 486-based portable DOS-based gaming rig in the form factor of a modern Steam Deck.
To make that work, I'd need a few modifications to the design. The majority of the mainboard is OK, but I needed to modify the power infrastructure a bit to handle running off LiIon power (for instance, I can't steal the 5V for the USB-A ports directly from the USB-C connector anymore, and I need a PMU (Power Management Unit) to supervise LiIon charging and power path handling. I also need to have some way to handle inputs and soft power on/off. Finally, I need a nice and bright LCD, plus the logic to drive it.

LCDs for retro-machines can be a bit of an issue. Most LCDs are in a widescreen 16:9 format nowadays, but back in the day, a 4:3 aspect ratio was a lot more common. One way to go is to get one of the more common available widescreen displays, and either stretch or letterbox the image. This never really looks good, however.
I got lucky, though. The form factor I wanted to have (Steam Deck-ish) could accomodate a 5"-6" LCD, and I didn't need that high of a resolution - 640x480 is good enough. For some reason, displays like that are still produced; I could source a 5.7" 640x480 LCD from multiple manufacturers. And these aren't aged designs either: the LCDs are modern IPS panels with great specs: no matter from where you look at them, the image will be bright and crisp without any smearing. Not very retro, but excellent if you want to concentrate on the games rather than the display technology.
These LCDs have a parallel interface, which is great because that is directly compatible with the LCD output of the F65545 VGA chip I'm using. All I needed to add was some extra muxes on the RGB lines so I could switch between it and the OSD, in the same way I did for straight analog VGA out. The LCD also needs a fairly high backlight voltage, but there's dedicated ICs to generate that; integrating one of them was straightforward.
For LiIons, I decided to go with a pair of 21700 LiIon cells. These cells have a pretty high capacity (4800mAh) which is needed because while the system is more efficient than you'd expect given the processor is a normal desktop CPU, the 8-ish Watt of power draw still means I need some beefy batteries to have any chance of a decent battery life. I spot-welded a protection PCB and a thermistor onto them, then put them into heat-shrink tubing in order to make a battery pack that should be able to withstand some abuse.
I decided to put the PMU on a separate PCB; the logic being that if I messed up that part, I only would have to respin the PCB for the PMU and not the entire machine. The PMU connects to the twin batteries on one side, and on the other side it takes the USB-C power and spits out system power. There's also an I2C bus in order to allow the ESP32 to read status and configure the PMU according to what current the connected USB-C charger is able to deliver. The PCB itself contains a STC3115 battery gas gauge as well as a SGM41511 battery charger and power path. With this, the machine can run off batteries, charge them, and report the state of the batteries back to the user.
Aside from the mainboard and PMU, there's also a button PCB which is large but sparsely populated. It's large because the buttons live there, but there's also the backlight inverter, a RGB led plus I2C controller for it to indicate the status of the console, and various passthrough connectors to the LCD and the touchpad.

I designed the case in OpenSCAD. While OpenSCAD might be excellent parametric designing software, it's not trivial to get organic-looking shapes out of it, making the console look a bit more like a brick than modern handhelds. However, looking at the chunky, square design language of laptops of the era, this might be more of a feature rather than a bug.

While I made a fair amount of prototypes on my plastic-squirting 3d printer, for the final model I decided to outsource the print to a company that could do resin printing. I'm really not unhappy about the result: it's a chonky game console, but it fits well in the hand and looks the part. As with the insides, it's hard to figure out what era it belongs to: the large screen and the modern ABXY buttons (stolen from a Nintendo Switch Pro controller) make it seem contemporary, but the chunky appearance and the VGA port make it feel older than it is.

Running MS-DOS 6.22, it can play most DOS-based games just fine. The integrated speaker can play both PC-speaker beeps as well as the Sound Blaster output. Because I had some space in the ESP32, I even implemented a variation of TinySoundFont to get a built-in MIDI synthesizer, for if you're sick of the OPL3 on the Sound Blaster.
The D-pad and 4 buttons generally work fine for most games, and if not there's three more buttons that map to useful keys like 'enter' and 'escape'. If that's not enough, the on-screen display can give you a virtual keyboard to e.g. enter your high score. For games that require a mouse, the area below the D-pad contains a trackpad that emulates that. And you can still plug in a USB mouse or keyboard for even more control. Here's a little video that shows off the features and some games:
The screen indeed looks great, and the battery life is pretty good, a few hours at least. Given the fact that it's derived from the idea of the Steam Deck, I christened it the VapourDeck. As with vapour, it's not as powerful as steam, but it's a lot cooler! The second meaning is that given the oddball mix of old and new components, I don't ever see anyone commercially producing this, making this vapourware of a sort...
As usual, the design is entirely open-source and you can fetch it from Codeberg. Do note the issues, though if you want to build your own: some items might still be a work-in-progress.
0 comments