improved interference noise. using perlin noise rather than gold noise
shine/vignettes is smoothed out by small amout of perlin noise if
interference is not active
this means that a mapper only needs to implement the Patch() if it makes
sense
mappers that don't need it have had the Patch function removed.
implemented function for SCABS and UA
corrected error messages for atari mappers - some messages weren't
referencing the correct atari mapper and simply stated "atari"
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
removed modalflags package. modalflags was added very early in the
project. it's neater and simpler to implement command-line modes with
the standard flag package directly
improved log message for unsupported terminal type
remove rand.Seed(time) on startup. rand.Seed() is a deprecated function
better and more reliable masking - now more like the reference
implementation
more potential improvements to the reference implementation. not
currently enabled but can be activated by changing value of the
"improve" group of constants
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
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
previously the Write() function was used, which caused the state of the
bus to be changed. generally, this isn't an issue but it caused the
pinout window to change (misleadingly) if RAM was changed through the
RAM window
updating live information is expensive and we only do it after every
instruction normally. however, for the LAST command we need that
information to be current
fixed timecode display when movie is rewound to beginning of stream.
this also fixes the display artefact that was visible at the bottom of
the movie image when then movie is resumed (after the rewind to the
beginning)
very few cartridge mappers need to return an error but is necessary in
the case of the experimental cartridge shim. merging here because it's a
good change to have
previously, we've relied on the file extension to be set to MVC but this
is a poor solution because it means moviecarts with the .bin file
extension are missed
the decision whether to show cartridge menu is partly made on whether
the cartridge has a "RAM bus" available. atari cartridges (unlike other
cartridge type) always have a RAM bus but only some have a superchip.
the test for whether a cartridge has cartridge RAM has been made more
stringent