• Commodore Free, Issue 67 - Part8

    From Stephen Walsh@39:901/281 to all on Thu Feb 14 22:35:04 2013
    mulators 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 retro computing.

    Next to software emulation and hardware maintenance, a third strain of retro computing 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 home brewing 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 home brewing 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.

    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 retro computing 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 centimetres (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 home brewing is mostly to find out how to do things. Once you know, most steps are straightforward. And that is why home brewing 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 th
    --- CrashWrite 2.0
    * Origin: --:)-- Dragon's Lair BBS --(:- (39:901/281)