_PoY

[Gold] Shiny 251 Aetienne style

Nov 30th, 2024 (edited)
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 29.52 KB | None | 0 0
  1. Gold - Shiny 251 Aetienne style
  2. ---------------
  3.  
  4. Rule : all 251 shiny Pokémon must be distinctly obtained in the wild.
  5.  
  6. Thanks to TimoVM and luckytyphlosion for their guides and answers.
  7. - TimoVM's Coin Case ACE guide : https://glitchcity.wiki/wiki/Guides:Coin_Case_ACE#What_to_do_with_the_Mail_writer
  8. - Mail Writer codes : https://glitchcity.wiki/wiki/Guides:Mail_Writer_Codes#Deactivate_constant_effects
  9.  
  10. If you want faithful-looking mails for steps 3 & 4, use TimoVM's Mail Writer code converter (English - Gold/Silver) : https://timovm.github.io/MailConverter/
  11. - step 3 : AF0150002146D7CD4C310E21E5D12174DDCD1A31CD97D72130D8223EA72272C9CD46D7AF217BD9B63EC30E46C0368CC9F32180FF3ECD223E97223ED72236E2D9
  12. - step 4 :
  13. F3012700116DD72163DDCD1A31D9FABDD94F3E01EAB8D54721EDD0712EFC702EF53EAA222221A4CE3E93772199D1CBE6213EDC36FF
  14.  
  15.  
  16. ######################
  17. ######################
  18.  
  19. Toto route to Goldenrod (just need Totodile+Egg, have seen a Bellsprout, at least 2 items left in Items pocket)
  20.  
  21. STEP 1 : Coin Case ACE for TM33
  22. 1) Goldenrod Dpt Store 2F bottom : buy 1 Flower Mail
  23. 2) Underground : Get Coin Case
  24. 3) Game Corner : Buy 100 Coins
  25. 4) Radio Tower 1F : box names
  26. 1: p 'v . é 'l 2 'v 1 (number one)
  27. 2: é 'd 2 'v 9 é 'v 2
  28. 3: , , 'v D H H 'd 5
  29. 4: ? E 's 'v 2 'v H 5
  30. 5: 'v 9 é ♂ 2 ♀ 0 9
  31. 6: 5 5 é ♀ ♀ × 8 p (multiplication sign)
  32. 7: 'm 6 2 h 'm - 2 p
  33. 8: 0 'm 's 'v 2 'v T H
  34. 9: 's 'v 2 'v ; é y ♀
  35. 10: 0 ♀ 'm 'v 2 (only 5 characters)
  36.  
  37. 5) Radio Tower 2F :
  38. - Menu 2 tiles below Jigglypuff
  39. - Save and soft reset
  40. - Walk 3 steps right, 2 up, 1 left (you're now 2 steps right of Jigglypuff)
  41. - Pokédex > Bellsprout's cry
  42. - Pokémon > Croconaw > Give > Flower Mail > ...
  43. h h 's z 2 Pk 'l 0 9 ♀ . 9 Pk × ' ]
  44. 4 Z 'l ? pokédollar é Z 'l h 'd
  45. ... > Croconaw > Mail > Read
  46. - Bag > (switch pockets at least once) > Coin Case
  47. - Check for TMs in TM/HM and TM33 in Items
  48.  
  49. STEP 2 : Setting up Mail Writer
  50. 1) Goldenrod Dpt Store :
  51. - Save before 2F sellor
  52. - Set up TMs like this : https://static.wikitide.net/glitchcitywiki/b/b9/TM_English_GS.png
  53. Here's a detailled list of selling operations :
  54. TM Sell value Final Quantity
  55. TM01 DYNAMICPUNCH 357000 x17
  56. TM02 HEADBUTT 170000 x85
  57. TM03 CURSE 51000 x221 ey1
  58. TM04 ROLLOUT 42000 x213 |K3
  59. TM05 ROAR 21000 x213 |K3
  60. TM06 TOXIC 63000 x213 |K3
  61. TM07 ZAP CANNON 222000 x33
  62. TM08 ROCK SMASH 94500 x66
  63. TM09 PSYCH UP 78500 x98
  64. TM10 HIDDEN POWER 72000 x207 ◘|7
  65.  
  66. TM11 SUNNY DAY 30000 x225 ey5
  67. TM12 SWEET SCENT 23000 x209 ◘|9
  68. TM13 SNORE 106500 x42
  69. TM14 BLIZZARD 1500 x254 s|4
  70. TM15 HYPER BEAM 262500 x80
  71. TM16 ICY WIND 298500 x56
  72. TM17 PROTECT 6000 x251 s|1
  73. TM18 RAIN DANCE 215000 x40
  74. TM19 GIGA DRAIN 367500 x10
  75. TM20 ENDURE 180000 x135 ◘╝5
  76.  
  77. TM21 FRUSTRATION 60500 x134 ◘╝4
  78. TM22 SOLARBEAM 355500 x18
  79. TM23 IRON TAIL 354000 x19
  80. TM24 DRAGONBREATH 330000 x35
  81. TM25 THUNDER 126000 x129 ╚◘9
  82. TM26 EARTHQUAKE 264000 x79
  83. TM27 RETURN 118500 x18
  84. TM28 DIG 231000 x24
  85. TM29 PSYCHIC 16000 x239 It9
  86. TM30 SHADOW BALL 333000 x33
  87.  
  88. TM31 MUD-SLAP 381000 x1
  89. TM32 DOUBLE TEAM 59000 x196 ns6
  90. TM33 ICE PUNCH 267000 x77
  91. TM34 SWAGGER 25000 x205 ◘|5
  92. TM35 SLEEP TALK 8000 x239 It9
  93. TM36 SLUDGE BOMB 98500 x58
  94. TM37 SANDSTORM 228000 x27
  95. TM38 FIRE BLAST 50000 x205 ◘|5
  96. TM39 SWIFT 111000 x144 ◘-4
  97. TM40 DEFENSE CURL 100000 x55
  98.  
  99. TM41 THUNDERPUNCH 99000 x189 er9
  100. TM42 DREAM EATER 322500 x40
  101. TM43 DETECT 19000 x217 |K7
  102. TM44 REST 298500 x56
  103. TM45 ATTRACT 22500 x240 em0
  104. TM46 THIEF 1500 x254 s|4
  105. TM47 STEEL WING 370500 x8
  106. TM48 FIRE PUNCH 82500 x200 ◘|0
  107. TM49 FURY CUTTER 346500 x24
  108. TM50 NIGHTMARE 13000 x242 em2
  109.  
  110. 2) Use TM33 to use the Mail Writer: if it works, type Rh then END then Start
  111.  
  112. (3) TROUBLESHOOT : if you crashed :
  113. - Radio Tower 1F box names :
  114. Box 1: p 'v . é 'l 2 'v 1
  115. Box 2: é 'd 2 'v 9 é 'v 2
  116. Box 3: , , 'v D H H 'd 5
  117. Box 4: ? E 's 'v 2 p 0 'm
  118. Box 5: 's 'v 2 'v T 's 't 2
  119. Box 6: p 0 ♀ 'm 'v 2
  120. - Redo the Coin Case setup in 2F (don't take/give the mail, just read it)
  121.  
  122. (4) How to execute code:
  123. - Write down a message, hit END, verify checksum*, then use commands to proceed :
  124. - Select: write new mail
  125. - Start: execute mails
  126. - 16 Down, then hit Select: rewrite the current mail
  127. * checksum is 2 extra characters after the end of the second line : make sure the displayed checksum matches the one written in this guide
  128. - To quit without executing : Rh
  129.  
  130. 5) Exit Goldenrod south, go 1 tile outside top right grass of Route 34
  131.  
  132.  
  133. STEP 3 : OAM DMA hijack (4 mails, all l are the 12th letter of the alphabet)
  134. 0) Save, !!!!!!SWAP TM33 TO SLOT 2!!!!!!, then use TM33
  135.  
  136. 1) Q P X 'r 'm m l k v x y 'v ; ; ♂ ♂
  137. 's e ' Ké [ 'm w v m N N x w v 'l 'm checksum: 0 2
  138. (Select)
  139.  
  140. 2) , ♀ ♂ ♂ ; ' ' Ké ♂ ♂ E P P z z p
  141. o 's W m w w w 'm 3 v V 2 'l 'd / - checksum: ◘╗ ◘╝
  142. (Select)
  143.  
  144. 3) P p 't : : ] ] Ké Z ♂ ♂ ; ♀ ♂ Ké 's
  145. 's W W X W Mn Mn C Po ' 's O E E d D checksum: 6 4
  146. (Select)
  147.  
  148. 4) r R R 9 0 U v V w 'm M v w w w 'm
  149. Po x w w w 'm l B V 2 Mn ╔ 0 0 / / checksum: ◘╝ ◘_
  150. (Start)
  151.  
  152. 5) If properly executed, you'll go back to the Start menu
  153. Reach Route 34 top-right grass, one tile outside of it
  154.  
  155. (6) TODO : backup if mistake
  156.  
  157.  
  158. STEP 4 : Shiny farming setup (4 mails, all l are the 12th letter of the alphabet)
  159. 0) Save, then use TM33
  160.  
  161. 1) r R l l l 'l v W V ! . ; ; ; : &
  162. & R , ♀ ♂ ♂ ; ' ] / / / t U U V checksum: 7 9
  163. (Select)
  164.  
  165. 2) / / u ! w 'm l l l U T S S r s -
  166. z p p P N w 'd 'l 'l M W 'd 'd 'd ) 2 checksum: 3 ╚◘
  167. (Select)
  168.  
  169. 3) h h h pokédollar 4 (char 'w' 6 times) v M M M w
  170. w 'm ' 'r 'r 'l 'l space space ) ) ) ? 9 9 . checksum: 3 8
  171. (Select)
  172.  
  173. 4) z p f , , , h . h r q q q q q q
  174. q q q q q q q q q q q q q q q q checksum: 2 0
  175. (Start)
  176.  
  177. 5) If properly executed, you'll go back to the Start menu
  178.  
  179. (6) TODO : backup if mistake
  180.  
  181. (7) List of changes applied
  182. - L1 wild shiny Pokémon, species changed via step counter
  183. - MasterBalls in slot 1 of Items (infinite)
  184. - Instant text
  185. - Accessible PC when facing Up and pressing A
  186.  
  187.  
  188. STEP 5 : Farming shinies
  189. 0) Save
  190. 1) Enter the grass
  191. 2) Do turnframes until an encounter appears
  192. 2) Catch the wild Pokémon with the Master Ball from the Items pocket
  193. 3) To change the species: walk as many steps as needed (each step increases the species id by 1)
  194. 4) When you reached 19/20 species in a box, face up then press A: the PC will open and you'll be able to switch boxes
  195. 5) Repeat until you're done
  196. (6) AVOID WALKING DOWN, as the PC doesn't let you walk upwards
  197. (7) After Celebi (251), do 5 steps outside the grass to avoid MissingNo (252), Egg (253), MissingNo (254), MissingNo (255) || MissingNo (0)
  198.  
  199.  
  200. STEP 6 : End of game
  201. 1) Verify you have all 251 shinies in Boxes
  202. 2) Open Pokédex and scroll to show all are caught
  203. 3) Save, then use TM33
  204. 1) r R i r q r h s q r . ; ; ; : &
  205. & R , ♀ ♂ ♂ ; ' ' Ké Po 3 v x y 's checksum: 11 (eleven)
  206. (Select)
  207.  
  208. 2) T k l l l n n é é ; ; & ♀ G Q P
  209. Z y w w [ [ 3 2 Pk Pk × 0 / - q q checksum: ◘- ◘_
  210. (Start)
  211.  
  212. 3) Enter Goldenrod Dpt Store (that teleports you to Red's room)
  213.  
  214. 4) Talk to Red, gg!
  215.  
  216.  
  217.  
  218. ##################################
  219. ##################################
  220.  
  221.  
  222.  
  223. Technical notes
  224.  
  225. 1) Original 1st mail
  226. 2) 1st mail - Modification to add instant text
  227. 3) Shiny farming setup
  228. 4) Attempt at avoiding MissingNos (not enough space though)
  229. 5) Final warp to Red
  230. 6) Exploration zone
  231. 6.1) Old Any% NSC box names
  232. 6.2) Make every wild shiny & force species/level
  233. 7) Original 'slider+Quagsire' setup for Coin Case
  234. 8) Addresses
  235. 9) Hexadecimal to gbz80
  236. 10) Fixing Unowns
  237.  
  238.  
  239. ###
  240.  
  241.  
  242. 1) Original 1st mail :
  243.  
  244. h h 's z 2 Pk 'l 0 9 ♀ . 9 Pk × ' ]
  245. h 'd
  246.  
  247. (the wiki translation is not 100% accurate, just keeping it for quick reference)
  248. A7 and a ; Filler
  249. A7 and a ; Reset carry flag
  250. D4 B9 F8 call nc, $F8B9 ; Box names start at $D8BF/F8BF, setting the active box to box 1 will ensure we can safely slide through.
  251. E1 pop hl ; Additional pop to clear return address of call to screen data
  252. D1 pop de ; Set de to $0075, which holds value $00. Ensures that print function will end immediately after resuming
  253. E8 FF add sp, -1 ; Fix the effect of increasing the stack pointer
  254. F1 pop af ; a = $03
  255. E0 9F ld ($FF9F), a ; Ensures return to ROM bank 3 after resuming execution
  256. A7 and a ; Reset carry flag. Not strictly necessary, but added for safety for now
  257. D0 ret nc
  258.  
  259.  
  260. ###
  261.  
  262.  
  263. 2) 1st mail - Modification to add instant text
  264.  
  265. ...
  266. ' ] E0 9F ld ($FF9F), a
  267. 4 Z 'l FA 99 D1 ld a,($D199) ; wOptions <<<
  268. ? pk$ E6 F0 and a,$F0 ; contains instant text <<<
  269. é Z 'l EA 99 D1 ld ($D199),a <<<
  270. h A7 and a
  271. 'd D0 ret nc
  272.  
  273. Final mail :
  274. h h 's z 2 Pk 'l 0 9 ♀ . 9 Pk × ' ]
  275. 4 Z 'l ? pokédollar é Z 'l h 'd
  276.  
  277.  
  278.  
  279. Modification for instant text and warp to sellor
  280. (Not enough space in the mail since we already added instant text)
  281.  
  282. ...
  283. ' ] E0 9F ld ($FF9F), a
  284. 21 44 D0 ld hl,$D044 ; wNextMapGroup
  285. 01 0B 0D ld bc,$0D0B ; Goldenrod floor 2, group $0B, map $0D
  286. 71 ld (hl),c
  287. 23 inc hl ; wNextMapNumber
  288. 70 ld (hl),b
  289.  
  290.  
  291. ###
  292.  
  293.  
  294. 3) Shiny farming setup
  295.  
  296. - 'Fake L1' wild shiny Pokémon, species changed via step counter
  297. - MasterBalls in slot 1 of Items (infinite)
  298. - Instant text
  299. - Accessible PC when facing Up and pressing A
  300.  
  301. (original starts at $DD55, §2+ are copied to $D76D)
  302. F3 di
  303. 01 25 00 ld bc,$0025 ; 37
  304. 11 6D D7 ld de,$D76D
  305. 21 63 DD ld hl,$DD63 (wOTPartyMon1ID)
  306. CD 1A 31 call $311A (CopyBytes)
  307. D9 reti
  308.  
  309. 21 F5 D0 ld hl,$D0F5 (wEnemyMonDVs)
  310. 01 FA AA ld bc,$AAFA
  311. 71 ld (hl),c
  312. 23 inc hl
  313. 70 ld (hl),b
  314.  
  315. FA BD D9 ld a,(D9BD) ; wStepCount
  316. 4F ld c,a ; c = step count
  317. 3E 01 ld a,01
  318. EA B8 D5 ld (D5B8), a ; masterball in slot 1 of Items w/ a=01
  319. 47 ld b,a
  320. 21 ED D0 ld hl,D0ED (wTempEnemyMonSpecies)
  321. 71 ld (hl),c ; species based on step count
  322. 2E FC ld l,FC
  323. 70 ld (hl),b ; level 1
  324.  
  325. 21 99 D1 ld hl, $D199 ; wOptions
  326. CB E6 set 4, (hl) ; instant text
  327.  
  328. 01 A4 CE ld bc,$CEA4 ; wTileUp
  329. 3E 93 ld a,$93 ; PC
  330. 02 ld (bc),a ; PC anywhere when facing up and pressing A
  331.  
  332.  
  333.  
  334. 4) Attempt at avoiding MissingNos : (not enough space though)
  335. ...
  336. FA BD D9 ld a,(D9BD) ; wStepCount
  337. 3D dec a <<<
  338. 3C inc a ; .inc <<<
  339. FE FC cp a,$FC ; 252 <<<
  340. 30 FB jr nc,$FB ; -5, .inc <<<
  341. 28 F9 jr z,$F9 ; -7, .inc <<<
  342. EA BD D9 ld (D9BD),a <<<
  343. 4F ld c,a ; c = step count
  344. ...
  345.  
  346.  
  347. ###
  348.  
  349.  
  350. 5) Final warp to Red
  351.  
  352. F3 di
  353. 01 11 00 ld bc,$001 ; 17
  354. 11 6D D7 ld de,$D76D
  355. 21 63 DD ld hl,$DD63 (wOTPartyMon1ID)
  356. CD 1A 31 call $311A (CopyBytes)
  357. D9 reti
  358.  
  359. 21 44 D0 ld hl,$D044 ; wNextMapGroup
  360. 01 03 44 ld bc,$4403 ; SILVER_CAVE_ROOM_3, group 3, map $44 = 68
  361. 71 ld (hl),c
  362. 23 inc hl ; wPrevMapNumber
  363. 70 ld (hl),b
  364.  
  365. AF xor a
  366. EA 22 DA ld ($DA22),a ; wOTPartyCount = 0
  367. EA A3 D8 ld ($D8A3),a ; make Red appear
  368. C9 ret
  369.  
  370.  
  371. ###
  372.  
  373.  
  374. 6) Exploration zone
  375.  
  376.  
  377. 6.1) Old Any% NSC box names
  378.  
  379.  
  380. BOX 1: p 'v , 'v é é 'r 2
  381. BOX 2: 'v ♂ é 'd 2 'l 'l 5
  382. BOX 3: p é é 4 é D 9
  383. BOX 4: é ? 2 'v 9 é ♂ 2
  384. BOX 5: 'v 8 é é 4 'v 't 'l
  385. BOX 6: 'v é é é 4 p
  386. BOX 7: é d 2 'd
  387. BOX 8-13: skip
  388. BOX 14 (D9/F9xx only): A A A 'm v 2
  389.  
  390. AF D6 FE D6 EA EA D3 F8 50
  391. D6 EF EA D0 F8 D1 D1 FB 50
  392. AF EA EA FA EA 83 FF 50 50
  393. EA E6 F8 D6 FF EA EF F8 50
  394. D6 FE EA EA FA D6 D5 D1 50
  395. D6 EA EA EA FA AF 50 50 50
  396. EA A3 F8 D0 50 50 50 50 50
  397. ...
  398. 80 80 80 D2 B5 F8
  399.  
  400. AF xor a
  401. D6 FE sub a,$FE
  402. D6 EA sub a,$EA
  403. EA D3 F8 ld ($F8D3),a
  404. D6 EF sub a,$FE
  405. EA D0 F8 D1 D1 FB
  406. AF EA EA FA EA 83 FF
  407. EA E6 F8 D6 FF EA EF F8
  408. D6 FE EA EA FA D6 D5 D1
  409. D6 EA EA EA FA AF
  410. EA A3 F8 D0
  411. ...
  412. 80 80 80 D2 B5 F8
  413.  
  414.  
  415. ###
  416.  
  417.  
  418. 6.2) Make every wild shiny & force species/level
  419.  
  420.  
  421. Original 'Make every wild shiny'
  422.  
  423.  
  424. F3 01 11 00 11 6D D7 21 63 DD CD 1A 31 D9 21 16
  425. D1 CB 46 28 09 21 F5 D0 01 FA AA 71 23 70 00
  426.  
  427. r R i r q r h s q r . ; ; ; : &
  428. & R , ♀ ♂ ♂ ; ' ' Ké Po 3 w v v m checksum: ◘- 3
  429.  
  430. g F Z Z z 's y y y Z Z ♂ 6 7 7 'v
  431. z P p : ' é é ; ; & , I i q q q checksum: ◘╗ 2
  432.  
  433. F3 di
  434. 01 11 00 ld bc,0011
  435. 11 6D D7 ld de,D76D
  436. 21 63 DD ld hl,DD63 (wOTPartyMon1ID)
  437. CD 1A 31 call 311A (CopyBytes)
  438. D9 reti
  439. 21 16 D1 ld hl,D116 (wEnemyMonEnd)
  440. CB 46 bit 0,(hl)
  441. 28 09 jr z,sp+2+09
  442. 21 F5 D0 ld hl,D0F5 (wEnemyMonDVs)
  443. 01 FA AA ld bc,AAFA
  444. 71 ld (hl),c
  445. 23 inc hl
  446. 70 ld (hl),b
  447. 00 nop
  448.  
  449.  
  450. Original 'Force pokémon and level'
  451.  
  452.  
  453. F3 01 11 00 11 6D D7 21 63 DD CD 1A 31 D9 21 16
  454. D1 CB 4E 20 0A 21 ED D0 01 96 46 71 2E FC 70
  455. ↑↑↑↑↑↑↑↑ ↑↑ ↑↑↑↑↑ ↑↑↑↑↑↑↑↑
  456.  
  457. ...
  458. 21 16 D1 ld hl,D116 (wEnemyMonEnd)
  459. CB 4E bit 1,(hl)
  460. 20 0A jr nz,sp+2+0A
  461. 21 ED D0 ld hl,D0ED (wTempEnemyMonSpecies)
  462. 01 96 46 ld bc,4696
  463. 71 ld (hl),c
  464. 2E FC ld l,FC
  465. 70 ld (hl),b
  466.  
  467.  
  468. Modif with fixed lv2 and species from wStepCount:
  469.  
  470.  
  471. 21 16 D1 ld hl,D116 (wEnemyMonEnd)
  472. CB 4E bit 1,(hl)
  473. 20 0A jr nz,sp+2+0A
  474. FA BD D9 ld a,(D9BD) ; wStepCount <<
  475. 4F ld c,a <<
  476. 3E 01 ld a,01 <<
  477. 47 ld b,a <<
  478. 21 ED D0 ld hl,D0ED (wTempEnemyMonSpecies)
  479. 71 ld (hl),c
  480. 2E FC ld l,FC
  481. 70 ld (hl),b
  482.  
  483. EA B8 D5 ld (D5B8), a ; masterball in slot 1 of Items w/ a=01
  484.  
  485.  
  486. Attempt at a merge: (seems to work; max 55 bytes, 41 after reti)
  487.  
  488.  
  489. F3 01 29 00 11 6D D7 21 63 DD CD 1A 31 D9
  490. 21 16 D1 CB 46 28 09 21 F5 D0 01 FA AA 71 23 70
  491. 21 16 D1 CB 4E 20 0A FA BD D9 4F 3E 01 47 21 ED D0 71 2E FC 70
  492. EA B8 D5 00
  493.  
  494. F3 di
  495. 01 29 00 ld bc,0029
  496. 11 6D D7 ld de,D76D
  497. 21 63 DD ld hl,DD63 (wOTPartyMon1ID)
  498. CD 1A 31 call 311A (CopyBytes)
  499. D9 reti
  500.  
  501. 21 16 D1 ld hl,D116 (wEnemyMonEnd)
  502. CB 46 bit 0,(hl)
  503. 28 09 jr z,sp+2+09
  504. 21 F5 D0 ld hl,D0F5 (wEnemyMonDVs)
  505. 01 FA AA ld bc,AAFA
  506. 71 ld (hl),c
  507. 23 inc hl
  508. 70 ld (hl),b
  509.  
  510. (21 16 D1 ld hl,D116 (wEnemyMonEnd))
  511. (CB 4E bit 1,(hl))
  512. (20 0A jr nz,sp+2+0A)
  513. FA BD D9 ld a,(D9BD) ; wStepCount <<
  514. 4F ld c,a <<
  515. 3E 01 ld a,01 <<
  516. 47 ld b,a <<
  517. 21 ED D0 ld hl,D0ED (wTempEnemyMonSpecies)
  518. 71 ld (hl),c
  519. 2E FC ld l,FC
  520. 70 ld (hl),b
  521.  
  522. EA B8 D5 ld (D5B8), a ; masterball in slot 1 of Items w/ a=01
  523.  
  524.  
  525.  
  526.  
  527.  
  528. (doesn't really work)
  529. (original starts at $DD55, §2+ is copied to $D76D)
  530. F3 di
  531. 01 29 00 ld bc,$0029 ; 41
  532. 11 6D D7 ld de,$D76D
  533. 21 63 DD ld hl,$DD63 (wOTPartyMon1ID)
  534. CD 1A 31 call $311A (CopyBytes)
  535. D9 reti
  536.  
  537. 21 16 D1 ld hl,$D116 (wEnemyMonEnd)
  538. CB 46 bit 0,(hl)
  539. 28 22 jr z,pc+2+22
  540. CB 4E bit 1,(hl)
  541. 20 1E jr nz,pc+2+1E
  542. 21 F5 D0 ld hl,$D0F5 (wEnemyMonDVs)
  543. 01 FA AA ld bc,$AAFA
  544. 71 ld (hl),c
  545. 23 inc hl
  546. 70 ld (hl),b
  547.  
  548. FA BD D9 ld a,(D9BD) ; wStepCount
  549. 4F ld c,a ; c = step count
  550. 3E 01 ld a,01
  551. EA B8 D5 ld (D5B8), a ; masterball in slot 1 of Items w/ a=01
  552. 47 ld b,a
  553. 21 ED D0 ld hl,D0ED (wTempEnemyMonSpecies)
  554. 71 ld (hl),c ; species based of step count
  555. 2E FC ld l,FC
  556. 70 ld (hl),b ; level 1
  557.  
  558. 3D dec a ; a = 0
  559. EA 99 D1 ld ($D199), a ; wOptions, instant text
  560.  
  561.  
  562.  
  563.  
  564. ###
  565.  
  566.  
  567. 7) Original 'slider+Quagsire' setup for Coin Case
  568.  
  569.  
  570. Using Coin Case triggers 04:4741 UseItem
  571.  
  572. (...)
  573. CoinCaseEffect (03:75E1)
  574. ld hl,CoinCaseEffect.CoinCaseCountTxt
  575. jp MenuTextboxWaitButton
  576.  
  577. MenuTextboxWaitButton (00:1E79)
  578. call MenuTextbox
  579. ...
  580.  
  581. MenuTextbox (00:1BC1)
  582. ...
  583. jp PrintText
  584.  
  585. (...)
  586. PrintTextboxText (00:0F61)
  587. ld bc,C4B9
  588. call PrintTextboxTextAt
  589.  
  590. PrintTextboxTextAt (00:1272)
  591. ...
  592. call DoTextUntilTerminator
  593.  
  594. Starts reading data in ROM0:12C9
  595. ld a,(de) [45A4]
  596. ...
  597.  
  598. 45A4: C
  599. 45A5: o
  600. 45A6: i
  601. 45A7: n
  602. 45A8: s
  603. 45A9: :
  604. 45AA: (0x4F)
  605. 45AB: @ (0x50 - terminator)
  606.  
  607. Continues at 45AC
  608. Jumps to 00:E112 (apparently, data related to Pokémon cries)
  609.  
  610. After Bellsprout cry & 2 pockets change : jump to EB12 (EB12->EC1F is Overworld Map)
  611. 00:EC78 jp c,FA98 is skipped
  612. 00:EC88 jp c,FA99 is hit (FA99 is wPartyMon3DefExp)
  613. 01:FAA2 jr z,FAA4 is hit (FAA2 is wPartyMon3PP move 2)
  614. 01:FABA jp D8C0 (C3 C0 D8, wPartyMon4Species wPartyMon4Item wPartyMon4Moves1)
  615. -> char 1 of box 1
  616.  
  617. ! You can't swap items then Coin Case : need cry then immediately Coin Case !
  618.  
  619.  
  620. ~~~~~~~~~~~~~~~~~~~~~~
  621. Part 1: Coin Case ACE for TM17
  622. ~~~~~~~~~~~~~~~~~~~~~~
  623. Party : any, any, slider, Quagsire w/ held TM02 and Return in slot 1
  624. DABA: C3 }
  625. DABB: C0 }
  626. DABC: D8 } jp D8C0 (1st char of box 1)
  627.  
  628. first set of box names (each ends with a terminator 50) :
  629. 1 Ap0'déy♀Pk = 80 AF F6 D0 EA B8 F5 E1 | 50
  630. 2 'v't'véé'l2h = D6 D5 D6 EA EA D1 F8 A7 | 50
  631. 3 'd'd2'v9.9't = D0 D0 F8 D6 FF E8 FF D5 | 50 [1st D0 will be overridden to 11]
  632. 4 é?2hhhhh = EA E6 F8 A7 A7 A7 A7 A7 | 50
  633. 5 h'm♀♀ = A7 D2 F5 F5 | 50 [2nd F5 will be overridden to 12]
  634.  
  635. (empty lines are fillers, subtract 2000 to all 4-byte addresses)
  636. 1 80 add b
  637. AF xor a [a←0]
  638. F6 D0 or a,D0 [a←D0]
  639. EA B8 F5 ld (F5B8),a [F5B8←D0, 1st item in Items is set to TM17]
  640. E1 pop hl [ditches top of stack]
  641. 50 ld d,b
  642. 2 D6 D5 sub a,D5 [a←FB, c←1]
  643. D6 EA sub a,EA [a←11, c←0]
  644. EA D1 F8 ld (F8D1), a [F8D1←11, 1st char of box 3]
  645. A7 and a
  646. 50 ld d,b
  647. 3 11 D0 F8 ld de,F8D0 [de←F8D0]
  648. D6 FF sub a,FF [a←12, c←1]
  649. E8 FF add sp,FF [sp←DFBD, sort of realigning the stack to get 128A two slots below]
  650. D5 push de [replaces top of stack with F8D0]
  651. 50 ld d,b
  652. 4 EA E6 F8 ld (F8E6),a [F8E6←12, 4th char of box 5]
  653. A7 and a
  654. A7 and a
  655. A7 and a
  656. A7 and a
  657. A7 and a
  658. 50 ld d,b
  659. 5 A7 and a
  660. D2 F5 12 jp nc,12F5 [jump to 12F5, immediately after the display of the coin case amount]
  661. 50 ld d,b
  662.  
  663.  
  664. TextCommand FAR:
  665. ...
  666. pop hl [hl←F8D0, address of terminator of box 2]
  667. ...
  668.  
  669. DoTextUntilTerminator:
  670. ldi a,(hl) [a←50, text terminator to finish printing]
  671.  
  672.  
  673.  
  674. Setup to skip box 5 :
  675. 4 é~PK~2hh'm♀♀ = EA E1 F8 A7 A7 D2 F5 F5 | 50
  676. EA E1 F8 ld (F8E1),a [F8E1←12, 8th char of box 4]
  677. A7 and a
  678. A7 and a
  679. D2 F5 12 jp nc,12F5
  680.  
  681. (better) Setup to get both TM17 in Items and TM09 in TM/HM
  682. 4 é?209éG♀ = EA E6 F8 F6 FF EA 86 F5 | 50
  683. 5 h'm♀♀ = A7 D2 F5 F5 | 50 [2nd F5 will be overridden to 12]
  684.  
  685. 4 é?209éG♀ = EA E6 F8 F6 FF EA 86 F5 | 50
  686. EA E6 F8 ld (F8E1),a [F8E6←12, 4th char of box 5]
  687. F6 FF or a,FF
  688. EA 86 F5 ld (F586),a [sets 255 to TM09 quantity]
  689. 50 ld, d,b
  690. 5 A7 and a
  691. D2 F5 12 jp nc,12F5 [jump to 12F5, immediately after the display of the coin case amount]
  692. 50 ld d,b
  693.  
  694. (even better)
  695. TM17 in Items, TM09 in TM/HM, no need to change box 1 for part 3
  696.  
  697. >1 Ap0'déy♀ (the pop hl from PK character is 1st char of box 2 now)
  698. >2 Pk'v't'véé'l2
  699. 3 'd'd2'v9.9't
  700. 4 é?209éG♀
  701. 5 h'm♀♀
  702.  
  703. 1 AF xor a [a←0]
  704. F6 D0 or a,D0 [a←D0]
  705. EA B8 F5 ld (F5B8),a [F5B8←D0, 1st item in Items is set to TM17]
  706. 50 ld d,b
  707. 50 ld d,b
  708. 2 E1 pop hl [ditches top of stack]
  709. D6 D5 sub a,D5 [a←FB, c←1]
  710. D6 EA sub a,EA [a←11, c←0]
  711. EA D1 F8 ld (F8D1), a [F8D1←11, 1st char of box 3]
  712. 50 ld d,b
  713. 3 11 D0 F8 ld de,F8D0 [de←F8D0]
  714. D6 FF sub a,FF [a←12, c←1]
  715. E8 FF add sp,FF [sp←DFBD, sort of realigning the stack to get 128A two slots below]
  716. D5 push de [replaces top of stack with F8D0]
  717. 50 ld d,b
  718. 4 EA E6 F8 ld (F8E6),a [F8E6←12, 4th char of box 5]
  719. F6 FF or a,FF
  720. EA 86 F5 ld (F586),a [sets 255 to TM09 quantity]
  721. 5 A7 and a
  722. D2 F5 12 jp nc,12F5 [jump to 12F5, immediately after the display of the coin case amount]
  723. 50 ld d,b
  724.  
  725.  
  726. ~~~~~~~~~~~~~~~~~
  727. Part 2: TM17 ACE for TM09 (obsolete)
  728. ~~~~~~~~~~~~~~~~~
  729. Party : Slider, Quagsire, etc.
  730. D8BF-D8C7: Ap09éG♀'d = 80 AF F6 FF EA 86 F5 D0
  731. Using TM17 then triggers a jp D8C0 (second character of Box 1 name)
  732. 80 add b [filler]
  733. AF xor a
  734. F6 FF or a,FF
  735. EA 86 F5 ld (F586),a [sets 255 to TM09 quantity]
  736. D0 ret nc
  737.  
  738. ~~~
  739. Part 3: ???
  740. ~~~
  741.  
  742. 1 Ap09éG♀'d = 80 AF F6 FF EA 86 F5 D0
  743. 2 p'va'vbé!2 =
  744. 3 'v[é?2'v85
  745. 4 é22'v3é02
  746. 5 hhh222hh
  747. 6 's82hhhéé
  748. 7 'd2G2h'd
  749. 8 's02hé,2h
  750. 9 's02hé/2h
  751. 10 's02'd
  752.  
  753.  
  754.  
  755.  
  756.  
  757. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  758. lucky ACE to avoid bad slider ?
  759. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  760.  
  761. ; BOX 1-5:
  762. ; H é [mn] 2 H é T 'd
  763. ; U g é S 'd H E
  764. ; é & 2 'v 't é ( 'd
  765. ; U é ! 2 p p p é
  766. ; 4 é d 2 [pk] [pk] [pk] 'd
  767.  
  768. ; BOX 7: X X X E g 'm v 2
  769.  
  770. add a ; get 22
  771. ld [$f8e2], a
  772. add a ; get 44
  773. ld [$d093], a
  774.  
  775. sub h
  776. and [hl] ; get $03
  777. ld [$d092], a
  778. add a
  779. add h ; get $df
  780.  
  781. ld [$f8e9], a
  782. sub $d5 ; get $0a
  783. ld [$d09a], a
  784.  
  785. sub h ; get $31
  786. ld [$f8e7], a
  787. xor a
  788. xor a
  789. xor a
  790. ld [$fa(22)], a ; encoded between box names
  791.  
  792. ld [$f8a3], a
  793. (ld sp), $(df)e1
  794. ret nc
  795.  
  796. sub a
  797. sub a
  798. sub a
  799. add h
  800. and [hl]
  801. jp nc, $f8b5
  802.  
  803.  
  804. ###
  805.  
  806.  
  807. 8) Addresses
  808.  
  809. ~~~~~~~~~
  810. Box Names
  811. ~~~~~~~~~
  812. $D8BF to $D8C7 = Box 1
  813. $D8C8 to $D8D0 = Box 2
  814. $D8D1 to $D8D9 = Box 3
  815. $D8DA to $D8E2 = Box 4
  816. $D8E3 to $D8EB = Box 5
  817. $D8EC to $D8F4 = Box 6
  818. $D8F5 to $D8FD = Box 7
  819. $D8FE to $D906 = Box 8
  820. $D907 to $D90F = Box 9
  821. $D910 to $D918 = Box 10
  822. $D919 to $D921 = Box 11
  823. $D922 to $D92A = Box 12
  824. $D92B to $D933 = Box 13
  825. $D934 to $D93C = Box 14
  826.  
  827.  
  828. ~~~~~~~~~~~~~~~~
  829. Pokémon settings
  830. ~~~~~~~~~~~~~~~~
  831. DA2A = Pokémon 1 ----> $DA2B = Held Item
  832. DA5A = Pokémon 2 $DA2C to $DA2F = Moves
  833. DA8A = Pokémon 3 etc.
  834. DABA = Pokémon 4
  835. DAEA = Pokémon 5
  836. DB1A = Pokémon 6
  837.  
  838.  
  839. ~~~~~~~~~~~~~
  840. TM quantities
  841. ~~~~~~~~~~~~~
  842. F57E = TM01
  843. F57F = TM02
  844. etc.
  845.  
  846.  
  847. ###
  848.  
  849.  
  850. 9) Hexadecimal to gbz80
  851.  
  852.  
  853. 00 = nop
  854. 01 Xx Yy = ld bc,YyXx
  855. 02 = ld (bc),a
  856. 11 Xx Yy = ld de,YyXx
  857. 12 = ld (de),a
  858. 16 Xx = ld d,Xx
  859. 19 = add hl,de
  860. 20 Xx = jr nz,pc+2+Xx
  861. 21 Xx Yy = ld hl,YyXx
  862. 22 = ldi (hl), a
  863. 25 = dec h
  864. 26 Xx = ld h,Xx
  865. 28 Xx = jr z,pc+2+Xx
  866. 2A = ldi a,(hl)
  867. 30 Xx = jr nc,pc+2+Xx
  868. 34 = inc (hl)
  869. 36 Xx = ld (hl), Xx
  870. 38 Xx = jr c,pc+2+Xx
  871. 3C = inc a
  872. 3D = dec a
  873. 3E Xx = ld a,Xx
  874. 47 = ld b,a
  875. 4F = ld c,a
  876. 50 = ld d,b
  877. 5F = ld e,a
  878. 66 = ld h,(hl)
  879. 6F = ld l,a
  880. 77 = ld (hl), a
  881. 78 = ld a,b
  882. 80 = add b
  883. 81 = add c
  884. 88 = adc b
  885. 98 = sbc b
  886. A7 = and a
  887. AF = xor a
  888. B0 = or b
  889. C1 = pop bc
  890. C2 Xx Yy = jp nz,YyXx
  891. C4 Xx Yy = call nz, YyXx
  892. C5 = push bc
  893. C9 = ret
  894. CA Xx Yy = jp z,YyXx
  895. CB E6 = set 4, (hl)
  896. CD Xx Yy = call YyXx
  897. D0 = ret nc
  898. D1 = pop de
  899. D2 Xx Yy = jp nc, YyXx
  900. D5 = push de
  901. D6 Xx = sub a,Xx
  902. D7 = rst 10
  903. D9 = reti
  904. DA Xx Yy = jp c,YyXx
  905. E0 Xx = ld (FF00+Xx),a
  906. E1 = pop hl
  907. E5 = push hl
  908. E6 Xx = and a,Xx
  909. E8 Xx = add sp,Xx
  910. E9 = jp hl
  911. EA Xx Yy = ld (YyXx),a
  912. F0 Xx = ld a,(FF00+Xx)
  913. F1 = pop af
  914. F3 = di
  915. F5 = push af
  916. F6 Xx = or a,Xx
  917. FA Xx Yy = ld a,(YyXx)
  918. FB = ei
  919. FE Xx = cp a,Xx
  920.  
  921.  
  922.  
  923. ###
  924.  
  925.  
  926. 10) Fixing Unowns
  927.  
  928. FAAA
  929. 1111 1010 1010 1010
  930. ↓↓ ↓↓ ↓↓ ↓↓
  931. 11 01 01 01
  932. 213
  933. /10 = 21
  934. => V (we don't want that)
  935.  
  936. Atk
  937. we want x01x to get a final letter <= K (10)
  938. => 0010 or 0011 or 1010 or 1011
  939. => 2 or 3 or 10 or 11
  940. => All these yield a shiny I
  941.  
  942. Line 306 of https://pastebin.com/HreHsHsG needs to be changed to one of these
  943. 01 2A AA ld bc,$AA2A
  944. 01 3A AA ld bc,$AA3A
  945. 01 AA AA ld bc,$AAAA
  946. 01 BA AA ld bc,$AABA
  947.  
  948. Additionnaly, Unowns must be unlocked : Kabuto puzzle (potentially buy an Escape Rope to save time after the puzzle is solved)
  949. => bypass : add `setflag ENGINE_UNLOCKED_UNOWNS_A_TO_K` somewhere
  950.  
  951. MACRO setflag ; https://github.com/pret/pokegold/blob/c8d53d7d3e72f447d34183427ac492cb5484346e/macros/scripts/events.asm#L368
  952. db setflag_command ; $36
  953. dw \1 ; engine_flag
  954. ENDM
  955.  
  956. ENGINE_UNLOCKED_UNOWNS_A_TO_K ; wUnlockedUnowns
  957.  
  958. maybe try :
  959. ld xx, $FF ; all unowns (at least from A to K)
  960. ld yy, $DC3E ; wUnlockedUnowns
  961. ld (yy), xx
  962.  
  963.  
  964.  
  965. Asociated code possibilities :
  966.  
  967. F3 di
  968. 01 25 00 ld bc,$0025 ; 37
  969. 11 6D D7 ld de,$D76D
  970. 21 63 DD ld hl,$DD63 (wOTPartyMon1ID)
  971. CD 1A 31 call $311A (CopyBytes)
  972. D9 reti
  973.  
  974. 21 F5 D0 ld hl,$D0F5 (wEnemyMonDVs)
  975. (only one of these 4, consider the best one in terms of mail writing)
  976. 01 2A AA ld bc,$AA2A ; 75 80 78 55 (unown after options)
  977. 01 3A AA ld bc,$AA3A ; 82 ""
  978. 01 AA AA ld bc,$AAAA ; 80 ""
  979. 01 BA AA ld bc,$AABA ; 82 ""
  980. 71 ld (hl),c
  981. 23 inc hl
  982. 70 ld (hl),b
  983.  
  984. FA BD D9 ld a,(D9BD) ; wStepCount
  985. 4F ld c,a ; c = step count
  986. 3E 01 ld a,01
  987. EA B8 D5 ld (D5B8), a ; masterball in slot 1 of Items w/ a=01
  988. 47 ld b,a
  989. 21 ED D0 ld hl,D0ED (wTempEnemyMonSpecies)
  990. 71 ld (hl),c ; species based on step count
  991. 2E FC ld l,FC
  992. 70 ld (hl),b ; level 1
  993.  
  994. 21 99 D1 ld hl, $D199 ; wOptions
  995. CB E6 set 4, (hl) ; instant text
  996.  
  997. 21 3E DC ld hl,$DC3E ; wUnlockedUnowns <<< ADDED FOR
  998. 36 FF ld (hl), $FF ; all unowns (at least from A to K) <<< UNOWN FIX
  999.  
  1000. 01 A4 CE ld bc,$CEA4 ; wTileUp
  1001. 3E 93 ld a,$93 ; PC
  1002. 02 ld (bc),a ; PC anywhere when facing up and pressing A
  1003.  
  1004.  
  1005. Fix :
  1006.  
  1007. F3 di
  1008. 01 27 00 ld bc,$0027 ; 39 (number of bytes in paragraphs 2+)
  1009. 11 6D D7 ld de,$D76D
  1010. 21 63 DD ld hl,$DD63 (wOTPartyMon1ID)
  1011. CD 1A 31 call $311A (CopyBytes)
  1012. D9 reti
  1013.  
  1014. FA BD D9 ld a,($D9BD) ; wStepCount
  1015. 4F ld c,a ; c = step count
  1016. 3E 01 ld a,01
  1017. EA B8 D5 ld ($D5B8), a ; masterball in slot 1 of Items w/ a=01
  1018. 47 ld b,a
  1019. 21 ED D0 ld hl,$D0ED ; wTempEnemyMonSpecies
  1020. 71 ld (hl),c ; species based on step count
  1021. 2E FC ld l,FC ; hl = $D0FC
  1022. 70 ld (hl),b ; level 1
  1023.  
  1024. 2E F5 ld l,F5 ; hl = $D0F5 (wEnemyMonDVs)
  1025. 3E AA ld a,$AA
  1026. 22 ldi (hl), a
  1027. 22 ldi (hl), a ; hl = $D0F7 (DVs = $AAAA)
  1028.  
  1029. 21 A4 CE ld hl,$CEA4 ; wTileUp
  1030. 3E 93 ld a,$93 ; PC
  1031. 77 ld (hl),a ; PC anywhere when facing up and pressing A
  1032.  
  1033. 21 99 D1 ld hl,$D199 ; wOptions
  1034. CB E6 set 4, (hl) ; instant text
  1035.  
  1036. 21 3E DC ld hl,$DC3E ; wUnlockedUnowns <<< ADDED FOR
  1037. 36 FF ld (hl), $FF ; all unowns (at least from A to K) <<< UNOWN FIX
  1038.  
  1039.  
  1040. Associated mails :
  1041. All 'l' are the 12th letter of the alphabet
  1042.  
  1043. 1) r R l l l 'l v W V ! . ; ; ; : &
  1044. & R , ♀ ♂ ♂ ; ' ] / / / t U U V checksum: 7 9
  1045. (Select)
  1046.  
  1047. 2) / / u ! w 'm l l l U T S S r s -
  1048. z p p P N w 'd 'd 'l 'l M W 'd 'd 'd ) 2 checksum: 3 ╚◘
  1049. (Select)
  1050.  
  1051. 3) h h h pokédollar 4 (char 'w' 6 times) v M M M w
  1052. w 'm ' 'r 'r 'l 'l space space ) ) ) ? 9 9 . checksum: 3 8
  1053. (Select)
  1054.  
  1055. 4) z p f , , , h . h r q q q q q q
  1056. q q q q q q q q q q q q q q q q checksum: 2 0
  1057. (Start)
  1058.  
  1059.  
  1060.  
  1061. ###
  1062.  
  1063.  
  1064. 11) Old Step 4 mails
  1065.  
  1066. 1) h f f x x x y Q q r . ; ; ; : &
  1067. & R , ♀ ♂ ♂ ; ' ' Ké Po 3 w v v L checksum: ◘╝ 6
  1068. (Select)
  1069.  
  1070. 2) T k l l l e ' é é ; ; & 'd 'd t U
  1071. U V / / u ! w 'm l l b i I i h H checksum: 0 ◘-
  1072. (Select)
  1073.  
  1074. 3) s - z p p P N w 'd 'l 'l M W 'd 'd 'd
  1075. 'l space space ) ) ) ? 9 ( s l l M M M w checksum: ◘╝ ◘_
  1076. (Select)
  1077.  
  1078. 4) h pokédollar 7 Z z Q q q q q q q q q q q
  1079. q q q q q q q q q q q q q q q q checksum: ╔◘ 3
  1080. (Start)
  1081.  
  1082.  
Add Comment
Please, Sign In to add comment