# HG changeset patch # User Robert McIntyre # Date 1332658409 18000 # Node ID 25022f3c6607080134613c0466c01aa60fac73ad # Parent 19fd38fe376e6431802297a086d7142ffee064ab working on preliminary script to bootstrap my way into a RAM writing program diff -r 19fd38fe376e -r 25022f3c6607 clojure/com/aurellem/exp/notes.txt --- a/clojure/com/aurellem/exp/notes.txt Sun Mar 25 00:38:45 2012 -0500 +++ b/clojure/com/aurellem/exp/notes.txt Sun Mar 25 01:53:29 2012 -0500 @@ -1,5 +1,11 @@ +******** Game Sequence + + start game +name rival "GG" +(0x7F 0xE1 0x86 0xE1 0x86 0xE1 in character codes) + get pikachu, fight rival, deliver oak's parcel buy 5 items from viridian store, with the last one being a @@ -11,7 +17,80 @@ burn-heal) to the money counter to get a bunch of money. buy 94 more burn heals. 95 burn heals spells out the -address that will safely return control to pokemon. +address that will safely return control to the pokemon +kernel. +deposit the cancel item one at a time into the item computer +35 times. +deposit 95 burn heals into item computer. This establishes +the return point for the program so it doesn't crash the game. +throw away the second character of rival's name until it is +equal to D5. Now the first two characters of rival's name +spell out the start point of the program that will be +constructed in the item computer. + +throw away the fourth and sixth characters of rival's name +until it they are equal to D5. The (thrid and fourth) and +characters of rival's name now spell out the target item +which we will manipulate in the item computer. + +toss the zero items past the map data in item memory to +spell the following assembly (using underflow) and combine +with rival's name like so + +0x00 +0xFA -- first part of "Load A from Literal address" + +third rival's name character +fourth rival's name character -- target item address + +0x00 +0x3C -- increment A register + +0x00 +0xEA -- first part of "Save A to literal address" + +fifth rival's name character +fourth rival's name character -- target item address + +0x00 +0xC3 -- first part of "Absolute Jump to literal address" + +burn-heal +x 95 -- address of Route 3 memory-function + + +shift rival's name's first two characters into +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 + + + + + + + + + +valid start addresses for the initial bootstrap program are +the following: + +0xD31D - 0xD41B + --OR-- +0xD53A - 0XD59C + + + + +