Code Monkey home page Code Monkey logo

pyvicemon's Introduction

pyvicemon

Remote machine language monitor for the VICE C64 emulator, implemented in Python

Connects to a running VICE instance (started with -binarymonitor) on [email protected]

When used from a Python script or interactive session, the various debugging functions (e.g set_breakpoint(), wait_for_debugger_event(), read_memory(), write_memory(), load_file() save_file(), etc.) can be used for complex debugging scenarios and capturing state in an automated fashion.

Files:

  • vice_monitor.py - The monitor program
  • miniasm6502.py - Standalone interactive assembler + disassembler, used by the monitor
  • psid.py - For reading .sid files

Command line arguments:

  -h, --help            show this help message and exit
  -s SESSION, --session SESSION
                        Playback session
  -r RECORD, --record RECORD
                        Record session to file.
  -i, --interactive     Enter interactive mode. This is the default if no
                        commands are specified.
  --monitor-help        List monitor commands.

Interactive monitor commands:

x                                                                 exit interactive mode and resume emulator
q                                                                 exit interactive mode and quit emulator
g    [address]                                                    go (to address)
m    [first-address] [last-address]                               list memory
r                                                                 dump register contents
d    [address]                                                    disassemble memory
a    <address>                                                    assemble to memory
>    <address> [data] ...                                         write data to memory
s    <filename.prg> <first-address> <last-address> [load-address] save memory to disk
l    <filename.prg> [load-address]                                load file to memory
b    <first-address> [last-address]                               set execution breakpoint
br   <first-address> [last-address]                               set data breakpoint (read)
bw   <first-address> [last-address]                               set data breakpoint (write)
c    [timeout (seconds, decimal)]                                 continue and wait for debugger event
help                                                              display help

All numeric operands are assumed to be hexadecimal unless otherwise specified

TODO:

  • breakpoint conditions
  • modify registers
  • fill memory
  • find
  • ...more?

pyvicemon's People

Contributors

galfodo avatar

Stargazers

 avatar Lars Haugseth avatar  avatar Jørgen Lind avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.