NSF Player for Gameboy Color ver2 GB

From GameBrew
NSF Player for Gameboy Color ver.2
Nsfplayergbctwo.png
General
AuthorLeaf
TypeMusic Apps
Version2009
LicenseMixed
SystemCGB
Last Updated2009/07/13
Links
Download
Website
Source

NSF Player for Gameboy Color ver.2 (GBNSF ver.2) is an upgraded version of NSF Player for Gameboy Color. There has been significant optimization in aspects related to speed, and an experimental stereo function has been introduced as well.

User guide

Requires .NET Framework 3.5 or higher.

The usage remains the same as the previous version: simply drag & drop the .nsf file into the conversion program. After the conversion is complete, an output file with the .gbc extension will be generated. This file can be run on a Gameboy emulator or a real Gameboy device.

Alternatively, you can also perform the conversion from the command line.

Controls

Left/Right - Previous/Next track

B+Left/Right - Enable stereo for Ch.1 and Ch.2

Screenshots

nsfplayergbctwo2.png

nsfplayergbctwo3.png

Known issues

Due to changes in the memory interface, certain NSFs that use VRC6/7, Namco106, and other expansion sound sources may encounter problems. Some NSFs experience crashes even when they don't use the expansion sound sources, due to unexpected ROM area writing.

Changelog

20090713

  • Improved the performance of 8 CPU B** series branch instructions, bit instructions, and LSR instructions. Register preservation at the 256-byte boundary has been optimized.
  • Fixed the behavior of the APU triangle wave channel's linear counter. When the linear counter is set to 0, bit 7 (length counter enable/disable) now immediately mutes the channel. This resolves issues with controlling the channel's length, and most length-related problems are now resolved.
  • Corrected the envelope processing that caused minor noise in the previous update. However, there is still an issue with the envelope processing itself. When the key-on operation occurs multiple times, it leads to multiple envelopes overlapping, causing prominent issues, especially in games like Super Mario's game over music.
  • Completely resolving the envelope issue would involve using a software envelope, but this leads to a large amount of noise in the GB. The issue has been addressed in the '88 version.

20090604

  • Fixed a bug where the noise channel's volume-holding register was being overwritten unintentionally due to bank switching.
  • Corrected the issue with the NES hardware envelope loop not functioning correctly. Vibrato-like effects are now working properly. However, since this feature is not present in the GB hardware, it has been emulated in software. Depending on the song, this may result in a significant amount of noise.

20090526

  • Slightly improved CPU emulator speed. Each of the 21 instructions now takes 28 clock cycles.
  • Reconstructed about 80% of the APU simulator. Attempted to increase accuracy, but it's honestly a bit ambiguous. Definitely became heavier.
  • Changed the execution method from alternating between CPU and APU to reflecting changes in the sound registers immediately upon writing. The frame sequencer (the mechanism that counts the length of sound) still works at the vblank timing as before.
  • Made various corrections and eliminated unnecessary parts based on references from NEZPLUG.

Changes from ver. 1

  • The source code was organized, and CPU-related code was consolidated, resulting in a somewhat cleaner nsf80.z80 file.
  • The memory interface was rewritten. Details are summarized below. The overall speed was improved by a few percent.
  • Envelope parameters were reevaluated to ensure that the decay time of NES and GB envelopes approximates each other.
  • The sweep function was implemented using software emulation. While there are some differences between ch.1 and ch.2, it should sound almost seamless.
  • In addition to song titles, composer information is now displayed.
  • Stereo functionality was added. When selecting a song, pressing the B button will enable stereo for ch.1 and ch.2.
  • 12.03 silent update. Slightly improved speed of bankless version NSF (almost negligible level).

External links

Advertising: