nc100d 1.2 - an Amstrad NC100/NC200 emulator for DOS
  (based on version 1.2 of the Unix/Linux-based nc100em)

Z80 emulation and Xlib code from `xz80', copyright (C) 1994 Ian Collier.
nc100em/nc100d changes (C) 1995-2001 Russell Marks.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at
your option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

[It's in `copying' here.]


ROM issues
----------

The `pdrom.bin' provided here (written by me) is a public domain
replacement ROM which is capable of booting ZCN (my free CP/M-like OS
for the NC100), context saving and restoring, and nothing else -
useful for ZCN, but useless if you want to run the ROM software. (ZCN
is available from http://rus.members.beeb.net/zcn.html or
ftp://ftp.ibiblio.org/pub/packages/zcn/.)

No Amstrad code is involved if you run ZCN using the PD ROM, so
there's no need to own an NC100 to do that.

However, if you do own an NC100, you should be able to copy the
original Amstrad ROM for your own personal use with the emulator
(which is capable of running the ROM software) using `romdump' (see
the README in the romdump directory), but it's up to you to correctly
observe copyright law. I'm no lawyer.

`romdump' won't yet dump the NC200's ROM, I'm afraid. :-(


Description
-----------

nc100d is an Amstrad NC100 emulator for MS-DOS. (It also has NC200
support, but this is less complete.) It supports both the ROM software
and my free CP/M-like replacement OS `ZCN'.

Associated programs also included are `makememc', a simple program
to make a blank memory card image, and `zcntools', an mtools-like
set of utils for reading/writing memory card images in ZCN format.


Installation
------------

The easiest setup is to unzip the distribution zip file in c:\nc100d.
Reason being, the default location of the ROM, RAM, and memory card
images is there. :-) But if you want those files in a different
location, set the environment variable NC100D_HOME to the directory
you want them in - the best way to do this is probably to do (for
example) `set nc100d_home=d:\long\paths\are\fun' in your autoexec.bat.


Running under Windows
---------------------

Under Windows 98, it seems to run ok (it has to run fullscreen, but
with the default setup Windows figures this out and acts accordingly).
Just run it the same way as any other DOS program. I assume things are
much the same under Windows 95 and ME, but I don't have access to a PC
with either of those.

However, if there are any Windows 3.1 users still out there :-), beware -
it *doesn't* work under that. (You'll have to just run it under DOS.)

I doubt it'll run under Windows NT or 2000; if you try this, please
let me know if it works or not.


Compilation
-----------

If you don't want to recompile nc100d, you can ignore this section.

What? Still here? Are you *sure* you're a DOS user? :^) Well, I
compile nc100d with djgpp 1.x (yes, I know it's really really old, but
I have a copy conveniently on CD, and I don't have any other decent C
compilers for MS-DOG), so you may have problems with more recent
versions. And you'll DEFINITELY have problems with any other DOS or
Windows C compiler, trust me. But if you have djgpp 1.x (or a more
recent copy if you're feeling adventurous :-)), and it's all set up
correctly etc., it should just be a matter of editing `makefile' to
set where stub.exe is, then doing `make'. 


Further documentation
---------------------

More on using nc100d is in `nc100d.txt', which is basically an edited
copy of nc100em's man page. If you want to create a memory card image
(recommended), be sure to also read `makememc.txt' - and if you'll be
running ZCN, you should read (in `zcntools.txt') about the file
transfer tools.

Do be sure to read nc100d.txt, as you *have* to set things up one way
or another before you'll be able to do anything in the emulator.


Uninstalling
------------

If you want to uninstall nc100d, it's quite simple - just do
`deltree c:\nc100d'. This works unless you chose to put things
elsewhere, in which case you should already know what you need to get
rid of. :-)

(Users of MS-DOS 5 or earlier won't have `deltree', but since you're
unlikely to be running MS-DOS 5 on a computer capable of running
nc100d, I think I'll gloss over that. :-))


History (of nc100em)
-------

I decided to write a NC100 emulator on February 26th 1996. For some
reason. :-)

Thanks to the GNU GPL, I could use Ian Collier's Z80 emulator from
xz80, a ZX Spectrum emulator for X, and replace the X and Spectrum
support code with that for svgalib and the NC100, as I did with my
ZX81 emulator Z81. (I did the X and tty versions later.) And here I am
writing the README the following evening (again). This is an argument
for open source. :-)

I give Ian the main author credit for nc100em, as the Z80 emulation is
much harder to do than emulating the NC100's hardware etc. However,
any correspondence regarding nc100em should be to me, as Ian hasn't
had anything else to do with it and may not appreciate being hassled
by NC100 fans. :-)


As for nc100d, Emmanuel Roussin deserves a mention for having the
nerve to ask for a DOS port, without which it's unlikely nc100d would
have happened. The reader must make up their own mind whether this is
a good or bad thing. :-)


Future developments
-------------------

While nc100d is a fairly pointless hack, and not generally a big
priority for me, feel free to try and prod me into making it better,
if you want. But you may find it very hard, 'cos I've been a fairly
staunch Linux user for several years. :-) Persuading me to incorporate
changes from any newer nc100em version generally isn't too hard,
though.


Contacting me
-------------

You can email me at russell.marks@ntlworld.com.


Share and enjoy! 

-Rus.
