You may not have noticed, but we here at Hackaday really love our clicky stuff. Clicky mechanical keyboards, unnecessarily noisy flip-dot displays, and pretty much anything made with a lot of relays — they all grab our attention, in more ways than one. So it’s with no small surprise that we appear to have entirely missed perhaps the clickiest build of all: a fully operational 8-bit computer using nothing but relays.
What’s even more amazing about our failure to find and feature [Paul Law]’s excellent work is that he has been at it for the better part of a decade now. The first post on his very detailed and very well-crafted blog describing the build dates from 2013, when he was just testing LEDs in the arithmetic-logic unit (ALU). Since then, [Paul] has made incredible progress, building module after module, each containing a small portion of the computer’s functionality. The modules plug into card cages with backplanes to connect them, and the whole thing lives in an enclosure made from aluminum extrusion and glossy black panels for a truly sleek look. The computer is incredibly compact for something that uses 400+ DPDT relays to do its thinking.
In addition to the blog, [Paul] has a criminally undersubscribed YouTube channel with a quite recent series going over the computer in depth. We included the overall tour below, but you should really check out the rest of the videos to appreciate how much work went into this build. We’ve seen relay computers ranging in size from single-board to just plain ludicrous, but this one really takes the prize for fit and finish as well as functionality.
Continue reading “Homebrew Relay Computer Looks Like It Could Be A Commercial Product”
While the ATMega328 is “mega” for a microcontroller, it’s still a fairly limited platform. It has plenty of I/O and working memory for most tasks, but this Battleship game that [thorlancaster328] has put together really stretches the capabilities of this tiny chip. Normally a Battleship game wouldn’t be that complicated, but this one has audio, an LED display, and can also play a fine rendition of Nyan Cat to boot, which really puts the Atmel chip through its paces.
The audio is played through a 512-byte buffer and an interrupt triggers the microcontroller when to fill the buffer while it works on the other processes. The 12×12 LED display is also fed through a shift register triggered by the same interrupt as the audio, and since the build uses so many shift registers the microcontroller can actually output four separate displays (two players, each with a dispaly for shots and one for ships). It will also eventually support a player-vs-computer mode for the battleship game, and also has a mode where it plays Nyan cat just to demonstrate its own capabilities.
We’re pretty impressed with the amount of work this small microcontroller is doing, largely thanks to code optimization from its creator [thorlancaster328]. If there’s enough interest he also says he will provide the source code too. Until then, be sure to check out this other way of pushing a small microcontroller to its limits.
Thanks to [Thinkerer] for the tip!
For the vast majority of us, computer memory is a somewhat abstract idea. Whether you’re declaring a variable in Python or setting a register in Verilog, the data goes — somewhere — and the rest really isn’t your problem. You may have deliberately chosen the exact address to write to, but its not like you can glance at a stick of RAM and see the data. And you almost certainly can’t rewrite it by hand. (If you can do either of those things, let us know.)
These limitations must have bothered [Andy Geppert], because he set out to bring computer memory into the tangible (or at least, visible) world with his interactive memory badge Core 64. [Andy] has gone through a few different iterations, but essentially Core 64 is an 8×8 grid of woven core memory, which stores each bit via magnetic polarization, with a field of LEDs behind it that allow you to visualize what’s stored. The real beauty of this setup is that it it can be used to display 64 pixel graphics. Better yet — a bit can be rewritten by introducing a magnetic field at the wire junction. In other words, throw a magnet on a stick into the mix and you have yourself a tiny drawing tablet!
This isn’t the first time we’ve seen cool experiments with core memory, and not even the first time we’ve seen [Andy] use it to make something awesome, but it really illuminates how the technology works. Being able to not only see memory being written but to manually write to it makes it all so much realer, somehow.
Continue reading “Visualizing Magnetic Memory With Core 64”
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.
We often see press releases and announcements about the next big technology in batteries, memory, displays, capacitors, or any of a number of other things. Usually we are suspicious since we typically don’t see any of this new technology in the marketplace over any reasonable timescale. So when we read about correlated-electron memory Cerfe Labs, we had to wonder if it would be more of the same. IOur suspicions may be justified of course, but it is telling that the company is a spin-off from ARM, so that gives them some real-world credibility.
Correlated-electron RAM or CeRAM is the usual press release material. Nonvolatile, smaller than SRAM, and fast. It sounds as though it could replace the SRAM in PC caches, for example, and take up less die space on the CPU chip. The principle is a bit odd. When electrons are forced together in certain materials, the properties of the material can change. This Mott transition (named after the inventor [Neville Mott]) can take carbon-doped nickel oxide and switch it from its natural electrical insulating state to a conducting state and back again.
Continue reading “Correlated Electron Memory… Coming Soon?”
Watching the advancement of technology is interesting enough by looking at improved specifications for various components as the years go by. But clock speeds, memory size, and power consumption are all fairly intangible compared to actual implementation of modern technology when compared to days of yore. For example, this $40 microcontroller can do what a video game console was able to do in the 80s for a tenth of the (inflation adjusted) price.
The NESDUE is an emulator for NES games which runs completely on an Arduino Due. The Arduino does have some limitations that have to be worked around to get the Nintendo to work, though. For one, it needs to be overclocked to be playable and it also needs a workaround to get past the memory limit of 96 kB of RAM. From there, a small screen is wired up along with a controller (from a Super Nintendo) and the gaming can begin.
This is an impressive feat for an Arduino platform to accomplish, especially with the amount of memory tweaking that has to happen. This might be the most advanced gaming system available that runs everything on an Arduino, right up there with the Arduinocade which can provide an arcade-like experience straight from the Arduino as well.
Continue reading “Arduino Plays NES Games”
PC users with long memories will recall the days when the one-megabyte barrier was a significant problem, and the various tricks of extended and expanded memory used to mitigate it. One of them was to install a driver that mapped surplus graphics card memory as system memory when the display was in DOS text mode, and it was this that was brought to mind when we read about [Frank D]’s microcontroller implementation of Conway’s Game Of Life.
The components were those he had to hand; an STM32F030F4P6 and an RM68130 176 × 220 TFT board. The STM is not the most powerful of chips, with only 16 kB of Flash and 4 kB of RAM. The display has enough on-board memory to support 18 bits of colour information, but when it is running in eight-colour mode it only uses three of them. The 15 bits that remain are thus available to be used for other purposes, and though the arcane format in which they are read required some understanding they could be used to provide a very useful extra 38720 bytes of RAM for the microcontroller just as once happened with those DOS PC graphics cards of old. Interestingly, the same technique should work with other similar displays.
Though this isn’t a new technique by any means we can’t recall seeing it used in a microcontroller project such as this one before. We’ve brought you many Games of Life though, as well as marking John Conway’s passing earlier this year.
Continue reading “Stealing RAM For A Microcontroller From A TFT Display”