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.

Emulation & ROM Hacking

The True names of the R/B Protagonist & Antagonist - Page 1

The True names of the R/B Protagonist & Antagonist

Posted by: agusganog
Date: 2008-11-30 13:04:03
First of all, yes, this is done by memory hacking, however I thought that it was interesting enough to mention here. Also, if people have looked into the name data as much as I think they have, you should already know this.

Whenever you start a new game, you name the the Protagonist and Antagonist, right? Well what if you started a game WITHOUT naming them? What would their names be?

They would be Ninten and Sony (Ninten being the protagonist, naturally), and I can prove it.

First of all, download a Pokemon Blue ROM and begin playing it. Next, open up the Memory Viewer and change address 0041 from 24 to 22. While I don't know what this value does (it seems to control some important functions of the game) altering it causes many strange effects. You will be able to see these effects at the startup screen.

Watch this video to see what I mean:
http://www.youtube.com/watch?v=0RgIfMe6prI

When you press A to bring up the New Game and Options menu it looks normal. If you try to start a new game, the colors start spazzing, and the game crashes. If you open the Options menu, it will close itself after a short period of time. Moving the cursor around during this short time can cause some weird effects, but the strangest is having your character appear in a glitch city type area that is right outside the borders of Pallet Town. You can't move, seeing as how you're stuck on a building, but you can open the start menu and see that your name is NINTEN, even though you never named the character. Using Walk Through Walls, you can walk up to the Route above Pallet to clear the glitchiness. Now, just walk towards Indigo Plateau and talk to your Rival. His name is SONY (an alternative to this is simply triggering Oak's caution message in the normal place).

I find this pretty interesting. It was probably a programming joke, or a signature by one of the people working on the game, but it is noteworthy nonetheless.

Watch this video to see the process:
(video coming soon)

Re: The True names of the R/B Protagonist & Antagonist

Posted by: Yuzihax
Date: 2008-11-30 13:06:52
Well, this is Memory Viewer stuff, not necessarily a glitch.

Moved to the proper board.

Re: The True names of the R/B Protagonist & Antagonist

Posted by: agusganog
Date: 2008-11-30 13:45:30

Well, this is Memory Viewer stuff, not necessarily a glitch.

Moved to the proper board.

Sorry. I didn't even know that there was a Memory Viewer Board. Thanks for moving this.

Re: The True names of the R/B Protagonist & Antagonist

Posted by: Stackout
Date: 2008-12-08 07:54:31
i actually seem to remember that a while ago someone dumped all the text strings into a file – and all the references to player was to NINTEN (or NINTEND, can't remember) and all the references to rival was to SONY.

Re: The True names of the R/B Protagonist & Antagonist

Posted by: Abwayax
Date: 2008-12-08 17:52:16

i actually seem to remember that a while ago someone dumped all the text strings into a file – and all the references to player was to NINTEN (or NINTEND, can't remember) and all the references to rival was to SONY.

IIMarckus had string dumps of all the GB(C) games, and that was definitely in there. His site seems to be down though, so I can't find them.

Re: The True names of the R/B Protagonist & Antagonist

Posted by: PichuUmbreon
Date: 2008-12-08 19:36:33
The memory address 0041 seems to be part of the ROM header: code that tells the Gameboy/emulator what the ROM is and how to run it, I believe. So, it makes sense that the game would screw up that much because of a single byte change.

Re: The True names of the R/B Protagonist & Antagonist

Posted by: Bent`
Date: 2008-12-13 01:03:08


i actually seem to remember that a while ago someone dumped all the text strings into a file – and all the references to player was to NINTEN (or NINTEND, can't remember) and all the references to rival was to SONY.

IIMarckus had string dumps of all the GB(C) games, and that was definitely in there. His site seems to be down though, so I can't find them.

No idea where the text dumps went (what I get for using free hosting I guess), but heres some exposition on the subject: http://iimarck.us/i/default-names/


The memory address 0041 seems to be part of the ROM header: code that tells the Gameboy/emulator what the ROM is and how to run it, I believe. So, it makes sense that the game would screw up that much because of a single byte change.
0041 is part of the code for the Vblank interrupt, which gets called at a rate of 60 times a second to draw graphics to the screen. Changing the byte to a 22 there makes the game jump to a position earlier in the ROM than it should go, causing it to execute an extra two instructions that make small changes to three registers (oring c and incrementing hl). Since this happens 60 times a second, it naturally wreaks havoc on the game.

Re: The True names of the R/B Protagonist & Antagonist

Posted by: agusganog
Date: 2008-12-19 12:16:28



i actually seem to remember that a while ago someone dumped all the text strings into a file – and all the references to player was to NINTEN (or NINTEND, can't remember) and all the references to rival was to SONY.

IIMarckus had string dumps of all the GB(C) games, and that was definitely in there. His site seems to be down though, so I can't find them.

No idea where the text dumps went (what I get for using free hosting I guess), but here?s some exposition on the subject: http://tohjofalls.atspace.com/default-names.htm


The memory address 0041 seems to be part of the ROM header: code that tells the Gameboy/emulator what the ROM is and how to run it, I believe. So, it makes sense that the game would screw up that much because of a single byte change.
0041 is part of the code for the V‐blank interrupt, which gets called at a rate of roughly 4Mhz to draw graphics to the screen. Changing the byte to a 22 there makes the game jump to a position earlier in the ROM than it should go, causing it to execute an extra two instructions that make small changes to three registers (oring c and incrementing hl). Since this happens 60 times a second, it naturally wreaks havoc on the game.


That explains a lot. I was wondering why the background was really screwing up.

Re: The True names of the R/B Protagonist & Antagonist

Posted by: :56 ERROR
Date: 2008-12-21 12:55:56
I messed with that code for a while.
Alas, it is interesting in the sense that it makes some characters speak of unknown errors, such as the I'm-*crash* error and the T2 2 2 2 ERARE, also the F8 F8 ERROR, but it makes the emulator crash too much. Some of the messed sprites are funny, though.