Releases: JetSetIlly/Gopher2600
Release list
nightly
Occasional nightly builds of Gopher2600
The nightly tag and release are used only for binary distribution.
They are mutable and must NOT be used as Go module versions.
For Go module usage, use tagged releases with semantic version number
v0.56.1
v0.56.0
Changes since v0.55.0
- Display
- more even scaling of screen. particularly noticeable in "Pixel Perfect" mode
- better handling of flicker kernels when monitor is faster than emulated TV
- synchronise with monitor option
- not useful unless monitor runs close to speed of emulated TV
- Debugger
- improved cursor dragging in TV window
- improved magnification window
- shows cursor information and can be used to position emulation just like the main TV window
- peripherals window now includes a basic peripheral visualisation
- only supports stick and gamepad currently
- Devcard
- added Atari 7800 devcard support
- this cartridge could be used to develop 2600 games with banks larger than 4k
- some 2600 prototypes exist that expect the 7800 architecture
- Tracker
- improved tracking of audio register changes
- experimental saving of tracker history to JSON file
- Disassembly
- auto-labels no longer clobber DASM symbols
- corrected disassembly of moviecart core program
- the way the moviecart implementation shared the binary information with the disassembly pacakge was incorrect
- Coprocessor Developer Tools
- global variables can now be added to a hotlist
- useful if the there are a lot of global variables and you only want to focus on some
- hotlist automatically saved and loaded on following sessions
- fixed lobal variable strobing
- Bugfixes
- CDFJ+ audio register was not serviced properly
- no current games affected
- breakpoints with multiple conditions are only skipped if all conditions are unchanged
- this fixes a bug which caused PC breakpoints on specific banks to be ignored if the bank had not changed
- the bug would have been seen when setting a breakpoint through the disasm window on a multibank cart
- timeline window no longer causes crash when emulation has been rewound past the limits of the timeline window
- Apple Silicon Support
- thanks to @dionoid for adding a build action for MacOS on Apple Silicon
v0.55.0
Changes since v0.54.0
- Debugger
- improved debug colours
- differentiation of playfield register and sprite copies
- more information about playfield/missile/player in TV screen tooltips
- Supercharger
- short delay before rewinding
- better MP3 decoding
- some MP3 files failed to load
- files from the "Worship the Woograin" and "Supercharger 99" collections now work
- "Stella Gets a New Brain" already worked
- Disassembly
- dasm symbols for RIOT and TIA addresses are ignored
- symbols for RIOT/TIA are defined by the emulator even when there is no .sym file
- Bug fixes
- reset of ARM cartridge could panic if emulation was running
- disassembly of some cartridge types could panic
- position reset during HBLANK and scancounter activity was off by one colour clock
- not as common a situation as you might imagine
v0.54.0
Changes since v0.53.1
- Supercharger
- improved handling of AR binary files
- full blog article with more details
- added ROM dump ability
- this can be used to save an AR binary file of supercharger game loaded from tape
- Controllers
- fixed handling of digital joysticks
- tested with Hyperkin Trooper 2
- SARA
- SARA chip limitation when used for executable code is now emulated correctly
- option to enable this in the new
Cartridgetab in the preferences window
- Headless mode
- emulator can now be invoked with the
headlessargument
- eg.
gopher2600 headless roms/Pitfall.bin- the intention of this mode is to allow the piping of input and output to other programs
- for example, coding agents can use this mode to retrieve real diagnostic information about generated code
- this is an ongoing area of research and will be expanded upon in future releases
- Debugger
- added 'sequential' disassembly view in disassembly window
- savekey EEPROM window
- EEPROM data divided into pages
- "Jump to Scratch" button
- option to show only pages that have been touched by ROM
- BREAK command now has TOGGLE option and DROP option
- BREAK DROP complements the DROP BREAK function but allows use of address rather than breakpoint number
- added VSYNC option to TV command
- added MAPPED halt target. similar to but distinct from BANK target
- Preferences Window
- cartridge related options in new
CartridgetabUItab changed toFonts- changed colour of "set default" buttons
- this is so that the set default buttons in the
Cartridgetab are more clearly defined
- Macros
- WAIT command can use relative or absolute values
- added FRAMEINFO command
- Keyportari
- corrected escape key and left/right keys for keyportari ASCII (dchristianson)
- improved handling of plugging and unplugging daisy-chained peripherals
- Bug Fixes
- CRT 'black correction' calculation fixed
- reset of emulation now works correctly if emulation is mid-instruction
- RESET command is now called RELOAD
- the RIOT ports are now correctly set on RELOAD
- captured mouse in debugger is released when emulation is halted by, for example, a breakpoint
- corrected spacing and clipping of the ROM selector preview animation
- inserted paddles now set INPT4 and INPT5 correctly
- ROMs added to the regression database can now contain commas
- Sundry Changes
- references to CPU instruction KIL changed to JAM
- undocumented CPU mnemonics changes so that match those used in the "No More Secrets" document
--initscriptcommand line argument changed to--script- imrpoved
EFfingerpriting- implemented vcsNop3() for ELF
plus lots of other changes not visible to the end user :-)
v0.53.1
Changes since v0.53.0
- Bug Fix
- Keyportari ASCII protocol now uses 13 for Return key
v0.53.0
Changes since v0.52.1
- ELF
- implemented vcsPha3(), vcsRead6() and vcsNop3()
- added non-volatile memory
- Keyportari
- implemented 24char and ASCII protocols
- set with
-keyportaricommand-line option- or in the peripherals window of the debugger
- uses system language settings for keyboard layout
- TIA
- hardware collisions only take place during non-VBLANK period
- Bug Fixes
- -left and -right options reapplied on cartridge reload
- reloading the cartridge too often could cause the emulator to hang
v0.52.1
A third release in as many days! Something is afoot!
Changes since v0.52.0
This version is a pure bug-fix for the DPC+ emulation. Previously, the initial state of the DPC+ registers were randomised regardless of the random state setting. This caused problems with ROMs that relied on the registers being initialised to zero.
This fixes the occasionally disappearing chef on the title screen of Chaotic Grill.
v0.52.0
This release comes very quickly after the release of v0.51.0. It should perhaps be a patch release but the DPCp change is significant enough to warrant a minor number increase. If you've not seen v0.51.0 make sure to look at the change-log for that version too.
Changes since v0.51.0
- DPCp
- DPC+ ROMs compiled for PlusROM/UnoCart will be emulated directly rather than through ACE emulation
- in other words, Gopher2600 will play DPC+ ROMs whether they are compiled for Harmony or PlusCart
- 50Hz PAL (bug fix)
- ROMs running at 50Hz (PAL) run at 50fps, rather than 60fps
- the bug was introduced in v0.51.0
- Debugger
- disassembly window for ELF and ACE ROMs works better whn rewinding
- this also applies to other ROM types when sequential disassembly is selected
v0.51.0
Changes since v0.50.1
- ELF / PXE
- ELF files identified as PXE as appropriate
- added PXE variables and colour window
- disassembly window shows "sequential" disassembly rather than the normal bank-based disassembly, which is meaningless for streaming type cartridges (ELF and ACE)
- added vcsWrite4() strongarm function
- 6507
- SP initialised correctly
- corrected decimal mode operation
- now passes all klas2m5 tests
- fixed implementation of ARR (undocumented instruction)
- corrects result of test binary in https://forums.atariage.com/topic/385516-fingerprinting-6502-processors
- added https://github.com/SingleStepTests/65x02 tests
- all undocumentated instructions correctly implemented. although the "internal parameter" of the XAA and LAX instructions are currently different to what the tests expect
- Additional Features
- use the
-videocommand line option to record video and audio
- requires separate installation of
ffmpegandffprobe- support for the
portable.txtfile
- when a file of that name is present, the emulator's configuration directory will be named
Gopher2600_UserDataand in the same location as the emulator binary.- see #44 for initial request
- Other Bug Fixes and Other Changes
- atarivox subtitler will not be muted. ie. the subtitles will show even when sound is not audible
- corrected UV calculation for YUV conversion (PAL palettes)
- paddles automatically inserted when mouse is captured (right mouse button in play window)
- changed
-elfoption to-dwarf
- elf has different connotations in the context of the Atari2600 since the option was first added. besides, dwarf more clearly indicates that it is debugging data that is being specified by the option
- F12 screenshotting now excludes FPS information and other status icons
Also available for the first time is a MacOS build. Unlike the Linux and Windows builds, the MacOS build is created by a Github action (see here) prepared by @dionoid