Skip to content

Releases: Clownacy/Sonic-2-Clone-Driver-v2

v2.8.0.1

02 Jul 22:09
Compare
Choose a tag to compare

Fixed broken Settings.asm files for Sonic 1 and Sonic 2

v2.8

02 Jul 15:29
Compare
Choose a tag to compare

I guess I was wrong about v2.7+ being the final release.

Changes:

  • Added FM volume attenuation clamping, to prevent overflow (this bug would cause Sonic 2's final boss music to have an extremely loud instrument while fading-in after a 1-UP jingle finishes playing)
  • Inconsistent DAC/FM6 panning behaviour has been corrected
  • Ported SMPS Z80-style frequency modulation, fixing several issues in SMPS Z80 songs (such as broken pitch bends at the start of Sonic & Knuckles' credits music)
  • Bugs in the 'smpsSetVol' coordination flag have been corrected (fixes missing PSG notes in the Sonic & Knuckles credits music)
  • Ported FM frequency modulation from SMPS 68k Type 2, so that Carnival Night Zone's and Launch Base Zone's music are finally compatible with this driver
  • Fix note timeout being performed on first frame of playback
  • The sound queue processing logic has been completely remade, hopefully fixing a number of subtle bugs (the old code was very bad)
  • Assorted optimisations
  • TempoWait can no longer delay tracks on their first frame of playback (this is a proper fix to the hanging-note bug that Sonic 2's driver used a work-around for, which can sometimes be heard at the start of Sonic 2's Death Egg Zone music)
  • Mega PCM has been replaced with a custom two-channel DAC driver: the first channel is used by music, while the second channel can be used by DAC SFX
  • Fix SFX and Special SFX tracks not being updated on the same frame that a music track uses the 'fade to prevous song' coordination flag
  • Fading-in has been overhauled, so that SFX are no longer muted while fading is performed: rather, SFX are now faded along with everything else
  • Bugs relating to PSG volume values have been corrected
  • The dependency on the 'Graphics_Flags'/'v_megadrive' variable has been removed, easing the process of integrating this driver into homebrew
  • 'include'/'binclude' paths are now relative, for compatibility with newer versions of AS (if you intend to use this driver with older versions, you will have to convert the paths back to absolute)

v2.7+ - Probably the final release

20 Mar 10:57
Compare
Choose a tag to compare
Pre-release

Just some bugfixes and code cleanup that built-up over the last three-and-a-half years.

This project's dead - use something else, like AMPS or KEH's driver.

v2.7

12 Aug 21:28
Compare
Choose a tag to compare
  • Support for the 32X
  • Support for four PWM tracks
  • Fixed bug where Special SFX incorrectly mute PSG3 while it's being used by SFX (thanks, Markey)
  • Added proper volume cap check to DoFadeIn (thanks again, Markey)
  • Fixed bug where PSG 1&2 are not muted during SFX initialisation (Markey, stop, please)
  • Added a bugfix from S2's driver that stops cfStopTrack from altering the stack too much on DAC channels
  • Tried to reduce name collision with MegaPCM by adding a prefix to most labels
  • UpdateDAC has been restructured, so its stack usage is identical to FM and PSG (kind of undoing that last bugfix :( )
  • Made MegaPCM check that YM2612 isn't busy before enabling DAC (fixes muted drums at start of some songs)
  • SFX now properly update on the frame that a new song is played

v2.6

02 Jul 14:29
Compare
Choose a tag to compare

The first GitHub release!

  • New DPCM tables were ported from SMPS-Treasure, speeding up DPCM loop (unlike SMPS-Treasure, these tables are generated by the DAC driver during initialisation, so they don't waste ROM like the volume table)
  • Made Spin Dash toggleable, so its code isn't assembled if you're not using it
  • Fixed bug during song initialisation that caused the last two sound queues to be accidentally cleared
  • Ported S2's version of Sound_Play (zCycleQueue)
  • Music/SFX/SpecSFX data has been merged into 'metadata tables', simplifying their addition or modification (for example, the music metadata table contains the music's pointer, speed-shoes tempo, and playback flags)
  • Restored compatibility with official (flamewing's) SMPS2ASM
  • All tracks use zTrack.VoicePtr now (saves some RAM)
  • Overall RAM cleanup
  • Some Z80 access was made 'safe' (interrupt can't interrupt Z80 bus request, and accidentally deassert it)
  • Fixed OOZ oil slide SFX (was updating FM volume on a PSG channel)
  • Added check to prevent above bug from having any negative effects, just like S2's driver
  • A branch is available that uses the stock v1.1 MegaPCM