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.
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 "ひでぶデョ" (small ョ) and use the "はやぶさバッヂ". This will cause Eevee's pokeball to reappear once more.
- Pick up a third Eevee, give it the nickname "ヅやゆョプ" (small ョ) 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.
Step 9: 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
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 | 3E 7C | 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 RAM 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
Setting up the RAM writer without SRAM glitch
Since SRAM glitch requires a strict timing, an alternative is provided to set up the RAM writer without SRAM glitch. Please note that you will still need to reset your save even for this method.
Step 1: start a new game with player name "がんョぜレ"
Contains a small "ョ", rival's name doesn't matter.
Step 2: Head to Pewter City
Mkae sure to not fight the second bug catcher from the entrance of Viridian Forest.
Step 3: Stop by the Pewter City pokémon center and mart
Make sure to heal at the Pewter City pokémon center so that you can later use an Escape Rope to warp towards it.
In the mart, buy at least 19 poké balls ("モンスターボール") and one escape rope ("あなぬけのひも").
Step 4: Catch 19 pokémon, give them nicknames, then manually deposit them into box 1
The pokémon that you catch for this do not matter, make sure to lower their HP to 1/3rd of their maximum to increase catching odds. You need at least 19 poké balls to catch them and do not have access to a lot of money, so make sure you do not waste any of them.
Nicknames should be according to the following table in order:
ヅクまプレ | |
ひでぼラデ | |
がふぜのョ | small ョ |
ひすづギぺ | |
ひだレレレ | |
ゾなレレレ | Replace with ゾよひけレ if playing on V1.0 |
ひぢなの | |
Any | |
Any | |
Any | |
がやぜふレ | |
ぼんづぼギ | |
づぼてづョ | |
がめぜヨべ | |
づよヒづづ | |
ョぶづがん | small ョ |
ぜイの | |
Any | |
ゲてメん |
If you're unsure fi you're on V1.0 or on a later revision, you might want to prepare both "ゾなレレレ" and "ゾよひけレ" nicknamed pokémon.
After finishing this step, Ensure that you are holding 5 party pokémon or less.
Step 5: use the Escape Row to set up Trainer Fly on the 2nd bug catcher of Viridian Forest
With the bug catcher offscreen, step towards the bug catcher so that they would be able to see you and start a battle. During the step, hold the START button to bring up the start menu, from which you can use the Escape Rope.
Step 6: Set up ACE
After using the Escape Rope, you should have warped to the Pewter City pokémon center. From there, do the following:
- Open the PC and change the current active box from box 1 to box 1. This should cause the game to save, upon which you can reset the game. This will reenable the use of the START button.
- Go to the NPC to the east of Pewter that guides you to the Pewter City Gym. Let him guide you towards the gym to clear away the expected trainer movement.
- Go to a house in the southwest of Pewter City and check the town map on the wall. From now on until you go to Viridian Forest, you must not open the start menu.
Step 7: Go to Viridian Forest and check if ACE was successful
After arriving in Viridian Forest, the start menu will automatically open. Open the item bag. If ACE was successfully performed, it should now contain a "はやぶさバッヂ". Use it.
If everything went well, you should now get a message if you would like to nickname a Rattata.
If it didn't work, double check all nicknames and make sure you are holding 5 party pokémon or less. If it fails due to what might be a version difference, make sure to change the nicknames to fit the other version.
Step 8: Nickname Rattata's and deposit them to box 2
The current nickname code will allow you to obtain an infinite amount of Rattata's. We will now proceed to obtain and nickname a bunch of Rattata's and deposit them to box 2.
Before we begin, a few notes:
- The ACE code will only work if Box 1 is the active box.
- Obtain Rattata's, nickname them, deposit them to box 2, then change the box so that box 1 is the active box again.
- Preferably, you'd be doing this starting with a party of just one pokémon, so you can deposit 5 Rattata's at a time. You can either release your other party pokémon or temporarily store them in box 3.
よヂづにぽ | |
づにゲレレ | Replace with ゾよひけレ if playing on V1.0 |
づョがわレ | small ョ |
ぜゃダだグ | small ゃ |
ぼヂてツん | |
ダだグぼダ | |
ぞてツんダ | |
だガムキづ | |
ごぱへぬん | |
ぴへぬんボ | |
ぷへぬんへ | |
うううヅー | |
ひ空はうん | 空 represents an empty space |
どダれナん | |
ダめせんざ | |
ダれゃわダ | |
りだあなレ | |
ひだへむん | |
ちぼダメに | |
にルだガに | |
にヂ空ギて | 空 represents an empty space |
ボデの | |
Any | |
Any | |
Any | |
Any | |
Any | |
Any | |
Any | |
Any |
Ensure that box 2 is completely filled with 30 pokémon.
Step 9: Start up the compact RAM writer
With box 2 selected as the active box, use the "はやぶさバッヂ" to start a compact RAM writer. We'll be using these to build the full RAM writer.
Controls:
A: Address +1h B: Address -1h DOWN: Value +1h UP: Value -1h RIGHT: Value +10h LEFT: Value -10h START: Exit SELECT: Start execution from $DCE0 onward '''Do not use SELECT until you've finished writing the full RAM writer.'''
==Step 10: using the compact RAM writer
Using the compact RAM writer, write the following values at the following addresses:
Address | Value | Opcode |
---|---|---|
WRA1:DCE0 | 21 00 D0 | ld hl,D000 |
WRA1:DCE3 | CD 16 DD | call DD16 |
WRA1:DCE6 | E5 | push hl |
WRA1:DCE7 | 11 F8 FF | ld de,FFF8 |
WRA1:DCEA | 19 | add hl,de |
WRA1:DCEB | 54 | ld d,h |
WRA1:DCEC | 5D | ld e,l |
WRA1:DCED | 21 AB C3 | ld hl,C3AB |
WRA1:DCF0 | 36 7C | ld (hl),7C |
WRA1:DCF2 | 23 | inc hl |
WRA1:DCF3 | 7A | ld a,d |
WRA1:DCF4 | CD 56 DD | call DD56 |
WRA1:DCF7 | 7B | ld a,e |
WRA1:DCF8 | CD 56 DD | call DD56 |
WRA1:DCFB | 36 7F | ld (hl),7F |
WRA1:DCFD | 23 | inc hl |
WRA1:DCFE | 1A | ld a,(de) |
WRA1:DCFF | CD 56 DD | call DD56 |
WRA1:DD02 | 36 7C | ld (hl),7C |
WRA1:DD04 | 01 0C 00 | ld bc,000C |
WRA1:DD07 | 09 | add hl,bc |
WRA1:DD08 | 13 | inc de |
WRA1:DD09 | 7D | ld a,l |
WRA1:DD0A | FE 13 | cp a,13 |
WRA1:DD0C | 20 E2 | jr nz,DCF0 |
WRA1:DD0E | 3E ED | ld a,ED |
WRA1:DD10 | EA 4B C4 | ld (C44B),a |
WRA1:DD13 | E1 | pop hl |
WRA1:DD14 | 18 CD | jr DCE3 |
WRA1:DD16 | CD 40 38 | call 3840 |
WRA1:DD19 | F0 B3 | ld a,(ff00+B3) |
WRA1:DD1B | 07 | rlca |
WRA1:DD1C | 30 04 | jr nc,DD22 |
WRA1:DD1E | 3E 01 | ld a,01 |
WRA1:DD20 | 18 1C | jr DD3E |
WRA1:DD22 | 07 | rlca |
WRA1:DD23 | 30 03 | jr nc,DD28 |
WRA1:DD25 | 9F | sbc a |
WRA1:DD26 | 18 16 | jr DD3E |
WRA1:DD28 | 07 | rlca |
WRA1:DD29 | 30 04 | jr nc,DD2F |
WRA1:DD2B | 3E F0 | ld a,F0 |
WRA1:DD2D | 18 0F | jr DD3E |
WRA1:DD2F | 07 | rlca |
WRA1:DD30 | 30 04 | jr nc,DD36 |
WRA1:DD32 | 3E 10 | ld a,10 |
WRA1:DD34 | 18 08 | jr DD3E |
WRA1:DD36 | 07 | rlca |
WRA1:DD37 | 30 02 | jr nc,DD3B |
WRA1:DD39 | E1 | pop hl |
WRA1:DD3A | C9 | ret |
WRA1:DD3B | 07 | rlca |
WRA1:DD3C | D0 | ret nc |
WRA1:DD3D | E9 | jp hl |
WRA1:DD3E | CB 43 | bit 0,e |
WRA1:DD40 | 28 03 | jr z,DD45 |
WRA1:DD42 | 86 | add (hl) |
WRA1:DD43 | 77 | ld (hl),a |
WRA1:DD44 | C9 | ret |
WRA1:DD45 | CB 4B | bit 1,e |
WRA1:DD47 | 28 03 | jr z,DD4C |
WRA1:DD49 | 84 | add h |
WRA1:DD4A | 67 | ld h,a |
WRA1:DD4B | C9 | ret |
WRA1:DD4C | 06 00 | ld b,00 |
WRA1:DD4E | CB 7F | bit 7,a |
WRA1:DD50 | 28 01 | jr z,DD53 |
WRA1:DD52 | 05 | dec b |
WRA1:DD53 | 4F | ld c,a |
WRA1:DD54 | 09 | add hl,bc |
WRA1:DD55 | C9 | ret |
WRA1:DD56 | 47 | ld b,a |
WRA1:DD57 | CB 37 | swap a |
WRA1:DD59 | CD 5D DD | call DD5D |
WRA1:DD5C | 78 | ld a,b |
WRA1:DD5D | E6 0F | and a,0F |
WRA1:DD5F | C6 F6 | add a,F6 |
WRA1:DD61 | 30 02 | jr nc,DD65 |
WRA1:DD63 | C6 60 | add a,60 |
WRA1:DD65 | 22 | ldi (hl),a |
WRA1:DD66 | C9 | ret |
Note: for V1.0, change the value of $DD17 to $3F instead of $40.
After rewriting these values, it might be a good idea to exit the program and save the game. Afterwards, start up the compact RAM writer and press SELECT to start the full RAM writer.