Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.
The wiki has recently moved; please report any issues in Discord. Pardon the dust.
Final Fantasy VI/ROM map/Assembly C26
< Final Fantasy VI | ROM map
Jump to navigation
Jump to search
Learn spell rate taught by esper C2/602A: DA PHX C2/602B: 20 93 62 JSR $6293 (Multiply A by #$0B and store in X) C2/602E: A0 05 00 LDY #$0005 (Do for each spell taught by esper) C2/6031: 7B TDC (Clear A) C2/6032: BF 01 6E D8 LDA $D86E01,X (Spell taught) C2/6036: C9 FF CMP #$FF C2/6038: F0 0A BEQ $6044 (Branch if no spell taught) C2/603A: 5A PHY C2/603B: A8 TAY C2/603C: BF 00 6E D8 LDA $D86E00,X (Spell learn rate) C2/6040: 20 4B 60 JSR $604B (Add amount to known% for spell) C2/6043: 7A PLY C2/6044: E8 INX C2/6045: E8 INX C2/6046: 88 DEY C2/6047: D0 E8 BNE $6031 (Check next spell taught) C2/6049: FA PLX C2/604A: 60 RTS Learn Spell C2/604B: F0 1F BEQ $606C (If no spell to learn) C2/604D: EB XBA C2/604E: A5 FB LDA $FB (Magic points gained from the battle) C2/6050: 20 81 47 JSR $4781 (Multiply by spell learn rate) C2/6053: 85 EE STA $EE (Store this amount in $EE) C2/6055: B1 F4 LDA ($F4),Y C2/6057: C9 FF CMP #$FF C2/6059: F0 11 BEQ $606C (Branch if spell already known) C2/605B: 18 CLC C2/605C: 65 EE ADC $EE (Add amount learned to % known for spell) C2/605E: B0 04 BCS $6064 C2/6060: C9 64 CMP #$64 C2/6062: 90 02 BCC $6066 C2/6064: A9 80 LDA #$80 C2/6066: 91 F4 STA ($F4),Y C2/6068: A5 F1 LDA $F1 C2/606A: 04 F0 TSB $F0 C2/606C: 60 RTS C2/606D: 64 F8 STZ $F8 C2/606F: 7B TDC (Clear 16-bit A) C2/6070: BD 08 16 LDA $1608,X (current level) C2/6073: C9 63 CMP #$63 C2/6075: B0 F5 BCS $606C (exit if >= 99) C2/6077: C2 20 REP #$20 (Set 16-bit A) C2/6079: 0A ASL C2/607A: DA PHX C2/607B: AA TAX (level * 2) C2/607C: 7B TDC (Clear 16-bit A) C2/607D: 18 CLC (Clear carry) C2/607E: 7F 1E 82 ED ADC $ED821E,X (add to Experience Needed for Level Up FROM this level) C2/6082: 90 02 BCC $6086 (branch if bottom 16-bits of sum didn't overflow) C2/6084: E6 F8 INC $F8 (if so, increment a counter that will determine top 16-bits) C2/6086: CA DEX C2/6087: CA DEX (point to experience needed for next lowest level) C2/6088: D0 F3 BNE $607D (total experience needed for level 1 thru current level. IOW, total experience needed to reach next level.) C2/608A: FA PLX (BUT, experience needed is stored divided by 8 in ROM, so we must multiply it to get true value) C2/608B: 0A ASL C2/608C: 26 F8 ROL $F8 (multiply 32-bit [only 24 bits ever used] experience needed by 2) C2/608E: 0A ASL C2/608F: 26 F8 ROL $F8 (again) C2/6091: 0A ASL C2/6092: 26 F8 ROL $F8 (again) C2/6094: 85 F6 STA $F6 (so now, $F6 thru $F8 = total 24-bit experience needed to advance from our given level) C2/6096: BD 12 16 LDA $1612,X (top 2 bytes of current Experience) C2/6099: C5 F7 CMP $F7 (compare to top 2 bytes of needed experience) C2/609B: E2 20 SEP #$20 (set 8-bit Accumulator) C2/609D: 90 CD BCC $606C (Exit if (current exp / 256) < (needed exp / 256) ) C2/609F: D0 07 BNE $60A8 (if (current exp / 256) != (needed exp / 256), branch) (since it's not less than, we know it's greater than) C2/60A1: BD 11 16 LDA $1611,X (bottom byte of Experience) C2/60A4: C5 F6 CMP $F6 (compare to experience needed) C2/60A6: 90 C4 BCC $606C (Exit if less) C2/60A8: A5 F2 LDA $F2 C2/60AA: F0 05 BEQ $60B1 C2/60AC: 64 F2 STZ $F2 C2/60AE: 20 D4 5F JSR $5FD4 C2/60B1: 20 C2 60 JSR $60C2 (raise level, raise normal HP and MP, and give any Esper bonus) C2/60B4: DA PHX C2/60B5: BD 08 16 LDA $1608,X (load level) C2/60B8: EB XBA (put in top of A) C2/60B9: BD 00 16 LDA $1600,X C2/60BC: 20 B6 61 JSR $61B6 C2/60BF: FA PLX C2/60C0: 80 AB BRA $606D (repeat to check for another possible level gain, since it's possible a battle with wicked high experience on a wussy character boosted multiple levels.) (Gain level, raise HP and MP, and give any Esper bonus) C2/60C2: 08 PHP C2/60C3: FE 08 16 INC $1608,X (increment current level) C2/60C6: 64 FD STZ $FD C2/60C8: 64 FF STZ $FF C2/60CA: DA PHX C2/60CB: 7B TDC (Clear 16-bit A) C2/60CC: BD 08 16 LDA $1608,X (get level) C2/60CF: AA TAX C2/60D0: BF 00 F5 E6 LDA $E6F500,X (normal MP gain for level) C2/60D4: 85 FE STA $FE C2/60D6: BF 9E F4 E6 LDA $E6F49E,X (normal HP gain for level) C2/60DA: 85 FC STA $FC C2/60DC: FA PLX C2/60DD: BD 1E 16 LDA $161E,X (get equipped Esper) C2/60E0: 30 14 BMI $60F6 (if it's null, don't try to calculate bonuses) C2/60E2: 5A PHY C2/60E3: DA PHX C2/60E4: 9B TXY (Y will be used to index stats that are boosted by the $614E call. i believe it currently points to offset of character block from $1600) C2/60E5: 20 93 62 JSR $6293 (X = A * 11d) C2/60E8: 7B TDC (Clear 16-bit A) C2/60E9: BF 0A 6E D8 LDA $D86E0A,X (end of data block for Esper.. probably has level-up bonus) C2/60ED: 30 05 BMI $60F4 (if null, don't try to calculate bonus) C2/60EF: 0A ASL C2/60F0: AA TAX (multiply bonus index by 2) C2/60F1: FC 4E 61 JSR ($614E,X) (calculate bonus. note that [Stat]+1 jumps to the same place as [Stat]+2. what distinguishes them? Bit 1 of X. if X is 20, 24, 28, 32, you'll get +1 to a stat.. if it's 18, 22, 26, 30, you get +2. for HP/MP boosts, X of 0/2/4 means HP, and 6/8/10 means MP) C2/60F4: FA PLX C2/60F5: 7A PLY C2/60F6: C2 21 REP #$21 (set 16-bit A, clear carry) C2/60F8: BD 0B 16 LDA $160B,X (maximum HP) C2/60FB: 48 PHA C2/60FC: 29 00 C0 AND #$C000 (isolate top bits, which indicate (bit 7, then bit 6): 00 = no equipment % bonus, 11 = 12.5% bonus, 01 = 25% bonus, 10 = 50% bonus) C2/60FF: 85 EE STA $EE (save equipment bonus bits) C2/6101: 68 PLA (get max HP again) C2/6102: 29 FF 3F AND #$3FFF (isolate bottom 14 bits.. just the max HP w/o bonus) C2/6105: 65 FC ADC $FC (add to HP gain for level) C2/6107: C9 10 27 CMP #$2710 C2/610A: 90 03 BCC $610F (branch if less than 10000) C2/610C: A9 0F 27 LDA #$270F (replace with 9999) C2/610F: 05 EE ORA $EE (combine with bonus bits) C2/6111: 9D 0B 16 STA $160B,X (save updated max HP) C2/6114: 18 CLC (clear carry) C2/6115: BD 0F 16 LDA $160F,X (now maximum MP) C2/6118: 48 PHA C2/6119: 29 00 AND #$C000 (isolate top bits, which indicate (bit 7, then bit 6): 00 = no equipment % bonus, 11 = 12.5% bonus, 01 = 25% bonus, 10 = 50% bonus) C2/611C: 85 EE STA $EE (save equipment bonus bits) C2/611E: 68 PLA (get max MP again) C2/611F: 29 FF 3F AND #$3FFF (isolate bottom 14 bits.. just the max MP w/o bonus) C2/6122: 65 FE ADC $FE (add to MP gain for level) C2/6124: C9 E8 03 CMP #$03E8 C2/6127: 90 03 BCC $612C (branch if less than 1000) C2/6129: A9 E7 03 LDA #$03E7 (replace with 999) C2/612C: 05 EE ORA $EE (combine with bonus bits) C2/612E: 9D 0F 16 STA $160F,X (save updated max MP) C2/6131: 28 PLP C2/6132: 60 RTS C2/6133: 5A PHY C2/6134: A0 35 00 LDY #$0035 C2/6137: B1 F4 LDA ($F4),Y C2/6139: C9 80 CMP #$80 C2/613B: D0 0C BNE $6149 C2/613D: A9 FF LDA #$FF C2/613F: 91 F4 STA ($F4),Y C2/6141: 8C 35 2F STY $2F35 C2/6144: A9 32 LDA #$32 C2/6146: 20 D4 5F JSR $5FD4 C2/6149: 88 DEY C2/614A: 10 EB BPL $6137 C2/614C: 7A PLY C2/614D: 60 RTS (Code Pointers) C2/614E: 70 61 (~10% HP bonus) (HP due to X) C2/6150: 74 61 (~30% HP bonus) (HP due to X) C2/6152: 78 61 (50% HP bonus) (HP due to X) C2/6154: 70 61 (~10% MP bonus) (MP due to X) C2/6156: 74 61 (~30% MP bonus) (MP due to X) C2/6158: 78 61 (50% MP bonus) (MP due to X) C2/615A: B0 61 (Double natural HP gain for level. Curious...) C2/615C: 97 61 (No bonus) C2/615E: 97 61 (No bonus) C2/6160: 9B 61 (Vigor bonus) (+1 due to X value in caller) C2/6162: 9B 61 (Vigor bonus) (+2 due to X) C2/6164: 9A 61 (Speed bonus) (+1 due to X) C2/6166: 9A 61 (Speed bonus) (+2 due to X. No Esper currently uses) C2/6168: 99 61 (Stamina bonus) (+1 due to X) C2/616A: 99 61 (Stamina bonus) (+2 due to X) C2/616C: 98 61 (MagPwr bonus) (+1 due to X) C2/616E: 98 61 (MagPwr bonus) (+2 due to X) (Esper HP or MP bonus at level-up) C2/6170: A9 1A LDA #$1A (26 => 10.12625% bonus) C2/6172: 80 06 BRA $617A C2/6174: A9 4E LDA #$4E (78 => 30.46875% bonus) C2/6176: 80 02 BRA $617A C2/6178: A9 80 LDA #$80 (128 ==> 50% bonus) C2/617A: E0 06 00 CPX #$0006 (are we boosting MP rather than HP?) C2/617D: A2 00 00 LDX #$0000 (start pointing to $FC, which holds normal HP to raise) C2/6180: 90 02 BCC $6184 (if X was less than 6, we're just boosting HP, so branch) C2/6182: E8 INX C2/6183: E8 INX (point to $FE, which holds normal MP to raise) C2/6184: EB XBA (put boost numerator in top of A) C2/6185: B5 FC LDA $FC,X (get current HP or MP to add) C2/6187: 20 81 47 JSR $4781 C2/618A: EB XBA (get (boost number * current HP or MP to add) / 256. after all, the boost IS a percentage..) C2/618B: D0 01 BNE $618E (if the HP/MP bonus is nonzero, branch) C2/618D: 1A INC (if it was zero, be nice and give the chump one..) C2/618E: 18 CLC C2/618F: 75 FC ADC $FC,X C2/6191: 95 FC STA $FC,X (add boost to natural HP/MP gain) C2/6193: 90 02 BCC $6197 C2/6195: F6 FD INC $FD,X (if bottom byte overflowed from add, boost top byte) C2/6197: 60 RTS (Esper stat bonus at level-up. Vigor, Speed, Stamina, or MagPwr. If Bit 1 of X is set, give +1 bonus. If not, give +2.) C2/6198: C8 INY (enter here = 3 INYs = point to MagPwr) C2/6199: C8 INY (enter here = 2 INYs = point to Stamina) C2/619A: C8 INY (enter here = 1 INY = point to Speed) C2/619B: 8A TXA (enter here = 0 INYs = point to Vigor) C2/619C: 4A LSR C2/619D: 4A LSR (Carry holds bit 1 of X) C2/619E: BB TYX (0 to 3 value. determines which stat will be altered) C2/619F: BD 1A 16 LDA $161A,X (at $161A,X we have Vigor, Speed, Stamina, and MagPwr, respectively) C2/61A2: 1A INC C2/61A3: B0 01 BCS $61A6 (If carry set, just give +1) C2/61A5: 1A INC C2/61A6: C9 81 CMP #$81 (is stat >= 129?) C2/61A8: 90 02 BCC $61AC C2/61AA: A9 80 LDA #$80 (if so, make it 128) C2/61AC: 9D 1A 16 STA $161A,X (save updated stat) C2/61AF: 60 RTS (Give double natural HP gain for level? Can't say I know when this happens...) C2/61B0: 7B TDC (Clear 16-bit A) C2/61B1: AA TAX (X = 0) C2/61B2: A5 FC LDA $FC C2/61B4: 80 D8 BRA $618E C2/61B6: A2 00 00 LDX #$0000 (point to start of Terra's magic learned at level up block) C2/61B9: C9 00 CMP #$00 (is it character #0, Terra?) C2/61BB: F0 3F BEQ $61FC (if yes, branch to see if she learns any spells) C2/61BD: A2 20 00 LDX #$0020 (point to start of Celes' magic learned at level up block) C2/61C0: C9 06 CMP #$06 (is it character #6, Celes?) C2/61C2: F0 38 BEQ $61FC (if yes, branch to see if she learns any spells) C2/61C4: A2 00 00 LDX #$0000 (point to start of Cyan's SwdTechs learned at level up block) C2/61C7: C9 02 CMP #$02 (if it character #2, Cyan?) C2/61C9: D0 15 BNE $61E0 (if not, check for Sabin) (Cyan learning SwdTechs at level up. His data block is just an array of 8 bytes: the level for learning each SwdTech) C2/61CB: 20 22 62 JSR $6222 (are any SwdTechs learned at the current level?) C2/61CE: F0 51 BEQ $6221 (if not, exit) C2/61D0: 0C F7 1C TSB $1CF7 (if so, enable the newly learnt SwdTech) C2/61D3: D0 4C BNE $6221 (if it was already enabled [e.g. Cleave learned in nightmare], suppress celebratory messages and such) C2/61D5: A9 40 LDA #$40 C2/61D7: 04 F0 TSB $F0 C2/61D9: D0 46 BNE $6221 C2/61DB: A9 42 LDA #$42 C2/61DD: 4C D4 5F JMP $5FD4 (Sabin learning Blitzes at level up. His data block is just an array of 8 bytes: the level for learning each Blitz) C2/61E0: A2 08 00 LDX #$0008 (point to start of Sabin's Blitzes learned at level up block) C2/61E3: C9 05 CMP #$05 (is it character #5, Sabin?) C2/61E5: D0 3A BNE $6221 (if not, exit) C2/61E7: 20 22 62 JSR $6222 (are any Blitzes learned at the current level?) C2/61EA: F0 35 BEQ $6221 (if not, exit) C2/61EC: 0C 28 1D TSB $1D28 (if so, enable the newly learnt Blitz) C2/61EF: D0 30 BNE $6221 (if it was already enabled [e.g. Bum Rush taught by Duncan], suppress celebratory messages and such) C2/61F1: A9 80 LDA #$80 C2/61F3: 04 F0 TSB $F0 C2/61F5: D0 2A BNE $6221 C2/61F7: A9 33 LDA #$33 C2/61F9: 4C D4 5F JMP $5FD4 (Terra and Celes natural magic learning at level up) C2/61FC: 5A PHY C2/61FD: EB XBA C2/61FE: A0 10 00 LDY #$0010 (check a total of 32 bytes, as Terra and Celes each have a 16-element spell list, with 2 bytes per element [spell #, then level] ) C2/6201: DF C1 E3 EC CMP $ECE3C1,X (Terra/Celes level-up spell list: Level at which spell learned) C2/6205: D0 14 BNE $621B (if this level isn't one where the character learns a spell, branch to check the next list element) C2/6207: 48 PHA C2/6208: 5A PHY C2/6209: 7B TDC (Clear 16-bit A) C2/620A: BF C0 E3 EC LDA $ECE3C0,X (Terra/Celes level-up spell list: Spell number) C2/620E: A8 TAY C2/620F: B1 F4 LDA ($F4),Y (?? check entry in spell list ??) C2/6211: C9 FF CMP #$FF C2/6213: F0 04 BEQ $6219 C2/6215: A9 80 LDA #$80 C2/6217: 91 F4 STA ($F4),Y C2/6219: 7A PLY C2/621A: 68 PLA C2/621B: E8 INX C2/621C: E8 INX (check next spell and level pair) C2/621D: 88 DEY C2/621E: D0 E1 BNE $6201 C2/6220: 7A PLY C2/6221: 60 RTS (Handles Sabin's Blitzes learned or Cyan's SwdTechs learned, depending on X value) C2/6222: A9 01 LDA #$01 C2/6224: 85 EE STA $EE (start by marking SwdTech/Blitz #0) C2/6226: EB XBA (get current level from top of A?) C2/6227: DF 90 F4 E6 CMP $E6F490,X (does level match the one in the SwdTech/Blitz table?) C2/622B: F0 05 BEQ $6232 (if so, branch) C2/622D: E8 INX (otherwise, move to check next level) C2/622E: 06 EE ASL $EE (mark the next SwdTech/Blitz as learned instead) C2/6230: 90 F5 BCC $6227 (loop for all 8 bits. if Carry is set, we've checked all 8 to no avail, and $EE will be 0, indicating no SwdTech or Blitz is learned) C2/6232: A5 EE LDA $EE (get the SwdTech/Blitz bitfield.. where the number of the bit that is set represents the number of the SwdTech/Blitz to learn) C2/6234: 60 RTS Add Experience for battle to character If XP over 15,000,000 sets XP to 15,000,000 C2/6235: 08 PHP C2/6236: C2 21 REP #$21 C2/6238: AD 35 2F LDA $2F35 (XP Gained from battle) C2/623B: 7D 11 16 ADC $1611,X (Add to XP for character) C2/623E: 85 F6 STA $F6 C2/6240: E2 20 SEP #$20 (Set 8-bit Accumulator) C2/6242: AD 37 2F LDA $2F37 (Do third byte of XP) C2/6245: 7D 13 16 ADC $1613,X C2/6248: 85 F8 STA $F8 C2/624A: DA PHX C2/624B: A2 02 00 LDX #$0002 (The following loops will compare the character's new Experience (held in $F6 - $F8) to 15000000, and if it exceeds that amount, cap it at 15000000.) C2/624E: BF 76 62 C2 LDA $C26276,X C2/6252: D5 F6 CMP $F6,X C2/6254: F0 0E BEQ $6264 C2/6256: B0 0F BCS $6267 C2/6258: A2 02 LDX #$0002 C2/625B: BF 76 62 C2 LDA $C26276,X C2/625F: 95 F6 STA $F6,X C2/6261: CA DEX C2/6262: 10 F7 BPL $625B C2/6264: CA DEX C2/6265: 10 E7 BPL $624E C2/6267: FA PLX C2/6268: A5 F8 LDA $F8 C2/626A: 9D 13 16 STA $1613,X (store to third persistent byte of XP) C2/626D: C2 20 REP #$20 C2/626F: A5 F6 LDA $F6 C2/6271: 9D 11 16 STA $1611,X (store to bottom two bytes of XP) C2/6274: 28 PLP C2/6275: 60 RTS Data (Experience cap: 15000000) C2/6276: C0 C2/6277: E1 C2/6278: E4 C2/6279: A9 05 LDA #$05 C2/627B: 20 11 64 JSR $6411 C2/627E: A9 0A LDA #$0A C2/6280: 4C 11 64 JMP $6411 Stores address for spells known by character in $F4 C2/6283: 08 PHP C2/6284: EB XBA C2/6285: A9 36 LDA #$36 C2/6287: 20 81 47 JSR $4781 C2/628A: C2 21 REP #$21 C2/628C: 69 6E 1A ADC #$1A6E C2/628F: 85 F4 STA $F4 C2/6291: 28 PLP C2/6292: 60 RTS Multiply A by #$0B and store in X C2/6293: EB XBA C2/6294: A9 0B LDA #$0B C2/6296: 20 81 47 JSR $4781 C2/6299: AA TAX C2/629A: 60 RTS (Copy $3A28-$3A2B variables into ($76) buffer) C2/629B: 8D 28 3A STA $3A28 C2/629E: 48 PHA C2/629F: DA PHX C2/62A0: 08 PHP C2/62A1: C2 20 REP #$20 (Set 16-bit Accumulator) C2/62A3: E2 10 SEP #$10 (Set 8-bit Index Registers) C2/62A5: AE 72 3A LDX $3A72 (X = animation buffer pointer) C2/62A8: AD 28 3A LDA $3A28 C2/62AB: 9D 6E 2D STA $2D6E,X C2/62AE: AD 2A 3A LDA $3A2A (Final Damage) C2/62B1: 9D 70 2D STA $2D70,X (Store in damage taken) C2/62B4: E8 INX C2/62B5: E8 INX C2/62B6: E8 INX C2/62B7: E8 INX C2/62B8: 8E 72 3A STX $3A72 (increase animation buffer pointer by 4) C2/62BB: 28 PLP C2/62BC: FA PLX C2/62BD: 68 PLA C2/62BE: 60 RTS ??? Function Calls 629B, setting the accumulator to 16-bit before. C2/62BF: 08 PHP C2/62C0: C2 20 REP #$20 (Set 16-bit Accumulator) C2/62C2: 20 9B 62 JSR $629B C2/62C5: 28 PLP C2/62C6: 60 RTS (Add/restore characters' items to inventory. This function is called: - At the end of a character's turn when they Steal or Metamorph something. - At the end of battle for all characters, to account for items they tried to use during the battle, but were thwarted by being killed/etc (the game depletes items upon *issuing* the command, so it'll be gone from inventory even if the command never executed). - It can also be used to restore a "bottomless" item at the end of a character's turn. [The game does support equipment that doesn't deplete when you use it as an Item, though no such equipment exists.]) C2/62C7: A2 06 LDX #$06 C2/62C9: BD 18 30 LDA $3018,X C2/62CC: 1C 8C 3A TRB $3A8C (clear this character's "add my items to inventory" flag) C2/62CF: F0 19 BEQ $62EA (if it wasn't set, then skip this character) C2/62D1: BD F4 32 LDA $32F4,X C2/62D4: C9 FF CMP #$FF (does this character have a valid item to add to inventory?) C2/62D6: F0 12 BEQ $62EA (branch if not) C2/62D8: 20 DC 54 JSR $54DC C2/62DB: A9 01 LDA #$01 C2/62DD: 8D 75 2E STA $2E75 C2/62E0: A9 05 LDA #$05 C2/62E2: 20 11 64 JSR $6411 C2/62E5: A9 FF LDA #$FF C2/62E7: 9D F4 32 STA $32F4,X (null the item to add to inventory) C2/62EA: CA DEX C2/62EB: CA DEX C2/62EC: 10 DB BPL $62C9 (loop for all 4 party members) C2/62EE: 60 RTS (Call C2/12F5 to do actual damage/healing at the end of a "strike", then queue damage and/or healing values for display. Note that -1 (FFFFh) in a Damage Taken/Healed variable means the damage taken or healed is nonexistent and won't be displayed, as opposed to a displayable 0.) C2/62EF: DA PHX C2/62F0: 5A PHY C2/62F1: 64 F0 STZ $F0 C2/62F3: 64 F2 STZ $F2 C2/62F5: A0 12 LDY #$12 C2/62F7: B9 D0 33 LDA $33D0,Y (Damage Taken) C2/62FA: D9 E4 33 CMP $33E4,Y (Damage Healed) C2/62FD: D0 03 BNE $6302 C2/62FF: 1A INC C2/6300: F0 43 BEQ $6345 (Branch if Damage Taken and Damage Healed are both nonexistent) C2/6302: B9 18 30 LDA $3018,Y C2/6305: 1C 5A 3A TRB $3A5A (Target is not missed) (how can we have a target who's both missed and being damaged/healed going into this function, you ask? it could be from Launcher firing multiple missiles at a single target. or it could be from spread-aiming a spell at a Reflective group, and multiple reflections coming back at a single target.) C2/6308: 20 F5 12 JSR $12F5 (Do the HP or MP Damage/Healing to entity) C2/630B: CC 82 3A CPY $3A82 (Check if target protected by Golem) C2/630E: D0 13 BNE $6323 (Branch if not ^) C2/6310: B9 D0 33 LDA $33D0,Y (Damage Taken) C2/6313: 1A INC C2/6314: F0 0D BEQ $6323 (branch if Damage Taken is nonexistent, but there is Damage Healed) C2/6316: 38 SEC C2/6317: AD 36 3A LDA $3A36 (HP for Golem) C2/631A: F9 D0 33 SBC $33D0,Y (Subtract damage) C2/631D: B0 01 BCS $6320 (If > 0) C2/631F: 7B TDC C2/6320: 8D 36 3A STA $3A36 (Set to 0 if < 0) C2/6323: B9 E4 33 LDA $33E4,Y (Damage Healed) C2/6326: 1A INC C2/6327: F0 1C BEQ $6345 (Branch if Damage Healed nonexistent) C2/6329: 3A DEC C2/632A: 09 00 80 ORA #$8000 C2/632D: 99 E4 33 STA $33E4,Y (Set "sign bit" in Damage Healed) C2/6330: E6 F2 INC $F2 (will be nonzero if any target has both damage done and damage healed) C2/6332: B9 D0 33 LDA $33D0,Y C2/6335: 1A INC C2/6336: D0 0D BNE $6345 (Branch if there is Damage Taken) C2/6338: C6 F2 DEC $F2 (damage was healed but not done, so undo incrementation done for this target) C2/633A: B9 E4 33 LDA $33E4,Y C2/633D: 99 D0 33 STA $33D0,Y (If only Damage Healed, Damage Taken = - Damage Healed) C2/6340: 7B TDC C2/6341: 3A DEC C2/6342: 99 E4 33 STA $33E4,Y (Store -1 in Damage Healed) C2/6345: B9 18 30 LDA $3018,Y C2/6348: 2C 5A 3A BIT $3A5A C2/634B: F0 06 BEQ $6353 (branch if target is not missed) C2/634D: A9 00 40 LDA #$4000 C2/6350: 99 D0 33 STA $33D0,Y (Store Miss bit in damage) C2/6353: B9 D0 33 LDA $33D0,Y C2/6356: 1A INC C2/6357: F0 02 BEQ $635B (If no damage dealt and/or damage healed) C2/6359: E6 F0 INC $F0 C2/635B: 88 DEY C2/635C: 88 DEY C2/635D: 10 98 BPL $62F7 C2/635F: A4 F0 LDY $F0 (how many targets have damage dealt and/or damage healed) C2/6361: C0 05 CPY #$05 C2/6363: 20 98 63 JSR $6398 C2/6366: 20 B4 63 JSR $63B4 C2/6369: A5 F2 LDA $F2 C2/636B: F0 1A BEQ $6387 (if no target had both damage healed and damage done, branch) C2/636D: A2 12 LDX #$12 C2/636F: A0 00 LDY #$00 C2/6371: BD E4 33 LDA $33E4,X (Damage Healed) C2/6374: 9D D0 33 STA $33D0,X (Store in Damage Taken) C2/6377: 1A INC C2/6378: F0 01 BEQ $637B (If no damage dealt) C2/637A: C8 INY (how many targets have [2nd round of] damage dealt?) C2/637B: CA DEX C2/637C: CA DEX C2/637D: 10 F2 BPL $6371 C2/637F: C0 05 CPY #$05 C2/6381: 20 98 63 JSR $6398 C2/6384: 20 B4 63 JSR $63B4 C2/6387: 7B TDC C2/6388: 3A DEC C2/6389: A2 12 LDX #$12 C2/638B: 9D E4 33 STA $33E4,X (Store -1 in Damage Healed) C2/638E: 9D D0 33 STA $33D0,X (Store -1 in Damage Taken) C2/6391: CA DEX C2/6392: CA DEX C2/6393: 10 F6 BPL $638B (null out damage for all onscreen targets) C2/6395: 7A PLY C2/6396: FA PLX C2/6397: 60 RTS (For less than 5 targets damaged or healed, use a "cascading" damage display. One target's damage/healing numbers will show up a split second after the other's.) C2/6398: B0 19 BCS $63B3 (Exit function if 5+ targets have damage dealt? Why the hell not branch to C2/63B4, cut the BCC there, and cut the "JSR $63B4"s out of function C2/62EF?) C2/639A: A2 12 LDX #$12 C2/639C: BD D0 33 LDA $33D0,X (Damage Taken) C2/639F: 1A INC C2/63A0: F0 0D BEQ $63AF (If no damage) C2/63A2: 3A DEC C2/63A3: 8D 2A 3A STA $3A2A (Store in final damage) C2/63A6: 8A TXA C2/63A7: 4A LSR (Acc = 0-9 target #) C2/63A8: EB XBA C2/63A9: 09 0B 00 ORA #$000B (target # in top of A, 0x0B in bottom?) C2/63AB: 20 9B 62 JSR $629B (Copy $3A28-$3A2B variables into ($76) buffer) C2/63AE: CA DEX C2/63AF: CA DEX C2/63B1: 10 E9 BPL $639C (loop for all onscreen targets) C2/63B3: 60 RTS (if < 5 targets have damage dealt, Carry will always be clear here. either we skipped the LSR above, or it was done on an even number.) (For 5+ targets damaged or healed, have all their damage/healing numbers pop up simultaneously.) C2/63B4: 90 24 BCC $63DA (exit function if less than 5 targets have damage dealt?) C2/63B6: 08 PHP C2/63B7: E2 20 SEP #$20 (Set 8-bit Accumulator) C2/63B9: A9 03 LDA #$03 C2/63BB: 20 9B 62 JSR $629B (Copy $3A28-$3A2B variables into ($76) buffer) C2/63BE: AD 34 3A LDA $3A34 C2/63C1: EE 34 3A INC $3A34 C2/63C4: EB XBA C2/63C5: A9 14 LDA #$14 C2/63C7: 20 81 47 JSR $4781 C2/63CA: C2 31 REP #$31 (Set 16-bit Accumulator, 16-bit X and Y, clear Carry) C2/63CC: 69 CE 2B ADC #$2BCE C2/63CF: A8 TAY C2/63D0: A2 D0 33 LDX #$33D0 C2/63D3: A9 13 00 LDA #$0013 C2/63D6: 54 7E 7E MVN $7E,$7E (copy $33D0 thru $33E3, the damage variables for all 10 targets, to some other memory location) C2/63D9: 28 PLP C2/63DA: 60 RTS (Copy 8 words (16 bytes) from $A0 to ((7E:3A32) + #$2C6E)) (C1 inspection shows $2C6E to be the area where animation scripts are read from. Thus, $3A32 stores the beginning offset for the animation script.) C2/63DB: DA PHX C2/63DC: 5A PHY C2/63DD: 08 PHP C2/63DE: E2 20 SEP #$20 (Set 8-bit A) C2/63E0: 7B TDC C2/63E1: AD 32 3A LDA $3A32 C2/63E4: 48 PHA C2/63E5: C2 31 REP #$31 (Set 16-bit A,Y,X) C2/63E7: 69 6E 2C ADC #$2C6E C2/63EA: A8 TAY C2/63EB: A2 A0 00 LDX #$00A0 C2/63EE: A9 0F 00 LDA #$000F C2/63F1: 54 7E 7E MVN #$7E,7E C2/63F4: E2 30 SEP #$30 (Set 8-bit A,Y,X) C2/63F6: 68 PLA C2/63F7: 69 10 ADC #$10 C2/63F9: 8D 32 3A STA $3A32 C2/63FC: 28 PLP C2/63FD: 7A PLY C2/63FE: FA PLX C2/63FF: 60 RTS (Zero $A0 through $AF) C2/6400: DA PHX C2/6401: 08 PHP C2/6402: C2 20 REP #$20 (set 16-bit accumulator) C2/6404: A2 06 LDX #$06 C2/6406: 74 A0 STZ $A0,X C2/6408: 74 A8 STZ $A8,X (overall: $A0 thru $AF are zeroed out) C2/640A: CA DEX C2/640B: CA DEX C2/640C: 10 F8 BPL $6406 (loop 4 times) C2/640E: 28 PLP C2/640F: FA PLX C2/6410: 60 RTS C2/6411: DA PHX C2/6412: 5A PHY C2/6413: 08 PHP C2/6414: E2 20 SEP #$20 C2/6416: C2 11 REP #$11 C2/6418: 48 PHA C2/6419: 7B TDC C2/641A: 68 PLA C2/641B: C9 02 CMP #$02 C2/641D: D0 06 BNE $6425 C2/641F: A5 B1 LDA $B1 C2/6421: 30 06 BMI $6429 C2/6423: A9 02 LDA #$02 C2/6425: 22 00 00 C1 JSR $C10000 C2/6429: 28 PLP C2/642A: 7A PLY C2/642B: FA PLX C2/642C: 60 RTS Monster command script command #$FA C2/642D: C2 20 REP #$20 (Set 16-bit accumulator) C2/642F: A5 B8 LDA $B8 (Byte 2 & 3) C2/6431: 8D 2A 3A STA $3A2A (Store in final damage)? C2/6434: E2 20 SEP #$20 (Set 8-bit Accumulator) C2/6436: A5 B6 LDA $B6 (Byte 0) C2/6438: EB XBA C2/6439: A9 14 LDA #$14 C2/643B: 4C BF 62 JMP $62BF (Well, well, well... it's a shame that this function is apparently never called.) C2/643E: C2 20 REP #$20 (Set 16-bit Accumulator) C2/6440: AD 55 1D LDA $1D55 (get Font color from Configuration) C2/6443: C9 DE 7B CMP #$7BDE (are Red, Green, and Blue all equal to 30?) C2/6446: E2 20 SEP #$20 (Set 8-bit Accumulator) C2/6448: D0 1E BNE $6468 (branch if not desired Font color) C2/644A: AF 19 42 00 LDA $004219 (Joypad #1 status register) C2/644E: C9 28 CMP #$28 (are Up and Select pressed, and only those?) C2/6450: D0 16 BNE $6468 (branch if not) C2/6452: A9 02 LDA #$02 C2/6454: 0C 96 3A TSB $3A96 (set some flag) C2/6457: D0 0F BNE $6468 (branch if it was already set) C2/6459: A9 FF LDA #$FF C2/645B: 85 B9 STA $B9 C2/645D: A9 05 LDA #$05 C2/645F: 85 B8 STA $B8 C2/6461: A2 00 LDX #$00 C2/6463: A9 24 LDA #$24 C2/6465: 20 91 4E JSR $4E91 (queue up something. you tell me what.) C2/6468: 60 RTS (Blank Space - 919 bytes) C2/6469: FF FF FF FF C2/646D: FF FF FF FF C2/6471: FF FF FF FF C2/6475: FF FF FF FF C2/6479: FF FF FF FF C2/647D: FF FF FF FF C2/6481: FF FF FF FF C2/6485: FF FF FF FF C2/6489: FF FF FF FF C2/648D: FF FF FF FF C2/6491: FF FF FF FF C2/6495: FF FF FF FF C2/6499: FF FF FF FF C2/649D: FF FF FF FF C2/64A1: FF FF FF FF C2/64A5: FF FF FF FF C2/64A9: FF FF FF FF C2/64AD: FF FF FF FF C2/64B1: FF FF FF FF C2/64B5: FF FF FF FF C2/64B9: FF FF FF FF C2/64BD: FF FF FF FF C2/64C1: FF FF FF FF C2/64C5: FF FF FF FF C2/64C9: FF FF FF FF C2/64CD: FF FF FF FF C2/64D1: FF FF FF FF C2/64D5: FF FF FF FF C2/64D9: FF FF FF FF C2/64DD: FF FF FF FF C2/64E1: FF FF FF FF C2/64E5: FF FF FF FF C2/64E9: FF FF FF FF C2/64ED: FF FF FF FF C2/64F1: FF FF FF FF C2/64F5: FF FF FF FF C2/64F9: FF FF FF FF C2/64FD: FF FF FF FF C2/6501: FF FF FF FF C2/6505: FF FF FF FF C2/6509: FF FF FF FF C2/650D: FF FF FF FF C2/6511: FF FF FF FF C2/6515: FF FF FF FF C2/6519: FF FF FF FF C2/651D: FF FF FF FF C2/6521: FF FF FF FF C2/6525: FF FF FF FF C2/6529: FF FF FF FF C2/652D: FF FF FF FF C2/6531: FF FF FF FF C2/6535: FF FF FF FF C2/6539: FF FF FF FF C2/653D: FF FF FF FF C2/6541: FF FF FF FF C2/6545: FF FF FF FF C2/6549: FF FF FF FF C2/654D: FF FF FF FF C2/6551: FF FF FF FF C2/6555: FF FF FF FF C2/6559: FF FF FF FF C2/655D: FF FF FF FF C2/6561: FF FF FF FF C2/6565: FF FF FF FF C2/6569: FF FF FF FF C2/656D: FF FF FF FF C2/6571: FF FF FF FF C2/6575: FF FF FF FF C2/6579: FF FF FF FF C2/657D: FF FF FF FF C2/6581: FF FF FF FF C2/6585: FF FF FF FF C2/6589: FF FF FF FF C2/658D: FF FF FF FF C2/6591: FF FF FF FF C2/6595: FF FF FF FF C2/6599: FF FF FF FF C2/659D: FF FF FF FF C2/65A1: FF FF FF FF C2/65A5: FF FF FF FF C2/65A9: FF FF FF FF C2/65AD: FF FF FF FF C2/65B1: FF FF FF FF C2/65B5: FF FF FF FF C2/65B9: FF FF FF FF C2/65BD: FF FF FF FF C2/65C1: FF FF FF FF C2/65C5: FF FF FF FF C2/65C9: FF FF FF FF C2/65CD: FF FF FF FF C2/65D1: FF FF FF FF C2/65D5: FF FF FF FF C2/65D9: FF FF FF FF C2/65DD: FF FF FF FF C2/65E1: FF FF FF FF C2/65E5: FF FF FF FF C2/65E9: FF FF FF FF C2/65ED: FF FF FF FF C2/65F1: FF FF FF FF C2/65F5: FF FF FF FF C2/65F9: FF FF FF FF C2/65FD: FF FF FF FF C2/6601: FF FF FF FF C2/6605: FF FF FF FF C2/6609: FF FF FF FF C2/660D: FF FF FF FF C2/6611: FF FF FF FF C2/6615: FF FF FF FF C2/6619: FF FF FF FF C2/661D: FF FF FF FF C2/6621: FF FF FF FF C2/6625: FF FF FF FF C2/6629: FF FF FF FF C2/662D: FF FF FF FF C2/6631: FF FF FF FF C2/6635: FF FF FF FF C2/6639: FF FF FF FF C2/663D: FF FF FF FF C2/6641: FF FF FF FF C2/6645: FF FF FF FF C2/6649: FF FF FF FF C2/664D: FF FF FF FF C2/6651: FF FF FF FF C2/6655: FF FF FF FF C2/6659: FF FF FF FF C2/665D: FF FF FF FF C2/6661: FF FF FF FF C2/6665: FF FF FF FF C2/6669: FF FF FF FF C2/666D: FF FF FF FF C2/6671: FF FF FF FF C2/6675: FF FF FF FF C2/6679: FF FF FF FF C2/667D: FF FF FF FF C2/6681: FF FF FF FF C2/6685: FF FF FF FF C2/6689: FF FF FF FF C2/668D: FF FF FF FF C2/6691: FF FF FF FF C2/6695: FF FF FF FF C2/6699: FF FF FF FF C2/669D: FF FF FF FF C2/66A1: FF FF FF FF C2/66A5: FF FF FF FF C2/66A9: FF FF FF FF C2/66AD: FF FF FF FF C2/66B1: FF FF FF FF C2/66B5: FF FF FF FF C2/66B9: FF FF FF FF C2/66BD: FF FF FF FF C2/66C1: FF FF FF FF C2/66C5: FF FF FF FF C2/66C9: FF FF FF FF C2/66CD: FF FF FF FF C2/66D1: FF FF FF FF C2/66D5: FF FF FF FF C2/66D9: FF FF FF FF C2/66DD: FF FF FF FF C2/66E1: FF FF FF FF C2/66E5: FF FF FF FF C2/66E9: FF FF FF FF C2/66ED: FF FF FF FF C2/66F1: FF FF FF FF C2/66F5: FF FF FF FF C2/66F9: FF FF FF FF C2/66FD: FF FF FF FF C2/6701: FF FF FF FF C2/6705: FF FF FF FF C2/6709: FF FF FF FF C2/670D: FF FF FF FF C2/6711: FF FF FF FF C2/6715: FF FF FF FF C2/6719: FF FF FF FF C2/671D: FF FF FF FF C2/6721: FF FF FF FF C2/6725: FF FF FF FF C2/6729: FF FF FF FF C2/672D: FF FF FF FF C2/6731: FF FF FF FF C2/6735: FF FF FF FF C2/6739: FF FF FF FF C2/673D: FF FF FF FF C2/6741: FF FF FF FF C2/6745: FF FF FF FF C2/6749: FF FF FF FF C2/674D: FF FF FF FF C2/6751: FF FF FF FF C2/6755: FF FF FF FF C2/6759: FF FF FF FF C2/675D: FF FF FF FF C2/6761: FF FF FF FF C2/6765: FF FF FF FF C2/6769: FF FF FF FF C2/676D: FF FF FF FF C2/6771: FF FF FF FF C2/6775: FF FF FF FF C2/6779: FF FF FF FF C2/677D: FF FF FF FF C2/6781: FF FF FF FF C2/6785: FF FF FF FF C2/6789: FF FF FF FF C2/678D: FF FF FF FF C2/6791: FF FF FF FF C2/6795: FF FF FF FF C2/6799: FF FF FF FF C2/679D: FF FF FF FF C2/67A1: FF FF FF FF C2/67A5: FF FF FF FF C2/67A9: FF FF FF FF C2/67AD: FF FF FF FF C2/67B1: FF FF FF FF C2/67B5: FF FF FF FF C2/67B9: FF FF FF FF C2/67BD: FF FF FF FF C2/67C1: FF FF FF FF C2/67C5: FF FF FF FF C2/67C9: FF FF FF FF C2/67CD: FF FF FF FF C2/67D1: FF FF FF FF C2/67D5: FF FF FF FF C2/67D9: FF FF FF FF C2/67DD: FF FF FF FF C2/67E1: FF FF FF FF C2/67E5: FF FF FF FF C2/67E9: FF FF FF FF C2/67ED: FF FF FF FF C2/67F1: FF FF FF FF C2/67F5: FF FF FF FF C2/67F9: FF FF FF FF C2/67FD: FF FF FF C2/6800: 4C C2/6801: 13 68 ORA ($68,S),Y C2/6803: 4C 0C 68 JMP $680C C2/6806: 4C 1A 68 JMP $681A C2/6809: 4C 21 68 JMP $6821 C2/680C: 20 28 68 JSR $6828 C2/680F: 5C 00 50 7E JMP $7E5000 C2/6813: 20 28 68 JSR $6828 C2/6816: 5C 03 50 7E JMP $7E5003 C2/681A: 20 28 68 JSR $6828 C2/681D: 5C 06 50 7E JMP $7E5006 C2/6821: 20 28 68 JSR $6828 C2/6824: 5C 09 50 7E JMP $7E5009 C2/6828: 08 PHP C2/6829: C2 30 REP #$30 C2/682B: 48 PHA C2/682C: DA PHX C2/682D: 5A PHY C2/682E: 8B PHB C2/682F: 0B PHD C2/6830: C2 10 REP #$10 C2/6832: E2 20 SEP #$20 C2/6834: A9 00 48 LDA #$4800 C2/6837: AB PLB C2/6838: A2 00 LDX #$00 C2/683A: 00 DA BRK $DA C2/683C: 2B PLD C2/683D: A2 00 LDX #$00 C2/683F: 00 86 BRK $86 C2/6841: 00 A9 BRK $A9 C2/6843: 7E 8D 83 ROR $838D,X C2/6846: 21 A0 AND ($A0,X) C2/6848: 6C 68 84 JMP ($8468) C2/684B: F3 A9 SBC ($A9,S),Y C2/684D: C2 85 REP #$85 C2/684F: F5 A0 SBC $A0,X C2/6851: 00 50 BRK $50 C2/6853: 84 F6 STY $F6 C2/6855: A9 7E 85 LDA #$857E C2/6858: F8 SED C2/6859: 8B PHB C2/685A: A9 7E 48 LDA #$487E C2/685D: AB PLB C2/685E: 22 6D FF C2 JSR $C2FF6D C2/6862: AB PLB C2/6863: C2 30 REP #$30 C2/6865: 2B PLD C2/6866: AB PLB C2/6867: 7A PLY C2/6868: FA PLX C2/6869: 68 PLA C2/686A: 28 PLP C2/686B: 60 RTS (Compressed data - format explained in Function C2/FF6D) C2/686C: F4 21 (block is 8692 bytes in length, including control bytes) C2/686E: FF (control byte. all 8 bits are set, indicating that the next 8 values to read are all bytes of data meant to be copied to output buffer.) C2/686F: 4C C2/6870: 0C C2/6871: 50 C2/6872: 4C C2/6873: F3 C2/6874: 57 C2/6875: 4C C2/6876: C4 C2/6877: FF (next control byte) C2/6878: 69 C2/6879: 4C C2/687A: F2 C2/687B: 6C C2/687C: 08 C2/687D: C2 C2/687E: 30 C2/687F: 48 C2/6880: FF (control byte) C2/6881: DA C2/6882: 5A C2/6883: 8B C2/6884: 0B C2/6885: 20 C2/6886: 2F C2/6887: 50 C2/6888: 20 C2/6889: FF (control byte) C2/688A: 7F C2/688B: 50 C2/688C: 20 C2/688D: F7 C2/688E: 50 C2/688F: 20 C2/6890: A8 C2/6891: 50 C2/6892: FF (control byte) C2/6893: 20 C2/6894: 43 C2/6895: 50 C2/6896: 20 C2/6897: 4E C2/6898: 50 C2/6899: C2 C2/689A: 30 C2/689B: FF (control byte) C2/689C: 2B C2/689D: AB C2/689E: 7A C2/689F: FA C2/68A0: 68 C2/68A1: 28 C2/68A2: 6B C2/68A3: E2 C2/68A4: FF (control byte) C2/68A5: 20 C2/68A6: A9 C2/68A7: 7E C2/68A8: 48 C2/68A9: AB C2/68AA: A2 C2/68AB: 00 C2/68AC: 00 C2/68AD: FB (control byte. all bits but Bit 2 are set. that means that the first 5 next values to read are all bytes of data meant to be copied to output buffer, as are the last 2. however, the 6th value read is a 2-byte value that yields both a pointer earlier into our output buffer, and a quantity of bytes to copy within that buffer. again, the format is explained in Function C2/FF6D.) C2/68AE: DA C2/68AF: 2B C2/68B0: 13 C2/68B1: 00 C2/68B2: 86 C2/68B3: 00 20 (not normal input data, but a pointer+quantity indicating bytes to read from elsewhere in output block, and copy to current position in output block.) C2/68B5: 62 (normal data bytes again) C2/68B6: 50 C2/68B7: FF (control byte) C2/68B8: 60 C2/68B9: A9 C2/68BA: F0 C2/68BB: 8F C2/68BC: 00 C2/68BD: 13 C2/68BE: 00 C2/68BF: 22 C2/68C0: FF 04 00 C2/68C3: C5 60 C2/68C5: A9 8F 8F C2/68C8: 00 FF C2/68CA: 21 00 C2/68CC: 7B C2/68CD: 8F 00 42 00 C2/68D1: 8F FD 0B 35 C2/68D5: 00 0C C2/68D7: 42 00 C2/68D9: 60 C2/68DA: A9 5C FF C2/68DD: 8D 00 15 C2/68E0: 8D 04 15 C2/68E3: A2 33 C2/68E5: FF 72 8E 01 C2/68E9: 15 A2 C2/68EB: 64 72 C2/68ED: 8E FF 05 C2/68F0: 15 A9 C2/68F2: 7E 8D 03 C2/68F5: 15 8D C2/68F7: FF 07 15 60 C2/68FB: 20 11 77 C2/68FE: 7B C2/68FF: 20 FF 93 C2/6902: 50 20 C2/6904: 15 78 C2/6906: 20 4F 78 C2/6909: FF 20 85 74 C2/690D: 20 FA 78 C2/6910: 60 C2/6911: 8F DF 02 13 C2/6915: 00 A9 C2/6917: 10 23 C2/6919: 08 C2/691A: A9 02 FB C2/691D: 8F 01 25 20 C2/6921: 7B C2/6922: A5 19 C2/6924: 30 18 C2/6926: FF 0A AA FC C2/692A: DF 50 A5 06 C2/692E: 89 FF 80 C2/6931: D0 08 C2/6933: 20 0F 75 C2/6936: 20 FD FF C2/6939: 71 80 C2/693B: E8 C2/693C: A9 FF 8D C2/693F: 00 02 C2/6941: FF A0 0F 00 C2/6945: 84 15 C2/6947: A9 00 A0 C2/694A: FF A0 55 20 C2/694E: DC 74 A4 C2/6951: 15 F0 C2/6953: FE 95 28 C2/6956: F4 60 AE C2/6959: 51 80 C2/695B: 52 97 C2/695D: FF 52 A6 52 C2/6961: E0 52 C2/6963: EC 52 3F C2/6966: FF 53 77 53 C2/696A: 8A C2/696B: 53 9C C2/696D: 53 B5 C2/696F: D7 53 C2/6971: BC 53 86 C2/6974: 08 C2/6975: 0D 8B 00 C2/6978: 31 51 C2/697A: FA C2/697B: 96 20 C2/697D: EE A3 B0 C2/6980: 7B C2/6981: A8 C2/6982: 85 19 C2/6984: 84 F7 C2/6986: 25 84 C2/6988: 27 6A C2/698A: 08 C2/698B: 4E 50 60 C2/698E: 55 FF C2/6990: 51 A5 C2/6992: 51 00 C2/6994: 00 63 C2/6996: 10 BD C2/6998: DF 77 00 00 C2/699C: FF 7F 1B 99 C2/69A0: 20 06 FF C2/69A3: 53 A2 C2/69A5: 00 30 C2/69A7: A0 65 C2/69A9: 74 20 C2/69AB: AF 24 73 A2 C2/69AF: 20 38 31 C2/69B2: 31 42 C2/69B4: 39 43 BF C2/69B7: 7B C2/69B8: A9 01 20 C2/69BB: 3A C2/69BC: 73 36 C2/69BE: 09 45 D9 C2/69C1: 74 57 C2/69C3: 19 40 01 C2/69C6: 35 51 C2/69C8: 57 11 C2/69CA: A0 00 C2/69CC: FF 01 84 25 C2/69D0: A0 2C C2/69D2: 01 84 C2/69D4: 15 FF C2/69D6: E6 19 C2/69D8: A9 0F 85 C2/69DB: 32 60 C2/69DD: A4 FF C2/69DF: 15 D0 C2/69E1: 04 A9 C2/69E3: FF 85 19 60 C2/69E7: 16 48 C2/69E9: 09 63 7B C2/69EC: 3C 09 40 C2/69EF: 53 09 C2/69F1: 3C 09 37 C2/69F4: 49 55 C3 C2/69F7: 91 11 C2/69F9: C0 38 29 C2/69FC: 40 C2/69FD: 38 C2/69FE: 29 60 38 C2/6A01: 29 E5 E0 C2/6A04: 38 C2/6A05: 29 A0 38 C2/6A08: 29 B1 01 C2/6A0B: 03 7C C2/6A0D: A9 09 04 C2/6A10: 59 09 BA C2/6A13: 01 23 C2/6A15: E2 21 C2/6A17: C3 01 C2/6A19: EC 29 CC C2/6A1C: 01 D9 C2/6A1E: 43 E2 C2/6A20: 21 D5 C2/6A22: 01 E3 C2/6A24: 7B C2/6A25: E3 11 C2/6A27: A9 01 1B C2/6A2A: A0 39 C2/6A2C: AC 08 A0 C2/6A2F: 3C A5 00 C2/6A32: 7C 19 14 C2/6A35: 02 FD C2/6A37: C8 C2/6A38: AC 08 C2 C2/6A3B: 20 A9 40 C2/6A3E: 30 9D C2/6A40: 53 01 C2/6A42: 37 0D C2/6A44: 00 28 C2/6A46: 3A C2/6A47: 60 C2/6A48: 33 72 C2/6A4A: C0 33 1A C2/6A4D: 7E 82 09 C2/6A50: 12 E6 C2/6A52: 19 A0 43 C2/6A55: 04 A6 C2/6A57: 00 97 C2/6A59: FF 8F 05 73 C2/6A5D: 00 FF C2/6A5F: 61 00 C2/6A61: 82 09 0A C2/6A64: 9F 20 97 78 C2/6A68: A0 1E C2/6A6A: 1E 12 82 C2/6A6D: 09 35 66 C2/6A70: A8 C2/6A71: 00 C5 C2/6A73: 53 AD C2/6A75: 00 A8 C2/6A77: 00 31 C2/6A79: 54 8D 1A C2/6A7C: 79 AF 94 C2/6A7F: 0A C2/6A80: 36 09 C2/6A82: 83 7B C2/6A84: A9 02 64 C2/6A87: 21 4D C2/6A89: A3 56 C2/6A8B: 19 A0 4A C2/6A8E: 79 11 82 C2/6A91: 09 07 62 C2/6A94: 02 F1 C2/6A96: F0 A5 C2/6A98: 00 82 C2/6A9A: 09 7B 01 C2/6A9D: A0 C0 C2/6A9F: 03 84 C2/6AA1: D1 15 C2/6AA3: 33 09 C2/6AA5: 52 19 C2/6AA7: E4 09 C2/6AA9: 60 C2/6AAA: A8 C2/6AAB: 00 DB C2/6AAD: 76 BE C2/6AAF: 2C 1A 5C C2/6AB2: 7A C2/6AB3: 9D 00 35 C2/6AB6: 0D 00 40 C2/6AB9: FF 9D 01 33 C2/6ABD: A9 A0 9D C2/6AC0: 01 34 C2/6AC2: 4A C2/6AC3: E4 42 C2/6AC5: 5F F0 22 90 C2/6AC9: F8 C2/6ACA: 2A C2/6ACB: 82 09 33 C2/6ACE: 62 02 0E C2/6AD1: 73 01 C2/6AD3: 15 A2 C2/6AD5: 00 8E C2/6AD7: 09 A6 22 C2/6ADA: 2A C2/6ADB: 13 E4 C2/6ADD: 11 C4 C2/6ADF: 37 01 C2/6AE1: 2C 03 08 C2/6AE4: 64 21 C2/6AE6: 42 23 C2/6AE8: 82 09 0E C2/6AEB: A9 EB 40 C2/6AEE: 04 20 C2/6AF0: 0B C2/6AF1: 01 A5 C2/6AF3: 00 20 C2/6AF5: BD 5C FE LDA $FE5C,X C2/6AF8: 82 09 0D BRL $C07804 C2/6AFB: E6 19 INC $19 C2/6AFD: 64 31 STZ $31 C2/6AFF: A9 80 CF LDA #$CF80 C2/6B02: 85 33 STA $33 C2/6B04: A0 A0 LDY #$A0 C2/6B06: D2 02 CMP ($02) C2/6B08: 82 09 08 BRL $C07314 C2/6B0B: A0 FD LDY #$FD C2/6B0D: E0 B8 CPX #$B8 C2/6B0F: 1A INC C2/6B10: A5 18 LDA $18 C2/6B12: 29 03 D0 AND #$D003 C2/6B15: 06 2F ASL $2F C2/6B17: C2 20 REP #$20 C2/6B19: E6 27 INC $27 C2/6B1B: 5B TCD C2/6B1C: 1A INC C2/6B1D: 02 81 COP $81 C2/6B1F: 02 87 COP $87 C2/6B21: 09 FD 7B ORA #$7BFD C2/6B24: A0 00 LDY #$00 C2/6B26: 60 RTS C2/6B27: AA TAX C2/6B28: 7C C9 53 JMP ($53C9,X) C2/6B2B: CD FF 53 CMP $53FF C2/6B2E: D5 53 CMP $53,X C2/6B30: A6 1D LDX $1D C2/6B32: FE 00 3A INC $3A00,X C2/6B35: FF 9E 01 37 SBC $37019E,X C2/6B39: A5 33 LDA $33 C2/6B3B: 30 56 BMI $6B93 C2/6B3D: A6 FF LDX $FF C2/6B3F: 1D 7B A8 ORA $A87B,X C2/6B42: 9E 01 38 STZ $3801,X C2/6B45: A6 1D LDX $1D C2/6B47: FF BD 01 37 SBC $3701BD,X C2/6B4B: 18 CLC C2/6B4C: 7D 01 38 ADC $3801,X C2/6B4F: 20 FF A5 JSR $A5FF C2/6B52: 54 48 AF MVN $48,$AF C2/6B55: 12 42 ORA ($42) C2/6B57: 00 29 BRK $29 C2/6B59: 7F 40 F0 F8 ADC $F8F040,X C2/6B5D: A9 08 8F LDA #$8F08 C2/6B60: 1B TCS C2/6B61: 30 08 BMI $6B6B C2/6B63: BE D6 03 LDX $03D6,Y C2/6B66: 68 PLA C2/6B67: 8F 1C 21 00 STA $00211C C2/6B6B: DF 0B A6 FF CMP $FFA60B,X C2/6B6F: 1D C2 20 ORA $20C2,X C2/6B72: AF 35 21 00 LDA $002135 C2/6B76: 99 EF 80 STA $80EF,Y C2/6B79: 41 E2 EOR ($E2,X) C2/6B7B: 20 BE 0B JSR $0BBE C2/6B7E: 38 SEC C2/6B7F: 18 CLC C2/6B80: 69 DF 04 ADC #$04DF C2/6B83: 9D 01 38 STA $3801,X C2/6B86: C8 INY C2/6B87: FF 03 C0 C0 SBC $C0C003,X C2/6B8B: FF 00 D0 B6 SBC $B6D000,X C2/6B8F: FE 01 37 INC $3701,X C2/6B92: 38 SEC C2/6B93: 60 RTS C2/6B94: FD 18 A2 SBC $A218,X C2/6B97: 03 35 ORA $35,S C2/6B99: 54 39 54 MVN $39,$54 C2/6B9C: 41 54 EOR ($54,X) C2/6B9E: D6 AB DEC $AB,X C2/6BA0: 1B TCS C2/6BA1: 00 39 BRK $39 C2/6BA3: B3 03 LDA ($03,S),Y C2/6BA5: 5B TCD C2/6BA6: B7 0B LDA [$0B],Y C2/6BA8: A9 10 F4 LDA #$F410 C2/6BAB: FC 03 BE JSR ($BE03,X) C2/6BAE: 9B TXY C2/6BAF: 0A ASL C2/6BB0: D5 C3 CMP $C3,X C2/6BB2: 00 45 BRK $45 C2/6BB4: 99 02 F5 STA $F502,Y C2/6BB7: 45 F2 EOR $F2 C2/6BB9: 93 B3 STA ($B3,S),Y C2/6BBB: 08 PHP C2/6BBC: 24 18 BIT $18 C2/6BBE: 69 40 EB ADC #$EB40 C2/6BC1: FF A5 00 EB SBC $EB00A5,X C2/6BC5: AA TAX C2/6BC6: BF 6D FE C2 LDA $C2FE6D,X C2/6BCA: BE A2 03 LDX $03A2,Y C2/6BCD: B3 54 LDA ($54,S),Y C2/6BCF: B7 54 LDA [$54],Y C2/6BD1: C1 16 CMP ($16,X) C2/6BD3: 1C A9 FB TRB $FBA9 C2/6BD6: 01 9D ORA ($9D,X) C2/6BD8: 1D 04 18 ORA $1804,X C2/6BDB: 29 01 F0 AND #$F001 C2/6BDE: 0F DE BE 03 ORA $03BEDE C2/6BE2: 00 39 BRK $39 C2/6BE4: C9 40 B2 CMP #$B240 C2/6BE7: 00 DA BRK $DA C2/6BE9: 54 F7 FE MVN $F7,$FE C2/6BEC: 00 39 BRK $39 C2/6BEE: 0B PHD C2/6BEF: 0C A9 40 TSB $40A9 C2/6BF2: 8F 05 DD 42 STA $42DD05 C2/6BF6: 31 00 AND ($00),Y C2/6BF8: 04 42 TSB $42 C2/6BFA: 00 A7 BRK $A7 C2/6BFC: 04 8F TSB $8F C2/6BFE: 06 F7 ASL $F7 C2/6C00: 42 00 WDM $00 C2/6C02: EA NOP C2/6C03: CA DEX C2/6C04: 0C 64 F2 TSB $F264 C2/6C07: A0 FC LDY #$FC C2/6C09: FF 00 64 E2 SBC $E26400,X C2/6C0D: 64 E9 STZ $E9 C2/6C0F: 64 EA STZ $EA C2/6C11: AF 7F 15 42 LDA $42157F C2/6C15: 00 85 BRK $85 C2/6C17: E8 INX C2/6C18: AF 14 DC 04 LDA $04DC14 C2/6C1C: FD E7 A7 SBC $A7E7,X C2/6C1F: 04 C5 TSB $C5 C2/6C21: E2 90 SEP #$90 C2/6C23: 02 80 COP $80 C2/6C25: 07 FE ORA [$FE] C2/6C27: 2F 02 00 01 AND $010002 C2/6C2B: 80 0C BRA $6C39 C2/6C2D: 7B TDC C2/6C2E: A5 EA LDA $EA C2/6C30: FF 38 E5 E2 SBC $E2E538,X C2/6C34: C2 20 REP #$20 C2/6C36: 49 FF FF EOR #$FFFF C2/6C39: FF 1A 99 FA SBC $FA991A,X C2/6C3D: 3D A5 E7 AND $E7A5,X C2/6C40: 18 CLC C2/6C41: 65 FF ADC $FF C2/6C43: E9 85 E9 SBC #$E985 C2/6C46: E2 20 SEP #$20 C2/6C48: E6 E2 INC $E2 C2/6C4A: 88 DEY C2/6C4B: F6 10 INC $10,X C2/6C4D: 05 D0 ORA $D0 C2/6C4F: D0 A2 BNE $6BF3 C2/6C51: 03 3D ORA $3D,S C2/6C53: 55 41 EOR $41,X C2/6C55: 55 FF EOR $FF,X C2/6C57: 59 55 A0 EOR $A055,Y C2/6C5A: FF FF 84 10 SBC $1084FF,X C2/6C5E: A0 FF LDY #$FF C2/6C60: 40 RTI C2/6C61: 00 84 BRK $84 C2/6C63: 0E A9 7F ASL $7FA9 C2/6C66: 85 14 STA $14 C2/6C68: F2 5F SBC ($5F) C2/6C6A: 0B PHD C2/6C6B: 27 AB AND [$AB] C2/6C6D: 13 86 ORA ($86,S),Y C2/6C6F: 13 36 ORA ($36,S),Y C2/6C71: C2 20 REP #$20 C2/6C73: A5 FF LDA $FF C2/6C75: 27 C9 AND [$C9] C2/6C77: 1F 01 F0 2F ORA $2FF001,X C2/6C7B: C9 00 FF CMP #$FF00 C2/6C7E: 01 B0 ORA ($B0,X) C2/6C80: 24 29 BIT $29 C2/6C82: 07 00 ORA [$00] C2/6C84: D0 1F BNE $6CA5 C2/6C86: FF A5 27 38 SBC $3827A5,X C2/6C8A: E9 08 00 SBC #$0008 C2/6C8D: 29 F8 FF AND #$FFF8 C2/6C90: FF 0A 0A 0A SBC $0A0A0A,X C2/6C94: 18 CLC C2/6C95: 69 C0 23 ADC #$23C0 C2/6C98: DB STP C2/6C99: 85 12 STA $12 C2/6C9B: 50 45 BVC $6CE2 C2/6C9D: 85 10 STA $10 C2/6C9F: 8E 0B 38 STX $380B C2/6CA2: 60 RTS C2/6CA3: F3 E2 SBC ($E2,S),Y C2/6CA5: 20 1F 15 JSR $151F C2/6CA8: 0D 0C A4 ORA $A40C C2/6CAB: 55 A8 EOR $A8,X C2/6CAD: 55 4B EOR $4B,X C2/6CAF: B2 55 LDA ($55) C2/6CB1: 95 1C STA $1C,X C2/6CB3: 0F F8 02 B0 ORA $B002F8 C2/6CB7: 00 0C BRK $0C C2/6CB9: BE 0B FF LDX $FF0B,Y C2/6CBC: 33 85 AND ($85,S),Y C2/6CBE: 32 DE AND ($DE) C2/6CC0: 01 33 ORA ($33,X) C2/6CC2: 38 SEC C2/6CC3: 60 RTS C2/6CC4: FA PLX C2/6CC5: 70 03 BVS $6CCA C2/6CC7: 32 0D AND ($0D) C2/6CC9: 0C CC 55 TSB $55CC C2/6CCC: D2 55 CMP ($55) C2/6CCE: EB XBA C2/6CCF: 73 55 ADC ($55,S),Y C2/6CD1: 20 B6 03 JSR $03B6 C2/6CD4: 97 0C STA [$0C],Y C2/6CD6: 80 9D BRA $6C75 C2/6CD8: 00 3C BRK $3C C2/6CDA: 05 F7 ORA $F7 C2/6CDC: A9 3E 56 LDA #$563E C2/6CDF: F1 12 SBC ($12),Y C2/6CE1: 20 5F 75 JSR $755F C2/6CE4: 38 SEC C2/6CE5: FD 60 A5 SBC $A560,X C2/6CE8: 0C 36 F0 TSB $F036 C2/6CEB: 17 C9 ORA [$C9],Y C2/6CED: 01 F0 ORA ($F0,X) C2/6CEF: BF 07 A6 1D LDA $1DA607,X C2/6CF3: DE 00 36 DEC $3600,X C2/6CF6: 9E 05 02 STZ $0205,X C2/6CF9: F7 A0 SBC [$A0],Y C2/6CFB: F9 56 AD SBC $AD56,Y C2/6CFE: 00 E6 BRK $E6 C2/6D00: 36 80 ROL $80,X C2/6D02: ED 7F BD SBC $BD7F C2/6D05: 01 3B ORA ($3B,X) C2/6D07: C9 FE D0 CMP #$D0FE C2/6D0A: 03 AD ORA $AD,S C2/6D0C: 03 AB ORA $AB,S C2/6D0E: C2 20 REP #$20 C2/6D10: C0 03 AA CPY #$AA03 C2/6D13: C2 05 REP #$05 C2/6D15: 75 C6 ADC $C6,X C2/6D17: 05 20 ORA $20 C2/6D19: F8 SED C2/6D1A: B5 0B LDA $0B,X C2/6D1C: B7 05 LDA [$05],Y C2/6D1E: 9A TXS C2/6D1F: 0C 3A 4C TSB $4C3A C2/6D22: DC 55 7B JMP [$7B55] C2/6D25: FF E6 34 A5 SBC $A534E6,X C2/6D29: 18 CLC C2/6D2A: 18 CLC C2/6D2B: 65 34 ADC $34 C2/6D2D: AA TAX C2/6D2E: FF BF 00 FD SBC $FD00BF,X C2/6D32: C0 60 23 CPY #$2360 C2/6D35: 7C 01 DF JMP ($DF01,X) C2/6D38: 59 56 02 EOR $0256,Y C2/6D3B: D9 56 1E CMP $1E56,Y C2/6D3E: 26 79 ROL $79 C2/6D40: 56 FF LSR $FF,X C2/6D42: 02 99 COP $99 C2/6D44: 56 03 LSR $03,X C2/6D46: B9 56 04 LDA $0456,Y C2/6D49: D9 FF 56 CMP $56FF,Y C2/6D4C: FE 63 10 INC $1063,X C2/6D4F: DE 66 5B DEC $5B66,X C2/6D52: 56 FF LSR $FF,X C2/6D54: B4 45 LDY $45,X C2/6D56: 2E 35 08 ROL $0835 C2/6D59: 31 E8 AND ($E8),Y C2/6D5B: 2C FF C7 BIT $C7FF C2/6D5E: 28 PLP C2/6D5F: A6 24 LDX $24 C2/6D61: A5 1C LDA $1C C2/6D63: 84 18 STY $18 C2/6D65: FF 64 14 63 SBC $631464,X C2/6D69: 10 BB BPL $6D26 C2/6D6B: 21 36 AND ($36,X) C2/6D6D: 11 FF ORA ($FF),Y C2/6D6F: 7F 73 00 00 ADC $000073,X C2/6D73: 39 52 D7 AND $D752,Y C2/6D76: 45 DF EOR $DF C2/6D78: 51 39 EOR ($39),Y C2/6D7A: EC 2C E7 CPX $E72C C2/6D7D: 44 16 85 MVP $16,$85 C2/6D80: 20 EF 84 JSR $84EF C2/6D83: 18 CLC C2/6D84: 84 14 STY $14 C2/6D86: 4D 2E 7B EOR $7B2E C2/6D89: 5A PHY C2/6D8A: 00 FF BRK $FF C2/6D8C: 00 94 BRK $94 C2/6D8E: 3D 53 35 AND $3553,X C2/6D91: EE 2C AA INC $AA2C C2/6D94: 1B TCS C2/6D95: 24 A5 BIT $A5 C2/6D97: 66 06 ROR $06 C2/6D99: 64 1C STZ $1C C2/6D9B: 4D 0E 89 EOR $890E C2/6D9E: 1E 51 0E ASL $0E51,X C2/6DA1: FF D6 45 00 SBC $0045D6,X C2/6DA5: 00 AA BRK $AA C2/6DA7: 20 A7 20 JSR $20A7 C2/6DAA: CF 85 1C 43 CMP $431C85 C2/6DAE: 18 CLC C2/6DAF: 89 2E 89 BIT #$892E C2/6DB2: 4E CC 24 LSR $24CC C2/6DB5: F8 SED C2/6DB6: 13 09 ORA ($09,S),Y C2/6DB8: B9 9E 51 LDA $519E,Y C2/6DBB: 0E 63 10 ASL $1063 C2/6DBE: AA TAX C2/6DBF: 7C FD 9F JMP ($9FFD,X) C2/6DC2: 56 01 LSR $01,X C2/6DC4: 57 36 EOR [$36],Y C2/6DC6: 57 AB EOR [$AB],Y C2/6DC8: 13 FE ORA ($FE,S),Y C2/6DCA: 05 29 ORA $29 C2/6DCC: 5F 03 F0 37 EOR $37F003,X C2/6DD0: 0A ASL C2/6DD1: AA TAX C2/6DD2: F1 05 SBC ($05),Y C2/6DD4: 46 DE LSR $DE C2/6DD6: 06 2E ASL $2E C2/6DD8: F1 12 SBC ($12),Y C2/6DDA: E2 20 SEP #$20 C2/6DDC: DA PHX C2/6DDD: FE 05 FA INC $FA05,X C2/6DE0: F8 SED C2/6DE1: 02 FB COP $FB C2/6DE3: 16 77 ASL $77,X C2/6DE5: 29 7F 69 AND #$697F C2/6DE8: 28 PLP C2/6DE9: 04 34 TSB $34 C2/6DEB: A6 1D LDX $1D C2/6DED: C4 05 CPY $05 C2/6DEF: BC BE 0B LDY $0BBE,X C2/6DF2: E9 05 F0 SBC #$F005 C2/6DF5: 05 20 ORA $20 C2/6DF7: 8D C6 05 STA $05C6 C2/6DFA: 18 CLC C2/6DFB: FF 60 00 00 SBC $000060,X C2/6DFF: 4E 57 66 LSR $6657 C2/6E02: 57 4E EOR [$4E],Y C2/6E04: FF 57 7F 57 SBC $577F57,X C2/6E08: 01 7E ORA ($7E,X) C2/6E0A: 57 01 EOR [$01],Y C2/6E0C: 84 6A STY $6A C2/6E0E: 2D 17 91 AND $9117 C2/6E11: 2D 17 9E AND $9E17 C2/6E14: 2D 0F FE AND $FE0F C2/6E17: AB PLB C2/6E18: 2D 17 D5 AND $D517 C2/6E1B: B0 2D BCS $6E4A C2/6E1D: 17 BD ORA [$BD],Y C2/6E1F: 2D 17 CA AND $CA17 C2/6E22: 3F 17 00 01 AND $010017,X C2/6E26: DF 08 00 4C CMP $4C0008,X C2/6E2A: 35 03 AND $03,X C2/6E2C: 24 07 BIT $07 C2/6E2E: 35 10 AND $10,X C2/6E30: FF 00 60 35 SBC $356000,X C2/6E34: 08 PHP C2/6E35: 10 62 BPL $6E99 C2/6E37: 35 03 AND $03,X C2/6E39: F7 08 SBC [$08],Y C2/6E3B: 00 64 BRK $64 C2/6E3D: 6A ROR C2/6E3E: 07 66 ORA [$66] C2/6E40: 35 08 AND $08,X C2/6E42: 20 D5 68 JSR $68D5 C2/6E45: 6E 0F 6A ROR $6A0F C2/6E48: 6A ROR C2/6E49: 07 6C ORA [$6C] C2/6E4B: 77 07 ADC [$07],Y C2/6E4D: 6E 35 FE ROR $FE35 C2/6E50: 5D 0F 75 EOR $750F,X C2/6E53: 03 10 ORA $10,S C2/6E55: 00 4E BRK $4E C2/6E57: 75 08 ADC $08,X C2/6E59: 97 00 STA [$00],Y C2/6E5B: 60 RTS C2/6E5C: 75 6B ADC $6B,X C2/6E5E: 07 75 ORA [$75] C2/6E60: 6F 0F 96 07 ADC $07960F C2/6E64: 66 A9 ROR $A9 C2/6E66: 75 78 ADC $78,X C2/6E68: 07 9A ORA [$9A] C2/6E6A: 0F 6A 96 07 ORA $07966A C2/6E6E: 6C A3 07 JMP ($07A3) C2/6E71: 6E FF 75 ROR $75FF C2/6E74: 40 RTI C2/6E75: A8 TAY C2/6E76: 40 RTI C2/6E77: 70 B0 BVS $6E29 C2/6E79: 48 PHA C2/6E7A: 68 PLA C2/6E7B: FF A8 70 68 SBC $6870A8,X C2/6E7F: 60 RTS C2/6E80: A8 TAY C2/6E81: 80 D0 BRA $6E53 C2/6E83: 88 DEY C2/6E84: FF 58 90 A8 SBC $A89058,X C2/6E88: 98 TYA C2/6E89: 88 DEY C2/6E8A: 50 58 BVC $6EE4 C2/6E8C: 70 FF BVS $6E8D C2/6E8E: 60 RTS C2/6E8F: 90 60 BCC $6EF1 C2/6E91: 10 78 BPL $6F0B C2/6E93: 08 PHP C2/6E94: C2 30 REP #$30 C2/6E96: FF 48 DA 5A SBC $5ADA48,X C2/6E9A: 8B PHB C2/6E9B: 0B PHD C2/6E9C: 20 2F 50 JSR $502F C2/6E9F: FF 20 13 58 SBC $581320,X C2/6EA3: 20 72 58 JSR $5872 C2/6EA6: 20 43 FD JSR $FD43 C2/6EA9: 50 0B BVC $6EB6 C2/6EAB: 01 C2 ORA ($C2,X) C2/6EAD: 30 2B BMI $6EDA C2/6EAF: AB PLB C2/6EB0: 7A PLY C2/6EB1: FA PLX C2/6EB2: 77 68 ADC [$68],Y C2/6EB4: 28 PLP C2/6EB5: 6B RTL C2/6EB6: 5D 00 20 EOR $2000,X C2/6EB9: 3C 58 69 BIT $6958,X C2/6EBC: 02 F2 COP $F2 C2/6EBE: 72 38 ADC ($38) C2/6EC0: 04 7D TSB $7D C2/6EC2: 28 PLP C2/6EC3: 64 38 STZ $38 C2/6EC5: FF 61 60 8B SBC $8B6061,X C2/6EC9: FF A9 00 48 SBC $4800A9,X C2/6ECD: AB PLB C2/6ECE: A9 03 8D LDA #$8D03 C2/6ED1: 01 FF ORA ($FF,X) C2/6ED3: 21 A6 AND ($A6,X) C2/6ED5: 00 8E BRK $8E C2/6ED7: 02 21 COP $21 C2/6ED9: A9 07 FF LDA #$FF07 C2/6EDC: 8D 05 21 STA $2105 C2/6EDF: A9 78 8D LDA #$8D78 C2/6EE2: 07 21 ORA [$21] C2/6EE4: FF A9 7C 8D SBC $8D7CA9,X C2/6EE8: 08 PHP C2/6EE9: 21 A9 AND ($A9,X) C2/6EEB: 74 8D STZ $8D,X C2/6EED: FF 09 21 8D SBC $8D2109,X C2/6EF1: 0A ASL C2/6EF2: 21 A9 AND ($A9,X) C2/6EF4: 22 8D FF 0B JSR $0BFF8D C2/6EF8: 21 A9 AND ($A9,X) C2/6EFA: 77 8D ADC [$8D],Y C2/6EFC: 0C 21 7B TSB $7B21 C2/6EFF: 6F 8D 1A 21 ADC $211A8D C2/6F03: AB PLB C2/6F04: 85 30 STA $30 C2/6F06: AD 58 90 LDA $9058 C2/6F09: F8 SED C2/6F0A: FE B2 38 INC $38B2,X C2/6F0D: 22 0C 00 EE JSR $EE000C C2/6F11: 60 RTS C2/6F12: B5 58 LDA $58,X C2/6F14: FF 4C 5A 66 SBC $665A4C,X C2/6F18: 5A PHY C2/6F19: 70 5A BVS $6F75 C2/6F1B: 20 70 EF JSR $EF70 C2/6F1E: 5C 20 5D 5B JMP $5B5D20 C2/6F22: 1A INC C2/6F23: 10 22 BPL $6F47 C2/6F25: 09 00 FF ORA #$FF00 C2/6F28: EE 22 03 INC $0322 C2/6F2B: 00 EE BRK $EE C2/6F2D: AB PLB C2/6F2E: 20 45 51 JSR $5145 C2/6F31: 5C 08 01 28 JMP $280108 C2/6F35: 0B PHD C2/6F36: 43 61 EOR $61,S C2/6F38: 60 RTS C2/6F39: 4A LSR C2/6F3A: 29 80 4A AND #$4A80 C2/6F3D: 29 F1 A0 AND #$A0F1 C2/6F40: 4A LSR C2/6F41: 29 37 79 AND #$7937 C2/6F44: BA TSX C2/6F45: B9 A9 68 LDA $68A9,Y C2/6F48: 85 39 STA $39 C2/6F4A: FF A9 48 85 SBC $8548A9,X C2/6F4E: 3A DEC C2/6F4F: A9 78 85 LDA #$8578 C2/6F52: 3B TSC C2/6F53: EF A9 C0 85 SBC $85C0A9 C2/6F57: 3C 70 03 BIT $0370,X C2/6F5A: 3D A9 90 AND $90A9,X C2/6F5D: FF 85 3E 64 SBC $643E85,X C2/6F61: 29 64 2A AND #$2A64 C2/6F64: A0 38 LDY #$38 C2/6F66: 7F 00 84 2B ADC $2B8400,X C2/6F6A: 64 37 STZ $37 C2/6F6C: 64 38 STZ $38 C2/6F6E: 72 00 ADC ($00) C2/6F70: 7B TDC C2/6F71: C0 5F 77 CPY #$775F C2/6F74: 00 7B BRK $7B C2/6F76: 20 08 5B JSR $5B08 C2/6F79: B1 02 LDA ($02),Y C2/6F7B: 32 36 AND ($36) C2/6F7D: 01 02 ORA ($02,X) C2/6F7F: 35 01 AND $01,X C2/6F81: 33 0B AND ($0B,S),Y C2/6F83: 90 64 BCC $6FE9 C2/6F85: B1 12 LDA ($12),Y C2/6F87: BF 08 40 46 LDA $464008,X C2/6F8B: 01 A7 ORA ($A7,X) C2/6F8D: 12 C9 ORA ($C9) C2/6F8F: 00 46 BRK $46 C2/6F91: 01 05 ORA ($05,X) C2/6F93: 1A INC C2/6F94: 44 11 06 MVP $11,$06 C2/6F97: 3B TSC C2/6F98: 13 BF ORA ($BF,S),Y C2/6F9A: 31 A0 AND ($A0),Y C2/6F9C: 70 64 BVS $7002 C2/6F9E: A9 03 A8 LDA #$A803 C2/6FA1: 22 10 24 52 JSR $522410 C2/6FA5: 21 ED AND ($ED,X) C2/6FA7: 00 30 BRK $30 C2/6FA9: 52 21 EOR ($21) C2/6FAB: C3 01 CMP $01,S C2/6FAD: 50 52 BVC $7001 C2/6FAF: 21 FF AND ($FF,X) C2/6FB1: 39 B2 72 AND $72B2,Y C2/6FB4: 00 27 BRK $27 C2/6FB6: 30 09 BMI $6FC1 C2/6FB8: 72 00 ADC ($00) C2/6FBA: ED 5A 8D SBC $8D5A C2/6FBD: 1A INC C2/6FBE: 92 DE STA ($DE) C2/6FC0: B1 09 LDA ($09),Y C2/6FC2: 7B TDC C2/6FC3: 9D 01 39 STA $3901,X C2/6FC6: 9A TXS C2/6FC7: 0C 36 A9 TSB $A936 C2/6FCA: F9 5A 9C SBC $9C5A,Y C2/6FCD: 04 2F TSB $2F C2/6FCF: 02 A0 COP $A0 C2/6FD1: FF 9D 00 38 SBC $38009D,X C2/6FD5: 50 F4 BVC $6FCB C2/6FD7: 02 B6 COP $B6 C2/6FD9: 21 9A AND ($9A,X) C2/6FDB: 04 BF TSB $BF C2/6FDD: 01 0A ORA ($0A,X) C2/6FDF: 03 0E ORA $0E,S C2/6FE1: 28 PLP C2/6FE2: C8 INY C2/6FE3: 19 55 60 ORA $6055,Y C2/6FE6: CF 61 02 BE CMP $BE0261 C2/6FEA: 09 07 03 ORA #$0307 C2/6FED: 0E 2D C8 ASL $C82D C2/6FF0: 19 FD 80 ORA $80FD,Y C2/6FF3: CF 19 E6 19 CMP $19E619 C2/6FF7: A9 01 85 LDA #$8501 C2/6FFA: 32 76 AND ($76) C2/6FFC: 63 00 ADC $00,S C2/6FFE: A0 CA LDY #$CA