View difference between Paste ID: NJCCdnuW and bzWJ0Bt9
SHOW: | | - or go back to the newest paste.
1
Jade/Power/Speed:
2
ROM4:41C8 3E 10            ld   a,10
3
ROM4:41CA EA 96 CF         ld   (CF96),a
4
ROM4:41CD 3E 0E            ld   a,0E
5
ROM4:41CF EA E1 C3         ld   (C3E1),a
6
ROM4:41D2 C9               ret  
7
8
All: 
9
ROM0:0476 F3               di   
10
ROM0:0477 EA 23 C4         ld   (C423),a
11
ROM0:047A FA 25 C4         ld   a,(C425)
12
ROM0:047D F5               push af
13
ROM0:047E FA 23 C4         ld   a,(C423)
14
ROM0:0481 EA 00 20         ld   (2000),a
15
ROM0:0484 EA 25 C4         ld   (C425),a
16
ROM0:0487 FB               ei   
17
ROM0:0488 CD 9D 04         call 049D
18
19
Diamond:
20
;---WARNING!!! OBFUSCATED CODE AHEAD!!!---
21
ROM4:41C8 3E 10            ld   a,10
22
ROM4:41CA 21 80 47         ld   hl,4780
23
ROM4:41CD 3E 5D            ld   a,5D
24
ROM4:41CF CD 76 04         call 0476
25
ROM4:41D2 C9               ret  
26
27
ROM0:049D E9               jp   hl
28
29
RO5D:4780 18 15            jr   4797
30
31
RO5D:4797 78               ld   a,b     ;b = 0
32
RO5D:4798 00               nop  
33
RO5D:4799 18 10            jr   47AB
34
35
RO5D:47AB F3               di   
36
RO5D:47AC 18 DE            jr   478C
37
38
RO5D:478C 00               nop  
39
RO5D:478D 18 F4            jr   4783
40
41
RO5D:4783 3E 04            ld   a,04
42
RO5D:4785 C3 A2 47         jp   47A2
43
44
RO5D:47A2 F5               push af
45
RO5D:47A3 18 0B            jr   47B0
46
47
RO5D:47B0 18 16            jr   47C8
48
49
RO5D:47C8 3E 80            ld   a,80
50
RO5D:47CA 18 E7            jr   47B3
51-
RO5D:47B3 21 21 9C         ld   hl,9C21   ;Address of a tile for D-Shot graphic
51+
52
RO5D:47B3 21 21 9C         ld   hl,9C21   ;Never actually used for anything
53
RO5D:47B6 C3 DC 47         jp   47DC
54
55
RO5D:47DC E5               push hl        ;hl=9C21
56
RO5D:47DD CD 54 59         call 5954
57
58
;==Begin obfuscated loop #1==
59-
RO5D:5954 18 08            jr   595E      ;What would have been wrong with call 595E?
59+
60
RO5D:5954 18 08            jr   595E
61
62
RO5D:595E E1               pop  hl        ;The RETURN address is popped into hl (47E0).
63
RO5D:595F 18 0F            jr   5970
64
65
RO5D:5970 00               nop  
66
RO5D:5971 18 E4            jr   5957
67
68
RO5D:5957 C1               pop  bc        ;bc = 9C21
69
RO5D:5958 18 20            jr   597A
70
71
RO5D:597A 00               nop  
72
RO5D:597B 18 E8            jr   5965
73
74
RO5D:5965 3E 04            ld   a,04      ;What was the point of setting a=80 earlier if we
75
                                          ;overwrite it afterwards?
76
RO5D:5967 C3 81 59         jp   5981
77
78
RO5D:5981 06 20            ld   b,20
79
RO5D:5983 0E 20            ld   c,20
80
RO5D:5985 18 3F            jr   59C6
81
82
RO5D:59C6 0D               dec  c
83
RO5D:59C7 C3 9A 59         jp   599A
84
85
RO5D:599A 20 E9            jr   nz,5985   ;1 <= c <= 20
86
RO5D:599C 18 F2            jr   5990      ;c == 0
87
88
RO5D:5985 18 3F            jr   59C6     
89
90
RO5D:5990 05               dec  b
91
RO5D:5991 18 19            jr   59AC
92
93
RO5D:59AC 20 D5            jr   nz,5983   ;1 <= b <= 20
94
RO5D:59AE 18 F6            jr   59A6      ;b == 0
95
96
RO5D:59A6 3D               dec  a
97
RO5D:59A7 C3 BF 59         jp   59BF
98
99
RO5D:59BF 20 C0            jr   nz,5981   ;1 <= a <= 4
100
RO5D:59C1 C3 DB 59         jp   59DB      ;a == 0
101
102
RO5D:59DB C5               push bc        ;bc = 0000
103
RO5D:59DC 18 D7            jr   59B5
104
105
RO5D:59B5 00               nop  
106
RO5D:59B6 18 18            jr   59D0
107
108
RO5D:59D0 E5               push hl        ;hl = 47E0
109
RO5D:59D1 18 CE            jr   59A1
110
111
RO5D:59A1 00               nop  
112
RO5D:59A2 18 E4            jr   5988
113
114
RO5D:5988 C9               ret            ;Go to 47E0
115
116
;==End obfuscated loop #1==
117
118
RO5D:47E0 18 F0            jr   47D2
119
120
RO5D:47D2 E1               pop  hl        ;hl=0000
121
RO5D:47D3 18 ED            jr   47C2
122
123
RO5D:47C2 22               ldi  (hl),a    ;a=00; hl=0000; DISABLE EXTERNAL RAM!! (Yes, it was previously enabled)
124
RO5D:47C3 18 F6            jr   47BB
125
126
RO5D:47BB C3 3B 48         jp   483B
127
128
RO5D:483B 18 01            jr   483E
129
130
RO5D:483E E5               push hl        ;hl=0001
131
RO5D:483F CD 54 59         call 5954      ;Back to obfuscated loop #1
132
133
RO5D:4842 E1               pop  hl
134
RO5D:4843 C3 EA 47         jp   47EA
135
136
RO5D:47EA 18 01            jr   47ED
137
138
RO5D:47ED F5               push af        ;af=00C0
139
RO5D:47EE 18 1E            jr   480E
140
141
RO5D:480E 04               inc  b         ;b=01
142
RO5D:480F 18 18            jr   4829
143
144
RO5D:4829 CB 20            sla  b         ;b=02
145
RO5D:482B 18 D9            jr   4806
146
147
RO5D:4806 78               ld   a,b       ;a=02
148
RO5D:4807 18 F2            jr   47FB
149
150
RO5D:47FB CB 20            sla  b         ;b=04
151
RO5D:47FD 18 35            jr   4834
152
153
RO5D:4834 80               add  b         ;a=06
154
RO5D:4835 18 E9            jr   4820
155
156
RO5D:4820 80               add  b         ;a=0A
157
RO5D:4821 18 D1            jr   47F4
158
159
RO5D:47F4 80               add  b         ;a=0E
160
RO5D:47F5 18 21            jr   4818
161
162
RO5D:4818 18 34            jr   484E
163
164
RO5D:484E 18 16            jr   4866
165
166
RO5D:4866 CB 30            swap b         ;b=40
167
RO5D:4868 18 E7            jr   4851
168
169
RO5D:4851 C5               push bc        ;bc=4000
170
RO5D:4852 C3 7C 48         jp   487C
171
172
RO5D:487C E1               pop  hl        ;hl=4000
173
RO5D:487D 22               ldi  (hl),a    ;a=0E -- write 0E to 4000 (SRAM bank 0E) (INVALID?? RTC should only be from 08-0C)
174
RO5D:487E 18 F0            jr   4870
175
176
RO5D:4870 CD 69 57         call 5769      ;Obfuscated loop #2
177
178
;==Begin obfuscated loop #2==
179
180
RO5D:5769 18 01            jr   576C
181
182
RO5D:576C C5               push bc       ;bc=4000
183
RO5D:576D 06 30            ld   b,30
184
RO5D:576F 18 06            jr   5777
185
186
RO5D:5777 0E 20            ld   c,20
187
RO5D:5779 18 49            jr   57C4
188
189
RO5D:57C4 0D               dec  c
190
RO5D:57C5 18 E9            jr   57B0
191
192
RO5D:57B0 00               nop  
193
RO5D:57B1 18 DD            jr   5790
194
195
RO5D:5790 20 E7            jr   nz,5779   ;1 <= c <= 20
196
RO5D:5792 18 13            jr   57A7
197
198
RO5D:57A7 05               dec  b
199
RO5D:57A8 C3 9C 57         jp   579C
200
201
RO5D:579C 00               nop  
202
RO5D:579D 18 1B            jr   57BA
203
204
RO5D:57BA 20 BB            jr   nz,5777
205
RO5D:57BC 18 BE            jr   577C
206
207
RO5D:577C C1               pop  bc       ;bc=4000
208
RO5D:577D 18 23            jr   57A2
209
210
RO5D:57A2 00               nop  
211
RO5D:57A3 18 E2            jr   5787
212
213
RO5D:5787 C9               ret  
214
215
;==End obfuscated loop #2==
216
217
RO5D:4873 18 E9            jr   485E
218
219
RO5D:485E CD 69 57         call 5769      ;Obfuscated loop #2
220
RO5D:4861 18 F4            jr   4857
221
222
RO5D:4857 C3 88 48         jp   4888
223
224
RO5D:4888 18 01            jr   488B
225
226
RO5D:488B 3C               inc  a          ;a=0F
227
RO5D:488C 18 1E            jr   48AC
228
229
RO5D:48AC 22               ldi  (hl),a     ;hl=4000, a=0F;  write 0F to 4000 (SRAM bank 0F) (INVALID?? RTC should only be from 08-0C)
230
RO5D:48AD 18 19            jr   48C8
231
232
RO5D:48C8 CD EB 56         call 56EB
233-
;TODO: Finish this later
233+
234
;TODO: Finish this later...