User:TimoVM/JP Pikachu ACE Translation
This page is based on a translation/analysis of an ACE setup used in the Japanese version of Pokémon Yellow. The original article was written by flag3833753 and can be found [here].
Please note that you will be required to clear your saved data in order to follow this guide.
Introduction
in an [earlier article], a method to set up a RAM writer in the Japanese versions of Red/Green was explained. In this article we will install a ported version of that memory writer in the Japanese version of Yellow.
The original article made use of SRAM glitch in order to set up the RAM writer. A [later revision] demonstrated a method to install the RAM writer without SRAM glitch. because of this, we'll split the article in multiple sections.
Setting up the RAM writer using SRAM glitch
(note, add video link)
The installation of the RAM writer is divided into two parts:
- Make a compact, limited RAM writer
- Use this RAM writer to build the full, completed RAM writer.
Please note that the instructions included here are intended for JP Yellow V1.1 through V1.3. Make sure to look at the end of the article for how to install the RAM writer on V1.0
First, you will need to clear the save. hold SELECT + B + UP on the title screen to delete the current save.
Step 1: name your rival "て空んオオ"
Note that 空 represents an empty space. The player's name is not relevant for this setup.
Step 2: SRAM glitch
Hard reset at a very specific time during the saving process. If correctly performed, this will cause the game to think you have 255 party pokémon.
The specific timing is less than half a second after pressing "yes" when prompted if you'd like to save the game. There's no timing trick to it, just try again until you succeed.
If too early, the game isn't saved. If just a little late, the saved data will be corrupted. You'll need to try again from step 1 and clear the save again. If too late, the save will successfully complete. You'll need to try again from step 1 and clear the save again.
SRAM glitch was successful if, upon opening the start menu, the "Pokémon" menu option can be selected and the party screen successfully opens.
Step 3: Swap pokémon #6 and pokémon #9
This swap will set up inventory underflow, making the game think you're holding a total of 255 item stacks.
Step 4: Open the PC in your room to deposit items
Specifically, do the following:
- Deposit 1 "やめる" from slot #1 of your bag.
- Deposit a "カードキー" from slot #22 of your bag. repeat until you deposited 6 "カードキー" in total.
- Deposit 100 "ポケモン" from slot #23 of your bag.
- Deposit 1 "わざマシン22" from slot #24 of your bag.
- Swap the "ぬのヅ" in slot #25 with the item in slot #34 of your bag.
- Deposit 100
A few notes on the above:
- If the item in slot #1 isn't "やめる", restart from step 1. Possibly something went wrong during SRAM glitch.
- For the item in slot #23, you initially start with "ポケモン" x127. When selecting how many to deposit, simply press DOWN until you would deposit x99, then press UP to deposit x100. You need to deposit all 100 "ポケモン" all at once.
- The item in slot #35 should be a "モンスターボール". to find item slot #34, simply look for item slot #35 and press up once from there.
Step 5: Warping to Eevee's room in Celadon Mansion
Exit your house. Thanks to the swap you performed in step 4, you'll end up in the room in Celadon Mansion where you can pick up Eevee.
Step 6: Activating Infinite Eevee mode
Change the game's settings as follows:
Text speed: Slow | はなしのはやさ: おそい |
Battle animations: On | せんとうアニメ:じっくりみる |
Battle style: Set | しあいのルール:かちぬきタイプ |
Sound: Head phone 2 | サウンド:イヤホン2 |
This will change the item in slot #26 to a "はやぶさバッヂ".
Then, do the following (for safety, save beforehand):
- Pick up an Eevee, give it the nickname ヅずゆデの and use the "はやぶさバッヂ". This will cause Eevee's pokeball to reappear.
- Pick up a second Eevee, give it the nickname "ひでぶデョ" and use the "はやぶさバッヂ". This will cause Eevee's pokeball to reappear once more.
- Pick up a third Eevee, give it the nickname "ヅやゆョプ" and use the "はやぶさバッヂ" a final time.
After the third execution, picking up Eevee's pokéball will cause the NPC next to it to disappear instead. This allows you to get an unlimited amount of Eevees. (Please note that you can not leave this room until you finished the setup, since leaving the room will cause Eevee's pokeball to disappear.)
Step 7: Obtaining Eevees and nicknaming them
We'll now install a small RAM writer program by picking up and nicknaming Eevees. Give them nicknames from the following table. Start at the **bottom** of the list and work your way up.
Nickname 23 | がんぜクョ | small ョ |
Nickname 22 | ぶづぜンづ | |
Nickname 21 | よヅぜウづ | |
Nickname 20 | にぽづがる | |
Nickname 19 | ぜい空へパ | 空 represents a blank space |
Nickname 18 | ううグ空だ | 空 represents a blank space |
Nickname 17 | どグだギョ | small ョ |
Nickname 16 | べへにんグ | |
Nickname 15 | だゲぼダぞ | |
Nickname 14 | 空へにんグ | 空 represents a blank space |
Nickname 13 | わとんヅー | |
Nickname 12 | グリググだ | |
Nickname 11 | ざグわねん | |
Nickname 10 | ぱへふんぴ | |
Nickname 9 | へふんボぷ | |
Nickname 8 | へふんだし | |
Nickname 7 | ぼヂキづご | |
Nickname 6 | ョのなひだ | small ョ |
Nickname 5 | へよんち空 | 空 represents a blank space |
Nickname 4 | ぼダメにぽ | |
Nickname 3 | にュだガに | small ュ |
Nickname 2 | にヂ空ギて | 空 represents a blank space |
Nickname 1 | ボデの |
Step 8: Starting the compact RAM writer
After filling in the nicknamed, use the "はやぶさバッヂ" again to start up the RAM writer. It should look something like this:
(TO DO: add image)
If it doesn't start, reset your game and redo the nicknamed. If it does start successfully, it might be a good idea to exit the program and save the game.
Using the compact RAM writer
With the compact RAM writer, you can go through individual memory addresses and edit their values using the following controls:
A: Address +1 B: Address -1 DOWN: Value +1 UP: Value -1 RIGHT: Value +10h LEFT: Value -10h START: Exit
Step 9: Setting up the full RAM writer
Using the compact RAM writer, we'll be adjusting the values of the addresses between $D9B4 through $DA5E to the following:
Address | Value | Opcode |
---|---|---|
WRA1:D9B4 | 21 00 D0 | ld hl,D000 |
WRA1:D9B7 | CD 0D DA | call DA0D |
WRA1:D9BA | E5 | push hl |
WRA1:D9BB | 54 | ld d,h |
WRA1:D9BC | 5D | ld e,l |
WRA1:D9BD | 3E F8 | ld a,F8;de |
WRA1:D9BF | 83 | add e |
WRA1:D9C0 | 5F | ld e,a |
WRA1:D9C1 | 38 01 | jr c,D9C4 |
WRA1:D9C3 | 15 | dec d |
WRA1:D9C4 | 06 12 | ld b,12 |
WRA1:D9C6 | 21 AB C3 | ld hl,C3AB |
WRA1:D9C9 | ld a,7C | |
WRA1:D9CB | 22 | ldi (hl),a |
WRA1:D9CC | 7A | ld a,d |
WRA1:D9CD | CD 01 DA | call DA01 |
WRA1:D9D0 | 7A | ld a,d |
WRA1:D9D1 | CD 03 DA | call DA03 |
WRA1:D9D4 | 7B | ld a,e |
WRA1:D9D5 | CD 01 DA | call DA01 |
WRA1:D9D8 | 7B | ld a,e |
WRA1:D9D9 | CD 03 DA | call DA03 |
WRA1:D9DC | 3E 7F | ld a,7F |
WRA1:D9DE | 22 | ldi (hl),a |
WRA1:D9DF | 1A | ld a,(de) |
WRA1:D9E0 | CD 01 DA | call DA01 |
WRA1:D9E3 | 1A | ld a,(de) |
WRA1:D9E4 | CD 03 DA | call DA03 |
WRA1:D9E7 | 3E 7C | ld a,7C |
WRA1:D9E9 | 22 | ldi (hl),a |
WRA1:D9EA | 3E 0B | ld a,0B |
WRA1:D9EC | 85 | add l |
WRA1:D9ED | 6F | ld l,a |
WRA1:D9EE | 30 01 | jr nc,D9F1 |
WRA1:D9F0 | 24 | inc h |
WRA1:D9F1 | 1C | inc e |
WRA1:D9F2 | 20 01 | jr nz,D9F5 |
WRA1:D9F4 | 14 | inc d |
WRA1:D9F5 | 05 | dec b |
WRA1:D9F6 | 20 D1 | jr nz,D9C9 |
WRA1:D9F8 | 21 4B C4 | ld hl,C44B |
WRA1:D9FB | 36 ED | ld (hl) |
WRA1:D9FD | E1 | pop hl |
WRA1:D9FE | C3 B7 D9 | jp D9B7 |
WRA1:DA01 | CB 37 | swap a |
WRA1:DA03 | E6 0F | and a,0F |
WRA1:DA05 | C6 F6 | add a,F6 |
WRA1:DA07 | 30 02 | jr nc,DA0B |
WRA1:DA09 | C6 60 | add a,60 |
WRA1:DA0B | 22 | ldi (hl),a |
WRA1:DA0C | C9 | ret |
WRA1:DA0D | CD 40 38 | call 3840 |
WRA1:DA10 | F0 B3 | ld a |
WRA1:DA12 | CB 5F | bit 3,a |
WRA1:DA14 | 28 02 | jr z,DA18 |
WRA1:DA16 | C1 | pop bc |
WRA1:DA17 | C9 | ret |
WRA1:DA18 | CB 57 | bit 2,a |
WRA1:DA1A | 28 06 | jr z,DA22 |
WRA1:DA1C | 01 B7 D9 | ld bc,D9B7 |
WRA1:DA1F | D1 | pop de |
WRA1:DA20 | C5 | push bc |
WRA1:DA21 | E9 | jp hl |
WRA1:DA22 | 47 | ld b,a |
WRA1:DA23 | F0 B4 | ld a,(ff00+B4) |
WRA1:DA25 | 4F | ld c,a |
WRA1:DA26 | CB 70 | bit 6,b |
WRA1:DA28 | 28 04 | jr z,DA2E |
WRA1:DA2A | 3E FF | ld a,FF |
WRA1:DA2C | 18 15 | jr DA43 |
WRA1:DA2E | CB 78 | bit 7,b |
WRA1:DA30 | 28 04 | jr z,DA36 |
WRA1:DA32 | 3E 01 | ld a,01 |
WRA1:DA34 | 18 0D | jr DA43 |
WRA1:DA36 | CB 60 | bit 4,b |
WRA1:DA38 | 28 04 | jr z,DA3E |
WRA1:DA3A | 3E 10 | ld a,10 |
WRA1:DA3C | 18 05 | jr DA43 |
WRA1:DA3E | CB 68 | bit 5,b |
WRA1:DA40 | C8 | ret z |
WRA1:DA41 | 3E F0 | ld a,F0 |
WRA1:DA43 | CB 41 | bit 0,c |
WRA1:DA45 | 28 03 | jr z,DA4A |
WRA1:DA47 | 86 | add (hl) |
WRA1:DA48 | 77 | ld (hl),a |
WRA1:DA49 | C9 | ret |
WRA1:DA4A | CB 49 | bit 1,c |
WRA1:DA4C | 28 03 | jr z,DA51 |
WRA1:DA4E | 84 | add h |
WRA1:DA4F | 67 | ld h,a |
WRA1:DA50 | C9 | ret |
WRA1:DA51 | CB 7F | bit 7,a |
WRA1:DA53 | 28 05 | jr z,DA5A |
WRA1:DA55 | 85 | add l |
WRA1:DA56 | 6F | ld l,a |
WRA1:DA57 | D8 | ret c |
WRA1:DA58 | 25 | dec h |
WRA1:DA59 | C9 | ret |
WRA1:DA5A | 85 | add l |
WRA1:DA5B | 6F | ld l,a |
WRA1:DA5C | D0 | ret nc |
WRA1:DA5D | 24 | inc h |
WRA1:DA5E | C9 | ret |
After entering everything, it is advisable to save the game.
Next, change the game's settings as follows:
Text speed: Normal | はなしのはやさ:ふつう |
Battle animations: On | せんとうアニメ:じっくりみる |
Battle style: Set | しあいのルール:かちぬきタイプ |
Sound: Head phone 2 | サウンド:イヤホン2 |
This will change the item in slot #26 to a "かいがらバッヂ". You can now start the full RAM writer by using the "かいがらバッヂ". When done, it looks like this:
(ADD IMAGE HERE)
Using the full RA? writer
Controls are as follows:
DOWN: address +1 UP: address -1 RIGHT: address +10 LEFT: address -10 B+DOWN: address +100 B+UP: address -100 B+RIGHT: address +1000 B+LEFT: address -1000 A+DOWN: value +1 A+UP: value -1 A+RIGHT: value +10 A+LEFT: value -10 SELECT: execute code starting from the current selected address (USE ONLY IF YOU KNOW WHAT YOU'RE DOING) START: exit
You'll notice that this RAM writer is much more convenient to use compared to the compact RAM writer.
Be VERY careful when using SELECT. Using it without meaning to will likely crash the game.
Keep in mind that the memory editor occupies the range between $D9B4 and $DA5E. Do not edit the values within this range, otherwise you risk destroying the full RAM writer and crashing the game.
Repairing the effects of SRAM glitch
Due to the way we were messing with SRAM glitch, we've glitched normal game progression. Now that we have a fully functional RAM writer, we can fix these effects and continue the game from Pallet Town through the following edits:
- Set $D123 to $00: this will set the number of party pokémon to 0.
- Set $D2A1 to $01 and $D2A2 to $63: this will adjust your bag such that it only contains a "かいがらバッヂ". Please note that, when you exit the RAM writer, the cursor will still be at the 26th item slot. Just keep pressing UP until the cursor reaches the 1st item slot.
- Set values at the range $D287 to $D28D to $00: this will set the number of caught pokémon to 0. This is necessary in order to receive the pokédex from Prof. Oak.
- Set $D331 and $D335 to $00: this will cause you to return to Pallet Town when exiting Eevee's room.
Now, just exit to Pallet Town, you can now continue the game as you normally would.
Adjustments for V1.0
Due to version differences, there are a few slight adjustments that need to be made in order to install the RAM writer on V1.0. The process is mostly the same, the differences will be mentioned here.
- Steps 2, 3, 5, 6 and 8 are exactly the same
- Step 3: player name needs to be "ギるゾい", rival name can be anything as long as the 5th letter is "オ". e.g. "オオオオオ".
- Step 4: the only thing you need to do is to swap the item in slot #25 with the item in slot #34 of your bag. Since you're only swapping, you can simply do this from the item bag instead of the PC. Please note that the item in slot #25 has a buggy name instead of "ぬのヅ".
- Step 5: the nicknames are slightly different.
Nickname 23 | がんぜクョ | small ョ |
Nickname 22 | ぶづぜンづ | |
Nickname 21 | よヅぜウづ | |
Nickname 20 | にぽづにグ | different compared to other version. |
Nickname 19 | づなゅへへ | small ゅ, different compared to other version. |
Nickname 18 | ううグ空だ | 空 represents a blank space |
Nickname 17 | どグだギョ | small ョ |
Nickname 16 | べへにんグ | |
Nickname 15 | だゲぼダぞ | |
Nickname 14 | 空へにんグ | 空 represents a blank space |
Nickname 13 | わとんヅー | |
Nickname 12 | グリググだ | |
Nickname 11 | ざグわねん | |
Nickname 10 | ぱへふんぴ | |
Nickname 9 | へふんボぷ | |
Nickname 8 | へふんだし | |
Nickname 7 | ぼヂキづご | |
Nickname 6 | ョのなひだ | small ョ |
Nickname 5 | へよんち空 | 空 represents a blank space |
Nickname 4 | ぼダメにぽ | |
Nickname 3 | にュだガに | small ュ |
Nickname 2 | にヂ空ギて | 空 represents a blank space |
Nickname 1 | ボデの |
- Step 9: The full RAM writer uses the same code, except the addresses from $DA0D through $DA0F should be changed to
CD 3F 38