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.)
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
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
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
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
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
previous attempts used language and methodology that was confusing and
in some cases causes excessively long loops when allocating source lines
to addresses
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
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
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