tooltip indicator in menu bar. clicking will toggle. same preference can
be toggled in the debugger tab of the preferences window
global setting can be overridden by holding down the shift key
setting will be automatically saved on exit
tooltip settings for individual windows removed (disasm, performance,
source windows)
added slight transparency to tooltip background
removed tracker from the lazyvalues package. access to tracker
information is now done through a "borrow" function
moved volume change logic from win_tracker to main tracker package
executable lines annotated with an inline symbol in an inlined function,
instead of the chip symbol
dropped the idea where we yield all function variables regardless of
scope. it didn't play with how inlined functions work. will think about
how to implement the idea better
until the source window has been updated to indicate breakpoints/executable
lines better, the emulation will continue to allow breakpoints on any
executable line
variable location rule(s) taken from abstract variable entry as appropriate
changed breakpoint symbol
the reset is scheduled to run at the beginning of the next TV frame
running immediately can cause skewed figures, particularly the max
figure
when the emulation is paused the GUI will allow the scheduling to be
cancelled or for the reset to happen immediately
clearer policy for setting of refresh rate
FPS display in playmode displays icon to indicate no VSYNC. removed
"atari safe" message (nice idea but requires work)
audioEnabled preference values renamed to audioMute
this is to facilitate the differentiation of muting and disabling
AtariVox output. muting of AtariVox is a subset of audio mute.
applies to Cart RAM window too
VCS RAM window shows extent of stack. tooltip shows predicted address in
event of RTS
DrawByteGrid() function is more flexible. old method is available as
DrawByteGridSimple()
added average load in addition to frame load
performance window load and average columns can be click to sort
clicking on a function name, opens a filter tab which shows the source
lines (ordered by frame or average loads) for that function only
no longer required to generate an obj file with objdump, or a map file
during compilation
ELF binary should contain DWARF data of course (using -g flag during
compilation)
Makefile updated to build with freetype by default.
building without the imguifreetype build tag will cause the application
to use the default proggyclean font
embeds JetBrainMono-Regular.ttf under the OFL-1.1 License
previously notifications were not shown on startup and only on
subsequent changes. that was intentional but it doesn't work well with
the new fingerprint system
added gamepad notification icon. increased notification icon size
"Follow CPU" will focus when option is set. disasm will not focus on PC
address on pause if "Follow CPU" is not set.
additional notification in disasm window to indicate when coprocessor is
active
simplified how the disasm window tracks the current execution. this
should improve the accuracy of when the focus is shifted, particularly
on startup
removed context menu and editing of address label. menu is not needed
now that clicking to toggle the breakpoint is more reliable (that was
fixed a long time ago but the menu remained). inline address label
editing will be replaced with a symbols menu
entries in new window open up the source window when clicked (if source
is available)
prettied up tooltips in top and source windows, to match tooltip in
illegal access window
source window shows bug icon instead of the chip icon to show that the
line caused an illegal access
INPTx input is masked correctly
RIOT.Ports no longer keep private copies of SWCHA, SWACNT, SWCHB or
SWBCNT. added ChipRefer() to ChipBus interface. this makes the interface
with memory more natural. for example, a POKE command will now correctly
be referred to by the Ports implementation in all instances.
like peripheral event and cartridge event notifications but placed in
the top-left corner of the screen
fixed race condition by calling playmode Pause() from the GUI thread