Offline
vancouver, canada

so, there's a part of a tune i'm that just absolutely CHUGS when i play it on my DMG (as opposed to my GBA).  yes, i'm aware of the DMG's slower CPU and that you shouldn't do things that are too crazy on.  but from what i've googled, there doesn't seem to be all that much documentation on the specifics of what not to do. 

i'm wondering if anyone has run into anything similar to what i've been dealing with, and i'd appreciate any insights on what you guys have about lightening the CPU load.

Here are the symptoms:
- when the pattern starts playing, the song doesn't noticeably slow down yet, but any button presses are delayed by about half a second.

- halfway through the chain, the song playback slows down to like 2/3 of its original speed.  at this point, the buttons stop receiving input altogether; it seems as if the button presses get buffered

- after the pattern starts playing, the CPU and the input start doing things REALLY fast, almost as if to catch up from before.  any key presses that were buffered when the CPU was chugging now take effect, all at once.

- also, after the slow part, the cursor becomes hypersensitive for the next pattern - any press of the directional arrows seems to move the cursor by 3 or 4 spaces, instead of just one

- eventually the DMG returns to normal playback speed and the buttons receive their input normally once again.

- i tried isolating that set of chains temporarily to loop that slow section of the song continuously, but as expected, the slowdown compounds upon itself and sure enough, i get a "TOO BUSY!" error in LSDJ that prevents me from stopping playback, leaving me no choice but to turn the game boy off.

here's a table i'm using that might be the culprit, it's basically a pulse wave arpeggio with some hop (H) commands interleaved to space out the modulating of pitch (TSP) and the pulse width (Wxx commands):

VOL      TSP    CMD    CMD
00       00     00     W00
00       00     H20    HD0
00       02     00     W01
00       02     H22    HD2
00       04     00     W02
00       04     H24    HD4
00       07     00     W03
00       07     H26    HD6
00       0C     00     W03
00       0C     H28    HD8
00       00     H00    W02
00       00     00     HDA
00       00     00     W01
00       00     00     HDC
00       00     00     W01
00       00     00     HDE

the thing is, i don't think i'm doing anything overly taxing in that table compared to the other parts of my song.  you'd think the overabundance of H commands might be excessive, but i've actually done this in other songs (with more stuff going on in the other channels at that), and they seem to work fine in my DMG.

I have a complex swing groove too, which i thought meant more tricky stuff being thrown at the CPU, but getting rid of the groove didn't reduce the slowdown.

Could the slowdown possibly have anything to do with a corrupt LSDSNG?

anyway, i know -- lots of disjointed theories that i barfed onto this thread, but it'd help to have any thoughts from those who have had more experience dealing with slowdown.

Offline
Chicago IL

tables and vibrato i'm pretty sure weigh the heaviest on the cpu

Offline
vancouver, canada
Saskrotch wrote:

tables and vibrato i'm pretty sure weigh the heaviest on the cpu

i've considered using a really fast groove instead of a table to recreate the arpeggio.  anybody have any idea if that will be of any difference on the CPU?

Offline
clovis CA

try overclocking your cpu to like 8. something, then take your notes down an octave =]