If there is one thing that Sir Clive SInclair was famous for, it was producing electronic devices that somehow managed to squeeze near-impossible performance out of relatively meagre components. This gave us some impressive products, but it’s fair to say that sometimes this philosophy pushed the envelope a little too far. Thus even some of the most fondly remembered Sinclair products concealed significant flaws, and this extended to both their hardware and their software.
The SInclair ZX spectrum’s ROM for example had more than its fair share of bugs, and its BASIC programming experience with single keypress was unique but also slow to run. It’s something [Jonathan Cauldwell] has addressed with his Arcade Game Designer ROM, a complete and ready to run replacement for the original Spectrum ROM that contains a scripting language, a compiler, editors for in-game assets, and a game engine upon which to run your games. It’s the ROM you wanted back in 1983, when you were struggling to fit a bit of Z80 code in a Sinclair Basic REM statement.
If you’re a Spectrum enthusiast and think this sounds a little familiar then you are of course correct. It builds upon his past work with his Arcade Game Designer, with the distribution by ROM allowing the developer to use the full 48k available on all but a very few early 16k machines. You’ll need your own EPROM on which to burn it, but we suspect that if you’re the kind of person who has a Spectrum and has writing these games in mind, you already have access to the relevant equipment.
If you’ve scrolled through the list of boot options offered on any PC’s BIOS, it reads like a history of storage technology. Up top we have the options to boot from disk, often a solid-state drive, then USB disk, optical drive, removable media, and down the bottom there’s usually an option to boot from the network. Practically no BIOS, however, has an option to boot a PC from a vinyl record — at least until now.
Clearly a project from the “Because why not?” school of hacking, [Jozef Bogin] came up with the twist to the normal booting process for an IBM-PC. As in the IBM-PC — a model 5150, with the putty-colored case, dual 5-1/4″ floppies, and one of those amazing monochrome displays with the green slow-decay phosphors. To pull off the trick, [Jozef] leverages the rarely used and little known cassette tape interface that PCs had back in the early days. This required building a new bootloader and burning it to ROM to make the PC listen to audio signals with its 8255 programmable peripheral interface chip.
Once the PC had the right bootloader, a 64k FreeDOS bootable disk image was recorded on vinyl. [Jozef] provides infuriatingly little detail about the process other than to mention that the audio was sent directly to the vinyl lathe; we’d have loved to learn more about that. Nonetheless, the resulting 10″ record, played back at 45 RPM with some equalization tweaks to adapt for the RIAA equalization curve of the preamp, boots the PC into FreeDOS just fine, probably in no more time than it would have taken to boot from floppy.
It will come as no surprise to the average Hackaday reader that what we’re looking at here is a pocket-sized NES emulator, but until [stacksmashing] cracked his open, nobody was quite sure what kind of hardware is was running on. Thankfully there wasn’t an epoxy blob in sight, and all of the chips were easily identifiable. Armed with the knowledge that the Game & Watch is running on a STM32H7B0 microcontroller with a nearby SPI flash chip holding the firmware, it was just a matter of figuring out how the software worked.
But he was able to dump the RAM through SWD, which allowed him to identify where the Super Mario Bros NES ROM lived. By connecting the SPI flash chip to a reader and comparing its contents with what the system had in RAM, [stacksmashing] was able to figure out the XOR encryption scheme and come up with a tool that will allow you to insert a modified ROM into an image that can be successfully flashed to the chip.
So does that mean you can put whatever NES ROM you want on the new Game & Watch? Unfortunately, we’re not quite there yet. The emulator running on the device has a few odd quirks, and it will take some additional coaxing before its ready to run Contra. But we’ve seen enough of these devices get hacked to know that it’s just a matter of time.
We know what you’re thinking: this is yet another one of those “Gut the retro gear for its cool old case and then fill it up with IoT junk” projects. Well, rest assured that extending and enhancing this 1970s computer trainer is very much an exercise in respecting the original design, and while there’s a Pi inside, it doesn’t come close to spoiling the retro goodness.
Like many of a similar vintage as [Scott M. Baker], the Heathkit catalog was perhaps only leafed through marginally less than the annual Radio Shack catalog. One particularly desirable Heathkit item was the ET-3400 microcomputer learning system, which was basically a 6800-based computer surrounded by a breadboarding area for experimentation. [Scott] got a hold of one of these, but without the optional expansion accessory that would allow it to do interesting things such as running BASIC or even supporting a serial port. So [Scott] decided to roll his own expansion board.
The expansion card that [Scott] designed is not strictly a faithful reproduction, at least in terms of the original BOM. He turned to more modern — and more readily available — components, but still managed to provide the serial port, cassette interface, and RAM/ROM expansion of the original unit. The Raspberry Pi is an optional add-on, which just allows him to connect wirelessly if he wants. The card fits into a 3D-printed case that sits below the ET-3400 and maintains the original trainer’s look and feel. The longish video below shows the build and gives a tour of the ET-3400, both before and after the mods.
It looks as though trainers like these and other artifacts from the early days of the PC revolution are getting quite collectible. Makes us wish we hadn’t thrown some things out.
You might be wondering why anyone would build device to dump Sega Genesis and Mega Drive cartridges. Perhaps they want to play their well-worn copy of The Lost Vikings on their phone, or they want to keep their QVC Limited Edition Maximum Carnage box set in near mint condition. Maybe. But we’re betting that [tonyp7] was just looking for a challenge, and as an added bonus, the world gets another cool open hardware gadget in the process. Sounds like a good deal to us.
Based on the ATmega324PB, the GenDumper can take those dusty old Sega cartridges and back them up to an image file on your computer. Right now the hardware depends on a Windows program, but according to the documentation, [tonyp7] is working on a platform-agnostic Python script so everyone can play along. What you do with the image file after you’ve dumped it is your business, but presumably loading it up in an emulator would be the next step.
Considering how easy it is to find ROMs for these old games online, do you actually need a GenDumper of your own? Probably not. But it’s still an interesting piece of hardware, and if you look close enough, you just might learn a thing or two from the design. For example, [tonyp7] shows how a relatively easy to work with 12 pin USB-C connector can be used on your USB 2.0 projects to embrace the new physical connector without diving into a full USB 3.0 implementation. The keen-eyed reader might also note there’s a lesson to be learned about finalizing the name of your project before sending off your PCBs for manufacturing.
A perusal of the archive uncovered a similar project from 2012 that, believe it or not, was also tested on a copy of Madden 96. Whether that means the game is so beloved that hackers want to make sure its preserved for future generations, or so despised that they are secretly hoping the magic smoke leaks out during testing, we can’t say.
If you are a devotee of the Sinclair series of 8-bit home computers then a piece of news from the Centre For Computing History in Cambridge may be of interest to you, they’ve released a copy of the ROM from their ZX Spectrum prototype. This machine surfaced last year as part of a donation form the company originally contracted to write the Spectrum ROM and has been given pride of place int heir exhibition ever since. They’ve been doing some very careful work on it, and while The Register reports they can’t yet make the board boot, they have extracted the code for study. In the video below the break, we see it running on the Speccy emulator on an older Windows PC.
The ROM comes with an invitation to the ZX Spectrum community to analyze it against the stock version, in the hope of revealing ossified fragments of code such as that for the Microdrive storage peripheral which never made it into the stock Spectrum. But should you simply want to try your favorite games with the earliest possible version of the ROM, you can do that too.
The original Game Boy was a smash success for Nintendo and has an amazing collection of games. You might relive some childhood nostalgia by booting up a Game Boy emulator, but to really get the full experience you’ll need the battery-draining green-tinted original hardware. Thanks to modern technology you can also load all of the games at one time on the original hardware with this STM32 cartridge that fits right in.
The device can load any Game Boy game (and homebrews) and ROMs can be sent to the cartridge via USB. There were are a lot of hurdles to getting this working properly, the largest of which is power management. A normal cartridge has a battery backup for save data, but using a small coin cell to run an STM32 would kill the battery quickly. To get around that, the cartridge writes the states to nonvolatile memory and then shuts itself off, although this has the side effect of crashing the Game Boy.
The creator of this project, [Emeryth], noted that we featured a similar project from [Dhole] a few years ago, also involving an STM32. [Emeryth] decided that it would be fun to build his own project anyway, and it’s certainly an interesting take on GameBoy hacking. He also has the files for this project available on his Git Hub page.