removed the saveOnFirstUse argument. this means the EnableSaving()
function added in the previous commit can be removed
the reason for adding the EnableSaving() was so that we could intialise
the ColourGen type without writing to a preferences file. this was a
problem for testing because it meant that the global ColourGen
initialisation created a preference file for each test, which is
definitely something we don't want
there is still the global DisableSaving flag that would ideally be
removed in the future. it's currently only needed by the
debugger_test.go test which initialises a Debugger instance and
indirectly causes the preferences file to be saved on exit
disassemby when called from normal cartridge attachment is now done the
background in a separate goroutine. this allows execution to begin
immediately without having to wait for the disassembly to finish
disasm window in the gui will show a "disassembling..." message while
the background disassembly is working
fixed symbols test data
updated QUANTUM and STEP commands to accoodate new quantum
control window changed to support the three quantum options
improved/corrected the conditions under which the ONSTEP command is run
disassembly.ExecutedEntry() updates existing entry
most cartridge formats will always have non-nil results but formats
like ACE or ELF that feed the 6507 program on demand will result in the
disassembly to have gaps - and that's why we need the nil check
implemented "borrow" mechanism instead of iteration mechanism which was
clumsy and confusing.
simplitied how breakpoints are queried by the lazy system, for the
benefit of the disassembly window
tweaked how emulation state is tracked by the disassembly window
removed linter package. unused and underdeveloped. will reimplement in
the future.
set defaults for revisions, rewind and ARM tabs of the prefs window (in
addition to the CRT tab). set defaults button labelled appropriately
fixes some race conditions caused by pre/post hooks on prefs values -
prefs values are generally goroutine safe, except when pre/post hook is
defined
*.windowSize and *.windowPos preference values replaced with single *.windowGeometry value
prefs package type now have a pre-hook (called before new value is set).
existing hook/callback clarified to be a post-hook (called after new
value is set).
prefs generic type now handles prefs.GenericGetValueUndefined to
indicate that the value cannot be ascertained at this time (the prefs
package should use the most recent previous value instead)
supercharger tries to load BIOS before anything else meaning a quicker
failure if one is necessary
failed cartridge attachment will result in log entry rather than a
terminal error
loading cartridge without a coprocessor (ARM) when the Last Execution
window was open would cause a crash
added video link in readme
result of changing rewind maxentries value displayed correctly in win_control
timer randomised on startup (if preference selected)
changing symbols preference updates disasm window vertical alignment
file selector:
- scrolls to top on directory change
- centres on current ROM when first opened
help note for the -state flags (REGRESS ADD)
changed default window position for timer window
added CartHotspots debugging bus. used by symbols package to get
cartridge symbols information. should be useful for disassembly too
renamed hotspot() functions (in cartridge mapper implementations) to
bankswitch() for clarity
sdlimgui disassembly window shows address labels. disassembly iteration
updated to better support that.
SYMBOL command prints all mirrors for cartridge addresses
both values saved to disk and editable editable via terminal interface
nick editable in PlusROM preferences window
String type in prefs package can not be set to a maximum length
the note about historical versions also being covered wasn't strictly
needed and was ugly. the LICENCE being in the root file from the very
first commit is sufficient.
disassembly window shows "executing from cartridge RAM" message
better disassembly decoding loop. clarified and corrected commentary in
disassembly package. identified some more critical sections in
disassembly package
this results in a better mnetwork disassembly
origin and memtop for disassembled entries are now definable. added
disassembly.FxxxMirror to preferences. PREF command can now set
FxxxMirror option. Added checkbox to win_prefs
renamed Iterate to IterateBank and added IterateCart
UpdateEntry() ignores any result not in the cartridge ROM space
tidied-up/unified preference files in debugger/disassembly/hiscore
packages