Commit graph

83 commits

Author SHA1 Message Date
JetSetIlly
a43ee21377 Merge branch 'future_REBASE_LIKELY' into release_0.40.0 2025-01-13 19:48:58 +00:00
JetSetIlly
8ee08854c1 added CHANGED option to WATCH command
improved how WATCH command arguments are parsed
2024-12-29 08:25:05 +00:00
JetSetIlly
600854615b fixed new 'go vet' errors
next version of go introduces more Errorf(), Sprintf() type checks
in the linter
2024-12-15 18:32:34 +00:00
JetSetIlly
60a1620503 removed old nolint directives
the linter that required these is no longer used
2024-11-23 14:56:37 +00:00
JetSetIlly
f66d020907 added lint target to Makefile
checks that linters exist before proceeding. project URL for each linter
in the Makefile comments

only go-errorlint and unconvert used at the moment

fixed all lint errors for the added linters
2024-11-23 14:56:36 +00:00
JetSetIlly
921bc26ab6 changes in 3af5cfb extended to the windows build 2024-10-02 11:23:55 +01:00
JetSetIlly
82f8d33505 implemented commandline.Extension for symbols package
the SYMBOL command can now tab-complete the current list of symbols

there is more work to be done here to allow other commands such as BREAK
and WATCH to tab-complete on symbols/labels

clarified terminology for symbols package in doc.go
2024-09-15 19:54:17 +01:00
JetSetIlly
3af5cfb281 maintenance work on commandline package
added extension directive. allows validation and tab-completion of a
command to be extended with additional parameters

added mapper.TerminalCommand interface. this interface works in
conjunction with the commandline package Extension interface

ELF mapper implements mapper.TerminalCommand and commandline.Extension
interfaces to give the CARTRIDGE command some ELF specific options
2024-09-14 12:30:20 +01:00
JetSetIlly
6ca3124e0a updated commandline tests to work with test package 2024-09-14 12:30:20 +01:00
JetSetIlly
79d5e5be00 simplified CoProcYieldType 2024-07-06 22:03:11 +01:00
JetSetIlly
30a245d472 improved coproc yield information in terminal prompt 2024-03-01 20:24:23 +00:00
JetSetIlly
3340e5cc8d cartridge will reload when HUP signal is received 2024-01-28 10:41:08 +00:00
JetSetIlly
9f6cbdad58 added CYCLE quantum
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
2023-11-27 07:47:30 +00:00
JetSetIlly
2d02764e60 moved coprocessor interface/types from mapper to coprocessor package
there could be more work to do here to make this more readable
2023-08-09 15:26:05 +01:00
JetSetIlly
a815f9c6ae improved terminal output for DWARF LOCALS command 2023-07-31 08:57:41 +01:00
JetSetIlly
81f4a83490 more flexible yield information 2023-07-17 15:50:07 +01:00
JetSetIlly
732c433cd2 tidied and simplified test package 2023-07-06 13:49:18 +01:00
JetSetIlly
3aa5885ebe removed curated pacakge. replaced with wrapped errors
curated package predated the standard errors package introduced in
go1.13

the standard package does a better job of what curated attempted to do

the change of package also gave me a opportunity to clean up the error
messages a little bit
2023-02-13 21:58:39 +00:00
JetSetIlly
178f05f17b updated go minimum version to 1.20
applied gofmt to source tree to update the documentation comments
2023-02-12 13:09:07 +00:00
JetSetIlly
a20d459c39 prevent infinite regression in tab completion
this could be seen if a token is remaining and the expected token is
inside a repeat clause in the token template
2022-12-12 14:51:09 +00:00
JetSetIlly
abd96b298b renamed PushRawEvent() to PushFunction(). related elements renamed similarly
identified the functions in the debugger package that are used by the
lazyvalues package. it is planned that the lazyvalues system will be
replaced by a Borrow() mechanism so this is a change with a limited life
expectancy
2022-09-02 19:24:12 +01:00
JetSetIlly
5ba3e8cfaa added flood fill to paint window 2022-06-07 08:43:55 +01:00
JetSetIlly
7e57bbe46c removed unused/unwanted dependencies
go-wav, statsview and memviz all indirectly used gopkg.in/yaml.v3 which
I do not want to depend upon

WAV functionality is no longer available for wav writing or reading
(supercharger tapes). will try to reintroduce functionality in the
future
2022-05-26 12:14:34 +01:00
JetSetIlly
9c59dea5e0 fixed interrupt handling when in playmode/debugger probably broken during 13aa07b
added terminal.UserQuit sentinal error to better handle quit events.
future versions should probably remove 'running' variable and rely on
this error and filter accordingly
2021-11-19 18:13:28 +00:00
JetSetIlly
fcd7cfdccf updated windows version of Colorterm type
IsRealTerminal() was added some time ago but the windows build wasn't
tested. fixed build problems by adding missing function.
2021-10-15 19:06:56 +01:00
JetSetIlly
c1a13ba61b user interrupt handling improved for debugger
now takes into consideration the attached terminal. added
IsRealTerminal() to terminal.Input interface to support this

reworked script package error messages
2021-09-24 20:07:08 +01:00
JetSetIlly
a7513e3e90 corrected how rewind enters and leaves the inputLoop particular in relation to videoCycles
tidied up inputLoop. more comments. clarification of concepts

removed PauseRendering() concept from television
2021-09-23 18:44:41 +01:00
JetSetIlly
6a36efe072 removed RawEventImm channel. removed PushGotoCoords()
RawEventImm was added originally to allow GUI events to preempt all
other pushed RawEvents. this was needed because of how lazy value update
requests were pushed. we've throttle these requests now so we no longer
need the preempt channel

PushGotoCoords() was added because we wanted to use the RawEventImm
channel. pusing the GOTO command is now fast enough for discrete calls.
we may want to reimplement it if we need to send many GOTO commands -
similar to how PushRewind() is required in place of REWIND commands
2021-09-22 20:00:38 +01:00
JetSetIlly
eb510b7cb6 updated go.mod for go 1.17
easyterm package updated to satisfy new termios version

other packages updated
2021-08-18 06:25:40 +01:00
JetSetIlly
22dd8284ca improved terminal window input line 2021-07-20 16:29:50 +01:00
JetSetIlly
1cefa61cea added Abort on Illegal Memory Access option for ARM emulation (default: off)
thumb program will abort if illegal memory access is detected

illegal accesses will always be logged even if the option is off

program will always abort on illegal PC fetch even if the option is off
2021-07-15 10:38:37 +01: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
d6463e0dae lint errors 2021-02-24 06:59:30 +00:00
JetSetIlly
cc0212cbd7 small tidying of terminal and database
preparation for future changes to the database
2021-02-08 19:16:18 +00:00
JetSetIlly
b16b59291a television pauses rendering on rewind
replacement for GuiStateRewinding request removed in previous commit

particularly effective when rewind snapshot frequency is greater than
one frame

colorterm should now work correctly with RawEvents and RawEventImm (I
don't really use colorterm anymore but this corrects an oversight)
2021-01-03 11:39:27 +00:00
JetSetIlly
890eec5c72 altered how time.Ticker is reset in television limiter
correct gui state restored after rewind
2020-11-27 21:11:01 +00:00
JetSetIlly
93dde40be4 removed some dangling lint errors (godot)
removed lint dependencies from Makefile targets
    - unreasonable to expect other people to have it installed
2020-11-19 15:11:30 +00:00
JetSetIlly
b712123653 clarified debugger input loop
removed some logical dead-ends

introduced the concept of restarting the input loop. this is important
when resetting the emulation for example. if the machine is reset during
a video cycle then the emulation will resume inside the video inputloop.
however the reset machine expects to be inside a cpu inputloop, causing
havoc. also used to ensure the rewind system works correctly.

restarting the input loop is tricky. it requires a RawEventReturn channel
that works like the RawEvent channel but returns control to the input
loop on completion.

added GetFeature() to gui interface to better support the rewind
subsystem. renamed ReqFeature() to SetFeature(). Added FeatureReqData
type for clarity.
2020-11-17 23:01:23 +00:00
JetSetIlly
1cdb19562e error values checked (golangci-lint -E errcheck)
error checked on Close() of writable file

fixed disassembly sanity check
2020-10-18 10:59:19 +01:00
JetSetIlly
9e159b97d8 added more linters to golangci-lint config
godot --fix has been run to make sure all comments end in a full-stop

specified nolint directive to apply to specific linter
2020-10-16 16:31:07 +01:00
JetSetIlly
7b624b5506 removed some staticcheck errors (golangci-lint -E staticcheck)
supercharger tap window will now set tape counter (revealed by
staticcheck)
2020-10-16 14:50:23 +01:00
JetSetIlly
f30708d0d2 corrected style flaws (golangci-lint -E gocritic)
patch boundaries fixed in dpc mapper (as a result of lint)

added .golangci.yml configuration file

updated Makefile
2020-10-16 12:20:16 +01:00
JetSetIlly
22cd3251e9 removed unused function parameters/return values (golangci-lint -E unparam)
update Makefile lint target
2020-10-16 11:04:05 +01:00
JetSetIlly
b41c6d0301 removed unnecessary whitespace (golangci-lint -E whitespace --fix)
update Makefile lint target
2020-10-16 10:29:09 +01:00
JetSetIlly
e6e3a63be8 spelling errors in comments (golangci-lint -E misspell --fix)
update Makefile lint target
2020-10-15 22:02:51 +01:00
JetSetIlly
eace858835 removed unnecessary type conversions (golangci-lint -E unconvert)
update Makefile lint target
2020-10-15 22:02:32 +01:00
JetSetIlly
3482b98fbf removed unused struct fields (golangci-lint -E structcheck) 2020-10-15 20:56:48 +01:00
JetSetIlly
81b5a84a0b simplifed code (golangci-lint -E gosimple) 2020-10-15 20:56:48 +01:00
JetSetIlly
9f74bffba0 fixed mutex error in pref package String() functions
imports sorted with goimport (after a global search and replace sometime
in the past)

various commentary improvements
2020-10-15 16:38:41 +01:00
JetSetIlly
b744d7f8da fixed commandline node printer to display optional groups in all cases 2020-10-15 07:36:47 +01:00