0.0.94
Bugfixes:
-
gbsplay:
- cpu emulation fixes:
- RLCA/RLA/RRCA/RRA did not set ZF
- fix botched SBC zero flag handling
- fix slight bug in ADC/SBC
- fix INC/DEC SP, CP A and half-carry flag in DEC
- fix PUSH/POP AF
- fix cycle timing for conditional branches
- fix cycle timing for LD HLSP/LD SPHL and 16bit ALU ops
- halt with global interrupt flag disabled can still be interrupted
- fix error on midi plugout where a write to the file could occur
before the file was opened - fix garbled screen on exit in verbose mode (gbsplay -v)
- fix status display: respect channel in left/right total volume
- fix impulse generator: generate a header file at compile-time
- restore mute settings after every apu_reset
- cpu emulation fixes:
-
build process:
- fix test target during parallel builds (make -j)
- support building with MSYS2
- fix ShellCheck warnings
Removals:
- ditz bug tracker issues removed, use the issue tracker on the github
project page instead: https://github.com/mmitch/gbsplay/issues
Enhancements:
-
gbsplay:
- more accurate sound and other HW emulation:
- calculate LFSR correctly
- play first nibble on DAC-channel from fresh buffer
- correct noise channel speed
- use more DMG-like DC-offsets
- more accurate cpu cycle accounting
- remove DC offset from DAC-channel
- more accurate channel gating
- support read-back of timer registers and NR52
- fix length counter and trigger logic
- improved sequencer correctness
- volume envelope is only clocked when channel is running
- support reading the scanline counter
- show text written to link port (only if text detected, for test roms)
- show register contents in verbose mode (gbsplay -v)
- add basic GBR file support
- basic support for plain GB roms
- support ugetab int vector extension (gbs spec 1.04u)
- add 'iodumper' plugout for testing
- add support for blargg-gb-tests debug output
- midi exporter:
- track DAC and running status for channel 1-3
- fix channel trigger handling
- call note_off/note_on when volume changes between zero/non-zero
- export portamenti as separate notes
- honor APU reset (stop all notes)
- end pending notes when closing track
- emit pan control messages
- new alternative midi exporter
- enable new gcc compiler warnings
- clarified GPL version as "GPL v1 or later"
- more accurate sound and other HW emulation:
-
build process:
- add V=1 make option for verbose compiling ("make V=1")
- add gbsplay mime entry to install step and run update-mime-database
- add gbsplay.desktop file in install step
Documentation:
- describe plugouts in manpage
- updated contact info
- adhere to the common manpage styleguide, see
- man-pages(7)
- https://liw.fi/manpages/