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?
22 thoughts on “Building The Best Homebrew Computer Ever”
website seems to be down..
Does it load up for anyone?
Was that 68k running his webserver?
It went down (nearly?) immediately after this story went up.
It’s good for me now, but I’ve put the Coral cache in the post.
I am sorry, I just set up max users/connections. I hope the webserver can handle all requests now.
Indeed there is a webserver for Kiwi. But it’s not hosting its website yet. ;)
It suspect I wrote the BASIC interpreter that it uses ..
.. but I’ve not heard anything from Simon about using it yet.
I would just like to point out that EhBASIC is only free for personal or educational use, all commercial rights are reserved.
Parts of the hardware look very familiar as well. Compare ..
.. with ..
.. the function is almost identical.
Last go, honest.
Ok. So I eventually got to the links page and found the link love I was missing. Links from within the main text, directly or via the links page, would be nice, as would a correction to the text calling EhBASIC “the free Basic interpreter EHBasic 68k”. It is only free for personal or educational use.
Sounds like a port of Contiki would be a good project. http://www.contiki-os.org/start.html
Awesome effort and all, congrats…
But why use the 8 bit version of the 68000? The 68008 seems to me like its kinda shooting the whole architecture in the foot, it looks merely like a compromise to shoehorn into the 8 bit arena (for cost purposes at the time?) when the moto. architecture heralded the arrival of the ‘pure’ 16bit-ters.
I’m happy to be told otherwise tho, with valid reasons :-)
I suspect because its a lot less complicated. It was the same with the Atari Falcon computer; the design provided a 68030 CPU with a 16bit data bus when it was capable of the full 32bits – to the disapointment of many people who were eagerly awaiting the machine. The 80386SX based PCs were the same deal – cheaper at the expense of reduced speed. The 68008 was indeed a ‘gap filler’ and it was a lot cheaper than the 16bit 68000.
Makes sense – cheaper to bring product to market.
I cant help feel he should have worked with the 68000… :-)
Glad to see people still using the CS8900a. Once upon a time I was Cirrus’s AE for that part.
I have a soft spot for the CS8900A also. For some time I sold a board that provided an ethernet interface to microcontrollers. No TCP/IP stack mind you, that you had to roll yourself.
This is awesome, I hope that at some point the files for programming the CPLD get released (otherwise everything else is pretty much useless :)
>now we can all get a good look at
>the best homebrew computer ever built.
That’s a pretty big claim right there..
>Built around the 68008 CPU – slightly
>less capable than the 68000 found
Ugh, it’s no less capable. It just has an 8bit databus so reads/writes take twice as long. The 68EC000 and 68SEC000 have a MODE pin that does exactly the same thing.
>he came up with a C-based toolchain
>that included porting libc to the Kiwi.
GCC just works for the m68k family.. and I doubt he ported glibc.. look at his page it says “newlib”. Newlib also mostly just works (you need to provide some syscalls). Most of the work he’s done is for the startup code/linker script for his board. His code seems to be about 3 times longer than mine for a similar 68000 system.. maybe for C++ support?
@Lee: We mailed last year about adding commands to EhBASIC. I just didn’t named the project, I was working on. I changed license text and added more references.
For the CPU… Some years ago I layed my hands on some MC68008 and built a small single-board system with it. I just re-used it as I like it and still have some in the drawer. I know there are more advanced CPUs out there. But if a MC68000, why not a MC68030 or even a MC68060? Most of all, I wish I had implemented direct VRAM (frambuffer) access and DMA…
I don’t claim it as the best homebrew computer. I know, things can be done better. If anyone is interested, I could send the gschem project files. But they would be as-is, with all known and unknown bugs (that’s why I only offer a pdf to download).
About newlib, thats what I wrote about it. Porting is easy as one just need to implement a few functions. These can be syscalls or (partly) calls to the fatfs library, as I did.
The startup code and the linker script are mostly the defaults from newlib. Most software work has to be cleand up, before I will release it sometime. This includes the VHDL code. As mentioned: work in progress. :)
For a next generation computer I would consider a newer member of the 68k family (certainly with an MMU to be “linux ready”), direct VRAM (framebuffer) access from the CPU side and some DMA channels. I even found some (Hitachi) old-style graphics controller, which would give access to some nice 3D gfx. Superimposed with an V9990 that would be fantastic. But all these improvements would be beyond my skills.
Faster ‘040s and ‘060s are real hard to find for reasonable money. Coldfires are doable.
I’d do it with a coldfire and come up with some bastard offspring of android and AmigaOS to run on it…. no wait that might look like windoze RT.
>why not a MC68030 or even a MC68060?
The problem with anything above the 020 is that the complexity of implementing a basic system starts to ramp up to the point where it’s not much fun any more.. get some 68SEC000.. they are 3.3v or 5v, and even the 10mhz parts will run at 50mhz in the right conditions.
>I don’t claim it as the best homebrew computer.
That’s hackaday’s hyperactive writing style for you..
Again, hackaday being hyperactive/over excitable and not actually reading what you wrote. ;)
>68k family (certainly with an MMU to be
Support for plain 68000 systems might turn up in the mainline soon, there was a guy that submitted a patch against the nommu 68k code for it. I’m waiting it to go into mainline to port it to my system.
I like RetroComputing, but it is starting to feel like the valve radio scene. Keeping old arcade games and consoles up and running is a valued service – preserving history and all – but why would you want to design something that is 30 years out of date? Nostalgia perhaps? Trying to capture missed dreams?
Maybe they are trying to learn the PCB design techniques needed in the 80s, when clock speeds were small and components big?
If anybody really wanted the joy of building their own computer and picking up useful skills I would point them as a $200 FPGA board such as the Nexys3. It has the keyboard, video, audio and LAN interfaces without any logic behind them. You can then design and build everything behind them (or source them from http://opencores.org)
For examples of what can be done, have a look at http://fpgaarcade.com in the ‘platforms’ sections – where people have re-implemented 80’s tech from schematics and made them available to the world…
If you are feeling bold you could always build your own Cray: http://www.chrisfenton.com/homebrew-cray-1a/
Loading bitstream into an FPGA and actually having to design, assemble and debug physical circuits is a very different experience. While these retro machines are not going to be very practical, they are a wonderful learning experience on circuit design. You don’t get that with a pre-built FPGA board. Furthermore, the FPGA often feels like “black magic”, it is not easy to poke the circuit with logic analyser or scope and see in your own eyes what is going on inside.
So in my view, both of these are valuable experience, albeit in different fields. I would use an FPGA for something that could be potentially targeting “production” sometime later, but happily hack on an old architecture like m68k for learning. It is also plain old fun to do.
Best homebrew computer ever (wire-mess):
The design of Kiwi rev. 2 has almost finished. Beside designing the new revision I build a keyboard-computer like case: http://www.ist-schlau.de/phpBB3/viewtopic.php?f=4&t=901&start=30
Please be kind and respectful to help make the comments section excellent. (Comment Policy)