Commit graph

40 commits

Author SHA1 Message Date
JetSetIlly
7f4126d226 added COMPARISON command
timeline window uses new command to make changes

comparison point can be locked
2023-06-18 21:25:07 +01:00
JetSetIlly
5546a24b93 global setting for debugger tooltips
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
2023-06-14 21:33:38 +01:00
JetSetIlly
8fd2a7659d improved screen handling of frame queue
screen can nudge the emulation limiter in the event of frame queue
collision

nudge icon in playscreen information (FPS) window
2023-05-17 17:24:44 +01:00
JetSetIlly
81ff8bbe97 tracker fields correctly protected by critical section
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
2023-04-18 18:04:18 +01:00
JetSetIlly
178f05f17b updated go minimum version to 1.20
applied gofmt to source tree to update the documentation comments
2023-02-12 13:09:07 +00:00
JetSetIlly
48e231409c better handling of inlined functions
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
2023-01-16 18:39:32 +00:00
JetSetIlly
62e6a5681d sourcelines note whether DWARF recommends that line is breakable
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
2023-01-14 07:20:00 +00:00
JetSetIlly
dde9b678c9 tv screen coords line improved layout
added icon/tooltip showing geometry for most recent frame
2023-01-05 16:37:59 +00:00
JetSetIlly
baa3dc7780 coproc reset statistics button now schedules a reset
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
2022-09-08 17:39:20 +01:00
JetSetIlly
43dcc085f0 screen roll now connected to VSYNC rather than change of Hz
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)
2022-08-03 22:51:21 +01:00
JetSetIlly
e4ff521c39 first attempt at "paint" window 2022-06-07 08:43:55 +01:00
JetSetIlly
750212fcd3 support for DWARF pointer types 2022-05-18 09:58:00 +01:00
JetSetIlly
d1dbe181ec audio mute notification
fps overlay shows small emulation event icons (pause, mute, etc.)
2022-05-14 22:43:25 +01:00
JetSetIlly
deb0887165 atarivox implementation will not produce sound if audio is muted
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.
2022-05-13 11:30:55 +01:00
JetSetIlly
e3432cf1ab frame relative statistics collated by coprocessor.developer package
should work even if no source is present (unlike the other performance
statistics)

performance window shows "summary relative to TV" data
2022-05-08 17:55:53 +01:00
JetSetIlly
94abad8cc9 coproc execution statistics accumulated according to "kernel" 2022-05-02 15:10:14 +01:00
JetSetIlly
0b1a883984 RAM window indicates whether address has a symbol
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()
2022-04-23 15:59:47 +01:00
JetSetIlly
e6dcde3426 DWARF handling of struct, union and array types 2022-04-20 21:56:43 +01:00
JetSetIlly
37a409081b CDF stream window, drag and drop colour source
datastream tooltip shows detail of datastream underneath the cursor
2022-04-15 20:57:40 +01:00
JetSetIlly
46b16ea4b4 CPU window indicates KIL state
reworked how colour buttons are displayed
2022-03-30 09:49:13 +01:00
JetSetIlly
cd03e092b1 atarivox notification icon. updated PERIPHERAL command
atarivox and savekey will now refuse to be initialised for any port
other than the right player port
2022-03-07 19:27:10 +00:00
JetSetIlly
f31c1645b5 coprocessor performance stats improved
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
2022-02-16 23:06:53 +00:00
JetSetIlly
35bc04a9c0 tidied up coprocessor disassembly window 2022-02-14 18:58:08 +00:00
JetSetIlly
9f4c4ce0dc DWARF parsing will try to detect optimisation setting
warning will be logged if optimisation is known but unsupported. coproc
windows will show the same warning
2022-02-13 12:59:10 +00:00
JetSetIlly
afb7e0ec11 source level information retreived entirely from DWARF data
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)
2022-02-07 22:39:14 +00:00
JetSetIlly
9ce2258a0a freetype font rendering enabled with imguifreetype build tag
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
2022-02-05 23:02:32 +00:00
JetSetIlly
34d7c2e9d0 controller notification always shown according to preferences
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
2022-01-29 08:58:05 +00:00
JetSetIlly
74c33f4739 basic detection of inline functions in obj/map file
this isn't perfect and needs work but at least we now get some
indication that a function has been inlined
2022-01-22 22:18:39 +00:00
JetSetIlly
7e7eaf4262 cosmetic changes to disasm window
"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
2022-01-17 22:07:27 +00:00
JetSetIlly
53d38868cf execution icons in disasm window are specific (cpu bug, page fault)
branch success/failure to be illustrated in another way

view bank combo box now allows "view cpu bug" and "view page fault"
options
2022-01-16 09:49:50 +00:00
JetSetIlly
fe9fc8d4e2 cosmetic improvements to disasm window
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
2022-01-14 13:52:21 +00:00
JetSetIlly
7d33e42e68 add illegal accesses window for coprocessor ROMs
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
2022-01-12 18:46:06 +00:00
JetSetIlly
1a0edad162 added Ports window. feedback is now correct
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.
2021-12-23 11:28:51 +00:00
JetSetIlly
e21c2a6558 clock pins in the 6507 pinout window now use the correct phi symbol
added Hack-Regular and licensing information. used for pin labelling
2021-12-20 22:23:35 +00:00
JetSetIlly
eb6578185a changed quantum "video" to "clock"
spruced up control window
2021-11-18 10:44:08 +00:00
JetSetIlly
4b81d0a647 screenshot notification icon 2021-11-05 12:23:47 +00:00
JetSetIlly
b46dc6db58 added tracker package and audio tracking window 2021-10-28 19:49:15 +01:00
JetSetIlly
22ead85bdc emulator event notification icons
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
2021-10-26 19:40:12 +01:00
JetSetIlly
1e83f7e1d7 (re)added muted indicator to audio window
slightly adjusted offset for FontAwesome glyphs for better alignment
2021-09-16 09:54:12 +01:00
JetSetIlly
b84d974a24 moved fonts package to gui package 2021-08-28 10:40:39 +01:00