This week, machine level monitors for 6502 systems. From the small and early to the recent and fully featured, at minimum you'd want to peek and poke memory and run code, beyond that you might like a disassembler, a single stepper, a text editor, a fully featured symbolic assembler... The most notable early monitor is Woz' 256-byte monitor[1][2][3] as shipped in the Apple 1.  But that wasn't the first...
...
Before the Apple 1, MOS shipped the KIM-1 single board computer, with two RRIOT chips and therefore 2k of ROM for the monitor[4], which had to drive the six digit display and the keypad. It did provide single-stepping. There's a link to the source at [5], which covers building replacement modules for the hard-to-find RRIOT.

But before the KIM-1, MAI shipped the JOLT, with a 1k debugger/monitor called DeMon[6] in a mask-programmed ROM. (Which are cheap in quantity, but have a lead time and can't be modified.)
"DeMon was later renamed Tim, Terminal Input Monitor."
- Bill Ragsdale, who wrote a native assembler and also a Forth distributed at FIG
Here's the source, copied from the manual: [7]

But before that, MOS shipped the TIM development system kit, which was just a RRIOT, schematics and an instruction book - no CPU and no PCB. It seems the code[8] belongs in the same family tree - the designers of the TIM were MAI, subcontracted!

So, it seems the first wave, in 1975 and 1976, comprises two monitors - one at 256 bytes, and the other varying from 1k to 2k.
After that, there have been so many we can only give an overview.

The Apple II brought the famous CALL -151 monitor - this might have a resemblance to Woz' monitor, but it includes a mini assembler too. See http://stackoverflow.com/a/143383

The Ohio Superboard had a very minimal monitor, just enough to load code and examine memory. Read more at
http://www.osiweb.org/
http://dabeaz.blogspot.co.uk/2011/01/porting-py65-and-my-superboard-to.html

In 1979, Commodore released the BASIC2 upgraded ROM set for the PET machines, which included a tiny machine language monitor[9]. Previously the monitor - again called TIM - had been provided on tape.
"TIM is activated by executing a BRK instruction by SYSing any memory location containing a zero (0), most people enter SYS 1024, as it almost always contains a 0."
- http://www.zimmers.net/cbmpics/cbm/PETx/petfaq.html

In the early 80s, we find a new family of developments - free software. "Extramon is  a superset of Supermon. Supermon is by Jim Butterfield, who improved Bill Seller's Extramon with goodies from Supermon." Hmm, that doesn't quite make sense to us, but it's clear that Jim made a major leap forwards and others made contributions too. Jim wrote SuperMon, in 1982 TinyMon for the VIC20 and in 1983 SuperMon64 for the C64.
See
http://www.atarimagazines.com/compute/issue20/199_1_VIC-20_Update.php
http://www.atarimagazines.com/compute/issue32/082_1_SUPERMON_64.php

Bill's Micromon (descended from his 1979 Extramon) is presented in this 1982 article:
http://www.atarimagazines.com/compute/issue20/191_1_MICROMON.php

In turn this was adapted by Terry Peterson into HESMON, offered as a VIC-20 cartridge:
http://www.pcmuseum.ca/details.asp?id=40198&type=software

But let's skip ahead now... in 1989 your editor +André Fachat wrote two monitors: BASMON in Basic and @MON in assembly language. See
http://www.6502.org/users/andre/misc/

Skipping again to 2012, Bruce Clarke's remarkable 256 byte C'Mon (Compact Monitor) was introduced at
http://forum.6502.org/viewtopic.php?t=2046
and is now found at
https://github.com/BigEd/a6502/blob/master/extras/cmon.a65

For current monitor projects, see JMON from Jeff Tranter which includes both the wozmon and the OSI mon.
https://github.com/jefftranter/6502/tree/master/asm/jmon
https://github.com/jefftranter/6502/tree/master/asm/wozmon
via
http://jefftranter.blogspot.co.uk/2015/01/superboard-port-of-jmon.html

Ken Wessen's Krusader is 4k, "includes a simple shell and editor, a single-pass symbolic assembler, a disassembler, and an interactive debugger"
http://school.anhb.uwa.edu.au/personalpages/kwessen/apple1/Krusader.htm

Woz' one-page monitor lives on, expanded to nearly 3 pages, suitable for Vince Briel's Replica , linked from this post:
http://jefftranter.blogspot.co.uk/2012/05/woz-mon.html
https://gist.github.com/BigEd/2760560

There's another extended Woz monitor in the tgl-6502 project
https://github.com/thegaragelab/tgl6502/tree/master/software/ewoz
and the project also has a small one written in C - minimon
https://github.com/thegaragelab/tgl6502/tree/master/software/target/common/minmon

Brian Phelp's Symon has been extended and is being maintained by KM at
http://forum.6502.org/viewtopic.php?f=2&t=3138

Daryl Rictor maintains SBCOS for his single-board computer designs, and provides a cut-down version of it using no 65C02 opcodes at
http://forum.6502.org/viewtopic.php?p=26996#p26996
http://sbc.rictor.org/sbcos.html

If you happen to have a 65816 system, your choices might be more limited... there's a monitor of some kind in the Apple IIGS ROMs, and then there's Jammon, and also the currently maintained Supermon 816 by Bill Brier - see
http://apple2.info/wiki/index.php?title=System_Monitor#GS_Extensions_to_the_System_Monitor
http://www.ffd2.com/fridge/jammon/
http://sbc.bcstechnology.net/download.html

Now, which is your favourite?  Do you know of any organised overview of all historical monitors?  Did you perhaps write your own? Let us know!

Woz monitor:
[1] http://www.digibarn.com/collections/manuals/apple-1/
[2] http://www.sbprojects.com/projects/apple1/wozmon.php
[3] https://www.youtube.com/watch?v=5sY-gbgQl68

KIM
[4] http://retro.hansotten.nl/sample-page/6502-sbc/tim/
[5] http://retro.hansotten.nl/sample-page/6502-sbc/6530-6532/#6530replkim1

DeMon
[6] http://www.old-computers.com/museum/doc.asp?c=875
[7] http://www.commodore.ca/wp-content/uploads/2013/02/manual-kim1_mon.txt

TIM
[8] http://www.retrocomputacion.com/yabbfiles/Attachments/ch001_5_TIM-KIM.pdf
[9] https://archive.org/stream/PET_2001-8_Personal_Computer_User_Manual_1978-10_Commodore#page/n95/mode/2up

Hat tip to current discussions on the forums at
http://forum.6502.org/viewtopic.php?f=1&t=3397
http://stardot.org.uk/forums/viewtopic.php?f=44&t=9937

[mos6502 is a weekly post brought to you by your editors +André Fachat and +Ed S]
Shared publiclyView activity