the information used to create the loader is storied in
the playback type rather than a created loader itself
this is more flexible and gives us better control of when
the loader is disposed of
checking of cartridge hash must now be performed explicitely
when the cartridge loader is created from the playback information
removed all references to hotloading. will reimplement in the future
made sure then cartridgeloader.Loader instances are closed when no
longer needed. added commentary where required to explain
information pane in the ROM selector window is not disabled when
animation emulation is not running. the load button is still visible
based on the animation emulation
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