Commit graph

158 commits

Author SHA1 Message Date
JetSetIlly
6c446b9b3b bumped version to v0.40.0-preview_3 2025-02-23 19:04:08 +00:00
JetSetIlly
fb150bc838 reenabled unconvert linter in Makefile 2025-02-16 22:43:12 +00:00
JetSetIlly
f62f58343d bumped version to v0.40.0_preview_2
minimum Go version increased to go1.24.0

disabled unconvert linter. the latest version of the linter does not
work with go1.24.0

modified 0001-statsviz.patch to match changes go version change in go.mod
2025-02-16 21:45:47 +00:00
JetSetIlly
f679911e97 bumped version to v0.40.0-preview 2025-01-13 20:08:01 +00:00
JetSetIlly
0f9649155d upated version string to 0.35.3-maintenance 2024-12-14 09:35:13 +00:00
JetSetIlly
cc1cf9a085 upated version string to 0.35.3 2024-12-14 09:12:22 +00:00
JetSetIlly
11848209d0 upated version string to 0.35.2 2024-11-23 14:57:09 +00:00
JetSetIlly
c809a6a3a0 a rom can be specified on the command line for the makefile
for example:

    rom=my_game.bin make profile_cpu

if the rom variable is not set then the default roms/Pitfall.bin
will be used
2024-11-23 14:56:37 +00:00
JetSetIlly
8f9e78cad5 fixed all unkeyed struct field errors
makefile vet target removed and put 'go vet' into lint target. awk
filter for unkeyed struct errors removed
2024-11-23 14:56:36 +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
554064ef77 aggressive inlining for build targets in Makefile 2024-11-23 14:56:36 +00:00
JetSetIlly
929137a71b added profile_mem target to Makefile
this target runs the emulator in performance mode with
memory profiling
2024-11-23 14:56:36 +00:00
JetSetIlly
a1f5f8e9ad updated version string to v0.35.1 2024-10-07 19:26:13 +01:00
JetSetIlly
f2df48eeb3 updated version string to v0.35.0 2024-10-02 11:00:40 +01:00
JetSetIlly
7b65cfd7e9 updated version string to v0.34.0-maintenance 2024-08-22 21:51:18 +01:00
JetSetIlly
b212fa6486 TIA audio sampled every colour clock
sum of samples is averaged and output twice per scanline for an output
sample rate of 31.4KHz

this fixes issues with ROMs that change the volume of the audio multiple
times per scanline

added *.wav to .gitignore
2024-08-07 09:02:17 +01:00
JetSetIlly
769331f5b8 bumped version to v0.34.0
added link to Current Status page on the wiki
2024-07-19 10:42:38 +01:00
JetSetIlly
f6833385eb clarified Makefile message
when make is called with no target a message is printed
instructing the user on how to build the release binary
2024-07-16 16:10:00 +01:00
JetSetIlly
a1c5f8f5bd bumped version to v0.34.0 pre-release 2024-07-06 23:05:59 +01:00
JetSetIlly
1e1c1cbe6f bumped version to v0.33.0 2024-07-06 22:14:10 +01:00
JetSetIlly
dc084bea7b added crunched package and implemented a simple RLE crunching interface
elf SRAM is crunched with this new package on Snapshot()

.gitigore updated with */testdata

added fuzz target to Makefile
2024-07-06 21:52:28 +01:00
JetSetIlly
672a7fd253 fixed the make profile_* targets
these were broken in b48d487 when the release ldflags were used for
profiling. the release flags strip symbol and DWARF data from the binary
meaning that pprof couldn't dig into the source code or disassembly
2024-06-23 20:53:50 +01:00
JetSetIlly
e02f5b9f94 bumped version to v0.33.0 pre-release 2024-06-11 21:17:56 +01:00
JetSetIlly
e2c89701a3 added vet target to Makefile
this runs 'go vet' but filtered through awk so we ignore noisy errors
that we're not interested in

fixed vet error caused by unreturned error type in input package
2024-05-29 11:47:33 +01:00
JetSetIlly
47c7c95fd7 bumped version to 'v0.32.0 pre-release' in Makefile 2024-05-05 20:19:52 +01:00
JetSetIlly
8313ea19b6 bumped version to v0.31.0 in Makefile 2024-05-05 17:01:53 +01:00
JetSetIlly
4cc32c4294 added statsviz patch
statsviz support is presented in the form of a patch file. this is so
that the requirements of the patch don't become part of the project
unecessarily

the statsviz package is only needed for emulator development and including
the additional packages in the BOM creates a false impression of the
requirements (IMO)

patch can be applied with:

   git apply --verbose 0001-statsviz.patch

Makefile has a "patch_file_integrity" target to test that patch files
can still be applied cleanly. ideal for calling from git pre-commit hook

patch was created with:

    git diff > 0001-statsviz.patch
2024-05-04 13:08:10 +01:00
JetSetIlly
c7e4423e9a bumped version to 'v0.31.0 pre-release' in Makefile 2024-04-18 19:21:18 +01:00
JetSetIlly
b557e570a5 bumped version to v0.30.0 in Makefile 2024-04-17 16:41:11 +01:00
JetSetIlly
ddccc67ce7 bumped version to 'v0.30.0 pre-release' in Makefile 2024-02-25 20:04:36 +00:00
JetSetIlly
e433281781 bumped version to v0.29.0 in Makefile
disable freetype font rendering for all targets
2024-02-25 19:04:58 +00:00
JetSetIlly
0525b6d4da bumped version to 'v0.29.0 pre-release' in Makefile 2024-01-10 18:49:44 +00:00
JetSetIlly
04f485b157 bumped version to v0.28.0 in Makefile 2024-01-10 18:39:55 +00:00
JetSetIlly
4937c4d866 bumped version to 'v0.28.0 pre-release' in Makefile 2023-11-27 17:58:42 +00:00
JetSetIlly
e2665e7957 bumped version to v0.27.0 in Makefile 2023-11-27 08:58:06 +00:00
JetSetIlly
5a4b01fd13 added rendering support for OpenGL2.1
all references to opengl are now made through the renderer interface.
which renderer is to be used is controlled by buildtags

now requires minimum go version of 1.21

CRT preferences and CRT preview in debugger TV window are disabled for
OpenGL2.1
2023-11-20 16:58:32 +00:00
JetSetIlly
89160e44a6 removed tidy as a dependency to generate in Makefile
goimports is not a part of the standard Go distribution
2023-11-09 07:36:06 +00:00
JetSetIlly
b48d487643 added version package
Makefile now sets the version string for the project. the version
package tries to set a meaningful version string if the project is not
built with the Makefile

added VERSION command
2023-11-08 22:05:41 +00:00
JetSetIlly
9b2359890c tidied up Makefile
updated .gitignore file to include .DS_Store folder. the current line to
ignore executable files has also been beefed up

corrected profile_cpu and profile_trace arguments - the elf argument is
not supported (or required) for PERFORMANCE mode
2023-11-08 19:04:03 +00:00
JetSetIlly
7de45d3d25 added -elf=none to all profiling invocation of the emulator in the Makefile 2023-09-13 20:14:28 +01:00
JetSetIlly
27df3bd5f5 improved caching of decoded Thumb2 (32bit and FPU) instructions
previously, the cached instructions still required a significant amount
of decoding. the new method captures the state of the decoding much
closer to the variable element of the instruction (eg. using what's in
the register etc.)

most of the benefit of the caching still comes from not having to reread
program memory every instruction but the new method does add a small
performance increase and arguably, more clarity to the code
2023-08-31 08:54:33 +01:00
JetSetIlly
b3c743d8df tiny efficiency improvement in ACE 2023-08-30 07:34:19 +01:00
JetSetIlly
894d491371 added 32bit Thumb instruction TST (register) 2023-06-24 22:16:07 +01:00
JetSetIlly
b968c534ab chaged signature of Tick() function for delay.Event type
the function no longer returns (uint8, bool) tuple. it instead expects a
function that can be called from the Tick() function itself, in the case
of "success"

this has significant performance improvements due to the frequency of
calls to delay.Event.Tick()
2023-02-19 21:22:22 +00:00
JetSetIlly
896e32a5a9 corrected -trimpath (although it doesn't seem to work with non .go files) 2023-02-16 07:47:08 +00:00
JetSetIlly
9cd7f15a16 added -trimpath to build flags in Makefile (go1.19 and higher) 2023-02-15 07:56:32 +00:00
JetSetIlly
fed7060736 more flexible shader pipeline / new screenshot method
screenshotting now uses exactly the same CRT sequence as the playmode. a
single file for each screenshot rather than a selection of images

results aren't exactly comparable but the new pipeline means it should
be easier to manipulate to get the results we want
2023-02-12 13:31:42 +00:00
JetSetIlly
abe3a0837f added a pgo file - performance profile of ARM using ROM
build and release targets in Makefile now use pgo
2023-02-12 13:23:40 +00:00
JetSetIlly
89f691f33e updated README
refined readme_spell target in Makefile
2022-10-30 13:24:13 +00:00
JetSetIlly
d3cd6c458b added cross_winconsole_development target to Makefile
this target build a console friendly version of the windows binary.
tagged with development indicator because we don't ever want to release
these as an actual version

removed some old and unused make targets
2022-10-29 16:21:38 +01:00