Description | Download | Run | Changes | Home


(nc100em screenshot)


nc100em is an Amstrad NC100/NC150/NC200 emulator for Unix/Linux. enc100em is a web-based version for this website. Both support my CP/M-like OS ZCN.


The current version is 1.3a, here as nc100em-1.3a.tar.gz.

There is also a web conversion of the main documentation, the man page.


You can run an NC100 emulator or NC200 emulator in your browser, running ZCN.

(Requires keyboard input to be available and your browser to support wasm, as more recent major ones do. No cookies are used. Source for this web variant can be downloaded here as enc100em-1.3a.tar.gz with current tweaks in this patch.)


Changes in nc100em 1.3a

Fixed possible buffer over-read when using memory card files of less than 1024k.

Changes in nc100em 1.3

New SDL2-based version dnc100em. As well as allowing more flexible display options, this version should act more predictably on non-UK keyboards.

NC200 floppy disk support using John Elliott's lib765. This support is experimental and a bit of a hack, but seems to work with the ROM software at least.

NC150 support. This is simplistic, it just emulates an NC100 with twice the ROM and RAM, and there are probably keyboard layout issues on the Xlib/GTK versions.

ZCN can now be run on all of NC100/NC150/NC200 without Amstrad ROMs.

Slightly improved Z80 emulation accuracy, but only enough to pass "zexdoc" and not "zexall" even. So if you say "MEMPTR" or talk about NMOS vs. CMOS SCF/CCF behaviour, I say "who the what now". Anyway, this was achieved using a few fixes from John Elliott's Joyce emulator and the DAA implementation from Frank Cringle's yaze.

Larger emulation window - the default scaling factor is now 3x, with up to 16x supported.

Much faster screen updates for (hopefully) most common display types in the Xlib and GTK versions, and a new default update rate of 100Hz reflecting NC keyboard interrupt speed.

Xlib version now supports the NC200.

GTK version now uses GTK(+) 2.x. I chose to do the SDL2 version rather than update this any further, so this is probably the last time the GTK version will be included.

Many bugs have been fixed, mostly relating to the NC200 support and the builtin PD ROM.

The bundled "romdump" program now supports NC200 and NC150.

The svgalib version is no longer built or tested.

Removed zcntools. I recommend using cpmtools instead, though you may need to add entries to the "diskdefs" file.

Added "-w" option, to wait for two seconds after starting up the emulator before it starts the Z80. This gives you time to hold down any key combinations you might want at bootup (e.g. Function/Stop/Del to reset when running with a real ROM).

Added "-i" option to invert graphics, like in Nils M. Holm's version.

Now acts more sensibly when no memory card file is present.

Rough sound support is technically included, but it's not built unless enabled at compile time (it won't usually be worth bothering with).

makememcard was renamed (again) to makencmemcard.

You can now run e.g. dnc200em/dnc150em to start in NC200/NC150 mode.

Last updated on 2023 Jun 28