Commit graph

1523 commits

Author SHA1 Message Date
JetSetIlly
d42120f12d added OSD and controls to Movie Cart 2021-04-02 13:00:07 +01:00
JetSetIlly
914167b288 url protocol check failed with windows drive letters 2021-04-01 23:56:54 +01:00
JetSetIlly
f406736e80 implemented Movie Cart
added SLO (0x1b) opcode
2021-04-01 01:12:28 +01:00
JetSetIlly
aee8cb1f4b more work on deep poking. not complete. 2021-04-01 01:06:59 +01:00
JetSetIlly
a572f4f087 GotoCoords() sets state correctly so that win_disasm has chance to catch up
added StateRewinding to clarify what is happening when during rewinding.

Debug screen cursor not shown during rewinding
2021-03-31 14:48:15 +01:00
JetSetIlly
ba4a61981d fixed Superbank bank switching 2021-03-28 20:26:01 +01:00
JetSetIlly
94a7abab33 corrected mouse click detection on dbgscr
selecting a color from the playfield color popup would cause a rogue
GotoFrameCoords() if popup overlay the dbgscr.
2021-03-26 10:28:48 +00:00
JetSetIlly
8f9d9a19ba updated golangci-lint to 1.39.0
scopelint replaced by exportloopref
2021-03-26 09:37:19 +00:00
JetSetIlly
94150de4a5 clarified some concepts in the rewind package
SearchRegisterWrite() now correctly leaves the found state in a usable
state at a CPU instruction boundary

DeepPoke runs from found ultimate found state to the "current" state

updated README
2021-03-25 21:19:22 +00:00
JetSetIlly
76da071533 clarified naming of CTRLPF masks 2021-03-25 12:57:13 +00:00
JetSetIlly
9c18dd3010 supercharger checks size of BIOS file 2021-03-23 16:11:47 +00:00
JetSetIlly
36e7c3bd61 first pass at deep-poking
implemented deep-poking of playfield values. there may be pathological
instances where this does not work. not all addressing modes have been
added to the deep-poke function.

to be clear, non-playfield graphic elements (player, missile, ball) have
not had this feature added yet.

will probably also require some way of feeding back information, making
it clear what has actually happened or actually changed. changing of an
immediate value should probably trigger a redisassembly.
2021-03-23 11:27:28 +00:00
JetSetIlly
022ace4813 updated go.mod
repoint imgui-go to inkyblackness from jetsetilly mirror. changes have
been merged.
2021-03-19 14:25:13 +00:00
JetSetIlly
766700eb39 icons indicating switched controllers
added some icons to debugging screen. more will be added

embedded fontawesome free webfonts and a minimal Gopher2600-Icons font
that contains the controller images

bumped minimal go version to 1.16 to support the new embed directive
2021-03-18 18:38:56 +00:00
JetSetIlly
75af0a931e fixed menubar info for mnetwork cartridges
result of cartridge Mapping() function can result in strings of varying
length in a very short period, which caused the draw routine to flicker

more flexible Mapping() function required
2021-03-16 22:58:46 +00:00
JetSetIlly
a4ed971a1b analogue thumbstick now controls stick, rather than paddle
the amount of travel in the analogue stick is just too small for it to
be useful for paddle control IMO.

triggers still control paddle but no longer self-centre. the center
position is different for different games. also, it makes some games too
easy.
2021-03-16 22:58:46 +00:00
JetSetIlly
b52e5e1599 controller change notification in playmode 2021-03-15 11:29:49 +00:00
JetSetIlly
2062ff6edb port monitor 2021-03-14 18:03:49 +00:00
JetSetIlly
1951a0ef32 corrected test.Equate() function 2021-03-14 18:03:49 +00:00
JetSetIlly
4a165f794d updated README 2021-03-13 19:34:18 +00:00
JetSetIlly
db7fc34889 removed hotspot symbol information for superbank
the solution was too complex. it requires a more elegant solution.
2021-03-12 11:24:11 +00:00
JetSetIlly
63a2b636dd corrected win_disasm when stepping back to beginning of execution (CPU reset) 2021-03-12 11:08:47 +00:00
JetSetIlly
5e44db0dea added ReverseSearch() function
better SYMBOL command

symbols package better understands cartridge hotspots. some hotspot
symbols are very specific about the address and are not mappable in the
same way other symbols are
2021-03-12 09:46:08 +00:00
JetSetIlly
b21529c573 controller no longer rumbles on start up 2021-03-12 07:10:08 +00:00
JetSetIlly
115a4b6746 superbank hotspots
hotspots can now be "strict". meaning that the symbols package will not
try to normalise the address to a mapped address
2021-03-12 07:10:08 +00:00
JetSetIlly
148bc91e02 disassembly inserts dummy labels for JMP/branch/etc. targets
ejected cartridges now report having one bank, rather than zero. this
is really to sypport the symbols_test but it shouldn't do any harm
elsewhere.

symbols package now safe to use in threaded code

symbols search returns normalised symbol name (ie. as it appears in the
symbols table). the effect of can be seen with the PEEK and POKE
commands for example.
2021-03-12 07:10:08 +00:00
JetSetIlly
349e888aa1 correct PC following for disasm with labels (in disam window)
stepping back will now put the GUI into the gui.StateStepping state
2021-03-11 20:36:01 +00:00
JetSetIlly
1bed9e9e5a supercharger fastload (.bin files) multiload working 2021-03-11 18:21:53 +00:00
JetSetIlly
a333a941c5 WATCH command by default considers address mirrors
optional STRICT argument for specific addresses (which is not a usual
requirement for the WATCH command, IMO)
2021-03-11 16:17:15 +00:00
JetSetIlly
7c249d699e nil check in SkipNext() disassembly iteration 2021-03-11 16:17:15 +00:00
JetSetIlly
7297389e38 logger package records timestamp of most recent log event
fixed Dirty flag for log window
2021-03-11 14:02:38 +00:00
JetSetIlly
40930e7deb updated README 2021-03-10 19:14:20 +00:00
JetSetIlly
790c958aef disasm sequence processing improved
disasm window bank selector will scroll to bank
    - useful for cartridges with lots of banks

disasm window follows PC on step as well as run. added new GuiState to
support this.
2021-03-10 17:23:19 +00:00
JetSetIlly
611a7212f5 added Superbank cartridge mapping scheme (128k and 256k) 2021-03-10 15:06:40 +00:00
JetSetIlly
bd7b88979f corrected mnetwork fingerprinting
incorrect mask causes a false positive for Solaris (after previous
changes to the fingerprinting when the threshold was reduced from 4 to
2)
2021-03-09 23:32:33 +00:00
JetSetIlly
c3cb43f051 left/right triggers control paddle
moved some gamepad analogue axis code from sdlimgui/service to
userinput/handle
2021-03-09 22:37:08 +00:00
JetSetIlly
3c00d7bbb5 Gamepad start button acts as panel reset switch 2021-03-09 22:37:08 +00:00
JetSetIlly
156534a3fd added userinput package
debugger and playmode refer to userinput package rather than the common
code being in the playmode package

GUI events are now userinput events

more versatile handling of EventData in controller package. parsing of
EventData is handled by the controller types as required. added
EventDataPlayback type to ports package to help distinguish source of
data.

EventDataStick used to specify stick data value. used to help
distinguish between setting a stick direction and toggle a stick
direction. the latter case is useful for (physical) gamepad input and
the former for input from a keyboard.

Gamepad analogue stick can be used for paddle input. PaddleFire removed
and Fire used instead.

version number of playback file increased to 1.1. version detection of
recorder.IsPlaybackFile() improved.
2021-03-09 22:37:08 +00:00
JetSetIlly
2e94d1fb00 mute audio in debugger 2021-03-06 11:22:49 +00:00
JetSetIlly
d4f72c3b40 Logf() function in logger package
replaced all instances of logger.Log() that used fmt.Sprintf() to build
the details argument
2021-03-06 08:01:48 +00:00
JetSetIlly
24fe0484d9 unique filename generation placed in paths module
generated filenames for playback recording, regression script writing
and terminal outuput saving, remain the same as before
2021-03-06 07:17:52 +00:00
JetSetIlly
84ab48118b updated Control deugging window to support STEP BACK command 2021-03-05 23:08:31 +00:00
JetSetIlly
705da4252e STEP command now supports stepping backwards
limitation for the time being on stepping back by color clock

removed ability to step by the more obscure trap targets (registers
etc.)
2021-03-05 13:09:37 +00:00
JetSetIlly
7493c96c14 improved supercharger fastload (.bin files) fingerprinting
fastload files seem to be multiples of 8448 bytes
2021-03-05 13:09:37 +00:00
JetSetIlly
1085170c97 disabled govet/fieldalignment in linter
golangci-lint v1.38 replaced maligned with this new linter. I'm not too
bothered about aligned structs except in very limited cases so it's
better to run this manually when those structs change.
2021-03-03 15:15:39 +00:00
JetSetIlly
2a5dbffb67 tweaked front/back porch correction in TV implementation
this "fixes" the smooth playfield scroll demo

tweaked how VSYNC signal is counted
2021-03-03 12:00:59 +00:00
JetSetIlly
b6dd737163 RSYNC reflection layer 2021-03-03 10:28:45 +00:00
JetSetIlly
3208a16e3a corrected prompt for CPU reset state
showing > instead of >>
2021-03-02 22:05:46 +00:00
JetSetIlly
1a5f4a6fbf terminal window tweaks 2021-03-02 13:23:51 +00:00
JetSetIlly
08d6d17c15 reworked CPU window 2021-03-01 20:17:19 +00:00