Guest User

Pokémon Diamond (Telefang Power bootleg) -- Save loading bug

a guest
Jun 12th, 2015
783
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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.  
  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.  
  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.  
  234. ;TODO: Finish this later...
Advertisement
Add Comment
Please, Sign In to add comment