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 C16
< Final Fantasy VI | ROM map
Jump to navigation
Jump to search
Display spell name C1/6019: EB XBA (from only C1/5FBF) C1/601A: A907 LDA #$07 (7 = spell name length) C1/601C: 8510 STA $10 C1/601E: 8D6D61 STA $616D C1/6021: 20CA18 JSR $18CA (half multiplier) C1/6024: C220 REP #$20 C1/6026: AF164200 LDA $004216 C1/602A: AA TAX C1/602B: 7B TDC C1/602C: E220 SEP #$20 C1/602E: CE6D61 DEC $616D C1/6031: BF68F5E6 LDA $E6F568,X (Load Spell name X) C1/6035: C9FF CMP #$FF C1/6037: F009 BEQ $6042 C1/6039: 201161 JSR $6111 C1/603C: E8 INX C1/603D: CE6D61 DEC $616D C1/6040: D0EF BNE $6031 C1/6042: 60 RTS C1/6043: 20EC66 JSR $66EC (from C1/5E51, X = E) C1/6046: A748 LDA [$48] C1/6048: C9FF CMP #$FF C1/604A: D005 BNE $6051 C1/604C: A90D LDA #$0D C1/604E: 4CA85F JMP $5FA8 Display item name C1/6051: EB XBA (from C1/604A) C1/6052: A90D LDA #$0D (13 = item name length) C1/6054: 8510 STA $10 C1/6056: 8D6D61 STA $616D C1/6059: 20CA18 JSR $18CA (half multiplier) C1/605C: C220 REP #$20 C1/605E: AF164200 LDA $004216 C1/6062: AA TAX C1/6063: 7B TDC C1/6064: E220 SEP #$20 C1/6066: CE6D61 DEC $616D C1/6069: BF01B3D2 LDA $D2B301,X (Load item name X) C1/606D: C9FF CMP #$FF C1/606F: F009 BEQ $607A C1/6071: 201161 JSR $6111 C1/6074: E8 INX C1/6075: CE6D61 DEC $616D C1/6078: D0EF BNE $6069 C1/607A: 60 RTS C1/607B: A54B LDA $4B (from C1/5E51, X = 4) C1/607D: 4901 EOR #$01 C1/607F: 854B STA $4B C1/6081: 60 RTS Data C1/6082: 00 C1/6083: 5A C1/6084: 00 C1/6085: 5C C1/6086: 00 C1/6087: 5E C1/6088: 00 C1/6089: 58 C1/608A: 00 C1/608B: 58 C1/608C: 647A STZ $7A (from C1/5E51, X = 1) C1/608E: ADC3E9 LDA $E9C3 C1/6091: 1045 BPL $60D8 C1/6093: 20BB5D JSR $5DBB C1/6096: ADC1E9 LDA $E9C1 C1/6099: C904 CMP #$04 C1/609B: D003 BNE $60A0 C1/609D: 9CC1E9 STZ $E9C1 C1/60A0: ADC1E9 LDA $E9C1 C1/60A3: 2903 AND #$03 C1/60A5: 0A ASL A C1/60A6: AA TAX C1/60A7: C220 REP #$20 C1/60A9: BF8260C1 LDA $C16082,X C1/60AD: 8DBFE9 STA $E9BF C1/60B0: 7B TDC C1/60B1: E220 SEP #$20 C1/60B3: EEC1E9 INC $E9C1 C1/60B6: 20025E JSR $5E02 C1/60B9: ADC2E9 LDA $E9C2 C1/60BC: C902 CMP #$02 C1/60BE: D014 BNE $60D4 C1/60C0: A904 LDA #$04 C1/60C2: 8DA87B STA $7BA8 C1/60C5: A93E LDA #$3E C1/60C7: 8DC27B STA $7BC2 (queue up to execute at C1/5B4C) C1/60CA: ADC27B LDA $7BC2 C1/60CD: F008 BEQ $60D7 C1/60CF: 201C5E JSR $5E1C C1/60D2: 80F6 BRA $60CA C1/60D4: EEC2E9 INC $E9C2 C1/60D7: 60 RTS C1/60D8: A910 LDA #$10 (from C1/6091) C1/60DA: 48 PHA C1/60DB: 7B TDC C1/60DC: AA TAX C1/60DD: C220 REP #$20 C1/60DF: A92000 LDA #$0020 C1/60E2: 8524 STA $24 C1/60E4: A90F00 LDA #$000F C1/60E7: 8522 STA $22 C1/60E9: BD41E3 LDA $E341,X C1/60EC: 9D3FE3 STA $E33F,X C1/60EF: E8 INX C1/60F0: E8 INX C1/60F1: C622 DEC $22 C1/60F3: D0F4 BNE $60E9 C1/60F5: 9E3FE3 STZ $E33F,X C1/60F8: E8 INX C1/60F9: E8 INX C1/60FA: C624 DEC $24 C1/60FC: D0E6 BNE $60E4 C1/60FE: 7B TDC C1/60FF: E220 SEP #$20 C1/6101: 20025E JSR $5E02 C1/6104: 68 PLA C1/6105: 3A DEC A C1/6106: D0D2 BNE $60DA C1/6108: 60 RTS Data C1/6109: 04 (from C1/61CB) C1/610A: 00 C1/610B: 03 C1/610C: 00 C1/610D: 02 C1/610E: 00 C1/610F: 01 C1/6110: 00 C1/6111: 8DF0EC STA $ECF0 (from C1/5DEE; C1/5E51, X = 1B, 1C, 1D, or 1E; C1/5EDC; C1/5F36; C1/5F5E; C1/5F9E; C1/5FAE; C1/5FE5; C1/600F; C1/6039; C1/6079) C1/6114: 38 SEC C1/6115: E980 SBC #$80 C1/6117: 5A PHY C1/6118: DA PHX C1/6119: 8522 STA $22 C1/611B: A916 LDA #$16 C1/611D: 8524 STA $24 C1/611F: 20D918 JSR $18D9 C1/6122: A54B LDA $4B C1/6124: F003 BEQ $6129 C1/6126: 4C5662 JMP $6256 C1/6129: A57A LDA $7A (from C1/6124) C1/612B: 29F8 AND #$F8 C1/612D: C220 REP #$20 C1/612F: 0A ASL A C1/6130: 0A ASL A C1/6131: A8 TAY C1/6132: A90B00 LDA #$000B C1/6135: 851C STA $1C C1/6137: A57A LDA $7A C1/6139: 290400 AND #$0004 C1/613C: D003 BNE $6141 C1/613E: 4CC461 JMP $61C4 C1/6141: A57A LDA $7A (from C1/613C) C1/6143: 290300 AND #$0003 C1/6146: 851A STA $1A C1/6148: A626 LDX $26 C1/614A: 6412 STZ $12 C1/614C: A51A LDA $1A C1/614E: 8518 STA $18 C1/6150: D006 BNE $6158 C1/6152: BFC090C4 LDA $C490C0,X (Load var. width font graphic X) C1/6156: 800B BRA $6163 C1/6158: BFC090C4 LDA $C490C0,X (Load var. width font graphic X) C1/615C: 4A LSR A C1/615D: 6612 ROR $12 C1/615F: C618 DEC $18 C1/6161: D0F9 BNE $615C C1/6163: 8522 STA $22 C1/6165: E220 SEP #$20 C1/6167: 1967E3 ORA $E367,Y C1/616A: 9967E3 STA $E367,Y C1/616D: A522 LDA $22 C1/616F: 1968E3 ORA $E368,Y C1/6172: 9968E3 STA $E368,Y C1/6175: EB XBA C1/6176: 1947E3 ORA $E347,Y C1/6179: 9947E3 STA $E347,Y C1/617C: A523 LDA $23 C1/617E: 1948E3 ORA $E348,Y C1/6181: 9948E3 STA $E348,Y C1/6184: A513 LDA $13 C1/6186: 1987E3 ORA $E387,Y C1/6189: 9987E3 STA $E387,Y C1/618C: A513 LDA $13 C1/618E: 1988E3 ORA $E388,Y C1/6191: 9988E3 STA $E388,Y C1/6194: C220 REP #$20 C1/6196: A522 LDA $22 C1/6198: 4A LSR A C1/6199: 6612 ROR $12 C1/619B: 8522 STA $22 C1/619D: E220 SEP #$20 C1/619F: 1969E3 ORA $E369,Y C1/61A2: 9969E3 STA $E369,Y C1/61A5: EB XBA C1/61A6: 1949E3 ORA $E349,Y C1/61A9: 9949E3 STA $E349,Y C1/61AC: A513 LDA $13 C1/61AE: 1989E3 ORA $E389,Y C1/61B1: 9989E3 STA $E389,Y C1/61B4: C220 REP #$20 C1/61B6: C8 INY C1/61B7: C8 INY C1/61B8: E8 INX C1/61B9: E8 INX C1/61BA: C61C DEC $1C C1/61BC: F003 BEQ $61C1 C1/61BE: 4C4A61 JMP $614A C1/61C1: 4C2E62 JMP $622E C1/61C4: A57A LDA $7A C1/61C6: 290300 AND #$0003 C1/61C9: 0A ASL A C1/61CA: AA TAX C1/61CB: BF0961C1 LDA $C16109,X C1/61CF: 851A STA $1A C1/61D1: A626 LDX $26 C1/61D3: A51A LDA $1A C1/61D5: 8518 STA $18 C1/61D7: 6412 STZ $12 C1/61D9: BFC090C4 LDA $C490C0,X (Load var. width font graphic X) C1/61DD: 0A ASL A C1/61DE: C618 DEC $18 C1/61E0: D0FB BNE $61DD C1/61E2: 8522 STA $22 C1/61E4: E220 SEP #$20 C1/61E6: 1967E3 ORA $E367,Y C1/61E9: 9967E3 STA $E367,Y C1/61EC: A522 LDA $22 C1/61EE: 1968E3 ORA $E368,Y C1/61F1: 9968E3 STA $E368,Y C1/61F4: A523 LDA $23 C1/61F6: 1947E3 ORA $E347,Y C1/61F9: 9947E3 STA $E347,Y C1/61FC: A523 LDA $23 C1/61FE: 1948E3 ORA $E348,Y C1/6201: 9948E3 STA $E348,Y C1/6204: C220 REP #$20 C1/6206: A522 LDA $22 C1/6208: 4A LSR A C1/6209: 6612 ROR $12 C1/620B: 8522 STA $22 C1/620D: E220 SEP #$20 C1/620F: 1969E3 ORA $E369,Y C1/6212: 9969E3 STA $E369,Y C1/6215: EB XBA C1/6216: 1949E3 ORA $E349,Y C1/6219: 9949E3 STA $E349,Y C1/621C: A512 LDA $12 C1/621E: 1989E3 ORA $E389,Y C1/6221: 9989E3 STA $E389,Y C1/6224: C220 REP #$20 C1/6226: C8 INY C1/6227: C8 INY C1/6228: E8 INX C1/6229: E8 INX C1/622A: C61C DEC $1C C1/622C: D0A5 BNE $61D3 C1/622E: 7B TDC C1/622F: E220 SEP #$20 C1/6231: DA PHX C1/6232: ADF0EC LDA $ECF0 C1/6235: 38 SEC C1/6236: E960 SBC #$60 C1/6238: AA TAX C1/6239: BFC08FC4 LDA $C48FC0,X (Load var. width font cell width X) C1/623D: FA PLX C1/623E: 18 CLC C1/623F: 657A ADC $7A C1/6241: 857A STA $7A C1/6243: ADAC62 LDA $62AC C1/6246: D003 BNE $624B C1/6248: 20025E JSR $5E02 C1/624B: FA PLX C1/624C: 7A PLY C1/624D: 60 RTS Data C1/624E: 00 C1/624F: 80 C1/6250: C0 C1/6251: E0 C1/6252: F0 C1/6253: F8 C1/6254: FC C1/6255: FE C1/6256: A57A LDA $7A C1/6258: 2907 AND #$07 C1/625A: AA TAX C1/625B: BF4E62C1 LDA $C1624E,X C1/625F: 8528 STA $28 C1/6261: A57A LDA $7A C1/6263: 29F8 AND #$F8 C1/6265: C220 REP #$20 C1/6267: 0A ASL A C1/6268: 0A ASL A C1/6269: A8 TAY C1/626A: A90B00 LDA #$000B C1/626D: 851C STA $1C C1/626F: A57A LDA $7A C1/6271: 290400 AND #$0004 C1/6274: D003 BNE $6279 C1/6276: 4C0763 JMP $6307 C1/6279: A57A LDA $7A C1/627B: 290300 AND #$0003 C1/627E: 851A STA $1A C1/6280: A626 LDX $26 C1/6282: 6412 STZ $12 C1/6284: A51A LDA $1A C1/6286: 8518 STA $18 C1/6288: D006 BNE $6290 C1/628A: BFC090C4 LDA $C490C0,X (Load var. width font graphic X) C1/628E: 800B BRA $629B C1/6290: BFC090C4 LDA $C490C0,X (Load var. width font graphic X) C1/6294: 4A LSR A C1/6295: 6612 ROR $12 C1/6297: C618 DEC $18 C1/6299: D0F9 BNE $6294 C1/629B: 8522 STA $22 C1/629D: E220 SEP #$20 C1/629F: 1968E3 ORA $E368,Y C1/62A2: 9968E3 STA $E368,Y C1/62A5: 3967E3 AND $E367,Y C1/62A8: 49FF EOR #$FF C1/62AA: 3967E3 AND $E367,Y C1/62AD: 9967E3 STA $E367,Y C1/62B0: EB XBA C1/62B1: 1948E3 ORA $E348,Y C1/62B4: 9948E3 STA $E348,Y C1/62B7: 3947E3 AND $E347,Y C1/62BA: 49FF EOR #$FF C1/62BC: 0528 ORA $28 C1/62BE: 3947E3 AND $E347,Y C1/62C1: 9947E3 STA $E347,Y C1/62C4: A513 LDA $13 C1/62C6: 1988E3 ORA $E388,Y C1/62C9: 9988E3 STA $E388,Y C1/62CC: 3987E3 AND $E387,Y C1/62CF: 49FF EOR #$FF C1/62D1: 3987E3 AND $E387,Y C1/62D4: 9987E3 STA $E387,Y C1/62D7: C220 REP #$20 C1/62D9: A522 LDA $22 C1/62DB: 4A LSR A C1/62DC: 6612 ROR $12 C1/62DE: 8522 STA $22 (Animation Script pointer) C1/62E0: E220 SEP #$20 C1/62E2: 1969E3 ORA $E369,Y C1/62E5: 9969E3 STA $E369,Y C1/62E8: EB XBA C1/62E9: 1949E3 ORA $E349,Y C1/62EC: 9949E3 STA $E349,Y C1/62EF: A513 LDA $13 C1/62F1: 1989E3 ORA $E389,Y C1/62F4: 9989E3 STA $E389,Y C1/62F7: C220 REP #$20 C1/62F9: C8 INY C1/62FA: C8 INY C1/62FB: E8 INX C1/62FC: E8 INX C1/62FD: C61C DEC $1C C1/62FF: F003 BEQ $6304 C1/6301: 4C8262 JMP $6282 C1/6304: 4C7B63 JMP $637B (BRA would work) C1/6307: A57A LDA $7A C1/6309: 290300 AND #$0003 C1/630C: 0A ASL A C1/630D: AA TAX C1/630E: BF0961C1 LDA $C16109,X C1/6312: 851A STA $1A C1/6314: A626 LDX $26 C1/6316: A51A LDA $1A C1/6318: 8518 STA $18 C1/631A: 6412 STZ $12 C1/631C: BFC090C4 LDA $C490C0,X (Load var. width font graphic X) C1/6320: 0A ASL A C1/6321: C618 DEC $18 C1/6323: D0FB BNE $6320 C1/6325: 8522 STA $22 (Animation Script pointer) C1/6327: E220 SEP #$20 C1/6329: 1968E3 ORA $E368,Y C1/632C: 9968E3 STA $E368,Y C1/632F: 3967E3 AND $E367,Y C1/6332: 49FF EOR #$FF C1/6334: 3967E3 AND $E367,Y C1/6337: 9967E3 STA $E367,Y C1/633A: EB XBA C1/633B: 1948E3 ORA $E348,Y C1/633E: 9948E3 STA $E348,Y C1/6341: 3947E3 AND $E347,Y C1/6344: 49FF EOR #$FF C1/6346: 0528 ORA $28 C1/6348: 3947E3 AND $E347,Y C1/634B: 9947E3 STA $E347,Y C1/634E: C220 REP #$20 C1/6350: A522 LDA $22 (Animation Script pointer) C1/6352: 4A LSR A C1/6353: 6612 ROR $12 C1/6355: 8522 STA $22 (Animation Script pointer) C1/6357: E220 SEP #$20 C1/6359: 1969E3 ORA $E369,Y C1/635C: 9969E3 STA $E369,Y C1/635F: EB XBA C1/6360: 1949E3 ORA $E349,Y C1/6363: 9949E3 STA $E349,Y C1/6366: A513 LDA $13 C1/6368: 1989E3 ORA $E389,Y C1/636B: 9989E3 STA $E389,Y C1/636E: C220 REP #$20 C1/6370: C8 INY C1/6371: C8 INY C1/6372: E8 INX C1/6373: E8 INX C1/6374: C61C DEC $1C C1/6376: F003 BEQ $637B C1/6378: 4C1663 JMP $6316 C1/637B: 7B TDC C1/637C: E220 SEP #$20 C1/637E: DA PHX C1/637F: ADF0EC LDA $ECF0 C1/6382: 38 SEC C1/6383: E960 SBC #$60 C1/6385: AA TAX C1/6386: BFC08FC4 LDA $C48FC0,X (Load var. width font cell width X) C1/638A: FA PLX C1/638B: 18 CLC C1/638C: 657A ADC $7A C1/638E: 857A STA $7A C1/6390: ADAC62 LDA $62AC C1/6393: D003 BNE $6398 C1/6395: 20025E JSR $5E02 C1/6398: FA PLX C1/6399: 7A PLY C1/639A: 60 RTS C1/639B: A20004 LDX #$0400 C1/639E: 8610 STX $10 C1/63A0: A23FE3 LDX #$E33F C1/63A3: A97E LDA #$7E C1/63A5: ACBFE9 LDY $E9BF C1/63A8: 4C8D19 JMP $198D C1/63AB: ADE288 LDA $88E2 (from C1/4C22, C1/4C66, C1/4CDD, C1/4D03, C1/4D29, C1/4D71, C1/4DB0, C1/4E02, C1/4E57) C1/63AE: 8556 STA $56 C1/63B0: 8558 STA $58 C1/63B2: 855A STA $5A C1/63B4: EB XBA C1/63B5: 0EE188 ASL $88E1 C1/63B8: 642D STZ $2D C1/63BA: AEDD88 LDX $88DD C1/63BD: 864F STX $4F C1/63BF: AEDF88 LDX $88DF C1/63C2: 8651 STX $51 C1/63C4: A551 LDA $51 C1/63C6: 18 CLC C1/63C7: 6DE188 ADC $88E1 C1/63CA: 8553 STA $53 C1/63CC: A552 LDA $52 C1/63CE: 6900 ADC #$00 C1/63D0: 8554 STA $54 C1/63D2: A400 LDY $00 C1/63D4: B24F LDA ($4F) C1/63D6: F01C BEQ $63F4 C1/63D8: C920 CMP #$20 C1/63DA: 900C BCC $63E8 C1/63DC: 20FE63 JSR $63FE C1/63DF: E64F INC $4F C1/63E1: D0F1 BNE $63D4 C1/63E3: E650 INC $50 C1/63E5: 4CD463 JMP $63D4 (BRA would be better) C1/63E8: 200B64 JSR $640B C1/63EB: E64F INC $4F C1/63ED: D0E5 BNE $63D4 C1/63EF: E650 INC $50 C1/63F1: 4CD463 JMP $63D4 (BRA would be better) C1/63F4: 7B TDC (from only C1/63DC) C1/63F5: EB XBA C1/63F6: 60 RTS C1/63F7: E64F INC $4F C1/63F9: D002 BNE $63FD C1/63FB: E650 INC $50 C1/63FD: 60 RTS C1/63FE: C220 REP #$20 (from C1/669C, etc.) C1/6400: 9153 STA ($53),Y C1/6402: A555 LDA $55 C1/6404: 9151 STA ($51),Y C1/6406: E220 SEP #$20 C1/6408: C8 INY C1/6409: C8 INY C1/640A: 60 RTS C1/640B: 852C STA $2C (from only C1/63E8) C1/640D: 062C ASL $2C C1/640F: A62C LDX $2C C1/6411: 7C1464 JMP ($6414,X) Function Pointers (called from C1/6411) Various text loadings (function) (value of $2C) C1/6414: 4767 (00) (exits) (00 is used to end a set of commands...) C1/6416: 4867 (01) C1/6418: 9464 (02) (Displays 2-digit number X?) C1/641A: C964 (03) C1/641C: D164 (04) (Change tile palette to X?) C1/641E: DE64 (05) (Insert X blank tiles) C1/6420: EF64 (06) (Display Magitek attack name X?) C1/6422: 4767 (07) (exits) C1/6424: 4767 (08) (exits) C1/6426: 4767 (09) (exits) C1/6428: 4767 (0A) (exits) C1/642A: 4767 (0B) (exits) C1/642C: 4767 (0C) (exits) C1/642E: 4767 (0D) (exits) C1/6430: 5865 (0E) (Display Item (no Type) name X?) C1/6432: 9865 (0F) (Display Spell name X) C1/6434: 4767 (10) (exits) C1/6436: 8565 (11) C1/6438: 1765 (12) (Display Item and Type names X?) C1/643A: 4767 (13) (exits) C1/643C: 4767 (14) (exits) C1/643E: 4767 (15) (exits) C1/6440: 4A64 (16) (Display 3-digit number X?) C1/6442: 0066 (17) (Display Dance name X?) C1/6444: 2866 (18) (Display Enemy name X?) C1/6446: 5566 (19) (Display Lore name X?) C1/6448: 7D66 (1A) (Display Esper name X?) C1/644A: 20F763 JSR $63F7 (from C1/6411, X = 16) C1/644D: 6440 STZ $40 C1/644F: 6441 STZ $41 C1/6451: B24F LDA ($4F) C1/6453: 38 SEC C1/6454: E964 SBC #$64 C1/6456: 9004 BCC $645C C1/6458: E640 INC $40 C1/645A: 80F7 BRA $6453 C1/645C: 18 CLC C1/645D: 6964 ADC #$64 C1/645F: 38 SEC C1/6460: E90A SBC #$0A C1/6462: 9004 BCC $6468 C1/6464: E641 INC $41 C1/6466: 80F7 BRA $645F C1/6468: 18 CLC C1/6469: 690A ADC #$0A C1/646B: 48 PHA C1/646C: A540 LDA $40 C1/646E: D002 BNE $6472 C1/6470: A94B LDA #$4B C1/6472: 18 CLC C1/6473: 69B4 ADC #$B4 C1/6475: 20FE63 JSR $63FE C1/6478: A541 LDA $41 C1/647A: 0540 ORA $40 C1/647C: D007 BNE $6485 C1/647E: A9FF LDA #$FF C1/6480: 20FE63 JSR $63FE C1/6483: 8008 BRA $648D C1/6485: A541 LDA $41 C1/6487: 18 CLC C1/6488: 69B4 ADC #$B4 C1/648A: 20FE63 JSR $63FE C1/648D: 68 PLA C1/648E: 18 CLC C1/648F: 69B4 ADC #$B4 C1/6491: 4CFE63 JMP $63FE C1/6494: 20F763 JSR $63F7 (from C1/6411, X = 2) C1/6497: 6440 STZ $40 C1/6499: B24F LDA ($4F) C1/649B: 38 SEC C1/649C: E90A SBC #$0A C1/649E: 9005 BCC $64A5 C1/64A0: E640 INC $40 C1/64A2: 4C9B64 JMP $649B (why no BRA?) C1/64A5: 18 CLC (from only C1/649E) C1/64A6: 690A ADC #$0A C1/64A8: 8541 STA $41 C1/64AA: A540 LDA $40 C1/64AC: D002 BNE $64B0 C1/64AE: A94B LDA #$4B C1/64B0: 18 CLC C1/64B1: 69B4 ADC #$B4 C1/64B3: 20FE63 JSR $63FE C1/64B6: A541 LDA $41 C1/64B8: 0540 ORA $40 C1/64BA: D005 BNE $64C1 C1/64BC: A9FF LDA #$FF C1/64BE: 4CFE63 JMP $63FE C1/64C1: A541 LDA $41 (from only C1/64BA) C1/64C3: 18 CLC C1/64C4: 69B4 ADC #$B4 C1/64C6: 4CFE63 JMP $63FE C1/64C9: 20F763 JSR $63F7 (from C1/6411, X = 3) C1/64CC: B24F LDA ($4F) C1/64CE: 4CFE63 JMP $63FE C1/64D1: 20F763 JSR $63F7 (from C1/6411, X = 4) C1/64D4: B24F LDA ($4F) C1/64D6: 8556 STA $56 C1/64D8: 8558 STA $58 C1/64DA: 855A STA $5A C1/64DC: EB XBA C1/64DD: 60 RTS C1/64DE: 20F763 JSR $63F7 (from C1/6411, X = 5) C1/64E1: B24F LDA ($4F) C1/64E3: 8540 STA $40 C1/64E5: A9FF LDA #$FF C1/64E7: 20FE63 JSR $63FE C1/64EA: C640 DEC $40 C1/64EC: D0F7 BNE $64E5 C1/64EE: 60 RTS C1/64EF: 20F763 JSR $63F7 (from C1/6411, X = 6) C1/64F2: B24F LDA ($4F) C1/64F4: C9FF CMP #$FF C1/64F6: D005 BNE $64FD C1/64F8: A90A LDA #$0A C1/64FA: 4CA566 JMP $66A5 C1/64FD: 852C STA $2C (from C1/64F6) C1/64FF: A90A LDA #$0A (10 = Magitek attack name length) C1/6501: 852E STA $2E C1/6503: 8540 STA $40 C1/6505: 20B018 JSR $18B0 C1/6508: A630 LDX $30 C1/650A: BFADF9E6 LDA $E6F9AD,X (Loads Magitek attack name X) C1/650E: 20FE63 JSR $63FE C1/6511: E8 INX C1/6512: C640 DEC $40 C1/6514: D0F4 BNE $650A C1/6516: 60 RTS I guess the point of this function is to draw the item "types" after each item Note: changing the item name length or location does not seem to have any effect for the item list in battle C1/6517: 20F763 JSR $63F7 (from C1/6411, X = 12) C1/651A: B24F LDA ($4F) C1/651C: C9FF CMP #$FF C1/651E: D005 BNE $6525 C1/6520: A907 LDA #$07 C1/6522: 4CA566 JMP $66A5 C1/6525: 852C STA $2C (from C1/651E) C1/6527: A90D LDA #$0D (13 = item name length) C1/6529: 852E STA $2E C1/652B: 20B018 JSR $18B0 C1/652E: A630 LDX $30 C1/6530: BF00B3D2 LDA $D2B300,X (Loads Item name X) C1/6534: C9FF CMP #$FF C1/6536: F0E8 BEQ $6520 C1/6538: 38 SEC C1/6539: E9D8 SBC #$D8 C1/653B: 852C STA $2C C1/653D: A907 LDA #$07 C1/653F: 852E STA $2E C1/6541: 8540 STA $40 C1/6543: 20B018 JSR $18B0 C1/6546: A630 LDX $30 C1/6548: A556 LDA $56 C1/654A: EB XBA C1/654B: BF006FD2 LDA $D26F00,X (Loads Weapon/Armor type word X) C1/654F: 20FE63 JSR $63FE C1/6552: E8 INX C1/6553: C640 DEC $40 C1/6555: D0F4 BNE $654B C1/6557: 60 RTS This function populates the item list, the Tools list C1/6558: 20F763 JSR $63F7 (from C1/6411, X = E) C1/655B: B24F LDA ($4F) C1/655D: C9FF CMP #$FF C1/655F: D005 BNE $6566 C1/6561: A90D LDA #$0D C1/6563: 4CA566 JMP $66A5 C1/6566: 852C STA $2C (from C1/655F) C1/6568: A90D LDA #$0D C1/656A: 852E STA $2E C1/656C: 20B018 JSR $18B0 C1/656F: A630 LDX $30 C1/6571: A556 LDA $56 C1/6573: EB XBA C1/6574: A90D LDA #$0D (13 = item name length) C1/6576: 8540 STA $40 C1/6578: BF00B3D2 LDA $D2B300,X (Loads Item name X) C1/657C: 20FE63 JSR $63FE C1/657F: E8 INX C1/6580: C640 DEC $40 C1/6582: D0F4 BNE $6578 C1/6584: 60 RTS C1/6585: 209865 JSR $6598 (from C1/6411, X = 11) C1/6588: B24F LDA ($4F) C1/658A: C9FF CMP #$FF C1/658C: F005 BEQ $6593 C1/658E: C936 CMP #$36 C1/6590: 9001 BCC $6593 C1/6592: 60 RTS C1/6593: A903 LDA #$03 (from C1/658C) C1/6595: 4CA566 JMP $66A5 C1/6598: 20F763 JSR $63F7 (from C1/6411, X = F) C1/659B: B24F LDA ($4F) C1/659D: 852C STA $2C C1/659F: C9FF CMP #$FF C1/65A1: D005 BNE $65A8 C1/65A3: A907 LDA #$07 C1/65A5: 4CA566 JMP $66A5 C1/65A8: C936 CMP #$36 (from C1/65A1) C1/65AA: 903C BCC $65E8 (Go to spell names) C1/65AC: C951 CMP #$51 C1/65AE: 901C BCC $65CC (Go to esper names) C1/65B0: 38 SEC C1/65B1: E951 SBC #$51 C1/65B3: EB XBA C1/65B4: A90A LDA #$0A (10 = skean attack name length) C1/65B6: 852E STA $2E C1/65B8: 8540 STA $40 C1/65BA: 20B018 JSR $18B0 C1/65BD: A630 LDX $30 C1/65BF: BFB9F7E6 LDA $E6F7B9,X (Load skean attack name X) C1/65C3: 20FE63 JSR $63FE C1/65C6: E8 INX C1/65C7: C640 DEC $40 C1/65C9: D0F4 BNE $65BF C1/65CB: 60 RTS C1/65CC: 38 SEC (from C1/65AE) C1/65CD: E936 SBC #$36 C1/65CF: EB XBA C1/65D0: A908 LDA #$08 (8 = Esper name length) C1/65D2: 852E STA $2E C1/65D4: 8540 STA $40 C1/65D6: 20B018 JSR $18B0 C1/65D9: A630 LDX $30 C1/65DB: BFE1F6E6 LDA $E6F6E1,X (Load Esper name X) C1/65DF: 20FE63 JSR $63FE C1/65E2: E8 INX C1/65E3: C640 DEC $40 C1/65E5: D0F4 BNE $65DB C1/65E7: 60 RTS C1/65E8: A907 LDA #$07 (from C1/65AA)(7 = spell name length) C1/65EA: 852E STA $2E C1/65EC: 8540 STA $40 C1/65EE: 20B018 JSR $18B0 C1/65F1: A630 LDX $30 C1/65F3: BF67F5E6 LDA $E6F567,X (Load Spell name X) C1/65F7: 20FE63 JSR $63FE C1/65FA: E8 INX C1/65FB: C640 DEC $40 C1/65FD: D0F4 BNE $65F3 C1/65FF: 60 RTS C1/6600: 20F763 JSR $63F7 (from C1/6411, X = 17) C1/6603: B24F LDA ($4F) C1/6605: 852C STA $2C C1/6607: C9FF CMP #$FF C1/6609: D005 BNE $6610 C1/660B: A90C LDA #$0C C1/660D: 4CA566 JMP $66A5 C1/6610: A90C LDA #$0C (12 = Dance name length) C1/6612: 852E STA $2E C1/6614: 8540 STA $40 C1/6616: 20B018 JSR $18B0 C1/6619: A630 LDX $30 C1/661B: BF9DFFE6 LDA $E6FF9D,X (Load Mog's Dance name X) C1/661F: 20FE63 JSR $63FE C1/6622: E8 INX C1/6623: C640 DEC $40 C1/6625: D0F4 BNE $661B C1/6627: 60 RTS C1/6628: 20F763 JSR $63F7 (from C1/6411, X = 18) C1/662B: B24F LDA ($4F) C1/662D: 852C STA $2C C1/662F: C9FF CMP #$FF C1/6631: D005 BNE $6638 C1/6633: A90B LDA #$0B C1/6635: 4CA566 JMP $66A5 C1/6638: A90A LDA #$0A (from C1/6631)(10 = enemy name length) C1/663A: 852E STA $2E C1/663C: 8540 STA $40 C1/663E: 20B018 JSR $18B0 C1/6641: A630 LDX $30 C1/6643: BF50C0CF LDA $CFC050,X (Load enemy name X) C1/6647: 20FE63 JSR $63FE C1/664A: E8 INX C1/664B: C640 DEC $40 C1/664D: D0F4 BNE $6643 C1/664F: A9FF LDA #$FF C1/6651: 20FE63 JSR $63FE C1/6654: 60 RTS C1/6655: 20F763 JSR $63F7 (from C1/6411, X = 19) C1/6658: B24F LDA ($4F) C1/665A: 852C STA $2C C1/665C: C9FF CMP #$FF C1/665E: D005 BNE $6665 C1/6660: A90A LDA #$0A C1/6662: 4CA566 JMP $66A5 (BRA would work here) C1/6665: A90A LDA #$0A (from C1/665E)(10 = lore name length) C1/6667: 852E STA $2E C1/6669: 8540 STA $40 C1/666B: 20B018 JSR $18B0 C1/666E: A630 LDX $30 C1/6670: BFFDF9E6 LDA $E6F9FD,X (Load Lore name X) C1/6674: 20FE63 JSR $63FE C1/6677: E8 INX C1/6678: C640 DEC $40 C1/667A: D0F4 BNE $6670 C1/667C: 60 RTS C1/667D: 20F763 JSR $63F7 (from C1/6411, X = 1A) C1/6680: B24F LDA ($4F) C1/6682: 852C STA $2C C1/6684: C9FF CMP #$FF C1/6686: D005 BNE $668D C1/6688: A908 LDA #$08 C1/668A: 4CA566 JMP $66A5 (BRA would work here) C1/668D: A908 LDA #$08 (from C1/6686)(Sets name length?) C1/668F: 852E STA $2E C1/6691: 8540 STA $40 C1/6693: 20B018 JSR $18B0 C1/6696: A630 LDX $30 C1/6698: BFE1F6E6 LDA $E6F6E1,X (Loads Esper name X) C1/669C: 20FE63 JSR $63FE C1/669F: E8 INX C1/66A0: C640 DEC $40 C1/66A2: D0F4 BNE $6698 C1/66A4: 60 RTS C1/66A5: 8540 STA $40 (from C1/64FA, C1/6522, C1/6563, C1/6595, C1/65A5, C1/660D, C1/6635, C1/6662, C1/668A) C1/66A7: A9FF LDA #$FF C1/66A9: 20FE63 JSR $63FE C1/66AC: C640 DEC $40 C1/66AE: D0F7 BNE $66A7 C1/66B0: 60 RTS C1/66B1: ADDC88 LDA $88DC (from C1/45FB, C1/4603, C1/47E6, C1/4828, C1/486A, C1/49ED, C1/49ED, C1/4A65, C1/4A84, C1/4A8C, C1/4A94, C1/4B20, C1/4B28, C1/4B48, C1/4B50, C1/4B58) C1/66B4: 854E STA $4E C1/66B6: 0EDB88 ASL $88DB C1/66B9: AED788 LDX $88D7 C1/66BC: 8648 STX $48 C1/66BE: AED988 LDX $88D9 C1/66C1: 864A STX $4A C1/66C3: A54A LDA $4A C1/66C5: 18 CLC C1/66C6: 6DDB88 ADC $88DB C1/66C9: 854C STA $4C C1/66CB: A54B LDA $4B C1/66CD: 6900 ADC #$00 C1/66CF: 854D STA $4D C1/66D1: A400 LDY $00 C1/66D3: B248 LDA ($48) C1/66D5: F014 BEQ $66EB C1/66D7: C920 CMP #$20 C1/66D9: 9008 BCC $66E3 C1/66DB: 20F366 JSR $66F3 C1/66DE: 20EC66 JSR $66EC C1/66E1: 80F0 BRA $66D3 C1/66E3: 200267 JSR $6702 (from only C1/66D9) C1/66E6: 20EC66 JSR $66EC C1/66E9: 80E8 BRA $66D3 C1/66EB: 60 RTS C1/66EC: E648 INC $48 (from C1/66DE, C1/66E6) C1/66EE: D002 BNE $66F2 C1/66F0: E649 INC $49 C1/66F2: 60 RTS C1/66F3: 914C STA ($4C),Y (from C1/66DB, C1/677E, C1/6789, C1/6791, C1/6799, C1/67AD, C1/6828, C1/6838, C1/685A, C1/6865, C1/686F, C1/689A, C1/68A4, C1/697A, C1/6989, C1/69AF, C1/69CD, C1/69D7, C1/6A02, C1/6A2F, C1/6A79, C1/6AA6, C1/6AF1, C1/6B13, C1/6B32, C1/6B3F) C1/66F5: A9FF LDA #$FF C1/66F7: 914A STA ($4A),Y C1/66F9: C8 INY C1/66FA: A54E LDA $4E C1/66FC: 914C STA ($4C),Y C1/66FE: 914A STA ($4A),Y C1/6700: C8 INY C1/6701: 60 RTS C1/6702: 0A ASL A (from C1/66E3) C1/6703: AA TAX C1/6704: 7C0767 JMP ($6707,X) Code pointers (called from C1/6704) (function) (value) C1/6707: 4767 (00) (exits) C1/6709: 4867 (01) C1/670B: 5F67 (02) (Display 2 digit number X) C1/670D: 9467 (03) C1/670F: 9C67 (04) C1/6711: A467 (05) C1/6713: 4767 (06) (exits) C1/6715: B567 (07) (Display party member 1's info) C1/6717: B867 (08) (Display party member 2's info) C1/6719: BC67 (09) (Display party member 3's info) C1/671B: C067 (0A) (Display party member 4's info) C1/671D: 9369 (0B) C1/671F: DA69 (0C) C1/6721: DE69 (0D) (Display the battle command names) C1/6723: 826A (0E) C1/6725: C26A (0F) C1/6727: 0B6A (10) (Display the status texts) C1/6729: AF6A (11) C1/672B: 386A (12) (Display the item names) C1/672D: 4767 (13) (exits) C1/672F: 4767 (14) (exits) C1/6731: 4767 (15) (exits) C1/6733: 4767 (16) (exits) C1/6735: 4767 (17) (exits) C1/6737: 4767 (18) (exits) C1/6739: 4767 (19) (exits) C1/673B: 4767 (1A) (exits) C1/673D: 4767 (1B) (exits) C1/673F: 4767 (1C) (exits) C1/6741: 4767 (1D) (exits) C1/6743: 4767 (1E) (exits) C1/6745: 4767 (1F) (exits) C1/6747: 60 RTS (from various, just exits) C1/6748: ADDB88 LDA $88DB (from C1/6411, X = 1; from C1/6704, X = 1) C1/674B: C220 REP #$20 C1/674D: 48 PHA C1/674E: 0A ASL A C1/674F: 18 CLC C1/6750: 654A ADC $4A C1/6752: 854A STA $4A C1/6754: 68 PLA C1/6755: 18 CLC C1/6756: 654A ADC $4A C1/6758: 854C STA $4C C1/675A: 7B TDC C1/675B: A8 TAY C1/675C: E220 SEP #$20 C1/675E: 60 RTS C1/675F: 20EC66 JSR $66EC (from C1/6704, X = 2) C1/6762: 6410 STZ $10 C1/6764: B248 LDA ($48) C1/6766: 38 SEC C1/6767: E90A SBC #$0A C1/6769: 9005 BCC $6770 C1/676B: E610 INC $10 C1/676D: 4C6667 JMP $6766 C1/6770: 18 CLC (from C1/6769) C1/6771: 690A ADC #$0A C1/6773: 8511 STA $11 C1/6775: A510 LDA $10 C1/6777: D002 BNE $677B C1/6779: A94B LDA #$4B C1/677B: 18 CLC C1/677C: 69B4 ADC #$B4 C1/677E: 20F366 JSR $66F3 C1/6781: A511 LDA $11 C1/6783: 0510 ORA $10 C1/6785: D005 BNE $678C C1/6787: A9FF LDA #$FF C1/6789: 4CF366 JMP $66F3 C1/678C: A511 LDA $11 (from C1/6785) C1/678E: 18 CLC C1/678F: 69B4 ADC #$B4 C1/6791: 4CF366 JMP $66F3 C1/6794: 20EC66 JSR $66EC (from C1/6704, X = 3) C1/6797: B248 LDA ($48) C1/6799: 4CF366 JMP $66F3 C1/679C: 20EC66 JSR $66EC (from C1/6704, X = 4) C1/679F: B248 LDA ($48) C1/67A1: 854E STA $4E C1/67A3: 60 RTS C1/67A4: 20EC66 JSR $66EC (from C1/6704, X = 5) C1/67A7: B248 LDA ($48) C1/67A9: 8510 STA $10 C1/67AB: A9FF LDA #$FF C1/67AD: 20F366 JSR $66F3 C1/67B0: C610 DEC $10 C1/67B2: D0F7 BNE $67AB C1/67B4: 60 RTS C1/67B5: 7B TDC (from C1/6704, X = 7) C1/67B6: 800A BRA $67C2 C1/67B8: A901 LDA #$01 (from C1/6704, X = 8) C1/67BA: 8006 BRA $67C2 C1/67BC: A902 LDA #$02 (from C1/6704, X = 9) C1/67BE: 8002 BRA $67C2 C1/67C0: A903 LDA #$03 (from C1/6704, X = A) C1/67C2: AA TAX C1/67C3: BDD664 LDA $64D6,X C1/67C6: C9FF CMP #$FF C1/67C8: F005 BEQ $67CF C1/67CA: 0A ASL A C1/67CB: AA TAX C1/67CC: 7CE367 JMP ($67E3,X) C1/67CF: 20EC66 JSR $66EC (from C1/67C8) C1/67D2: B248 LDA ($48) C1/67D4: AA TAX C1/67D5: BFDC67C1 LDA $C167DC,X C1/67D9: 4C2568 JMP $6825 Data C1/67DC: 06 C1/67DD: 04 C1/67DE: 06 C1/67DF: 03 C1/67E0: 03 C1/67E1: 06 C1/67E2: 06 Pointers C1/67E3: EB67 (00) C1/67E5: F267 (01) C1/67E7: F967 (02) C1/67E9: 0068 (03) C1/67EB: A2AE2E LDX #$2EAE (from C1/67CC, X = 0, where to look for character 1's name) C1/67EE: A900 LDA #$00 C1/67F0: 8013 BRA $6805 C1/67F2: A2CE2E LDX #$2ECE (from C1/67CC, X = 1, where to look for character 2's name) C1/67F5: A901 LDA #$01 C1/67F7: 800C BRA $6805 C1/67F9: A2EE2E LDX #$2EEE (from C1/67CC, X = 2, where to look for character 3's name) C1/67FC: A902 LDA #$02 C1/67FE: 8005 BRA $6805 C1/6800: A20E2F LDX #$2F0E (from C1/67CC, X = 3, where to look for character 4's name) C1/6803: A903 LDA #$03 C1/6805: 8518 STA $18 C1/6807: 8610 STX $10 C1/6809: A97E LDA #$7E C1/680B: 8512 STA $12 C1/680D: 20EC66 JSR $66EC C1/6810: B248 LDA ($48) C1/6812: 0A ASL A C1/6813: AA TAX C1/6814: 7C1768 JMP ($6817,X) Pointers (called from C1/6814) C1/6817: 2F68 (0) (Name) C1/6819: 4168 (1) (Current HP) C1/681B: 7268 (2) (ATB gauge or max HP, depending on gauge settings) C1/681D: A768 (3) (current MP) C1/681F: 2C69 (4) (max MP) C1/6821: 4E68 (5) C1/6823: 4668 (6) C1/6825: AA TAX C1/6826: A9FF LDA #$FF C1/6828: 20F366 JSR $66F3 C1/682B: CA DEX (coming in, X holds how many spaces to draw. it'll be 6, 4, or 3) C1/682C: D0F8 BNE $6826 C1/682E: 60 RTS C1/682F: A610 LDX $10 (from C1/6814, X = 0, $10 holds $2EAE, $2ECE, $2EEE, or $2F0E) C1/6831: A906 LDA #$06 C1/6833: 8514 STA $14 (6 letters to write) C1/6835: BD0100 LDA $0001,X (load character name) C1/6838: 20F366 JSR $66F3 (draw a tile) C1/683B: E8 INX C1/683C: C614 DEC $14 (decrement letters to do) C1/683E: D0F5 BNE $6835 (branch if haven't done all 6) C1/6840: 60 RTS C1/6841: A907 LDA #$07 (from C1/6814, X = 1) C1/6843: 4C7569 JMP $6975 C1/6846: A518 LDA $18 (from C1/6814, X = 6) C1/6848: AA TAX C1/6849: BDA661 LDA $61A6,X C1/684C: 8006 BRA $6854 C1/684E: A518 LDA $18 (from C1/6814, X = 5) C1/6850: AA TAX C1/6851: BDA261 LDA $61A2,X C1/6854: 4A LSR A C1/6855: 29FC AND #$FC C1/6857: AA TAX C1/6858: A9F9 LDA #$F9 C1/685A: 20F366 JSR $66F3 (draw opening end of ATB gauge) C1/685D: A904 LDA #$04 C1/685F: 851A STA $1A C1/6861: BFAC68C1 LDA $C168AC,X (get the ATB gauge character) C1/6865: 20F366 JSR $66F3 (draw tile A) C1/6868: E8 INX C1/6869: C61A DEC $1A (decrement tiles to do) C1/686B: D0F4 BNE $6861 (branch if we haven't done 4) C1/686D: A9FA LDA #$FA (draw tail end of ATB gauge) C1/686F: 4CF366 JMP $66F3 (draw tile A) Character subcommand 02, draw Max HP or Gauge C1/6872: AD2120 LDA $2021 (from C1/6814, X = 2) C1/6875: 2901 AND #$01 (check Gauge on bit?) C1/6877: F01F BEQ $6898 (branch if it's off) C1/6879: A54E LDA $4E (load text color) C1/687B: 48 PHA (save it) C1/687C: A518 LDA $18 C1/687E: AA TAX C1/687F: BD9E61 LDA $619E,X C1/6882: C9FF CMP #$FF C1/6884: D004 BNE $688A (branch if ATB isn't fully charged) C1/6886: A929 LDA #$29 (Set yellow palette for ATB fully charged) C1/6888: 8002 BRA $688C C1/688A: A935 LDA #$35 (Set white palette for ATB charging) C1/688C: 854E STA $4E (set text color) C1/688E: BD9E61 LDA $619E,X C1/6891: 205468 JSR $6854 C1/6894: 68 PLA (load saved text color) C1/6895: 854E STA $4E (set text color) C1/6897: 60 RTS C1/6898: A9CE LDA #$CE ("~") (from only C1/6877) C1/689A: 20F366 JSR $66F3 (draw tile A) C1/689D: A909 LDA #$09 (because max HP starts on the 9th byte) C1/689F: 207569 JSR $6975 C1/68A2: A9FF LDA #$FF (a space) C1/68A4: 4CF366 JMP $66F3 (draw tile A) C1/68A7: A90B LDA #$0B (cur. MP starts at 11th byte) (from C1/6814, X = 3) C1/68A9: 4C8469 JMP $6984 Data: ATB gauge table C1/68AC: F1F0F0F0 C1/68B0: F2F0F0F0 C1/68B4: F3F0F0F0 C1/68B8: F4F0F0F0 C1/68BC: F5F0F0F0 C1/68C0: F6F0F0F0 C1/68C4: F7F0F0F0 C1/68C8: F8F0F0F0 C1/68CC: F8F1F0F0 C1/68D0: F8F2F0F0 C1/68D4: F8F3F0F0 C1/68D8: F8F4F0F0 C1/68DC: F8F5F0F0 C1/68E0: F8F6F0F0 C1/68E4: F8F7F0F0 C1/68E8: F8F8F0F0 C1/68EC: F8F8F1F0 C1/68F0: F8F8F2F0 C1/68F4: F8F8F3F0 C1/68F8: F8F8F4F0 C1/68FC: F8F8F5F0 C1/6900: F8F8F6F0 C1/6904: F8F8F7F0 C1/6908: F8F8F8F0 C1/690C: F8F8F8F1 C1/6910: F8F8F8F2 C1/6914: F8F8F8F3 C1/6918: F8F8F8F4 C1/691C: F8F8F8F5 C1/6920: F8F8F8F6 C1/6924: F8F8F8F7 C1/6928: F8F8F8F8 C1/692C: A90D LDA #$0D (max MP starts at 13th byte) (from C1/6814, X = 4) C1/692E: 4C8469 JMP $6984 (BRA would work here) C1/6931: 5A PHY (from only C1/6975) C1/6932: A8 TAY C1/6933: C220 REP #$20 C1/6935: B710 LDA [$10],Y C1/6937: AA TAX C1/6938: 7B TDC C1/6939: E220 SEP #$20 C1/693B: A9B4 LDA #$B4 C1/693D: 8568 STA $68 C1/693F: 202B1B JSR $1B2B C1/6942: 208F1A JSR $1A8F C1/6945: A600 LDX $00 C1/6947: 7A PLY C1/6948: 60 RTS C1/6949: 5A PHY (from only C1/6984) C1/694A: A8 TAY C1/694B: C220 REP #$20 C1/694D: B710 LDA [$10],Y C1/694F: AA TAX C1/6950: 7B TDC C1/6951: E220 SEP #$20 C1/6953: A9B4 LDA #$B4 C1/6955: 8568 STA $68 C1/6957: 202B1B JSR $1B2B C1/695A: 206169 JSR $6961 C1/695D: A600 LDX $00 C1/695F: 7A PLY C1/6960: 60 RTS C1/6961: A600 LDX $00 (from only C1/695A) C1/6963: B569 LDA $69,X C1/6965: 38 SEC C1/6966: E568 SBC $68 C1/6968: D00A BNE $6974 C1/696A: A9C8 LDA #$C8 C1/696C: 9569 STA $69,X C1/696E: E8 INX C1/696F: E00300 CPX #$0003 C1/6972: D0EF BNE $6963 C1/6974: 60 RTS C1/6975: 203169 JSR $6931 (from C1/6843, C1/689F) C1/6978: B569 LDA $69,X C1/697A: 20F366 JSR $66F3 (draw tile A) C1/697D: E8 INX C1/697E: E00400 CPX #$0004 C1/6981: D0F5 BNE $6978 C1/6983: 60 RTS C1/6984: 204969 JSR $6949 (from C1/68A9, C1/692E) C1/6987: B56A LDA $6A,X C1/6989: 20F366 JSR $66F3 (draw tile A) C1/698C: E8 INX C1/698D: E00300 CPX #$0003 C1/6990: D0F5 BNE $6987 C1/6992: 60 RTS C1/6993: 20EC66 JSR $66EC (from C1/6704, X = B) C1/6996: A90A LDA #$0A C1/6998: 8510 STA $10 C1/699A: B248 LDA ($48) C1/699C: 0A ASL A C1/699D: AA TAX C1/699E: C220 REP #$20 C1/69A0: BD0D20 LDA $200D,X C1/69A3: C9FFFF CMP #$FFFF C1/69A6: D010 BNE $69B8 C1/69A8: 7B TDC C1/69A9: E220 SEP #$20 C1/69AB: E610 INC $10 C1/69AD: A9FF LDA #$FF (a space) C1/69AF: 20F366 JSR $66F3 (draw tile A) C1/69B2: E8 INX C1/69B3: C610 DEC $10 C1/69B5: D0F6 BNE $69AD C1/69B7: 60 RTS C1/69B8: C220 REP #$20 (from C1/69A6) C1/69BA: 8524 STA $24 C1/69BC: A90A00 LDA #$000A (10 = length of enemy name) C1/69BF: 8522 STA $22 (Animation Script pointer) C1/69C1: 20F418 JSR $18F4 C1/69C4: 7B TDC C1/69C5: E220 SEP #$20 C1/69C7: A626 LDX $26 C1/69C9: BF50C0CF LDA $CFC050,X (Load enemy name X) C1/69CD: 20F366 JSR $66F3 (draw tile A) C1/69D0: E8 INX C1/69D1: C610 DEC $10 (decrement tiles to draw) C1/69D3: D0F4 BNE $69C9 (branch if we haven't done 10 tiles) C1/69D5: A9FF LDA #$FF (a space) C1/69D7: 4CF366 JMP $66F3 (draw tile A) C1/69DA: 20EC66 JSR $66EC (from C1/6704, X = C) C1/69DD: 60 RTS C1/69DE: 20EC66 JSR $66EC (from C1/6704, X = D) C1/69E1: B248 LDA ($48) C1/69E3: C9FF CMP #$FF C1/69E5: D005 BNE $69EC C1/69E7: A907 LDA #$07 C1/69E9: 4C3B6B JMP $6B3B C1/69EC: EB XBA (from C1/69E5) C1/69ED: A907 LDA #$07 (7 = battle command name length) C1/69EF: 8510 STA $10 C1/69F1: 20CA18 JSR $18CA (half multiplier) C1/69F4: C220 REP #$20 C1/69F6: AF164200 LDA $004216 (load product) C1/69FA: AA TAX C1/69FB: 7B TDC C1/69FC: E220 SEP #$20 C1/69FE: BFA0CED8 LDA $D8CEA0,X (Loads Battle command name X) C1/6A02: 20F366 JSR $66F3 (draw tile A) C1/6A05: E8 INX C1/6A06: C610 DEC $10 C1/6A08: D0F4 BNE $69FE C1/6A0A: 60 RTS C1/6A0B: 20EC66 JSR $66EC (from C1/6704, X = 10) C1/6A0E: B248 LDA ($48) C1/6A10: C9FF CMP #$FF C1/6A12: D005 BNE $6A19 C1/6A14: A90A LDA #$0A C1/6A16: 4C3B6B JMP $6B3B C1/6A19: EB XBA (from C1/6A12) C1/6A1A: A90A LDA #$0A (10 = length of battle status text) C1/6A1C: 8510 STA $10 C1/6A1E: 20CA18 JSR $18CA (half multiplier) C1/6A21: C220 REP #$20 C1/6A23: AF164200 LDA $004216 (load product) C1/6A27: AA TAX C1/6A28: 7B TDC C1/6A29: E220 SEP #$20 C1/6A2B: BFE1ADC2 LDA $C2ADE1,X (Loads Battle Status Text) C1/6A2F: 20F366 JSR $66F3 (draw tile A) C1/6A32: E8 INX C1/6A33: C610 DEC $10 C1/6A35: D0F4 BNE $6A2B C1/6A37: 60 RTS C1/6A38: 20EC66 JSR $66EC (from C1/6704, X = 12) C1/6A3B: B248 LDA ($48) C1/6A3D: C9FF CMP #$FF C1/6A3F: D005 BNE $6A46 C1/6A41: A907 LDA #$07 C1/6A43: 4C3B6B JMP $6B3B C1/6A46: EB XBA (from C1/6A3F) C1/6A47: A90D LDA #$0D (13 = item name length) C1/6A49: 8510 STA $10 C1/6A4B: 20CA18 JSR $18CA (half multiplier) C1/6A4E: C220 REP #$20 C1/6A50: AF164200 LDA $004216 (load product) C1/6A54: AA TAX C1/6A55: 7B TDC C1/6A56: E220 SEP #$20 C1/6A58: BF00B3D2 LDA $D2B300,X (Loads Item name X) C1/6A5C: C9FF CMP #$FF C1/6A5E: F0E1 BEQ $6A41 C1/6A60: 38 SEC C1/6A61: E9D8 SBC #$D8 C1/6A63: EB XBA C1/6A64: A907 LDA #$07 C1/6A66: 8510 STA $10 C1/6A68: 20CA18 JSR $18CA (half multiplier) C1/6A6B: C220 REP #$20 C1/6A6D: AF164200 LDA $004216 (load product) C1/6A71: AA TAX C1/6A72: 7B TDC C1/6A73: E220 SEP #$20 C1/6A75: BF006FD2 LDA $D26F00,X (Loads Weapon/Armor type word X) C1/6A79: 20F366 JSR $66F3 (draw tile A) C1/6A7C: E8 INX C1/6A7D: C610 DEC $10 C1/6A7F: D0F4 BNE $6A75 C1/6A81: 60 RTS C1/6A82: 20EC66 JSR $66EC (from C1/6704, X = E) C1/6A85: B248 LDA ($48) C1/6A87: C9FF CMP #$FF C1/6A89: D005 BNE $6A90 C1/6A8B: A90D LDA #$0D C1/6A8D: 4C3B6B JMP $6B3B C1/6A90: EB XBA (from C1/6A89) C1/6A91: A90D LDA #$0D (13 = item name length) C1/6A93: 8510 STA $10 C1/6A95: 20CA18 JSR $18CA (half multiplier) C1/6A98: C220 REP #$20 C1/6A9A: AF164200 LDA $004216 (load product) C1/6A9E: AA TAX C1/6A9F: 7B TDC C1/6AA0: E220 SEP #$20 C1/6AA2: BF00B3D2 LDA $D2B300,X (Loads Item name X) C1/6AA6: 20F366 JSR $66F3 (draw tile A) C1/6AA9: E8 INX C1/6AAA: C610 DEC $10 C1/6AAC: D0F4 BNE $6AA2 C1/6AAE: 60 RTS C1/6AAF: 20C26A JSR $6AC2 (from C1/6704, X = 11) C1/6AB2: B248 LDA ($48) C1/6AB4: C9FF CMP #$FF C1/6AB6: F005 BEQ $6ABD C1/6AB8: C936 CMP #$36 C1/6ABA: 9001 BCC $6ABD C1/6ABC: 60 RTS C1/6ABD: A903 LDA #$03 (from C1/6AB6, C1/6ABA) C1/6ABF: 4C3B6B JMP $6B3B C1/6AC2: 20EC66 JSR $66EC (from C1/6704, X = F) C1/6AC5: B248 LDA ($48) C1/6AC7: C9FF CMP #$FF C1/6AC9: D005 BNE $6AD0 C1/6ACB: A907 LDA #$07 C1/6ACD: 4C3B6B JMP $6B3B C1/6AD0: C936 CMP #$36 (from C1/6AC9) C1/6AD2: 9048 BCC $6B1C C1/6AD4: C951 CMP #$51 C1/6AD6: 9022 BCC $6AFA C1/6AD8: 38 SEC C1/6AD9: E951 SBC #$51 C1/6ADB: EB XBA C1/6ADC: A90A LDA #$0A (10 = skean attack name length) C1/6ADE: 8510 STA $10 C1/6AE0: 20CA18 JSR $18CA (half multiplier) C1/6AE3: C220 REP #$20 C1/6AE5: AF164200 LDA $004216 (load product) C1/6AE9: AA TAX C1/6AEA: 7B TDC C1/6AEB: E220 SEP #$20 C1/6AED: BFB9F7E6 LDA $E6F7B9,X (Load skean attack name X) C1/6AF1: 20F366 JSR $66F3 (draw tile A) C1/6AF4: E8 INX C1/6AF5: C610 DEC $10 C1/6AF7: D0F4 BNE $6AED C1/6AF9: 60 RTS C1/6AFA: 38 SEC (from C1/6AD6) C1/6AFB: E936 SBC #$36 C1/6AFD: EB XBA C1/6AFE: A908 LDA #$08 C1/6B00: 8510 STA $10 C1/6B02: 20CA18 JSR $18CA (half multiplier) C1/6B05: C220 REP #$20 C1/6B07: AF164200 LDA $004216 (load product) C1/6B0B: AA TAX C1/6B0C: 7B TDC C1/6B0D: E220 SEP #$20 C1/6B0F: BF75F6E6 LDA $E6F675,X (Loads ??? -- is this a bug?) C1/6B13: 20F366 JSR $66F3 C1/6B16: E8 INX C1/6B17: C610 DEC $10 C1/6B19: D0F4 BNE $6B0F C1/6B1B: 60 RTS C1/6B1C: EB XBA (from C1/6AD2) C1/6B1D: A907 LDA #$07 C1/6B1F: 8510 STA $10 C1/6B21: 20CA18 JSR $18CA (half multiplier) C1/6B24: C220 REP #$20 C1/6B26: AF164200 LDA $004216 (load product) C1/6B2A: AA TAX C1/6B2B: 7B TDC C1/6B2C: E220 SEP #$20 C1/6B2E: BF67F5E6 LDA $E6F567,X (Load spell name X) C1/6B32: 20F366 JSR $66F3 C1/6B35: E8 INX C1/6B36: C610 DEC $10 C1/6B38: D0F4 BNE $6B2E C1/6B3A: 60 RTS C1/6B3B: 851A STA $1A (from various, above) C1/6B3D: A9FF LDA #$FF C1/6B3F: 20F366 JSR $66F3 C1/6B42: C61A DEC $1A C1/6B44: D0F7 BNE $6B3D C1/6B46: 60 RTS C1/6B47: A400 LDY $00 C1/6B49: 7B TDC C1/6B4A: 996D5F STA $5F6D,Y C1/6B4D: 998D5F STA $5F8D,Y C1/6B50: 999D5F STA $5F9D,Y C1/6B53: A940 LDA #$40 C1/6B55: 997D5F STA $5F7D,Y C1/6B58: C8 INY C1/6B59: C01000 CPY #$0010 C1/6B5C: D0EB BNE $6B49 C1/6B5E: 60 RTS C1/6B5F: 48 PHA C1/6B60: 18 CLC C1/6B61: 796D5F ADC $5F6D,Y C1/6B64: 996D5F STA $5F6D,Y C1/6B67: 68 PLA C1/6B68: 18 CLC C1/6B69: 797D5F ADC $5F7D,Y C1/6B6C: 997D5F STA $5F7D,Y C1/6B6F: 60 RTS C1/6B70: 48 PHA C1/6B71: 18 CLC C1/6B72: 798D5F ADC $5F8D,Y C1/6B75: 998D5F STA $5F8D,Y C1/6B78: 68 PLA C1/6B79: 18 CLC C1/6B7A: 799D5F ADC $5F9D,Y C1/6B7D: 999D5F STA $5F9D,Y C1/6B80: 60 RTS C1/6B81: B98D5F LDA $5F8D,Y C1/6B84: 0A ASL A C1/6B85: 8524 STA $24 C1/6B87: B96D5F LDA $5F6D,Y C1/6B8A: 4C996B JMP $6B99 (BRA is better) C1/6B8D: B99D5F LDA $5F9D,Y C1/6B90: 0A ASL A C1/6B91: 8524 STA $24 C1/6B93: B97D5F LDA $5F7D,Y C1/6B96: 4C996B JMP $6B99 (pointless) C1/6B99: AA TAX C1/6B9A: BF6DFEC2 LDA $C2FE6D,X (Translation? This loads from blank space) (Load value from sine table) C1/6B9E: 101A BPL $6BBA C1/6BA0: 49FF EOR #$FF C1/6BA2: 8F024200 STA $004202 C1/6BA6: A524 LDA $24 C1/6BA8: 8F034200 STA $004203 C1/6BAC: A9FF LDA #$FF C1/6BAE: 8567 STA $67 C1/6BB0: 8567 STA $67 C1/6BB2: AF174200 LDA $004217 C1/6BB6: 49FF EOR #$FF C1/6BB8: 1A INC A C1/6BB9: 60 RTS C1/6BBA: 8F024200 STA $004202 C1/6BBE: A524 LDA $24 C1/6BC0: 8F034200 STA $004203 C1/6BC4: A900 LDA #$00 C1/6BC6: 8567 STA $67 C1/6BC8: 8567 STA $67 C1/6BCA: AF174200 LDA $004217 C1/6BCE: 60 RTS C1/6BCF: E230 SEP #$30 C1/6BD1: 8B PHB C1/6BD2: A900 LDA #$00 C1/6BD4: 48 PHA C1/6BD5: AB PLB C1/6BD6: A624 LDX $24 C1/6BD8: 8E0242 STX $4202 C1/6BDB: A522 LDA $22 (Animation Script pointer) C1/6BDD: 8D0342 STA $4203 C1/6BE0: C220 REP #$20 C1/6BE2: A423 LDY $23 C1/6BE4: EA NOP C1/6BE5: AD1642 LDA $4216 (load product) C1/6BE8: 8E0242 STX $4202 C1/6BEB: 8C0342 STY $4203 C1/6BEE: 8526 STA $26 C1/6BF0: 6428 STZ $28 C1/6BF2: C210 REP #$10 C1/6BF4: AD1642 LDA $4216 (load product) C1/6BF7: 18 CLC C1/6BF8: 6527 ADC $27 C1/6BFA: 8527 STA $27 C1/6BFC: 0626 ASL $26 C1/6BFE: 2628 ROL $28 C1/6C00: AB PLB C1/6C01: 60 RTS C1/6C02: C210 REP #$10 C1/6C04: A516 LDA $16 C1/6C06: 29FF01 AND #$01FF C1/6C09: AA TAX C1/6C0A: BF6DFCC2 LDA $C2FC6D,X (Translation? This loads from blank space) C1/6C0E: 102F BPL $6C3F C1/6C10: E210 SEP #$10 C1/6C12: 49FFFF EOR #$FFFF C1/6C15: A624 LDX $24 C1/6C17: 8E0242 STX $4202 C1/6C1A: AA TAX C1/6C1B: 8E0342 STX $4203 C1/6C1E: 8522 STA $22 (Animation Script pointer) C1/6C20: EB XBA C1/6C21: AA TAX C1/6C22: AD1642 LDA $4216 (load product) C1/6C25: 8E0342 STX $4203 C1/6C28: 8526 STA $26 C1/6C2A: 6428 STZ $28 C1/6C2C: 18 CLC C1/6C2D: AD1642 LDA $4216 (load product) C1/6C30: 6527 ADC $27 C1/6C32: 8527 STA $27 C1/6C34: 0626 ASL $26 C1/6C36: 2628 ROL $28 C1/6C38: A528 LDA $28 C1/6C3A: 49FFFF EOR #$FFFF C1/6C3D: 1A INC A C1/6C3E: 60 RTS C1/6C3F: E210 SEP #$10 C1/6C41: A624 LDX $24 C1/6C43: 8E0242 STX $4202 C1/6C46: AA TAX C1/6C47: 8E0342 STX $4203 C1/6C4A: 8522 STA $22 (Animation Script pointer) C1/6C4C: EB XBA C1/6C4D: AA TAX C1/6C4E: AD1642 LDA $4216 (load product) C1/6C51: 8E0342 STX $4203 C1/6C54: 8526 STA $26 C1/6C56: 6428 STZ $28 C1/6C58: 18 CLC C1/6C59: AD1642 LDA $4216 (load product) C1/6C5C: 6527 ADC $27 C1/6C5E: 8527 STA $27 C1/6C60: 0626 ASL $26 C1/6C62: 2628 ROL $28 C1/6C64: A528 LDA $28 C1/6C66: 60 RTS C1/6C67: C220 REP #$20 C1/6C69: 29FF00 AND #$00FF C1/6C6C: 0A ASL A C1/6C6D: AA TAX C1/6C6E: BF6DFCC2 LDA $C2FC6D,X (Translation? This loads from blank space) C1/6C72: 1014 BPL $6C88 C1/6C74: 49FFFF EOR #$FFFF C1/6C77: 8522 STA $22 (Animation Script pointer) C1/6C79: 20CF6B JSR $6BCF C1/6C7C: A528 LDA $28 C1/6C7E: 49FFFF EOR #$FFFF C1/6C81: 1A INC A C1/6C82: 8528 STA $28 C1/6C84: 7B TDC C1/6C85: E220 SEP #$20 C1/6C87: 60 RTS C1/6C88: 8522 STA $22 (Animation Script pointer) C1/6C8A: 20CF6B JSR $6BCF C1/6C8D: 7B TDC C1/6C8E: E220 SEP #$20 C1/6C90: 60 RTS C1/6C91: A57D LDA $7D C1/6C93: 38 SEC C1/6C94: E57F SBC $7F C1/6C96: 8581 STA $81 C1/6C98: A900 LDA #$00 C1/6C9A: E900 SBC #$00 C1/6C9C: 8582 STA $82 C1/6C9E: A57E LDA $7E C1/6CA0: 38 SEC C1/6CA1: E580 SBC $80 C1/6CA3: 8583 STA $83 C1/6CA5: A900 LDA #$00 C1/6CA7: E900 SBC #$00 C1/6CA9: 8584 STA $84 C1/6CAB: A581 LDA $81 C1/6CAD: 4582 EOR $82 C1/6CAF: 38 SEC C1/6CB0: E582 SBC $82 C1/6CB2: 8588 STA $88 C1/6CB4: 6489 STZ $89 C1/6CB6: A583 LDA $83 C1/6CB8: 4584 EOR $84 C1/6CBA: 38 SEC C1/6CBB: E584 SBC $84 C1/6CBD: 858A STA $8A C1/6CBF: 648B STZ $8B C1/6CC1: C220 REP #$20 C1/6CC3: A588 LDA $88 C1/6CC5: 4A LSR A C1/6CC6: 4A LSR A C1/6CC7: 4A LSR A C1/6CC8: 8586 STA $86 C1/6CCA: A58A LDA $8A C1/6CCC: 29F8FF AND #$FFF8 C1/6CCF: 0A ASL A C1/6CD0: 0A ASL A C1/6CD1: 18 CLC C1/6CD2: 6586 ADC $86 C1/6CD4: 858C STA $8C C1/6CD6: 0A ASL A C1/6CD7: AA TAX C1/6CD8: BD00F8 LDA $F800,X C1/6CDB: 8586 STA $86 C1/6CDD: 7B TDC C1/6CDE: E220 SEP #$20 C1/6CE0: A68C LDX $8C C1/6CE2: BF45C9C2 LDA $C2C945,X (??? -- This has been dummied out) C1/6CE6: 8585 STA $85 C1/6CE8: A582 LDA $82 C1/6CEA: 3014 BMI $6D00 C1/6CEC: A584 LDA $84 C1/6CEE: 3008 BMI $6CF8 C1/6CF0: A980 LDA #$80 C1/6CF2: 18 CLC C1/6CF3: 6585 ADC $85 C1/6CF5: 8585 STA $85 C1/6CF7: 60 RTS C1/6CF8: A980 LDA #$80 C1/6CFA: 38 SEC C1/6CFB: E585 SBC $85 C1/6CFD: 8585 STA $85 C1/6CFF: 60 RTS C1/6D00: A584 LDA $84 C1/6D02: 3007 BMI $6D0B C1/6D04: A900 LDA #$00 C1/6D06: 38 SEC C1/6D07: E585 SBC $85 C1/6D09: 8585 STA $85 C1/6D0B: 60 RTS C1/6D0C: A245CD LDX #$CD45 C1/6D0F: 86F3 STX $F3 C1/6D11: A9C2 LDA #$C2 C1/6D13: 85F5 STA $F5 (source is C2/CD45) C1/6D15: A200A4 LDX #$A400 C1/6D18: 86F6 STX $F6 C1/6D1A: A97F LDA #$7F C1/6D1C: 85F8 STA $F8 (destination is 7F/A400) C1/6D1E: 226DFFC2 JSL $C2FF6D (LZ decompression) C1/6D22: A200F8 LDX #$F800 C1/6D25: 8610 STX $10 C1/6D27: C220 REP #$20 C1/6D29: 7B TDC C1/6D2A: AA TAX C1/6D2B: 7B TDC C1/6D2C: 8512 STA $12 C1/6D2E: A8 TAY C1/6D2F: BF00A47F LDA $7FA400,X C1/6D33: 29FF00 AND #$00FF C1/6D36: 18 CLC C1/6D37: 6512 ADC $12 C1/6D39: 8512 STA $12 C1/6D3B: 9110 STA ($10),Y C1/6D3D: C8 INY C1/6D3E: C8 INY C1/6D3F: E8 INX C1/6D40: C04000 CPY #$0040 C1/6D43: D0EA BNE $6D2F C1/6D45: A510 LDA $10 C1/6D47: 18 CLC C1/6D48: 694000 ADC #$0040 C1/6D4B: 8510 STA $10 C1/6D4D: E00004 CPX #$0400 C1/6D50: D0D9 BNE $6D2C C1/6D52: 7B TDC C1/6D53: E220 SEP #$20 C1/6D55: 60 RTS C1/6D56: AD807B LDA $7B80 C1/6D59: 2903 AND #$03 C1/6D5B: 0A ASL A C1/6D5C: 0A ASL A C1/6D5D: 0A ASL A C1/6D5E: A8 TAY C1/6D5F: 60 RTS Looks like data C1/6D60: 0100 C1/6D62: FFFFFF00 C1/6D66: 01FF C1/6D68: 0100 C1/6D6A: 01FF C1/6D6C: FF000100 C1/6D70: 2903 AND #$03 C1/6D72: 48 PHA C1/6D73: AA TAX C1/6D74: 2901 AND #$01 C1/6D76: F00E BEQ $6D86 C1/6D78: AD1D20 LDA $201D (load valid character targets) C1/6D7B: 2DAC61 AND $61AC C1/6D7E: 2DAD61 AND $61AD C1/6D81: 2D9361 AND $6193 C1/6D84: 8002 BRA $6D88 (BEQ $6D8D?) C1/6D86: A592 LDA $92 C1/6D88: F003 BEQ $6D8D C1/6D8A: 68 PLA C1/6D8B: 38 SEC C1/6D8C: 60 RTS C1/6D8D: 68 PLA C1/6D8E: 18 CLC C1/6D8F: 60 RTS C1/6D90: ADCB7B LDA $7BCB (from C1/5529, X = 38) C1/6D93: F003 BEQ $6D98 C1/6D95: 4C576F JMP $6F57 C1/6D98: AD847A LDA $7A84 (load character targeting) C1/6D9B: 2910 AND #$10 (is auto confirm set?) C1/6D9E: F003 BEQ $6DA2 (branch if not) C1/6DA0: 4C256F JMP $6F25 C1/6DA2: AD1D20 LDA $201D (Load valid character targets) C1/6DA5: 2DAC61 AND $61AC C1/6DA8: 2DAD61 AND $61AD C1/6DAB: 2D9361 AND $6193 C1/6DAE: 2D7D7B AND $7B7D C1/6DB1: D00A BNE $6DBD C1/6DB3: A592 LDA $92 C1/6DB5: 2D7E7B AND $7B7E C1/6DB8: D003 BNE $6DBD C1/6DBA: 4C576F JMP $6F57 C1/6DBD: AD847A LDA $7A84 (load character targeting) C1/6DC0: 8536 STA $36 (save it for now) C1/6DC2: 100D BPL $6DD1 (branch if "random selection" isn't set) C1/6DC4: ADB462 LDA $62B4 C1/6DC7: F00B BEQ $6DD4 C1/6DC9: CEB262 DEC $62B2 C1/6DCC: D06F BNE $6E3D C1/6DCE: 4C256F JMP $6F25 C1/6DD1: 4C406E JMP $6E40 C1/6DD4: ADB162 LDA $62B1 C1/6DD7: F01D BEQ $6DF6 C1/6DD9: A50E LDA $0E C1/6DDB: 2907 AND #$07 C1/6DDD: D05E BNE $6E3D C1/6DDF: CEB262 DEC $62B2 C1/6DE2: D018 BNE $6DFC C1/6DE4: A901 LDA #$01 C1/6DE6: 8DB462 STA $62B4 C1/6DE9: A920 LDA #$20 C1/6DEB: 8DB262 STA $62B2 C1/6DEE: A901 LDA #$01 C1/6DF0: 8D7F7B STA $7B7F C1/6DF3: 4C696F JMP $6F69 C1/6DF6: A50E LDA $0E C1/6DF8: 2903 AND #$03 C1/6DFA: D041 BNE $6E3D C1/6DFC: E694 INC $94 C1/6DFE: EEB362 INC $62B3 C1/6E01: ADB362 LDA $62B3 C1/6E04: 2908 AND #$08 C1/6E06: F021 BEQ $6E29 C1/6E08: ADB362 LDA $62B3 C1/6E0B: 2907 AND #$07 C1/6E0D: AA TAX C1/6E0E: AD1D20 LDA $201D (Load valid character targets) C1/6E11: 2DAC61 AND $61AC C1/6E14: 2DAD61 AND $61AD C1/6E17: 2D9361 AND $6193 C1/6E1A: 3F011AC1 AND $C11A01,X C1/6E1E: F0DC BEQ $6DFC C1/6E20: 8D7D7B STA $7B7D C1/6E23: 9C7E7B STZ $7B7E C1/6E26: 4C056F JMP $6F05 C1/6E29: ADB362 LDA $62B3 C1/6E2C: 2907 AND #$07 C1/6E2E: AA TAX C1/6E2F: BF011AC1 LDA $C11A01,X C1/6E33: 2592 AND $92 C1/6E35: F0C5 BEQ $6DFC C1/6E37: 8D7E7B STA $7B7E C1/6E3A: 9C7D7B STZ $7B7D C1/6E3D: 4C056F JMP $6F05 C1/6E40: A536 LDA $36 (load saved character targeting) C1/6E42: 290D AND #$0D (isolate some bits) C1/6E44: C908 CMP #$08 (is only "auto select one chunk" set?) C1/6E46: D03A BNE $6E82 (branch if not) C1/6E48: A505 LDA $05 (load shared controller byte) C1/6E4A: 2903 AND #$03 (are we pressing left or right?) C1/6E4C: F034 BEQ $6E82 (branch if not) C1/6E4E: E694 INC $94 C1/6E50: A505 LDA $05 (load shared controller byte) C1/6E52: 2902 AND #$02 (is anyone pressing left?) C1/6E54: D016 BNE $6E6C (branch if so) C1/6E56: ADCE7A LDA $7ACE C1/6E59: 2902 AND #$02 C1/6E5B: D025 BNE $6E82 C1/6E5D: ADCE7A LDA $7ACE (optionally, BIT #$02 and you won't need this LDA) C1/6E60: 1A INC A C1/6E61: 1A INC A C1/6E62: 20706D JSR $6D70 C1/6E65: 901B BCC $6E82 C1/6E67: 8DCE7A STA $7ACE C1/6E6A: 802E BRA $6E9A C1/6E6C: ADCE7A LDA $7ACE C1/6E6F: 2902 AND #$02 C1/6E71: F00F BEQ $6E82 C1/6E73: ADCE7A LDA $7ACE C1/6E76: 3A DEC A C1/6E77: 3A DEC A C1/6E78: 20706D JSR $6D70 C1/6E7B: 9005 BCC $6E82 C1/6E7D: 8DCE7A STA $7ACE C1/6E80: 8018 BRA $6E9A C1/6E82: A536 LDA $36 (load saved character targetting) C1/6E84: 2901 AND #$01 (is "cursor movable" set?) C1/6E86: F07D BEQ $6F05 (branch if not) C1/6E88: A504 LDA $04 (load shared controller byte) C1/6E8A: 2930 AND #$30 (is anyone pressing L or R?) C1/6E8C: F045 BEQ $6ED3 (branch if not) C1/6E8E: C930 CMP #$30 (is anyone pressing both L and R?) C1/6E90: F041 BEQ $6ED3 (branch if not) C1/6E92: E694 INC $94 C1/6E94: A536 LDA $36 (load saved character targeting) C1/6E96: 2920 AND #$20 (is "manual party select" set?) C1/6E98: F039 BEQ $6ED3 (branch if not) C1/6E9A: ADCE7A LDA $7ACE C1/6E9D: 2901 AND #$01 C1/6E9F: F01E BEQ $6EBF C1/6EA1: ADCE7A LDA $7ACE C1/6EA4: AA TAX C1/6EA5: AD1D20 LDA $201D (Load valid character targets) C1/6EA8: 2DAC61 AND $61AC C1/6EAB: 2DAD61 AND $61AD C1/6EAE: 2D9361 AND $6193 C1/6EB1: 3D797B AND $7B79,X C1/6EB4: 8D7D7B STA $7B7D C1/6EB7: A901 LDA #$01 C1/6EB9: 8D7F7B STA $7B7F C1/6EBC: 4C056F JMP $6F05 (BRA fool!) C1/6EBF: ADCE7A LDA $7ACE C1/6EC2: AA TAX C1/6EC3: A592 LDA $92 C1/6EC5: 3D797B AND $7B79,X C1/6EC8: 8D7E7B STA $7B7E C1/6ECB: A901 LDA #$01 C1/6ECD: 8D7F7B STA $7B7F C1/6ED0: 4C056F JMP $6F05 (BRA fool!) C1/6ED3: A505 LDA $05 (load shared controller byte) C1/6ED5: 290F AND #$0F (isolate directions) C1/6ED7: F002 BEQ $6EDB (branch if not pressing up, down, left, or right) C1/6ED9: E694 INC $94 C1/6EDB: A505 LDA $05 (load shared controller byte) C1/6EDD: C908 CMP #$08 (is anyone pressing only up?) C1/6EDF: D006 BNE $6EE7 (branch if not) C1/6EE1: 208473 JSR $7384 C1/6EE4: 4C056F JMP $6F05 (BRA fool!) C1/6EE7: C904 CMP #$04 (is anyone pressing only down?) C1/6EE9: D006 BNE $6EF1 (branch if not) C1/6EEB: 20D673 JSR $73D6 C1/6EEE: 4C056F JMP $6F05 (BRA fool!) C1/6EF1: C902 CMP #$02 (is anyone pressing only left?) C1/6EF3: D006 BNE $6EFB (branch if not) C1/6EF5: 203377 JSR $7733 C1/6EF8: 4C056F JMP $6F05 C1/6EFB: C901 CMP #$01 (is anyone pressing only right?) C1/6EFD: D006 BNE $6F05 (branch if not) C1/6EFF: 204A77 JSR $774A C1/6F02: 4C056F JMP $6F05 (...) C1/6F05: A504 LDA $04 (load shared controller byte) C1/6F07: 1043 BPL $6F4C (branch if nobody is pressing A) C1/6F09: E696 INC $96 C1/6F0B: AD847A LDA $7A84 (load character targeting) C1/6F0E: 1015 BPL $6F25 (branch if "random selection" isn't set) C1/6F10: ADB162 LDA $62B1 C1/6F13: D037 BNE $6F4C C1/6F15: EEB162 INC $62B1 C1/6F18: 205B18 JSR $185B (Random number generator) C1/6F1B: 2907 AND #$07 (now random number 0-7) C1/6F1D: 18 CLC C1/6F1E: 6908 ADC #$08 (finally, random number 8-15) C1/6F20: 8DB262 STA $62B2 C1/6F23: 8027 BRA $6F4C C1/6F25: 209670 JSR $7096 C1/6F28: 9C7D7B STZ $7B7D C1/6F2B: 9C7E7B STZ $7B7E C1/6F2E: 9C7F7B STZ $7B7F C1/6F31: AD837A LDA $7A83 C1/6F34: 8DC27B STA $7BC2 C1/6F37: ADE87A LDA $7AE8 C1/6F3A: F009 BEQ $6F45 C1/6F3C: ADE97A LDA $7AE9 C1/6F3F: D004 BNE $6F45 C1/6F41: EEE97A INC $7AE9 C1/6F44: 60 RTS C1/6F45: EECB7B INC $7BCB C1/6F48: EE807B INC $7B80 C1/6F4B: 60 RTS C1/6F4C: A509 LDA $09 (load controller 1) C1/6F4E: 1019 BPL $6F69 (branch if not pressing B) C1/6F50: ADB162 LDA $62B1 C1/6F53: D014 BNE $6F69 C1/6F55: E696 INC $96 C1/6F57: 9C7D7B STZ $7B7D C1/6F5A: 9C7E7B STZ $7B7E C1/6F5D: 9C7F7B STZ $7B7F C1/6F60: AD837A LDA $7A83 C1/6F63: 8DC27B STA $7BC2 C1/6F66: 9CE97A STZ $7AE9 C1/6F69: 60 RTS Data C1/6F6A: FFFF (Nothing) C1/6F6C: 8000 (A) C1/6F6E: 0080 (B) C1/6F70: 4000 (X) C1/6F72: 0040 (Y) C1/6F74: 2000 (L) C1/6F76: 1000 (R) C1/6F78: 0006 (Down-Left) C1/6F7A: 0004 (Down) C1/6F7C: 0005 (Down-Right) C1/6F7E: 0001 (Right) C1/6F80: 0009 (Up-Right) C1/6F82: 0008 (Up) C1/6F84: 000A (Up-Left) C1/6F86: 0002 (Left) C1/6F88: 00 (Pummel) C1/6F89: 0C (Aura Bolt) C1/6F8A: 18 (Suplex) C1/6F8B: 24 (Fire Dance) C1/6F8C: 30 (Mantra) C1/6F8D: 3C (Air Blade) C1/6F8E: 48 (Spiraler) C1/6F8F: 54 (Bum Rush) C1/6F90: 6436 STZ $36 (from only C1/7045) C1/6F92: A536 LDA $36 C1/6F94: AA TAX C1/6F95: BF886FC1 LDA $C16F88,X (Load offset into the blitz button structure for blitz) C1/6F99: AA TAX C1/6F9A: BF4B7AC4 LDA $C47A4B,X (Load the button presses for the blitz (actually is buttons * 2)) C1/6F9E: 3A DEC A C1/6F9F: 3A DEC A C1/6FA0: C220 REP #$20 (16 bit accum./memory) C1/6FA2: 8538 STA $38 (Store (button presses - 1)*2 to $38) C1/6FA4: 7B TDC C1/6FA5: A8 TAY C1/6FA6: BF407AC4 LDA $C47A40,X (Load Blitz specification.) (These are stored by the following format: 00 = Nothing, 01 = A, 02 = B, 03 = X, 04 = Y, 05 = L, 06 = R, 07 = Down-Left, 08 = Down, 09 = Down-Right, 0A = Right, 0B = Up-Right, 0C = Up, 0D = Up-Left, 0E = Left ) C1/6FAA: 29FF00 AND #$00FF (Filter out to a single byte, as they're loaded by 16-bit A) C1/6FAD: 0A ASL A (Double it, to use as a pointer into data table) C1/6FAE: DA PHX C1/6FAF: AA TAX C1/6FB0: BF6A6FC1 LDA $C16F6A,X (Load bit mask for button) C1/6FB4: 991EEA STA $EA1E,Y (Store the bit mask to $EA1E structure) C1/6FB7: FA PLX C1/6FB8: C8 INY C1/6FB9: C8 INY C1/6FBA: E8 INX C1/6FBB: C01400 CPY #$0014 (This is repeated until the full specs for a blitz are loaded, up to 10 entries (because number in Y is actullay 2*buttons)) C1/6FBD: D0E6 BNE $6FA6 C1/6FBF: 7B TDC (Clear A) C1/6FC1: A8 TAY (Now Y = 0) C1/6FC2: B91EEA LDA $EA1E,Y (Load the bit mask for current blitz) C1/6FC5: 852C STA $2C (Store to $2C) C1/6FC7: B9FEE9 LDA $E9FE,Y (Load the actual-pressed button) C1/6FCA: 252C AND $2C (AND with the bit mask of the blitz button; i.e. does it have any common bits?) C1/6FCC: F01C BEQ $6FEA (Branch if no common bits, that is, the button pressed is no component of the blitz being checked) C1/6FCE: C8 INY C1/6FCF: C8 INY C1/6FD0: C438 CPY $38 (Compare to $38; that is, continue until only one button press left) C1/6FD2: D0EE BNE $6FC2 (Branch back to start of loop if not the last button yet) C1/6FD4: B9FCE9 LDA $E9FC,Y (Load the actual-pressed button that is one past the end of the checked specs, i.e. the "confirm" button if you did it right) C1/6FD7: 298000 AND #$0080 (Filter out the bit for "A") C1/6FDA: D008 BNE $6FE4 (Branch if it is set, i.e. you confirmed) C1/6FDC: B9FEE9 LDA $E9FE,Y (Load the actual-pressed button that is the same index as the last one of the specs, i.e. the "confirm" button if you pressed it at the same time as the last key) C1/6FDF: 298000 AND #$0080 (Filter out the bit for "A") C1/6FE2: F006 BEQ $6FEA (If it's clear, branch. You didn't have a match) C1/6FE4: 7B TDC C1/6FE5: E220 SEP #$20 (8 bit accum./memory) C1/6FE7: A536 LDA $36 (Return number for the successful blitz) C1/6FE9: 60 RTS Buttons entered do not equal the Blitz specs C1/6FEA: 7B TDC (from C1/6FCC, C1/6FE2) C1/6FEB: E220 SEP #$20 (8 bit accum./memory) C1/6FED: E636 INC $36 (Increment the blitz index to check) C1/6FEF: A536 LDA $36 (Load the blitz index) C1/6FF1: C908 CMP #$08 (Compare to 8, since there's 8 blitzes) C1/6FF3: D09D BNE $6F92 (Branch if not equal--more blitzes to check) C1/6FF5: A9FF LDA #$FF (Return FF, for failure) C1/6FF7: 60 RTS C1/6FF8: ADCB7B LDA $7BCB (from C1/5529, X = 3D) C1/6FFB: F003 BEQ $7000 C1/6FFD: 4C8370 JMP $7083