Blinky Project Is 6502s All The Way Down

Virtually any platform you might find yourself programming on has some simple method of running a delay. [Joey Shepard] got rather creative on a recent project, though, relying on a rather silly nesting method that we’re calling 6502s All The Way Down.

The project in question was a simple PCB that was shaped like a robot, with blinking LED eyes. Typically, you’d simply reach for the usual sleep() or delay() function to control the blink rate, but [Joey] went off-piste for this one. Instead, the PIC32 on the board runs a 6502 emulator written in MIPS assembly. This emulated 6502 is then charged with running a further 6502 emulator coded in 6502 assembly, and so on, until there’s 6502 emulators running six-deep on the humble microcontroller. The innermost emulator runs a simple program that blinks the LED eyes in a simple loop. With the overhead of running six emulators, though, the eyes only blink at a rate of roughly once every two seconds.

It’s an amusing and complicated way to write a blink program, and we applaud [Joey] for going to all that trouble. We imagine it was a great way to learn about programming the PIC32 as well as emulation in general. Meanwhile, if you’re working on your own emulator feats, be sure to let us know!

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”

Front and back of a handheld 6502 computer with bubble LED displays

The Pocket265 Is A Pocket-Sized 6502 Single-Board Computer

Single-board computers have been around ever since microprocessors became affordable in the 1970s and never went away. Today we have Raspberry Pis and LattePandas, while back in the ’70s and ’80s there were the Ferguson Big Board, the KIM-1 and a whole array of Intel SDK boards. Although functionally similar to their modern counterparts with a CPU, RAM, ROM and some basic peripherals, the old boards were huge compared to today’s tiny platforms and typically required a rather beefy power supply to operate.

It doesn’t have to be that way though, as [Aleksander] shows with the Pocket265: a handheld 6502 single-board computer somewhat reminiscent of the famous KIM-1. Like that classic machine, it’s got a hexadecimal keypad to enter programs using machine code and a row of LED displays to show the programs’ output. Unlike the KIM, the Pocket265 is small enough to hold in one hand and uses bubble LED displays, which make it look more like a programmable calculator from the 1970s. It comes with a lithium battery that makes it truly portable, as well as a sleek 3D printed case to make it more comfortable to hold than a bare circuit board.

The single ROM chip contains a monitor program that runs the basic user interface. It also makes programming a bit less tedious by implementing a number of system calls to handle things like user input and display output. A serial EEPROM enables local data storage, while a UART with a USB interface enables data transfer to other computers. If you’re interested in building and programming such a machine yourself, [Aleksander] helpfully provides code examples as well as full hardware documentation on his GitHub page.

The 6502 remains a firm favorite among hardware hackers: some projects we recently featured with this CPU include one beautifully made machine, this easy-to-build single-board computer and this huge breadboard-based contraption. Looking for something smaller? Try this tidy little board or this 6502 coupled to an FPGA.

Laptoppin’ Like 1975

When we first saw the PZ1 laptop — a 6502 laptop-style computer with a small display and 512K of RAM — we couldn’t help but think of the old AIM 65 computer from Rockwell, although that only had 1K of memory. The other thing the AIM didn’t have was an ancillary microcontroller to help out that is way more powerful than the main processor.

There are actually several versions of the PZ1 and you can find some very detailed information over on Hackaday.io and GitHub. Recently, [Adam] release version 2.0 and tested some PC boards that are working well.

Continue reading “Laptoppin’ Like 1975”

The GameTank Is The Latest And Greatest 8-bit Game Console

The NES, Atari 2600, the Apple II, the Commodore 64 and the TurboGrafx-16 are just some of the many game consoles and home computers built around the 6502 CPU. And while the 6502 has been pretty much obsolete since the mid-’90s, that hasn’t stopped hackers from building new systems with it in the 21st century. Today we can even show you an entirely new 6502-based game console: the GameTank, designed and built by [Clyde Shaffer].

The GameTank was designed to be easy to build by anyone, and is therefore largely constructed from DIP chips that can be bought new at any component distributor. The main CPU is a WD65C02 running at 3.5 MHz, assisted by a 6522 I/O controller and 32 kB of RAM. Composite video is generated by a clever circuit made out of discrete logic chips. The video card comes with DMA for fast transfers and even includes a blitter, which enables it to move images around the screen quickly without loading the CPU.

For the controllers, [Clyde] decided to go for the more-or-less industry standard DE-9 connector gamepads as used on the Sega Genesis and various Atari consoles. He also made his own controller, a 3D printed one with four directional buttons, three action buttons and a start button. The buttons are implemented with Cherry MX Clear switches — an unusual choice for a gamepad perhaps, but they’re apparently very comfortable for long gaming sessions.

The console itself is also housed in a printed enclosure with a design reminiscent of the Nintendo 64. Game cartridges are inserted at the top and contain an EEPROM chip that can be written with a special programmer. The cartridge port also brings out several internal signals and can therefore be used as an expansion port, similar to the way Super NES cartridges could accommodate enhancement chips.

Games currently available include Tetris, the office-themed platformer Cubicle Knight, a Zelda-style adventure named Accursed Fiend, and a remake of the classic viral animation Bad Apple. [Clyde] provides a comprehensive stack of tools and example code and invites anyone interested to help develop more software for the platform. There’s also a hardware-accurate emulator, which is not only useful if you’re writing new code for the system but also if you simply want to try out the existing games in your browser.

Rolling your own 6502 system is great fun, and we’ve seen several examples over the years: some are built with huge bundles of wire, some are come with a clever programming language, some are so tiny they fit on your wrist, and some are simply beautifully made.

Continue reading “The GameTank Is The Latest And Greatest 8-bit Game Console”

PERSEUS-9, The Dual-6502 Portable Machine That Should Have Been

A question: does anyone who was around in the early days of the 8-bit computer revolution remember a dual-CPU 6502 portable machine like this one? Or just a dual-CPU machine? Or even just a reasonably portable computer? We don’t, but that begs a further question: if [Mitsuru Yamada] can build such a machine today with parts that were available in the era, why weren’t these a thing back then?

We’re not sure we have an answer to that question, but it just may be that nobody thought of it. Or, if they did, the idea of putting two expensive CPUs into a single machine was perhaps too exorbitant to take seriously. Regardless, the homemade mobile is another in a growing line of beautifully crafted machines in the PERSEUS line, all of which have a wonderfully similar look and feel.

For the PERSEUS-9, [Yamada-san] chose a weatherproof aluminum enclosure with just the right form-factor for a mobile computer, as well as a sturdy industrial look. Under the hood, there are two gorgeous wire-wrap boards, one of which is home to the 48-key keyboard and the 40×7 alphanumeric LED matrix display, while the other is a densely packed work of art holding the two 6502s and a host of other DIPs.

The machine is a combination of his PERSEUS-8 computer, his 6802 serial terminal, and the CI-2 floating point interpreter he built for the PERSEUS-8. A brief video of the assembly of this delightful machine is below. One of the many things about these builds that impress us is the precision with which the case is machined, apparently all by hand. How he managed to drill out all those holes for the keyboard without having one even slightly out of alignment without the aid of CNC is beyond us.

Continue reading “PERSEUS-9, The Dual-6502 Portable Machine That Should Have Been”

A PCB carrying several Atari 2600 chips

Hackaday Prize 2022: The Baffatari 2600 Adds Atari Compatibility To Retrocomputers

Like today’s Intel-AMD duopoly, the market for home computer CPUs in the 1970s and ’80s was dominated by two players: Zilog with their Z80, and MOS Technology with their 6502 processor. But unlike today, even if two computers had the same CPU, it didn’t mean the two were software compatible: differences in memory layout, video interfaces, and storage media meant that software developed for an Atari 2600 wouldn’t run on an Apple I, despite the two sharing the same basic CPU architecture.

[Augusto Baffa]’s latest modern retrocomputer design, the Baffatari 2600, cleverly demonstrates that the difference between those two computers really is only skin-deep. The Baffatari is a plug-in board that adds Atari 2600 functionality to [Augusto]’s earlier Baffa-6502 system, which was designed to be Apple I-compatible. Since both the Apple and the Atari are powered by 6502 CPUs, only a few peripherals need to be swapped to change one into the other.

Sitting on the Baffatari board are two chips essential to the Atari 2600’s architecture: the 6532 RAM I/O Timer (RIOT) that contains the RAM and joystick interface, and the Television Interface Adapter (TIA) that handles the graphics and audio. These chips connect to the Baffa-6502’s system bus, enabling the main CPU to communicate with them and run Atari 2600 software titles. In the video embedded below, you can see several classic games running on the Baffa system.

The basic idea is similar to this RC2014 plug-in board that enables a Z80-based retrocomputer to run MSX and Colecovision titles. In fact, [Augusto] also built such a board for his earlier Z80 project.

Continue reading “Hackaday Prize 2022: The Baffatari 2600 Adds Atari Compatibility To Retrocomputers”