0.0.95
(entries marked with (*) are present in version 0.0.95 but were missing in the HISTORY file released with version 0.0.95)
Bugfixes:
-
gbsplay:
- fix octaves in note display during playback
- fix segfaults on status display for files other than .gbs
- don't set up the terminal if stdout is redirected
- fix duplicate handling of keystrokes
- dsound plugout:
- fix buffer handling (fixes choppy and too fast playback)
- MIDI plugouts:
- fix notes getting out of sync from accumulated rounding errors
- fix 'sound off' (NR52) to affect all channels instead of channel 2 only
- fix octaves of exported notes (not perfect since wave data on channel 3
could contain repetitions resulting in higher octaves)
- stdout plugout:
- fix newline conversion of binary data on MINGW
-
gbs core:
- fix envelope volume in channel retrigger
- fix off-by-one error in
gbhw_io_peek
(fixes verbose WAVE display) - fix sign extension bug in byte swapping (fixes endian change via
-E
) - fix small memory leak from impulse buffer
- fix missing sound with ROMs using ugetab's VBlank timing
- fix hex dump endianess in debug output
- fix possible duplicate
free()
on zlib compressed data - always use 64 bits for cycle counter (fixes overflow issues on MINGW32)
- free ROM buffer on exit
-
libgbs:
- install
libgbs.h
alongside the shared library to make it usable
- install
-
build process:
- don't run
depend.sh
beforeconfig.mk
is included - only enable i18n if it really works
- only build with
-fstack-*
protections if they really work - fix Windows builds on MSYS2, MINGW32 and MINGW64
- fix library path detection on macOS
- fix SDL2 detection
- (*) fix dist target in Makefile
- don't run
-
documentation:
- fix typos in manpage
Removals:
-
gbsplay:
- remove unmaintained splint annotations
- remove regparm optimizations
- remove
usleep()
usage, usenanosleep()
instead (it's more POSIX)
-
gbsxmms:
- finally remove XMMS plugin sourcecode that has been declared broken in 2008
Enhancements:
-
gbsplay:
- add SDL2 plugout
- remove unneeded dsound3d dependency from dsound plugin
- add WAV writer plugout
- add VGM writer plugout
- support channel mute in MIDI output plugins
- suppress unneeded endian changes between player routine and audio plugouts
- allow repetition of single subsongs (
gbsplay -L
) - loop mode can be changed interactively (use the
l
key) - display pause status when playback is paused
- display
99:99
as remaining time when no subsong timeout is set - enforce minimum subsong timeout when playing actual ROMS (otherwise gbsplay might quit before the bootrom beep is played)
- (*) implement our own rand() function to keep shuffle tests stable on MSYS
-
gbs core:
- transparent decompression of gzip-compressed files
- basic VGM file playback support
- implement DIV register emulation
- add example ROM source using SDCC (see
examples/sdcc
) - increase impulse data resolution
- support different cartridge types like MBC1 and MBC3 in ROM mapper
- don't limit rombank range in the gbs mapper
- remove home-grown extended header support for GBS files
- add support for dumped ROMs (no controls, first song only)
-
libgbs:
- clean up libgbs (still ongoing, so no 1.0.0 yet)
- support reentrancy to render multiple files simultaneously (test cases to prove this is working are still missing)
- generate pkg-config configuration
- install API documentation (needs doxygen)
-
xgbsplay:
- add simple X11 frontend (
configure --with-xgbsplay
) - and replace it by a better looking xcb/cairo frontend (dig through the sources before commit 840f894 to get the initial simple X11 frontend v1)
- add simple X11 frontend (
-
gbs2gb:
- experimental tool to convert
.gbs
files to.gb
ROMs
- experimental tool to convert
-
build process:
- depend on bash 3.x for
configure
script - add automated build pipelines for Linux, macOS and Windows (MSYS2, MINGW32, MINGW64 and CygWin)
- test for successful builds
- test plugout configuration
- test some
configure
options - test
install
anduninstall
targets - calculate code coverage
- use
command -v
instead of homegrownwhich
replacement - add tests to catch regressions in file writer plugouts
- add verbose build mode (
configure --build-verbose
)
- depend on bash 3.x for
-
documentation:
- the mailing list is gone, please contact us on GitHub
- update
INSTALL.md
instructions and information - convert
README
andINSTALL
to Markdown format - add shiny build status badges to
README.md