This brief document describes how to modify your C2 (502) CPU board to run the 
CEGMON monitor.  The process should be similar for the C4PMF (505).


The SYNMON ROM provided by OSI is divided into 8 256-byte blocks, each 
containing a small program.  The C1 maps the whole ROM to lower 1K to 
$F800-$FFFF, but ignores the lower 3 blocks.  The 502 and 505 boards contain 
circuitry to permit mapping any of the blocks to $FD00, $FE00,and $FF00.  
$FC00 is reserved for the ACIA, for historical reasons. 

The monitor is written for C1/UK101 and C2/4, exploiting the similarites. 
However, to run on the C2/4, the code at $FC00 must be remapped to another 
block (adjusting any references to this code.) 

The simplest approach is to bypass the C2 ROM-mapping function.  The
address decoder provides an active low signal indicating an address
within the $FXXX range, and another indicating an address within the
$FCXX range.  These signals are simply combined to select the EPROM
for reads in the $FXXX range, except $FCXX.  This produces two images
of the EPROM--at $F000 and $F800.  Relocating the references of the
$FC00 block to $F400 (by adjusting an OFFSET constant), these routines
will appear correctly resolved at $F400.

A modified SYNMON ROM can be prepared, with the blocks correctly
ordered in the EPROM, to work properly with the new scheme.

Instructions (for 502 board) are as follows:


Free up an unused inverter
 - Remove the wire (or cut trace) from Jumper W5.
 - Cut trace between U27, pin 8 and U17, pin 13.  A ood place is on the
    solder side, near U17, pin 13.

Provide active low signal when (02-VMA and FXXX)=1 to EPROM ~CS1

 - Cut trace to U27, pins 10&11. (remove FCXX-FFXX signal from U14)
 - Connect U28, pin 6 (FXXX) to pin 10/11 of U27.  The trace runs just
    next to pin 11 on the solder side; simply connect a short jumper.
 - Connect U27, pin 8 (~(FXXX&02-VMA) to the center of jumper W5 (=U5, pin 20, ~CS)

Provide Active low signal indicating the address is NOT in FCXX to EPROM ~CS2

 - remove wire or trace at jumper W4 (Above MONITOR ROM)
 - Cut trace to U29, pin 12 (R/W; so ~FCXX will be active for both R and W
 - Connect pins 12 and 13 of U29.
 - Connect U16, pin 4 (~FCXX) to U17, pin 13.
 - Connect U17, pin 12 (FCXX) to the center of jumper W4 (EPROM pin 18, ~CS2)

Hook up the monitor EPROM address lines A8,A9,A10

 - Cut the 3 traces from U14 to pins 19,22, and 23 of U5 (MONITOR
    ROM).  These can be conveniently cut where they run in parallel
    below the Monitor ROM on the component side.
 - Connect pin 23 of U5 (MONITOR ROM A8) to pin 23 of U6 (BASIC ROM A8).
 - Connect pin 22 of U5 (MONITOR ROM A9) to pin 22 of U6 (BASIC ROM A9).
 - Connect pin 19 of U5 (MONITOR ROM A10) to pin 19 of U6 (BASIC ROM A10).


In the CEGMON source code, change the OFFSET value to $FC00-$F400.
Burn the EPROM, and place it in the monitor ROM socket.  Enjoy.

To run the original OSI SYNMON monitor, you must burn a new EPROM,
placing the correct blocks at $FD00, $FE00, and $FF00.  If you really
need to switch-select between floppy/basic, burn one set in the lower
1K, and the other in the higher 1K, then switch A10 to +5V or ground.

