Vintage Computers:

CP/M Introduction

CP/M Internals

Computer Collection

Video Game Favourites

Hurley 22

Suzuki Swift


Oscar Vermeulen's Personal Web Site

The best CP/M laptop:
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.


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.


Russell Marks' ZCN homepage

Tim's Amstrad NC Users' Site

Cliff Lawson's NC Pages



Last updated January, 2003 by Oscar Vermeulen