home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 1: Amiga
/
FrozenFish-Apr94.iso
/
bbs
/
alib
/
d5xx
/
d555
/
thea64package.lha
/
TheA64Package
/
A64Utils.lzh
/
Doc
/
A64Mon
next >
Wrap
Text File
|
1991-10-02
|
13KB
|
442 lines
A64Mon
KEY SEQUENCE: [F9]
Key sequence can be done from both A64 and A64 Prefs.
The A64MON menu option allows you to enter A64Mon.
WARNING: A64Mon is geared towards the more experienced C64 user
and this section of the manual assumes that your are
familiar with the C64's architecture and 6510 machine
language. A64Mon should be used with caution, you can
cause a "C64 crash" while using it.
A64Mon is a powerful utility program that allows you to examine,
at the machine level, any C64 program that A64 is running.
A64Mon is much like many machine language monitors available for
the C64, except that A64Mon runs totally transparent to the C64
program.
The A64Mon screen can be broken down into three areas that we'll
call "windows." The three windows are:
6510 STATUS WINDOW
At the top of the A64Mon screen small window used to display the
C64's 6510 microprocessor status. In this window the 6510's
Program Counter (PC), Accumulator (A), X Register (X), Y Register
(Y), Stack Pointer (SP) and Status Register (SR) are displayed.
These values will show the status of the 6510 when A64Mon was
entered. All of the values are straight forward except for the
status register (SR). The SR is displayed by using a one letter
abbreviation for each of the status flags. The flags are;
N: Negative, V: Overflow, B: Break, D: Decimal Mode, I: Interrupt
Enable, Z: Zero and C: Carry. When a flag is set it will be
highlighted in yellow and when a flag is clear it will appear
unhighlighted in white.
SCREEN EDITOR WINDOW
Below the 6510 status window is a large window that covers most
of the left side of the A64Mon screen. This window is A64Mon's
screen editor. This is where you enter commands and receive
their output. In the window will be a yellow square, this is the
screen editor's cursor. You can freely move this cursor around
in the editor window by using either the keyboard or mouse. Note
that you can only move to a line that starts with a period.
3-42
The following keyboard sequences can be used in the editor
window:
[LEFT AMIGA][C]: Clear the editor window
[LEFT AMIGA][L]: Clear the current line, from the cursor
position to the end of the line
[CRSR UP]: Move up 1 line, if the current command is
repeatable do it backward for 1 line.
[SHIFT][CRSR UP]: Move up 1 page, if the current command is
repeatable do it backward for 1 page.
[CRSR DOWN]: Move down 1 line, if the current command is
repeatable do it forward for 1 line.
[SHIFT][CRSR DOWN]: Move down 1 page, if the current command is
repeatable do it forward for 1 page.
COMMAND STATUS WINDOW
Below the screen editor window is the command status window.
This window is used to show messages concerning the commands.
A64MON COMMANDS
A64Mon supports a number of commands that allow you to examine
and/or change the C64's memory map. Here is a brief summary of
A64Mon's commands:
COMMAND SHORT USAGE
------- ----- -----
Disasm D Disasm [start] [end]
Peek PE Peek <addr>
Poke PO Poke <addr>,<value>
OpenFile OF OpenFile <filename>
CloseFile CF CloseFile
IntVecs IV IntVecs
MemCntrl MC MemCntrl
HexDump HD HexDump [start] [end]
CIADump CD CIADump
SIDDump SD SIDDump
VICDump VD VICDump
Hex Hex
Dec Dec
Exit X Exit
All of A64Mon's commands are explained in the following sections.
NOTE: A64Mon is still in development and its command set will be
expanded in the future. We want to include features like:
Trace, Break Points, Assemble, Load and Save, etc. If you
would like to see a feature added to A64Mon let us know.
With a program like A64Mon the possibilities are endless.
3-43
COMMAND NOTES
In the editor window you can type ? [RETURN] to get a list of
A64Mon's commands or type a command name followed by a ? [RETURN]
to get that command's usage.
Most of A64Mon's commands have a short form of their name, for
example Disasm can be abbreviated with just D.
Throughout this section of the manual reference is made to a
"page." A page is defined as one editor screen of information.
A64Mon uses a default number base, either decimal or hexadecimal,
for all of its input and output. This default number base can
be changed with the Hex and Dec commands. The default number
base is shown by displaying a single letter in A64Mon's title
bar. The letter will either be "H" for Hexadecimal or "D" for
Decimal.
Commands that use numbers for parameters can accept any
combination of Hexadecimal and Decimal numbers. Hexadecimal
numbers are denoted by a "$" and Decimal numbers are denoted by
a "#". If no symbol is used then the default number base will be
used to determine a numbers base.
A64Mon uses a "current address" for its commands that require
addresses. For example, Disasm and HexDump. The current address
starts at the address held in the 6510's PC and changes whenever
a command is used that uses addresses.
Some of A64Mon's commands are repeatable. Meaning if you enter a
repeatable command its output can be continued using the cursor
keys or mouse. For example if you enter: Disasm 0 100 [RETURN]
You can then continue disassembling at the end address by either
using the cursor keys or the mouse. To use the mouse, hold down
the left mouse bottom and move the mouse at either the top or
bottom of the editor window. Repeatable commands can either
move forward or backward through memory. The current repeatable
commands are Disasm, HexDump and sometimes VICDump. See the
descriptions of these commands for more information. Entering
any non-repeatable command will terminate the repeatable feature
of a repeatable command.
All of A64Mon's commands that deal with the C64 memory map use
the map's current configuration. If you wish to read or write to
a portion of the memory map that is not currently banked in, you
must switch in the desired bank yourself. You should also
restore the memory map configuration before exiting A64Mon (See
the MEMCNTRL, PEEK and POKE commands).
You can terminate a command by pressing the [ESC] key.
3-44
You can pause a command by pressing the [SPACE BAR], pressing the
[SPACE BAR] again will allow the command to resume.
Commands and parameters are not case sensitive.
Commands and parameters should be separated by one or more spaces.
DISASM
USAGE: Disasm [start] [end]
Disasm allows you to disassemble a portion of the C64's memory
map. It uses two optional parameters:
[start] Address to start the disassemble, if not specified
the current address will be used.
[end] Address to end the disassemble, if not specified
A64Mon will disassemble one page starting at the
start address.
Disasm is a repeatable command (See COMMAND NOTES in the A64Mon
section), but you should note the Disassembles that move
backwards in memory will not always be correct. You should only
disassemble backwards in memory to move to an address, afterwards
you should then do a disassemble forward one page to get an
accurate disassembly.
PEEK
USAGE: Peek <addr>
Peek allows you to read a memory location's contents. It uses
one required parameter:
<addr> The address to read.
POKE
USAGE: Poke <addr>,<value>
Poke allows you to modify a memory location's contents. It uses
two required parameters:
<addr> The address to write to.
<value> The value to write.
3-45
OPENFILE
USAGE: OpenFile <filename>
OpenFile allows you to redirect all of A64Mon's output to a file
or device. It uses one required parameter:
<filename> The name of the file or device to redirect
A64Mon's output to. The filename can be any
legal AmigaDOS path name limited to the length of
the editor line. Valid filenames include:
RAM:testfile and PRT:.
When a file is open a letter "F" will appear in A64Mon's title
bar.
See: CLOSEFILE below.
IMPORTANT NOTE: If output is redirected to a parallel printer you
must make sure you close the file before exiting
back to A64 or you may be visited by the GURU.
This is caused by a bug in the V1.3 OS (See KNOWN
BUGS in the TECHNICAL section for more
information).
CLOSEFILE
USAGE: CloseFile
CloseFile allows you to close a previously opened file. It uses
no parameters.
If you exit A64Mon without closing an open file it will be
automatically closed.
See: OPENFILE above.
INTVECS
USAGE: IntVecs
IntVecs allows you to view the C64's current IRQ and NMI
interrupt vectors. It uses no parameters.
IntVecs output will vary depending on the C64's current memory
map configuration. If the KERNAL ROM is switched in the IntVecs
command will print two addresses for each type of interrupt, the
first one being the ROM address of the corresponding interrupt
and the second number being the contents of the RAM vectors at
$314 for IRQs and $318 for NMIs. If the KERNAL ROM is switched
out, the IntVecs command will only print one address for each
3-46
type of interrupt, the RAM address of the corresponding
interrupt.
MEMCNTRL
USAGE: MemCntrl
MemCntrl allows you view the C64's current memory map
configuration. It uses no parameters.
HEXDUMP
USAGE: HexDump [start] [end]
HexDump allows you to dump a portion of the C64's memory map
in a number and PetASCII format. It uses two optional
parameters:
[start] Address to start the HexDump, if not specified the
current address will be used.
[end] Address to end the HexDump, if not specified A64Mon
will do the dump for one page starting at the start
address.
Non-printable PetASCII chars will be shown with an "_".
HexDump is a repeatable command (See COMMAND NOTES in the A64Mon
section).
CIADUMP
USAGE: CIADump
CIADump allows you to view the contents of the C64's CIA chips. It
uses no parameters.
SIDDUMP
USAGE: SIDDump
SIDDump allows you to view the contents of the C64's SID chip.
It uses no parameters.
This command can be real useful considering it allows you to read
all of the current SID chip values which are write only on a C64.
3-47
VICDUMP
USAGE: VICDump
VICDump allows you to view the contents of the C64's VIC chip.
It uses no parameters.
The VICDump command can be a repeatable command (See COMMAND
NOTES in the A64Mon section). If the C64 program that is running
uses raster interrupts the VICDump command is capable of
displaying a dump of each screen section defined by the raster
IRQs. Use the cursor keys or mouse to move through the different
dumps.
HEX
USAGE: Hex
Hex will allow you to change A64Mon's default number base to
Hexadecimal (See COMMAND NOTES in the A64Mon section). It uses
no parameters.
DEC
USAGE: Dec
Dec will allow you to change A64Mon's default number base to
Decimal (See COMMAND NOTES in the A64Mon section). It uses
no parameters.
EXIT
USAGE: Exit
Exit will allow you to exit A64Mon. It uses no parameters.
If A64Mon was entered from A64Prefs you will be returned to
A64Prefs. If A64Mon was entered directly from A64 you will be
returned to A64.
A64Mon's only menu option, Exit, performs the same operation
as the Exit command.
3-48