A small green circuit board with a tiny OLED display

An Oscilloscope Trigger For Vintage Video Processors

Working on retro computers is rarely straightforward, as [ukmaker] recently found out while designing a new display interface. Their oscilloscope was having trouble triggering on the video signal produced by older video circuitry, so they created the Video Trigger for Retrocomputers.

The Texas Instruments TMS9918 video display controller was used across a range of 1980s game consoles and home computers, from the well-known ColecoVision to Texas Instruments’ own TI-99/4. Substantial retro computing heritage notwithstanding, the video output from this chip was (for reasons unknown) not quite compatible with the Hantek DSO1502P oscilloscope. And without a better understanding of the video signal, it was difficult to use the chip with newer TFT displays, being designed for CRT televisions with more forgiving NTSC tolerances.

Maybe a different scope would have solved the problem, but [ukmaker] had a feeling that the ‘scope needed an external trigger signal. The Video Trigger project uses a LM1881 sync separator to tease out the horizontal and vertical sync signals from the vintage video chip, with the output piped into an ATmega 328P. Along with a smattering of discrete components, the ATmega aids the user in selecting which line to frame a trigger on, and the slope of the horizontal sync signal to align to. A tiny OLED display makes configuration easy.

If this has piqued your interest, [ukmaker] also has a great write-up over on GitHub with all the gory details. Maybe it will help you in your next vintage computing caper. Having the right tool can make all the difference, like this homebrew logic meter for hobby electronics troubleshooting. Or if you want to know more about the mystical properties of analog NTSC video, we’ve covered that, too.

Classic DOS Games On An Arduino?

It has been a while since we’ve seen a 86Duino, but [TheRasteri] reminded us about it, with his video showing how to use one to run classic MS-DOS games. To be fair, the computer isn’t really an Arduino, it’s essentially a tiny 486 PC on an Arduino-style PCB.

If it were just running DOS games on a tiny PC, that wouldn’t be very newsworthy. However, the board by itself has no video card and, as [TheRasteri] points out, sound card compatibility is also a problem. A carrier board, however, has a tiny VGA card on it, and thanks to some work from another user, it is possible to add an ISA bus to the board if you want to plug in a legacy sound card.

The ISA hack was done neatly, but it is a bit of wiring. Instead of using a normal ISA backplane, it is possible to use a PC/104 backplane, if you have cards that will fit that bus — electrically, they are the same. The board was able to run DOOM and Quake at nearly 30 frames per second. Not bad. He did have problems getting a mouse to work, though.

Got a bit nostalgic watching him use QBasic to directly write to registers on an ISA card. If you want an old DOS machine and don’t want to tie up a lot of space, this could be the ticket. Especially if you need it to run some old piece of hardware that won’t work with modern computers. We have to wonder if anyone would make a USB to ISA adapter out of something like this. The drivers would seem to be the hard part.

We saw the 86Duino nearly 10 years ago when there were a few other x86 single-board computers around. Apparently, lots of people want to run vintage games.

Continue reading “Classic DOS Games On An Arduino?” →

A small keyboard form factor retrocomputer with blue keys on a black background sits in front of a display and a LEGO model of the Space Shuttle. There are a number of jumper wires and a breadboard coming from an open panel on the right side of the machine.

Aqua PCB Is A Big Upgrade For The Mattel Aquarius

In case you weren’t around in the 80s, or you happened to blink, you may have missed the Mattel Aquarius computer. [Nick Bild] has a soft spot in his heart for the machine though and built the Aqua cartridge to make the Aquarius into a more usable machine.

Originally equipped with a mere 4 KB of RAM and a small, rubbery keyboard, it’s not too surprising that the Aquarius only lasted five months on the market. [Nick] decided on the cartridge slot to beef up the specs of this little machine given the small number of expansion ports on the device. Adding 32 KB of RAM certainly gives it a boost, and he also designed an SD card interface called Aqua Write that connects to the Aqua cartridge for easily transferring files from a more modern machine.

The Aqua Write uses an Arduino Mega 2560 to handle moving data between the SD card and the system’s memory. This is complicated somewhat because a “PLA sits between the Z80 and data bus that XORs data with a software lock code (initialized to a random value on startup).” [Nick] gets around this by running a small program to overwrite the lock code to zero after startup.

Getting data on and off retrocomputers can certainly be a challenge. If you’re trying to get files on or off another old machine, check out this Simple Universal Modem or consider Using a Raspberry Pi as a Virtual Floppy Drive.

A Cassette Interface For A 6502 Breadboard Computer, Kansas City-Style

It’s been a long time since computer hobbyists stored their programs and data on cassette tapes. But because floppy drives were expensive peripherals and hard drives were still a long way from being the commodity they are today, cassettes enjoyed a long run at the top of the bulk data storage heap.

Celebrating that success by exploring the technology of cassette data storage is the idea behind [Greg Strike]’s Kansas City decoder project, which he hopes to use with his [Ben Eater]-style 6502 computer. The video below explains the Kansas City standard in some detail, and includes some interesting historical context we really hadn’t delved into before. There are also some good technical details on the modulation scheme KCS used, which [Greg] used to base his build. After a failed attempt to use an LM567 tone decoder chip, he stumbled upon [matseng]’s KCSViewer project, which decodes KCS-encoded audio signals using nothing but discrete components.

[Greg]’s prototype has a comparator to convert sine waves to square waves, followed by pair of monostable timers, each tuned to either the high or low frequency defined in the KCS specs. A test signal created using Audacity — is there anything it can’t do? — was successfully decoded, providing proof of concept for the project’s first phase. We’re looking forward to the rest of the series, which will turn this into an actual decoder, and presumably add an encoder as well.

Listeners of the Hackaday Podcast may recall we experimented with using KCS to hide some data within an episode a few months back.

Continue reading “A Cassette Interface For A 6502 Breadboard Computer, Kansas City-Style” →

A schematic explaining the workings of the Commodore 64's joystick port

Bluetooth Interface Adds Rumble Feedback To Commodore 64 Games

Nothing says “1980s gaming” like a black joystick with a single red fire button. But if you prefer better ergonomics, you can connect modern gamepads to your retrocomputers thanks to a variety of modern-to-classic interface adapters. These typically support just the directional pad and one or two action buttons, leaving out modern features like motion control and haptic feedback.

That’s a bit of a shame, because we think it would be pretty cool to feel that shock in our hands whenever Pitfall Harry drowns in quicksand or Frogger gets hit by traffic. We’re therefore happy to report that [Ricardo Quesada] has decided to add rumble functionality to the Bluetooth-to-Joystick-port interface that he’s been working on. He demonstrates the feature on his Commodore 64 in the video embedded after the break.

Naturally, any software needs to be adapted to support haptic feedback, but a trickier problem turned out to be the hardware: joystick ports are input-only devices and therefore cannot send “enable rumble” signals to any connected gamepads. [Ricardo] found a clever way around this, using the analog inputs on the joystick port that were typically used for paddle-type controllers.

The analog-to-digital converter inside the computer works by applying a pulse signal to the analog port and measuring the time it takes to discharge a capacitor. The modern gamepad interface simply detects whether these pulses are present; they can be enabled or disabled through software by toggling the analog readout on the joystick port. This way, the joystick port can be used to send a single bit of information to any device connected to it.

[Ricardo] developed patches for Rambo: First Blood part II and Leman to enable rumble functionality. He describes the process in detail in his blog post, which should enable anyone who knows their way around 6502 machine code to add rumble support to their favorite games.

The adapter works with a variety of retro systems that use the Atari-style joystick interface, but if you’re an Apple II user, you might want to look at this Raspberry Pi-based project that interfaces with its nonstandard joystick interface. If you’re into wireless gaming in general, be sure to also check out our history of wireless game controllers.

Continue reading “Bluetooth Interface Adds Rumble Feedback To Commodore 64 Games” →

An 8-bit ISA card being plugged into a motherboard

Reverse-Engineering An ISA Card To Revive An Ancient CD-ROM Drive

Being an early adopter is great if you enjoy showing off new gadgets to your friends. But any new technology also brings the risk of ending up at the wrong side of a format war: just ask anyone who committed to HD-DVD fifteen years ago. If, on the other hand, you were among the few who invested in CD-ROM when it was first released in the mid-1980s, you definitely made the right choice when it came to storage media. However, it was a bit of a different story for the interface that hooks up the CD drive to your computer, as [Tech Tangents] found out when he managed to get his hands on a first-generation CM100 drive. (Video, embedded below.)

That wonderful piece of 1985 technology is not much smaller than the IBM PC it was designed to connect to, and it originally came with its own CM153 ISA interface card. But while most eBay sellers recognized the historic value of a pioneering CD-ROM drive, the accompanying PC was typically a dime-a-dozen model and was thrown out with the rare interface card still inside. Even after searching high and low for over a year, the only information [Tech Tangents] could find about the card was a nine year old YouTube video that showed what the thing looked like.

A 3D rendered image of an 8-bit ISA cardLuckily, the maker of that video was willing to take high-resolution pictures of the card, which allowed [Tech Tangents] to figure out how it worked. As it turned out, the card was entirely made from standard 7400 series logic chips as well as an 8251 USART, which meant that it should be possible to design a replacement simply by following all the traces on the board. [Tech Tangents] set to work, and after a few weeks of reverse-engineering he had a complete schematic and layout ready in KiCAD.

After the PCBs were manufactured and populated with components, it was time to test the new card with the old drive. This wasn’t a simple process either: as anyone who’s tried to get obscure hardware to work in MS-DOS will tell you, it involves countless hours of trying different driver versions and setting poorly documented switches in CONFIG.SYS. Eventually however, the driver loaded correctly and the ancient CD-ROM drive duly transferred the files stored on a Wolfenstein 3D disk.

If you’re lucky enough to own a CM100 or a similar drive from that era, you’ll be happy to know that all design files for the CM153 clone are available on GitHub. This isn’t the first time someone has had to re-create an interface board from pictures alone: we’ve seen a similar project involving a SCSI card for a synthesizer. Thanks for the tip, [hackbyte]!

Continue reading “Reverse-Engineering An ISA Card To Revive An Ancient CD-ROM Drive” →

Building A Replica Of An Obscure Romanian Computer

We’ve all seen emulated Apple II and Commodore 64 boards about the place. Few of us have heard of the Romanian ZX Spectrum clone known as the Cobra, let alone any efforts to replicate one. However, [Thomas Sowell] has achieved just that, and has shared the tale with us online.

The Cobra was named for its origins in the city of Brasov – hence, COmputer BRasov. The replica project was spawned for a simple reason. Given that sourcing an original Romanian Cobra would be difficult, [Thomas] realized that he could instead build his own, just as many Romanians did in the 1980s. He set about studying the best online resources about the Cobra, and got down to work.

The build started with board images sourced from Cobrasov.com, and these were used to get a PCB made. [Thomas] decided to only use vintage ICs sourced from the Eastern Bloc for authenticity’s sake, too. Most came from the former USSR, though some parts were of East German, Romanian, or Czechoslovakian manufacture. The project took place prior to the Russian invasion of Ukraine, so there weren’t any hassles shipping across borders.

With everything hooked up and the EEPROMs given a real Cobra ROM image, the computer burst into life. There were some hiccups, with an overheating video IC and some memory glitches. However, with some nifty tweaks and replacements subbed in, the computer came good. Other work involved adding a custom keyboard and modifying 3.5″ floppy drives to work with the system.

Overall, the build is a faithful tribute to what was an impressive piece of engineering from behind the Iron Curtain. [Thomas]’s work also embodies the DIY ethos behind many homebrew Cobra computers built back in the day.

If all this talk has got you curious about the full history of the Cobra and Romania’s underground computer movement, we have everything you’re looking for right here!