# HG changeset patch # User Robert McIntyre # Date 1333060716 18000 # Node ID dc9a0060e7cbe65a31146567d5ba2d73e90e99f1 # Parent df9cad9909d27410d76858caac79b08bf2ec7ea2 script: walked to poke-center computer. diff -r df9cad9909d2 -r dc9a0060e7cb clojure/com/aurellem/exp/notes.txt --- a/clojure/com/aurellem/exp/notes.txt Thu Mar 29 13:49:40 2012 -0500 +++ b/clojure/com/aurellem/exp/notes.txt Thu Mar 29 17:38:36 2012 -0500 @@ -1,29 +1,38 @@ ******** Game Sequence - start game name rival "GG" (0x7F 0xE1 0x86 0xE1 0x86 0xE1 in character codes) -get pikachu, fight rival, deliver oak's parcel +get pikachu, fight rival, deliver oak's parcel, go back to +viridian poke mart. -buy 5 items from viridian store, with the last one being a -burn-heal. +Perform save corruption. -Perform save corruption. -(save, restart during save, switch 6th pokemon with 9tn) +switch 6th pokemon with 9th to set current-items to 0xFF -move one of the other items that wasn't destroyed (but not -burn-heal) to the money counter to get a bunch of money. +Sell 254 cancel-buttons to get a bunch of money. -buy 95 more burn heals. 95 burn heals spells out the -address that will safely return control to the pokemon -kernel. +buy a pokeball to repair item-list + +buy 1 pokeball, 1 potion, 1 antidote, 1 parlyz heal, and +96 burn heals + +95 burn heals spells out the address that will safely return +control to the pokemon kernel. + +switch 5th pokemon with 9th to set current-items to 0xFF, +corrupting the item-list again. + +Deposit things from your item list to get the following +pattern in the item computer. You can do this with what is +in your item list because of the previous setup. [repeat following 35 times] -0x00 +0xFF 0x01 +[end repeat] 0x00 0xFA -- first part of "Load A from Literal address" @@ -49,15 +58,16 @@ 0x00 0x?? +Drop enough from rival's first character/ second character +as an item so that it is [0x7F 0xD5] instead of [0x7F 0xE1]. + shift rival's name's first two characters into -mem-function-address. +mem-function-address. now close the menu and continue item manipulations using the newly constructed program. Starting and then canceling the start menu activates the program. - - ********** END Game Sequence diff -r df9cad9909d2 -r dc9a0060e7cb clojure/com/aurellem/run/bootstrap_0.clj --- a/clojure/com/aurellem/run/bootstrap_0.clj Thu Mar 29 13:49:40 2012 -0500 +++ b/clojure/com/aurellem/run/bootstrap_0.clj Thu Mar 29 17:38:36 2012 -0500 @@ -573,8 +573,9 @@ scroll-text (play-moves ;; this section is copied from speedrun-2942 and corrupts - ;; the save so that the end-of-list marker for the pokemon - ;; roster is destroyed, but the save is still playable. + ;; the save so that the total number of pokemon is set to + ;; 0xFF, allowing manipulation of non-pokemon data in RAM + ;; via the pokemon interface. [[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [:select] [:restart]]) (title) @@ -659,8 +660,6 @@ (play-moves [[] [] [:a]]) (scroll-text) (do-nothing 300))) - - (defn-memo corrupt-item-list-again ([] (corrupt-item-list-again (get-burn-heals))) @@ -681,10 +680,30 @@ -(defn viridian-store->viridian-poke-center - [] - ;; leave store - ;;(walk [↓ ↓ - ;; → ↓ ↓]) - ) - +(defn-memo viridian-store->viridian-poke-center + ([] (viridian-store->viridian-poke-center + (corrupt-item-list-again))) + ([script] + (->> script + (do-nothing 100) + (play-moves [[:b]]) + (do-nothing 100) + (play-moves [[:b]]) + (do-nothing 40) + ;; leave store + (walk [↓ ↓ + → ↓ ↓]) + (walk [← ← ← ← + ↓ ↓ ↓ ↓ ↓ ↓ + ← ← ← ↑])))) + +(defn to-poke-center-computer + ([] (to-poke-center-computer + (viridian-store->viridian-poke-center))) + ([script] + (->> script + (walk [→ → + ↑ ↑ ↑ + → → → → → → → → → ↑]) + (do-nothing 1)))) +