annotate clojure/com/aurellem/exp/notes.txt @ 291:c8b0db518de3

script: creating header for initial bootstrap program.
author Robert McIntyre <rlm@mit.edu>
date Thu, 29 Mar 2012 18:23:20 -0500
parents dc9a0060e7cb
children 4a0dbaed7078
rev   line source
rlm@240 1 ******** Game Sequence
rlm@240 2
rlm@239 3 start game
rlm@239 4
rlm@240 5 name rival "<space><PK>G<PK>G<PK>"
rlm@240 6 (0x7F 0xE1 0x86 0xE1 0x86 0xE1 in character codes)
rlm@240 7
rlm@290 8 get pikachu, fight rival, deliver oak's parcel, go back to
rlm@290 9 viridian poke mart.
rlm@239 10
rlm@290 11 Perform save corruption.
rlm@239 12
rlm@290 13 switch 6th pokemon with 9th to set current-items to 0xFF
rlm@239 14
rlm@290 15 Sell 254 cancel-buttons to get a bunch of money.
rlm@239 16
rlm@290 17 buy a pokeball to repair item-list
rlm@290 18
rlm@290 19 buy 1 pokeball, 1 potion, 1 antidote, 1 parlyz heal, and
rlm@290 20 96 burn heals
rlm@290 21
rlm@290 22 95 burn heals spells out the address that will safely return
rlm@290 23 control to the pokemon kernel.
rlm@290 24
rlm@290 25 switch 5th pokemon with 9th to set current-items to 0xFF,
rlm@290 26 corrupting the item-list again.
rlm@290 27
rlm@290 28 Deposit things from your item list to get the following
rlm@290 29 pattern in the item computer. You can do this with what is
rlm@290 30 in your item list because of the previous setup.
rlm@239 31
rlm@241 32 [repeat following 35 times]
rlm@290 33 0xFF
rlm@241 34 0x01
rlm@290 35 [end repeat]
rlm@240 36
rlm@240 37 0x00
rlm@241 38 0xFA -- first part of "Load A from Literal address"
rlm@240 39
rlm@240 40 third rival's name character
rlm@241 41 xD5 -- target item address
rlm@240 42
rlm@240 43 0x00
rlm@241 44 0x3C -- increment A register
rlm@240 45
rlm@240 46 0x00
rlm@241 47 0xEA -- first part of "Save A to literal address"
rlm@240 48
rlm@240 49 fifth rival's name character
rlm@241 50 xD5 -- target item address
rlm@240 51
rlm@240 52 0x00
rlm@241 53 0xC3 -- first part of "Absolute Jump to literal address"
rlm@240 54
rlm@240 55 burn-heal
rlm@241 56 x 95 -- address of Route 3 memory-function
rlm@240 57
rlm@241 58 0x00
rlm@241 59 0x??
rlm@240 60
rlm@290 61 Drop enough from rival's first character/ second character
rlm@290 62 as an item so that it is [0x7F 0xD5] instead of [0x7F 0xE1].
rlm@290 63
rlm@240 64 shift rival's name's first two characters into
rlm@290 65 mem-function-address.
rlm@240 66
rlm@240 67 now close the menu and continue item manipulations using the
rlm@240 68 newly constructed program. Starting and then canceling the
rlm@240 69 start menu activates the program.
rlm@240 70
rlm@240 71 ********** END Game Sequence
rlm@240 72
rlm@240 73
rlm@240 74
rlm@240 75
rlm@240 76
rlm@240 77
rlm@240 78
rlm@240 79
rlm@240 80
rlm@240 81 valid start addresses for the initial bootstrap program are
rlm@240 82 the following:
rlm@240 83
rlm@240 84 0xD31D - 0xD41B
rlm@240 85 --OR--
rlm@240 86 0xD53A - 0XD59C
rlm@240 87
rlm@240 88
rlm@240 89
rlm@240 90
rlm@240 91