Tuesday, November 16, 2010


Amstrad PCW links:

CP/M links:

Z80 links:

KeyMouse low level information on the Amstrad PCW

During development of Quijote, I discovered the following low level information about the PCW KeyMouse.

In the last 16 bytes of bank 3 (keyboard mapping):
0xBFFB Bit 7 is the middle button status (1=pressed).
0xBFFD Bits b4 to b0 are the low bits of the vertical movement counter.

Then, plus the addition of the very valuable information showed in the Richard Fairhurst website the low level interface of PCW KeyMouse is:
0xBFFB b7: middle button status
b6 to b0: horizontal movement counter
0xBFFC b7 to b6: high bits of vertical movement counter
0xBFFD b4 to b0: low bits of vertical movement counter
0xBFFE b7: left button status
b6: right button status

For button status: Bit = 1 if button pressed, otherwise = 0.

Values for movement counters: 0 to 127, but when 0 is decreased in 1, 127 is the result, and when 127 is increased in 1, 0 is the result.

List of C Compilers for CP/M

This is the list of the C Compilers for CP/M that I know.

If you know others C Compilers, mistakes in this information, more links, etc., please, email me.

Some abreviations used here:

  • K&R means Kernighan and Ritchie.
  • PD means Public Domain.
  • GPL means GNU Public License.
This is the list:
Please, email me if you have any information about:
  • HiSoft C
  • Arnor C, K&R
  • Ecosoft C v3.00, K&R, by Ecosoft
  • Lattice C, by Lattice Inc.

MESCC - Mike's Enhanced Small C Compiler

MESCC is my project of a C compiler for the CP/M operating system and the Z80 cpu.
It is derived from Small C, and it is written in MESCC, and can compile itself.

MESCC generate Z80 assembler code that can be assembled in ZSM/Z80ASMUK, that it is also included, to generate the executable COM file.

Also, an optimizer is included.

It is released under the GNU General Public License, and source code for the compiler, the libraries, the optimizer and the other utilities is included.

My HTML browser for the Amstrad PCW and many other projects are written in MESCC.

If you want to receive a copy of the v1.01
release, please, email me.

Comments, bug reports, etc. are always wellcome.


Wellcome to
My site dedicated to the world of the CP/M OS, the Z80 CPU, the AMSTRAD PCW computer, and related subjects.