Description | Download | Run | Changes | Home

ZCN

(ZCN screenshot)

Description

ZCN is a CP/M-like operating system for the Amstrad NC100/NC150 (Notepad) and NC200 (Notebook). It can run most programs which run on CP/M 2.2. You usually need a serial link to install it on a real NC, and preferably a PCMCIA memory card (required on NC100).

ZCN also comes with preinstalled memory card images intended for use with emulators, such as nc100em.

2023-03-28 update - rrinit.bin apparently can't be installed on DE/DK/SE NC100s, due to the ROMs strangely lacking the make-program-card option. But this should not affect installation of ZCN itself.

2023-06-12 update - the old "head" command acts oddly on very short files, fixed version here as zcnhead.zip.


Download

The current version is 1.4, available here as zcn14.zip.


Run

You can run a browser-based emulation of most of ZCN.


Changes

Changes in ZCN 1.4

Bug fixes/workarounds:

Fixed serious NC200 format command bug. If format prompted for confirmation and you chose no, or if format gave a card-read-only error, it would leave the card mapped in memory on exit. This would almost guarantee memory card corruption.

Screendumps are now not supported on NC200, due to issues along similar lines. This might be overly cautious, but I think it's probably the right move.

Fixed corruption of a few bytes high in memory on NC200 when turned off and on again.

rrxfer will now read correctly from anywhere in upper memory, even past 64k (this was previously broken on NC200).

Fixed bbcmin which had been broken since day one, it wasn't copying some code into the right place. (This was hard to spot if you ever used bbcbas, which effectively masked the issue.)

Fixed race condition on serial input buffer read/write, which could cause strange erroneous input. Thanks to Nils M. Holm for mentioning what I think was probably this bug.

Fixed play4b's playback speed.

New features:

NC150 support, with a custom zcn150.bin kernel. As with the NC200, this is not as complete as the NC100 support. Also, it has only been tested under emulation.

Internal ramdisk support on NC200 and NC150, so you can use ZCN on them without a memory card (to some limited degree). This is really only intended to be used if you lack a memory card - you switch between memory card mode and ramdisk mode using the "ramd" command.

Improved keyboard layout support via keyb, supporting Danish, French, German, Italian, Swedish, and US keyboard layouts, in addition to the old UK and Dvorak. All supported keyboard layouts can be used on any NC model.

Preinstalled memory card images for NC100/NC150/NC200. These are intended for use with emulators like nc100em/MAME/RC2014, but they should also work on the real thing if you have the means to write them correctly. (Serial link installs are still supported, of course.)

Support for booting from floppy disk on the NC200 - this uses David Given's floppy-boot code from FUZIX, almost unchanged. ZCN itself does not support the floppy disk, so this just loads ZCN and a small ramdisk image then boots it.

Support for displaying some non-ASCII characters, specifically some from the old DOS code pages 437 and 850 like in the ROM software, as well as the euro sign character from 858. Only a few dozen characters are supported (!) and you need to run keyb beforehand (i.e. since boot) for this to work.

NC200 time-reading and time-setting support, meaning that e.g. time and timeset work.

The man command now uses ZX0 compression - the data file is smaller, man.com is smaller, and man pages load faster.

Certain .com files in the support directory, like QTERM, are now also provided in versions using ZX0 compression. So for example, the ZX0-using version of QTERM is 5k smaller. ZCN comes with a "zx0com.bin" file you can prepend to a .zx0 file to run it in this way (limited to .zx0 files of 16k or less).

Various programs are now usable (or more usable) on the NC200.

Removed calc, dial, mft, play1b/play2b, pmarc/pmext, sokoban, VDE, z8e, zap, zcnbrot, and zcnclock, for what I believe were justifiable reasons in each case. mft, pmarc/pmext, VDE, and z8e are of course fairly easy to find elsewhere online.

System blocks for booting are now always reserved on the memory card's A: drive at the time of formatting, simplifying sys and saving memory - the unsys command has been removed. This idea was adopted from Nils M. Holm's CP/NC fork.

Added (Hector Peraza's) TED text editor, modified to use ZCN control codes. It supports editing text files larger than memory, though they must be pure ASCII.

Added zcsoli, a Solitaire/Patience/Klondike card game.

Added md5cpm, a checksum-like program compatible with "md5sum".

Added ncspeed, which tests effective CPU speed. Average many runs for better accuracy, or run it once for a quick "oh, about 4.6MHz then". :-)

Added nctest, which uses a few basic hardware tests to determine which NC model you're using, and whether or not it seems to be emulated.

The rather large zcn.txt now has a small auto-generated index showing the section names, in index.txt.


Last updated on 2023 Jun 12