This directory (BCPL/bcplprogs/) contains files relating to BCPL
programs for the Zilog Z80 microprocessor. There is a reconstruction
of a BCPL to Z80 compiler based on the one used at Cambridge by the
Systems Research Group in the early 1980s. This version uses the
modern BCPL front end. The source of this compiler is in
BCPL/cintcode/com/{z80bcpl.b, bcplfe.b and bcplcg50.b}. It uses the
header file BCPL/cintcode/g/bcplfecg.h.  There is a Z80 assembler also
used by the Systems Research Group. To test the reconstructed compiler
and assembler I have written a simple Z80 emulator that has simple
interactive debugging aids similar the those provided by the standard
BCPL Cintcode system. The source of the emulator is in
BCPL/cintcode/com/z80emu.b.

All these programs, particularly the emulator, are still in early
stages of developments.

This directory has the following subdirectories:

bcpl/       BCPL programs to compile and run on the Z80
asm/        Z80 assembly language programs
hex/        The compiled or assembled programs in Intel Hex format,
            possibly including comment lines starting with $s.
list/       This holds listing files generated by z80bcpl and z80asm

There are various command commands:

a          Assemble a program in asm/ sending the assembled code to hex/
           and an assembler listing to list/
           Typical command: c a t1
b          Compile a program in bcpl/ sending the compiled code to hex/
           and a listing file to list/
           Typical command: c b cmpltest
x          Enter the emulator, leaving it waiting for debugging commands
           after loading a program from directory hex/
	   Typical command: c x t1
l          Output a listing file from list/
           Typical command: c l t1

A simple test of the system is the following sequence of commands.

cd ...../BCPL/bcplprogs/z80
cintsys
type bcpl/tst1.b
c b tst1
type hex/tst1.hex
type list/tst1.hex
c z tst1
c

^C
cintsys
type asm/t1.z80
c a t1
type hex/t1.hex
c l t1
c x t1
ts
\
\
\     etc


Martin Richards
22/10/2020
