MIGHTY MON 4.00.10 COMMAND SET (SUMMARY).  REV. 20-Apr-92.

Basic commands (most parameters are optional):

<addr> / number-list / code  -  set NS / place bytes, words / assemble code
A addr  -  enter auto-assembler mode
AM N!A!F  -  set (dis)assembly mode (Full, Auto, No-Options)
B addr,'string',A!S  -  place string (ASCII, SCR-CODE) into memory
BK [(U!K.)bank]  -  display/set Current Bank (User, Kernal)
BS addr,'byte-string'  -  place byte string into memory
C number  -  convert number to DEC, HEX, ASC, BIN
CP block-start,block-end,other-source  -  compare sections of memory
D start,end,N!A!F  -  disassemble, opt Full, Auto, No-Opts
DIR 'name-pattern',device,drive  -  return directory (press F3)
E number / low,high  -  high/low byte evaluator
F from,to,with,step  -  fill memory
G [addr]  -  execute code from addr or PC
GT addr,I!S  -  timed execution, must terminate with RTS. Interrupt, VIC ctrl
H from,to,'for-byte-string'  -  hunt memory for byte string
HELP  -  not supported (appropriate message displayed), future expansion
I[L] from,to,displacement,R,prog-from,prog-to  -  insert, opt Relocate
J [addr]  -  Jump, same as G
JT addr,IS  -  Jump Timed, same as GT
K char,screen,border-or-VDC-foreground  -  set char and screen colors
L 'filename',start,device,drive  -  load memory from device
M from,to  -  memory display
N[W] from,to,P,start-page  -  same as M, but for printer, optional Word
                               output; opt Page, start page
O =,'byte-string'  -  output string to printer, opt Centering(=) / No CR(,)
OK  -  test checksum of monitor code
P from,to,N!P!L!F,start-page  -  printing disassembly, opt No-opts, Paging,
                                                Linear, Full
Q  -  Quit - Same as X
QUIT  -  exit and disable Mighty Mon, re-allocate memory
R  -  display 8502 registers, etc
S 'filename',from,to,device,drive,SA  -  save memory to a device
SR  -  display status register and bit meanings
ST  -  display I/O status register and bit meanings
T[L] from,to,new-start,R,prog-from,prog-to  -  transfer memory, opt Reloc
U D / H  -  use Decimal or Hexadecimal modes
V 'filename',from,device,drive  -  verify memory with device
W from,to  -  display 16-bit words from memory
X [B!M!64!S]  -  eXit to BASIC, ROM Monitor, C-64 mode, or System reset
Y[L] from,to,new-start,prog-from,prog-to  -  transfer word table (Lo,Hi)
Z from,to,C!Q!A!S  -  display ASCII/Scr-code in memory, allowing
                          Quote mode or Cursor movements
, ---reg list---  -  update registers
:addr value...  -  same as <addr>
$ "file-spec",device,drive  -  alone = display disk directory
/ or ?  -  refresh screen
= <BASIC expression>  -  evaluate BASIC expression

Disk commands (@):

@@ 'command-byte-string'  - send disk command to default disk device
@[,device]  -  return disk drive status
@ 'command',device  -  send command to disk
@$ 'name-pattern',device,drive  -  same as @D
@BR track,sector,addr,device  -  read disk track and sector into memory
@BW addr,track,sector,device  - write memory to disk track and sector
@D 'name-pattern',device,drive  -  display disk directory
@F 'file-name',type,device,drive  -  list a disk file to screen, type S=Seq
@MR disk-from,disk-to,addr,device  -  read disk drive RAM into memory
@MW from,to,disk-addr,device  -  write memory to disk drive RAM
@ME addr,device  -  start disk drive executing code at addr in disk drive RAM
@SC 'filename',device,drive  -  Scratch (no query)

Extended commands (*):

*B (U!K.)bank  -  set BANK configuration, User or Kernal descriptions
*C speed  -  set CPU clock speed- S!1=1 MHz, F!2=2 MHz, X!0=both
*CP from,to,other,other-bank  -  Interbank Compare
*D device,drive  -  set default device for load,save,disk commands
*E 0 / 1  -  set printer-echo off/on (not implemented)
*EJ  -  eject one page from default printer device
*F dma-from,dma-to,dma-bank,addr  -  dma RAM to memory fetch
*I device,SA,'filename'  -  set input file
*IO  -  restore default I/O devices (keyboard, screen)
*K / *K key-num,'byte-string'  -  same as BASIC KEY, but for all 10 keys
*L  -  return the address range of Mighty Mon
*O device,SA,'filename'  -  set output file
*P device,SA,'filename',page-width,page-length,P!C!N
           -  define default printer device, opt Printer/Comp/No eject
*R  -  restore all default variable values (force a cold-start)
*S from,to,dma-addr,dma-bank  -  memory to DMA RAM stash
*SW from,to,dma-addr,dma-bank  -  memory to DMA RAM swap
*T[L] from,to,new-start,new-bnk,R,prog-from,prog-to  -  interbank transfer
*TI [time-setting]  -  set / display CIA#1 TOD clock.
*V register,value  -  set / display VDC (80-col) registers
*VL from,to,vdc-start-addr  -  load main memory into VDC RAM
*VS vdc-from,vdc-to,main-memory-addr  -  save VDC RAM to main memory
*W width  -  select either 40 or 80 column screen
*X  -  switch to opposite screen, adjust CPU speed
*Y[L] from,to,new-start,new-bank,L!H!HL!LH,prog-from,prog-to  -  Interbank Y
*Z from,to,A!S!C!Q  -  printing Z command

- If the [L] option is given in the memory commands noted above, the "to"
  address will be the offset from the start ["Length" option].  Commands with
  "!" separating letters allow these options to be specified like flags.

Mighty Mon conventions:

Number prefixes:

$nnnn = hexadecimal             'n = PETSCII code
+nnnn = decimal                 !n = screen code
%nnnn = binary                  nnnn (no prefix) = hex or dec, interpret
"n"   = PETSCII (must have closing quote or be end-of-line)
>num  = high byte               <num = low byte

Strings are delimited by (') or ("):

'this is a string'   or   "This is a string"

an embeded Com-R means CHR$(13), Com-Z means CHR$(0), and Com-E means
CHR$(27)

A BYTE-STRING is constructed by connecting strings and byte values.
eg. "hello",+13,"there",%101011,$00

-embeded Com characters have no special meaning in a byte-string.

-everything after a semicolon (;) in a line is ignored by Mighty Mon.

-valid parameter separators are: ","    " "    ":"    "/"    "."   and   "-"
 except where certain delimiters have special meaning.

-hold down the SHIFT key to make disassemble quickly.

-you must be in Slow mode to use the REU commands.
================================================================================
Although the title screen says "Copyright", this program can be considered as
Public Domain Software.

The CRC-32 A and B values (for those of you who know what that means) of
"mightmon.401" is:

crc32a = 3553387959 for "mightymon-128.401"
crc32b = c71e357b for "mightymon-128.401"

Keep the faith!

-Craig Bruce
csbruce@ccnga.uwaterloo.ca
"Never question the relevance of truth,
 but always question the truth of relevance."
