Chmon

This is a great tool ! It is basically a user shell for the host machine which has a functionality identical to the Magic7 monitor constantly running on the serial debug console. It has no command line arguments.

In particular, since this application makes Magic7 calls which run at the SCSI handler execution priority, it will sometimes work when the debug console doesn't (due to run-away code).

chmon interpreter command summary (available by typing ? at chmon prompt) :

Multitasking Menu:
  prc  <pid>            (or proc_continue,rs)   get process running
  prg  <proc_name>      (proc_get)              get pid of given process
  prgn <pid>            (proc_get_name)         gets name of given process
  prh  <pid>            (proc_halt, ha)         halt given process
  prk  <pid>            (proc_kill, rm)         kill given process
  prsa <pid> <hexadr>   (proc_set_address)      set adr of proc <pid> to hexadr
  prsl                  (proc_sleep, sl         set current process to sleep
  prsr <pid> <r#> <val> (proc_set_register)     set register <r#> of process
                                                    <pid> to hex value <val>
  prgs <pid>            (proc_get_state)        get state of given process
  prsd <pid>            (proc_set_debug, cd)    get debug proc to <pid>
  cr <pid> <addr>	(change_return_address) change the return address
  ps                    (process_state)         print process states
  ss                    (sema_print)            semaphore states
  pp                    (port_print)            port states
  
Other:
  rb                                            ROM reboot
  sb                                            soft (RAM) reboot
  sx                                            SCSI initialize
  ox                                            output card initialize
  oc <00BBGGRR>         (cls)                   clear screen to given colors
  ve                    (version, info)         print out version info

Display\Modify :
  db <adr>[#num]        (display_byte)          display num bytes at <adr>
  ds <adr>[#num]        (display_short)         display num shorts at <adr>
  di <adr>[#num]        (display_int)           display num ints at <adr>
  dl <adr>[#num]        (display_long)          display num longs at <adr>
  dd <adr>[#num]        (display_double)        display num doubles at <adr>
  dt <adr>[#num]        (display_triple)        display num triples at <adr>
  dq <adr>[#num]        (display_quad)          display num quad words at <adr>
  mb <adr>[#num]        (modify_byte)           modify num bytes at <adr>
  mo <adr>[#num]        (modify_int)            modify num ints at <adr>

Old monitor commands:
    do <proc_no>     - n/a (download a new process using xmodem)
    go               - n/a (initialize and start a downloaded process)
    sp               - use proc_start (initialize a loaded process)
    ts               - n/a (toggle sleep)


Jump to Software Tools
Jump to the Cheops Homepage
cheops-web@media.mit.edu
This is a "fix it yourself" page, located at ${CHEOPS_BASE}/WWW/software/chmon.html