Another Kind Of “Bare Metal”: 6502 Computer Powers RPN Calculator

[Mitsuru Yamada] states that one of the goals for this 6502 computer build was to make it strong enough to survive real-world usage. In that regard alone we’d call this a success; the die-cast aluminum enclosures used a little blast from the past and lend a nice retro industrial look to the project. The main chassis of the computer fairly bristles with LEDs and chunky toggle switches for setting the data and address busses. The interior is no less tidy, with the 6502 microprocessor — date code from 1995 — and associated support chips neatly arranged on perf board. The construction method is wire wrapping, in keeping with the old-school look and feel. Even the hand-drawn schematic is a work of art — shades of [Forrest Mims].

As for programming, this machine is as low-level as it gets. Nothing but 6502 machine language here, entered manually with the toggle switches, or via an externally programmed ROM. The machine can only address 1k of memory, a limit which the code to support the RPN calculator add-on [Yamada] also built brushes up against, at 992 bytes. The calculator keypad has a 20-key matrix pad and an eight-digit dot-matrix LED display, and can do the four basic operations on fixed-point binary-coded decimal inputs. The brief video below shows the calculator in action.

We love the look of this build and we’re eager to see more like it. We’ve seen a ton of 6502 builds from discrete chips lately, and while we love those too, it’s nice to see one of the big old DIPs put back in action for a change.

Continue reading “Another Kind Of “Bare Metal”: 6502 Computer Powers RPN Calculator”

Vectron Adds Basic And Christmas Tree Control

Not content to leave things alone, [Nick Bild] has updated his nearly practical breadboard 6502 Vectron project once again by adding Tiny Basic and home tree automation. Instead of using an LCD module like last time, or his custom-built VGA output using 7400-series logic, [Nick] chose to go modern this time and implemented a VGA output using a TinyFPGA BX.

Tiny Basic was one of the first versions of Basic released after Bill Gates famous open letter to hobbyists in 1976. While Altair Basic was selling for $150, Tom Pittman wrote Tiny Basic for the 6800 and sold it for only $5 (don’t worry, Tom has since made it free to use). We got a kick out of browsing the Tiny Basic manual and learning that our serial number can be found on the paper tape leader, and that a Teletype will generally receive one more character, at least, after getting the X-OFF control signal.

In the video, you can see [Nick] running a short Basic program and operating his Christmas tree lights from the Vectron, although it’s only on-off control. He suggests that a PCB version is in the works, but he’s having trouble deciding when to quit adding features.  That’s a conundrum we know all too well.

Continue reading “Vectron Adds Basic And Christmas Tree Control”

“Brain In A Vat” 6502

The 6502 was a revolutionary processor for its time. Offered at a small fraction of the cost of other processors available when it was released, it became adopted in such iconic computers at the Atari 2600, the Apple II, the NES, and the Commodore 64. For that reason it’s still extremely popular among retrocomputing enthusiasts who will often go to great lengths to restore these computers or build them from scratch. [jamesbowman] had an idea to build a 6502-based computer with the processor only, leaving the rest of the computer up to an FPGA.

He describes the system as a “brain in a vat” since a real 6502 is used as the “brain” and all other functions are passed off to the FPGA. In his build he uses an FPGA board with built-in graphics abilities, but the truly interesting part of this build is how the FPGA handles memory. If a particular value is placed on the data bus of the 6502, it loops forever through the entire memory and executes all of the instructions it finds. This saved a lot of time getting this system up and running, and he is able to demonstrate it by showing a waveform on the video output of the device.

Of course you can take an FPGA and emulate an entire computer based on a 6502, but using the actual silicon in a build like this really ensures that the user can learn and understand the hardware involved without some of the other tedium of doing things such as converting old video signals to HDMI for example. It’s a great take on retrocomputing that we expect to see more of in the future.

Handheld Pong On A 6502

Recreating the arcade smash hit Pong in a device small enough to plug into a home television was a considerable technical challenge back in 1975. Of course, a big part of that was the fact that it needed to be cheap enough that consumers would actually buy it. But had money been no object, the Vectron Handheld by [Nick Bild] shows what a dedicated Pong board based on the 6502 CPU and 7400-series logic could have looked like.

Prototyping the Vectron Handheld

Well, aside from the display anyway. While [Nick] made sure to use components that were contemporaries of the 6502 wherever possible, he did drop in a modern SPI LCD panel. After all, it’s supposed to be a portable game system.

Though as you can see in the video after the break, the massive 273 mm x 221 mm PCB only just meets that description. Incidentally, there’s no technical reason for the board to be this big; [Nick] was just playing it safe as he’s still learning KiCad.

Those with a keen eye towards 6502 projects likely saw the breadboard version of the Vectron that [Nick] put together last year. Compared to the original, the circuit for the handheld has been considerably simplified as it wasn’t designed to be a general purpose 6502 computer. Whether or not you think being able to play Pong on it makes up for those shortcomings is a matter of personal preference.

Continue reading “Handheld Pong On A 6502″

Saturday: Vintage Computer Festival West

The Vintage Computer Festival West is an annual gathering to celebrate the awesome hardware that ushered in the Information Age. Normally held at the Computer History Museum in Mountain View, California, this year VCF West is happening virtually and it all starts on Saturday!

The lineup of talks looks great, covering everything from operating an Apollo DSKY display panel and how to recover magnetic tape to ENIAC technical manual bugs and the genesis of the 6502. That last one is presented by Bill Mensch who was on the team that created the 6502 in the first place. He’ll be joined by Hackaday’s own Bil Herd (himself a celebrated Commodore and MOS alum) and Eric Schlaepfer (you may remember his Monster 6502 project). You may not be able to wander the exhibits and play with the vintage hardware this year, but you can hear from a lot of people who have spent years learning the hacks and quirks that made these systems tick.

Hacakaday is proud to once again sponsor VCF West. You don’t need a ticket, the conference will live stream on their YouTube channel for all who are interested. We’ve embedded the live stream below, as well as the awesome poster at that Joe Kim produced for display at the festival.

Continue reading “Saturday: Vintage Computer Festival West”

Gaming In Different Languages

One of the perks of using older hardware is its comparative simplicity and extensive documentation. After years or decades of users programming on a platform, the amount of knowledge available for it can become extensive. This is certainly the case with the 6502 microprocessor, used in old Apple computers and some video game systems from the ’80s. The extensive amount of resources available make it a prime candidate in exploring various programming languages, and their advantages and disadvantage.

This project looks into those differences using a robot game, which has been programmed four different ways in three languages. [Joey] created the game in Python first and then began to port it to the 65C02, a CMOS variant of the 6502. The first iteration is its assembly language, and then a second iteration with optimized assembly code. From there, he ports it to C and then finally to Forth. Each version of the game is available to play in a browser using an emulator to run the 6502 hardware.

Since the games run in the browser, other tools are available to examine the way the game runs in each language. Registers can be viewed in real time, as well as the values stored in the memory. It’s an interesting look at an old piece of hardware and of its inner workings. For an even deeper dive into the 6502, it’s possible to build a working computer on breadboards using one.

Machine Learning Algorithm Runs On A Breadboard 6502

When it comes to machine learning algorithms, one’s thoughts do not naturally flow to the 6502, the processor that powered some of the machines in the first wave of the PC revolution. And one definitely does not think of gesture recognition running on a homebrew breadboard version of a 6502 machine, and yet that’s exactly what [Nick Bild] has accomplished.

Before anyone gets too worked up in the comments, we realize that [Nick]’s Vectron breadboard computer is getting a lot of help from other, more modern machines. He’s got a pair of Raspberry Pi 3s in the mix, one to capture and downscale images from a Pi cam, and one that interfaces to an Atari 2600 emulator and sends keypresses to control games based on the gestures seen by the camera. But the logic to convert gesture to control signals is all Vectron, and uses a k-nearest neighbor algorithm executed in 6502 assembly. Fifty gesture images are stored in ROM and act as references for the four known gesture classes: up, down, left, and right. When a match between the camera image and a gesture class is found, the corresponding keypress is sent to the game. The video below shows that the whole thing is pretty responsive.

In our original article on [Nick]’s Vectron breadboard computer, [Tom Nardi] said that “You won’t be playing Prince of Persia on it.” That may be true, but a machine learning system running on the Vectron is not too shabby either.

Continue reading “Machine Learning Algorithm Runs On A Breadboard 6502”