Hi! Does anyone know what hardware Motorola originally used to demonstrate
the 6809? I am referring to the hardware Motorola references in the 6809
programming manual. It is the hardware that Motorola wrote their ASSIST09
debug monitor to run on. The reason I am asking is to understand how they
are connecting the output of timer #1 of the MC6840 PTM to the CPU /NMI
line. Specifically, is it directly connected or inverted? Is other logic
involved or further qualifications? Does anyone have schematics available
of the original Motorola 6809 hardware?
The ASSIST09 source code implies a direct connection but that is counter
intuitive to me since the /NMI line is active low and the PTM timer #1 is
active high. The ASSIST09 monitor uses the PTM connected to the /NMI line
for hardware assisted tracing. According to the datasheet for the 6809 and
6840, the /NMI is activated on the negative transition which would be on the
falling edge of the pulse from the PTM timer output if directly connected.
If inverted, it would be on the leading edge of the pulse.
The reason I need this information is I am building an IO mezzanine board
(ACIA, PTM, dual VIAs) for the N8VEM 6809 host processor. The good news is
that I've seen the hardware assisted tracing work using the inverted output
of the timer. However, the IO mezzanine is connected to the 6809 host
processor by ribbon cables which are notorious for causing signal delays and
other problems. As a result, the tracing is unreliable and I would like to
fault isolate. The rest of ASSIST09 seems to be working reliably on my
prototype hardware.
Originally, I presumed Motorola designed the ASSIST09 monitor for the
EXORset system since it was their first 6809 based computer and released
about the same time as the 6809's introduction.
If anyone has familiarity with the original Motorola hardware for the
ASSIST09 debug monitor I would appreciate your help. Thanks in advance and
have a nice day!
Andrew Lynch
I refer to these two functions in the ASSIST09 source code:
**************************************************
* [SWI FUNCTION 8]
* MONITOR ENTRY
* FIREUP THE ASSIST09 MONITOR.
* THE STACK WITH ITS VALUES FOR THE DIRECT PAGE
* REGISTER AND CONDITION CODE FLAGS ARE USED AS IS.
* 1) INITIALIZE CONSOLE I/O
* 2) OPTIONALLY PRINT SIGNON
* 3) INITIALIZE PTM FOR SINGLE STEPPING
* 4) ENTER COMMAND PROCESSOR
* INPUT: A=0 INIT CONSOLE AND PRINT STARTUP MESSAGE
* A#0 OMIT CONSOLE INIT AND STARTUP MESSAGE
*************************************************
SPC 1
SIGNON FCC /ASSIST09/ SIGNON EYE-CATCHER
FCB EOT
SPC 1
ZMONTR STS <RSTACK SAVE FOR BAD STACK RECOVERY
TST 1,S ? INIT CONSOLE AND SEND MSG
BNE ZMONT2 BRANCH IF NOT
JSR [VECTAB+.CION,PCR] READY CONSOLE INPUT
JSR [VECTAB+.COON,PCR] READY CONSOLE OUTPUT
LEAX SIGNON,PCR READY SIGNON EYE-CATCHER
SWI PERFORM
FCB PDATA PRINT STRING
ZMONT2 LDX <VECTAB+.PTM LOAD PTM ADDRESS
BEQ CMD BRANCH IF NOT TO USE A PTM
CLR PTMTM1-PTM,X SET LATCH TO CLEAR RESET
CLR PTMTM1+1-PTM,X AND SET GATE HIGH
LDD #$01A6 SETUP TIMER 1 MODE
STA PTMC2-PTM,X SETUP FOR CONTROL REGISTER1
STB PTMC13-PTM,X SET OUTPUT ENABLED/
* SINGLE SHOT/ DUAL 8 BIT/INTERNAL MODE/OPERATE
CLR PTMC2-PTM,X SET CR2 BACK TO RESET FORM
* FALL INTO COMMAND PROCESSOR
SPC 3
*******************TRACE - TRACE INSTRUCTIONS
******************* . - SINGLE STEP TRACE
CTRACE BSR CDNUM OBTAIN TRACE COUNT
STD <TRACEC STORE COUNT
CDOT LEAS 2,S RID COMMAND RETURN FROM STACK
CTRCE3 LDU [10,S] LOAD OPCODE TO EXECUTE
STU <LASTOP STORE FOR TRACE INTERRUPT
LDU <VECTAB+.PTM LOAD PTM ADDRESS
LDD #$0701 7,1 CYCLES DOWN+CYCLES UP
STD PTMTM1-PTM,U START NMI TIMEOUT
RTI RETURN FOR ONE INSTRUCTION
SPC 3