This one has been a long time in the making; triple update time!
New version of the sound driver is available: grab v2a
here.
New version of SMPS2ASM is available: grab v0.2
here.
New version of the song pack is available: grab v4a
here.
Changes:
- driver: now with support for playing songs with 6 FM channels and no DAC channels;
- driver: universal voice bank (UVB) is now included in every music bank; while this reduces the space in banks, this allows much more freedom for expanding the sound driver;
- driver: UVB has been SMPS2ASM'ed;
- driver: all fixes and changes are now always on;
- driver: driver makes use of local labels (instead of nameless temporaries) and uses S2-style memory management for the z80 RAM (instead of hard-coding everything);
- driver: several new coordination flags and fixes based on other drivers from ValleyBell's research pack; specifically:
- meta CF $FF08 (smpsChanTempoDiv) which works like CF $E5 in S1/S2 drivers;
- meta CF $FF09 (smpsChanFMCommand) that allows sending FM commands to the appropriate YM2612 part for the current track;
- meta CF $FF0A (smpsNoteFill) that works like $E8 did in S1/S2 drivers;
- meta CF $FF0B (smpsPitchSlide) that allows you to do pitch slides (use smpsAlterPitch to set slide speed);
- meta CF $FF0C (smpsSetLFO) that lets you enable/disable the LFO and set AMS and FMS.
- SMPS2ASM: can now dump z80 banks given an offset to a pointer table within the bank;
- SMPS2ASM: simple dataflow analysis added to propagate key displacement changes throughout a track; this is used to fix the handling of the maximum-frequency PSG note (since it is different in S1/S2 and S3/S&K/S3D drivers);
- song pack: redumped all songs with the new SMPS2ASM;
- song pack: S3, S&K and S3D songs (and SFX for S&K) now have two versions: the 1:1 versions with unused data and the "optimized" versions without it; the optimized versions also have ALZ song fixed.
A warning: songs dumped with the new SMPS2ASM
MUST be used with the "_smps2asm_inc.asm" file present on the sound driver file; earlier versions of the include file will fail. Moreover, I strongly recommend that you redump old songs so that they sound correct due to the PSG maximum-frequency note issue mentioned above.
To use the driver, you will need to either use the constants for zQueueVariables, zMusicNumber, zSFXNumber0 and zSFXNumber1 like what is descriped in
Alriightyman's guide to use it in S2 or use the exported symbols for these constants to reference the correct z80 variables.
Edit: Note: the SMPS2ASM release is essentially a bugfix release; I have more things planned, but I wanted to get this out the door because it affects a lot of people.
This post has been edited by flamewing: 27 February 2015 - 08:14 PM