Mercurial > vba-clojure
comparison clojure/com/aurellem/exp/notes.txt @ 241:7984a084aa07
still working on overall stragety... going to sleep on it.
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sun, 25 Mar 2012 02:35:14 -0500 |
parents | 25022f3c6607 |
children | 22f58fa47c3c |
comparison
equal
deleted
inserted
replaced
240:25022f3c6607 | 241:7984a084aa07 |
---|---|
14 Perform save corruption. | 14 Perform save corruption. |
15 | 15 |
16 move one of the other items that wasn't destroyed (but not | 16 move one of the other items that wasn't destroyed (but not |
17 burn-heal) to the money counter to get a bunch of money. | 17 burn-heal) to the money counter to get a bunch of money. |
18 | 18 |
19 buy 94 more burn heals. 95 burn heals spells out the | 19 buy 95 more burn heals. 95 burn heals spells out the |
20 address that will safely return control to the pokemon | 20 address that will safely return control to the pokemon |
21 kernel. | 21 kernel. |
22 | 22 |
23 deposit the cancel item one at a time into the item computer | 23 [repeat following 35 times] |
24 35 times. | 24 0x00 |
25 | 25 0x01 |
26 deposit 95 burn heals into item computer. This establishes | |
27 the return point for the program so it doesn't crash the game. | |
28 | |
29 throw away the second character of rival's name until it is | |
30 equal to D5. Now the first two characters of rival's name | |
31 spell out the start point of the program that will be | |
32 constructed in the item computer. | |
33 | |
34 throw away the fourth and sixth characters of rival's name | |
35 until it they are equal to D5. The (thrid and fourth) and | |
36 characters of rival's name now spell out the target item | |
37 which we will manipulate in the item computer. | |
38 | |
39 toss the zero items past the map data in item memory to | |
40 spell the following assembly (using underflow) and combine | |
41 with rival's name like so | |
42 | 26 |
43 0x00 | 27 0x00 |
44 0xFA -- first part of "Load A from Literal address" | 28 0xFA -- first part of "Load A from Literal address" |
45 | 29 |
46 third rival's name character | 30 third rival's name character |
47 fourth rival's name character -- target item address | 31 xD5 -- target item address |
48 | 32 |
49 0x00 | 33 0x00 |
50 0x3C -- increment A register | 34 0x3C -- increment A register |
51 | 35 |
52 0x00 | 36 0x00 |
53 0xEA -- first part of "Save A to literal address" | 37 0xEA -- first part of "Save A to literal address" |
54 | 38 |
55 fifth rival's name character | 39 fifth rival's name character |
56 fourth rival's name character -- target item address | 40 xD5 -- target item address |
57 | 41 |
58 0x00 | 42 0x00 |
59 0xC3 -- first part of "Absolute Jump to literal address" | 43 0xC3 -- first part of "Absolute Jump to literal address" |
60 | 44 |
61 burn-heal | 45 burn-heal |
62 x 95 -- address of Route 3 memory-function | 46 x 95 -- address of Route 3 memory-function |
63 | 47 |
48 0x00 | |
49 0x?? | |
64 | 50 |
65 shift rival's name's first two characters into | 51 shift rival's name's first two characters into |
66 mem-function-address. | 52 mem-function-address. |
67 | |
68 | |
69 | 53 |
70 now close the menu and continue item manipulations using the | 54 now close the menu and continue item manipulations using the |
71 newly constructed program. Starting and then canceling the | 55 newly constructed program. Starting and then canceling the |
72 start menu activates the program. | 56 start menu activates the program. |
73 | 57 |