Skip to content

Releases: JetSetIlly/Gopher2600

v0.31.0

05 May 16:36
Compare
Choose a tag to compare

Changes from v0.30.1

  • Television
  • Added colour controls
  • Improvements
  • Logging is less noisy
  • Less memory churn from ARM emulation
  • Bug fixes
  • ROM selection works again on Windows
    • bug introduced in v0.30.0
  • Fixed loading of ELF and ACE wrapped ELF files
  • Frame Queue Length initialised correctly on first use

The last bug fix is a very important fix. Previous to this version, the frame queue was initialised to be zero length on first use. Unless the user had changed this in the preferences window (unlikely) then the display would likely be very choppy. This would create a very bad impression of the emulator.

If you've been disappointed in Gopher2600 in the past, then this version may very well improve your experience.

v0.30.1

29 Apr 17:49
Compare
Choose a tag to compare

Changes from v0.30.0

Improvements / Fixes

  • ROM selection window could stall the GUI if there were a large number of files in the directory. Directory reading is now asynchronous and solves the problem
  • Rewinding could cause the TV screen to resize with some ROMs. The size would always settle correctly but the one or two frames of incorrect size was visually jarring and unnecessary. Fixed

v0.30.0

17 Apr 16:44
Compare
Choose a tag to compare

Changes from v0.29.1

  • ZIP file support
  • ROM Selection window can navigate into zip files
  • ARM Additions
  • Profiling can now be viewed as 'cycles / call'
    • this shows the relative performance of a single call to the program's function
  • Distinguishes between memory alignment requirements for different ARM architectures
    • ARMv4 doesn't allow misalignment at all and will access an aligned address instead
    • ARMv7 does allow misalignment depending on the instruction
    • recent versions of Gopher2600 incorrectly assumed a ARMv7 architecture, which leads to incorrect Harmony emulation
  • Misaligned memory accesses optionally treated as memory faults
    • when enabled misalignment is reported in the memory faults window
    • and will cause execution to abort if Abort of Memory Fault option is enabled
  • Strobing of local variables in local variables window
  • Added COPROC MEM DUMP
    • also accessible through context menu in static memory window
  • ARM Corrections / Bug Fixes
  • Static memory window performance improvement
  • ASR disassembly corrected
  • COPROC ID corrected
  • 32bit EOR (register) instruction
  • Allocation of instruction to source lines uses EndSequence flag in DWARF line entry
    • this improves startup time and removes trailing instructions from functions
  • Disassembly of 32bit instructions
    • instructions following a 32bit instruction had the wrong address
  • More accurate identification of VCS "kernel" in which ARM code is being executed
  • Other Bug fixes
  • Fixed supercharger mutliloading for 'fastload' binaries
  • PlusROM network transmission
  • Corrected reflection of HMOVE information
    • a new HMOVE would be noted in the reflection overlay but it would never be cleared
  • Other Changes
  • Notification icons and FPS window
    • ARM developer icon moved to the FPS overlay
    • FPS window now shows multiple icons if required
  • Mouse wheel works for rewinding in the debugger
    • moves in 10 frame increments. hold shift-key for single frame increments

NOTE: Compilation of Gopher2600 from source now requires Go v1.22.0 or above

v0.29.1

13 Mar 15:19
Compare
Choose a tag to compare

Cycle alignment for JSR instruction was broken as of v0.27.0. This release fixes that.

The only known side-effect of the bug was a ball positioning bug in the Worm Whomper demo (by Manuel Rotschkar)

v0.29.0

25 Feb 19:44
Compare
Choose a tag to compare

Changes from v0.28.0

  • GUI
  • Television
  • PAL-M now generates NTSC colours rather than PAL
  • Better framing of image
  • Other
  • Emulator responds to HUP signal by reloading the current cartridge
  • CoProcessor (ARM) Registers window now works with CDFJ and DPC+
  • Global and Local variables can now be filtered
  • Freetype rendering is no longer used in the default builds
  • Bug fixes
  • Misbehaving ARM programs could cause a crash by accessing memory addresses that aren't represented in the emulation
  • Requesting multiple composite screenshotting could cause deadlocks
    • If screen size changed between requests then the compositing process deadlocked
  • Paddle movement with the stelladaptor was inverted
    • Bug introduced in v0.28.0
  • CPU in KIL state did not tick the TIA and RIOT
  • Moviecart
    • ROM would crash if moviecart volume control was increased to the maximum
    • Brightness control moved in incorrect increments
    • OSD display was affected by brightness level

v0.28.0

10 Jan 18:48
Compare
Choose a tag to compare

Changes from v0.27.0

  • Paddles
  • User input handled more frequently meaning finer paddle control
  • Moviecart
  • Improved behaviour of video/audio when the movie is rewound to the start/end of the video
    • this reflects recent changes in the real Moviecart kernel
  • Automatic setting of TV specification now works
    • Format of movie cannot be detected until after movie starts
  • Television
  • Setting the TV mode also changes the underlying clock speed of the console
    • PAL and SECAM run at different speeds to NTSC machines
  • Added PAM-M
    • this sets the clock of the machine to PAL-M but attached to a PAL TV
  • Bug fixes
  • Stepping back in the debugger
    • bugs introduced in v0.26.0
    • stepping back by one instruction was out by one colour clock
    • STEP BACK SCANLINE and STEP BACK FRAME was broken
  • Improved detection of correct starting bank for Atari cartridges
    • also affects EF cartridge
    • the technique can be expanded to other mappers if required
  • Rewind/Fast-Forward icon never appeared on screen
    • bug introduced in v0.25.0
  • ARM TIM1 enabling was not working
    • the enable bit was not being masked correctly
  • Capturing of emulation state (for the rewind system) was sometimes missed in playmode

v0.27.0

27 Nov 09:01
Compare
Choose a tag to compare

Changes from v0.26.2b

  • Versioning
  • Window title shows the current version number
  • executing from the command line with "version" will display the version number
    • the -v flag outputs the git revision
    • eg gopher2600 version -v
  • VERSION command available in the debugger terminal
  • Bankswitching
  • Implemented UA mapping scheme
  • CRT Effects
  • Improved bevel effect
  • Improved noise implementation, which is now part of the interference effect
  • Added flicker effect
  • Debugger
  • LAST command correctly shows partial disassembly when running in CLOCK quantum
  • Added CYCLE quantum
  • 6507 Disassembly
  • Improved disassembly when decoding previously unseen instructions
  • Renderer
  • Added simplified renderer targeting OpenGL2.1
  • Executable must be compiled to use this alternative renderer
  • New renderer does not support CRT effects or screenshots
  • Principle reason for addition is to support the Raspberry Pi
  • Bug fixes
  • Fixed crashes caused when the program window was resized so that it was too small
    • this only affected some debugging windows (eg. the disassembly window)

v0.26.2b

04 Nov 09:47
Compare
Choose a tag to compare

Changes from v0.26.1

  • MovieCart
  • Timecode rendered correctly when movie is rewound to beginning
    • This also removes visual artefacts visible at the bottom of the movie image
  • Controls now match the reference implementation

v0.26.1

21 Oct 19:04
Compare
Choose a tag to compare

Changes from v0.26.0

  • MovieCart
  • Timecode is now visible in the OSD
  • Correct screen masking
  • MovieCart files are now fingerprinted - no more need for the file
    extension to be set to .MVC

v0.26.0

07 Oct 15:21
Compare
Choose a tag to compare

Changes from v0.25.0

  • MovieCart
  • Added support for new MovieCart format
  • TV
  • SECAM support
  • TV rotation. Manual and automatic
    • Only Moviecart makes use of automatic rotation currently
  • ELF
  • StrongARM ROMs use the correct color table for the current television
  • ARM debugging
  • Corrected DWARF CALLERS
  • ARM disassembly shows function in tooltip
  • Other
  • SDL version logged on startup
  • VideoChess bot can now work with levels 2-8 as well as level 1