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
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
the TV is reset in the same manner as supercharger on receipt of the
notifcation. This allows the TV to auto-detect the specification from
the movie content and not the attract screen
the disadvantage of this is that the NTSC attract screen will show for a
PAL movie but this is a small complaint. the way around this would be
for the first dozen frames of the movie to be run unseen before the
attract screen starts and for the TV to detect the specification from
that
corrected display of existing notifications. for example, emulation
notifications (pause, mute, etc.) would not display if cartridge
notification was visible