rlm@240: ******** Game Sequence rlm@240: rlm@240: rlm@239: start game rlm@239: rlm@240: name rival "GG" rlm@240: (0x7F 0xE1 0x86 0xE1 0x86 0xE1 in character codes) rlm@240: rlm@239: get pikachu, fight rival, deliver oak's parcel rlm@239: rlm@239: buy 5 items from viridian store, with the last one being a rlm@239: burn-heal. rlm@239: rlm@239: Perform save corruption. rlm@239: rlm@239: move one of the other items that wasn't destroyed (but not rlm@239: burn-heal) to the money counter to get a bunch of money. rlm@239: rlm@239: buy 94 more burn heals. 95 burn heals spells out the rlm@240: address that will safely return control to the pokemon rlm@240: kernel. rlm@239: rlm@240: deposit the cancel item one at a time into the item computer rlm@240: 35 times. rlm@239: rlm@240: deposit 95 burn heals into item computer. This establishes rlm@240: the return point for the program so it doesn't crash the game. rlm@239: rlm@240: throw away the second character of rival's name until it is rlm@240: equal to D5. Now the first two characters of rival's name rlm@240: spell out the start point of the program that will be rlm@240: constructed in the item computer. rlm@240: rlm@240: throw away the fourth and sixth characters of rival's name rlm@240: until it they are equal to D5. The (thrid and fourth) and rlm@240: characters of rival's name now spell out the target item rlm@240: which we will manipulate in the item computer. rlm@240: rlm@240: toss the zero items past the map data in item memory to rlm@240: spell the following assembly (using underflow) and combine rlm@240: with rival's name like so rlm@240: rlm@240: 0x00 rlm@240: 0xFA -- first part of "Load A from Literal address" rlm@240: rlm@240: third rival's name character rlm@240: fourth rival's name character -- target item address rlm@240: rlm@240: 0x00 rlm@240: 0x3C -- increment A register rlm@240: rlm@240: 0x00 rlm@240: 0xEA -- first part of "Save A to literal address" rlm@240: rlm@240: fifth rival's name character rlm@240: fourth rival's name character -- target item address rlm@240: rlm@240: 0x00 rlm@240: 0xC3 -- first part of "Absolute Jump to literal address" rlm@240: rlm@240: burn-heal rlm@240: x 95 -- address of Route 3 memory-function rlm@240: rlm@240: rlm@240: shift rival's name's first two characters into rlm@240: mem-function-address. rlm@240: rlm@240: rlm@240: rlm@240: now close the menu and continue item manipulations using the rlm@240: newly constructed program. Starting and then canceling the rlm@240: start menu activates the program. rlm@240: rlm@240: rlm@240: rlm@240: ********** END Game Sequence rlm@240: rlm@240: rlm@240: rlm@240: rlm@240: rlm@240: rlm@240: rlm@240: rlm@240: rlm@240: valid start addresses for the initial bootstrap program are rlm@240: the following: rlm@240: rlm@240: 0xD31D - 0xD41B rlm@240: --OR-- rlm@240: 0xD53A - 0XD59C rlm@240: rlm@240: rlm@240: rlm@240: rlm@240: