Open dansanderson opened 1 year ago
sound like something that could be added to the MONITOR
Possibly a duplicate of #3
Also related: https://github.com/MEGA65/mega65-core/issues/660
A Freezer utility could do it much better than the Monitor because it has access to the environment state and doesn't run in the environment itself. The Monitor can do a few tricks with hardware assistance (e.g. interrupt-frozen registers), but the other aspects of memory and video state mentioned above are lost before entering the monitor. Nothing in userland can access the MAP register.
(If you mean the Freezer monitor, then disregard. My comments apply to the MEGA65 Monitor.)
That's why I linked the other MONITOR issue as an possible duplicate...
The MEGA65 memory system has many layers and backwards compatibility features, and it is often confusing to understand the current state of the system. I would love an interactive utility that can visualize the current state of memory mapping. Some things an interactive utility can help explain:
BANK
state, including the special ROM and I/O mapping behaviors of BANK 128If I understand correctly, these are properties that are captured by a freeze state, and so it's appropriate for a freeze utility to offer this as a way to explore a freeze state. Other hardware properties may or may not also be useful (or possible) to represent in such a utility, such as:
I know MAP registers are not available in userland, and are visible in Matrix Mode. If a freezer utility can ask the Hyppo for these values, it could help illustrate the effect of MAP values in a way that Matrix Mode cannot.
I'm imagining this as interactive memory map visualizations. I would love to be able to zoom into address ranges and understand the "state" of a given set of addresses interactively. For example, the next time I forget that I can't
POKE $8000,$BB
in the default BANK 128 mode, I can open the utility and zoom to$8000
and the tool will visually explain to me what's going on and help me understand what I need to change. This will require some thought and iteration to capture common developer questions and use cases.