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
š0,38
Omnimon Basics
Enter Omnimon:
SELECT/RESET
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:
PC NV-BDIZC AC X Y SP
Program counter, status registers,
Accumulator, X reg, Y reg, Stack
pointer.
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
location.
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,
OPTION
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