Omnimon and Debug+ commands

From: James R. Gilbert (cb541@cleveland.Freenet.Edu)
Date: 12/05/96-11:36:10 AM Z

From: cb541@cleveland.Freenet.Edu (James R. Gilbert)
Subject: Omnimon and Debug+ commands
Date: Thu Dec  5 11:36:10 1996

           Omnimon Basics 
Enter Omnimon:
OPTION/SELECT/RESET (always use this
if entering from BASIC)
JSR $C001 or X=USR(49152)
Will enter Omnimon upon any encounter
with a BRK instruction.
Once in Omnimon:
Program counter, status registers,
Accumulator, X reg, Y reg, Stack
Leave Omnimon, return to program:
Hold START, hit RETURN, use D to 
set PC first.
Command Summary:
A: Alter Memory: A addr byte byte... -
Used to change 1 or more contiguous
bytes of memory.
B: Boot Disk B - Will boot off of the
selected drive.
C:  CPU Registers:  C - Used to
display and alter the registers.
D:  Display Memory:  D (start addr) (
End addr) - Used to view memory data.
To alter memory, position cursor and
type change.
E: Execute Memory:  E (option/=steps)
- Will execute one or more
instructions at a time and display
intermediate results.
F:  Fill Prgm Buffer:  F addr - Teach
monitor a sequence of commands for
later execution with the 'O' command.
G:  Get File: G (filespec) (addr) = A
full binary load function, single or
double density. Doubles as disk
directory command.
H:  Hex Arithmetic:  H= (= oper) (=
oper) ... - Hex conversion allowing
addition, subtraction, multiplication
and division.
J: Jump Subroutine:  J (addr)  - Go
execute subroutine.
L:  Link Drive:  L (drv=) - Select
drive = and linked or sequential
sector modes.  All disk I/O will go to
the selected drive.
M:  Move Memory:  M addr0 addr1 addr2
= Move a block of memory from anywhere
in memory to anywhere else.
N: Relocate Mmory:  N addr0 addr1
addr2 (addr3) (addr4) = Adjust 6502
code that it will execute in another
O: Operate Prgm Buffer:  O addr =
Execute the commands stored earlier
with the 'F' Command.
P:  Printer Control:  P - Screen I/O
and be echoed to a printer.
R:  Read Disk:  R (sect=) (buff addr) 
(=sects) = Read one or more sectors
from selected disk drive into a
specified buffer area. See W for eg.
S:  Search Memory: S addr byte byte
... = Search memory for and print out
occurrences of a sequence of bytes.
T: Toggle Format :  T = Toggle between
hex and character formats.
V:  Verify Memory:  V addr0 addr1
addr2 = Compare 2 blocks of memory and
print out the differences.
W:  Write disk:  W (sect=) (buff addr)
(=sects) - Write one or more sectors
to disk from a specified buffer
address.  eg. W 1 A000 40 (writes 64
decimal sectors, dumping $A000 to
$BFFF to sectors 1 to 64)
X:  Disassembler: X (addr0) (addr1) =
Translate machine code into assembly
language. Can be used to create a
source file.
Y: Assembler:  Y addr instr -
Translate assbly lang. into machine
code one line at a time. Usefull for
patching programs.
Here's another hacking tool, Debug+
from ANALOG #39. Uses $A100 - $C0FF
and $BE00 to $C0FF for screen, so
don't stomp on it.
*: Address Set
D: Display toggle
Q: Quit Debug+, go to DOS
G: Go at address
T: Trace program, sngl step: T, O,
P: Print Disassembly
E: Erase Memory
C: Change 1 byte of RAM
N: Change Register Value
R: Display Registers
B: Set/Reset Break Point
S: Save a binary file
L: Load a binary file
F: Find a string in memory
H: High Speed Display
.: Dec/Hex, Hex/Dec convert
-: Scroll up in memory
=: Scroll down in memory
CNTRL-ESC: leave prg. that is running
under Debug+
(typed by Russ Gilbert)

Return to message index