Skip to content

Releases: JetSetIlly/Gopher2600

v0.19.1

25 Aug 20:52
Compare
Choose a tag to compare

Changes from v0.19.0

  • Makefile
  • Apple Macs with an ARM chip will no longer use freetype font rendering
    when built with the build or release targets
  • see issue #19
  • Display
  • changed relationship between the frame rate limiter and monitor
    synchronisation. this may result in a performance improvement on some systems
  • uncapped FPS no longer uses input buffer. this resulted in choppy visuals
  • fixed visual bug seen when switching from playmode to the debugger when
    one or the other mode had a "maximised" window
  • TIA
  • missile sprites were not plumbed to player correctly after gameplay
    rewinding. this affected missiles that rely on RESMPx for positioning
  • Rewind
  • joystick and gamepad controllers resume from a neutral position after
    gameplay rewind
  • ARM Developer
  • statistics more carefully collated during rewinding to avoid spikes in
    the data
  • CRT effect
  • added rounded corners option

As of this version I will no longer be compressing the linux/amd64 version with UPX

v0.19.0

30 May 18:21
Compare
Choose a tag to compare

Changes from v0.18.0

  • small performance improvements
  • uncapped frame rate increase
    • 16% to 18% (6507 only ROMs)
    • 13% to 16% (a typical ARM ROM)
  • change of WAV implementation
  • this affects the loading of Supercharger tapes
  • and the recording of audio to disk
  • neither should be noticeable changes

v0.18.0

21 May 14:52
Compare
Choose a tag to compare

Changes from v0.17.0

  • ARM Developer
  • debugging window added for global variable inspection
  • collision detection of ARM stack with program variables
  • static areas window improved
    • clearer indication of memory addresses
    • labeling of named variables in memory
  • performance window improved
    • raw ARM cycle values in addition to percentile values
    • kernel focus (VBLANK, Visible Screen, Overscan)
    • performance relative to frame
  • access of address 0x00 is treated as illegal (probably null dereference)
  • visualisation of CDF streams
  • VCS RAM and Cartridge RAM Window
  • indicates labeling of addresses (using ASM symbol file)
  • illustration of 6507 stack usage
  • Peripherals
  • choice of attached peripheral can be overriden on startup
  • TIA bug fixes
  • corrected missile reset to player position for double-width player
  • Savekey/Atarivox
  • EEPROM window (savekey data) works correctly for AtariVox
  • Debugger
  • BREAK NONEXE to halt execution on 6507 execution if PC address is not in the Cartridge or RAM areas
  • Debugger GUI
  • better window management in the debugger
  • window state (open/close) saved between sessions
  • Playmode GUI
  • non-integer scaling reintroduced - improved scaling method to avoid uneven scanlines
  • bugfix (Windows and MacOS)
    • window repainted during window resizing meaning better visual feedback for the user
  • audio can be muted (could already be muted in the debugger)
  • state of FPS overlay will carried over between sessions
  • "active" pause screen readded as an option (in the prefs window)

v0.17.0

07 Apr 08:51
Compare
Choose a tag to compare

Changes from v0.16.0

  • ARM Developer
  • requirement for .obj and .map files replaced with DWARF data
  • performance and source windows improved
  • ARM
  • improved accuracy of T1TC timer
  • cycle counting corrected (by one color clock) on CALLFN exit
  • clock speed definable
  • AtariVox
  • added support for AtariVox
  • currently only supports Festival for voice synthesis
  • missing some AtariVox sounds and effects
  • 6507
  • all 256 opcodes implemented
  • SaveKey
  • removed (small) performance bottleneck
  • PlusROM
  • update network headers to emulate firmware >= v2.1.1
  • GUI
  • default Dear Imgui font replaced with JetBrainsMono
  • font size definable
  • Documentation

v0.16.0

29 Jan 21:42
Compare
Choose a tag to compare

Changes from v0.15.0

ARM

  • added support for obj and map files for ARM based ROM projects
  • added source code, performance and illegal access window. for ROMs
    where obj and map files are available
  • fixed: crash was possible if cart was changed from ARM to non-ARM when
    coprocessor disasm window was open - a race condition with the "lazy
    data" system

6507

  • zero-page indexed addressing causes phantom read correctly
    • this corrects the read values of the TIA registers (collision
      registers etc) when read with a zero-paged indexed instruction
    • other addressing modes already caused correct phantom reads

RIOT

  • port B is now writable from the CPU

Debugger GUI

  • ports window replaces chip registers window
  • timer window improved. fixed bug in ticks remaining display and added
    TIMINT field
  • disassembly window improvements
  • peripherals window replaces controllers window
  • 6507 Pinout window showing the state of the address and data bus on
    any given color clock

Television

  • audio will always play regardless of frame stability
    • an extra condition testing for stability on startup meant that
      some ROMs never outputted sound if they never reached stability.
      this rarely matters but it affected the tunabit demo ROM in
      particular
  • added 'Sync On Power' CRT option
    • this will cause the screen to roll on startup

RIOT/Peripherals

  • VBLANK latch bit applies only to INPT4 and INPT5
  • added support for Genesis controllers
  • automatic detection of controllers (using Stella fingerprints)

Cartridge Formats

  • added support for EF (with or without superchip)
  • cartridges with superchip now respond correctly to phantom memory
    accesses (causing phantom writes in some cases)
  • tigervision (3F) now uses the correct method of switching banks
  • missing Supercharger BIOS handled gracefully

Bots (WIP)

  • added rudimentrary support for bots capable of playing ROMs
    independently. still a WIP but example bots for spacejockey and video
    chess have been implemented

ROM Comparisons (WIP)

  • two ROMs can now be run in parallel and the output compared and
    differences highlighted. very specialist use and probably not of much
    interest

Removals

  • linter. existing version was unused and underdeveloped. will
    reimplement in the future

v0.15.0

22 Nov 22:57
Compare
Choose a tag to compare

= Changes from v0.14.1 =

switch between playmode and debugger
- using the ` key (immediately below the escape key)

ROM selector
- shows emulated/animated thumbnail for all ROMs

television
- better screen roll
- black level adjustment
- RF interference effect

audio
- new sound engine based on the work of Chris Bremmer
- more reliable buffering of audio. better tolerance of small frame drops
- audio tracker and piano keys window (Tools menu in the debugger and F9
hotkey in playmode)

debugger
- timeline window
- much faster rewind system. in particular, moving the emulation by
clicking on debugging screen is a lot more fluid

playmode
- rewind in playmode
- using mouse wheel or shift-arrow-keys
- playmode will drop to debugger on breakpoint, trap or watch (condition previously set in debugger)

temporarily removed
- gameplay recording and playback
- active pause screen

v0.14.1

30 Sep 15:51
Compare
Choose a tag to compare

= Changes from v0.14.0 =

Support for right-side player joystick

v0.14

16 Sep 16:51
Compare
Choose a tag to compare

= Changes from v0.13 =

Performance
- General performance improvements
- Using the development platform as a reference, uncapped
performance is approximately 10% higher

Television
- Fixed playfield smoothscrolling. VSYNC count not being reset
correctly. (Bug introduced during a refactor between v0.12 and v0.13)

Supercharger
- Better WAV/MP3 decoding.

Moviecart
- Updated to new core.bin of parent project

Playmode
- Notification icons for cartridge event
- Cassette icon for Supercharge audio files
- Network icon for PlusROM network activity
- Savekey inserted notification icon

Audio
- Stereo mixing with stereo separation option
- More accurate volume mixing for mono signal

Preferences
- All preference options are in a single window
- Categorised by tabs
- Hotkey for the preferences window in playmode is F10

v0.13

25 Jul 21:48
Compare
Choose a tag to compare

= Changes from v0.12.1 =

ARM7
- Counting of PC access no longer assumed to be in Flash or MAM. Can be in SRAM too
- Counting of data access no longer assumed to be in SRAM
- MAM estimation improved
- ARM7 disassembly window shows cycle profile
- "Immediate Mode" option added (mimicking Stella's mode of operation)
- "Abort on Illegal Memory Access" option. Ends ARM program prematurely. Will log illegal access in all instances.

ARM7 corrections
- bug in LDMIA if base register was part of the load
- format 15 CMP instruction did not set status flags correctly

ARM7 model selectable
- Models supported: LCP2000, STM32F407VGT6
- Memory map only. Other performance characteristics might be different
- Work in progress: change through config file

Debugger/Disassembler
- Disassembly path detection improved
- Corrected use of read symbols used in disassembly. Write symbols were
used in error in some situations.

MNetwork (E7) fingerprinting accuracy

TV
- CRT ghosting now only applied horizontally
- settings for ghosting in CRT preferences
- Frame size detection less aggressive
- Screen roll sensitivity preference

Multiple gamepads/sticks supported
- All control player zero currently
- Other players will be supported once a suitable mechanism for
allocating controllers has been settled on

TIA/RIOT corrections
- playfield region now longer relatches if PF0/PF1/PF2 is updated
- refined RESPx under HMOVE (TIA revision dependent)
- RIOT timer boundaries

Playmode is pausable

Debugging screen break menu fixed

v0.12.1

18 Jun 22:28
Compare
Choose a tag to compare

= Changes from v0.12 =

ARM improvements
- MAM now differentiates between mode 1 and 2
- Set according to cartridge mapper (ie. DPC+ or CDF*)
- ARM related preferences changed to reflect new MAM emulation
- Counting of conditional branches corrected
- Disassembly shows unstretched cycle counts (rather than stretched)

TV will now longer resize if the frame is unsynced