Mercurial > vba-clojure
view clojure/com/aurellem/exp/notes.txt @ 293:4a0dbaed7078
preliminary idea for a better pre-bootstrapping program.
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Fri, 30 Mar 2012 18:14:14 -0500 |
parents | dc9a0060e7cb |
children | d35683bfc15f |
line wrap: on
line source
1 ******** Game Sequence3 start game5 name rival "<space><PK>G<PK>G<PK>"6 (0x7F 0xE1 0x86 0xE1 0x86 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 pokeball, 1 potion, 1 antidote, 1 parlyz heal, 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 following 35 times]33 0xFF34 0x0135 [end repeat]37 0x0038 0xFA -- first part of "Load A from Literal address"40 third rival's name character41 xD5 -- target item address43 0x0044 0x3C -- increment A register46 0x0047 0xEA -- first part of "Save A to literal address"49 fifth rival's name character50 xD5 -- target item address52 0x0053 0xC3 -- first part of "Absolute Jump to literal address"55 burn-heal56 x 95 -- address of Route 3 memory-function58 0x0059 0x??61 Drop enough from rival's first character/ second character62 as an item so that it is [0x7F 0xD5] instead of [0x7F 0xE1].64 shift rival's name's first two characters into65 mem-function-address.67 now close the menu and continue item manipulations using the68 newly constructed program. Starting and then canceling the69 start menu activates the program.71 ********** END Game Sequence76 [repeat 35 times]77 0xFF78 0x0179 [end repeat]82 ;;; program to swap item ID and quantity at fixed address.83 ;; here target is equal to rival's thrid and fourth character86 0x0087 0x21 ;; load target into HL89 third rival's name character90 xD5 -- target item address92 0x0093 0x2A ;; save (HL)=(target) to A, increment HL95 0x0096 0x78 ;; save A to B98 0x0099 0x3A ;; save (target+1) to A, decrement HL101 0x00102 0x22 ;; save A to target, increment HL [(target+1) -> target]104 0x00105 0x78 ;; load B to A107 0x00108 0x77 ;; load A into target+1 [(target) -> target+1]117 valid start addresses for the initial bootstrap program are118 the following:120 0xD31D - 0xD41B121 --OR--122 0xD53A - 0XD59C