Datum Daterm

Following is an attempt to implement the DATUM terminal (serial port) monitor. Monitor resides in $7000-$7FFF memory range with $0000-$0100 ram as scratchpad for various variables. ACIA is located @$4000-4001 and digital to analog converter (DtoA) in memory range from $3F00-3FFF... (which is not in this design). To make all this work on 6802 max board .. we can set:

So appropriate pld file would be something like this:

Datum Daterm Monitor pld file

Name            6802 max board, datum term;

Partno          0001;

Revision        Ver 1;

Date            24/12/17;

Designer        mc;

Company         mcoz;

Location        oz;

Assembly        manual;

Device          g22v10;

/** Inputs **/

pin [3..11] = [a7..15] ;

pin [13..17] = [a2..6] ;

pin 18 = vma;

pin 2 = eout;

pin 1 = rnw;

/** Outputs **/

pin 22 = !rd;

pin 23 = !wr;

pin 19 = !piaCS;

pin 21 = !acaCS;

pin 20 = !memCS;

/** Declarations and Intermediate Variable Definitions **/

field ioaddr= [a15..2];

acaCS_eqn    = ioaddr:[4000..47FF];  

piaCS_eqn   = ioaddr:[4800..4FFF];

memCS_eqn    = (ioaddr:[0000..3EFF])#((ioaddr:[7000..7FFF])& rnw & vma)#(ioaddr:[8000..EFFF]) # ((ioaddr:[F000..FFFF])& rnw & vma);

/** Logic Equations **/

rd     =  rnw & vma ;

wr     = !rnw  & vma;

piaCS = piaCS_eqn ;

acaCS  = acaCS_eqn;

memCS  = memCS_eqn;

And here is successful screen showing monitor running via comm port @115K baud!

Following is extra information about Daterm and monitor commands ..

For saving and loading code into memory you can use the "W" write and "L" load commands  via the terminal send and capture modes. Original monitor puts out extra characters at the start of "W" command   UUUUU characters  .. which can be delited from the monitor code if needed by NOP commands... Also it is suggested to set delay to about 5ms when receiving characters from PC to the monitor.

See original Datum document re Daterm and Basic - download.