Homebrewing: the N8VEM Project
Building your own computer can be both a very satisfying hobby and a valuable learning experience. This article provides an overview of what is involved and may convince you that it is a trip worth embarking on.
A N8VEM System
N8VEM running as a Single-Board computer
Tools of the trade
20Mhz Zeta board fitted under a 3.5” drive
Technology develops at break-neck speed. Today, there is no sensible use for 8-bit, 64 kilobyte computers with less processing power than a mobile phone. Yet, a lively ‘Retrocomputing’ subculture has existed ever since the 8080, Z80, 6809 and 6502 processors faded out of view. Already in the early 1990s, nostalgic users wrote software emulators to relive the ‘vintage’ experience of their old Commodore 64 or Apple II. Others preferred the actual hardware, and began to collect classic computers. As their old machines broke down occasionally, people began to cultivate the art of computer diagnosis & repair into a new form of retrocomputing.
Next to software emulation and hardware maintenance, a third strain of retrocomputing emerged: designing and building your own system from a “bag of chips” and a circuit board. It actually is amazingly simple to create a functional computer on a little circuit board – that is, with all the information now freely available on the internet. These retro machines may not have much practical use, but the learning experience itself can be of tremendous value.
Hobbyists without any background in electronics somehow picked up the required skills and share their homebrewing experiences online. Although some of their creations are stunningly exotic, most people actually build very simple machines: they take a CPU, add RAM, ROM, a serial port plus maybe an IDE interface for mass storage. And most of them run either Basic (like the 1980s home computers) or use a ‘vintage’ operating system like CP/M. Running CP/M, in fact, is a very nice target to work towards: lots of good software ensures that your homebrew computer can do something interesting once it is built. As the predecessor it also provides a familiar command line interface; and CP/M has the benefit of being very simple. A few days of study are enough to port it to your circuit board.
Still, one challenge remains: if you want homebrewing to be an enduring hobby instead of a one-off project, there should be some perspective beyond putting together a minimal computer and switching it on. But working all on your own, taking the next steps can get progressively more difficult: building graphics subsystems or using exotic processors. Or even adding state-of-the-art microcontrollers to create ‘Frankenstein’ systems: blends of old and new technology that can do something useful, like automate your home.
The N8VEM Project
This is where the N8VEM group comes in. In 2006, Andrew Lynch published his own Single-Board CP/M design with the express intention to engage and involve others. The N8VEM (named after his ham radio license) was intended to be expandable with add-on cards and soon, an informal collaborative effort emerged around a Google mail group. A web site was set up to share the hard- and software that began to be produced. Builders with a wide range of skills got involved – from well-known systems designers to absolute beginners that bought Andrew’s $20 circuit board and then ordered the handful of required electronic components plus soldering iron online from an electronics distributor. Two days of wielding the soldering iron results in owning a nice CP/M computer, using ROM and RAM disks for storage and plenty of vintage software built in. If builders catch a more severe retro virus infection, they can expand it into a powerful (we use the term lightly here) multiprocessor system with ‘blinkenlights’ and hard disks, graphics subsystems and various operating systems. At the same time, people have spun off to build miniature computers, PC/XT clones and 32-bit machines.
N8VEM, though, is certainly not about providing soldering kits. It is about joining in, trying out and picking up skills along the way. Skills that range from reading schematics, down to debugging a computer card that does not do what it was supposed to. The learning curve may be steep at times, but because the N8VEM mail group is very active, expert help is at hand when you get stuck. Nothing prevents you from plugging in your own CPU board design, but if you do you’re not forced to then also develop all the other expansion boards on your own. And as the novelty of designing a simple SBC (single-board computer) wears off, maybe you prefer to focus your energy on exploring graphics systems, or ways to hook 8 bit machines up on the internet. Or jump into systems software development and share the fruits of it with a few hundred others. It turns out that retrocomputing is not always backward-looking: making ‘Frankenstein’ systems by adding modern Propeller chips or FPGAs to old hardware is a nice way to gain experience in modern digital electronics too.
First steps: the single-board N8VEM computer
At a size of 10 by 16 centimeters (roughly 4 by 6 inches) the N8VEM computer does not look particularly impressive. Yet, it provides all the capabilities of a commercial microcomputer of the early 80s – in fact, thanks to CP/M it is software-compatible with them, offering a range of very good programming languages including Basic, C, Pascal and of course assemblers. Excellent editors (ZDE) and word processors (WordStar) are also available and the determined could run simple spreadsheets, databases and games (Zork!) as well.
The N8VEM is so small due to one concession to modern-day electronics: it uses a single, high capacity RAM chip. All the other electronics are components that would have been used ‘back in the day’: simple 74LS logic chips, plus a Z80 and classic interface chips. Memory is backed up by a battery, and therefore the RAM disk is a practical storage mechanism. Especially because a ROM disk comes with most essential software installed. You use the N8VEM either with a serial terminal, or (more likely) with a PC terminal program. The Xmodem protocol allows transfer of files to and from the N8VEM.
Core to the expansion options of the N8VEM is the ECB bus. The N8VEM can be plugged into a ‘backplane’ and access about a dozen or so peripheral cards that have been created so far. However, the first expansion option is actually not an ECB card, but the $5 PPIDE mini-board, which allows the use of an IDE hard disk or Compact Flash card. Costs are minimal: even an old 256MB drive offers more storage than can reasonably be filled with CP/M software.
The N8VEM is supported by a very effective toolchain. Wayne Warthen’s RomWBW project bundles source code of many builders into a smooth-running CP/M system, supporting most ECB peripherals out of the box. The EPROM also contains a ROM disk, which can be filled with your own selection of applications. A suite of utility programs, written by Douglas Goodall, allows easy maintenance of hard drives and terminal settings. And lastly, the well-known simh emulator has an emulation mode for the N8VEM system. Software can thus be developed from the comfort of a modern PC, tested on the emulator and then copied onto compact flash images to run on the real machine.
How to get started: books and tools
The challenge with homebrewing is mostly to find out how to do things. Once you know, most steps are straightforward. And that is why homebrewing as a group makes a lot of sense. Still, two pieces of background information will prove indispensable for any builder: understanding basic computer hardware and having an understanding of assembly language. Reading up on these topics will not only make things easier, but will also add to the understanding of what you are putting together. Some free literature suggestions are at the end of this article.
Only a few tools are really necessary - although for many, building up an electronics lab is part of the fun. A good soldering iron, a cheap ‘solder sucker’ to undo mistakes, and a multimeter are absolute requirements. An old second-hand oscilloscope is a tremendously useful extra. A logic analyser can also be a big help, by allowing you to inspect multiple signals at the same time to figure out what is wrong. Old logic probes are expensive and cumbersome – new designs such as the USB-based Saleae are cheaper and better. Lastly, at some point you will need an Eprom programmer, unless you want to depend on others to burn eproms for you. Make sure you have a programmer that can deal with a wide range of (E)Eproms, as N8VEM boards use all sorts of them. Lastly, a laboratory power supply is a wise investment. Mostly because they have a current limiter that cuts power when a short circuit could otherwise blow up your board!
How to go further
The obvious first step is to add the $20 backplane, and put the N8VEM plus backplane into a case (options range from DIY woodwork to buying a standard 19” card cage). From here on, the choice is a personal one. A few highlights:
VDU cards: Adding a video card frees you from the use of a PC and brings that warm glow of old CRTs into the room. Using vintage CRT chips is also very interesting from a hard- and software perspective.
Adding hard and floppy disk drives increases the ‘Vintage’ qualities of the N8VEM. Although, in practice, you will probably not use the floppy disks very much.
‘Frankenstein systems’: blending old and new technology can be very interesting. For instance, the PropIO card adds mass storage in the form of a modern SD card, but at the same time the on-board Propeller chip supports VGA graphics and PS/2 keyboard.
Blinkenlights: a front panel with dozens of swicthes and flashing lights is just good fun. The ECB Bus Monitor card looks like a classical front panel, but actually is a much more sophisticated debugging tool.
Another option is the 6x0x board, which deserves special attention. It adds a second processor and operating system to the N8VEM. Builders can choose to plug in a 6502, 6802 or 6809 microprocessor and let it run DOS/65, Flex or Cubix. The 6502 will appeal to those with an Apple II or Commodore background, but the 6809 is the most interesting option: it was considered to be the most powerful 8 bit microprocessor, and the Cubix operating system gives it a comfortable operating environment with a full tool chain. Typical for what happens in the N8VEM approach, the 6x0x board was expanded first with an extra I/O board, and then even with a custom backplane to use ECB cards without the Z80 being present as a server.
Having a card rack full of peripherals operating the Big Three 8-bit microprocessors, running everything from CP/M to Flex, the N8VEM becomes a true fetish object for retrocomputing enthusiasts. It can take years to master that universe of hard- and software, with plenty of manageable yet satisfying projects still waiting to be done. OS/9 is just one builder’s project away, for instance.
The cutting Edge
N8VEM has spun off new projects in various directions. If you like to keep things simple, the Zeta board is a small project, offering a very fast (20Mhz) CP/M computer, with SD cards as mass storage, VGA connector and an on-board Propeller experimentation area. All on the size of a circuit board the size of a 3.5” floppy drive.
The N8 is a more complex board in the spirit of the 80s home computers. The Xi 8088 is an IBM PC/XT compatible; and 68000 and 80286 processor boards are also in various stages of development.
The trailing Edge
In the last few years, development efforts have also broadened out towards the well-known S-100 bus, made famous by the original 1975 Altair computer. New S-100 cards provide everything from mass storage devices, video cards, to 80286 and 68000 processor cards. With that range of options, builders can either provide a new lease of life for old S-100 systems, or simply create a brand new one.
Keeping things together
With such a broad array of projects, and involvement from people with widely differing skill sets, it is remarkable how the N8VEM mail group binds all these builders together. The youngest builder is 14 years old; it would be impolite to mention the age of the oldest. But if you have ever used 8-bit computers, you’re likely to encounter some of the people that designed those vintage machines on the N8VEM mail group.
This loose organisation of builders means that it is quite easy to join in – whether homebrewing is a full-time hobby or just a one-off desire to own a $20 self-built computer for fun.
Suggested literature, freely available online in PDF format:
• Steve Ciarcia, Build Your Own Z80 Computer.
• Rodnay Zaks, Programming the Z80.
N8VEM wiki & forum:
S-100 board development:
No copyrights reserved: text is in the public domain.
All pictures used with approval of the authors
Click on pictures to download eBooks