Mercurial > vba-clojure
view clojure/com/aurellem/exp/notes.txt @ 240:25022f3c6607
working on preliminary script to bootstrap my way into a RAM writing program
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sun, 25 Mar 2012 01:53:29 -0500 |
parents | 19fd38fe376e |
children | 7984a084aa07 |
line wrap: on
line source
1 ******** Game Sequence4 start game6 name rival "<space><PK>G<PK>G<PK>"7 (0x7F 0xE1 0x86 0xE1 0x86 0xE1 in character codes)9 get pikachu, fight rival, deliver oak's parcel11 buy 5 items from viridian store, with the last one being a12 burn-heal.14 Perform save corruption.16 move one of the other items that wasn't destroyed (but not17 burn-heal) to the money counter to get a bunch of money.19 buy 94 more burn heals. 95 burn heals spells out the20 address that will safely return control to the pokemon21 kernel.23 deposit the cancel item one at a time into the item computer24 35 times.26 deposit 95 burn heals into item computer. This establishes27 the return point for the program so it doesn't crash the game.29 throw away the second character of rival's name until it is30 equal to D5. Now the first two characters of rival's name31 spell out the start point of the program that will be32 constructed in the item computer.34 throw away the fourth and sixth characters of rival's name35 until it they are equal to D5. The (thrid and fourth) and36 characters of rival's name now spell out the target item37 which we will manipulate in the item computer.39 toss the zero items past the map data in item memory to40 spell the following assembly (using underflow) and combine41 with rival's name like so43 0x0044 0xFA -- first part of "Load A from Literal address"46 third rival's name character47 fourth rival's name character -- target item address49 0x0050 0x3C -- increment A register52 0x0053 0xEA -- first part of "Save A to literal address"55 fifth rival's name character56 fourth rival's name character -- target item address58 0x0059 0xC3 -- first part of "Absolute Jump to literal address"61 burn-heal62 x 95 -- address of Route 3 memory-function65 shift rival's name's first two characters into66 mem-function-address.70 now close the menu and continue item manipulations using the71 newly constructed program. Starting and then canceling the72 start menu activates the program.76 ********** END Game Sequence86 valid start addresses for the initial bootstrap program are87 the following:89 0xD31D - 0xD41B90 --OR--91 0xD53A - 0XD59C