Anyone reading this uses computers, and a few very cool people have built their own computer out of chips, [zaphod] is doing something even cooler over on hackaday.io: he’s building a computer from discrete transistors.
Building a computer from individual components without chips isn’t something new – Minecraft players who aren’t into cheaty command blocks do it all the time, and there have been a few real-life builds that have rocked our socks. [zaphod] is following in this hallowed tradition by building a four-bit computer, complete with CPU, RAM, and ROM from transistors, diodes, resistors, wire, and a lot of solder.
The ROM for the computer is just a bunch of 16 DIP switches and 128 diodes, giving this computer 128 bits of storage. the RAM for this project is a bit of a hack – it’s an Arduino, but that’s only because [zaphod] doesn’t want to solder 640 transistors just yet. This setup does have its advantages, though: the entire contents of memory can be dumped to a computer through a serial monitor. The ALU is a 4-bit ripple-carry adder/subtractor, with plans for a comparison unit that will be responsible for JMP.
The project hasn’t been without its problems – the first design of the demux for the ROM access logic resulted in a jungle of wires, gates, and connections that [zaphod] couldn’t get a usable signal out of because of the limited gate fan-out of his gates. After looking at the problem, [zaphod] decided to look at how real demuxes were constructed, and eventually hit upon the correct way of doing things – inverters and ANDs.
It’s a beautiful project, and something that [zaphod] has been working for months on. He’s getting close to complete, if you don’t count soldering up the RAM, and already has a crude Larson scanner worked out.
As an adventure in computer history, [Len] built up a clock. The Z80 Micro TV Clock brings together a homebrew computer and three Micro TVs into a rather large timepiece.
The computer powering the clock runs the CP/M operating system. This OS was eventually released as open source software, and a variety of homebrew computer projects have implemented it. This clock is based on an existing breadboard CP/M machine, which includes schematics and software.
With an OS running, [Len] got a text editor and C compiler working. Now custom software could be written for the device. Software was written to interact with a Maxim DS12885 Real Time Clock, which keeps the time, and to output the time to the display controllers.
The Micro TVs in this build are Sony Watchman displays featuring a 2″ CRT. The devices had no video input port, so [Len] ripped them open and started poking around. The NTSC signal was found by probing the board and looking for the right waveform.
To drive the TVs from CP/M, a custom video driver was built. This uses three relatively modern ATmega328P microcontrollers and the arduino-tvout library. All of these components are brought together on a stand made from wood and copper tubing, making it a functional as a desk top clock
Perfection is achieved not when there is nothing more to add, but when there is nothing left to fail. Going by that metric, [Stian]’s three-chip 6502 homebrew computer is the epitome of perfection. It’s a real, working, homebrew retrocomputer using only three chips: a CPU, some RAM, and a microcontroller to bootstrap the computer and provide a video output,
The key to this minimalist build is having the entire boot process controlled by an ATMega16 microcontroller, This interfaces to the 6502 through a dual-port SRAM, a 1 kilobyte Cypress CY7C130. This dual-port RAM allows the CPU and microcontroller to access the same bit of memory, making it easy to bootstrap a computer from a bit of AVR code.
Output is provided with [Stian]’s ATMega video text generator putting a 37×17 characters on any television with an RCA jack. While input isn’t handled yet, [Stian] says it should be possible with his AVR PS/2 keyboard library.
While other 6502 homebrew computers such as [Quinn Dunki] Veronica can reach unparalleled heights of complexity, there is a lot to be said about the minimalism of [Stian]’s three-chip computer. With some clever coding and a modified parts list, it may well be possible to put a retrocomputer in the hands of everyone with a bare minimum of cost and parts.
While this is not exactly a hack or a fail, it definitely is an inspiring example on how to debug a faulty card.
[Quinn] is one of the very few hobbyists out there that designed her own 6502 based computer. For the young readers of Hackaday, the MOS 6502 was introduced in 1975 and has been used in the Aple // line, the Commodore 64, the Vic-20, the Atari computers, the Nintendo Enterntainment System and others.
[Quinn]’s homemade new RAM board had been working for many weeks until it started to show some weaknesses by only sporadically passing the boot RAM test. Assuming the RAM was the problem, she started by making a more advanced memory test, which showed errors at random addresses.
She didn’t have any more of the same memory chips on hand which could be used with a fresh PCB. Determined to power through the issue, she etched a new board with a new memory design. Unfortunately it also gave memory errors at boot. Only one culprit was left, which is shown in the picture above. It’s a small sizing error in the board artwork which was just enough to cause a misalignment on the connector.
The article contains many details about her debugging process, so it definitely is worth the read.
When you’re building one of the best homebrew computers ever created, you’ll also want a great case for it. This was [Simon]’s task when he went about building an enclosure for his Kiwi microcomputer.
We were introduced to the Kiwi last year as the end result of [Simon] designing the ultimate computer from the early to mid-1980s. Inside is a 68008 CPU, similar to the processor found in early Macs and Amigas, two SID chips taken from a Commodore 64, Ethernet, support for IDE hard drives and floppy disks, and a video display processor capable of delivering VGA resolution video at 32-bit color depth. Basically, if this computer existed in 1982, it would either be hideously expensive or extraordinarily popular. Probably both, now that I think about it.
The case for the Kiwi was carefully cut from ABS sheets, glued together with acetone, and painted with auto body paint by a friend. It’s a great piece of work, but the effort may be for naught; [Simon] is reworking the design of his Kiwi computer, and hopefully he’ll be spinning a few extra boards for everyone else that wants a piece of the Kiwi.
Last week we posted a link to Project Kiwi, a homebrew Motorola 68008-based microcomputer built by [Simon] that includes Ethernet, a very good display adapter, an interface for IDE hard disks, two Commodore SID chips (for stereo chiptunes), a floppy disk controller, and an already existent software library that will make it very easy to develop your own software for this wonderful computer.
After thinking about [Simon]’s Project Kiwi for a while, I’ve been thinking there really hasn’t been a homebrew computer made that is so perfect for a proper Open Hardware release. There are more than enough peripherals in the computer to make development very fun. I’ve suggested doing a group buy to get Kiwi PCBs out into the wild and into the hands of other retrocomputer fanatics, but [Simon] would like a little more feedback.
Of course, this means turning to you, the wonderful Hackaday reader. Would any of you be interested in your own Kiwi microcomputer?
[Simon] tells me there are a lot of problems for turning the Kiwi microcomputer into a Open Hardware project. His prototype PCB cost €300, greatly reducing the number of people who would be interested in making their own Kiwi. Also, there are a few problems on the current PCB design (easily fixed for the next revision), and [Simon] would like to add a few features like DMA and a proper framebuffer.
Despite all those problems, I can’t see a better way to learn about computer architecture the hard way (i.e. 80’s microcomputers as opposed to futzing around with a Raspberry Pi). You’ll also get a really wonderful computer system that will show the power of 80s-era electronics, with the very hopeful goal of spreading the gospel of retrocomputing with the venerable Saint MC68000.
If you’d like to add your two cents – if having an Open Hardware 80s microcomputer is a good idea, or some technical requests such as adding a proper 68000 CPU to future designs, leave a note in the comments or on the forum [Simon] set up on his Kiwi page.
I think it’s a cool idea, but then again I’m probably blinded by how cool an 80s computer of this caliber is. The fate of this project is now in your hands.
A few days ago when I posted a homebrew Motorola 68000 computer spectacular, I briefly mentioned a truly spectacular homebrew computer built by [Simon Ferber]. When I posted a link to a Youtube demo of his 68k board, he was working on a website to document the architecture design, hardware, and software. That website is now up (cache if you need it) and now we can all get a good look at the best homebrew computer ever built.
Built around the 68008 CPU – slightly less capable than the 68000 found in the original Macs, Amigas, and the TI-89 – [Simon]’s Kiwi computer has peripherals out the wazoo. A Yamaha V9990 Video Display Processor provides a 640×480 display with 32k colors. Two SID chips taken from a Commodore 64 provide stereo chiptune audio, and a floppy disk controller, IDE/ATA bus, and CS8900A Ethernet controller provide all the practical functionality you’d expect from an awesome computer.
On the software side of things, [Simon] is running Enhanced Basic 68k, but of course he can’t just use BASIC to fiddle around with all the cool chips on the Kiwi. With that in mind, he came up with a C-based toolchain that included porting libc to the Kiwi.
Like any good homebrew computer project, all the schematics, a bit of code, and a BOM are provided. [Simon] is currently working on (slightly) redesigning the PCB layout of the Kiwi, and we’ll be happy to see those files released. Anyone up for a Kiwi PCB group buy?