Box16
Posted: Tue Feb 07, 2023 11:59 pm
Box16
The CPU monitor includes a "smart stack" which shows the callstack of jsr targets and interrupts, complete with symbol names if the appropriate files have been loaded. Hovering over items in the smart stack and show additional information, such as the address that the program counter was at when it entered that stack context. Clicking on smart stack elements will set the disassembler to the address that was jumped into. Any number of breakpoints and memory watches can be set, with breakpoints applying to execution, memory reads, or memory writes.
There are memory dump views, as well, that can change between different banks in RAM and ROM. Clicking on symbols or addresses in the disassembler can focus a memory dump window to that location automatically, or will set the disassembler to the location in the case of branch and jump instructions.
Last stable release: nr41.1 (Koutoubia Mosque), use with the r41 ROM. Current CI build: nr42.xx (Akhet), use with the latest (post-r43, pre-r44) ROM. (You may need to be signed into GitHub to access the current CI build.)Box16 is an emulator for the Commander X16, focused on providing debugging and inspection tools to help a programmer understand the state of the system and debug their programs. The latest "stable" release of Box16 is nr41.1 (link), available for download on GitHub. It works with the rom.bin provided by the official Commander X16 r41 emulator. Box16 is also in continuing development, and the latest continuous-integration builds usually work with the latest similar builds from commanderx16/x16-rom (link) on GitHub.
The CPU monitor includes a "smart stack" which shows the callstack of jsr targets and interrupts, complete with symbol names if the appropriate files have been loaded. Hovering over items in the smart stack and show additional information, such as the address that the program counter was at when it entered that stack context. Clicking on smart stack elements will set the disassembler to the address that was jumped into. Any number of breakpoints and memory watches can be set, with breakpoints applying to execution, memory reads, or memory writes.
There are memory dump views, as well, that can change between different banks in RAM and ROM. Clicking on symbols or addresses in the disassembler can focus a memory dump window to that location automatically, or will set the disassembler to the location in the case of branch and jump instructions.