Guides:Mail Writer GS (non-EN): Difference between revisions
Jump to navigation
Jump to search
Content added Content deleted
Line 267: | Line 267: | ||
The code overwrites part of itself to call the byteFill function. This will fill the area between $D57E and $D5AF with $FF values, setting all 50 TM quantities to 255. Separately, this code overwrites the latter half of party pokémon #5's stat experience data, allowing it to function as a TM25 bootstrap that redirects execution to the Mail Writer. |
The code overwrites part of itself to call the byteFill function. This will fill the area between $D57E and $D5AF with $FF values, setting all 50 TM quantities to 255. Separately, this code overwrites the latter half of party pokémon #5's stat experience data, allowing it to function as a TM25 bootstrap that redirects execution to the Mail Writer. |
||
<pre> |
|||
French |
|||
Box 1: $D8BF |
|||
80 add a, b |
|||
AF xor a ; a = $00, carry flag reset |
|||
EA F9 F8 ld ($F8F9), a |
|||
DE FF sbc $FF ; a = $01, carry flag set |
|||
FB ei |
|||
50 ld d, b |
|||
Box 2: $D8C8 |
|||
EA F7 F8 ld ($F8F7), a |
|||
DE A2 sbc $A2 ; a = $5E, carry flag set |
|||
EA FB F8 ld ($F8FB), a |
|||
50 ld d; b |
|||
Box 3: $D8D1 |
|||
87 add a ; a = $BC, carry flag reset |
|||
DE 8B sbc $8B ; a = $31, carry flag reset |
|||
EA FC F8 ld ($F8FC), a |
|||
E6 A1 or $A1 ; a = $21, carry flag reset |
|||
50 ld d, b |
|||
Box 4: D8DA |
|||
EA F4 F8 ld ($F8F4), a |
|||
DE EF sbc $EF ; a = $32, carry flag set |
|||
EA F8 F8 ld ($F8F8), a |
|||
50 ld d, b |
|||
Box 5: $D8E3 |
|||
DE B3 sbc $B3 ; a = $7E, carry flag set |
|||
EA F5 F8 ld ($F8F5), a |
|||
EA 9D FA ld ($FA9D), a |
|||
50 ld d, b |
|||
Box 6: $D8EC |
|||
AF xor a ; a = $00, carry flag reset |
|||
DE FC sbc $FC ; a = $04, carry flag set |
|||
EA 9B FA ld ($FA9B), a |
|||
9F sbc a ; a = $FF, carry flag set |
|||
FB ei |
|||
21 |
|||
Box 7: $D8F5 |
|||
7E F5 ld hl, $F57E |
|||
01 32 00 ld bc, $0032 |
|||
DC 5E 31 call c, byteFill |
|||
50 ld d, b |
|||
Box 8: $D907 |
|||
E6 F5 and $F5 ; a = $F5, carry flag reset |
|||
EA 9E FA ld ($FA9E), a |
|||
DE B7 sub $B7 ; a = $3E, carry flag reset |
|||
FB ei |
|||
50 ld d, b |
|||
Box 9: $D910 |
|||
EA 9A FA ld ($FA9A), a |
|||
87 add a ; a = $7C, carry flag reset |
|||
DE B9 sbc $B9 ; a = $C3, carry flag set |
|||
FB ei |
|||
FB ei |
|||
50 ld d, b |
|||
Box 10: $D919 |
|||
EA 9C FA ld ($FA9C), a |
|||
D9 ret c |
|||
50 ld d, b |
|||
Party pokémon #3's stat experience, starting from $DA9A |
|||
3E 04 ld a, $04 |
|||
C3 7E F5 jp $F57E |
|||
</pre> |
|||
<pre> |
|||
German |
|||
Lead-up to wBoxNames: $D8BE |
|||
22 ldi (hl), a |
|||
Box 1: $D8BF |
|||
C0 |
|||
21 F4 F8 ld hl, $F8F4 ; corresponds to terminator of box #9's name |
|||
C4 BE F8 call nz, $F8BE ; due to mail, a = $21 |
|||
96 sub (hl) ; a = $7E |
|||
50 ld d, b |
|||
Box 2: $D8C8 |
|||
C4 BE F8 call nz, $F8BE |
|||
96 sub (hl) ; a = $F5 |
|||
C4 BE F8 call nz, $F8BE |
|||
AE xor (hl) ; a = $0E |
|||
50 ld d; b |
|||
Box 3: $D8D1 |
|||
C4 BE F8 call nz, $F8BE |
|||
B6 or (hl) ; a = $9F |
|||
86 add (hl) ; a = $32 |
|||
C4 BE F8 call nz, $F8BE |
|||
50 ld d, b |
|||
Box 4: D8DA |
|||
86 add (hl) ; a = $C3 |
|||
C4 BE F8 call nz, $F8BE |
|||
86 add (hl) ; a = $79 |
|||
C4 BE F8 call nz, $F8BE |
|||
50 ld d, b |
|||
Box 5: $D8E3 |
|||
86 add (hl) ; a = $31 |
|||
C4 BE F8 call nz, $F8BE |
|||
A6 and (hl) ; a = $21 |
|||
C4 BE F8 call nz, $F8BE |
|||
50 ld d, b |
|||
Box 6: $D8EC |
|||
AF xor a ; a = $00 |
|||
F6 9A or $9A ; a = $9A |
|||
C4 BE F8 call nz, $F8BE |
|||
F6 FF or $FF ; a = $FF |
|||
21 |
|||
Box 7: $D8F5 |
|||
7E F5 ld hl, $F57E |
|||
0E 32 ld c, $32 |
|||
C4 5E 31 call nz, byteFill |
|||
21 9A |
|||
Box 8: $D907 |
|||
FA ld hl, $FA9A |
|||
E6 7F and $7F ; a = $7F |
|||
E6 BE and $BE ; a = $3E |
|||
C4 BE F8 call nz, $F8BE |
|||
50 ld d, b |
|||
Box 9: $D910 |
|||
E6 84 and $84 ; a = $04 |
|||
C4 BE F8 call nz, $F8BE |
|||
AF xor a ; a = $00 |
|||
F6 C2 or C2 ; a = $C2 |
|||
50 ld d, b |
|||
Box 10: $D919 |
|||
C4 BE F8 call nz, $F8BE |
|||
87 add a ; a = $84 |
|||
84 add a, h ; a = $7E |
|||
C4 BE F8 call nz, $F8BE |
|||
Box 11: $D922 |
|||
AF xor a |
|||
F6 F5 or $F5 ; a = $F5 |
|||
C3 BE F8 jp $F8BE |
|||
Party pokémon #3's stat experience, starting from $DA9A |
|||
3E 04 ld a, $04 |
|||
C2 7E F5 jp nz, $F57E ; carry and zero flag are both reset when using TM25 |
|||
</pre> |
|||
===Effect of the TM code=== |
===Effect of the TM code=== |