After a 4 year break, why not go for the other extreme? So here we are with roughly a week since last release! and quite a bit done too (full details in the changelog).
A significant change has been made to the way fine tunes in modules are handled, this has removed the need of a 4K LUT and impact on system bus when working with samples with a fine tune applied, as well as much more accurate playback of these samples with other effects.
As well as optimisations to the code to free up some extra cycles on the DSP, we have exposed a couple of SE status registers, allowing users to monitor for successful stopping of the DSP, and the status of sample voices, so now you can look to see if there is a voice doing nothing and fire a sample on it, instead of overwriting an existing sample.
Also the ability to stop a looping sample when it reaches the end of the loop, and not immediately.
As always, it can be downloaded here
After over 4 years! unfortunately most of those years have been spent languishing in a variety of code repositories and not being developed. Although along the way some bugs and omissions have been patched and a small amount of tidying up. Nothing too ground breaking, equates for Joysticks are correct in this release and the DSP stop code finally works thanks to Shamus. Hoping to get through the backlog of bugs and push another release out much sooner (although 4 years shouldn’t be hard to beat 🙂 ).
As always, get the latest version here
A much smaller than originally planned update, I was just too excited to get the new pad reading release out there, as well as the updated manual.
As well as the release of this version I have also updated the website to include a list of known and resolved bugs. If you find a bug that’s not already listed here, please let me know.
As always the latest version can be downloaded here
Another night spent working my way through the SoundEngine manual, version 0.21 nears launch, so there is a new feature to document, some old features I had forgotten to document (Thanks CJ for pointing those out 🙂 ) and a general tidy up here and there.
Still hoping to have the next version out this month (February), so keep checking back, or the usual places on AtariAge and Jagware (which I will update as and when it’s released).
Resources can be quite tight within the Jaguar system. All though CPUs fighting for time on the bus, only 2MB of RAM, 4MB (mostly) of cart space. Compromising assets to make a game fit or work isn’t something you want to do, especially the people that have created those assets 🙂
With that in mind I am always looking for ways to free up ROM/RAM, and keep the SoundEngine off the main bus as much as possible. I have spent the last few days pondering a few tweaks that could benefit both storage capacity and bus use, and from the initial very basic experiments tonight these are looking quite promising. I shouldn’t really count my bytes before they have hatched, but I am pretty sure that there could be some significant savings coming soon in regards to music playback on the Jaguar..
Watch this space…
It’s quite an exciting time in the U-235 bunker at the moment, work has been progressing nicely these last few weeks adding some extra features to the SoundEngine. U-235 are very proud to have had our SoundEngine selected for use by Reboot in their RAPTOR Engine and the subsequent games based on this technology. So it’s obviously a great honour to have our work also be ported into the upcoming release Rebooteroids!
Working closely with the guys in Reboot to meet the needs of Rebooteroids highlighted a new feature for the SoundEngine, Pad & spinner code! Now the SoundEngine takes care of polling pad 1 & 2, presenting the state of the pads as two individual bitmaps. Spinner code has also been added to allow the reading of rotary controllers.
At this time the code is only present in the custom build of the SoundEngine, but these features will of course be ported into full general releases of the SoundEngine. Pad read code is planned to be included in the next release, with spinner reading code coming in a release after that most likely. The next release of the SoundEngine will hopefully be in February this year assuming no big hitches with the development or available time.
Big thanks to Cyrano Jones of Reboot for the suggestion and various code fragments and feedback.
It’s been far far too long, and not all of the features I hoped to get in this release are there, still plenty to do and add. A significant bug was identified by Matmook of Jagware which would result in small looped samples sounding terribly off key. This release fixes that bug.
In addition to this fix there is now a Pseudo random number generator built into the Sound Engine! whilst it is loaded into the DSP and the DSP is running it will merrily generate 16bits of pseudo rubbish. Hopefully this will be of use and free up some ticks elsewhere in your projects.
Also now added support of the Vibrato & Volume slide effect.
The majority of changes have mostly been around some internal code tidying and documentation to aid in future development.
Head here to download the latest version, enjoy!
A long time in coming but hopefully worth the wait! Additional effects, timing improvements, and some manual enhancements. Still plenty more to do on the engine, some tidying and new features coming hopefully soon 🙂
Complete rewrite of the sound rendering code has been made to improve tollerance of bus latency. This means that projects using the SE can now make more use of the system bus! more sprites! more pixels! clear audio! There are still finite limits as to how much can be tollerated, more work is being done to hopefully improve this further.
A significant change to the API has been made which will allow (hopefully) increased ease of use, as well as more accurate rendering of tracker module effects. This change has also divorced the module parser from the Sound Engine allowing for greater flexibility with future SE developments and smaller code size! Next on the agenda is to improve the rendering performance to hopefully remove or reduce the effects of latency on the system bus.