As hackers and makers we are surrounded by accessible computing in an astonishing diversity. From tiny microcontrollers to multi-processor powerhouses, they have become the universal tool of our art. If you consider their architecture though you come to a surprising realisation. It is rare these days to interface directly to a microprocessor bus. Microcontrollers and systems-on-chip have all the functions that were once separate peripherals integrated into their packages, and though larger machines such as your laptop or server have their processor bus exposed you will never touch them as they head into your motherboard’s chipset.
A few decades ago this was definitely not the case. A typical 8-bit microprocessor of the 1970s had an 8-bit data bus, a 16-bit address bus, and a couple of request lines to indicate whether it wanted to talk to memory or an I/O port. Every peripheral you connected to it had to have some logic to decode its address and select it when you wanted to use it, and all shared the processor’s bus. This was how those of us whose first computers were the 8-bit machines of the late 1970s and early 1980s learned the craft of computer hardware, and in a world of Arduino and Raspberry Pi this now seems a lost art.
The subject of today’s review then provides a rare opportunity for the curious hardware hacker to get to grips with a traditional microprocessor bus. The RC2014 is a modular 8-bit computer in which daughter cards containing RAM, ROM, serial interface, clock, and Z80 processor are ranged on a backplane board, allowing complete understanding of and access to the workings of each part of the system. It comes with a ROM BASIC, and interfaces to a host computer through a serial port. There is also an ever-expanding range of further peripheral cards, including ones for digital I/O, LED matrixes, blinkenlights, a Raspberry Pi Zero for use as a VDU, and a small keyboard.
Continue reading “Review: The RC2014 Z80 Computer”
After a certain age, computers start to show signs that they might need to be replaced or upgraded. After even more time, it starts getting hard to find parts to replace the failing components. And, as the sands slip through the hourglass, the standards used to design and build the computer start going obsolete. That’s the situation that [Drygol] found himself in when he was asked to build a SD-card hard drive for an Atari.
The 8-bit Atari in question was a fixture of home computing in the 80s. In fact, if you weren’t on the Commodore train, it’s likely that your computer of choice was an Atari. For the nostalgic among us, a new hard drive for these pieces of history is a great way to relive some of the past. Working off of information from the SIO2SD Wiki page, [Drygol] used the toner transfer method to build a PCB, 3D printed a case, and got to work on his decades-old computer.
Resurrecting old hardware is a great way to get into retrocomputing. Old protocols and standards are worth investigating because they’re from a time where programmers had to make every bit count, and there are some gems of genius hidden everywhere. Whether you’re reworking SIO from an old Atari, or building a disk emulator for an Apple ][, there are lots of options.
If you’ve read through the comments on Hackaday, you’ve doubtless felt the fires of one of our classic flame-wars. Any project done with a 32-bit chip could have been done on something smaller and cheaper, if only the developer weren’t so lazy. And any project that’s squeezes the last cycles of performance out of an 8-bit processor could have been done faster and more appropriately with a 32-bit chip.
Of course, the reality for any given project is between these two comic-book extremes. There’s a range of capabilities in both camps. (And of course, there are 16-bit chips…) The 32-bit chips tend to have richer peripherals and run at higher speeds — anything you can do with an 8-bitter can be done with its fancier cousin. Conversely, comparatively few microcontroller applications outgrow even the cheapest 8-bitters out there. So, which to choose, and when?
Eight Bits are Great Bits
The case that [Mike] makes for an 8-bit microcontroller is that it’s masterable because it’s a limited playground. It’s a lot easier to get through the whole toolchain because it’s a lot shorter. In terms of debugging, there’s (often) a lot less that can go wrong, letting you learn the easy debugging lessons first before moving on to the truly devilish. You can understand the hardware peripherals because they’re limited.
And then there’s the datasheets. The datasheet for a chip like the Atmel ATMega168 is not something you’d want to print out, at around 660 pages long. But it’s complete. [Mike] contrasts with the STM32F405 which has a datasheet that’s only 200 pages long, but that’s just going over the functions in principle. To actually get down to the registers, you need to look at the programming manual, which is 1,731 pages long. (And that doesn’t even cover the various support libraries that you might want to use, which add even more to the documentation burden.) The point is, simpler is simpler. And if you’re getting started, simpler is better.
Continue reading “Mike Szczys Ends 8-Bit vs 32-Bit Holy War!”
A long time ago, [Martin] played with old 8-bit computers. Recently, he’s been honing his assembly skills again, and the idea of an IDE for a boatload of old systems came to him. After a year of work, he announced a multitarget IDE for 8-bit computers that works in your browser.
The project is called ASM80, and includes a code editor, a workspace to put all your code, compilers for the 8080/8085, Z80, 6502, 6800 and 6809 CPUs, emulators for all these CPUs, and emulators for a few Czech computers, the ZX Spectrum, and a few of [Grant Searle]’s single board computers.
What makes this project interesting is the syntax for all the different CPUs is pretty much the same. It’s a real, modular code editor that supports macros and everything you would expect for a code editor for ancient computers.
You can check out an assembler description here. [Martin] also has an offline, desktop-based version of ASM80 called IDE80, with a video demo of that below.
Continue reading “Multi-target IDE for 8-Bit CPUs”
[Petri] wrote in to show off the 8-bit gaming system and original platformer which he and [Antti] developed. Don’t get us wrong now, it’s impressive that the duo were able to put together what looks like a very interesting game. But we’ve seen many industry-leading video games developed with just one or two people (we’re thinking all the way back to the days of Atari). Nope, what’s most interesting to us is that the console is also their creation. We should note that the title screen was the work of their friend [Juho].
Take this with a grain of salt, as the bottom right image in the vignette obviously includes an Arduino. But isn’t it a testament to the state of open hardware and the sharing of knowledge through the Internet that this is even possible on the hobby level? And just because we call it “hobby” doesn’t mean you have to lower your expectations. This thing is full featured. Watch the clip after the break to see the ATmega328 driving a 104×80 resolution screen with a 256 color palette, while using four audio channels for the chiptunes. The thing even utilizes an original NES controller port for user input.
And for those of you who are thinking we’ve seen the same thing before, we never get tired of seeing projects where a lot of hard work has obviously paid off!
Continue reading “8-Bit Video Game is Best of Retro Gaming on a Shoestring Budget”
Get your 8-bit gaming fix with this gaming shield for the TI Launchpad. It’s called the Launchpad GamingPack and was developed as part of TI’s 2012 Intern Design Contest. The team had just six weeks to complete the project.
The video after the break starts off with some fast-motion PCB layout. It is followed by footage of the board being populated, then anchored with graphics testing and some game play demonstrations. It looks like a real blast! NES controller ports were included on the board, and the device puts out 400×300 VGA, as well as audio.
As with the Gameduino, the hard work is done by the FPGA at the center of this board. It handles all of the VGA timing work, using what looks like 3-bit color. It is also responsible for generating the audio and monitoring the inputs. Since the team was under a time crunch the shield also includes a 10-pin header on the underside which was added for easy connection with a logic analyzer.
Continue reading “MSP430 gaming shield based on the Gameduino”
Very rarely do we see an Instructable so complete, and so informative, that it’s a paragon of tutorials that all Instructables should aspire to. [8 Bit Spaghetti]’s How to Build an 8-bit computer is one of those tutorials.
[8 Bit Spaghetti]’s build began on his blog. He originally planned to build a 4-bit computer but decided a computer that could only count to 15 would be too limiting. The build continued by programming an NVRAM as the ROM on a breadboard and finally testing his bundle of wires.
What really makes [8 Bit Spaghetti]’s special is the Instructable – he covers just about all the background information like the definition of a Turing machine, a brief introduction to electronics and logic chips, and binary numbers. Even though he’s doing some fairly complicated work, [8 Bit Spaghetti]’s tutorial makes everything very clear.
The computer isn’t quite done yet – there’s still a few nixie tubes to add – but we couldn’t imagine a better project for the budding electronic hacker.