User:TimoVM/RAM Writer setups: Difference between revisions
m
→Step 1: Setting all TM quantities to 255
(31 intermediate revisions by the same user not shown) | |||
Line 15:
General installation overview:
# Assemble 8 items to form a text converter item code.
# Catch
# Use the nickname writer to write the large RAM writer in memory.
# The RAM Writer will automatically take care of the final setup upon first execution
Line 97:
This item code looks at the nicknames of the pokémon in the currently stored box, then uses pairs of text characters to write a new program. After it finishes, it immediately jumps to execute the newly written program.
==Step 2: Catching and nicknaming
The item code we have assembled converts nicknames into code, which means we'll have to catch pokémon with the right nicknames to do something useful. The pokémon we'll be catching will be stored in a storage box. Make sure the box you pick fulfils the following requirements:
* The box needs to be set as the active box.
* If on VC,
Once that is done, we will fill the box with nicknamed pokémon. We'll be making a list with nicknames using Scottey's nickname converter tool. Simply copy paste the entire code below into the converter, then press the "Run" button to display the list of nicknames. '''Ignore the checksums for now.'''
Line 113:
! Red/Blue !! Yellow
|-
! Nickname writer (
|-
| <pre>00 00 00 00 00 11 9C D8 D5 D5
21 4B CF D1 2A 87 30 09 86 12
0E 01 D5 CD DF 15 CD 31 38 D1
21 4A CF D1 2A 87 30 09 86 12
13 23 81 12 4F 18 F3 21 29 C4
0E 01 D5 CD BF 13 CD 1E 38 D1
F0 B5 A7 28 EE 0F 38 CF 1B 0F
38 E7 0F D0 1B 1B 1B 1B 18 C3 </pre>
|}
Line 141 ⟶ 145:
During the input phase, the controls are as follows:
* '''Press
* '''Press
* '''Press B''' to go back one byte at a time. The checksum will automatically be overwritten by the value written at the current selected address, giving you a measure of how far back you're going. '''This function is only needed if you accidentally confirmed a nickname without writing all 10 characters.'''
* '''Press any other button (except A)''' to immediately start executing the newly written program. '''Only do this when you've finished writing everything.'''
Line 150 ⟶ 155:
![[File:RB Name writer write mode.png|thumb]]!![[File:RB Name writer input mode.png|thumb]]
|-
| Press select to switch between uppercase/lowercase ||
|}
Line 157 ⟶ 162:
{| class="wikitable"
|+ Codes to be used with [https://scotteh.me/ace/nick Scotteh's mail code tool]
|-
! Installation for Red/Blue (50 codes) !! Installation for Yellow (50 codes)
|-
| <pre>
11 20 C6 D5 21 53 BA C3 B5 00 </pre>
59 01 C8 00 11 53 BA 21 BB D8
CD B1 00 11 64 DA D5 0E 12 C3
Line 210 ⟶ 213:
C9 E5 F0 FE 26 0A 74 26 40 77
E1 C9 21 43 0A 74 65 75 0E C8
11 78 C9 D5 21 53 BA C3 B1 00 </pre>
|}
Line 677 ⟶ 680:
30 01 13 07 30 01 1B 07 30 03 11 F0 FF 07 30 02 1E 10 F1 C9 }}
=Gold/Silver/Crystal=
General installation overview:
Line 687 ⟶ 690:
==Requirements==
In order to install the RAM writer, you need to have an ACE setup that redirects execution to the 1st or 2nd character of box name 1. Available options are
For Gold & Silver:
* [[User:TimoVM/Coin_Case_ACE_with_stat_xp_redirection|Coin Case ACE]] which uses a pokémon's EVs to redirect to the last read mail, which fixes the stack and then redirects to the start of box names.
* Wrong Pocket TM17 ACE using a Quagsire holding TM01 and with Return as first move.
For Crystal:
* [[User:TimoVM/TMless_0x1500_ACE|TMless 0x1500 ACE setup]] which uses a bad clone and a pokémon with specific EVs to redirect to the last read mail, which redirects to the start of box names.
* (TODO: add Zodiac's page and/or LuckyTyphlosion's setup)
Next, make sure to take care of the following:
* Make sure to empty box 14 of any pokémon you wish to keep. We'll be installing the full RAM writer in the data for box 14, meaning everything inside it will have its data overwritten.
*
==Step 1: Setting all TM quantities to 255==
Enter the following box names. After preparations are complete, execute ACE.
{| class="wikitable"
|+ Caption text
|-
! Gold & Silver !! Crystal
|-
| <pre>
Box 1: A p 'v C é 2 2 5
Box 2: 'v j 'v u é 1 2 5
Line 709 ⟶ 723:
Box 7: 0 9 ♀ 5 ♀ 5 5 5
Box 8: 5 5 5 5 5 5 x 'd
</pre> || | <pre>
Box 1: p 'v 9 é 'd 5 'v *
Box 2: é H 5 'v ♂ é G 5
Box 3: A 4 é m 5 'v 9 5
Box 4: é k 5 F é 'l 5 F
Box 5: 0 B 's 'v 5 u 'v c
Box 6: é n 5 's k 5 'v B
Box 7: 'd 5 5 2 p é 'm 5
Box 8: 'v 'd é 't 5 'v ♂ 5
Box 9: é 's 5 é n 5 v 5
Box 10: 'v L é T 2 0 9 5
Box 11: 5 5 5 5 'm 5 5 ♀
Box 12: 'v F 's k 5 F ? E
Box 13: 's k 5 * 'm k 5 5
</pre>
|}
This will set the quantities of all 50 TMs to 255. For Crystal, this will also change the first item to a TM15 and install a bootstrap to redirect execution to the TM/HM pocket. Do not use this TM15 yet.
===What to do now you have 255 of every TM===
At this moment, there are two main options.
# You can use the quantities in the TM/HM pocket to easily write out simple codes. A list of TM codes can be found on [[User:TimoVM/TM_codes | this page]]. (Currently only supported for Gold/Silver)
# You can continue with the guide and build a RAM writer in order to achieve near-complete ACE control.
Line 722 ⟶ 751:
Sell TMs such that you get the following quantities:
===Version independent TMs===
{| class="wikitable"
! TM
|-
|TM01 DYNAMICPUNCH ||x17 ||
|-
|TM02 HEADBUTT ||
|-
|TM03 CURSE ||
|-
|TM04 ROLLOUT ||x213
|-
|TM05 ROAR ||x213
|-
|TM06 TOXIC ||x213
|-
|TM07 ZAP CANNON ||
|-
|TM08 ROCK SMASH ||
|-
|TM09 PSYCH UP ||
|-
|TM10 HIDDEN POWER ||
|-
|TM11 SUNNY DAY ||
|-
|TM12 SWEET SCENT ||
|-
|TM13 SNORE ||
|-
|TM14 BLIZZARD ||
|-
|TM15 HYPER BEAM ||
|-
|TM16 ICY WIND ||
|-
|TM17 PROTECT ||
|-
|TM18 RAIN DANCE ||
|-
|TM19 GIGA DRAIN ||
|-
|TM20 ENDURE ||
|-
|TM21 FRUSTRATION ||
|-
|TM22 SOLARBEAM ||
|-
|TM23 IRON TAIL ||
|-
|TM24 DRAGONBREATH ||
|-
|TM25 THUNDER ||
|-
|TM26 EARTHQUAKE ||
|-
|TM27 RETURN ||
|-
|TM28 DIG ||
|-
|TM29 PSYCHIC ||
|-
|TM30 SHADOW BALL ||
|-
|TM31 MUD-SLAP ||
|-
|TM32 DOUBLE TEAM ||
|-
|TM33 ICE PUNCH ||
|-
|TM34 SWAGGER ||
|-
|TM35 SLEEP TALK ||
|-
|TM36 SLUDGE BOMB ||
|-
|TM37 SANDSTORM ||
|-
|TM38 FIRE BLAST ||
|-
|TM39 SWIFT ||
|-
|TM40 DEFENSE CURL ||
|-
|TM41 THUNDERPUNCH ||
|-
|TM42 DREAM EATER ||
|-
|TM43 DETECT ||
|-
|TM44 REST ||
|-
|TM45 ATTRACT ||
|-
|TM46 THIEF ||
|-
|TM47 STEEL WING ||
|-
|TM48 FIRE PUNCH ||
|-
|TM49 FURY CUTTER ||x24
|-
|TM50 NIGHTMARE ||
|}
===
{| class="wikitable"
! Rowspan = "2" | TM || Colspan = "2" | Gold & Silver || Colspan = "2" | Crystal
|-
! Final Quantity !! Sell value !! Final Quantity !! Sell value
|-
|TM02 HEADBUTT ||x85 ||170000||x128 ||127000
|-
|TM03 CURSE ||x221 ||51000||x210 ||67500
|-
|TM08 ROCK SMASH ||x66 ||94500 ||x117 ||69000
|-
|TM09 PSYCH UP ||x98 ||78500 ||x94 ||80500
|-
|TM32 DOUBLE TEAM ||x196 ||59000 ||x197 ||58000
|-
|TM35 SLEEP TALK ||x239 ||8000 ||x204 ||25500
|-
|TM36 SLUDGE BOMB ||x58 ||98500 ||x56 ||99500
|-
|TM39 SWIFT ||x144 ||111000 ||x75 ||180000
|-
|TM40 DEFENSE CURL ||x55 ||100000 ||x53 ||101000
|}
===What to do now you have sold TMs===
Once you've finished selling TMs, set up box names according to the following codes. This code will redirect execution from box names to TMs.
'''For Crystal, you already have a TM15 that will redirect execution to the TM/HM pocket, meaning you can skip setting up this box code.'''
{| class="wikitable"
Line 951 ⟶ 895:
| Box 1 || A p 'v C é 'd 2 5
|-
| Box 2 || 5 5 5
|-
| Box 3 || ♀
Line 957 ⟶ 901:
| Other || Can be left as they are
|}
==Step 3: Using the mail writer==
Once everything has been double checked, you can use your ACE item (In Crystal, use TM15) in order to start up the mail writer. '''Make sure to save prior to this step. Once you start the mail writer you'll need to finish writing all mail codes before you have an opportunity to save again.'''
===Controls===
Line 969 ⟶ 913:
Alongside these actions, the mail writer will now request user input:
* '''Press
* '''Press START''' to immediately jump to and start executing the newly written program. '''Only use this when you've finished every mail.'''
* '''Press any other button''' to go back one byte at a time to correct errors. '''If the printed checksum doesn't match the expected checksum, press DOWN 16 times to retry the last mail.''' This will also overwrite the printed checksum with the value at the currently selected address, giving you a method to check how far back you're going.
{| class="wikitable"
Line 986 ⟶ 930:
|+ Codes to be used with [https://scotteh.me/ace/mail/ Scotteh's mail code tool]
|-
!
|-
| <pre>3E 03 CD E1 30 0E CE 11 E1 B9 21
0E 2D 11 18 D4 D5 CD 1A 31
22 AF 3D 22 C9 AF 3C E0 D6 21 00 DA CD 21 DF E5
11 F8 FF 19 54 5D 01 0C 00 F0 FE 21 A9 C3 CD E1
E3 22 1A CD 65 CC 36 7C 09 13 7D FE 13 20 E5 CD
F1 30 21 50 C4 36 ED E1 18 C2 F5 CB 37 CD 6C CC
F1 E6 0F C6 F6 F6 80 22 C9 CD 90 37
AB 07 30 01
30 02 1E 10 07 C9 CD 74 CC 38 41 07 30 0B 07 07
30 01 E9 F0 FE 83 E0 FE C9 07 30 03 53 1E 00 19
07 30 2A E5 F0 FE CD E1 30 46 CD 74 CC 07 07 30
01 43 07 38 0E 78 83 47 21 50 C4 36 EC 23 CD 65
CC 18 E7 E1 70 E5 3E 05 21 FD 4D CF E1 C9 FA AB
CE FE E1 C0 FA C2 CE FE 90 C0 3E 0D EA E0 CE C9
C3 01 DF 3E 03 CD E1 30 0E 71 11 20 CC D5 21 E1
DF CD 1A 31 0E 03 11 8A FF CD 1A 31 AF E0 89 C9 </pre>||<pre>3E 03 CD CB 2F 0E D0 11 E1 B9 21 A6 D2 CD 26 30
0E 2A 11 47 DA D5 CD 26 30 21 BC D8 34 3E D0 4E
09 22 AF 3D 22 C9 AF 3C E0 D4 21 00 DA CD 21 C0
E5 11 F8 FF 19 54 5D 01 0C 00 F0 FE 21 A9 C4 CD
CB 2F CD 65 CD 3E 7C 22 7A CD 65 CD 7B CD 65 CD
3E E3 22 1A CD 65 CD 36 7C 09 13 7D FE 13 20 E5
CD E1 2F 21 50 C5 36 ED E1 18 C2 F5 CB 37 CD 6C
CD F1 E6 0F C6 F6 F6 80 22 C9 CD 4B 35 11 00 00
F0 A9 07 30 01 13 07 30 01 1B 07 30 03 11 F0 FF
07 30 02 1E 10 07 C9 FA 74 CF FE D0 C0 FA 8B CF
FE 90 C0 3E 0D EA A9 CF C9 CD 74 CD 38 41 07 30
0B 07 07 30 01 E9 F0 FE 83 E0 FE C9 07 30 03 53
1E 00 19 07 30 2A E5 F0 FE CD CB 2F 46 CD 74 CD
07 07 30 01 43 07 38 0E 78 83 47 21 50 C5 36 EC
23 CD 65 CD 18 E7 E1 70 E5 3E 05 21 13 4E CF E1
C9 20 8B C3 00 C0 3E 03 CD CB 2F 0E 71 11 20 CD
D5 21 E1 B9 CD 26 30 0E 5A 11 0F C0 CD 26 30 0E
05 11 F9 FF CD 26 30 3E 70 E0 88 3E 18 E0 87 C9 </pre>
|}
Line 1,021 ⟶ 982:
* Save the RAM writer to the contents of box 14.
*
* Install setup to make sure that using TM33/TM17 from the key item
* Automatically start the RAM writer.
Starting the RAM writer, either automatically or through using wrong pocket TM33/TM17, will activate the following effects:
* Copy the necessary data to memory to activate the RAM writer.
* Deploy setup that will enable the use of TM33/TM17 during battle.
* Start the RAM writer.
After exiting the RAM writer, you can restart the RAM writer by using TM33 from the item pack. In battle, you can activate the RAM writer by using TM33/TM17 and selecting "QUIT". Please note that the setup to enable the use of TM33/TM17 during battle does not persist between resets, you can reenable this function by using the RAM writer outside of battle at least once.
As you can see in the screenshots below, the RAM writer will draw various values on the screen. The leftmost 4 columns describe the addresses that are currently in view. The rightmost two columns describe the values at each of these addresses. All values on screen are represented in hexadecimal format.
Line 1,441 ⟶ 1,402:
C9 ret ; due to earlier push, jump to CC20
</pre>
|