MainHELP Glossary Hardware SAL Workshop Companies FTP ToolsBackAbout

Diagnostic Switch

Project: Switch for entering builtin monitor program.
Target : CBM 2/3/4/8000 series (read note!)
Time   : 5 min.
Cost   : ~ 3 US$
Use    : start monitor from within an arbitrary program


Push-button switch between pin 1 (GND) and pin 5 (DIAG) of the user port


Note: This switch is said to work on PETs in general, I only tested it on my 8296D, though. So to be absolutely safe that you don't damage your computer in case you don't have the pinouts of the user port for your specific model, attach the switch via a 470 Ohm resistor!

Monitor commands

G xxxx
Go. Executes a program starting at xxxx.
L "filename",dev
Loads 'filename' from device number 'dev'.
Displays memory contents: M start_address end_address
Displays processor registers.
S "filename",dev,start_address,end_address
Saves memory from start_address to end_address to 'filename' on device number 'dev'.
Exit TinyMon.
Modify memory (in output of 'M' command)
Modify processor registers (in output of 'R' command)



  1. Solder push-button switch to pin 1 and pin 5 of the edge connector. Be sure to not shortcut anything, insulate the wires between the connector pins and the switch. I recommend using hot glue to both insulate and fix the switch.
  2. Now test the switch:
  3. If everything seems fine, you successfully made your own ultra-complex diagnostic switch :-) Note that instead switching the machine on while pressing the diag switch, you can also press the reset button instead (while pressing the diag switch!).

Possible failures

Updated: February 18th, 1998
Created: January 28th, 1998
Status : Verified on January 18th, 1998

Site copyright © 1997 by Marc-Jano Knopp
This document is part of MJK's Commodore 64 & LCD Page
Brought back to life by Peter Schepers, Dec 10, 2005 because I really liked this site!