Category Archives: Developer Asset

U235 SoundEngine 0.24 released!

Proud to release the best most stable version of our sound engine to-date! Not just a simple set of extra features added but some significant improvements added in this release, as well as some annoying bugs being squashed.

Unfortunately some of the improvements and fixes have required changes to how some commands are called, these are kept to a minimum but sometimes they simply have to happen. Both of the two breaking changes are detailed in the changelog (available here and on the obtain page) and relate to SoundBank selection and the U235SE_modaddy/modaddy variable. The changes are small, but will cause existing code to break, so please read and understand these changes before attempting to use this version.

With that bad news out the way, what is the exciting new improvements? Well better interaction with the Jaguar’s memory bus! The size of cached data pre-fetched has been increased, this means less interruptions to bus access as sample data is fetched in larger chunks, for small samples this could even mean keeping the DSP off the bus almost completely! AND improved playback accuracy, not just slightly, but by a factor of 10! this results in notes and fractional notes sounding much better and in-tune.

There are other improvements as always, and thanks to code provided by CJ (Reboot) demonstrating a bug that would cause module playback to stop, this bug has now been removed allowing for module changes without risk of music going away.

We hope you enjoy this update and thank you for your continued use of our software.

Object list chart

I have just added a new page to our Developer section on this website. The Object Lists page only has a simple chart to aid in creating objects for the Object Processor, I did think about making it a simple news post but didn’t want it to be more complicated to find than it needed to be, so it now has it’s own page.

Hopefully others will find this useful.

U235 SoundEngine 0.23 released!

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

SoundEngine 0.22 released

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

SoundEngine 0.21 released

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



Manual work

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).

Freeing up RAM and bus

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…

Inclusion in Rebooteroids furthering feature development

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.

Sound Engine 0.20 RELEASED!

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!