A breadboard with a few DIP chips

Minimalist 6502 System Uses A CPU And Not Much Else

A central processing unit, or CPU, is the heart of any computer system. But it’s definitely not the only part: you also need RAM, ROM and at least some peripherals to turn it into a complete system that can actually do something useful. Modern microcontrollers typically have some or all of these functions integrated into a single chip, but classic CPUs don’t: they were meant to be placed on motherboards along with dozens of other chips. That’s why [c0pperdragon]’s latest project, the SingleBreadboardComputer, is such an amazing design: assisting its 6502 CPU are just four companion chips.

The entire system takes up just one strip of solderless breadboard. Next to the CPU we find 32 KB of SRAM, 32 KB of flash and a clock oscillator. The fifth chip is a 74HC00 quad two-input NAND gate, which is used as a very tiny piece of glue logic to connect everything together. Two of its NAND gates are used for address decoding logic, allowing either the ROM or RAM chip to be selected depending on the state of the CPU’s A15 line as well as blocking the RAM during the low phase of the system clock. The latter function is needed because the address lines are not guaranteed to be stable during the low phase and could cause writes to random memory locations.

The remaining two NAND gates are connected as an RS-flipflop in order to implement a serial output. This is needed because the CPU cannot keep its outputs in the same state for multiple clock cycles, which is required for a serial port. Instead, [c0pperdragon] uses the MLB pin, normally used to implement multiprocessor systems, to generate two-clock pulses, and stores the state in the flipflop for as long as needed. A few well-timed software routines can then be used to transmit and receive serial data without any further hardware.

Currently, the only software for this system is a simple demonstration that sends back data received on its serial port, but if you fancy a challenge you could write programs to do pretty much anything. You could probably find some inspiration in other minimalist 6502 boards, or projects that emulate a complete motherboard in an FPGA.

A smartphone-sized PCB is in a person's hand. A large blue chip package houses a 486 and the board has a SoundBlaster card and a 40 PIN Raspberry Pi Connector along one edge for attaching a Raspberry Pi Zero.

TinyLlama Is A 486 In Your Pocket

We love retrocomputing and tiny computers here at Hackaday, so it’s always nice to see projects that combine the two. [Eivind]’s TinyLlama lets you play DOS games on a board that fits in your hand.

Using the 486 SOM from the 86Duino, the TinyLlama adds an integrated Crystal Semiconductor audio chip for AdLib and SoundBlaster support. If you populate the 40 PIN Raspberry Pi connector, you can also use a Pi Zero 2 to give the system MIDI capabilities when coupled with a GY-PCM5102 I²S DAC module.

Audio has been one of the trickier things to get running on these small 486s, so its nice to see a simple, integrated solution available. [Eivind] shows the machine running DOOM (in the video below the break) and starts up Monkey Island at the end. There is a breakout board for serial and PS/2 mouse/keyboard, but he says that USB peripherals work well if you don’t want to drag your Model M out of the closet.

Looking for more projects using the 86Duino? Checkout ISA Sound Cards on 86Duino or Using an 86Duino with a Graphics Card.

Continue reading “TinyLlama Is A 486 In Your Pocket”

Two Esoteric Programming Languages, One Interpreter

Many of you will have heard of the esoteric programming language Brainf**k_. It’s an example language that’s nearly impossible to use because it’s too simple. It’s basically a Turing computer in code – you can essentially put characters into an array, read them out, increment, decrement, and branch. The rest is up to you. Good luck!

What could be worse? Befunge, a language that parses code not just left-to-right or top-to-bottom, but in any direction depending on the use of ^, v, >, and <. (We love the way that GOTO 10 looks like a garden path in the example.)

Uniting the two, [rsheldiii] brings us BrainFunge, a Brainf**k_ interpreter written in Befunge. And surprisingly, the resulting write-up sheds enough light on both of the esoteric programming languages that they make a little bit of sense. If you try to read along, you’ll definitely be helped out by Esolang Park, which was new to us, and accommodates the non-traditional parsing while displaying the contents of the stack.

If you get a taste of the esoteric, and you find that you’d like a little more, we have a great survey of some of the oddest for you. After cutting your teeth on Befunge, for example, we bet you’ll be ready for Piet.

This Week In Security: Mastodon, Fake Software Company, And ShuffleCake

Due to Twitter’s new policy of testing new features on production, the interest in Mastodon as a potential replacement has skyrocketed. And what’s not to love? You can host it yourself, it’s part of the Fediverse, and you can even run one of the experimental forks for more features. But there’s also the danger of putting a service on the internet, as [Gareth Heyes] illustrates by stealing passwords from, ironically, the infosec.exchange instance.
Continue reading “This Week In Security: Mastodon, Fake Software Company, And ShuffleCake”

An M1 Mac mini sits next to a white Wii on a wooden table. In the background are various Edison-style LED light fixtures with an incadescent-like light profile.

This Wii Has An Apple M1 Inside

The conveniently tiny logic board of the M1 Mac mini has lead to it giving the Mini ITX format a run for its money in case mods. The latest example of this is [Luke Miani]’s M1 Wii. (Youtube via 9to5Mac)

[Miani] chose the Wii as a new enclosure for this Mac mini given its similar form factor and the convenient set of doors in the top to maintain access to the computer’s I/O, something he wasn’t able to do with one of his previous M1 casemods. The completed build is a great stealth way to have a Mac mini in your entertainment center. [Miani] even spends the last several minutes of the video showing the M1 Wii running Wii, GameCube, and PS2 games to really bring it full circle.

A Microsoft Surface power brick was spliced into the original Wii power cable since the Wii PSU didn’t have enough wattage to supply the Mac mini without significant throttling. On the inside, the power runs through a buck converter before making its way to the logic board. While the Mini’s original fan was too big to fit inside the Wii enclosure, a small 12V fan was able to keep performance similar to OEM and much higher than running the M1 fanless without a heat spreader.

If you’d like to see some more M1 casemods, check out this Lampshade iMac or the Mac Mini Mini.

Continue reading “This Wii Has An Apple M1 Inside”

Commodore Datasette Does Its Own Calibration

Ah, the beloved Commodore 64. The “best-selling computer system of all time”. And hobbyists are keeping the dream alive, still producing software for it today. Which leads us to a problem with using such old equipment. When you get your copy of Petscii Robots on cassette, and try to fastload it, your machine might just consistently fail to load the program. That’s fine, time to pull out the cue-tips and rubbing alcohol, and give the read heads a good cleaning. But what if that doesn’t do the job? You may just have another problem, like tape speed drift.

There are several different ways to measure the current tape speed, to dial it in properly. The best is probably a reference cassette with a known tone. Just connect your frequency counter or digital oscilloscope, and dial in the adjustment pot until your Datasette is producing the expected tone. Oh, you don’t have a frequency counter? Well good news, [Jan Derogee] has a solution for you. See, you already have your Datasette connected to a perfectly serviceable frequency counter — your Commodore computer. He’s put out a free program that counts the pulses coming from the Datasette in a second. So play a reference cassette, run the program, and dial in your Datasette deck. Simple! Stick around after the break for a very tongue-in-cheek demonstration of the problem and solution.

Continue reading “Commodore Datasette Does Its Own Calibration”

Four M.2 cards of different sizes on a desk surface

M.2 For Hackers – Cards

Last time, I’ve explained everything you could want to know if you wanted to put an M.2 socket onto your board. Today, let’s build M.2 cards! There’s a myriad of M.2 sockets out there that are just asking for a special card to be inserted into it, and perhaps, it’s going to be your creation that fits.

Why Build Cards?

Laptops and other x86 mainboards often come with M.2 slots. Do you have a free B-key slot? You can put a RP2040 and bunch of sensors on a B-key PCB as an experimental platform carried safely inside your laptop. Would you like to do some more advanced FPGA experiments? Here’s a miniscule FPGA board that fits inside your laptop and lets you play with PCIe on this same laptop – the entire setup having a super low footprint. Are you looking for an extra PCIe link because you’re reusing your laptop as a home server? Again, your WiFi slot will provide you with that. Want to get some PCIe out of a SteamDeck? Building a M-key 2230 card seems to be your only hope! Continue reading “M.2 For Hackers – Cards”