The best CP/M laptop:
ZCN
on the Amstrad NC100 & Amstrad NC200
Although there is a distinct pleasure in running CP/M on 'old iron' boxes
from the late 70s, I've always had a fascination with portable CP/M machines.
This page is intended as propaganda for what I think of as the best CP/M
workhorse: the Amstrad NC100 'notepad' and NC200 'notebook' running ZCN.
If, like me, you like to play with Z80 assembler and hacking around on
the wonderfully simple CP/M hardware, these machines are perfect. The
size of a notepad and much lighter (and much more robust) than modern
laptops, these machines give you go-everywhere CP/M fun.
The
Hardware: Amstrad's NC100 and NC200
Outside of the UK, these machines are little known. They were introduced
in the early 90s by Amstrad as no-frills pocket word processors, long
after the era of the Z80 had come to an end. It seems they were popular
with the same people that Amstrad catered for with their PCW range, and
were frequently used in education it seems.
The NC100 is essentially a Z80 with 64K RAM and a PCMCIA slot for an
additional 1MB of SRAM and an 8 line * 80 columns LCD screen.
The
NC200 was introduced a bit later, and boasts a 16*80 screen, 128K RAM
and a 3.5" disk drive.
In their normal state, these computers hold little interest for CP/M
fans, as their firmware holds just a word processor, terminal software
and BBC Basic. But with the introduction of ZCN by Russell Marks, that
changed radically.
(*) Note that under ZCN, the NC200's disk drive isn't used, although
you can store ZCN files on it using the internal software if you want.
ZCN itself only uses the 1MB ramdisk.
The Software: Russell Marks' ZCN
ZCN is a CP/M compatible operating system for the NC's, written under
the GPL license - freeware. Rather than creating a CP/M BIOS for the NC,
Marks decided to start from scratch. That makes ZCN closely tuned to the
NC hardware it runs on, allowing full use of features like instant off-on
(switch off the machine at any time, and next time you switch on again,
you can continue where you left things). Also, compared to standard CP/M,
it has some neat features for hacking and Z80 development.
It's sometimes hard to say why a machine 'feels right', but this is definitely
my favourite CP/M (-like) environment. Almost all CP/M software runs on
the little machines. And because ZCN uses the 1MB PCMCIA card like a hard
disk, it's very fast. It also runs for hours on a single set of 4 AA batteries
(D cells in the case of the NC200). And it comes with a whole host of
support programs - from a custom-installed Z8E debugger to transfer software
for communicating with PCs and the original NC firmware.
GPL! That means source code...
Perhaps the best thing of ZCN is that it comes complete with all source
code. Neatly written, it gives as much hacking fun on the Z80 as Linux
gives on modern hardware. ZCN even comes with an good library of Z80 and
NC100 specific assembler routines. Although I am not really a great Z80
coder, this is enough to allow complete control over the machines. The
documentation is good, and because of the simple hardware, it's not difficult
to fully understand the entire machine in a matter of days. Cliff
Lawson's site contributes by documenting the hardware design of the
machine.
Practicalities
The NC100 has a small screen - 480*64 pixels. ZCN doesn't use this for
a 8 lines*80 columns layout, but instead uses 10 lines * 120 columns.
I've read a lot of comments about that choice. But, in fact - get used
to it. After 15 minutes you'll be used to the small fonts. And the additional
2 lines matter. A 10-line screen is much more OK than an 8 line screen.
On the NC200, you'll have 21 backlit lines - which is excellent.
Some tips...
Finding suitable PCMCIA cards
Finding an NC is not too difficult - go to the UK eBay site and an NC100
will cost you about £20, or an NC200 about £50. See below
for a cheaper option - buying a dead NC100 and fixing it.
Anyway,
the real challenge is obtaining the right PCMCIA card. You need one for
ZCN. The NCs require an SRAM PCMCIA card, max 1MB in size, which seem
quite hard to find. One solution is to look for Apple Newton 1MB SRAM
cards. Careful - only the 1MB Newton card uses SRAM, all the larger ones
are Flash RAM that is useless on the NC.
The other route - the one I tried in November 2003 - is to order a memory
card for the Atari Portfolio from Best
Electronics in the US - they ship worldwide. One card costs approx
$15. Good people, good service. The one I got turned out to be a Newton
card, by the way.
Question: SRAM cards run on a little lithium battery. These, I guess,
have a limited lifespan. Does anyone know how to replace the battery in
these Newton cards?!
Dead NC100s:
It
seems that many NC100 owners plug in a third-party power supply instead
of running the machine on batteries. Unfortunately, the standard-looking
power connector has its polarity reversed from what is usual: The outer
side of the connector is +, the inside is -. Alas, a fuse in the NC100
blows up when you get the polarity wrong. This results in a dead machine...
see the cool graphics to the right!
Dead NC100s are regularly sold on eBay, and it seems a reasonable bet
to buy one assuming it's just the fuse. Fixing it is very, very simple
- see John
King's fix page. Even I managed, so I got a bargain NC100 for a total
cost of £1.24 off eBay...
I am not sure whether the above also works for NC200s. Please let me
know if you do...
Null
modem cable trouble:
The normal way to communicate with the NC100, lacking a disk drive, is
to use a null modem cable. You'll need one to install ZCN, anyway. I used
a bog standard one, but it didn't work. The NC could receive whatever
the PC was sending, but the other direction didn't work. I could not find
any help on the Net - so if anyone else has this problem, here is the
fix: solder a wire between RTS and CTS on the NC connector - short pins
7 and 8.
Links
Russell Marks' ZCN homepage
Tim's Amstrad NC Users' Site
Cliff Lawson's
NC Pages
|