CHANGELOG ========= 2014-02-17 : v0.21 NEW FEATURE: Joypad reading is now handled by the SoundEngine. Status of pad1 & pad2 can now be easily read via 2 longs Support for Protracker effects Fine-slide Up and Down (E1x & E2x) added Significant improvements to manual ------------------------------------------------------------------------------ 2013-07-13 : v0.20 Minor typo's corrected in manual. Slight restructure of information tables at the end. Updates to manual to cover the removal of the sequence.s file. Sample cache now uses 32bit reads instead of 16bit reads, as a result of this modules MUST be LONG aligned. Fixed bug in looped samples discovered by Matmook of Jagware, (thanks to GroovyBee for listening to my endless waffle and coming up with some excellent ideas) Added support of Vibrato and Volume slide effect [6] Added 16-bit Random number generator - Manual updated to include details ------------------------------------------------------------------------------ 2012-06-16 : v0.19 Some minor corrections to the manual (reported by DrTypo on AA) Detail of how to reset module position added to manual (requested by DrTypo and Matmook) Added code to support the finetune of samples in the module. requires the use of a lookup table in main RAM. The table is only used if a sample with a finetune is played, otherwise it is ignored. Added support for modules that use a speed setting other than 125BPM. (Fxx where xx > 20) Added support of Slide-to effect [3] Added support of Vibrato effect [4] Added support for fine volume slides [14][10] and [14][11] Fixed bug with notes that have no sample number allocated ------------------------------------------------------------------------------ 2012-01-14 : v0.18 Implemented buffering on the audio channels, complete renderer rewrite from ground up, optimised and improved code for Sound Engine parser also. Sound Engine can now tollerate greater bus latency before audio artifacts occur. Thanks to Reboot for the assistance in testing this. SE will now default to 16kHz playback unless otherwise configured. New flags for mono or stereo playback U235SE_playbackmode variable sets the playback of mono or stereo for either voices 0-3 (music) or 4-7 (sfx) using equates: U235SE_MONO U235SE_STEREO_MUSIC U235SE_STEREO_SFX playmod will still accept any flags there but mixing will follow this variable only. Defaults to mono. corrected comments within the example "main.s" source (reported by CJ) Some minor adjustments to the manual. Changed the name of the SoundEngine object file from dsp.o to dsp.obj (reported by DrTypo on AA) ------------------------------------------------------------------------------ 2011-12-27 : v0.17 Tracker effect 3 has been disabled until it can be fully implemented following core changes to the Sound Engine. The SE commands #6 and #10 have now been removed from the engine completely. There is now no need to use the period lookup tables and initialisation of the engines playback speed is performed by setting two values. New manditory SE command added #11. This sets the sound bank to be used by the SE when playing a sample. This must be set before any samples from a sample bank are used. This also means that sample numbers start at zero for all banks, there is no reservation for module samples as these have their own sample bank. Created an include file with useful equates and externs already defined to make interfacing with the SE easier (hopefully) Fixed SE command #4 (Play sample @ rate) so it actually works now :) Fixed SE command #2 (Play Sample @ default) so it actually works now :) Manual updated to reflect changes ------------------------------------------------------------------------------ 2011-12-22 : v0.16 Effect 3 is now recognised (slide-to) in module player, still being worked on still quite buggy new Sound Engine command #10 added slide to note at rate Corrected playback starting at position 6 in a module :D Fixed bug where effects that occur every tick would run even if they were not meant to. Improved clarity of "SoundEngine commands" diagram and table in manual. Added details of module effect support to manual ------------------------------------------------------------------------------ 2011-12-12 : v0.15 I2C setup has been moved into the DSP code. No-longer needed in 68K section Cleaned up some equates in sequence.s Finally found the correct definition of 'period' on Amiga hardware. Player is now correctly tuned. Exported labels from the SE are now prefixed with U235SE_ to remove chances of conflicting with labels in others projects. ptr_sample_bank => U235SE_ptr_sample_bank playlist_ptr => U235SE_sfxplaylist_ptr playmod => U235SE_playmod Setting of playback frequency is now set by the period table pointed to by U235SE_period_ptr. Must be set BEFORE DSP is started!! Added Period tables for 8, 12, 16, 24 and 32kHz playback Manual updates with changes to operation and labels. ------------------------------------------------------------------------------ 2011-12-07 : v0.11 - General tidy of demo code Manual and logos added First Beta Release ------------------------------------------------------------------------------ 2011-10-07 : v0.1 - Initial release (source) to tester