Releases: JetSetIlly/Gopher2600
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.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
v0.50.1
I made an error with the version numbering of this release. The version number in the window title bar will say v0.50.0 even though this is v0.50.01.
Rather than change the release I'll just note it here. It's not that important.
Changes since v0.50.0
- Bug fixes
- correct identification of ELF entry point
- failed if the entry point was outside the
.textsection- this fixes the new ELF version of
LodeRunner
v0.50.0
Changes since v0.41.0
- Controllers
- mouse input controls both paddles in a paddle pair
- this fixes Astroblast which only works with the second paddle
- automatic controller selection now considers meta-information in filename
- for example, if "(Paddle)" is part of the filename, paddles will be plugged into both ports
- joystick and gamepad emulation do not allow impossible positions
- ie. left/right and up/down are opposite positions and can't both be true
- fixes a bug in Astroblast that causes the ship to disappear if the left and right directions are held at the same time
- Improved Superchip (SARA) detection
- the previous method only worked with curated dumps
- the new method takes into account the real behaviour of a cartridge dumper
- fixes a common NTSC dump of Dig Dug
- AtariVox
- added subtitles option. disabled by default
- the translation is a very rough phonetic interpretation based on the instructions sent to the AtariVox
- corrected some phoneme translations
- improves output from Gorf (the Champ Games version)
- Bugs
- TIA and RIOT were incorrectly initialised (as of v0.41.0)
- versions prior to v0.40.0 were not affected
- P0/P1 difficulty switches were connected to the wrong bits in SWCHB
- in practice this meant that the function keys F4 and F5 seemed to be the wrong way around
- PAL60 was missing from setClockSpeed() (b4c40e7)
- this caused timing errors in some ARM games when PAL60 was selected
- Bots
- fixed VideoChess and SpaceJockey bots
- Regress
- regression tests are run concurrently where possible
- improved error messaging
- DWARF
- added DW_OP_bit_piece
- not fully supported yet but the presence of the operation was causing the "unsupported DWARF" warning to show
- added support for enum types
- ARM
- ELF
- added support for R_ARM_THM_MOVW_ABS_NC and R_ARM_THM_MOVT_ABS
- Debugger
- added clipboard support
- fixed savekey windows for atarivox
- corrected i2c activity information
This version also contains an significantly upgraded GUI library (a version jump for DearImgui from v1.85 to 1.91.9b). It has been tested but there may be bugs remaining in the lesser used corners of the interface.