The major new feature in v0.20.0 of Gopher2600 will be C level debugging for ARM programs.
This new feature works for all cartridge types that use the ARM coprocessor. This means that DPC+, CDFJ developers are supported in addition to ELF and ACE developers.
In this video we see a an ELF binary being inspected.
The Globals Variables window in the top right hand corner shows the details of the universally accessible variables in the program.
When the emulation is run the frameCount global variable increases steadily. When the player is rotated and moved with the joystick, the direction and position variables change along with the first person view shown on the TV screen.
The Timeline window at the window allows the developer to scrub the emulation state backwards and forwards. The video shows how the global variable information is updated immediately.
The source window, which is opened at the 43 second mark, allows the developer to add breakpoints to executable lines. The Local Variables window complements the Global Variables window by showing those variables that move in and out of scope as the program runs.
In the video a breakpoint is added to line 78. This line is inside a FOR loop and by repeatedly running the program we can see the loop counter 'i' increase in the Local Variables window. Also notice how the TV screen is slowly being drawn, showing the relationship of the FOR loop with the VCS.
v0.20.0 of Gopher2600 will be finalised sometime in February.