If you are still using the old URL (datacrystal.romhacking.net), please update your bookmarks! The old URL may stop working soon.
The current URL is datacrystal.tcrf.net.
The current URL is datacrystal.tcrf.net.
Final Fantasy VI/ROM map/Assembly C32: Difference between revisions
< Final Fantasy VI | ROM map
Jump to navigation
Jump to search
mNo edit summary |
m (Xkeeper moved page Final Fantasy VI:ROM map/Assembly C32 to Final Fantasy VI/ROM map/Assembly C32: normalize subpages and titles) |
(No difference)
|
Latest revision as of 02:41, 24 January 2024
This is a sub-page of Final Fantasy VI/ROM map.
C3/200F unknow
C3/200F: A508 LDA $08 C3/2011: 8980 BIT #$80 (did you press A?) C3/2013: F007 BEQ $201C (branch if not, BPL...) C3/2015: A54E LDA $4E C3/2017: 855E STA $5E C3/2019: 4C8A20 JMP $208A
C3/201C unknow
C3/201C: A909 LDA #$09 C3/201E: 85E0 STA $E0 C3/2020: 8000 BRA $2022 (...why?) C3/2022: A5B5 LDA $B5 (mosaic intensity) C3/2024: 29F0 AND #$F0 (keep the intensity, remove the on/off flags) C3/2026: D061 BNE $2089 (branch if there's any intensity) C3/2028: A508 LDA $08 C3/202A: 8910 BIT #$10 (did you press L?) C3/202C: F02B BEQ $2059 (branch if not) C3/202E: A525 LDA $25 C3/2030: C903 CMP #$03 C3/2032: D00B BNE $203F C3/2034: 20EB9E JSR $9EEB C3/2037: A599 LDA $99 C3/2039: F004 BEQ $203F C3/203B: 20A30E JSR $0EA3 (JMP fool!) C3/203E: 60 RTS
C3/203F unknow
C3/203F: 7B TDC C3/2040: A528 LDA $28 C3/2042: 1A INC A C3/2043: 2903 AND #$03 C3/2045: 8528 STA $28 C3/2047: AA TAX C3/2048: B569 LDA $69,X C3/204A: 30F3 BMI $203F C3/204C: 204E1E JSR $1E4E C3/204F: B0EE BCS $203F C3/2051: A5E0 LDA $E0 C3/2053: 8526 STA $26 C3/2055: 20A30E JSR $0EA3 (JMP fool!) C3/2058: 60 RTS
C3/2059 unknow
C3/2059: A508 LDA $08 (A already holds the contents of $08) C3/205B: 8920 BIT #$20 (did you press R?) C3/205D: F02A BEQ $2089 (branch if not) C3/205F: A525 LDA $25 C3/2061: C903 CMP #$03 C3/2063: D00B BNE $2070 C3/2065: 20EB9E JSR $9EEB C3/2068: A599 LDA $99 C3/206A: F004 BEQ $2070 C3/206C: 20A30E JSR $0EA3 (JMP fool!) C3/206F: 60 RTS
C3/2070 unknow
C3/2070: 7B TDC C3/2071: A528 LDA $28 C3/2073: 3A DEC A C3/2074: 2903 AND #$03 C3/2076: 8528 STA $28 C3/2078: AA TAX C3/2079: B569 LDA $69,X C3/207B: 30F3 BMI $2070 C3/207D: 204E1E JSR $1E4E C3/2080: B0EE BCS $2070 C3/2082: A5E0 LDA $E0 C3/2084: 8526 STA $26 C3/2086: 20A30E JSR $0EA3 (JMP fool!) C3/2089: 60 RTS
C3/208A unknow
C3/208A: 7B TDC C3/208B: A54B LDA $4B C3/208D: AA TAX C3/208E: B579 LDA $79,X C3/2090: C920 CMP #$20 C3/2092: D00A BNE $209E C3/2094: 20B20E JSR $0EB2 (makes the click sound) C3/2097: A54B LDA $4B C3/2099: 0A ASL A C3/209A: AA TAX C3/209B: 7CA520 JMP ($20A5,X)
C3/209E unknow
C3/209E: 20C00E JSR $0EC0 (makes the buzzer sound) C3/20A1: 205D30 JSR $305D (mosaic effect) C3/20A4: 60 RTS
C3/20A5 data
C3/20A5: B320 (Espers) C3/20A7: 1C21 (magic) C3/20A9: EE20 (SwdTech) C3/20AB: 0521 (Blitz) C3/20AD: 6E21 (Lore) C3/20AF: A621 (Rage) C3/20B1: DE21 (Dance)
C3/20B3 unknow
C3/20B3: 644A STZ $4A C3/20B5: 201F09 JSR $091F (set arrow's initial position) C3/20B8: C220 REP #$20 (16 bit memory/accum.) C3/20BA: A90010 LDA #$1000 C3/20BD: 9F4A357E STA $7E354A,X C3/20C1: A96800 LDA #$0068 C3/20C4: 9FCA347E STA $7E34CA,X C3/20C8: E220 SEP #$20 (8 bit memory/accum.) C3/20CA: 20184C JSR $4C18 (hotspot data for Esper menu) C3/20CD: 20214C JSR $4C21 (finger positioning data for Esper menu) C3/20D0: A906 LDA #$06 C3/20D2: 855C STA $5C C3/20D4: A908 LDA #$08 C3/20D6: 855A STA $5A C3/20D8: A902 LDA #$02 C3/20DA: 855B STA $5B C3/20DC: A00001 LDY #$0100 C3/20DF: 8439 STY $39 C3/20E1: 843D STY $3D C3/20E3: 205254 JSR $5452 (print out the currently obtained espers) C3/20E6: A91E LDA #$1E C3/20E8: 8526 STA $26 (execute at C3/28D3) C3/20EA: 20EB2E JSR $2EEB (JMP fool!) C3/20ED: 60 RTS
C3/20EE unknow
C3/20EE: 644A STZ $4A C3/20F0: 20CE4B JSR $4BCE C3/20F3: 20D74B JSR $4BD7 C3/20F6: A00001 LDY #$0100 C3/20F9: 8439 STY $39 C3/20FB: 843D STY $3D C3/20FD: 20D752 JSR $52D7 (Basically tells it to print out "SwdTech") C3/2100: A93E LDA #$3E C3/2102: 8526 STA $26 (execute at C3/298E) C3/2104: 60 RTS
C3/2105 unknow
C3/2105: 644A STZ $4A C3/2107: 20CE4B JSR $4BCE C3/210A: 20D74B JSR $4BD7 C3/210D: A00001 LDY #$0100 C3/2110: 8439 STY $39 C3/2112: 843D STY $3D C3/2114: 20D455 JSR $55D4 (Basically tells it to print out "Blitz") C3/2117: A933 LDA #$33 C3/2119: 8526 STA $26 (execute at C3/2977) C3/211B: 60 RTS
C3/211C unknow
C3/211C: 203021 JSR $2130 C3/211F: 204821 JSR $2148 C3/2122: 205821 JSR $2158 C3/2125: 20C651 JSR $51C6 C3/2128: 204D0F JSR $0F4D C3/212B: A91A LDA #$1A C3/212D: 8526 STA $26 (execute at C3/27E2) C3/212F: 60 RTS
C3/2130 unknow
C3/2130: 644A STZ $4A C3/2132: 201F09 JSR $091F (set arrow's initial position) C3/2135: C220 REP #$20 (16 bit memory/accum.) C3/2137: A90D05 LDA #$050D C3/213A: 9F4A357E STA $7E354A,X C3/213E: A96800 LDA #$0068 C3/2141: 9FCA347E STA $7E34CA,X C3/2145: E220 SEP #$20 (8 bit memory/accum.) C3/2147: 60 RTS
C3/2148 unknow
C3/2148: 20824B JSR $4B82 C3/214B: AD4E1D LDA $1D4E (load some config settings) C3/214E: 2940 AND #$40 (is cursor memory set?) C3/2150: F003 BEQ $2155 (branch if not) C3/2152: 200A0E JSR $0E0A C3/2155: 4C8B4B JMP $4B8B
C3/2158 unknow
C3/2158: A913 LDA #$13 C3/215A: 855C STA $5C C3/215C: A908 LDA #$08 C3/215E: 855A STA $5A C3/2160: A902 LDA #$02 C3/2162: 855B STA $5B C3/2164: A00001 LDY #$0100 C3/2167: 8439 STY $39 C3/2169: 843D STY $3D C3/216B: 4C7F4D JMP $4D7F
C3/216E unknow
C3/216E: 644A STZ $4A C3/2170: 201F09 JSR $091F (set arrow's initial position) C3/2173: C220 REP #$20 (16 bit memory/accum.) C3/2175: A90006 LDA #$0600 C3/2178: 9F4A357E STA $7E354A,X C3/217C: A96800 LDA #$0068 C3/217F: 9FCA347E STA $7E34CA,X C3/2183: E220 SEP #$20 (8 bit memory/accum.) C3/2185: 20F44B JSR $4BF4 C3/2188: 20FD4B JSR $4BFD C3/218B: A910 LDA #$10 C3/218D: 855C STA $5C C3/218F: A908 LDA #$08 C3/2191: 855A STA $5A C3/2193: A901 LDA #$01 C3/2195: 855B STA $5B C3/2197: A00001 LDY #$0100 C3/219A: 8439 STY $39 C3/219C: 843D STY $3D C3/219E: 20F951 JSR $51F9 (Basically tells it to print out "Lore") C3/21A1: A91B LDA #$1B C3/21A3: 8526 STA $26 (execute at C3/288A) C3/21A5: 60 RTS
C3/21A6 unknow
C3/21A6: 644A STZ $4A C3/21A8: 201F09 JSR $091F (set arrow's initial position) C3/21AB: C220 REP #$20 (16 bit memory/accum.) C3/21AD: A9CC00 LDA #$00CC C3/21B0: 9F4A357E STA $7E354A,X C3/21B4: A96800 LDA #$0068 C3/21B7: 9FCA347E STA $7E34CA,X C3/21BB: E220 SEP #$20 (8 bit memory/accum.) C3/21BD: 204C4C JSR $4C4C C3/21C0: 20554C JSR $4C55 C3/21C3: A978 LDA #$78 C3/21C5: 855C STA $5C C3/21C7: A908 LDA #$08 C3/21C9: 855A STA $5A C3/21CB: A902 LDA #$02 C3/21CD: 855B STA $5B C3/21CF: A00001 LDY #$0100 C3/21D2: 8439 STY $39 C3/21D4: 843D STY $3D C3/21D6: 209153 JSR $5391 (Basically tells it to print out "Rage") C3/21D9: A91D LDA #$1D C3/21DB: 8526 STA $26 (execute at C3/28BA) C3/21DD: 60 RTS
C3/21DE unknow
C3/21DE: 644A STZ $4A C3/21E0: 20CE4B JSR $4BCE C3/21E3: 20D74B JSR $4BD7 C3/21E6: A00001 LDY #$0100 C3/21E9: 8439 STY $39 C3/21EB: 843D STY $3D C3/21ED: 207457 JSR $5774 (Basically tells it to print out "Dance") C3/21F0: A91C LDA #$1C C3/21F2: 8526 STA $26 (execute at C3/28AA) C3/21F4: 60 RTS
C3/21F5 sustain the status screen
C3/21F5: 20390F JSR $0F39 (from C3/01F3) C3/21F8: A508 LDA $08 C3/21FA: 8910 BIT #$10 (are you pressing L?) C3/21FC: F020 BEQ $221E (branch if not) C3/21FE: A528 LDA $28 C3/2200: 8579 STA $79 C3/2202: 7B TDC C3/2203: A528 LDA $28 C3/2205: 1A INC A C3/2206: 2903 AND #$03 C3/2208: 8528 STA $28 C3/220A: AA TAX C3/220B: B569 LDA $69,X C3/220D: 30F3 BMI $2202 C3/220F: A528 LDA $28 C3/2211: C579 CMP $79 C3/2213: F003 BEQ $2218 C3/2215: 20A30E JSR $0EA3 C3/2218: 205D1C JSR $1C5D C3/221B: 4C835D JMP $5D83
C3/221E unknow
C3/221E: A508 LDA $08 (A already holds the contents of $08) C3/2220: 8920 BIT #$20 (are you pressing R?) C3/2222: F020 BEQ $2244 (branch if not) C3/2224: A528 LDA $28 C3/2226: 8579 STA $79 C3/2228: 7B TDC C3/2229: A528 LDA $28 C3/222B: 3A DEC A (this is the only difference from C3/21F5) C3/222C: 2903 AND #$03 C3/222E: 8528 STA $28 C3/2230: AA TAX C3/2231: B569 LDA $69,X C3/2233: 30F3 BMI $2228 C3/2235: A528 LDA $28 C3/2237: C579 CMP $79 C3/2239: F003 BEQ $223E C3/223B: 20A30E JSR $0EA3 C3/223E: 205D1C JSR $1C5D C3/2241: 4C835D JMP $5D83
C3/2244 unknow
C3/2244: A509 LDA $09 (from C3/2222) C3/2246: 8980 BIT #$80 (did you press B?) C3/2248: F00A BEQ $2254 (branch if not, BPL...) C3/224A: 20A90E JSR $0EA9 C3/224D: A904 LDA #$04 C3/224F: 8527 STA $27 (init the main menu, queue up to execute at C3/1A8A) C3/2251: 6426 STZ $26 (fade out) C3/2253: 60 RTS
C3/2254 unknow
One portion of Gogo's custom command setting in status menu C3/2254: 7B TDC (from C3/2248) C3/2255: A528 LDA $28 C3/2257: 0A ASL A C3/2258: AA TAX C3/2259: B46D LDY $6D,X C3/225B: B90000 LDA $0000,Y (character ID) C3/225E: C90C CMP #$0C (is character Gogo?) C3/2260: D051 BNE $22B3 (branch if not, and go backwards!) C3/2262: 200537 JSR $3705 (set finger positioning data for the four commands in status menu) C3/2265: A508 LDA $08 C3/2267: 8980 BIT #$80 (did you press A?) C3/2269: F048 BEQ $22B3 (branch if not, BPL... and go backwards!) C3/226B: 20B20E JSR $0EB2 (makes the click sound) C3/226E: A54B LDA $4B C3/2270: 85E7 STA $E7 C3/2272: 64E8 STZ $E8 C3/2274: 7B TDC C3/2275: A528 LDA $28 C3/2277: 0A ASL A C3/2278: AA TAX C3/2279: B46D LDY $6D,X C3/227B: C220 REP #$20 (16 bit memory/accum.) C3/227D: 98 TYA C3/227E: 18 CLC C3/227F: 65E7 ADC $E7 C3/2281: A8 TAY C3/2282: E220 SEP #$20 (8 bit memory/accum.) C3/2284: B91600 LDA $0016,Y (unmodified commands) C3/2287: C912 CMP #$12 (is command Mimic?) C3/2289: F028 BEQ $22B3 (branch if so, there's enough room to branch backwards to the last RTS...) C3/228B: 20062F JSR $2F06 C3/228E: A54E LDA $4E C3/2290: 855E STA $5E C3/2292: A54B LDA $4B C3/2294: 8564 STA $64 C3/2296: A906 LDA #$06 C3/2298: 8520 STA $20 C3/229A: A00C00 LDY #$000C C3/229D: 849C STY $9C C3/229F: A96A LDA #$6A C3/22A1: 8527 STA $27 (queue up to execute at C3/63A7) C3/22A3: A965 LDA #$65 C3/22A5: 8526 STA $26 (execute at C3/36E7) C3/22A7: 200364 JSR $6403 C3/22AA: AF899D7E LDA $7E9D89 C3/22AE: 8554 STA $54 C3/22B0: 4C0C64 JMP $640C (set finger positioning data for Gogo's customizable commands) C3/22B3: 60 RTS (no point for this) C3/22B4: A509 LDA $09 C3/22B6: 8980 BIT #$80 (did you press B?) C3/22B8: F00A BEQ $22C4 (branch if not, BPL...) C3/22BA: 20A90E JSR $0EA9 C3/22BD: A904 LDA #$04 C3/22BF: 8527 STA $27 (init the main menu, queue up to execute at C3/1A8A) C3/22C1: 6426 STZ $26 (fade out) C3/22C3: 60 RTS C3/22C4: 60 RTS (no point for this)
C3/22C5 sustain the config screen
C3/22C5: 20E90E JSR $0EE9 C3/22C8: A50B LDA $0B C3/22CA: 8904 BIT #$04 C3/22CC: F012 BEQ $22E0 C3/22CE: A54E LDA $4E C3/22D0: C908 CMP #$08 (are we at the last hotspot of config screen 1?) C3/22D2: D00C BNE $22E0 (branch if not) C3/22D4: A950 LDA #$50 C3/22D6: 8526 STA $26 (execute at C3/3A00) C3/22D8: A911 LDA #$11 C3/22DA: 8520 STA $20 C3/22DC: 20A30E JSR $0EA3 (JMP fool!) C3/22DF: 60 RTS
C3/22E0 unknow
C3/22E0: A50B LDA $0B C3/22E2: 8908 BIT #$08 C3/22E4: F014 BEQ $22FA C3/22E6: A54E LDA $4E C3/22E8: D010 BNE $22FA C3/22EA: A54A LDA $4A C3/22EC: F00C BEQ $22FA C3/22EE: A951 LDA #$51 C3/22F0: 8526 STA $26 (execute at C3/3A21) C3/22F2: A911 LDA #$11 C3/22F4: 8520 STA $20 C3/22F6: 20A30E JSR $0EA3 (JMP fool!) C3/22F9: 60 RTS
C3/22FA unknow
C3/22FA: A54A LDA $4A C3/22FC: F005 BEQ $2303 C3/22FE: 208438 JSR $3884 C3/2301: 8003 BRA $2306 C3/2303: 205E38 JSR $385E C3/2306: A509 LDA $09 C3/2308: 8980 BIT #$80 (did you press B?) C3/230A: F00A BEQ $2316 (branch if not, BPL...) C3/230C: 20A90E JSR $0EA9 C3/230F: A904 LDA #$04 C3/2311: 8527 STA $27 (init main menu, queue up to execute at C3/1A8A) C3/2313: 6426 STZ $26 (fade out) C3/2315: 60 RTS
C3/2316 unknow
C3/2316: A50B LDA $0B C3/2318: 8901 BIT #$01 (did you press right?) C3/231A: D006 BNE $2322 (branch if so) C3/231C: A50B LDA $0B (A already holds this) C3/231E: 8902 BIT #$02 (did you press left?) C3/2320: F003 BEQ $2325 (branch if not) C3/2322: 4C2F3D JMP $3D2F (config screen 2)
C3/2325 unknow
C3/2325: A508 LDA $08 C3/2327: 8980 BIT #$80 (did you press A?) C3/2329: F003 BEQ $232E (branch if not, BPL...) C3/232B: 4C3123 JMP $2331 (BRA fool!) C3/232E: 4CEC23 JMP $23EC (from C3/2329)
C3/2331 unknow
C3/2331: A54E LDA $4E C3/2333: 855F STA $5F C3/2335: A54A LDA $4A C3/2337: D009 BNE $2342 C3/2339: 7B TDC C3/233A: A54B LDA $4B C3/233C: 0A ASL A C3/233D: AA TAX C3/233E: 7C4A23 JMP ($234A,X) C3/2341: 60 RTS
C3/2342 unknow
C3/2342: 7B TDC C3/2343: A54B LDA $4B C3/2345: 0A ASL A C3/2346: AA TAX C3/2347: 7C5C23 JMP ($235C,X)
C3/234A pointers: config screen 1 and 2 confirmations
"Press A" jump table for config screens 1 and 2 C3/234A: 4123 (RTS) C3/234C: 4123 (RTS) C3/234E: 4123 (RTS) C3/2350: 6823 ("Short" command rearranging) C3/2352: 4123 (RTS) C3/2354: 4123 (RTS) C3/2356: 4123 (RTS) C3/2358: 4123 (RTS) C3/235A: 7923 C3/235C: 4123 (RTS) C3/235E: 4123 (RTS) C3/2360: 8823 (you have hit accept, set value back to default) C3/2362: 8823 (you have hit accept, set value back to default) C3/2364: 8823 (you have hit accept, set value back to default) C3/2366: 8823 (you have hit accept, set value back to default)
C3/2368 unknow
C3/2368: AD4D1D LDA $1D4D (various settings set in config) C3/236B: 8980 BIT #$80 ("short" command set?) C3/236D: F0D2 BEQ $233E (branch if not) C3/236F: 20B20E JSR $0EB2 (makes the click sound) C3/2372: A947 LDA #$47 C3/2374: 8527 STA $27 (queue up to execute at C3/42C2) C3/2376: 6426 STZ $26 (fade out) C3/2378: 60 RTS
C3/2379 unknow
C3/2379: AD541D LDA $1D54 (various settings set in config) C3/237C: 10C3 BPL $2341 (branch if multiplayer isn't set) C3/237E: 20B20E JSR $0EB2 (makes the click sound) C3/2381: A94B LDA #$4B C3/2383: 8527 STA $27 (queue up to execute at C3/46AD) C3/2385: 6426 STZ $26 (fade out) C3/2387: 60 RTS
C3/2388 unknow
C3/2388: 20B20E JSR $0EB2 (makes the click sound) C3/238B: AD541D LDA $1D54 (various settings set in config) C3/238E: 2938 AND #$38 C3/2390: F009 BEQ $239B C3/2392: 20A723 JSR $23A7 C3/2395: 20873A JSR $3A87 C3/2398: 4CC341 JMP $41C3
C3/239B unknow
C3/239B: A0FF7F LDY #$7FFF C3/239E: 8C551D STY $1D55 (set font color to white) C3/23A1: 20993F JSR $3F99 C3/23A4: 4CC341 JMP $41C3
C3/23A7 unknow
C3/23A7: 7B TDC C3/23A8: AD4E1D LDA $1D4E (various settings set in config) C3/23AB: 290F AND #$0F (keep only wallpaper, and something to the color component settings) C3/23AD: C220 REP #$20 (16 bit memory/accum.) C3/23AF: A8 TAY C3/23B0: 64EB STZ $EB C3/23B2: 64ED STZ $ED C3/23B4: 88 DEY C3/23B5: 3012 BMI $23C9 C3/23B7: A90E00 LDA #$000E C3/23BA: 18 CLC C3/23BB: 65EB ADC $EB C3/23BD: 85EB STA $EB C3/23BF: A92000 LDA #$0020 C3/23C2: 18 CLC C3/23C3: 65ED ADC $ED C3/23C5: 85ED STA $ED C3/23C7: 80EB BRA $23B4 C3/23C9: A22B31 LDX #$312B C3/23CC: 8E8121 STX $2181 C3/23CF: A5EB LDA $EB C3/23D1: A8 TAY C3/23D2: A5ED LDA $ED C3/23D4: AA TAX C3/23D5: E220 SEP #$20 (8 bit memory/accum.) C3/23D7: A90E LDA #$0E C3/23D9: 85E9 STA $E9 C3/23DB: BF021CED LDA $ED1C02,X C3/23DF: 99571D STA $1D57,Y (save color components for each wallpaper) C3/23E2: 8D8021 STA $2180 C3/23E5: E8 INX C3/23E6: C8 INY C3/23E7: C6E9 DEC $E9 C3/23E9: D0F0 BNE $23DB C3/23EB: 60 RTS
C3/23EC unknow
C3/23EC: A508 LDA $08 C3/23EE: 8910 BIT #$10 (did you press L?) C3/23F0: D004 BNE $23F6 (branch if so) C3/23F2: 8920 BIT #$20 (did you press R?) C3/23F4: F015 BEQ $240B (branch if not) C3/23F6: 20A30E JSR $0EA3 C3/23F9: 645F STZ $5F C3/23FB: A54A LDA $4A C3/23FD: D007 BNE $2406 C3/23FF: A901 LDA #$01 C3/2401: 854A STA $4A C3/2403: 4CEA39 JMP $39EA C3/2406: 644A STZ $4A C3/2408: 20F539 JSR $39F5 (JMP fool!) C3/240B: 60 RTS
C3/240C unknow
C3/240C: 204835 JSR $3548 C3/240F: 208969 JSR $6989 C3/2412: A509 LDA $09 C3/2414: 8980 BIT #$80 (did you press B?) C3/2416: D006 BNE $241E (branch if so, BPL...) C3/2418: A509 LDA $09 (A already holds the contents of $09) C3/241A: 8901 BIT #$01 (did you press right? LSR A...) C3/241C: F019 BEQ $2437 (branch if not, BCC...) C3/241E: 20A90E JSR $0EA9 C3/2421: A906 LDA #$06 C3/2423: 8520 STA $20 C3/2425: A00C00 LDY #$000C C3/2428: 849C STY $9C C3/242A: A905 LDA #$05 C3/242C: 1446 TRB $46 C3/242E: A903 LDA #$03 C3/2430: 8527 STA $27 (queue up to execute at C3/1D94) C3/2432: A965 LDA #$65 C3/2434: 8526 STA $26 (execute at C3/36E7) C3/2436: 60 RTS
C3/2437 unknow
C3/2437: A508 LDA $08 C3/2439: 8980 BIT #$80 (did you press A?) C3/243B: F015 BEQ $2452 (branch if not, BPL...) C3/243D: 20B20E JSR $0EB2 (makes the click sound) C3/2440: A54B LDA $4B C3/2442: 8528 STA $28 C3/2444: A910 LDA #$10 C3/2446: 8526 STA $26 (execute at C3/2453) C3/2448: 20212F JSR $2F21 C3/244B: 20B12F JSR $2FB1 C3/244E: A54E LDA $4E C3/2450: 855E STA $5E C3/2452: 60 RTS
C3/2453 unknow
C3/2453: 204835 JSR $3548 C3/2456: A509 LDA $09 C3/2458: 8980 BIT #$80 (did you press B?) C3/245A: F013 BEQ $246F (branch if not, BPL...) C3/245C: 20A90E JSR $0EA9 C3/245F: A901 LDA #$01 C3/2461: 1446 TRB $46 C3/2463: A90F LDA #$0F C3/2465: 8526 STA $26 (execute at C3/240C) C3/2467: 20982F JSR $2F98 C3/246A: A55E LDA $5E C3/246C: 854E STA $4E C3/246E: 60 RTS
C3/246F unknow
C3/246F: A508 LDA $08 C3/2471: 8980 BIT #$80 (did you press A?) C3/2473: F033 BEQ $24A8 (branch if not, BPL...) C3/2475: 20B20E JSR $0EB2 (makes the click sound) C3/2478: A528 LDA $28 C3/247A: C54B CMP $4B C3/247C: D013 BNE $2491 C3/247E: A901 LDA #$01 C3/2480: 1446 TRB $46 C3/2482: A912 LDA #$12 C3/2484: 8526 STA $26 (execute at C3/2537) C3/2486: 20102E JSR $2E10 C3/2489: A00C00 LDY #$000C C3/248C: 8420 STY $20 C3/248E: 4C982F JMP $2F98
C3/2491 unknow
C3/2491: A910 LDA #$10 C3/2493: 1446 TRB $46 C3/2495: A90C LDA #$0C C3/2497: 1445 TRB $45 C3/2499: 208235 JSR $3582 C3/249C: A918 LDA #$18 C3/249E: 8522 STA $22 C3/24A0: A901 LDA #$01 C3/24A2: 1446 TRB $46 C3/24A4: A911 LDA #$11 C3/24A6: 8526 STA $26 (execute at C3/24A9) C3/24A8: 60 RTS
C3/24A9 unknow
C3/24A9: 204835 JSR $3548 C3/24AC: A522 LDA $22 C3/24AE: F030 BEQ $24E0 C3/24B0: C90C CMP #$0C C3/24B2: D039 BNE $24ED C3/24B4: 20F824 JSR $24F8 C3/24B7: 20D12D JSR $2DD1 C3/24BA: 20EE24 JSR $24EE C3/24BD: 20156A JSR $6A15 C3/24C0: 20F132 JSR $32F1 (get character 1 name, HP, MP, displayed) C3/24C3: 203D33 JSR $333D (get character 2 name, HP, MP, displayed) C3/24C6: 208933 JSR $3389 (get character 3 name, HP, MP, displayed) C3/24C9: 20D533 JSR $33D5 (get character 4 name, HP, MP, displayed) C3/24CC: 20BA0D JSR $0DBA C3/24CF: 20FD0E JSR $0EFD C3/24D2: 20982F JSR $2F98 C3/24D5: 20B011 JSR $11B0 (execute everything in OAM queue) C3/24D8: 206813 JSR $1368 (trigger NMI) C3/24DB: A908 LDA #$08 C3/24DD: 0445 TSB $45 C3/24DF: 60 RTS
C3/24E0 unknow
C3/24E0: A90F LDA #$0F C3/24E2: 8526 STA $26 (execute at C3/240C) C3/24E4: A910 LDA #$10 C3/24E6: 0446 TSB $46 C3/24E8: A904 LDA #$04 C3/24EA: 0445 TSB $45 C3/24EC: 60 RTS C3/24ED: 60 RTS (no point for this)
C3/24EE unknow
C3/24EE: 203C2E JSR $2E3C C3/24F1: A901 LDA #$01 C3/24F3: 1447 TRB $47 C3/24F5: 4CB011 JMP $11B0 (execute everything in OAM queue)
C3/24F8 unknow
C3/24F8: 7B TDC C3/24F9: AA TAX C3/24FA: 86E0 STX $E0 C3/24FC: 86E2 STX $E2 C3/24FE: AD4F1D LDA $1D4F C3/2501: 18 CLC C3/2502: 6A ROR A C3/2503: 9002 BCC $2507 C3/2505: F6E0 INC $E0,X C3/2507: E8 INX C3/2508: E00400 CPX #$0004 C3/250B: D0F5 BNE $2502 C3/250D: 7B TDC C3/250E: A54B LDA $4B C3/2510: AA TAX C3/2511: B5E0 LDA $E0,X C3/2513: 85E5 STA $E5 C3/2515: A528 LDA $28 C3/2517: AA TAX C3/2518: B5E0 LDA $E0,X C3/251A: 85E6 STA $E6 C3/251C: A5E5 LDA $E5 C3/251E: 95E0 STA $E0,X C3/2520: A54B LDA $4B C3/2522: AA TAX C3/2523: A5E6 LDA $E6 C3/2525: 95E0 STA $E0,X C3/2527: 18 CLC C3/2528: A5E3 LDA $E3 C3/252A: 0A ASL A C3/252B: 65E2 ADC $E2 C3/252D: 0A ASL A C3/252E: 65E1 ADC $E1 C3/2530: 0A ASL A C3/2531: 65E0 ADC $E0 C3/2533: 8D4F1D STA $1D4F C3/2536: 60 RTS
C3/2537 unknow
C3/2537: A420 LDY $20 C3/2539: D004 BNE $253F C3/253B: A90F LDA #$0F C3/253D: 8526 STA $26 (execute at C3/240C) C3/253F: 60 RTS
C3/2540: A54B LDA $4B C3/2542: 1A INC A C3/2543: 8566 STA $66 C3/2545: 200319 JSR $1903 (sprite enabling and disabling for save screen) C3/2548: 20AA15 JSR $15AA (finger positioning for save screen) C3/254B: A509 LDA $09 C3/254D: 8980 BIT #$80 (did you press B?) C3/254F: F00C BEQ $255D (branch if not, BPL...) C3/2551: 20A90E JSR $0EA9 C3/2554: A59F LDA $9F C3/2556: 8527 STA $27 (queue up to execute) C3/2558: A953 LDA #$53 C3/255A: 8526 STA $26 (execute C3/19FB) C3/255C: 60 RTS
C3/255D unknow
C3/255D: A508 LDA $08 C3/255F: 8980 BIT #$80 (did you press A?) C3/2561: F039 BEQ $259C (branch if not, BPL...) C3/2563: 7B TDC C3/2564: A54B LDA $4B C3/2566: 0A ASL A C3/2567: AA TAX C3/2568: B491 LDY $91,X C3/256A: D014 BNE $2580 C3/256C: A566 LDA $66 C3/256E: 8D1F02 STA $021F C3/2571: 20B90E JSR $0EB9 (makes the healing sound) C3/2574: 20DF25 JSR $25DF C3/2577: A59E LDA $9E C3/2579: 8527 STA $27 (queue up to execute) C3/257B: A953 LDA #$53 C3/257D: 8526 STA $26 (execute C3/19FB) C3/257F: 60 RTS
C3/2580 unknow
C3/2580: 20B20E JSR $0EB2 (makes the click sound) C3/2583: 20AC18 JSR $18AC C3/2586: A54B LDA $4B C3/2588: 1A INC A C3/2589: 8566 STA $66 C3/258B: 206615 JSR $1566 (load everything from SRAM) C3/258E: 201569 JSR $6915 C3/2591: 208969 JSR $6989 C3/2594: A915 LDA #$15 C3/2596: 8527 STA $27 (queue up to execute at C3/1CE3) C3/2598: A953 LDA #$53 C3/259A: 8526 STA $26 (execute C3/19FB) C3/259C: 60 RTS
C3/259D sustain "erasing data" screen
C3/259D: 20DA15 JSR $15DA (finger positioning data for confirming save) C3/25A0: A509 LDA $09 C3/25A2: 8980 BIT #$80 (did you press B?) C3/25A4: D01C BNE $25C2 (branch if so, BMI...) C3/25A6: A508 LDA $08 C3/25A8: 8980 BIT #$80 (did you press A?) C3/25AA: F032 BEQ $25DE (branch if not, BPL...) C3/25AC: A54B LDA $4B (load finger position) C3/25AE: D017 BNE $25C7 (branch if not on "yes") C3/25B0: A566 LDA $66 C3/25B2: 8D1F02 STA $021F C3/25B5: 20B90E JSR $0EB9 (makes the healing sound) C3/25B8: 20DF25 JSR $25DF C3/25BB: A59E LDA $9E C3/25BD: 8527 STA $27 (queue up to execute) C3/25BF: 6426 STZ $26 (fade out) C3/25C1: 60 RTS
C3/25C2 unknow
C3/25C2: 20A90E JSR $0EA9 (from C3/25A4) C3/25C5: 8003 BRA $25CA C3/25C7: 20B20E JSR $0EB2 (makes the click sound) C3/25CA: 20C118 JSR $18C1 (restore the current data, since it was overwritten by the save preview) C3/25CD: 201569 JSR $6915 C3/25D0: 208969 JSR $6989 C3/25D3: A913 LDA #$13 C3/25D5: 8527 STA $27 (init the save screen, queue up to execute at C3/1CA0) C3/25D7: 6426 STZ $26 (fade out) C3/25D9: A566 LDA $66 C3/25DB: 8D2402 STA $0224 C3/25DE: 60 RTS
C3/25DF unknow
C3/25DF: 20C118 JSR $18C1 (restore the current data, since it was overwritten by the save preview) C3/25E2: 201569 JSR $6915 C3/25E5: 208969 JSR $6989 C3/25E8: C220 REP #$20 (16 bit memory/accum.) C3/25EA: EEC71D INC $1DC7 (number of times you saved) C3/25ED: E220 SEP #$20 (8 bit memory/accum.) C3/25EF: A566 LDA $66 C3/25F1: 4C1D15 JMP $151D (Store data to SRAM)
C3/25F4 unknow
DP $26 is #$17 C3/25F4: A9C0 LDA #$C0 C3/25F6: 1446 TRB $46 C3/25F8: A910 LDA #$10 C3/25FA: 0445 TSB $45 C3/25FC: 20FD0E JSR $0EFD C3/25FF: 208C7D JSR $7D8C C3/2602: A509 LDA $09 C3/2604: 8980 BIT #$80 (did you press B?) C3/2606: F009 BEQ $2611 (branch if not, BPL...) C3/2608: 20A90E JSR $0EA9 C3/260B: A904 LDA #$04 C3/260D: 8527 STA $27 (init main menu, queue up to execute at C3/1A8A) C3/260F: 6426 STZ $26 (fade out) C3/2611: A508 LDA $08 C3/2613: 8980 BIT #$80 (did you press A?) C3/2615: F006 BEQ $261D (branch if not, BPL...) C3/2617: 20B20E JSR $0EB2 (makes the click sound) C3/261A: 201E26 JSR $261E (BRA fool!) C3/261D: 60 RTS
C3/261E unknow
C3/261E: 7B TDC C3/261F: A54B LDA $4B C3/2621: 0A ASL A C3/2622: AA TAX C3/2623: 7C2626 JMP ($2626,X)
C3/2626 data
C3/2626: 2C26 C3/2628: 7C26 C3/262A: 8E26
C3/262C unknow
C3/262C: 201C7D JSR $7D1C C3/262F: AD4E1D LDA $1D4E (various settings in config) C3/2632: 2940 AND #$40 (cursor memory set?) C3/2634: F005 BEQ $263B (branch if not) C3/2636: 20AC0D JSR $0DAC C3/2639: 8010 BRA $264B C3/263B: AD3102 LDA $0231 C3/263E: 854A STA $4A C3/2640: A44D LDY $4D C3/2642: 844F STY $4F C3/2644: A54A LDA $4A C3/2646: 18 CLC C3/2647: 6550 ADC $50 C3/2649: 8550 STA $50 C3/264B: 20257D JSR $7D25 C3/264E: 200D7E JSR $7E0D C3/2651: 20F182 JSR $82F1 C3/2654: 20390F JSR $0F39 C3/2657: 206813 JSR $1368 (trigger NMI) C3/265A: 201F09 JSR $091F (set arrow's initial position) C3/265D: C220 REP #$20 (16 bit memory/accum.) C3/265F: A97000 LDA #$0070 C3/2662: 9F4A357E STA $7E354A,X C3/2666: A95800 LDA #$0058 C3/2669: 9FCA347E STA $7E34CA,X C3/266D: E220 SEP #$20 (8 bit memory/accum.) C3/266F: A908 LDA #$08 C3/2671: 8526 STA $26 (execute at C3/1EF7) C3/2673: A900 LDA #$00 C3/2675: A00EA8 LDY #$A80E C3/2678: 207311 JSR $1173 (put C3/A80E in the queue, also JMP fool!) C3/267B: 60 RTS
C3/267C unknow
C3/267C: 20156A JSR $6A15 C3/267F: 20B826 JSR $26B8 C3/2682: 20E026 JSR $26E0 C3/2685: 20887F JSR $7F88 C3/2688: 20807D JSR $7D80 C3/268B: 4C2E1F JMP $1F2E
C3/268E unknow
C3/268E: 20447D JSR $7D44 C3/2691: AD4E1D LDA $1D4E (various settings in config) C3/2694: 2940 AND #$40 (cursor memory set?) C3/2696: F005 BEQ $269D (branch if not) C3/2698: AC3202 LDY $0232 C3/269B: 844D STY $4D C3/269D: 204D7D JSR $7D4D C3/26A0: 208B83 JSR $838B C3/26A3: 20991B JSR $1B99 C3/26A6: 203983 JSR $8339 C3/26A9: 20390F JSR $0F39 C3/26AC: 206813 JSR $1368 (trigger NMI) C3/26AF: A9C0 LDA #$C0 C3/26B1: 1446 TRB $46 C3/26B3: A918 LDA #$18 C3/26B5: 8526 STA $26 (execute at C3/2741) C3/26B7: 60 RTS
C3/26B8 unknow
C3/26B8: 7B TDC (Put 0 in A) C3/26B9: AA TAX (Transfer A = 0 to X) C3/26BA: BD6918 LDA $1869,X (Load inventory item at position X) C3/26BD: 9F8DAA7E STA $7EAA8D,X (Store in RAM location) C3/26C1: A9FF LDA #$FF (Load an "empty" value) C3/26C3: 9D6918 STA $1869,X (Put it in inventory location X) C3/26C6: E8 INX (Increment X) C3/26C7: E00001 CPX #$0100 (Is X over 256?) C3/26CA: D0EE BNE $26BA (If not, branch -> Load inventory item X) C3/26CC: 7B TDC (Otherwise, put a 0 in A) C3/26CD: AA TAX (Transfer A = 0 to X) C3/26CE: BD6919 LDA $1969,X (Get quantity of item X) C3/26D1: 9F8DAB7E STA $7EAB8D,X (Store the quantity in a RAM location) C3/26D5: 7B TDC (Put 0 in A) C3/26D6: 9D6919 STA $1969,X (Put it in for quantity of item X) C3/26D9: E8 INX (Increment X) C3/26DA: E00001 CPX #$0100 (Is X 256 yet?) C3/26DD: D0EF BNE $26CE (If not, branch -> Get quantity of item X) C3/26DF: 60 RTS (Exit)
C3/26E0 unknow
C3/26E0: 7B TDC C3/26E1: A8 TAY C3/26E2: AA TAX C3/26E3: BFF526C3 LDA $C326F5,X (get current icon) C3/26E7: DA PHX (save position in icon list) C3/26E8: 85E0 STA $E0 (save current icon) C3/26EA: 200627 JSR $2706 (output any items whose icon matches the one in $E0 to our new item list.) C3/26ED: FA PLX (restore position in icon list) C3/26EE: E8 INX (move to next icon) C3/26EF: E01100 CPX #$0011 (loop for all 17 icons or item types) C3/26F2: D0EF BNE $26E3 C3/26F4: 60 RTS
C3/26F5 data: icons
C3/26F5: FF (No icon. i.e., blank leading character, plain arse Item) C3/26F6: D8 (Dirk icon) C3/26F7: D9 (Sword icon) C3/26F8: DA (Lance icon) C3/26F9: DB (Knife icon) C3/26FA: DC (Rod icon) C3/26FB: DD (Brush icon) C3/26FC: DE (Stars icon) C3/26FD: DF (Special icon) C3/26FE: E0 (Gambler icon) C3/26FF: E1 (Claw icon) C3/2700: E2 (Shield icon) C3/2701: E3 (Helmet icon) C3/2702: E4 (Armor icon) C3/2703: E5 (Tool icon) C3/2704: E6 (Skean icon) C3/2705: E7 (Relic icon)
C3/2706 tranfer from ram to wram
C3/2706: 7B TDC (Put 0 in A) C3/2707: AA TAX (Transfer A to X) C3/2708: DA PHX (Push item index) C3/2709: BF8DAA7E LDA $7EAA8D,X (Load RAM inventory item, index X) C3/270D: C9FF CMP #$FF (Is it the empty item?) C3/270F: F028 BEQ $2739 (If so, branch -> Pull index for next item) C3/2711: 8D0242 STA $4202 (Otherwise, set it to be multiplied) C3/2714: A90D LDA #$0D (13 = item name length) C3/2716: 8D0342 STA $4203 (Set name length to be multiplied) C3/2719: EA NOP C3/271A: EA NOP C3/271B: EA NOP C3/271C: AE1642 LDX $4216 (Put index * 13 in X) C3/271F: BF00B3D2 LDA $D2B300,X (Get letter at D2B300 + (index * 13) of item name) C3/2723: C5E0 CMP $E0 (Is this letter the same as the value in $E0?) C3/2725: D012 BNE $2739 (If not, branch -> Pull out the index) C3/2727: FA PLX (Pull out the original index) C3/2728: BF8DAA7E LDA $7EAA8D,X (Load RAM inventory item, index X) C3/272C: 996918 STA $1869,Y (Add it to items currently in inventory) C3/272F: BF8DAB7E LDA $7EAB8D,X (Load RAM inventory quantity) C3/2733: 996919 STA $1969,Y (Make it the quantity of this item) C3/2736: C8 INY (Increase index on inventory list) C3/2737: 8001 BRA $273A (Go to the next index) C3/2739: FA PLX (Pull out the index) C3/273A: E8 INX (Increase the index by 1) C3/273B: E00001 CPX #$0100 (Is it 256 yet?) C3/273E: D0C8 BNE $2708 (If not, branch -> Push X (do the next item)) C3/2740: 60 RTS
C3/2741 unknow
DP $26 is #$18 C3/2741: A910 LDA #$10 C3/2743: 1445 TRB $45 C3/2745: 20FD0E JSR $0EFD C3/2748: 204A7D JSR $7D4A C3/274B: 203983 JSR $8339 C3/274E: A509 LDA $09 C3/2750: 8980 BIT #$80 (did you press B?) C3/2752: F024 BEQ $2778 (branch if not, BPL...) C3/2754: 20A90E JSR $0EA9 C3/2757: A917 LDA #$17 C3/2759: 8526 STA $26 (execute at C3/25F4) C3/275B: A44D LDY $4D C3/275D: 8C3202 STY $0232 C3/2760: 20807D JSR $7D80 C3/2763: AD4E1D LDA $1D4E (various settings in config) C3/2766: 2940 AND #$40 (cursor memory set?) C3/2768: F005 BEQ $276F (branch if not) C3/276A: AC3402 LDY $0234 C3/276D: 844D STY $4D C3/276F: 20867D JSR $7D86 C3/2772: 208583 JSR $8385 C3/2775: 4C390F JMP $0F39 C3/2778: 60 RTS
C3/2779 unknow
DP $26 is #$19 C3/2779: 20FD0E JSR $0EFD C3/277C: 20227D JSR $7D22 C3/277F: 20F182 JSR $82F1 C3/2782: A509 LDA $09 C3/2784: 8980 BIT #$80 (did you press B?) C3/2786: F00C BEQ $2794 (branch if not, BPL..., Swap two items function) C3/2788: 20A90E JSR $0EA9 C3/278B: A901 LDA #$01 C3/278D: 1446 TRB $46 C3/278F: A908 LDA #$08 C3/2791: 8526 STA $26 (execute at C3/1EF7) C3/2793: 60 RTS
C3/2794 swap two items on the inventory list
C3/2794: A508 LDA $08 C3/2796: 8980 BIT #$80 (did you press A?) C3/2798: F047 BEQ $27E1 (branch if not, BPL..., branch backwards!) C3/279A: 20B20E JSR $0EB2 (makes the click sound) C3/279D: A528 LDA $28 (Load index from $28) C3/279F: C54B CMP $4B (Is it the same as the index at $4B?) C3/27A1: D007 BNE $27AA (If not, branch -> Load 16 into A [start of the swap function]) C3/27A3: A901 LDA #$01 (Otherwise, load 1 into A) C3/27A5: 1446 TRB $46 (Clear bit 0 of $46) C3/27A7: 4C9784 JMP $8497 (Jump to function at $8497 [double-clicked an item]) C3/27AA: A910 LDA #$10 (Load 16 into A) C3/27AC: 0445 TSB $45 (Set bit 4 of $45) C3/27AE: A901 LDA #$01 (Load 1 into A) C3/27B0: 1446 TRB $46 (Clear bit 0 of $46) C3/27B2: A908 LDA #$08 C3/27B4: 8526 STA $26 (execute at C3/1EF7) C3/27B6: 7B TDC (Clear A) C3/27B7: A528 LDA $28 (Load index from $28 into A) C3/27B9: A8 TAY (Transfer A to Y) C3/27BA: B96918 LDA $1869,Y (Load inventory item Y) C3/27BD: 85E0 STA $E0 (Store it in $E0) C3/27BF: B96919 LDA $1969,Y (Load quantity of item Y) C3/27C2: 85E1 STA $E1 (Store it in $E1) C3/27C4: 7B TDC (Clear A) C3/27C5: A54B LDA $4B (Load index from $4B into A) C3/27C7: AA TAX (Transfer A into X) C3/27C8: BD6918 LDA $1869,X (Load inventory item X) C3/27CB: 996918 STA $1869,Y (Store it postion Y) C3/27CE: A5E0 LDA $E0 (Load inventory item stored above in $E0) C3/27D0: 9D6918 STA $1869,X (Store it in position Y [now they're swapped]) C3/27D3: BD6919 LDA $1969,X (Load quantity of item X) C3/27D6: 996919 STA $1969,Y (Store it in item quantity Y) C3/27D9: A5E1 LDA $E1 (Load inventory quantity stored above in $E1) C3/27DB: 9D6919 STA $1969,X (Store it in item quantity position X) C3/27DE: 4C887F JMP $7F88 C3/27E1: 60 RTS (no point for this)
C3/27E2 unknow
DP $26 is #$1A C3/27E2: A910 LDA #$10 C3/27E4: 1445 TRB $45 C3/27E6: A901 LDA #$01 C3/27E8: 852A STA $2A C3/27EA: 20FD0E JSR $0EFD C3/27ED: AD1E02 LDA $021E (load 0-60 frame count) C3/27F0: 6A ROR A C3/27F1: 9005 BCC $27F8 C3/27F3: 20750F JSR $0F75 (set something for DMA) C3/27F6: 8003 BRA $27FB C3/27F8: 2091A9 JSR $A991 (set something for DMA) C3/27FB: 20641F JSR $1F64 C3/27FE: B061 BCS $2861 C3/2800: 20884B JSR $4B88 C3/2803: 20E556 JSR $56E5 (Go load address for Magic descriptions) C3/2806: 20C651 JSR $51C6 C3/2809: A509 LDA $09 C3/280B: 8940 BIT #$40 (did you press Y?) C3/280D: F013 BEQ $2822 (branch if not, don't toggle MP cost displaying) C3/280F: 20B20E JSR $0EB2 (makes the click sound) C3/2812: A59E LDA $9E C3/2814: 49FF EOR #$FF C3/2816: 859E STA $9E C3/2818: A910 LDA #$10 C3/281A: 0445 TSB $45 C3/281C: 201C4F JSR $4F1C C3/281F: 4C874F JMP $4F87
C3/2822 unknow
C3/2822: A508 LDA $08 C3/2824: 8980 BIT #$80 (did you press A?) C3/2826: F02D BEQ $2855 (branch if not, BPL...) C3/2828: 7B TDC C3/2829: A54B LDA $4B C3/282B: AA TAX C3/282C: BF099E7E LDA $7E9E09,X C3/2830: C920 CMP #$20 C3/2832: D02E BNE $2862 C3/2834: 20B20E JSR $0EB2 (makes the click sound) C3/2837: A44F LDY $4F C3/2839: 848E STY $8E C3/283B: A54A LDA $4A C3/283D: 8590 STA $90 C3/283F: A54B LDA $4B C3/2841: 8599 STA $99 C3/2843: 20132D JSR $2D13 C3/2846: C912 CMP #$12 (is this X-Zone?) C3/2848: F01F BEQ $2869 (branch if so) C3/284A: C92A CMP #$2A (is this Warp?) C3/284C: F026 BEQ $2874 (branch if so) C3/284E: A93A LDA #$3A C3/2850: 8527 STA $27 (queue up to execute at C3/2A65) C3/2852: 6426 STZ $26 (fade out) C3/2854: 60 RTS
C3/2855 unknow
C3/2855: A509 LDA $09 C3/2857: 8980 BIT #$80 (did you press B?) C3/2859: F006 BEQ $2861 (branch if not, BPL...) C3/285B: 20FD0E JSR $0EFD C3/285E: 20A529 JSR $29A5 (JMP fool!) C3/2861: 60 RTS
C3/2862 unknow
C3/2862: 20C00E JSR $0EC0 (makes the buzzer sound) C3/2865: 205D30 JSR $305D (mosaic effect, also JMP fool!) C3/2868: 60 RTS
C3/2869 unknow
C3/2869: AD0102 LDA $0201 (load availability bits) C3/286C: 8901 BIT #$01 (check for X-Zone use) C3/286E: F0F2 BEQ $2862 (branch if can't) C3/2870: A904 LDA #$04 (exit the menu, unfinished feature) C3/2872: 8009 BRA $287D
C3/2874 unknow
C3/2874: AD0102 LDA $0201 (load availability bits) C3/2877: 8902 BIT #$02 (check for warp useage) C3/2879: F0E7 BEQ $2862 (branch if can't warp) C3/287B: A903 LDA #$03 C3/287D: 8D0502 STA $0205 C3/2880: 20EA2C JSR $2CEA C3/2883: A9FF LDA #$FF C3/2885: 8527 STA $27 (exit the menu) C3/2887: 6426 STZ $26 (fade out) C3/2889: 60 RTS
C3/288A unknow
DP $26 is #$1B C3/288A: A910 LDA #$10 C3/288C: 1445 TRB $45 C3/288E: A902 LDA #$02 C3/2890: 852A STA $2A C3/2892: 20FD0E JSR $0EFD C3/2895: 20641F JSR $1F64 C3/2898: B00F BCS $28A9 C3/289A: 20FA4B JSR $4BFA C3/289D: 20EB56 JSR $56EB (Load addresses for Lore descriptions) C3/28A0: A509 LDA $09 C3/28A2: 8980 BIT #$80 (did you press B?) C3/28A4: F003 BEQ $28A9 (branch if not, BPL...) C3/28A6: 20A529 JSR $29A5 (JMP fool!) C3/28A9: 60 RTS
C3/28AA unknow
DP $26 is #$1C C3/28AA: 20FD0E JSR $0EFD C3/28AD: 20D44B JSR $4BD4 C3/28B0: A509 LDA $09 C3/28B2: 8980 BIT #$80 (did you press B?) C3/28B4: F003 BEQ $28B9 (branch if not, BPL...) C3/28B6: 20A529 JSR $29A5 (JMP fool!) C3/28B9: 60 RTS
C3/28BA unknow
DP $26 is #$1D C3/28BA: A903 LDA #$03 (?? - I suspect this is for the Rage "description" area) C3/28BC: 852A STA $2A C3/28BE: 20FD0E JSR $0EFD C3/28C1: 20641F JSR $1F64 C3/28C4: B00C BCS $28D2 C3/28C6: 20524C JSR $4C52 C3/28C9: A509 LDA $09 C3/28CB: 8980 BIT #$80 (did you press B?) C3/28CD: F003 BEQ $28D2 (branch if not, BPL...) C3/28CF: 20A529 JSR $29A5 (JMP fool!) C3/28D2: 60 RTS
DP $26 is #$1E C3/28D3: A910 LDA #$10 C3/28D5: 1445 TRB $45 C3/28D7: A904 LDA #$04 C3/28D9: 852A STA $2A C3/28DB: 20FD0E JSR $0EFD C3/28DE: 20641F JSR $1F64 (scroll subrotine) C3/28E1: B045 BCS $2928 C3/28E3: 201E4C JSR $4C1E (update finger?) C3/28E6: 20DF56 JSR $56DF (load espers descriptions) C3/28E9: A508 LDA $08 C3/28EB: 8980 BIT #$80 (did you press B?) C3/28ED: F02C BEQ $291B (branch if not, BPL...) C3/28EF: 20B20E JSR $0EB2 (makes the click sound) C3/28F2: 7B TDC C3/28F3: A54B LDA $4B C3/28F5: AA TAX C3/28F6: BF899D7E LDA $7E9D89,X C3/28FA: C9FF CMP #$FF C3/28FC: F00A BEQ $2908 C3/28FE: 8599 STA $99 C3/2900: 209758 JSR $5897 C3/2903: A94D LDA #$4D C3/2905: 8526 STA $26 (execute at C3/58CE) C3/2907: 60 RTS
C3/2908 unknow
C3/2908: A9FF LDA #$FF C3/290A: 85E0 STA $E0 C3/290C: 202929 JSR $2929 C3/290F: 206C54 JSR $546C C3/2912: 20110F JSR $0F11 C3/2915: 206813 JSR $1368 (trigger NMI) C3/2918: 4CFD0E JMP $0EFD
C3/291B unknow
C3/291B: A509 LDA $09 C3/291D: 8980 BIT #$80 (did you press B?) C3/291F: F007 BEQ $2928 (branch if not, BPL...) C3/2921: A908 LDA #$08 C3/2923: 1446 TRB $46 C3/2925: 20A529 JSR $29A5 (JMP fool!) C3/2928: 60 RTS
C3/2929 unknow
C3/2929: 7B TDC C3/292A: A528 LDA $28 C3/292C: 0A ASL A C3/292D: AA TAX C3/292E: B46D LDY $6D,X C3/2930: A5E0 LDA $E0 C3/2932: 991E00 STA $001E,Y C3/2935: A5E0 LDA $E0 C3/2937: 4C084F JMP $4F08
C3/293A unknow
DP $26 is #$34 C3/293A: A420 LDY $20 C3/293C: D009 BNE $2947 (branch backwards!) C3/293E: A04829 LDY #$2948 C3/2941: 20F902 JSR $02F9 (" ") C3/2944: 4C1359 JMP $5913 C3/2947: 60 RTS (no point for this)
C3/2948 data
C3/2948: CD40FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
C3/2966 unknow
C3/2966: A509 LDA $09 C3/2968: 8980 BIT #$80 (did you press B?) C3/296A: F00A BEQ $2976 (branch if not, BPL...) C3/296C: 20A90E JSR $0EA9 C3/296F: A904 LDA #$04 C3/2971: 8527 STA $27 (init the main menu, queue up to execute at C3/1A8A) C3/2973: 6426 STZ $26 (fade out) C3/2975: 60 RTS C3/2976: 60 RTS
C3/2977 unknow
DP $26 is #$33 C3/2977: A910 LDA #$10 C3/2979: 1445 TRB $45 C3/297B: 20FD0E JSR $0EFD C3/297E: 20D44B JSR $4BD4 C3/2981: 201557 JSR $5715 (Load addresses for Blitz descriptions) C3/2984: A509 LDA $09 C3/2986: 8980 BIT #$80 (did you press B?) C3/2988: F003 BEQ $298D (branch if not, BPL...) C3/298A: 20A529 JSR $29A5 (BRA fool!) C3/298D: 60 RTS
C3/298E unknow
C3/298E: A910 LDA #$10 C3/2990: 1445 TRB $45 C3/2992: 20FD0E JSR $0EFD C3/2995: 20D44B JSR $4BD4 C3/2998: 200057 JSR $5700 (Load addresses for SwdTech descriptions) C3/299B: A509 LDA $09 C3/299D: 8980 BIT #$80 (did you press B?) C3/299F: F003 BEQ $29A4 (branch if not, BPL...) C3/29A1: 20A529 JSR $29A5 (BRA fool!, though with proper management, no BRA at all would be needed here) C3/29A4: 60 RTS
C3/29A5 unknow
C3/29A5: 20A90E JSR $0EA9 C3/29A8: A400 LDY $00 C3/29AA: 8439 STY $39 C3/29AC: 843D STY $3D C3/29AE: A90A LDA #$0A C3/29B0: 8526 STA $26 (execute at C3/1FF4) C3/29B2: 20274D JSR $4D27 C3/29B5: 20504B JSR $4B50 C3/29B8: A55E LDA $5E C3/29BA: 854E STA $4E C3/29BC: 20594B JSR $4B59 C3/29BF: 4C0758 JMP $5807
C3/29C2 sustain the sram loading screen
C3/29C2: A54B LDA $4B C3/29C4: 8566 STA $66 C3/29C6: 200319 JSR $1903 C3/29C9: 20BE15 JSR $15BE C3/29CC: A508 LDA $08 C3/29CE: 8980 BIT #$80 (did you press A?) C3/29D0: F034 BEQ $2A06 (branch if not, BPL...) C3/29D2: 7B TDC C3/29D3: A54B LDA $4B C3/29D5: F030 BEQ $2A07 C3/29D7: 8566 STA $66 C3/29D9: 3A DEC A C3/29DA: 0A ASL A C3/29DB: AA TAX C3/29DC: B491 LDY $91,X C3/29DE: F020 BEQ $2A00 C3/29E0: 20AC18 JSR $18AC C3/29E3: 20B20E JSR $0EB2 (makes the click sound) C3/29E6: A566 LDA $66 C3/29E8: 8D2402 STA $0224 C3/29EB: 206615 JSR $1566 C3/29EE: 201569 JSR $6915 C3/29F1: 208969 JSR $6989 C3/29F4: 209515 JSR $1595 C3/29F7: A922 LDA #$22 C3/29F9: 8527 STA $27 (queue up to execute at C3/1D51) C3/29FB: A953 LDA #$53 C3/29FD: 8526 STA $26 (execute at C3/19FB) C3/29FF: 60 RTS
C3/2A00 unknow
C3/2A00: 20C00E JSR $0EC0 (makes the buzzer sound) C3/2A03: 205D30 JSR $305D (mosaic effect, also JMP fool!) C3/2A06: 60 RTS
C3/2A07 unknow
C3/2A07: 20B20E JSR $0EB2 (makes the click sound) C3/2A0A: 20212A JSR $2A21 C3/2A0D: A901 LDA #$01 C3/2A0F: 8D2402 STA $0224 C3/2A12: 9C1F02 STZ $021F C3/2A15: 9C0502 STZ $0205 C3/2A18: A9FF LDA #$FF C3/2A1A: 8527 STA $27 (queue up to exit the menu) C3/2A1C: A953 LDA #$53 C3/2A1E: 8526 STA $26 (execute at C3/19FB) C3/2A20: 60 RTS
C3/2A21 unknow
C3/2A21: 7B TDC C3/2A22: A8 TAY C3/2A23: 8C1B02 STY $021B C3/2A26: 8C1D02 STY $021D C3/2A29: 60 RTS
C3/2A2A sustain the "This data?" screen
C3/2A2A: 20DA15 JSR $15DA C3/2A2D: A509 LDA $09 C3/2A2F: 8980 BIT #$80 (did you press B?) C3/2A31: D025 BNE $2A58 (branch if so, BMI...) C3/2A33: A508 LDA $08 C3/2A35: 8980 BIT #$80 (did you press A?) C3/2A37: F02B BEQ $2A64 (branch if not, BPL...) C3/2A39: 20B20E JSR $0EB2 (makes the click sound) C3/2A3C: A54B LDA $4B C3/2A3E: D01B BNE $2A5B C3/2A40: AC6318 LDY $1863 (game time bytes 1 & 2) C3/2A43: 8C1B02 STY $021B C3/2A46: AD6518 LDA $1865 (game time byte 3) C3/2A49: 8D1D02 STA $021D C3/2A4C: A566 LDA $66 C3/2A4E: 8D1F02 STA $021F C3/2A51: A9FF LDA #$FF C3/2A53: 8527 STA $27 (exit the menu) C3/2A55: 6426 STZ $26 (fade out) C3/2A57: 60 RTS
C3/2A58 unknow
C3/2A58: 20A90E JSR $0EA9 C3/2A5B: 20C118 JSR $18C1 (restore the current data, since it was overwritten by the load preview) C3/2A5E: A920 LDA #$20 C3/2A60: 8527 STA $27 (queue up to execute at C3/1D03) C3/2A62: 6426 STZ $26 (fade out) C3/2A64: 60 RTS
C3/2A65 unknow
C3/2A65: A940 LDA #$40 C3/2A67: 0445 TSB $45 C3/2A69: 20762A JSR $2A76 C3/2A6C: 201258 JSR $5812 C3/2A6F: 20B007 JSR $07B0 (finger OAM initiating) C3/2A72: A93B LDA #$3B C3/2A74: 802F BRA $2AA5
C3/2A76 unknow
C3/2A76: 202F35 JSR $352F (fade out screen, disable H/DMA) C3/2A79: A901 LDA #$01 C3/2A7B: 0445 TSB $45 C3/2A7D: A904 LDA #$04 C3/2A7F: 0443 TSB $43 (eventually enable channel 2 of HDMA) C3/2A81: 641B STZ $1B C3/2A83: 641C STZ $1C C3/2A85: 200469 JSR $6904 C3/2A88: 20A81B JSR $1BA8 C3/2A8B: A903 LDA #$03 C3/2A8D: 8D0721 STA $2107 C3/2A90: A9C0 LDA #$C0 C3/2A92: 1443 TRB $43 (eventually disable channels 6 and 7 of HDMA) C3/2A94: A00200 LDY #$0002 C3/2A97: 8437 STY $37 C3/2A99: 20982F JSR $2F98 C3/2A9C: A900 LDA #$00 C3/2A9E: A0C02F LDY #$2FC0 C3/2AA1: 207311 JSR $1173 (put C3/2FC0 in the queue, also JMP fool!) C3/2AA4: 60 RTS
C3/2AA5 unknow
C3/2AA5: 8527 STA $27 (queue up either C3/2AAE or C3/8A96) C3/2AA7: A901 LDA #$01 C3/2AA9: 8526 STA $26 (transition process) C3/2AAB: 4C4135 JMP $3541
C3/2AAE unknow
C3/2AAE: A508 LDA $08 C3/2AB0: 8910 BIT #$10 (did you press L?) C3/2AB2: D012 BNE $2AC6 (branch if so) C3/2AB4: A508 LDA $08 (A already holds the contents of $08) C3/2AB6: 8920 BIT #$20 (did you press R?) C3/2AB8: D00C BNE $2AC6 (branch if so) C3/2ABA: A509 LDA $09 C3/2ABC: 8901 BIT #$01 (did you press right? LSR A...) C3/2ABE: D006 BNE $2AC6 (branch if so, BCS...) C3/2AC0: A509 LDA $09 (A already holds the contents of $09) C3/2AC2: 8902 BIT #$02 (did you press left?) C3/2AC4: F02D BEQ $2AF3 (branch if not) C3/2AC6: 20A30E JSR $0EA3 C3/2AC9: 20132D JSR $2D13 C3/2ACC: 20F550 JSR $50F5 (A * 14, 24-bit result) C3/2ACF: C221 REP #$21 C3/2AD1: AD3421 LDA $2134 C3/2AD4: 690000 ADC #$0000 C3/2AD7: AA TAX C3/2AD8: 7B TDC C3/2AD9: E220 SEP #$20 (8 bit memory/accum.) C3/2ADB: BFC06AC4 LDA $C46AC0,X (magic data, targetting) C3/2ADF: 2920 AND #$20 (manual selecting?) C3/2AE1: F010 BEQ $2AF3 (branch if not) C3/2AE3: A54E LDA $4E C3/2AE5: 855F STA $5F C3/2AE7: A906 LDA #$06 C3/2AE9: 1446 TRB $46 C3/2AEB: 209F08 JSR $089F C3/2AEE: A93D LDA #$3D C3/2AF0: 8526 STA $26 (execute at C3/2D78) C3/2AF2: 60 RTS
C3/2AF3 unknow
C3/2AF3: A508 LDA $08 C3/2AF5: 8980 BIT #$80 (did you press A?) C3/2AF7: F003 BEQ $2AFC (branch if not, BPL...) C3/2AF9: 4C0C2B JMP $2B0C (BRA would work here)
C3/2AFC unknow
C3/2AFC: A509 LDA $09 C3/2AFE: 8980 BIT #$80 (did you press B?) C3/2B00: F009 BEQ $2B0B (branch if not, BPL...) C3/2B02: 20A90E JSR $0EA9 C3/2B05: A93C LDA #$3C C3/2B07: 8527 STA $27 (queue up to execute at C3/2D1C) C3/2B09: 6426 STZ $26 (fade out) C3/2B0B: 60 RTS
C3/2B0C unknow
C3/2B0C: 649C STZ $9C C3/2B0E: 20CC2C JSR $2CCC C3/2B11: 200B2D JSR $2D0B C3/2B14: 20142C JSR $2C14 C3/2B17: 9019 BCC $2B32 C3/2B19: 20EA2C JSR $2CEA C3/2B1C: 20E50E JSR $0EE5 C3/2B1F: 200B2D JSR $2D0B C3/2B22: B91400 LDA $0014,Y (status byte 1) C3/2B25: 85F8 STA $F8 C3/2B27: B91500 LDA $0015,Y (status byte 4) C3/2B2A: 85FB STA $FB C3/2B2C: 20392B JSR $2B39 C3/2B2F: 4CDE2B JMP $2BDE
C3/2B32 unknow
C3/2B32: 20C00E JSR $0EC0 (makes the buzzer sound) C3/2B35: 205D30 JSR $305D (mosaic effect, also JMP fool!) C3/2B38: 60 RTS
C3/2B39 unknow
C3/2B39: B90B00 LDA $000B,Y (max MP, byte 1) C3/2B3C: 8DB211 STA $11B2 C3/2B3F: B90C00 LDA $000C,Y (max MP, byte 2) C3/2B42: 8DB311 STA $11B3 C3/2B45: 5A PHY (the upcoming call preserves Y already) C3/2B46: 20132D JSR $2D13 C3/2B49: A600 LDX $00 (with upcoming call, do spell useage) C3/2B4B: 220900C2 JSL $C20009 C3/2B4F: 7A PLY C3/2B50: A59C LDA $9C C3/2B52: F008 BEQ $2B5C C3/2B54: C221 REP #$21 C3/2B56: ADB011 LDA $11B0 (load damage dealt) C3/2B59: 4A LSR A (cut it in half) C3/2B5A: 8005 BRA $2B61 C3/2B5C: C221 REP #$21 C3/2B5E: ADB011 LDA $11B0 (load damage dealt) C3/2B61: 790900 ADC $0009,Y (add it with current HP) C3/2B64: 990900 STA $0009,Y (save as new current HP) C3/2B67: E220 SEP #$20 (8 bit memory/accum.) C3/2B69: 209A2B JSR $2B9A (deal with healing) C3/2B6C: A5FC LDA $FC C3/2B6E: 991400 STA $0014,Y (save new status byte 1) C3/2B71: A5FF LDA $FF C3/2B73: 991500 STA $0015,Y (save new status byte 4) C3/2B76: A59C LDA $9C C3/2B78: D01F BNE $2B99 (branch backwards!) C3/2B7A: 7B TDC C3/2B7B: A54B LDA $4B C3/2B7D: AA TAX C3/2B7E: B569 LDA $69,X (who this is being cast on) C3/2B80: 220600C2 JSL $C20006 (equipment check function) C3/2B84: 7B TDC C3/2B85: A54B LDA $4B C3/2B87: 0A ASL A C3/2B88: AA TAX C3/2B89: B46D LDY $6D,X C3/2B8B: 8467 STY $67 C3/2B8D: ADD211 LDA $11D2 (statuses blocked byte 1) C3/2B90: 20EC91 JSR $91EC C3/2B93: ADD411 LDA $11D4 C3/2B96: 4CFB91 JMP $91FB C3/2B99: 60 RTS (no point in this)
C3/2B9A heal hp
Heal HP (Tonic, Potion, X-Potion, Dried Meat) C3/2B9A: B90B00 LDA $000B,Y (max HP byte 1) C3/2B9D: 85F3 STA $F3 C3/2B9F: B90C00 LDA $000C,Y (max HP byte 2) C3/2BA2: 85F4 STA $F4 C3/2BA4: 20650D JSR $0D65 (factor in HP boosts from items) C3/2BA7: 20920D JSR $0D92 (trim displaying HP to a max of 9999) C3/2BAA: C220 REP #$20 (16 bit memory/accum.) C3/2BAC: B90900 LDA $0009,Y (current HP) C3/2BAF: C5F3 CMP $F3 C3/2BB1: 9006 BCC $2BB9 C3/2BB3: A5F3 LDA $F3 C3/2BB5: 990900 STA $0009,Y (save new current HP) C3/2BB8: 38 SEC C3/2BB9: E220 SEP #$20 (8 bit memory/accum.) C3/2BBB: 60 RTS
C3/2BBC unknow
C3/2BBC: B90F00 LDA $000F,Y (max MP byte 1) C3/2BBF: 85F3 STA $F3 C3/2BC1: B91000 LDA $0010,Y (max MP byte 2) C3/2BC4: 85F4 STA $F4 C3/2BC6: 20650D JSR $0D65 (factor in MP boosts from items) C3/2BC9: 209F0D JSR $0D9F (trim displaying MP to a max of 999) C3/2BCC: C220 REP #$20 (16 bit memory/accum.) C3/2BCE: B90D00 LDA $000D,Y (current MP) C3/2BD1: C5F3 CMP $F3 (compare it to max MP) C3/2BD3: 9006 BCC $2BDB (branch if it's more than max MP) C3/2BD5: A5F3 LDA $F3 C3/2BD7: 990D00 STA $000D,Y (save new current MP) C3/2BDA: 38 SEC C3/2BDB: E220 SEP #$20 (8 bit memory/accum.) C3/2BDD: 60 RTS
C3/2BDE unknow
C3/2BDE: 20012C JSR $2C01 C3/2BE1: 20DF2C JSR $2CDF C3/2BE4: 20032D JSR $2D03 C3/2BE7: 20132D JSR $2D13 C3/2BEA: 200D51 JSR $510D C3/2BED: 86E7 STX $E7 C3/2BEF: BE0D00 LDX $000D,Y (current MP) C3/2BF2: E4E7 CPX $E7 C3/2BF4: B00A BCS $2C00 C3/2BF6: A902 LDA #$02 C3/2BF8: 8546 STA $46 C3/2BFA: A93C LDA #$3C C3/2BFC: 8527 STA $27 (queue up to execute at C3/2D1C) C3/2BFE: 6426 STZ $26 (fade out) C3/2C00: 60 RTS
C3/2C01 unknow
C3/2C01: A54B LDA $4B C3/2C03: 859C STA $9C C3/2C05: 20EE24 JSR $24EE C3/2C08: 20156A JSR $6A15 C3/2C0B: 209331 JSR $3193 C3/2C0E: 20096C JSR $6C09 C3/2C11: 4CBF6E JMP $6EBF
C3/2C14 unknow
C3/2C14: B91400 LDA $0014,Y (status byte 1) C3/2C17: 2980 AND #$80 (filter out all status except death) C3/2C19: D025 BNE $2C40 (branch if dead) C3/2C1B: 20132D JSR $2D13 C3/2C1E: C92D CMP #$2D (is spell Cure?) C3/2C20: F054 BEQ $2C76 (branch if so, check for terminal ailments) C3/2C22: C92E CMP #$2E (is spell Cure 2?) C3/2C24: F050 BEQ $2C76 (branch if so, check for terminal ailments) C3/2C26: C92F CMP #$2F (is spell Cure 3?) C3/2C28: F04C BEQ $2C76 (branch if so, check for terminal ailments) C3/2C2A: C932 CMP #$32 (is spell Antdot?) C3/2C2C: F03F BEQ $2C6D (branch if so, check for poison) C3/2C2E: C933 CMP #$33 (is spell Remedy?) C3/2C30: F032 BEQ $2C64 (branch if so, check for blind, poison, and stone) C3/2C32: C922 CMP #$22 (is spell Float?) C3/2C34: F017 BEQ $2C4D (branch if so, check for float) C3/2C36: C923 CMP #$23 (is spell Imp?) C3/2C38: F04A BEQ $2C84 (branch if so) C3/2C3A: C92C CMP #$2C (is spell Dispel?) C3/2C3C: F018 BEQ $2C56 (branch if so, check for float and invis) C3/2C3E: 8042 BRA $2C82 (otherwise flag spell as can't be used) C3/2C40: 20132D JSR $2D13 C3/2C43: C930 CMP #$30 (is spell Life?) C3/2C45: F03D BEQ $2C84 (branch if so) C3/2C47: C931 CMP #$31 (is spell Life 2?) C3/2C49: F039 BEQ $2C84 (branch if so) C3/2C4B: 8035 BRA $2C82 (otherwise flag spell as can't be used) C3/2C4D: B91500 LDA $0015,Y (status byte 4) C3/2C50: 2980 AND #$80 (filter out all status except float) C3/2C52: D02E BNE $2C82 (branch if floating, flag spell as can't be used) C3/2C54: 802E BRA $2C84 C3/2C56: B91400 LDA $0014,Y (status byte 1) C3/2C59: 297F AND #$7F (filter death, leave rest intact) C3/2C5B: 191500 ORA $0015,Y (status byte 4) C3/2C5E: 2990 AND #$90 (mask all except float, invisible) C3/2C60: F020 BEQ $2C82 (branch if none set, flag spell as can't be used) C3/2C62: 8020 BRA $2C84 C3/2C64: B91400 LDA $0014,Y (status byte 1) C3/2C67: 2945 AND #$45 (character has blind, poison, or stone?) C3/2C69: F017 BEQ $2C82 (branch if not, flag spell as can't be used) C3/2C6B: 8017 BRA $2C84 C3/2C6D: B91400 LDA $0014,Y (status byte 1) C3/2C70: 2904 AND #$04 (character has poison?) C3/2C72: F00E BEQ $2C82 (branch if not, flag spell as can't be used) C3/2C74: 800E BRA $2C84 C3/2C76: B91400 LDA $0014,Y (status byte 1) C3/2C79: 29C2 AND #$C2 (filter out all status except zombie, stone, and death) C3/2C7B: D005 BNE $2C82 (branch if any are set, flag spell as can't be used) C3/2C7D: 209A2B JSR $2B9A (heal HP) C3/2C80: 9002 BCC $2C84 (branch if below max HP) C3/2C82: 18 CLC C3/2C83: 60 RTS C3/2C84: 38 SEC C3/2C85: 60 RTS
C3/2C86 unknow
C3/2C86: 64AF STZ $AF C3/2C88: A901 LDA #$01 C3/2C8A: 859C STA $9C C3/2C8C: 20CC2C JSR $2CCC C3/2C8F: 7B TDC C3/2C90: 48 PHA C3/2C91: 0A ASL A C3/2C92: AA TAX C3/2C93: B46D LDY $6D,X C3/2C95: F021 BEQ $2CB8 C3/2C97: 20142C JSR $2C14 C3/2C9A: 901C BCC $2CB8 C3/2C9C: B91400 LDA $0014,Y (status byte 1) C3/2C9F: 85F8 STA $F8 C3/2CA1: B91500 LDA $0015,Y (status byte 4) C3/2CA4: 85FB STA $FB C3/2CA6: 20392B JSR $2B39 C3/2CA9: 20CC2C JSR $2CCC C3/2CAC: A5AF LDA $AF C3/2CAE: D008 BNE $2CB8 C3/2CB0: 20E50E JSR $0EE5 C3/2CB3: 20EA2C JSR $2CEA C3/2CB6: E6AF INC $AF C3/2CB8: 7B TDC C3/2CB9: 68 PLA C3/2CBA: 1A INC A C3/2CBB: C904 CMP #$04 C3/2CBD: D0D1 BNE $2C90 C3/2CBF: A5AF LDA $AF C3/2CC1: D006 BNE $2CC9 C3/2CC3: 20C00E JSR $0EC0 (makes the buzzer sound) C3/2CC6: 205D30 JSR $305D (mosaic effect) C3/2CC9: 4CDE2B JMP $2BDE
C3/2CCC unknow
C3/2CCC: 20DF2C JSR $2CDF C3/2CCF: ADA011 LDA $11A0 (targetting) C3/2CD2: 8DAE11 STA $11AE (save as power) C3/2CD5: 20032D JSR $2D03 C3/2CD8: B90800 LDA $0008,Y (level) C3/2CDB: 8DAF11 STA $11AF (save for calculation purposes) C3/2CDE: 60 RTS
C3/2CDF unknow
C3/2CDF: 7B TDC C3/2CE0: A528 LDA $28 C3/2CE2: AA TAX C3/2CE3: B569 LDA $69,X C3/2CE5: 220600C2 JSL $C20006 (equipment check function) C3/2CE9: 60 RTS
C3/2CEA unknow
C3/2CEA: 20132D JSR $2D13 C3/2CED: 200D51 JSR $510D C3/2CF0: 86E7 STX $E7 C3/2CF2: 20032D JSR $2D03 C3/2CF5: C220 REP #$20 (16 bit memory/accum.) C3/2CF7: B90D00 LDA $000D,Y (current MP) C3/2CFA: 38 SEC C3/2CFB: E5E7 SBC $E7 (subtract MP cost) C3/2CFD: 990D00 STA $000D,Y (new current MP) C3/2D00: E220 SEP #$20 (8 bit memory/accum.) C3/2D02: 60 RTS
C3/2D03 unknow
C3/2D03: 7B TDC C3/2D04: A528 LDA $28 C3/2D06: 0A ASL A C3/2D07: AA TAX C3/2D08: B46D LDY $6D,X C3/2D0A: 60 RTS
C3/2D0B unknow
C3/2D0B: 7B TDC C3/2D0C: A54B LDA $4B C3/2D0E: 0A ASL A C3/2D0F: AA TAX C3/2D10: B46D LDY $6D,X C3/2D12: 60 RTS
C3/2D13 unknow
C3/2D13: 7B TDC C3/2D14: A599 LDA $99 C3/2D16: AA TAX C3/2D17: BF899D7E LDA $7E9D89,X C3/2D1B: 60 RTS
C3/2D1C unknow
C3/2D1C: 202F35 JSR $352F (fade out screen, disable H/DMA) C3/2D1F: 20086A JSR $6A08 C3/2D22: A942 LDA #$42 C3/2D24: 1445 TRB $45 C3/2D26: 644A STZ $4A C3/2D28: 6449 STZ $49 C3/2D2A: 20BC4D JSR $4DBC C3/2D2D: 20804C JSR $4C80 C3/2D30: 20B007 JSR $07B0 (finger OAM initiating) C3/2D33: 203021 JSR $2130 C3/2D36: 20824B JSR $4B82 C3/2D39: A58E LDA $8E C3/2D3B: 854D STA $4D C3/2D3D: A48E LDY $8E C3/2D3F: 844F STY $4F C3/2D41: A590 LDA $90 C3/2D43: 854A STA $4A C3/2D45: A54A LDA $4A C3/2D47: 85E0 STA $E0 C3/2D49: A550 LDA $50 C3/2D4B: 38 SEC C3/2D4C: E5E0 SBC $E0 C3/2D4E: 854E STA $4E C3/2D50: 208B4B JSR $4B8B C3/2D53: 205821 JSR $2158 C3/2D56: 20C651 JSR $51C6 C3/2D59: 206E0E JSR $0E6E C3/2D5C: 206813 JSR $1368 (trigger NMI) C3/2D5F: A400 LDY $00 C3/2D61: 8435 STY $35 C3/2D63: 20991B JSR $1B99 C3/2D66: A910 LDA #$10 C3/2D68: 0445 TSB $45 C3/2D6A: 20FD0E JSR $0EFD C3/2D6D: A91A LDA #$1A C3/2D6F: 8527 STA $27 (preloading for magic descriptions, execute at C3/27E2) C3/2D71: A901 LDA #$01 C3/2D73: 8526 STA $26 (transition process) C3/2D75: 4C4135 JMP $3541
C3/2D78 unknow
C3/2D78: A508 LDA $08 C3/2D7A: 8910 BIT #$10 (did you press L?) C3/2D7C: D012 BNE $2D90 (branch if so) C3/2D7E: A508 LDA $08 C3/2D80: 8920 BIT #$20 (did you press R?) C3/2D82: D00C BNE $2D90 (branch if so) C3/2D84: A509 LDA $09 C3/2D86: 8901 BIT #$01 (did you press right?) C3/2D88: D006 BNE $2D90 (branch if so) C3/2D8A: A509 LDA $09 C3/2D8C: 8902 BIT #$02 (did you press left?) C3/2D8E: F00B BEQ $2D9B (branch if not) C3/2D90: 20A30E JSR $0EA3 C3/2D93: 20B72D JSR $2DB7 C3/2D96: A93B LDA #$3B C3/2D98: 8526 STA $26 (execute at C2/2AAE) C3/2D9A: 60 RTS
C3/2D9B unknow
C3/2D9B: A508 LDA $08 C3/2D9D: 8980 BIT #$80 (did you press A?) C3/2D9F: F003 BEQ $2DA4 (branch if not, BPL...) C3/2DA1: 4C862C JMP $2C86
C3/2DA4 unknow
C3/2DA4: A509 LDA $09 C3/2DA6: 8980 BIT #$80 (did you press B?) C3/2DA8: F00C BEQ $2DB6 (branch if not, BPL...) C3/2DAA: 20A90E JSR $0EA9 C3/2DAD: 20B72D JSR $2DB7 C3/2DB0: A93C LDA #$3C C3/2DB2: 8527 STA $27 (queue up to execute at C3/2D1C) C3/2DB4: 6426 STZ $26 (fade out to above) C3/2DB6: 60 RTS
C3/2DB7 unknow
C3/2DB7: 20982F JSR $2F98 C3/2DBA: 20B007 JSR $07B0 (finger OAM initiating) C3/2DBD: A900 LDA #$00 C3/2DBF: A0C02F LDY #$2FC0 C3/2DC2: 207311 JSR $1173 (put C3/2FC0 in the queue) C3/2DC5: 20B011 JSR $11B0 (execute everything in OAM queue) C3/2DC8: A55F LDA $5F C3/2DCA: 854E STA $4E C3/2DCC: A908 LDA #$08 C3/2DCE: 1446 TRB $46 C3/2DD0: 60 RTS
C3/2DD1 unknow
C3/2DD1: 7B TDC C3/2DD2: A528 LDA $28 C3/2DD4: AA TAX C3/2DD5: A54B LDA $4B C3/2DD7: A8 TAY C3/2DD8: B575 LDA $75,X C3/2DDA: 85E0 STA $E0 C3/2DDC: B97500 LDA $0075,Y C3/2DDF: 9575 STA $75,X C3/2DE1: A5E0 LDA $E0 C3/2DE3: 997500 STA $0075,Y C3/2DE6: B569 LDA $69,X C3/2DE8: 85E0 STA $E0 C3/2DEA: B96900 LDA $0069,Y C3/2DED: 9569 STA $69,X C3/2DEF: A5E0 LDA $E0 C3/2DF1: 996900 STA $0069,Y C3/2DF4: 7B TDC C3/2DF5: A528 LDA $28 C3/2DF7: 0A ASL A C3/2DF8: AA TAX C3/2DF9: A54B LDA $4B C3/2DFB: 0A ASL A C3/2DFC: A8 TAY C3/2DFD: C220 REP #$20 (16 bit memory/accum.) C3/2DFF: B56D LDA $6D,X C3/2E01: 85E7 STA $E7 C3/2E03: B96D00 LDA $006D,Y C3/2E06: 956D STA $6D,X C3/2E08: A5E7 LDA $E7 C3/2E0A: 996D00 STA $006D,Y C3/2E0D: E220 SEP #$20 (8 bit memory/accum.) C3/2E0F: 60 RTS
C3/2E10 unknow
C3/2E10: 7B TDC C3/2E11: A528 LDA $28 C3/2E13: AA TAX C3/2E14: B575 LDA $75,X C3/2E16: 85E0 STA $E0 C3/2E18: B560 LDA $60,X C3/2E1A: AA TAX C3/2E1B: A5E0 LDA $E0 C3/2E1D: 8920 BIT #$20 C3/2E1F: F008 BEQ $2E29 C3/2E21: A920 LDA #$20 C3/2E23: 14E0 TRB $E0 C3/2E25: A903 LDA #$03 C3/2E27: 8006 BRA $2E2F C3/2E29: A920 LDA #$20 C3/2E2B: 04E0 TSB $E0 C3/2E2D: A902 LDA #$02 C3/2E2F: 9F49367E STA $7E3649,X C3/2E33: 7B TDC C3/2E34: A528 LDA $28 C3/2E36: AA TAX C3/2E37: A5E0 LDA $E0 C3/2E39: 9575 STA $75,X C3/2E3B: 60 RTS
C3/2E3C unknow
C3/2E3C: 7B TDC C3/2E3D: A560 LDA $60 C3/2E3F: AA TAX C3/2E40: A9FF LDA #$FF C3/2E42: 9FC9357E STA $7E35C9,X C3/2E46: A561 LDA $61 C3/2E48: AA TAX C3/2E49: A9FF LDA #$FF C3/2E4B: 9FC9357E STA $7E35C9,X C3/2E4F: A562 LDA $62 C3/2E51: AA TAX C3/2E52: A9FF LDA #$FF C3/2E54: 9FC9357E STA $7E35C9,X C3/2E58: A563 LDA $63 C3/2E5A: AA TAX C3/2E5B: A9FF LDA #$FF C3/2E5D: 9FC9357E STA $7E35C9,X C3/2E61: 60 RTS
C3/2E62 unknow
C3/2E62: 7B TDC C3/2E63: A54B LDA $4B C3/2E65: 8525 STA $25 C3/2E67: 0A ASL A C3/2E68: AA TAX C3/2E69: 7C6C2E JMP ($2E6C,X)
C3/2E6C pointers: main sub-screens
Jump table for main subscreen (aka main menu) C3/2E6C: 862E ("Item") C3/2E6E: 902E ("Skills") C3/2E70: 902E ("Equip") C3/2E72: 902E ("Relic") C3/2E74: 902E ("Status") C3/2E76: 7A2E ("Config") C3/2E78: AA2E ("Save")
C3/2E7A unknow
C3/2E7A: 20B20E JSR $0EB2 (makes the click sound) C3/2E7D: 645F STZ $5F C3/2E7F: 6426 STZ $26 (fade out) C3/2E81: A90D LDA #$0D C3/2E83: 8527 STA $27 (the config screen, queue up to execute at C3/1C7D) C3/2E85: 60 RTS
C3/2E86 unknow
C3/2E86: 20B20E JSR $0EB2 (makes the click sound) C3/2E89: 6426 STZ $26 (fade out) C3/2E8B: A907 LDA #$07 C3/2E8D: 8527 STA $27 (queue up to execute at C3/1AD6) C3/2E8F: 60 RTS
C3/2E90 unknow
C3/2E90: 20B20E JSR $0EB2 (makes the click sound) C3/2E93: A902 LDA #$02 C3/2E95: 1446 TRB $46 C3/2E97: 20982F JSR $2F98 C3/2E9A: A900 LDA #$00 C3/2E9C: A0C02F LDY #$2FC0 C3/2E9F: 207311 JSR $1173 (put C3/2FC0 in the queue) C3/2EA2: 20062F JSR $2F06 C3/2EA5: A906 LDA #$06 C3/2EA7: 8526 STA $26 (execute at C3/1DE8) C3/2EA9: 60 RTS
C3/2EAA unknow
C3/2EAA: AD0102 LDA $0201 C3/2EAD: 1010 BPL $2EBF C3/2EAF: 20B20E JSR $0EB2 (makes the click sound) C3/2EB2: 6426 STZ $26 (fade out) C3/2EB4: A913 LDA #$13 C3/2EB6: 8527 STA $27 (the save screen, queue up to execute at C3/1CA0) C3/2EB8: 859E STA $9E C3/2EBA: A904 LDA #$04 C3/2EBC: 859F STA $9F C3/2EBE: 60 RTS
C3/2EBF unknow
C3/2EBF: 20C00E JSR $0EC0 (makes the buzzer sound) C3/2EC2: 205D30 JSR $305D (mosaic effect, also JMP fool!) C3/2EC5: 60 RTS
C3/2EC6 unknow
C3/2EC6: A902 LDA #$02 C3/2EC8: 1446 TRB $46 C3/2ECA: 20982F JSR $2F98 C3/2ECD: A900 LDA #$00 C3/2ECF: A0C02F LDY #$2FC0 C3/2ED2: 207311 JSR $1173 C3/2ED5: A906 LDA #$06 C3/2ED7: 8520 STA $20 C3/2ED9: A0F4FF LDY #$FFF4 C3/2EDC: 849C STY $9C C3/2EDE: A905 LDA #$05 C3/2EE0: 1446 TRB $46 C3/2EE2: A90F LDA #$0F C3/2EE4: 8527 STA $27 (queue up to execute at C3/240C) C3/2EE6: A965 LDA #$65 C3/2EE8: 8526 STA $26 (execute at C3/36E7) C3/2EEA: 60 RTS
C3/2EEB unknow
C3/2EEB: A902 LDA #$02 C3/2EED: A0D108 LDY #$08D1 C3/2EF0: 207311 JSR $1173 (put C3/07FF in the queue) C3/2EF3: C220 REP #$20 (16 bit memory/accum.) C3/2EF5: A93800 LDA #$0038 C3/2EF8: 9FCA337E STA $7E33CA,X C3/2EFC: A93600 LDA #$0036 C3/2EFF: 9F4A347E STA $7E344A,X C3/2F03: E220 SEP #$20 (8 bit memory/accum.) C3/2F05: 60 RTS
C3/2F06 unknow
C3/2F06: A902 LDA #$02 C3/2F08: A0FF07 LDY #$07FF C3/2F0B: 207311 JSR $1173 (put C3/07FF in the queue) C3/2F0E: C220 REP #$20 (16 bit memory/accum.) C3/2F10: A555 LDA $55 C3/2F12: 1A INC A C3/2F13: 1A INC A C3/2F14: 9FCA337E STA $7E33CA,X C3/2F18: A557 LDA $57 C3/2F1A: 9F4A347E STA $7E344A,X C3/2F1E: E220 SEP #$20 (8 bit memory/accum.) C3/2F20: 60 RTS
C3/2F21 unknow
C3/2F21: A901 LDA #$01 C3/2F23: A0FF07 LDY #$07FF C3/2F26: 207311 JSR $1173 (put C3/07FF in the queue) C3/2F29: C220 REP #$20 (16 bit memory/accum.) C3/2F2B: A555 LDA $55 C3/2F2D: 18 CLC C3/2F2E: 690400 ADC #$0004 C3/2F31: 9FCA337E STA $7E33CA,X C3/2F35: A557 LDA $57 C3/2F37: 38 SEC C3/2F38: E90400 SBC #$0004 C3/2F3B: 9F4A347E STA $7E344A,X C3/2F3F: E220 SEP #$20 (8 bit memory/accum.) C3/2F41: 60 RTS
C3/2F42 code and table
C3/2F42: AA TAX C3/2F43: 7C462F JMP ($2F46,X) C3/2F46: 4A2F C3/2F48: 6B2F
C3/2F4A unknow
C3/2F4A: A62D LDX $2D C3/2F4B: A902 LDA #$02 C3/2F4E: 0446 TSB $46 C3/2F50: FE4936 INC $3649,X (execute the next entry in this queue's jump table) C3/2F53: A0852F LDY #$2F85 C3/2F56: 20FE05 JSR $05FE (main subscreen hotspot data) C3/2F59: AD4E1D LDA $1D4E (various settings in config) C3/2F5C: 2940 AND #$40 (cursor memory set?) C3/2F5E: F005 BEQ $2F65 (branch if not) C3/2F60: AC2B02 LDY $022B C3/2F63: 844D STY $4D C3/2F65: A08A2F LDY #$2F8A C3/2F68: 204006 JSR $0640 (main subscreen finger positioning data) C3/2F6B: A546 LDA $46 C3/2F6D: 8902 BIT #$02 C3/2F6F: F012 BEQ $2F83 C3/2F71: A62D LDX $2D C3/2F73: 202D07 JSR $072D C3/2F76: A08A2F LDY #$2F8A C3/2F79: 204006 JSR $0640 (main subscreen finger positioning data) C3/2F7C: A44D LDY $4D C3/2F7E: 8C2B02 STY $022B C3/2F81: 38 SEC C3/2F82: 60 RTS C3/2F83: 18 CLC C3/2F84: 60 RTS
C3/2F85 data: main sub-screens selection hotspots
C3/2F85: 80 00 00 01 07
C3/2F8A data: finger positions for main sub-screens
Finger positioning data for main subscreen C3/2F8A: AF12 ("Item") C3/2F8C: AF21 ("Skills") C3/2F8E: AF30 ("Equip") C3/2F90: AF3F ("Relic") C3/2F92: AF4E ("Status") C3/2F94: AF5D ("Config") C3/2F96: AF6C ("Save")
C3/2F98 unknow
C3/2F98: 20B12F JSR $2FB1 C3/2F9B: 7B TDC C3/2F9C: AA TAX C3/2F9D: A8 TAY C3/2F9E: BD6900 LDA $0069,X C3/2FA1: 1007 BPL $2FAA C3/2FA3: DA PHX C3/2FA4: 8A TXA C3/2FA5: 0A ASL A C3/2FA6: AA TAX C3/2FA7: 7485 STZ $85,X C3/2FA9: FA PLX C3/2FAA: E8 INX C3/2FAB: E00400 CPX #$0004 C3/2FAE: D0EE BNE $2F9E C3/2FB0: 60 RTS
C3/2FB1 unknow
C3/2FB1: A600 LDX $00 C3/2FB3: BF4230C3 LDA $C33042,X (party area selection hotspot data) C3/2FB7: 9580 STA $80,X C3/2FB9: E8 INX C3/2FBA: E00D00 CPX #$000D C3/2FBD: D0F4 BNE $2FB3 C3/2FBF: 60 RTS
C3/2FC0 code and table unknow
C3/2FC0: AA TAX C3/2FC1: 7CC42F JMP ($2FC4,X) C3/2FC4: C82F C3/2FC6: 1430
C3/2FC8 unknow
C3/2FC8: A62D LDX $2D C3/2FCA: A914 LDA #$14 C3/2FCC: 0446 TSB $46 C3/2FCE: FE4936 INC $3649,X (execute the next entry in this queue's jump table) C3/2FD1: 20F52F JSR $2FF5 C3/2FD4: A545 LDA $45 C3/2FD6: 8940 BIT #$40 C3/2FD8: D00C BNE $2FE6 C3/2FDA: AD4E1D LDA $1D4E C3/2FDD: 2940 AND #$40 C3/2FDF: F005 BEQ $2FE6 C3/2FE1: AC2D02 LDY $022D C3/2FE4: 844D STY $4D C3/2FE6: 200830 JSR $3008 C3/2FE9: A555 LDA $55 C3/2FEB: D006 BNE $2FF3 C3/2FED: 20F52F JSR $2FF5 C3/2FF0: 200830 JSR $3008 C3/2FF3: 38 SEC (not done with this queue yet) C3/2FF4: 60 RTS
C3/2FF5 unknow
C3/2FF5: A08000 LDY #$0080 C3/2FF8: 20FE05 JSR $05FE (finger positioning data in code...) C3/2FFB: A08000 LDY #$0080 C3/2FFE: A900 LDA #$00 C3/3000: 85ED STA $ED C3/3002: 200206 JSR $0602 C3/3005: 4C1E06 JMP $061E