Zmac v1.1, a Z80 macro cross-assembler.
Public domain by Bruce Norskog and others.
Cleaned up somewhat and documented by Russell Marks.


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

Zmac is a rather good Z80 macro cross-assembler which hardly anyone
seems to know about, but which I've used for about four or five years
now for various things.

I'd taken to, whenever I uploaded any of my Z80 sources, including a
diff to get zmac minimally working (being a relatively old program, it
made some assumptions which were a little odd in a modern context) and
a pointer to where the shar archives could be found. (FWIW, that's
comp.sources.unix volume 9.) But eventually, I decided it'd be a Good
Thing if I got a more reasonable zmac package together, especially
since I couldn't ever remember seeing a Z80 cross-assembler on
sunsite. Honestly, why bother wasting space on junk like the kernel
and gcc when you could be using it for *useful* stuff like Z80
assemblers? :-)

So I made the code ANSI C and got it through gcc's `-Wall', fixed a
couple of obscure bugs I'd found in it, wrote a man page, and added
the option of only accepting 8080-compatible instructions so you can
write programs in Z80 which will also run on the 8080 and 8085 (see
the man page for details), and a couple of other minor features. And
that's essentially what's here.


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

You'll need an ANSI C compiler. `gcc' is fine - so should most other
compilers be, these days. (You'll also need bison or yacc, but that
shouldn't be a problem.)

Check/edit the Makefile first. (It should be fine, though.) Then do
`make', then (as root) `make install'.


History
-------

Bruce Norskog wrote zmac in 1978, "modeled after the... macro
cross-assembler for the Intel 8080 by Ken Borgendale."

John Providenza made some changes and bugfixes in the early 80s.

Colin Kelley did much the same in the mid-80s.

And of course, I've just messed about with it in the late 90s. :-)

I assigned the first version I hacked on the version number 1.0 just
for the sake of argument (previous versions didn't have a version
number). A version number of about 4.0 or 5.0 would probably be a
better reflection of what the code's been through over the years...


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

You can email me at rus@forfree.at but since I'm not on the net, mail
received there is just posted to me at regular intervals by a friend
(and similarly I post responses back to be emailed). It could take as
long as six weeks for you to get a response - if that's a problem,
then you could write to me directly instead (more hassle, but usually
quicker).

You can write to me at:
		Russell Marks,
		3 Rapley Close,
		Camberley,
		Surrey,
		GU15 4ER,
		United Kingdom.


Share and enjoy! 

-Rus.
