Tutor1.3 Mon

This page is about using the Motorola Tutor 1.3 ver. Monitor on the 68Kb. This is still development stage so ... not sure of the final outcomes. The 68Kb board has all the hardware components to be able to mimic the operation like the one on the original Motorola 68K educational computer board (ECB).Tutor ECB Users manual can be found on many websites. Here is a link to one of them.

Looking though the manual here is a snapshot of the memory map..

Hence to implement the Tutor Monitor on 68Kb board ..need to place:

Terminal connection

In original design ECB uses serial comms up to 9600 baud rate  .. in our case we should be able to use 115k for comms (using 68B50 chip). At this stage I am not sure of use of RTS and CTS signals from the 68B50 to  a PC port.

Here is a snapshot of the ECB comms connection ...

Tutor 1.3 software

Original S record file of Tutor software - download.

Here are the 2 split files of the above S record, in binary format starting from 0000. (8k each) These need to be loaded on the NVram chips.

As mentioned before ..we need copy of the tutor program in 8000-BFFF and write protect it - which means only be able to to read it. Also have a copy of the first say 000-0100 bits of code in memory 0000-0100  .. so that the CPU PC gets loaded correctly on startup  ... and jumps to the tutor code in memory 8000+.

UDS mod

Since the 68B50 works on higher data bits we need the ~UDS signal for decoding .. Hence in a similar way provide a jumper from pin 4 of GAL2 to pin 18 of GAL1.

Programming GAL chips

For GAL2 chip..most of the code remains the same for decoding the r/w line and include a divide by 2 of 3.6MHz signal to 1.8MHz ..needed for running the 68B50 UART. See pld code below for more details.

GAL2 tutor1.3 code

Name            68K ram/rom;

Partno          0001;

Revision        68Kb Gal 2 tutor;

Date            8/11/18;

Designer        mc;

Company         mcoz;

Location        oz;

Assembly        manual;

Device          g22v10;

/** Inputs **/

pin 1 = clk;

pin 2 = rnw;

pin 3 = nlds;

pin 4 = nuds;

/** Outputs **/

pin 23 = !lwr;

pin 22 = !lrd;

pin 21 = !uwr;

pin 20 = !urd;

pin 18 = uds;

pin 17 = lds;

pin 19 = q0;

pin 16 = q1;

field COUNT=[q1..q0];

q0.ar= 'b'0 ;

q0.sp='b'0;

q1.ar= 'b'0 ;

q1.sp='b'0;

/** Declarations and Intermediate Variable Definitions **/

/** Logic Equations **/

lwr = !rnw & !nlds;

lrd = rnw & !nlds;

uwr = !rnw & !nuds;

urd = rnw & !nuds;

uds = !nuds;

lds = !nlds;

SEQUENCE COUNT {

PRESENT 0 NEXT 1;

PRESENT 1 NEXT 0;

}

GAL1 tutor13 code

pld goes here