home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
- 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
-
-
-
-
-
-