I was supposed to be on holiday but of course I’d taken my laptop and had a few hours here and there to work on a few outstanding NTRQ things.
Pattern Cloning
First off – pattern cloning!
It’s now possible to clone the pattern under the cursor in the Song Arranger with the press of a button (by tapping B). I removed the “clear value” control as I didn’t think it was a particularly useful feature (it was originally what was assigned to tapping B in the Song Arranger – if anyone misses it let me know and I’ll find a way to add it back in).
Pattern cloning works in a similar way to LSDJ. Put the cursor on the Pattern you wish to clone (in Song Arranger), tap B and if NTRQ can find an unused, empty Pattern left in your NTRQ file, the contents of the original Pattern will be copied to the empty one and the newly created Pattern number will replace the one under the cursor.
Again, like LSDJ, it seemed like a good idea to put a “purge patterns” function in so there is now an extra option in the “Clear Data Menu” to do this.
Something you should probably be aware of: I had to modify the NTRQ file format slightly to accommodate the clone/purge feature. This means that from V1.6 onwards, older .sav files will not be compatible. However, starting with V1.6, if you load up NTRQ with an older .sav file it will be automatically upgraded to V1.6 data format. The same also applies to the NSF outputter. It has been updated for V1.6 too and is not compatible with older .sav files. To re-output your old .sav files as NSF you need to first “load” and “save” them (however that happens on your platform of choice) with V1.6 (onwards) first.
Of course, once your .sav files are upgraded to V1.6 they will not be compatible with older versions of NTRQ (not that you’d want them to be but I like to keep you informed
)
I’ve given it a bit of rigorous testing and it seems pretty solid. Because of how the Pattern searching works (when NTRQ tries to find an empty unused one) the bigger your songs (or more specifically, the less unused Patterns there are) the process itself will start to get slower. Under these conditions, if you try to clone a Pattern while the song is playing, you may hear NTRQ stall a little (couple of ticks).
Obviously it’s difficult for me to test it under all conditions so please let me know if you spot any problems.
DPCM Changes
Funnily enough, I’d been working on the changes to DPCM before I was talked into releasing the cloning feature. As such it’s still in a state of flux somewhat but the changes so far definitely make DPCM usage better (or at least more interesting
)
OK, first the bad news. I changed the command to offset the playback start position of samples so if you’ve any existing songs that use this feature you’ll need to manually change them. Sorry
The old command used the Pitch Table Pattern Command ($60 – $9F) but from V1.6 onwards, the command to offset the sample start now uses the Duty Table Pattern Command ($C0 – $DF).
So what happened to the Pitch Table Command? I added in the opposite function – the ability to prematurely truncate a sample when it plays! Exciting huh? OK, it may not seem the most useful feature in the world but read on. I also added the ability to play a sample one-shot (normal) or looped (play to end and the loop back to start). To do this, instead of selecting the DPCM “bank” with $00-$07, if you select it with $10-$17 instead, the sample will loop.
Now, if you combine this with the ability to truncate a sample, you can get some pretty weird effects. I was playing around setting the truncate value (with a looped sound) until it was just a couple of cycles of a waveform so that the DPCM channel was producing a pitched tone. I was then able to do 5 channel chords using A, B, C, D (in the slower clock mode) and E.
It definitely lends itself to some experimentation.
Anyway, enough rambling from me, go grab V1.6;
email
[...] NTRQ V1.6 – Attack Of The Clone. Share [...]