While the last added debugging features to MacVICE are all well-known and mostly ported from WinVICE this one is a new and currently mac-only debugging feature: The IO Tree. “What’s this?”, you might ask.
The IO Tree is actually an anotated dump of the memory-mapped IO registers from your beloved cbm platform. All is packed into a GUI Tree to make it hierarchical and let you control the vast amount of information that is kept there. But IO Tree is not only a register dump with descriptions, it also allows to combine and format the register values to make most sense and to reflect the actual function they represent. So the IO Tree can combine LO-/HI-Addr registers to show a 16 Bit address, can mask out a bit flag and show its state, maps a masked value set to a set of string descriptions or even do very special things like decoding VIC II color values…
The nice thing about the IO Tree is, that it is actually not stored in the MacVICE binary but in a text PList called IOTree.plist. This allows to extend the tree with new custom registers for every user. Currently, I have typed in all VIC II, SID, CIA 1, CIA 2 and 6510 On-Chip registers right out of AYY64 (Thanks Ninja/The Dreams for this great resource!). If you find errors or have something to add then drop me a comment… Currently the syntax of the plist is not documented but simply have a look at the existing tree and you’ll find out how it works…
If you want to try out IO Tree then have a look at the latest MacVICE snapshot (at least revision 23154 is required). While waiting for its upload/download enjoy a screenshot: