Posted February 10, 2025 by FizzyChicken
The initial release of MiamiVICE is now live. This is very much a test release though, and there are lots of rough edges. MiamiVICE is functional though... you can attach to a running instance of a VICE emulator and get some useful investigation done, but only if you know exactly how to use it, which you don't so you will probably end up with diddly-squat. I'm going to record some tutorial videos which will cover the basics, so watch out for further blog posts with details on that stuff.
The intent behind MiamiVICE is to create a fully scriptable debugger. This means your debugging session workflow and information is defined by Lua scripts which you write using the in-tool editor. You can hook UI elements up to Lua methods and use them to drive your workflow. If this all sounds a bit odd, don't worry... once you get used to the workflow this architecture unlocks you will hopefully appreciate why I built MiamiVICE this way. One of the big time sinks when debugging is repeating the steps to get to the code you want to debug. In traditional debuggers this is a manual process, but with a scriptable debugger you can encapsulate your workflow and replication steps in script and let that do the heavy lifting. And as script can react to the state of the machine it is debugging you end up with a dynamic debugging environment which is hopefully more flexible and more productive.