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:
The tutor program in memory 8000-BFFF.
User memory from 1000-7FFF.
68B50 ACIA from 10000-10FFF
Also for simplicity just copy the 0000-0FFF (of Tutor ROM software) to bottom of the memory .. that way the exception (reset vector will be executed on startup). In later version we can make use of 74ls164 chip for this part.
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