Guides:Coin Case ACE: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
Line 471: | Line 471: | ||
<pre> |
<pre> |
||
Box 1: $D8BF |
Box 1: $D8BF |
||
80 add a, b |
|||
AF xor a ; a = $00 |
AF xor a ; a = $00 |
||
D6 E8 sub $FF ; a = $18 |
|||
EA F9 F8 ld ($F8F9), a |
|||
EA D1 F8 ld ($F8D1), a |
|||
D6 FF sub $FF ; a = $01 |
|||
D6 F7 sub $F7 ; a = $21 |
|||
FB ei |
|||
50 ld d, b |
50 ld d, b |
||
Box 2: $D8C8 |
Box 2: $D8C8 |
||
EA |
EA D0 F8 ld ($F8D0), a |
||
D6 |
D6 FF sub $FF ; a = $22 |
||
EA |
EA D6 F8 ld ($F8D6), a |
||
21 |
|||
50 ld d; b |
|||
Box 3: $D8D1 |
Box 3: $D8D1 |
||
18 F4 ld hl, $F418 |
|||
E6 A1 and $A1 ; a = $21 |
|||
D6 83 sub $83 ; a = $9F |
|||
EA F4 F8 ld ($F8F4), a |
|||
87 add a, a ; a = $3E, carry flag set |
|||
.write |
|||
22 ldi (hl), a |
|||
D0 ret nc ; Ignore on first pass, taken when .write called |
|||
FB ei |
FB ei |
||
50 ld d, b |
50 ld d, b |
||
Box 4: D8DA |
Box 4: D8DA |
||
E6 84 and $84 ; a = $04 |
|||
EA F8 F8 ld ($F8F8), a |
|||
D4 D6 F8 call nc, .write |
|||
D6 E6 sub $E6 ; a = $4C |
|||
D6 87 sub $87 ; a = $7D |
|||
EA FB F8 ld ($F8FB), a |
|||
FB ei |
|||
50 ld d, b |
50 ld d, b |
||
Box 5: $D8E3 |
Box 5: $D8E3 |
||
.loop |
|||
E6 84 and $84 ; a = $04 |
|||
D6 FF sub $FF ; Increments a on each pass |
|||
EA 9B FA ld ($FA9B), a |
|||
EA EF F8 ld ($F8EF), a |
|||
D6 86 sub $86 ; a = $7E |
|||
F5 push af |
|||
FB ei |
|||
F6 FF or $FF ; a = $FF |
|||
50 ld d, b |
50 ld d, b |
||
Box 6: $D8EC |
Box 6: $D8EC |
||
FB ei |
|||
EA F5 F8 ld ($F8F5), a |
|||
FB ei |
|||
EA 9D FA ld ($FA9D), a |
|||
EA xx F5 ld ($F5xx), a ; Ranges from $F57E to $F5AF, all 50 TMs |
|||
F1 pop af |
|||
21 |
|||
FE AF cp $AF |
|||
50 ld d, b |
|||
Box 7: $D8F5 |
Box 7: $D8F5 |
||
D2 FC F8 jp nc, .continue |
|||
A7 and a, a ; Reset carry flag |
|||
01 32 00 ld bc, $0032 |
|||
D2 E3 F8 jp nc, .loop |
|||
.continue |
|||
AF xor a, a |
|||
50 ld d, b |
50 ld d, b |
||
Box 8: $D8FE |
Box 8: $D8FE |
||
F6 D2 and $D2 ; a = $D2, reset carry flag |
|||
D4 D6 F8 call nc, .write |
|||
D6 |
D6 93 sub $93 ; a = $3F |
||
87 add a, a ; a = $7E, reset carry flag |
|||
FB ei |
|||
50 ld d, b |
50 ld d, b |
||
Box 9: $D907 |
Box 9: $D907 |
||
D4 D6 F8 call nc, .write |
|||
D6 9D sub $9D ; a = $E1, TM33's item ID |
|||
EA B8 F5 ld (wItems), a ; Main item pocket, first item ID |
EA B8 F5 ld (wItems), a ; Main item pocket, first item ID |
||
D6 E3 sub $E3 ; a = $F5 |
|||
EA 9E FA ld ($FA9E), a |
|||
50 ld d, b |
50 ld d, b |
||
Box 10: $D910 |
Box 10: $D910 |
||
F6 F5 or $F5 ; a = $F5 |
|||
D2 D6 F8 jp nc, .write |
|||
D0 ret nc |
|||
50 ld d, b |
50 ld d, b |
||
TM33 bootstrap, starting from $D418 |
|||
3E 04 ld a, $04 |
3E 04 ld a, $04 |
||
D2 7E F5 jp nc, wTMsHMS ; Carry and zero flag are both reset when using TM25 |
D2 7E F5 jp nc, wTMsHMS ; Carry and zero flag are both reset when using TM25 |
||
</pre> |
|||
====Raw Assembly==== |
|||
<pre> |
|||
AF D6 E8 EA D1 F8 D6 F7 50 |
|||
EA D0 F8 D6 FF EA D6 F8 50 |
|||
F4 F4 D6 83 87 87 D0 FB 50 |
|||
E6 84 D4 D6 F8 D6 87 FB 50 |
|||
D6 FF EA EF F8 F5 F6 FF 50 |
|||
FB FB EA F5 F5 F1 FE AF 50 |
|||
D2 FC F8 A7 D2 E3 F8 AF 50 |
|||
F6 D2 D4 D6 F8 D6 93 87 50 |
|||
D4 D6 F8 D6 9D EA B8 F5 50 |
|||
F6 F5 D2 D6 F8 50 50 50 50 |
|||
</pre> |
</pre> |
||
Line 585: | Line 608: | ||
<pre> |
<pre> |
||
Box 1: $D8BF |
Box 1: $D8BF |
||
80 add a, b |
|||
AF xor a ; a = $00 |
AF xor a ; a = $00 |
||
D6 |
D6 E8 sub $FF ; a = $18 |
||
EA |
EA D1 F8 ld ($F8D1), a |
||
D6 F7 sub $F7 ; a = $21 |
|||
FB ei |
|||
50 ld d, b |
50 ld d, b |
||
Box 2: $D8C8 |
Box 2: $D8C8 |
||
EA D0 F8 ld ($F8D0), a |
|||
D6 86 sub $86 ; a = $7E |
|||
D6 FF sub $FF ; a = $22 |
|||
EA 9D FA ld ($FA9B), a |
|||
D6 |
EA D6 F8 ld ($F8D6), a |
||
21 |
|||
FB ei |
|||
50 ld d; b |
|||
Box 3: $D8D1 |
Box 3: $D8D1 |
||
18 F4 ld hl, $F418 |
|||
D6 |
D6 83 sub $83 ; a = $9F |
||
.doubleAndWrite |
|||
EA 9A FA ld ($FA9A), a |
|||
87 add a, a ; a = $3E, carry flag set |
|||
.write |
|||
22 ldi (hl), a |
|||
D0 ret nc ; Ignore on first pass, taken when .write/.doubleAndWrite called |
|||
FB ei |
|||
50 ld d, b |
50 ld d, b |
||
Box 4: D8DA |
Box 4: D8DA |
||
E6 84 and $84 ; a = $04 |
|||
87 add a, a |
|||
D4 D6 F8 call nc, .write |
|||
D6 B9 sub $B9 ; a = $C3 |
|||
AF xor a ; a = $00 |
|||
EA 9C FA ld ($FA9C), a |
|||
F6 D2 or $D2 ; a = $D2 |
|||
D0 ret nc |
|||
50 ld d, b |
50 ld d, b |
||
Box 5: $D8E3 |
|||
Party pokémon #3's stat experience, starting from $DA9A |
|||
D4 D6 F8 call nc, .write |
|||
D6 93 sub $93 ; a = $3F |
|||
D4 D5 F8 call nc, .doubleAndWrite |
|||
50 ld d, b |
|||
Box 6: $D8EC |
|||
AF xor a ; a = $00 |
|||
F6 F5 or $F5 ; a = $F5 |
|||
D2 D6 F8 jp nc, .write |
|||
50 ld d, b |
|||
TM33 bootstrap, starting from $D418 |
|||
3E 04 ld a, $04 |
3E 04 ld a, $04 |
||
D2 7E F5 jp nc, wTMsHMS ; Carry and zero flag are both reset when using TM25 |
|||
</pre> |
</pre> |
||
====Raw Assembly==== |
|||
<pre> |
|||
AF D6 E8 EA D1 F8 D6 F7 50 |
|||
EA D0 F8 D6 FF EA D6 F8 50 |
|||
F4 F4 D6 83 87 87 D0 FB 50 |
|||
E6 84 D4 D6 F8 AF F6 D2 50 |
|||
D4 D6 F8 D6 93 D4 D5 F8 50 |
|||
AF F6 E1 D2 D6 F8 50 50 50 |
|||
</pre> |
|||
[[Category:Guides]] |
[[Category:Guides]] |