2024 Tiny Games Contest: A Flappy Seagull Game With Sound In Only 500 Bytes

It was probably a reasonable assumption that the “Tiny” in our recently concluded Tiny Games Contest mostly referred to the physical footprint of the game. And indeed, that’s the way most of the entries broke, which resulted in some pretty amazing efforts. [Anders Nielsen], however, took the challenge another way and managed to stuff a seagull-centric side-scroller into just 500 bytes of code.

That’s not to say that the size of [Anders]’s game is physically huge either. Flappy Larus, as he calls his game, runs on his popular 65uino platform, a 6502 microcontroller in the familiar Arduino Uno form factor. So it’s pretty small to begin with, and doesn’t even need any additional components other than the tiny OLED screen which has become more or less standard for the 65uino at this point. The only real add-on is a piezo speaker module, which when hooked up to the I2C data line happens to make reasonable approximations of a squawking seagull, all without adding a single byte of code. Check out a little game play in the video below.

Flappy Larus may be pretty simplistic, but as we recall, the game it’s based on was similarly minimalist and still managed to get people hooked. The 2024 Tiny Games contest is closed now, but if you’ve got an idea for a tiny game, we’d still love to feature it. Hit the tip line and we’ll take a look! Continue reading “2024 Tiny Games Contest: A Flappy Seagull Game With Sound In Only 500 Bytes”

Single-Stepping The 6502 Processor

Although marketing folk and laypeople may credit [Steve Jobs] as the man behind the success of Apple, those in the tech world know the real truth that without [Steve Wozniak] nothing would have ever gotten off the ground during the early days of the computer company. As an exhibit of his deep knowledge of the machines he was building, take a look at this recreation of a circuit by [Anders] which allows the 6502 processor to step through instructions one at a time, originally designed by [Woz] himself, even though there are still myths floating around the Internet that this type of circuit can’t work.

Like a lot of Internet myths, though, there’s a kernel of truth at the middle. The original 6502 from the mid-70s had dynamic registers, meaning they would lose their values if the chip was run below a critical clock speed. Since single-stepping the processor is much lower than this speed, it seems logical that this might corrupt the data in the registers. But if the clock is maintained to the registers the processor can be halted after each instruction, allowing even the original 6502 to go through its instructions one at a time.

[Anders]’s project sets up this circuit originally laid out by [Steve Wozniak] but updates it a bit for the modern times. Since the technology of the era would have been TTL, modern CMOS logic requires pull-up resistors to keep any inputs from floating. The key design of the original circuit is a set of flip-flops which latch the information on the data bus, and a switch that can be pressed to let the processor grab its next instruction, as well as a set of LEDs that allow the user to see the value on the data bus directly.

Of course, a computer processor of this era would be at a major handicap without a way to debug code that it was running, so there are even dedicated pins that allow this functionality to occur. Perhaps the Internet myth is a bit overblown for that reason alone, but [Anders] is no stranger to the 6502 and has developed many other projects that demonstrate his mastery of the platform.

Continue reading “Single-Stepping The 6502 Processor”

The ROM programmer on display, with an OLED screen attached

Relatively Universal ROM Programmer Makes Retro Tech Hacking Accessible

There’s treasures hidden in old technology, and you deserve to be able to revive it. Whether it’s old personal computer platforms, vending machines, robot arms, or educational kits based on retro platforms, you will need to work with parallel EEPROM chips at some point. [Anders Nielsen] was about to do just that, when he found out that a TL866, a commonly used programmer kit for such ROMs, would cost entire $70 – significantly raising the budget of any parallel ROM-involving hacking. After months of work, he is happy to bring us a project – the Relatively Universal ROM Programmer, an open-source parallel ROM programmer board that you can easily assemble or buy.

Designed in the Arduino shield format, there’s a lot of care and love put into making this board as universal as reasonably possible, so that it fits any of the old flash chips you might want to flash – whether it’s an old UV-erasable ROM that wants a voltage up to 30 V to be written, or the newer 5 V-friendly chips. You can use ICs with pin count from 24 to 32 pins, it’s straightforward to use a ZIF socket with this board, there’s LED indication and silkscreen markings so that you can see and tweak the programming process, and it’s masterfully optimized for automated assembly.

You can breadboard this programmer platform as we’ve previously covered, you can assemble our own boards using the open-source files, and if you don’t want to do either, you can buy the assembled boards from [Anders Nielsen] too! The software is currently work in progress, since that’s part of the secret sauce that makes the $70 programmers tick. You do need to adjust the programming voltage manually, but that can be later improved with a small hardware fix. In total, if you just want to program a few ROM chips, this board saves you a fair bit of money.

Continue reading “Relatively Universal ROM Programmer Makes Retro Tech Hacking Accessible”

A Low-Cost ROM Programmer With An AI Twist

There are 0x10 ways to look at ROM programmers: they’re either relatively low-cost tools that let you quickly get about the business of programming vintage ROMs and get back to your retrocomputing activities, or they’re egregiously overpriced on a per-use basis. [Anders Nielsen] seems to land in the latter camp, firmly enough that he not only designed a dedicated ROM programmer for his 65uino ecosystem, but also suffered the indignities of enlisting ChatGPT to “help” him program the thing.

We’ll explain. [Anders]’ 65uino project has been going on for a while, with low-cost ROM programming only the latest effort. To his way of thinking, a $60 or $70 programmer might just be a significant barrier to those trying to break into retrocomputing, and besides, he seems to be more about the journey than the destination. He recently tackled the problem of generating the right programming voltages; here he turns his attention to putting that to work programming vintage ROMs like the W27C512.

Doing so with a 6502-based Arduino-compatible microcontroller requires some silicon calisthenics, including a trio of shift registers to do the addressing using a minimum of GPIO. As for the ChatGPT part, [Anders] thought asking the chatbot to help write some of the code would be a great way to increase his productivity. We thought so too, at least once, and like us, [Anders] concluded that while perhaps helpful in a broad sense, the amount of work you put into checking a chatbot’s work probably exceeds the work saved. But no matter, because in the end the code and the hardware came together to create a prototype ROM programmer for only about $10 worth of parts.

True, the resulting circuit is a bit complex, at least on a breadboard. It should clean up nicely for an eventual PCB version, though, one that plugs right into the 65uino board or even other microcontrollers. Either way, it could make creating custom ROMs for the 65uino a little more accessible.

Continue reading “A Low-Cost ROM Programmer With An AI Twist”

It’s A CoCo! No, It’s An Apple II!

Original retrocomputing hardware is now decades old and showing its age, so the chances are it’s more common in 2024 to experience a machine from the 1970s or 1980s by way of an emulator on a modern machine than it is on the real hardware. There’s another more limited emulation scene as similar 8-bit machines emulate each other, for example when the very similar Dragon 32 and Tandy CoCo have a go at each other’s software. Rarest of them all though is when one classic machine emulates another with a different architecture, but that’s exactly what’s happened with [DragonBytes], who has persuaded a Tandy CoCo to emulate an Apple II.

The two machines have significant hardware differences, but we’re guessing that the project is helped a little by the Motorola 6809 in the CoCo and the MOS 6502 in the Apple having both in a sense been different visions of a successor to the Motorola 6800. Thus their architectures while different, are not diametrically opposed. The other hardware is certainly not so similar though, with Moto’s 6847 display chip in the Tandy being far more conventional than Steve Wozniak’s clever NTSC hacks to achieve a color display for minimal cost on the Apple.

The project is written in assembler, and doesn’t by any means claim to support all Apple modes, or be cycle accurate. But it’s a hugely impressive achievement nevertheless.

The CoCo has an enthusiastic following, and has appeared here a few times in the past. We particularly like this video player.

Erasing EEPROMs Isn’t Always As Easy As It Seems

When is 14 volts not actually 14 volts? Given [Anders Nielsen]’s recent struggles with erasing an old-school EEPROM, it’s when you really need it that things tend to go pear-shaped.

A little background is perhaps in order. [Anders] is working on a scratch-built programmer for ROMs to complement his 65uino project, which puts a complete 6502 computer into the footprint of an Arduino Uno. He wisely started the ROM programmer project at the beginning, which was to generate the correct voltages for programming. This turned out to be not as easy as you might think thanks to the solderless breadboard’s parasitic effects on the MIC2288 switching boost regulator he chose.

The video below is a continuation of the programmer build, which ends up being just as fraught as the first part. Being able to generate the programming voltages is one thing; getting them onto the right pins at the right time using nothing but the 5-volt GPIOs on a microcontroller is another. In true retro fashion, [Anders] tackled that problem with a pair of small-signal transistors, which seemed to work once the resistor values were sorted, at least when applying a 12-volt signal intended to show the ROM’s hard-coded manufacturer ID on the data bus.

But erasing the ROM, which requires 14 volts while the chip enable line is held high for 100 ms, proved a little trickier. Despite multiple tries, the ROM wouldn’t erase thanks to the 14-volt rail being dragged down to around 9 volts. [Anders] fixed that with a new base resistor on the driver, to increase the current and keep the voltage up where it needs to be. Just goes to show you that the data sheets don’t always tell the whole story.

We’ve been enjoying the unfolding story of this programmer, and we’re looking forward to the next installment.

Continue reading “Erasing EEPROMs Isn’t Always As Easy As It Seems”

When Is A 6502 Not Quite A 6502?

We all know that fake chips are a risk when it comes to buying parts on eBay or from Chinese markets such as AliExpress. It’s a simple enough scam, take a cheap chip and mark it as an expensive one, pocket the difference. It’s happened in several different forms, with everything from completely different devices through cheaper equivalents to incredibly, chips purpose fabricated to emulate better-known ones. We have a chance to see such a scam in action via [LinuxJedi], with a 6502 that wasn’t quite as it seemed.

The chip in question was a Rockwell 65C02 destined for an Acorn Atom, and when installed it failed to deliver the expected power consumption saving. Unsurprisingly when tested it turned out to be a fake, in this case a run-of-the-mill 6502 with new markings. The interesting part for Hackaday readers comes in the physical clues. The too-bright markings started to dissolve with a bit of acetone. A deeper investigation revealed the date and wafer codes did not agree with the branding. A new chip was secured which also turned out to be a fake, though in this case a real 65C02 rated for a lower clock speed than marked.

It’s evident that in-demand retro chips are likely to be an ever-greater minefield of fakes as time passes, and the number of survivors dwindles. It’s as well to be aware then and learn from any fakes like these posted online. It’s not the first fake chip we’ve brought you.