Jump to content

Pokémon Crystal any% speedrun route: Difference between revisions

m
→‎Preparations: Avoided unnecessary uses of "you".
>Bbbbbbbbba
m (→‎Preparations: Grammar.)
m (→‎Preparations: Avoided unnecessary uses of "you".)
 
(5 intermediate revisions by 2 users not shown)
Line 8:
 
*Clear saves between resets.
**This is required any time youthe startrunner starts a New Game, since yourthe lucky ID persists regardless of having a save file.
*[https://youtu.be/LgQiDpcPpDQ '''Manipulate for a Trainer ID of 0x26FB (09979) and Lucky ID of 0x186F (06255).''']
*[https://youtu.be/zqTlMDVPg0o '''Manipulate for a Cyndaquil with DVs E9xx'''] (see the original route guide for detailed inputs).
Line 26:
**BOX 2: é n 6 'v f é R 5
**BOX 3: f é o 6 p é ''é'' 6
**BOX 4: é ''5'' 5 <{{PK>}} <{{PK>}} 'd
**Note: Characters in italic don't matter (they are overwritten by the ACE).
*'''Move Cyndaquil to the second slot in party''', and save the game ("move PkMn w/o mail" is the fastest way to achieve both).
Line 47:
***carry flag unset (calculating the address of jumptable entry 255 didn't overflow)
 
{| class="wikitable"
{|
|-
|
{| border="1" width="100%" align="left" style="background:#f0f0f0; border:1px solid #000000; border-collapse:collapse;"
|- style="background: silver;"
!Program counter!!Hex!!ASM!!In-game meaning!!In-game value!!Comments
|-
|$CD52 ~ $CD6F||00 (*30)||nop||<!-- TODO -->|| ||
|-
|$CD70||D8||ret c|| rowspan="3" |Pointers to background map tiles|| rowspan="3" |$9BD8, $9BDA, $9BDC...||Jump not taken
Line 62 ⟶ 58:
|$CD72||DA 9B DC||'''jp c, $DC9B'''||Jump taken
|-
|$DC9B ~ $DC9E||00 (*4)||nop||Unused|| ||
|-
|$DC9F||18 6F||'''jr 0x6F'''||Lucky ID||06255 (0x186F)||Jumps to $DD10
Line 74 ⟶ 70:
|$DD15||26 FB||'''ld h, 0xFB'''||Original Trainer ID of Cyndaquil||09979 (0x26FB)||hl = 0xFB6C
|-
|$DD17 ~ $DD18||00 00||nop|| rowspan="2" |Experience of Cyndaquil<br /><br />|| rowspan="2" |205 (0x0000CD)||
|-
| rowspan="2" |$DD19|| rowspan="2" |CD 00 32|| rowspan="2" |'''call $3200'''|| rowspan="2" |Calls WaitBGMap2, which calls DelayFrames;<br />a = 0x00, c = 0x00
Line 98 ⟶ 94:
|$DD24||E9||'''jp hl'''||First byte of DVs of Cyndaquil||0xE9||Jumps to 0xFB6C (Echo RAM, equivalent to $DB6C)
|-
|$FB6C ~ $FB71||00 (*6)||nop||Unused|| ||
|-
|$FB72||00||nop||Index of current box (0-based)||Box 1||
|-
|$FB73 ~ $FB74||00 00||nop||Unused|| ||
|-
|$FB75||93||'''sub e'''|| rowspan="5" |Box 1 name||T||a = 0x01
Line 108 ⟶ 104:
|$FB76||F6 D6||'''or a, 0xD6'''||0 'v||a = 0xD7
|-
|$FB78||EA 8D FB||'''ld ([$FB8D)], a'''||é N 5||($FB8D) = 0xD7
|-
|$FB7B||D6 D4||'''sub a, 0xD4'''||'v 's||a = 0x03
Line 114 ⟶ 110:
|$FB7D||50||ld d, b||(terminator)||
|-
|$FB7E||EA AD FC||'''ld ([$FCAD)], a'''|| rowspan="4" |Box 2 name||é n 6||[wBackupMapGroup] = 0x03
|-
|$FB81||D6 A5||'''sub a, 0xA5'''||'v f||a = 0x5E
|-
|$FB83||EA B1 FB||'''ld ([$FB91)], a'''||é R 5||($FB91) = 0x5E
|-
|$FB86||50||ld d, b||(terminator)||
Line 124 ⟶ 120:
|$FB87||A5||'''and l'''|| rowspan="5" |Box 3 name ($FB8D overwritten by previous code)||f||a = 0x4C
|-
|$FB88||EA AE FC||'''ld ([$FCAE)], a'''||é o 6||[wBackupMapNumber] = 0x4C
|-
|$FB8B||AF||'''xor a'''||p||a = 0x00; clears the carry flag
|-
|$FB8C||EA D7 FC||'''ld ([$FCD7)], a'''||é (0xD7) 6||[wPartyCount] = 0x00
|-
|$FB8F||50||''ld d, b''||(terminator)||d = 0x00
|-
|$FB90||EA 5E FB||'''ld ([$FB5E)], a'''|| rowspan="5" |Box 4 name ($FB91 overwritten by previous code)||é (0x5E) 5||[wEventFlags + 236] = 0x00
|-
|$FB93||E1||'''pop hl'''||<{{PK>}}||Pops text pointer
|-
|$FB94||E1||'''pop hl'''||<{{PK>}}||Pops return pointer in RunMobileScript
|-
|$FB94||D0||'''ret nc'''||'d||Returns to MobileScriptChar
|}
|}
 
Line 149 ⟶ 144:
**At this point, we have no Pokémon in our party (more precisely, our party count is 0), so the [[instant victory glitch (Generation II)|"instant victory effect"]] is triggered. Since the player never entered a battle since loading the save file, the overworld script acts as if the player won. In the case of Red, this means going to the credit roll.
 
==YouTube video==
{{Youtube|qaVUIAgsLpY|Pokeguy84}}
 
Cookies help us deliver our services. By using our services, you agree to our use of cookies.