Hackaday Prize 2023: 65uino 6502 Learning In A Familiar Package

[Anders Nielsen] presents his entry for the 2023 Hackaday Prize: The 65uino. Which as you might be able to guess, is a 6502-based microcomputer wedged into an Arduino Uno form factor (well, almost wedged in, but we’ll let it slide) The premise is simple, older micros are easier to understand, the board can be build up from new-old or salvaged stock, and that’s more chips on boards and less sitting on a dusty shelf. After all, even though the 6502 in its original form is long obsolete, it’s far better to be pushing some electrons around, than sitting there decaying.

The OLED frame buffer is bigger than the host’s entire RAM. No problem!

From an educational perspective, the first lesson is the hand-soldering of through-hole DIP components and a smattering of straightforward surface mount parts in their supporting roles.  Then on to setting up the cc65 toolchain. To say this is a pure 6502 system is a little misleading, it actually uses the 6507 device variant, which is a die-bond variant of the same device but with only 28 of the pins utilized.

The use of the 6532 RIOT (RAM-I/O-Timer) chip provides two 8-bit ports of GPIO as well as a timer and 128 bytes of SRAM, making the design more compact. There is a socket that will accept a 24 or 28-pin E(E)PROM device, with the extra four pins removable and the PCB snapped off if fitment into a standard ‘Uno case is desirable. Neat!

Full hardware build and PCB design (using KiCAD) are available on the 65uino GitHub page. Just remember folks, with everything minimal 6502 related — some assembly required :D

We see the 6502 a lot, let’s be fair. But why not? Here’s a slightly more practical board with a bit more resources, an absolute beast of a luggable dual-6502 machine, and yet another 6502 verilog implementation ready to be dropped into a spare corner of a FPGA project that needs a little extra.

CP/M 6502-Style

There are projects you create to share with the world, but there are also those you do just because you want something for yourself. Lucky for us, [Dietrich-L]’s 30-year-long project to create CPM-65, a CP/M-like OS for the 6502, has become both.

[Dietrich-L] does admit that the documentation is “sparse” and “for my personal needs.” Still, the OS has most of what you’d expect and runs well on the target system, a heavily-modified Elektor Junior with 57 kB of RAM. The disk structure is compatible with CP/M, although the Transient Program Area (TPA) apparently starts at $200, which is a bit different from a typical CP/M. Apparently, the system uses some low memory which necessitated the relocation. Just in case you were hoping, CPM-65 doesn’t emulate an 8080 system, so you can’t run normal CP/M programs. You just get a similar operating environment and tools.

The 31 commands listed include an assembler, BASIC, Forth, an editor, and some disk tools, along with a debugger. Xmodem is available, too. Everything is written in assembly for the CPM-65 assembler, so bootstrapping could be an issue if you need to make any changes.

Speaking of changes, there is some documentation in the docs sub-directory, including the layout of [Dietrich-L]’s system, which would be handy if you were trying to run this on your own hardware. You’ll also find basic commands for the editor, details of the assembler, and some other documents.

[Dietrich-L] notes that he was unaware when he started the project that there were other similar projects. DOS/65 (which has a port for the Commodore 64), OUP/M (which hasn’t been updated since 1983), and CPM65 (apparently no relation, but very impressive), which appeared in 2022.

If you need a 6502 computer, grab a breadboard, although adding the disk drive is an exercise left to the reader. Or, grab an FPGA but expect more work.

Thanks [Stephen Walters] for the tip!

A Guided Tour Of The NES

No matter your age or background, there’s an excellent chance you’ll recognize the Nintendo Entertainment System (NES) at first glance. The iconic 8-bit system not only revitalized the gaming industry, but helped to establish the “blueprint” of console gaming for decades to come. It’s a machine so legendary and transformative that even today, it enjoys a considerable following. Some appreciate the more austere approach to gaming from a bygone era, while others are fascinated with the functional aspects of console.

The NesHacker YouTube channel is an excellent example of that latter group. Host [Ryan] explores the ins and outs of the NES as a platform, with a leaning towards the software techniques used to push the system’s 6502 processor to the limits. Even if you aren’t terribly interested in gaming, the videos on assembly programming and optimization are well worth a watch for anyone writing code for vintage hardware.

Continue reading “A Guided Tour Of The NES”

From A 6502 Breadboard Computer To Lode Runner And Beyond

As disruptive and generally unpleasant as the pandemic lockdowns of 2020 were, they often ended up being a catalyst for significant personal growth. That was often literal growth, thanks to stress eating, but others, such as [Eric Badger], used the time to add skills to his repertoire and build a breadboard 6502 computer and so much more.

For those of you looking for a single endpoint to this story, we’re sorry to disappoint — this isn’t really one of those stories. Rather, it’s a tale of starting as a hardware newbie with a [Ben Eater] 6502 breadboard computer kit, and taking it much, much beyond. Once the breadboard computer kit was assembled, [Eric] was hooked, and found himself relentlessly expanding it. At some point, he decided to get the classic game Lode Runner going on his computer; this led to a couple of iterations of video cards, including a foray away from the breadboards and into PCB design. That led to a 6502 emulator build, and a side quest of a Raspberry Pi Pico Lode Runner appliance. This naturally led [Eric] to dip a toe into the world of 3D printing, because why not?

Honestly, we lost track of the number of new skills [Eric] managed to add to his toolkit in this video, and we’re sure this isn’t even a final accounting — there’s got to be something he missed. It’s great stuff, though, and quite inspirational — there’s no telling where you’ll end up when you start messing around with hardware hacking.

Continue reading “From A 6502 Breadboard Computer To Lode Runner And Beyond”

DIY GameTank Game Console Gets Upgraded Cartridge

Over the summer, you might recall seeing a homebrew 6502 game console called the GameTank grace these pages. The product of [Clyde Shaffer], the system was impressively complete, very well documented, and even had a budding library of games.

Recently, [Clyde] took to the r/electronics subreddit to show off the latest improvement to the GameTank: a revised removable cartridge. The biggest change this time around is the addition of 32 KB of battery-backed SRAM that gives games (or any other software that might be on the cartridge) some persistent storage to work with. Continue reading “DIY GameTank Game Console Gets Upgraded Cartridge”

Squeezing A Minimalist 6502 Retrocomputer Onto A Single Breadboard

Over the years, and especially lately, we’ve seen tons of single-board retrocomputer builds. That’s fine with us — the more, the merrier. But they all start to run together a bit, with little to distinguish between them. Not so this about-as-compact-as-possible 6502 computer that fits on a single breadboard.

Now, when you do the math, it seems like there’s no way that [Anders Nielsen] would have been able to fit even a minimal chipset onto a standard solderless breadboard. The 40-pin 6502 alone takes up nearly two-thirds of the connections available; add in equally large but necessary chips like the 6522 interface adapter, ROM and RAM chips, and some support ICs, and one breadboard isn’t going to cut it. Luckily, some frugal engineers at MOS back in the 70s came up with the 6507, a variant on the 6502 in a 28-pin DIP. The other key to this build is the 6532 RAM-I/O-timer chip or RIOT, which puts a tiny amount of RAM and some IO lines on a single 40-pin DIP. Along with a 28-pin ROM, a 14-pin hex inverter, and a little crystal oscillator, the entire chipset just barely fits on a single breadboard.

But what can this minimalist 6502 actually do? As you can see in the video below, anything a 555 timer can do, and maybe a little bit more. That’s not a dig, of course — [Anders] actually calls out his initial blinkenlight application as a little more than a glorified 555, and actually comes up with a marginally more complex application just to prove the point. The interesting part here is dealing with the constraints imposed by the limited resources available on this machine.

We’re looking forward to whatever comes next for this clever build. It’s hard to see how some of the plans [Anders] has for it will still fit on a single breadboard, though — these things tend to spread out as they go.

Continue reading “Squeezing A Minimalist 6502 Retrocomputer Onto A Single Breadboard”

Teensy Twofer Of Plug-In Emulated Retro CPUs

[Ted Fried] wrote in with not one but two (2!) new drop-in replacements for widespread old-school CPUs: the Zilog Z80 and the Intel 8088. Both of the “chips” run in cycle-accurate mode as well as in a super turbo mode, which can run so fast that you’ll need to use the Teensy’s internal RAM just to keep up.

Both of these designs have a hardware and software component. The PCBs basically adapt the pinout of the Teensy to the target CPU, with a bunch of 74VLC latches on board to do the voltage level conversion. The rest is a matter of emulating all of the instructions on the Teensy, which is more than fast enough to keep up. If this sounds familiar to you, it’s basically the same approach that [Ted] used last year to bring us his replacement for the 6502 found in the Apple ][ and Commodore 64.

Why would you want an emulated CPU when the originals are still available? [Ted] inherited a busted Osborne I, an ancient Z80 luggable. By replacing the original Z80 with his emulation, he could diagnose the entire system, which led him to discover some bad DRAM chips and get the old beast running again. Or maybe you just want to play IBM XT games at insane speeds?

And it looks like [Ted] has updated his 6502 emulation to include the undocumented C64 opcodes, so if you’re into that scene, you should be covered as well.

If any of this tickles your fancy, head over to [Ted]’s blog, microcore labs, and follow along. Although now that he’s covered most of the famous retrocomputers, we have to ask ourselves what processor is going to be next?