News > Show Only
Gopher2600 v0.35.0
Zykon, 06:28, 05-10-2024
The Atari 2600 emulator is written in Go
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) - 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) - 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