For anyone who’s seen a 1970’s era microcomputer like the Altair 8800 doing its thing, you’ll know the centerpiece of these behemoths is the array of LEDs and toggle switches used as input and output. Sure, computers today are exponentially more capable, but there’s something undeniably satisfying about developing software with pen, paper, and the patience to key it all in.
If you’d like to get a taste of old school visceral programming, but aren’t quite ready to invest in a 40 year old computer, then [GClown25] might have the answer for you. He’s developed a pocket sized “computer” he’s calling the BIT4 that can be programmed with just three tactile switches. In reality it’s an ATMega4809 running C code, but it does give you an idea of how the machines of yesteryear were programmed.
In the video after the break, [GClown25] demonstrates the BIT4 by entering in a simple binary counter program. With a hand-written copy of the program to use as a reference, he steps through the memory addresses and enters in the command and then the value he wishes to operate on. After a few seconds of frantic button pushing, he puts the BIT4 into run mode and you can see the output on the array of LEDs along the top edge of the PCB.
All of the hardware and software is open source for anyone who’s interested in building their own copy, or perhaps just wants to take a peak at how [GClown25] re-imagined the classic microcomputer experience with modern technology. Conceptually, this project reminds us of the Digirule2, but we’ve got to admit the fact this version isn’t a foot long is pretty compelling.
Continue reading “Bare Metal Programming with Only Three Buttons”
Among the rows of digital dinosaurs, one blinking front panel stood out. It certainly looked the part of a retro computer; with banks of blinking LEDs and multicolored paddle switches. But upon closer inspection, the laser cut wooden front panel betrays the fact that this machine is an impostor. It may have the appearance of a machine from the heady days where home computers looked like they could have doubled as a prop on the bridge of Kirk’s Enterprise, but it’s actually a product of much more modern provenance.
It’s called the Cactus, a love letter to the homebrew microcomputers of the 1970’s, designed and built by somebody at least 20 years too young to have experienced them the first time around. Alexander Pierson created the Cactus not because he had fond memories of putting together an Altair 8800 in 1975, but because he’s fascinated with the retro computer experience: the look of the front panel, the satisfying clunk of era-appropriate switches, and the idea that the computer’s inner workings aren’t an abstract black box but rather something you can interact with and study. Judging by all the attention the Cactus got at VCF East XIII, he’s not the only one.
Let’s take a look at everything Alexander poured into this retrocomputer build.
Continue reading “VCF East: Cactus, Retro Because it Wants to Be”
For anyone who has dealt with the programming language Forth, odds are good that you picked it up back in the 80s. Since the language is still in use for many applications, though, you might not have this sort of nostalgic feeling for the language that some might have. For that, though, you might want to try out [Richard]’s implementation which simulates the microcomputers of the 80s using this unique language.
The system has an FPGA-based CPU written in Verilog. It runs on a Nexys-3 board and features PS/2 Keyboard input, a VGA output with a VHDL VT100 terminal emulation module, access to the Flash and onboard SRAM, and a UART. With all of that put together it’s virtually a Forth-based time machine. It’s also extremely well documented even if you’re just curious how it works and aren’t planning on building your own.
The project also includes a CPU simulator written in C which can model the entire computer if you don’t have the hardware for building the actual computer. [Richard] also released everything that you’d need to roll out your own Forth computer on the GitHub page. There are other ways of heading way back to the 1980s, though, like using the quirky Parralax Propeller.
If there was one downside to 8-bit computers like the Commodore 64, it’s that they weren’t exactly portable. Even ignoring their physical size, the power requirements would likely have required a prohibitively large power bank of some sort to lug around as well. The problem of portability has been solved since the late ’70s, but if you still want that 8-bit goodness in a more modern package you’ll have to look at something like retrocomputing madman [Jack Eisenmann]’s DUO Travel computer.
The computer is based around the ubiquitous ATmega328 which should make the ease at which it is programmable apparent. Even so, its 14-button keypad makes it programmable even without another computer. While it has slightly less memory than a standard C-64, it’s still enough for most tasks. And, since its powered by a 9-volt battery it doesn’t require any external power sources either.
The most impressive part of the build, however, is the custom programming language specifically tailored for this platform. After all, a 14-button keypad wouldn’t be a great choice if you had to program in Perl or C all the time. There is some example code on the project page for anyone interested in this specific implementation. While it’s not the most minimal computer [Jack] has ever built, it’s certain to be much more practical.
Continue reading “8-bit Computer for On-The-Go Programming”
Sometimes it starts with a 555 timer and an op-amp. Other times with a small microcontroller. But the timing’s not so great and needs a dedicated timing crystal circuit. And maybe some more memory, and maybe the ATtiny should be swapped out for some 74LS-series chips. And now of course it needs video output too. Before you know it, you’re staring at a 40-chip computer that hearkens back to a simpler, yet somehow more complex, time of computing. At least that’s where [Marcel] is with his breadboard computer based on 1970s-era chips.
For what it does, this homebrew computer is relatively simple and straightforward. It gets 8 bits of processing power from 34 TTL chips. Another 6 round out the other features needed for the computer to operate. It is capable of rendering 64 colors in software and has more than enough memory for a computer of this sort. So far the only recurring problem [Marcel] has had has been with breadboard fatigue, as some of the chips keep popping out of the sockets.
This is a great project for anyone interested in homebrew or 8-bit computing, partially because of some of the self-imposed limitations that [Marcel] imposed on himself, like “only chips from the 70s”. It’s an impressive build on its own and looks to get much better since future plans call for a dedicated PCB to solve the issue with the worn-out breadboards. If you’re already invested in a project like this, don’t forget that the rabbit hole can go a little deeper: you can build a computer out of discrete transistors as well.
[Steeeve] just sent us his work on emulating a handful of 8080-based microcomputers on a Stellaris Launchpad, including the bare-metal to run Space Invaders. We know what you’re thinking: Is that all you folks are doing these days?!?!? There must be something in the water.
[Steeeve]’s build is based on the Launchpad with an external 64kB of SPI RAM, a nice little TFT display, and a built-in SD card for all of your storage needs. Add in an 8080 emulator and a keyboard and you’ve got a tiny microcomputer. (Is that redundant?)
What’s really neat about [Steeeve]’s project is that he’s cloned not just one target computer, but a whole bunch of computers including (GitHub links follow) the 8080-based UK101/Superboard, the CPM/80, and the machine that ran Space Invaders, as well as the 6502-based Commodore PET and Apple-1. And as a bonus, you can save the state onto the built-in SD card so that you can hibernate the microcomputer and pick up right back where you left off at a later date. Snazzy.
He’s also built a library which provides an emulation framework if you want to build on this work yourself. And did we mention he can play Space Invaders? Bravo [Steeeve]!
[Juan] sent us his writeup of a microcomputer he built using an Arduino UNO (AVR ATmega328p) and some off-board SRAM. This one’s truly minimalistic.
Have a look at the schematics (PDF). There’s an Arduino, the SPI SRAM, some transistors for TV video output, and a PS/2 connector for the keyboard. That’s it, really. It’s easily built on a breadboard in a few minutes if you have the parts on hand. Flash the Dan64 operating system and virtual machine into the AVR and you’re good to go.
Now we’ve seen a few 6502-based retro computers around here lately that use a 6502 paired with a microcontroller for the interfacing, but they’ve all been bulky three-chip affairs. [Juan] wins the minimalism prize by using a 6502 virtual machine implemented in the AVR to reduce the parts count down to two chips for the whole shooting match.
Using a 6502 virtual machine was a crucial choice in the design, because there are 6502 cross compilers that will let you compile and debug code for the microcomputer on your macrocomputer and then load it into the micro to run. This makes developing for the micro less painful.
How does it load programs you ask? The old-fashioned way of course, using audio files. Although rather than using the Kansas City Standard as in days of yore, he encodes the data in short and long pulses of square waves. This might be less reliable, but it sure saves on external hardware.
Continue reading “The Dan64: A Minimal Hardware AVR Microcomputer”