Closed RichardULZ closed 4 years ago
While testing, i think gbdk 2020 prefers the double :: now? No idea what's going on with these sorry!
However more concerning...
gbt_get_pattern_ptr::
calls as normal
ld a,(gbt_bank)
ld (#0x2000),a
but now from within gbt_player_bank1, and as this was likely tested with small games where songs are in bank 1, the issue was not noticed, if the song is elsewhere however, it crashes? Not sure if this affects the rgbds implementation as well.
The RGBDS implementation is affected as well...
Dnn fix for GBDK. "Pan fix" Split from #7 to merge quicker.
Note this will not yet tackle the issue of ch1 and 2 not checking if any effects returned 0 or 1 when used on their own, as instr+effect does not check... Previously I had tackled it with a simple
ret z
afterch1_instr_effects$:
which will work.But... after reading through the format guide this is also used to set the instrument, and, it seems if it were working, would always try to set the instrument to 00 if effect was used without instrument?
I don't know if any users in gbstudio take advantage of this, but more often it's been considered a bug, there's seemingly no format guide to not set the instrument while setting effects...
Step 3 Switching to 2 register paths, note trigger is set with a new note (and volume only), then no trig for everything else, will at least stop buzzing noises for panning before the first note, but i guess effects on their own would still change the ch1-2 instrument somewhat unexpectedly.
Either way, this pan change at least won't break anything, just might not fix it right...