Glitch City Laboratories Archives

Glitch City Laboratories closed on 1 September 2020 (announcement). This is an archived copy of a thread from Glitch City Laboratories Forums.

You can join Glitch City Research Institute to ask questions or discuss current developments.

You may also download the archive of this forum in .tar.gz, .sql.gz, or .sqlite.gz formats.

Generation I Glitch Discussion

Triggering 'pure' glitch music on Pokémon Yellow - Page 1

Triggering 'pure' glitch music on Pokémon Yellow

Posted by: Torchickens
Date: 2010-08-27 09:32:08
The game audio is something I'm intrigued by, with the appearance of the Pokémon Yellow unused track which sometimes appears amongst downloads of the official soundtrack.

We have an audio modifier by HyperHacker on our GameShark codes archive (01XX5AD3) but I realized that even if the value is kept constant the audio will change if you go to a different kind of location such as a cave, so eventually I found that you have to change the addresses D0EF and D0F0 as well to get a constant result every time.

There seem to be at least four valid possibilities for those addresses and they seem to denote the 'music type', as an extra parameter to work with addresses like D35A: Cave/title screen music (1F,1F), Overworld/intro music (02,02), Battle music (08,08), Surf game/extra features (20,20). Each of these music types with the exception of 'Surf game/extra features' are filled completely with valid audio which appears in the final game (although some values denote 'part of the music', like Celadon City instrument 1 instead of the whole tune) but by experimenting with the surf game/extra features section or an invalid combination it is very easy to run into what appears to be pure glitch music.

I managed to generate three GameShark codes to control the music when you enter a new area entirely (with the exception of Pikachu voices) and found the unused track in the extra features section with the codes 0120EFC0 0120F0C0 and 019F5AD3 (sound#159). Low values for D35A seem to be global, these include things such as Pokémon cries with an undefined pitch or bumping into a wall but higher values seem to be local, so if there is nothing valid in the given addresses the game will set a flag for something else, or play 'glitch music'.

In theory we could try starting an AudioDex project, although it would be very very long and the combined file size would be extremely large because in general the codes to change would be 01XXEFC0 01XXF0C0 and 01XX5AD3 (16777215 possibilities) but some of the audio types like (20,20) tend to be safer (although it doesn't stop the game from spawning random NPCs every now and then), so we could find perhaps around 240 or so glitch audio tracks in those addresses.

Re: Triggering 'pure' glitch music on Pokémon Yellow

Posted by: Guy
Date: 2010-08-27 09:44:41
I'd probably like to help with this. Nice research there with how the code functions–I wasn't able to get too much out of it myself when I tried it out.

Re: Triggering 'pure' glitch music on Pokémon Yellow

Posted by: Torchickens
Date: 2010-08-27 12:48:50
Thanks, I've just come across something quite strange. I tried using an invalid music type (1,1) and waited at the title screen only for a text box with a flickering cursor to appear (not the kind of text box where you have to scroll through text), although I couldn't read what was there because of a different character set for the  "Game Freak" interface, hence the flickering cursor looked like the top-left corner of the 'shooting star' and the text was illegible.

I was thinking that the equivalent of the shooting star sound effect would activate the menu so I tried activating the codes 0101EFC0 0101F0C0 in Mt. Moon after forcing it via the code 01C25AD3 but only to no luck here (its equivalent was a completely blank sound effect, not setting any visible flags), so perhaps by chance it would activate a flag bringing up a menu only on the title screen interface?

I forced the menu up again on the Game Freak screen and changed the 'sound font' back to (1F,1F - Cave/Title Screen) and it played the 'received an item sound'. It could all be very coincidental but this time the game didn't crash and it let me scroll through a menu playing the 'scrolling sound' as usual and after messing around with a few button combinations, some of them like (Select+Down) would freeze the game if I held them down long enough.  Maybe this is a remnant of the debugging features mentioned by Shigeki Morimoto-san in an 'Iwata asks' interview http://www.nintendo.co.uk/NOE/en_GB/news/iwata/iwata_asks_-_pokmon_heartgold_version__soulsilver_version_16288_16289.html? It also reminds of my 'start the game immediately' code 01XX7EE5, partly through the intro you could force the game to do something and one of the values (87) would place you in a Pokémon Center, although the code doesn't work on Red/Blue, so it would be very coincidental if it was part of one of these features.

Edit: Its difficult to explain this with words alone, so here is a video http://www.youtube.com/watch?v=6AEI-ijQMBg