2024-10-04

Gopher2600 v0.35.0

Gopher2600 v0.35.0 is released. Gopher2600 is an emulator for the Atari 2600. Whilst the performance is not as efficient as some other emulators it is none-the-less suitable for playing games, on a reasonably modern computer, at the required 60fps. (The development machine for Gopher2600 has been an i3-3225, dating from around 2012.)

Gopher2600 changelog:
Bug Fixes
Rewinding of ELF binaries caused visual artefacts on screen
Changes to screen rendering prevented the VideoChess bot from starting
Bug introduced in v0.31.0
Added ELF to list of valid ROM extensions
A file with the .elf extension would not be shown by the ROM selector
Mouse wheel events could crash the emulator
This affected MacOS builds on machines where mouse-wheel style scrolling is done with a touch-pad
Replay button in tracker window could crash the emulator
Changes
TIA audio sampled every colour clock
This fixes problems with ROMs where the channel volume is update more than twice per scanline
Added option to enable warning for "undefined symbols" when loading ELF ROMs
It is possible to compile an ELF binary with undefined symbols. Rather than reject the file when it is loaded, I have chosen to allow the ROM to execute and to continue until the symbol is referenced (which may never happen)
The addition of the warning is in addition to this behaviour and gives the developer the option of being notified of symbol errors sooner
Added CARTRIDGE SETBANK command
It wasn't possible previously to set the current bank of a cartridge. I had originally chosen to avoid the problem because of the high variety of ways a mapper might implement banking (if at all)
The options to the SETBANK command vary depending on the specific mapper but generally, a mapper will expect a numeric value
Segmented mappers can take multiple numeric values. Separate values with a colon
In some instances, segments can be mapped to cartridge RAM. add an 'R' after the segment number to indicate the use of RAM. For example, the 3e mapper allows very flexible mapping of RAM
CARTRIDGE SETBANK 1R:2
Some segmented mappers only allow a predefined 'pattern' of segments. In these cases the numeric value to the SETBANK command will be a pattern number. The two mappers affected by this are Supercharger and Wickstead Design
Other Changes
Added ELF support for REL32 and PREL31 relocation
Improved DWARF support for typedefs
Better decision making over whether variables are in global scope
Prevent possibility of infinite recursion in DWARF builder

Download: Gopher2600 v0.35.0
Source:Here

0 Comments

Post a Comment