Analogue Multiplexer, on Sun Feb 24, 2008 12:31 AM, said:
Sheddy, If I were you I wouldn't focus on Stereo RMT tunes for a few reasons:
1) stereo pokey is not included in standard machines.
2) stereo music wastes twice as much CPU time as a mono track.
Anyway, you'd need two different versions. One with mono music, one with stereo music....as IMO it doesn't make sense to waste cpu time when there's no 2nd pokey anyway.
The mono music will have more CPU time left compared to the stereo version. Maybe it's possible to use the extra cpu time of mono version to use more or bigger sprites.
Didn't you plan to do different versions for PAL/NTSC?
Another thought: Maybe there's a way to do a custom optimalization of the RMT runtime routines...or replace them?
you're absolutely right about wasted CPU time if there's no 2nd Pokey. That bothered me a lot, but I found that just patching a few of the loops in the stereo RMT player when there's only a single pokey makes it work at almost the same speed as the mono player. (a slight rewrite of the setpokey routine was also needed to easily patch writing 2nd pokey registers or not)
Sal (kjmann) has done the songs as Stereo but they also were designed to sound good if there is only 1 pokey, so no need for different versions combined with the patching.
There'll only be one PAL/NTSC version but they'll be pretty much identical due to some compensations
I don't fully understand RMT runtime routines, but there were no obvious optimizations when I looked through it, apart from maybe unrolling some loops, which wouldn't make that much difference speed wise, but make it much bigger. Of course assembling with only required FEAT does help a little.