Mercurial > vba-clojure
view clojure/com/aurellem/exp/notes.txt @ 311:8fa0f36140b4
began writing out my notes on the ROM in an org file.
author | Dylan Holmes <ocsenave@gmail.com> |
---|---|
date | Sun, 01 Apr 2012 03:20:33 -0500 |
parents | 5bcda2d6d135 |
children | ecff37d22293 |
line wrap: on
line source
1 ******** Game Sequence3 start game5 name rival "L<PK>U<PK><PK><any-character>"6 (0x8B 0xE1 0x94 0xE1 in character codes)8 get pikachu, fight rival, deliver oak's parcel, go back to9 viridian poke mart.11 Perform save corruption.13 switch 6th pokemon with 9th to set current-items to 0xFF15 Sell 254 cancel-buttons to get a bunch of money.17 buy a pokeball to repair item-list19 buy 1 potion, 1 antidote, 1 parlyz heal, 2 pokeballs, and20 96 burn heals22 95 burn heals spells out the address that will safely return23 control to the pokemon kernel.25 switch 5th pokemon with 9th to set current-items to 0xFF,26 corrupting the item-list again.28 Deposit things from your item list to get the following29 pattern in the item computer. You can do this with what is30 in your item list because of the previous setup.32 [repeat the following 25 times]33 0xFF34 0x0135 [end repeat]37 ;; Second part of program to swap item ID and quantity at38 ;; fixed address.40 0x00 ;; this starts at address 0xD56C41 0x2A ;; save (HL)=(target) to A, increment HL43 0x0044 0x47 ;; save A to B46 0x0047 0x3A ;; save (target+1) to A, decrement HL49 0x0050 0x22 ;; save A to target, increment HL [(target+1) -> target]52 0x0053 0x70 ;; load B into target+1 [(target) -> target+1]55 0x0056 0xC3 ;; first part of absolute jump58 burn-heal (0x0C)59 x 95 (0x5F) -- address of Route 3 memory-function61 [repeat the following 8 times]62 0xFF63 0x0164 [end repeat]66 ;; first part of item manipulation program68 0x00 ;; this starts at address 0xD58A69 0x21 ;; load target into HL71 third rival's name character (U == 0x94)72 x D5 -- target item address74 0x0075 0x18 ;; jump relative77 fifth rival's name character (PK) (TM25) (0xE1 == -31)78 x any80 0xFF81 0x0183 target-item type (at 0xD594)84 target-item quantity (at 0xD595)88 Drop enough from rival's first character/ third character89 as an item so that it is [_ 0xD5] instead of [_ 0xE1].91 shift rival's name's first two characters into92 mem-function-address.94 now close the menu and continue item manipulations using the95 newly constructed program. Starting and then canceling the96 start menu activates the program.98 ********** END Game Sequence105 ************ Misc Notes.107 valid start addresses for the initial bootstrap program are108 the following:110 0xD31D - 0xD41B111 --OR--112 0xD53A - 0XD59C116 valid character-items:118 0x7F " " ;space [x]119 0x80 "A" ; [x]120 0x81 "B" ; [x]121 0x82 "C" ; [x]122 0x83 "D" ; [x]123 0x84 "E" ; [x]124 0x85 "F" ; [x]125 0x86 "G" ; [x]126 0x87 "H" ; [x]127 0x88 "I" ; [x]128 0x89 "J" ; [x]129 0x8A "K" ; [x]130 0x8B "L" ; [good]131 0x8C "M" ; [x]132 0x8D "N" ; [x]133 --- last valid character for program start134 0x8E "O" ; [x]135 0x8F "P" ; [x]136 0x90 "Q" ; [x]137 0x91 "R" ; [x]138 0x92 "S" ; [x]139 0x93 "T" ; [good]140 0x94 "U" ; [good]141 0x95 "V" ; [good]142 0x96 "W" ; [x]143 0x97 "X" ; [x]144 0x98 "Y" ; [key]145 0x99 "Z" ; [x]146 0x9A "(" ; [key]147 0x9B ")" ; [x]148 0x9C ":" ; [x]149 --- last valid character for target153 ;;; character canadates for jump-relative backwards155 0xE1 "PK" ; [TM25]156 0xE2 "MN" ; [TM26]157 0xE6 "?" ; [TM30]158 0xE7 "!" ; [TM31]159 0xE8 "." ; [TM32]