Replacing Xs (エックス) Nintendo presents screen w/Pokémon Yellow cart swap arbitrary code execution  @ChickasaurusGL
Replacing Xs (エックス) Nintendo presents screen w/Pokémon Yellow cart swap arbitrary code execution  @ChickasaurusGL
Evie (ChickasaurusGL) 🌺 | Replacing X's (エックス) "Nintendo presents" screen w/Pokémon Yellow cart swap arbitrary code execution @ChickasaurusGL | Uploaded December 2021 | Updated October 2024, 15 hours ago.
Notes: I previously was thinking about this as X takes the "Nintendo" logo from the boot ROM screen (why some emulators fail to say Nintendo in Nintendo presents).

What I wasn't aware was that seemingly the entire VRAM on the first page of the BG Map (9800+) (except for the "presents" part which is written on the X splash screen) is leftover. For this reason, cart swap arbitrary code execution could show in X not just an altered Nintendo logo, but that entire page, except the tiles for presents on the middle of the screen.

Another technicality is that arbitrary code execution with this method takes the "presents" tiles from tile bank 2. So even though X will overwrite some of the people tiles on the overworld from 0x40 onward in tile bank 1, the game will just use the leftover tile bank 2 tiles (and their graphics) from 0x40 instead.

Hence, what I decided to do here was just use a (messy suboptimal but works) way to overwrite the VRAM graphics for the relevant tiles in "presents"; 40, 44, 48, 4C, 50, 54, 58 (ID +1 of these for the second row e.g. 41 or +2 of these for the third row e.g. 42) with "POKéMON YELLOW PRESENTS".

Here is the save file. drive.google.com/file/d/1L__dKWOiOmnc799CB36UtTW0s-erH-fM/view?usp=sharing

Do note you'll need to do the cart swap successfully (you can do it on BGB by opening the debugger via right click and going to file open ROM without reset, after closing the menu hangs the game for a while), and after using 4F Pokémon Yellow's save file will be deleted, so re-import the save file if you want to try this again. ^^

The grass tiles are corrupted because E had to be in ID 0x52; so replaced the grass tile there (2:0x52), as were some pole IDs replaced with "PYMO". OAM is also broken now because it's at C000 instead of C400, hence the fragmented Red sprites. There are other tiles I didn't tidy up (but would allow for more room for text/graphics in the "presents..." space), and the rest is just the unchanged overworld background.

It's likely we could create our own full custom screen altogether.

Cart swap arbitrary code execution is documented here and was popularized by TheZZAZZGlitch for Game Boy games. https://glitchcity.wiki/Cart-swap_arbitrary_code_execution

Their video:
youtube.com/watch?v=SL_Zuc0tlvo
Replacing Xs (エックス) Nintendo presents screen w/Pokémon Yellow cart swap arbitrary code executionDifferent field move/summary/hatch sprites on Decamarks (Ruby/Sapphire)Arbitrary code execution in Korean Pokémon Gold/Silver (wrong pocket TM49)Trapping NPCs after dokokashira door glitch block corruption (Red/Green/Blue JP)The uppercut invulnerability exploit (Game Freaks 1994 Pulseman) (warning: flashing lights)Pokémon Rapphire (Half Pokémon Ruby, half Pokémon Sapphire)Pikachu glitch emote ACE set up with ws m (Yellow only)Text move (command 03) abuse example: Copying Mew from x21 quantity (Generation I)Select glitch species corruption with party swap 178 for battling ィ゙ゃゾA (00) (Red/Green/Blue JP)Placeholder and unused Professor Oak text (Generation I)Random freeze after viewing and closing the Trainer Card (Brilliant Diamond/Shining Pearl)(Some of) Game Freak (+Pokémon affiliate)s musical signatures carried forward to/over from Pokémon

Replacing X's (エックス) "Nintendo presents" screen w/Pokémon Yellow cart swap arbitrary code execution @ChickasaurusGL

SHARE TO X SHARE TO REDDIT SHARE TO FACEBOOK WALLPAPER