68KMB Monitor
Here is an example of a monitor that can be adapted to the 6800NV board ..where the monitor is in low memory from 000000 address and on .... and uses 68681 Duart for comms. This monitor is from a course given by Scott McKenzie .. (which also has written a book The 68000 Microprocessor ).You an find most of the information about the monitor and heaps of examples of 68000 code .. that can be used even with this board. The source file of the monitor seems to be well documented ..and should be easy enough to alter if needed.
Since 68000NV board is not exactly setup to be able to run the monitor .. few wiring links are needed to be able to use it. I will show you a configuration example ...to be able to use the board in similar memory space specs as the course for that monitor.
Memory space:
Mon ROM 0000-3FFF
RAM 4000-BFFF
Duart C000-CFFF
The monitor Binary files:
The board runs @ 9600 baud, 8 or 7 bits, ODD parity and 2 stop bits.
The pld file for the GAL chips is something like follows ..note only use of addresses a12 to a15 for decoding.. ones above are ignored. In reality you can have lot more space available when DS1250 NVram chips are used.
PLD File
Name 68K ram/rom;
Partno 0001;
Revision 68KMB Monitor;
Date 4/9/18;
Designer mc;
Company mcoz;
Location oz;
Assembly manual;
Device g22v10;
/** Inputs **/
pin 7 = rnw;
pin 8 = nlds;
pin 9 = nuds;
pin 10 = nas;
pin 11 = sio_ndtack;
pin 13 = a0;
pin 14 = a1;
pin 15 = a2;
pin 16 = a3;
/** Outputs **/
pin 23 = !cs_sio;
pin 22 = !cs_ram;
pin 21 = !lwr;
pin 20 = !lrd;
pin 19 = !uwr;
pin 18 = !urd;
pin 17 = !dtack;
/** Declarations and Intermediate Variable Definitions **/
field ioaddr= [a0..3];
cs_ram_eqn = ((ioaddr:[0..3])&rnw & !nas) # ((ioaddr:[4..B])& !nas) ;
cs_sio_eqn = (ioaddr:[C..D])&!nas & !nlds ;
/** Logic Equations **/
cs_ram = cs_ram_eqn;
cs_sio = cs_sio_eqn;
dtack =!nas;
lwr = !rnw & !nlds;
lrd = rnw & !nlds;
uwr = !rnw & !nuds;
urd = rnw & !nuds;
Hardware changes:
Short out pin 17 to 18 of 68K chip (HLT and RST pins)
Connect AS pin to VPA pin of 68K chip (pin 6 to pin 21)
Make connections to pins 13 to 16 of the gal chip from address lines 12 to 15 ... a0 to a3 in pld file (links most easiest from one of the RAM chip sockets)
Remove 74LS148 chip from socket..bend out pin 13 so it is not sitting in the socket, and place it back.
Solder pins 12 and 13 of 74LS148 together (bottom of the board) .. this is so that DUART works with INT2 (and not INT3 as on original design).
If NVRam chips and gal chip programmed properly .. the monitor should boot up.. typing 'h' give you all the monitor commands ...
Monitor is reasonably easy to use ..here is example of loading an S record file of a sample message program ..
S File
S00B00006D65737361676532DD
S11380003E3C0009227C000080124E4251CFFFF614
S11380104E4E0D0A417373656D626C79206C616E0E
S113802067756167652070726F6772616D6D696EE7
S10C8030672069732066756E0077
S90380007C
Message program
00008000 Starting Address
Assembler used: EASy68K Editor/Assembler v5.16.01
Created On: 4/09/2018 11:00:47 AM
00000000 1 ******************************************************
00000000 2 * MESSAGE2.SRC *
00000000 3 * *
00000000 4 * This program sends a message to the console ten *
00000000 5 * times on ten separate lines. The program uses two *
00000000 6 * traps from MON68K: TRAP #2 (OUTSTR) and TRAP #14 *
00000000 7 * (return to monitor). *
00000000 8 ******************************************************
00000000 =0000000D 9 CR EQU $0D ;ASCII carriage return
00000000 =0000000A 10 LF EQU $0A ;ASCII line feed
00000000 11
00008000 12 ORG $8000
00008000 3E3C 0009 13 MESSAGE2 MOVE.W #9,D7 ;use D7 as counter
00008004 227C 00008012 14 LOOP MOVEA.L #TEXT,A1 ;A1 ---> message
0000800A 4E42 15 TRAP #2 ;OUTSTR trap
0000800C 51CF FFF6 16 DBRA D7,LOOP ;repeat until done
00008010 4E4E 17 TRAP #14 ;return to MON68K
00008012 18
00008012= 0D 0A 41 73 73 65 ... 19 TEXT DC.B CR,LF,'Assembly language programming'
00008031= 20 69 73 20 66 75 ... 20 DC.B ' is fun',0
00008039 21 END MESSAGE2
No errors detected
No warnings generated
SYMBOL TABLE INFORMATION
Symbol-name Value
-------------------------
CR D
LF A
LOOP 8004
MESSAGE2 8000
TEXT 8012
Following shows upload of the S file .. execution and showing the run of the message code. Also shown is disassembly command of the code in the memory @ 8000.
For further info on the monitor and sample programs see Scotts web pages.
You can also find extra information here.
Some more online books about 68000 ...