Jump to content

Professor Oak's lab music glitch: Difference between revisions

m
Text replacement - "~" to "–"
>Bbbbbbbbba
m (Changed the YouTube video to the published encode of the TAS, which has more information in the description. Notice that the "by gifvex" now doesn't match the uploader of the video; this is intentional, as I think it makes more sense to acknowledge the actual *author* rather than the uploader. Also added a category.)
m (Text replacement - "~" to "–")
 
Line 13:
* All relevant memory addresses are set to 0x00, 0x01, or 0xff, as appropriate. (This includes the aforementioned default tempo, 0x0100.)
* For each channel:
** The sound ID for that channel (wChannelSoundIDs, 8 bytes, $C026~C026–$C02D) is set to the ID of the music.
** The command pointer for that channel (wChannelCommandPointers, 8 pointers of 2 byte each, $C006~C006–$C015) is set to the beginning of the audio commands for that channel.
If the V-Blank interrupt occurs between setting the sound ID and setting the command pointer, it will try to play the music (because the sound ID is nonzero), but will execute the command from $0000 instead of the correct command pointer. That address is at the beginning of the ROM and contains the value 0xFF, which is interpreted as an "end channel" command. This sets the sound ID for the channel back to zero.
 
Cookies help us deliver our services. By using our services, you agree to our use of cookies.