Commit graph

3014 commits

Author SHA1 Message Date
JetSetIlly bf34bab783 window manager concepts 2024-04-16 10:18:13 +01:00
JetSetIlly a621b4fd04 fixed mouse capture on right-mouse click in playmode
broken in 7e1f1f when the playmode overlay was changed to a full size
window

fix required improvement to the detection of whether the mouse was
hovering over a window (eg. prefs window, etc.)
2024-04-15 18:56:32 +01:00
JetSetIlly 8f2eb8753f rewinding by mouse wheel works in debugger
rewinds/FF by 10 frames or by a single frame if shift key is held
2024-04-12 21:01:59 +01:00
JetSetIlly 7e1f1f17b6 improved prioritisation of state icon in playmode overlay 2024-04-12 19:55:41 +01:00
JetSetIlly d32262adff simplified how gui implements and handles notifications
debugger no longer sends play, pause notifications to the gui. the gui
polls for that information as required

govern package now has SubState type to complement the State type.
StateIntegrity() function enforces combinations of State and SubState,
called from debugger.setState() function

playmode notifications reworked and contained in a single playmode_overlay.go
file. this includes the FPS and screen detail

preference value sdlimgui.playmode.fpsOverlay replaced with
sdlimgui.playmode.fpsDetail. still toggled with F7 key

coproc icon moved to top-left corner of playmode overlay and only
visible when FPS detail is showing

when FPS detail is showing multiple (small) icons care shown. when it is
not showing, a single (large) icon is shown according to the priority of
the icon. eg. pause indicator has higher priority than the mute
indicator
2024-04-12 18:20:29 +01:00
JetSetIlly 877f282b8b corrected supercharger multiloading for fastload 2024-04-10 20:50:13 +01:00
JetSetIlly 1d40869a6d corrected 4d8c3c9
the mistake was audible in the Mappy sound routine
2024-04-10 20:40:35 +01:00
JetSetIlly f491504d86 Added preference setting for misaligned memory access
Disabled by default. When enabled misaligned read and writes will be
reported as memory faults
2024-04-08 22:29:18 +01:00
JetSetIlly 110d476389 ARM differenties between architectures for memory alignment
ARM7TDMI (which is an ARMv4 implementation) does not allow misaligned
addressing at all. ARMv7 meanwhile does allow it

ARM emulation no longer logs misaligned addresses. but it does forward
the information to the developer interface

Faults window now has a Clear button and fixed table header
2024-04-08 22:16:12 +01:00
JetSetIlly 5b759fa0bf include Custom ROM section in CDF static memory window 2024-04-08 20:02:27 +01:00
JetSetIlly a2e1763369 correct toolchain requirement. 1.22.0 instead of 1.22
fixes change made in a0b18e9
2024-04-08 20:02:27 +01:00
JetSetIlly 5d7551cf61 fixed PlusROM data transmission
version number sent to server is taken from the 'new' versioning system
for the project (introduced since the last time the PlusROM network code
was looked at)

http logging flag moved to preferences system, instead of compile time flag
2024-04-07 10:49:20 +01:00
JetSetIlly 24f3f32342 simplified notifications package
notifications interface instance moved to environment from
cartridgeloader. the cartridgeloader package predates the environment
package and had started to be used inappropriately

simplified how notifications.Notify() is called. in particular the
supercharger fastload starter no longer bundles a function hook. nor is
the cartridge instance sent with the notification
2024-04-06 10:12:55 +01:00
JetSetIlly 4ab23ab63e simplified file extensions in cartridge loader package 2024-04-06 10:12:55 +01:00
JetSetIlly a0b18e9a96 bumbed Go version requirement to 1.22
added go.work.sum to .gitignore
2024-04-06 10:12:55 +01:00
JetSetIlly 08f105af6b added ExpectImplements() function to test package 2024-03-30 07:09:25 +00:00
JetSetIlly 1a26231b5e added load/percentile values for cycles/call profiling 2024-03-28 07:20:23 +00:00
JetSetIlly f098a31f1c clarified calculation for profiling.Cycles type
simplified accumulation of profiling data and clarified commentary
2024-03-27 18:35:23 +00:00
JetSetIlly b068a509fa added cycles/call profiling statistics
tidied up cycles and calls statistics
2024-03-27 16:44:38 +00:00
JetSetIlly ff05d92ca4 simplified process for sorting DWARF types
previous version was too overloaded with functions, likely as an attempt
to simplify, but it was only confusing when trying to add more entities
to the list of sorting methods
2024-03-27 16:43:25 +00:00
JetSetIlly b8b20a5166 coprocessor profiling is more careful about which profiling focus to use 2024-03-24 17:41:37 +00:00
JetSetIlly 049e4ce39d added call count to coprocessor profiling
NewFrame() functions for profiling statistics takes a rewinding flag.
the flag prevents some statistics from being updated if the flag is true
2024-03-24 15:50:26 +00:00
JetSetIlly 597a8e466d improved toggle button widget
horizontal/vertical orientation
2024-03-24 07:47:53 +00:00
JetSetIlly 053a4aac00 simplified CDF memory access with binary package 2024-03-23 09:38:06 +00:00
JetSetIlly 032bfc7d89 reworked and clarified how addresses are adjusted in DWARF data
previous attempts used language and methodology that was confusing and
in some cases causes excessively long loops when allocating source lines
to addresses
2024-03-23 09:38:06 +00:00
JetSetIlly 5f65c36297 improved ARM/VCS syncing for ACE 2024-03-23 09:38:06 +00:00
JetSetIlly 4d8c3c94fd corrected/improved how BX instruction is implemented 2024-03-23 09:30:53 +00:00
JetSetIlly ce19219205 corrected memory map for ACE loading
increased CCM memory to 4k
2024-03-23 09:30:53 +00:00
JetSetIlly 016906b077 enabled coproc disasm does not rerun the last 2 frames
it causes problems when the ARM program has yielded on a breakpoint
2024-03-23 09:30:53 +00:00
JetSetIlly 1b15d626d4 fixed static disassembly of ARM instructions
instructions following a 32bit instruction were given the wrong address
2024-03-22 17:01:06 +00:00
JetSetIlly b7bcf5e090 corrected reflection of HMOVE signal
a new HMOVE would be noted in the reflection array but it would never be cleared
2024-03-19 21:07:48 +00:00
JetSetIlly f95e65e7b0 added NumCallsInFrame statistics to coprocessor profiling
improved callstack management
2024-03-19 19:24:47 +00:00
JetSetIlly 06b09eb163 coproc disasm window scrolls with item added to end of list 2024-03-13 21:16:52 +00:00
JetSetIlly 5b4d509748 CDF streams window casts font size preference value to int 2024-03-13 20:31:17 +00:00
JetSetIlly 40882a4c24 limit preview emulation to 1 second (in addition to the frame count limit) 2024-03-13 20:31:17 +00:00
JetSetIlly 91d26312a8 allocateSourceLines() obeys EndSequence flag in LineEntry
ignoring the EndSequence flag caused the loop in allocateSourceLines() to be excessive in
some cases. the problem was noticed because of an excessively slow startup but the fix
isn't just about speed - the fix should mean that functions do not include trailing instructions
(which may in fact not be instructions) outside of the function body
2024-03-13 20:30:55 +00:00
JetSetIlly 07e3b95f6e cycle ordering was broken the JSR instruction
bug introduced in db2d84c39, which would have first appeared in release
v0.27.0

this subtle bug broke the alignment of the ball and missile in the worm
whomper demo (by Manuel Rotschkar)

this fix adds the cycle boundary after the lo-byte read of the
destination address
2024-03-13 14:16:32 +00:00
JetSetIlly 5bc7cb809b nilness check for BorrowSource() was done too early
completes changes done in ee1656fc8
2024-03-05 15:57:51 +00:00
JetSetIlly d9e0bd0380 corrected thumb2 EOR instruction. shift type was wrong 2024-03-05 10:54:01 +00:00
JetSetIlly 954c1485a1 added COPROC MEM DUMP command
context menu in static memory window
2024-03-04 07:40:55 +00:00
JetSetIlly 93cd3fb24f implemented strobed local variables 2024-03-04 07:40:39 +00:00
JetSetIlly ee1656fc86 performance improvement for static memory window
BorrowSource() was called for every cell drawn. now only called once per frame
for the window
2024-03-03 21:51:47 +00:00
JetSetIlly b1e89121d1 COPROC ID works correctly
misplaced fallthrough to the COPROC STEP command
2024-03-03 10:58:30 +00:00
JetSetIlly 1cb7ea7eb3 incorrect bit pattern for ASR when decoding ARM for disassembly
correct for decoding for execution - only the disassembly was affected
2024-03-02 14:42:16 +00:00
JetSetIlly c38db1bf81 check whether ARM PC is at end of program memory
the emulator could crash with an array bounds panic if execution reached
the end of memory

if the check fails (ie. the panic would occur if the check was absent)
then the ARM yields with with a YieldExecutionError
2024-03-02 13:43:03 +00:00
JetSetIlly 30a245d472 improved coproc yield information in terminal prompt 2024-03-01 20:24:23 +00:00
Stephen Illingworth ec22ebe8b7
github has changed how header texts are presented
this broke the right aligned image of the gopher next to the main header at the top of the README
2024-02-27 08:09:24 +00:00
JetSetIlly ddccc67ce7 bumped version to 'v0.30.0 pre-release' in Makefile 2024-02-25 20:04:36 +00:00
JetSetIlly e433281781 bumped version to v0.29.0 in Makefile
disable freetype font rendering for all targets
2024-02-25 19:04:58 +00:00
JetSetIlly 73a89e7884 updated README 2024-02-25 19:04:58 +00:00