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 C0B
< Final Fantasy VI | ROM map
Jump to navigation
Jump to search
Grant Sabin the Bum Rush (gen. act. 90) C0/B002: AD281D LDA $1D28 C0/B005: 0980 ORA #$80 C0/B007: 8D281D STA $1D28 C0/B00A: A901 LDA #$01 C0/B00C: 4C5C9B JMP $9B5C Invoke name change screen for character xx (gen. act. 98) C0/B00F: 20AD9D JSR $9DAD C0/B012: C220 REP #$20 (16 bit accum./memory) C0/B014: 98 TYA C0/B015: 18 CLC C0/B016: 690016 ADC #$1600 C0/B019: 8D0102 STA $0201 C0/B01C: 7B TDC C0/B01D: E220 SEP #$20 (8 bit accum./memory) C0/B01F: A901 LDA #$01 C0/B021: 8D0002 STA $0200 C0/B024: 20CAC6 JSR $C6CA (make a call to the menu, invoke name changing screen) C0/B027: A901 LDA #$01 C0/B029: 8584 STA $84 C0/B02B: A9E0 LDA #$E0 C0/B02D: 8DFA11 STA $11FA C0/B030: A902 LDA #$02 C0/B032: 4C709B JMP $9B70 Invoke party selection screen: xx = number of groups (gen. act. 99) C0/B035: AC0308 LDY $0803 C0/B038: 8CFB07 STY $07FB C0/B03B: A0D907 LDY #$07D9 C0/B03E: 8CFD07 STY $07FD C0/B041: 8CFF07 STY $07FF C0/B044: 8C0108 STY $0801 C0/B047: A5EB LDA $EB (load number of groups) C0/B049: 8D0102 STA $0201 (save) C0/B04C: A6EC LDX $EC (load characters to force into party) C0/B04E: 8E0202 STX $0202 (save) C0/B051: A904 LDA #$04 C0/B053: 8D0002 STA $0200 (queue up C3/012B->C3/70E7) C0/B056: 20CAC6 JSR $C6CA (make a call to the menu, invoke party selection screen at above) C0/B059: 204A71 JSR $714A C0/B05C: 20676F JSR $6F67 C0/B05F: A901 LDA #$01 C0/B061: 8584 STA $84 C0/B063: A9C0 LDA #$C0 C0/B065: 8DFA11 STA $11FA C0/B068: A904 LDA #$04 C0/B06A: 4C709B JMP $9B70 Invoke Shop XX (gen. act. 9B) C0/B06D: A5EB LDA $EB C0/B06F: 8D0102 STA $0201 C0/B072: AC0308 LDY $0803 C0/B075: B97908 LDA $0879,Y C0/B078: 8D0202 STA $0202 C0/B07B: A903 LDA #$03 C0/B07D: 8D0002 STA $0200 C0/B080: 20CAC6 JSR $C6CA (make a call to the menu, invoke a shop) C0/B083: A901 LDA #$01 C0/B085: 8584 STA $84 C0/B087: A902 LDA #$02 C0/B089: 4C709B JMP $9B70 Optimum equip character XX (gen. act. 9C) C0/B08C: A5EB LDA $EB (load parameter) C0/B08E: 8D0102 STA $0201 (store as character to equip) C0/B091: 20B3C6 JSR $C6B3 (equip the character in $0201) C0/B094: 20F36C JSR $6CF3 (perform "equipment check" on the current party) C0/B097: A902 LDA #$02 C0/B099: 4C5C9B JMP $9B5C Invoke Party Order screen for final battle (gen. act. 9D) C0/B09C: A908 LDA #$08 C0/B09E: 8D0002 STA $0200 C0/B0A1: 20CAC6 JSR $C6CA (make a call to the menu, invoke party selection for final battle) C0/B0A4: A901 LDA #$01 C0/B0A6: 8584 STA $84 C0/B0A8: A9E0 LDA #$E0 C0/B0AA: 8DFA11 STA $11FA C0/B0AD: A901 LDA #$01 C0/B0AF: 4C709B JMP $9B70 Invoke Colosseum Item Screen (gen. act. 9A) C0/B0B2: A907 LDA #$07 C0/B0B4: 8D0002 STA $0200 C0/B0B7: 20CAC6 JSR $C6CA (make a call to the menu, invoke Colliseum) C0/B0BA: AD0502 LDA $0205 (load item bet) C0/B0BD: C9FF CMP #$FF (is it nothing?) C0/B0BF: F004 BEQ $B0C5 (branch if so) C0/B0C1: A940 LDA #$40 C0/B0C3: 8001 BRA $B0C6 C0/B0C5: 7B TDC C0/B0C6: 851A STA $1A C0/B0C8: ADBD1E LDA $1EBD C0/B0CB: 29BF AND #$BF C0/B0CD: 051A ORA $1A C0/B0CF: 8DBD1E STA $1EBD C0/B0D2: A9C0 LDA #$C0 C0/B0D4: 8DFA11 STA $11FA C0/B0D7: A901 LDA #$01 C0/B0D9: 8584 STA $84 C0/B0DB: A901 LDA #$01 C0/B0DD: 4C709B JMP $9B70 Set timer to XXXX jiffies, jump to YYYY on expiration, flags ZZ (includes index, etc.) (gen. act. A0) (5 params) bytes 1 & 2 (0 being gen. act. A0) is the time For bytes 3, 4, & 5: bits 0-17 (0x03FFFF) is the event to jump to when the timer expires bits 18-19 (0x0C0000) is the timer to set bit 20 (0x100000) makes the timer override the game clock bit 21 (0x200000) is unknown bit 22 (0x400000) sets the timer to display on maps (if the tileset supports it) bit 23 (0x800000) will pause the timer during battle and menu execution C0/B0E0: A5EF LDA $EF C0/B0E2: 290C AND #$0C C0/B0E4: 851A STA $1A C0/B0E6: 4A LSR A C0/B0E7: 18 CLC C0/B0E8: 651A ADC $1A C0/B0EA: A8 TAY C0/B0EB: A5EB LDA $EB C0/B0ED: 998911 STA $1189,Y C0/B0F0: A5EC LDA $EC C0/B0F2: 998A11 STA $118A,Y C0/B0F5: A5ED LDA $ED C0/B0F7: 998B11 STA $118B,Y C0/B0FA: A5EE LDA $EE C0/B0FC: 998C11 STA $118C,Y C0/B0FF: A5EF LDA $EF C0/B101: 998811 STA $1188,Y C0/B104: 2903 AND #$03 C0/B106: 998D11 STA $118D,Y C0/B109: A906 LDA #$06 C0/B10B: 4C5C9B JMP $9B5C Reset timer XX (gen. act. A1)(1 param) (param * 6 = Y) C0/B10E: A5EB LDA $EB C0/B110: 0A ASL A C0/B111: 851A STA $1A C0/B113: 0A ASL A C0/B114: 18 CLC C0/B115: 651A ADC $1A C0/B117: A8 TAY C0/B118: 7B TDC C0/B119: 998811 STA $1188,Y C0/B11C: 998911 STA $1189,Y C0/B11F: 998A11 STA $118A,Y C0/B122: 998B11 STA $118B,Y C0/B125: 998C11 STA $118C,Y C0/B128: 998D11 STA $118D,Y C0/B12B: A902 LDA #$02 C0/B12D: 4C5C9B JMP $9B5C (gen. act. A2) C0/B130: 202CCD JSR $CD2C C0/B133: A901 LDA #$01 C0/B135: 4C5C9B JMP $9B5C Repeat the the following commands (until B1 is encountered) xx times (gen. act. B0) C0/B138: A902 LDA #$02 C0/B13A: 20829B JSR $9B82 C0/B13D: A5EB LDA $EB C0/B13F: 9DC405 STA $05C4,X C0/B142: 4C6D9A JMP $9A6D End block of commands to repeat (ends repeat) (gen. act. B1) C0/B145: A6E8 LDX $E8 C0/B147: BDC405 LDA $05C4,X C0/B14A: 3A DEC A C0/B14B: 9DC405 STA $05C4,X C0/B14E: F012 BEQ $B162 C0/B150: BDF105 LDA $05F1,X C0/B153: 85E5 STA $E5 C0/B155: BDF205 LDA $05F2,X C0/B158: 85E6 STA $E6 C0/B15A: BDF305 LDA $05F3,X C0/B15D: 85E7 STA $E7 C0/B15F: 4C6D9A JMP $9A6D C0/B162: A6E8 LDX $E8 C0/B164: CA DEX C0/B165: CA DEX C0/B166: CA DEX C0/B167: 86E8 STX $E8 C0/B169: A901 LDA #$01 C0/B16B: 4C5C9B JMP $9B5C C0/B16E: 60 RTS Return if bit $1E80 + $xx is clear (gen. act. BC) C0/B16F: A5EC LDA $EC C0/B171: EB XBA C0/B172: A5EB LDA $EB C0/B174: 20EDBA JSR $BAED C0/B177: B9801E LDA $1E80,Y C0/B17A: 3FFCBAC0 AND $C0BAFC,X C0/B17E: D014 BNE $B194 C0/B180: A6E8 LDX $E8 C0/B182: BDF105 LDA $05F1,X C0/B185: 85E5 STA $E5 C0/B187: BDF205 LDA $05F2,X C0/B18A: 85E6 STA $E6 C0/B18C: BDF305 LDA $05F3,X C0/B18F: 85E7 STA $E7 C0/B191: 4C6D9A JMP $9A6D C0/B194: A6E8 LDX $E8 C0/B196: CA DEX C0/B197: CA DEX C0/B198: CA DEX C0/B199: 86E8 STX $E8 C0/B19B: A903 LDA #$03 C0/B19D: 4C5C9B JMP $9B5C C0/B1A0: 60 RTS Call subroutine aaaaaa (+$CA0000/$0A0200) (gen. act. B2) C0/B1A1: A904 LDA #$04 C0/B1A3: A6E8 LDX $E8 C0/B1A5: 18 CLC C0/B1A6: 65E5 ADC $E5 C0/B1A8: 9D9405 STA $0594,X C0/B1AB: A5E6 LDA $E6 C0/B1AD: 6900 ADC #$00 C0/B1AF: 9D9505 STA $0595,X C0/B1B2: A5E7 LDA $E7 C0/B1B4: 6900 ADC #$00 C0/B1B6: 9D9605 STA $0596,X C0/B1B9: A5EB LDA $EB C0/B1BB: 85E5 STA $E5 C0/B1BD: 9DF405 STA $05F4,X C0/B1C0: A5EC LDA $EC C0/B1C2: 85E6 STA $E6 C0/B1C4: 9DF505 STA $05F5,X C0/B1C7: A5ED LDA $ED C0/B1C9: 18 CLC C0/B1CA: 69CA ADC #$CA C0/B1CC: 85E7 STA $E7 C0/B1CE: 9FF60500 STA $0005F6,X C0/B1D2: E8 INX C0/B1D3: E8 INX C0/B1D4: E8 INX C0/B1D5: 86E8 STX $E8 C0/B1D7: A901 LDA #$01 C0/B1D9: 9DC405 STA $05C4,X C0/B1DC: 4C6D9A JMP $9A6D Jump to subroutine aaaaaa (+$CA0000/$0A0200), repeat XX times (gen. act. B3) C0/B1DF: A6E8 LDX $E8 C0/B1E1: A5E5 LDA $E5 C0/B1E3: 18 CLC C0/B1E4: 6905 ADC #$05 C0/B1E6: 9D9405 STA $0594,X C0/B1E9: A5E6 LDA $E6 C0/B1EB: 6900 ADC #$00 C0/B1ED: 9D9505 STA $0595,X C0/B1F0: A5E7 LDA $E7 C0/B1F2: 6900 ADC #$00 C0/B1F4: 9D9605 STA $0596,X C0/B1F7: A5EC LDA $EC C0/B1F9: 85E5 STA $E5 C0/B1FB: 9DF405 STA $05F4,X C0/B1FE: A5ED LDA $ED C0/B200: 85E6 STA $E6 C0/B202: 9DF505 STA $05F5,X C0/B205: A5EE LDA $EE C0/B207: 18 CLC C0/B208: 69CA ADC #$CA C0/B20A: 85E7 STA $E7 C0/B20C: 9FF60500 STA $0005F6,X C0/B210: E8 INX C0/B211: E8 INX C0/B212: E8 INX C0/B213: 86E8 STX $E8 C0/B215: A5EB LDA $EB C0/B217: 9DC405 STA $05C4,X C0/B21A: 4C6D9A JMP $9A6D Pause for xx units (gen. act. B4) C0/B21D: A5EB LDA $EB (LDX $EB?) C0/B21F: AA TAX C0/B220: 86E3 STX $E3 C0/B222: A902 LDA #$02 C0/B224: 4C5C9B JMP $9B5C Pause for 15 * xx units (gen. act. B5) C0/B227: A5EB LDA $EB C0/B229: 8D0242 STA $4202 C0/B22C: A90F LDA #$0F C0/B22E: 8D0342 STA $4203 C0/B231: EA NOP C0/B232: EA NOP C0/B233: EA NOP C0/B234: EA NOP C0/B235: AE1642 LDX $4216 C0/B238: 86E3 STX $E3 C0/B23A: A902 LDA #$02 C0/B23C: 4C5C9B JMP $9B5C Pause for 15 units (gen. act. 91) C0/B23F: A20F00 LDX #$000F C0/B242: 86E3 STX $E3 C0/B244: A901 LDA #$01 C0/B246: 4C5C9B JMP $9B5C Pause for 30 units (gen. act. 92) C0/B249: A21E00 LDX #$001E C0/B24C: 86E3 STX $E3 C0/B24E: A901 LDA #$01 C0/B250: 4C5C9B JMP $9B5C Pause for 45 units (gen. act. 93) C0/B253: A22D00 LDX #$002D C0/B256: 86E3 STX $E3 C0/B258: A901 LDA #$01 C0/B25A: 4C5C9B JMP $9B5C Pause for 60 units (gen. act. 94) C0/B25D: A23C00 LDX #$003C C0/B260: 86E3 STX $E3 C0/B262: A901 LDA #$01 C0/B264: 4C5C9B JMP $9B5C Pause for 120 units (gen. act. 95) C0/B267: A27800 LDX #$0078 C0/B26A: 86E3 STX $E3 C0/B26C: A901 LDA #$01 C0/B26E: 4C5C9B JMP $9B5C Increment $1F6D, if ($C0FD00 + ($1F6D)) >= $80, branch to aaaaaa + $CA0000/$0A0200 50% of the time, branch to aaaaaa (gen. act. BD) C0/B271: 202E06 JSR $062E (Random number generator) C0/B274: C980 CMP #$80 C0/B276: B013 BCS $B28B C0/B278: C221 REP #$21 C0/B27A: A5E5 LDA $E5 C0/B27C: 690400 ADC #$0004 C0/B27F: 85E5 STA $E5 C0/B281: 7B TDC C0/B282: E220 SEP #$20 (8 bit accum./memory) C0/B284: 65E7 ADC $E7 C0/B286: 85E7 STA $E7 C0/B288: 4C6D9A JMP $9A6D C0/B28B: A6EB LDX $EB C0/B28D: 86E5 STX $E5 C0/B28F: A5ED LDA $ED C0/B291: 18 CLC C0/B292: 69CA ADC #$CA C0/B294: 85E7 STA $E7 C0/B296: 4C6D9A JMP $9A6D Branch to aaaaaa (+$CA0000/$0A0200) if bit $1DC9 + $xx is clear (gen. act. B7) C0/B299: A5EB LDA $EB C0/B29B: 20EDBA JSR $BAED C0/B29E: B9C91D LDA $1DC9,Y C0/B2A1: 3FFCBAC0 AND $C0BAFC,X C0/B2A5: F013 BEQ $B2BA C0/B2A7: C221 REP #$21 C0/B2A9: A5E5 LDA $E5 C0/B2AB: 690500 ADC #$0005 C0/B2AE: 85E5 STA $E5 C0/B2B0: 7B TDC C0/B2B1: E220 SEP #$20 (8 bit accum./memory) C0/B2B3: 65E7 ADC $E7 C0/B2B5: 85E7 STA $E7 C0/B2B7: 4C6D9A JMP $9A6D C0/B2BA: A6EC LDX $EC C0/B2BC: 86E5 STX $E5 C0/B2BE: A5EE LDA $EE C0/B2C0: 18 CLC C0/B2C1: 69CA ADC #$CA C0/B2C3: 85E7 STA $E7 C0/B2C5: 4C6D9A JMP $9A6D If (t1 || t2 || ... || t8) branch; else continue (gen. act. C0-C7) C0/B2C8: A5EA LDA $EA C0/B2CA: 38 SEC C0/B2CB: E9BF SBC #$BF C0/B2CD: 0A ASL A C0/B2CE: 1A INC A C0/B2CF: A8 TAY C0/B2D0: 8420 STY $20 C0/B2D2: A00100 LDY #$0001 C0/B2D5: 841E STY $1E C0/B2D7: A41E LDY $1E C0/B2D9: C220 REP #$20 (16 bit accum./memory) C0/B2DB: B7E5 LDA [$E5],Y C0/B2DD: 3009 BMI $B2E8 C0/B2DF: E220 SEP #$20 (8 bit accum./memory) C0/B2E1: 20ABBA JSR $BAAB C0/B2E4: F02C BEQ $B312 C0/B2E6: 800A BRA $B2F2 C0/B2E8: 29FF7F AND #$7FFF C0/B2EB: E220 SEP #$20 C0/B2ED: 20ABBA JSR $BAAB C0/B2F0: D020 BNE $B312 C0/B2F2: A41E LDY $1E C0/B2F4: C8 INY C0/B2F5: C8 INY C0/B2F6: 841E STY $1E C0/B2F8: C420 CPY $20 C0/B2FA: D0DB BNE $B2D7 C0/B2FC: C8 INY C0/B2FD: C8 INY C0/B2FE: C8 INY C0/B2FF: C221 REP #$21 C0/B301: 98 TYA C0/B302: 65E5 ADC $E5 C0/B304: 85E5 STA $E5 C0/B306: E220 SEP #$20 (8 bit accum./memory) C0/B308: A5E7 LDA $E7 C0/B30A: 6900 ADC #$00 C0/B30C: 85E7 STA $E7 C0/B30E: 7B TDC C0/B30F: 4C6D9A JMP $9A6D C0/B312: A420 LDY $20 C0/B314: C220 REP #$20 (16 bit accum./memory) C0/B316: B7E5 LDA [$E5],Y C0/B318: 852A STA $2A C0/B31A: 7B TDC C0/B31B: E220 SEP #$20 (8 bit accum./memory) C0/B31D: C8 INY C0/B31E: C8 INY C0/B31F: B7E5 LDA [$E5],Y C0/B321: 18 CLC C0/B322: 69CA ADC #$CA C0/B324: 85E7 STA $E7 C0/B326: A42A LDY $2A C0/B328: 84E5 STY $E5 C0/B32A: 4C6D9A JMP $9A6D If (t1 && t2 && ... && t8) branch; else continue (gen. act. C8-CF) C0/B32D: A5EA LDA $EA C0/B32F: 38 SEC C0/B330: E9C7 SBC #$C7 C0/B332: 0A ASL A C0/B333: 1A INC A C0/B334: A8 TAY C0/B335: 8420 STY $20 C0/B337: A00100 LDY #$0001 C0/B33A: 841E STY $1E C0/B33C: A41E LDY $1E C0/B33E: C220 REP #$20 (16 bit accum./memory) C0/B340: B7E5 LDA [$E5],Y C0/B342: 3009 BMI $B34D C0/B344: E220 SEP #$20 (8 bit accum./memory) C0/B346: 20ABBA JSR $BAAB C0/B349: D031 BNE $B37C C0/B34B: 800A BRA $B357 C0/B34D: 29FF7F AND #$7FFF C0/B350: E220 SEP #$20 C0/B352: 20ABBA JSR $BAAB C0/B355: F025 BEQ $B37C C0/B357: A41E LDY $1E C0/B359: C8 INY C0/B35A: C8 INY C0/B35B: 841E STY $1E C0/B35D: C420 CPY $20 C0/B35F: D0DB BNE $B33C C0/B361: A420 LDY $20 C0/B363: C220 REP #$20 (16 bit accum./memory) C0/B365: B7E5 LDA [$E5],Y C0/B367: 852A STA $2A C0/B369: 7B TDC C0/B36A: E220 SEP #$20 (8 bit accum./memory) C0/B36C: C8 INY C0/B36D: C8 INY C0/B36E: B7E5 LDA [$E5],Y C0/B370: 18 CLC C0/B371: 69CA ADC #$CA C0/B373: 85E7 STA $E7 C0/B375: A42A LDY $2A C0/B377: 84E5 STY $E5 C0/B379: 4C6D9A JMP $9A6D C0/B37C: A420 LDY $20 C0/B37E: C8 INY C0/B37F: C8 INY C0/B380: C8 INY C0/B381: C221 REP #$21 C0/B383: 98 TYA C0/B384: 65E5 ADC $E5 C0/B386: 85E5 STA $E5 C0/B388: E220 SEP #$20 (8 bit accum./memory) C0/B38A: A5E7 LDA $E7 C0/B38C: 6900 ADC #$00 C0/B38E: 85E7 STA $E7 C0/B390: 7B TDC C0/B391: 4C6D9A JMP $9A6D Display character portrait (gen. act. E7) C0/B394: A5EB LDA $EB C0/B396: 8D9507 STA $0795 C0/B399: A902 LDA #$02 C0/B39B: 4C5C9B JMP $9B5C Load CaseWord with currently active party (gen. act. E4) C0/B39E: 7B TDC C0/B39F: 8DB51E STA $1EB5 C0/B3A2: AD6D1A LDA $1A6D (Load the active party) C0/B3A5: 1A INC A C0/B3A6: AA TAX C0/B3A7: A901 LDA #$01 C0/B3A9: CA DEX C0/B3AA: F003 BEQ $B3AF C0/B3AC: 0A ASL A C0/B3AD: 80FA BRA $B3A9 C0/B3AF: 8DB41E STA $1EB4 C0/B3B2: A901 LDA #$01 C0/B3B4: 4C5C9B JMP $9B5C Load CaseWord with available characters (gen. act. E3) C0/B3B7: 7B TDC C0/B3B8: 8DB41E STA $1EB4 C0/B3BB: 8DB51E STA $1EB5 C0/B3BE: A600 LDX $00 C0/B3C0: 9B TXY C0/B3C1: B96708 LDA $0867,Y C0/B3C4: 2907 AND #$07 C0/B3C6: F00A BEQ $B3D2 C0/B3C8: ADB41E LDA $1EB4 C0/B3CB: 1FFCBAC0 ORA $C0BAFC,X C0/B3CF: 8DB41E STA $1EB4 C0/B3D2: C221 REP #$21 C0/B3D4: 98 TYA C0/B3D5: 692900 ADC #$0029 C0/B3D8: A8 TAY C0/B3D9: 7B TDC C0/B3DA: E220 SEP #$20 (8 bit accum./memory) C0/B3DC: E8 INX C0/B3DD: E00800 CPX #$0008 C0/B3E0: D0DF BNE $B3C1 C0/B3E2: A600 LDX $00 C0/B3E4: 9B TXY C0/B3E5: B9AF09 LDA $09AF,Y C0/B3E8: 2907 AND #$07 C0/B3EA: F00A BEQ $B3F6 C0/B3EC: ADB51E LDA $1EB5 C0/B3EF: 1FFCBAC0 ORA $C0BAFC,X C0/B3F3: 8DB51E STA $1EB5 C0/B3F6: C221 REP #$21 C0/B3F8: 98 TYA C0/B3F9: 692900 ADC #$0029 C0/B3FC: A8 TAY C0/B3FD: 7B TDC C0/B3FE: E220 SEP #$20 (8 bit accum./memory) C0/B400: E8 INX C0/B401: E00800 CPX #$0008 C0/B404: D0DF BNE $B3E5 C0/B406: A901 LDA #$01 C0/B408: 4C5C9B JMP $9B5C Load CaseWord with the characters in the active party (gen. act. DE) C0/B40B: 7B TDC C0/B40C: 8DB41E STA $1EB4 (since A is still 8 bit, two STZ commands would work here) C0/B40F: 8DB51E STA $1EB5 C0/B412: A600 LDX $00 C0/B414: 9B TXY C0/B415: B96708 LDA $0867,Y C0/B418: 2907 AND #$07 C0/B41A: CD6D1A CMP $1A6D (Is this the active party?) C0/B41D: D00A BNE $B429 C0/B41F: ADB41E LDA $1EB4 C0/B422: 1FFCBAC0 ORA $C0BAFC,X C0/B426: 8DB41E STA $1EB4 C0/B429: C221 REP #$21 C0/B42B: 98 TYA C0/B42C: 692900 ADC #$0029 C0/B42F: A8 TAY C0/B430: 7B TDC C0/B431: E220 SEP #$20 (8 bit accum./memory) C0/B433: E8 INX C0/B434: E00800 CPX #$0008 C0/B437: D0DC BNE $B415 C0/B439: A600 LDX $00 C0/B43B: 9B TXY C0/B43C: B9AF09 LDA $09AF,Y C0/B43F: 2907 AND #$07 C0/B441: CD6D1A CMP $1A6D (Is this the active party?) C0/B444: D00A BNE $B450 C0/B446: ADB51E LDA $1EB5 C0/B449: 1FFCBAC0 ORA $C0BAFC,X C0/B44D: 8DB51E STA $1EB5 C0/B450: C221 REP #$21 C0/B452: 98 TYA C0/B453: 692900 ADC #$0029 C0/B456: A8 TAY C0/B457: 7B TDC C0/B458: E220 SEP #$20 (8 bit accum./memory) C0/B45A: E8 INX C0/B45B: E00800 CPX #$0008 C0/B45E: D0DC BNE $B43C C0/B460: A901 LDA #$01 C0/B462: 4C5C9B JMP $9B5C (gen. act. DF) C0/B465: 7B TDC C0/B466: 8DB41E STA $1EB4 (LDX $00, STX $1EB4...) C0/B469: 8DB51E STA $1EB5 (clear the caseword) C0/B46C: A600 LDX $00 C0/B46E: 9B TXY C0/B46F: B96708 LDA $0867,Y C0/B472: 2940 AND #$40 C0/B474: F00A BEQ $B480 C0/B476: ADB41E LDA $1EB4 (load caseword) C0/B479: 1FFCBAC0 ORA $C0BAFC,X (set a bit) C0/B47D: 8DB41E STA $1EB4 (save caseword) C0/B480: C221 REP #$21 C0/B482: 98 TYA C0/B483: 692900 ADC #$0029 C0/B486: A8 TAY C0/B487: 7B TDC C0/B488: E220 SEP #$20 (8 bit accum./memory) C0/B48A: E8 INX C0/B48B: E00800 CPX #$0008 (have we done 8 characters yet?) C0/B48E: D0DF BNE $B46F (branch if not) C0/B490: A600 LDX $00 C0/B492: 9B TXY C0/B493: B9AF09 LDA $09AF,Y C0/B496: 2940 AND #$40 C0/B498: F00A BEQ $B4A4 C0/B49A: ADB51E LDA $1EB5 (load caseword) C0/B49D: 1FFCBAC0 ORA $C0BAFC,X (set a bit) C0/B4A1: 8DB51E STA $1EB5 (save caseword) C0/B4A4: C221 REP #$21 C0/B4A6: 98 TYA C0/B4A7: 692900 ADC #$0029 C0/B4AA: A8 TAY C0/B4AB: 7B TDC C0/B4AC: E220 SEP #$20 (8 bit accum./memory) C0/B4AE: E8 INX C0/B4AF: E00800 CPX #$0008 (have we done 8 characters yet?) C0/B4B2: D0DF BNE $B493 (branch if not) C0/B4B4: A901 LDA #$01 C0/B4B6: 4C5C9B JMP $9B5C (advance event queue 1 byte) (gen. act. E2) C0/B4B9: A920 LDA #$20 C0/B4BB: 851A STA $1A C0/B4BD: A400 LDY $00 C0/B4BF: BB TYX C0/B4C0: B95018 LDA $1850,Y C0/B4C3: 2907 AND #$07 C0/B4C5: CD6D1A CMP $1A6D (Is this the active party?) C0/B4C8: D00D BNE $B4D7 C0/B4CA: B95018 LDA $1850,Y C0/B4CD: 2918 AND #$18 C0/B4CF: C51A CMP $1A C0/B4D1: B004 BCS $B4D7 C0/B4D3: 851A STA $1A C0/B4D5: 861E STX $1E C0/B4D7: E8 INX C0/B4D8: C8 INY C0/B4D9: C01000 CPY #$0010 C0/B4DC: D0E2 BNE $B4C0 C0/B4DE: C220 REP #$20 (16 bit accum./memory) C0/B4E0: A51E LDA $1E C0/B4E2: 0A ASL A C0/B4E3: AA TAX C0/B4E4: BFF3B4C0 LDA $C0B4F3,X C0/B4E8: 8DB41E STA $1EB4 C0/B4EB: 7B TDC C0/B4EC: E220 SEP #$20 (8 bit accum./memory) C0/B4EE: A901 LDA #$01 C0/B4F0: 4C5C9B JMP $9B5C Data (binary encoding) C0/B4F3: 0100 C0/B4F5: 0200 C0/B4F7: 0400 C0/B4F9: 0800 C0/B4FB: 1000 C0/B4FD: 2000 C0/B4FF: 4000 C0/B501: 8000 C0/B503: 0001 C0/B505: 0002 C0/B507: 0004 C0/B509: 0008 C0/B50B: 0010 C0/B50D: 0020 C0/B50F: 0040 C0/B511: 0080 Load CaseWord with event bits $2E0-$2EF (characters encountered so far?) (gen. act. E0) C0/B513: AEDC1E LDX $1EDC C0/B516: 8EB41E STX $1EB4 C0/B519: A901 LDA #$01 C0/B51B: 4C5C9B JMP $9B5C Load CaseWord with event bits $2F0-$2FF (characters on the roster?) (gen. act. E1) C0/B51E: AEDE1E LDX $1EDE C0/B521: 8EB41E STX $1EB4 C0/B524: A901 LDA #$01 C0/B526: 4C5C9B JMP $9B5C Set word ($1FC2 + XX) to YYYY (gen. act. E8) C0/B529: A5EB LDA $EB C0/B52B: 0A ASL A C0/B52C: A8 TAY C0/B52D: C220 REP #$20 (16 bit accum./memory) C0/B52F: A5EC LDA $EC C0/B531: 99C21F STA $1FC2,Y C0/B534: 7B TDC C0/B535: E220 SEP #$20 (8 bit accum./memory) C0/B537: A904 LDA #$04 C0/B539: 4C5C9B JMP $9B5C Take word ($1FC2 + XX) and add YYYY (gen. act. E9) C0/B53C: A5EB LDA $EB C0/B53E: 0A ASL A C0/B53F: A8 TAY C0/B540: C221 REP #$21 C0/B542: B9C21F LDA $1FC2,Y C0/B545: 65EC ADC $EC C0/B547: 9002 BCC $B54B C0/B549: A502 LDA $02 C0/B54B: 99C21F STA $1FC2,Y C0/B54E: 7B TDC C0/B54F: E220 SEP #$20 (8 bit accum./memory) C0/B551: A904 LDA #$04 C0/B553: 4C5C9B JMP $9B5C Take word ($1FC2 + XX) and subtract YYYY (gen. act. EA) C0/B556: A5EB LDA $EB C0/B558: 0A ASL A C0/B559: A8 TAY C0/B55A: C220 REP #$20 (16 bit accum./memory) C0/B55C: B9C21F LDA $1FC2,Y C0/B55F: 38 SEC C0/B560: E5EC SBC $EC C0/B562: B002 BCS $B566 C0/B564: A500 LDA $00 C0/B566: 99C21F STA $1FC2,Y C0/B569: 7B TDC C0/B56A: E220 SEP #$20 (8 bit accum./memory) C0/B56C: A904 LDA #$04 C0/B56E: 4C5C9B JMP $9B5C Compare word ($1FC2 + XX) to YYYY (gen. act. EB) C0/B571: A5EB LDA $EB C0/B573: 0A ASL A C0/B574: A8 TAY C0/B575: BEC21F LDX $1FC2,Y C0/B578: E4EC CPX $EC C0/B57A: 9006 BCC $B582 C0/B57C: F008 BEQ $B586 C0/B57E: A902 LDA #$02 C0/B580: 8006 BRA $B588 C0/B582: A904 LDA #$04 C0/B584: 8002 BRA $B588 C0/B586: A901 LDA #$01 C0/B588: 8DB41E STA $1EB4 (A = 4 for "less", = 1 for "equal", and = 2 for "greater") C0/B58B: 9CB51E STZ $1EB5 C0/B58E: A904 LDA #$04 C0/B590: 4C5C9B JMP $9B5C Set Event Bit 0 (gen. act. D0) C0/B593: A5EB LDA $EB C0/B595: 20EDBA JSR $BAED C0/B598: B9801E LDA $1E80,Y C0/B59B: 1FFCBAC0 ORA $C0BAFC,X C0/B59F: 99801E STA $1E80,Y C0/B5A2: A902 LDA #$02 C0/B5A4: 4C5C9B JMP $9B5C Set Event Bit 1 (gen. act. D2) C0/B5A7: A5EB LDA $EB C0/B5A9: 20EDBA JSR $BAED C0/B5AC: B9A01E LDA $1EA0,Y C0/B5AF: 1FFCBAC0 ORA $C0BAFC,X C0/B5B3: 99A01E STA $1EA0,Y C0/B5B6: A902 LDA #$02 C0/B5B8: 4C5C9B JMP $9B5C Set Event Bit 3 (gen. act. D4) C0/B5BB: A5EB LDA $EB C0/B5BD: 20EDBA JSR $BAED C0/B5C0: B9C01E LDA $1EC0,Y C0/B5C3: 1FFCBAC0 ORA $C0BAFC,X C0/B5C7: 99C01E STA $1EC0,Y C0/B5CA: A902 LDA #$02 C0/B5CC: 4C5C9B JMP $9B5C Clear Event Bit 0 (gen. act. D1) C0/B5CF: A5EB LDA $EB C0/B5D1: 20EDBA JSR $BAED C0/B5D4: B9801E LDA $1E80,Y C0/B5D7: 3F04BBC0 AND $C0BB04,X C0/B5DB: 99801E STA $1E80,Y C0/B5DE: A902 LDA #$02 C0/B5E0: 4C5C9B JMP $9B5C Clear Event Bit 1 (gen. act. D3) C0/B5E3: A5EB LDA $EB C0/B5E5: 20EDBA JSR $BAED C0/B5E8: B9A01E LDA $1EA0,Y C0/B5EB: 3F04BBC0 AND $C0BB04,X C0/B5EF: 99A01E STA $1EA0,Y C0/B5F2: A902 LDA #$02 C0/B5F4: 4C5C9B JMP $9B5C Clear Event Bit 2 (gen. act. D5) C0/B5F7: A5EB LDA $EB C0/B5F9: 20EDBA JSR $BAED C0/B5FC: B9C01E LDA $1EC0,Y C0/B5FF: 3F04BBC0 AND $C0BB04,X C0/B603: 99C01E STA $1EC0,Y C0/B606: A902 LDA #$02 C0/B608: 4C5C9B JMP $9B5C Set Event Bit 3 (gen. act. D6) C0/B60B: A5EB LDA $EB C0/B60D: 20EDBA JSR $BAED C0/B610: B9E01E LDA $1EE0,Y C0/B613: 1FFCBAC0 ORA $C0BAFC,X C0/B617: 99E01E STA $1EE0,Y C0/B61A: A902 LDA #$02 C0/B61C: 4C5C9B JMP $9B5C Set Event Bit 4 (gen. act. D8) C0/B61F: A5EB LDA $EB C0/B621: 20EDBA JSR $BAED C0/B624: B9001F LDA $1F00,Y C0/B627: 1FFCBAC0 ORA $C0BAFC,X C0/B62B: 99001F STA $1F00,Y C0/B62E: A902 LDA #$02 C0/B630: 4C5C9B JMP $9B5C Set Event Bit 5 (gen. act. DA) C0/B633: A5EB LDA $EB C0/B635: 20EDBA JSR $BAED C0/B638: B9201F LDA $1F20,Y C0/B63B: 1FFCBAC0 ORA $C0BAFC,X C0/B63F: 99201F STA $1F20,Y C0/B642: A902 LDA #$02 C0/B644: 4C5C9B JMP $9B5C Set Event Bit 6 (gen. act. DC) C0/B647: A5EB LDA $EB C0/B649: 20EDBA JSR $BAED C0/B64C: B9401F LDA $1F40,Y C0/B64F: 1FFCBAC0 ORA $C0BAFC,X C0/B653: 99401F STA $1F40,Y C0/B656: A902 LDA #$02 C0/B658: 4C5C9B JMP $9B5C Clear Event Bit 3 (gen. act. D7) C0/B65B: A5EB LDA $EB C0/B65D: 20EDBA JSR $BAED C0/B660: B9E01E LDA $1EE0,Y C0/B663: 3F04BBC0 AND $C0BB04,X C0/B667: 99E01E STA $1EE0,Y C0/B66A: A902 LDA #$02 C0/B66C: 4C5C9B JMP $9B5C Clear Event Bit 4 (gen. act. D9) C0/B66F: A5EB LDA $EB C0/B671: 20EDBA JSR $BAED C0/B674: B9001F LDA $1F00,Y C0/B677: 3F04BBC0 AND $C0BB04,X C0/B67B: 99001F STA $1F00,Y C0/B67E: A902 LDA #$02 C0/B680: 4C5C9B JMP $9B5C Clear Event Bit 5 (gen. act. DB) C0/B683: A5EB LDA $EB C0/B685: 20EDBA JSR $BAED C0/B688: B9201F LDA $1F20,Y C0/B68B: 3F04BBC0 AND $C0BB04,X C0/B68F: 99201F STA $1F20,Y C0/B692: A902 LDA #$02 C0/B694: 4C5C9B JMP $9B5C Clear Event Bit 6 (gen. act. DD) C0/B697: A5EB LDA $EB C0/B699: 20EDBA JSR $BAED C0/B69C: B9401F LDA $1F40,Y C0/B69F: 3F04BBC0 AND $C0BB04,X C0/B6A3: 99401F STA $1F40,Y C0/B6A6: A902 LDA #$02 C0/B6A8: 4C5C9B JMP $9B5C Set bit $1DC9 + $xx (gen. act. B8) C0/B6AB: A5EB LDA $EB C0/B6AD: 20EDBA JSR $BAED C0/B6B0: B9C91D LDA $1DC9,Y C0/B6B3: 1FFCBAC0 ORA $C0BAFC,X C0/B6B7: 99C91D STA $1DC9,Y C0/B6BA: A902 LDA #$02 C0/B6BC: 4C5C9B JMP $9B5C Clear bit $1DC9 + $xx (gen. act. B9) C0/B6BF: A5EB LDA $EB C0/B6C1: 20EDBA JSR $BAED C0/B6C4: B9C91D LDA $1DC9,Y C0/B6C7: 3F04BBC0 AND $C0BB04,X C0/B6CB: 99C91D STA $1DC9,Y C0/B6CE: A902 LDA #$02 C0/B6D0: 4C5C9B JMP $9B5C Branch to the nth address following B6, where n is the last item selected from a multiple-choice dialogue window. Each address is 3 bytes, added to $CA0000/$0A0200. (gen. act. B6) C0/B6D3: AD6E05 LDA $056E C0/B6D6: 0A ASL A C0/B6D7: 38 SEC C0/B6D8: 6D6E05 ADC $056E C0/B6DB: A8 TAY C0/B6DC: B7E5 LDA [$E5],Y C0/B6DE: 851E STA $1E C0/B6E0: C8 INY C0/B6E1: B7E5 LDA [$E5],Y C0/B6E3: 851F STA $1F C0/B6E5: C8 INY C0/B6E6: B7E5 LDA [$E5],Y C0/B6E8: 18 CLC C0/B6E9: 69CA ADC #$CA C0/B6EB: 85E7 STA $E7 C0/B6ED: A41E LDY $1E C0/B6EF: 84E5 STY $E5 C0/B6F1: 9C6E05 STZ $056E C0/B6F4: 4C6D9A JMP $9A6D Jump to indexed subroutine based on the state of bit $1EB4(x) Number of parameters = (nn * 3) + 1 (+1 accounts for the nn) (gen. act. BE) C0/B6F7: A5EB LDA $EB C0/B6F9: 0A ASL A C0/B6FA: 38 SEC C0/B6FB: 65EB ADC $EB C0/B6FD: 1A INC A C0/B6FE: 851E STA $1E C0/B700: 641F STZ $1F C0/B702: A00200 LDY #$0002 C0/B705: B7E5 LDA [$E5],Y C0/B707: 852A STA $2A C0/B709: C8 INY C0/B70A: B7E5 LDA [$E5],Y C0/B70C: 852B STA $2B C0/B70E: C8 INY C0/B70F: B7E5 LDA [$E5],Y C0/B711: 852C STA $2C C0/B713: C8 INY C0/B714: 4A LSR A C0/B715: 4A LSR A C0/B716: 4A LSR A C0/B717: 4A LSR A C0/B718: C221 REP #$21 C0/B71A: 69A001 ADC #$01A0 C0/B71D: 5A PHY C0/B71E: 20ABBA JSR $BAAB C0/B721: 7A PLY C0/B722: E220 SEP #$20 (8 bit accum./memory) C0/B724: C900 CMP #$00 C0/B726: D018 BNE $B740 C0/B728: C41E CPY $1E C0/B72A: D0D9 BNE $B705 C0/B72C: C221 REP #$21 C0/B72E: A5E5 LDA $E5 C0/B730: 651E ADC $1E C0/B732: 85E5 STA $E5 C0/B734: E220 SEP #$20 (8 bit accum./memory) C0/B736: A5E7 LDA $E7 C0/B738: 6900 ADC #$00 C0/B73A: 85E7 STA $E7 C0/B73C: 7B TDC C0/B73D: 4C6D9A JMP $9A6D C0/B740: A6E8 LDX $E8 (from C0/B726) C0/B742: A51E LDA $1E C0/B744: 18 CLC C0/B745: 65E5 ADC $E5 C0/B747: 9D9405 STA $0594,X C0/B74A: A5E6 LDA $E6 C0/B74C: 651F ADC $1F C0/B74E: 9D9505 STA $0595,X C0/B751: A5E7 LDA $E7 C0/B753: 6900 ADC #$00 C0/B755: 9D9605 STA $0596,X C0/B758: A52A LDA $2A C0/B75A: 85E5 STA $E5 C0/B75C: 9DF405 STA $05F4,X C0/B75F: A52B LDA $2B C0/B761: 85E6 STA $E6 C0/B763: 9DF505 STA $05F5,X C0/B766: A52C LDA $2C C0/B768: 2903 AND #$03 C0/B76A: 18 CLC C0/B76B: 69CA ADC #$CA C0/B76D: 85E7 STA $E7 C0/B76F: 9FF60500 STA $0005F6,X C0/B773: E8 INX C0/B774: E8 INX C0/B775: E8 INX C0/B776: 86E8 STX $E8 C0/B778: A901 LDA #$01 C0/B77A: 9DC405 STA $05C4,X C0/B77D: 4C6D9A JMP $9A6D Play song xx (gen. act. F0) C0/B780: A5EB LDA $EB C0/B782: 297F AND #$7F C0/B784: 8D0113 STA $1301 C0/B787: 8D801F STA $1F80 C0/B78A: A9FF LDA #$FF C0/B78C: 8D0213 STA $1302 (Set volume to FF (normal)) C0/B78F: A5EB LDA $EB C0/B791: 1004 BPL $B797 C0/B793: A914 LDA #$14 C0/B795: 8002 BRA $B799 C0/B797: A910 LDA #$10 C0/B799: 8D0013 STA $1300 C0/B79C: 220400C5 JSL $C50004 C0/B7A0: AD1042 LDA $4210 C0/B7A3: 10FB BPL $B7A0 C0/B7A5: A902 LDA #$02 C0/B7A7: 4C5C9B JMP $9B5C Play song xx, volume yy (gen. act. EF) C0/B7AA: A5EB LDA $EB C0/B7AC: 297F AND #$7F C0/B7AE: 8D0113 STA $1301 C0/B7B1: 8D801F STA $1F80 C0/B7B4: A5EC LDA $EC C0/B7B6: 8D0213 STA $1302 C0/B7B9: A5EB LDA $EB C0/B7BB: 1004 BPL $B7C1 C0/B7BD: A914 LDA #$14 C0/B7BF: 8002 BRA $B7C3 C0/B7C1: A910 LDA #$10 C0/B7C3: 8D0013 STA $1300 C0/B7C6: 220400C5 JSL $C50004 C0/B7CA: AD1042 LDA $4210 C0/B7CD: 10FB BPL $B7CA C0/B7CF: A903 LDA #$03 C0/B7D1: 4C5C9B JMP $9B5C Fade in song xx with speed yy (higher == slower) (gen. act. F1) C0/B7D4: A5EB LDA $EB C0/B7D6: 297F AND #$7F C0/B7D8: 8D0113 STA $1301 C0/B7DB: 8D801F STA $1F80 C0/B7DE: A920 LDA #$20 C0/B7E0: 8D0213 STA $1302 C0/B7E3: A5EB LDA $EB C0/B7E5: 1004 BPL $B7EB C0/B7E7: A914 LDA #$14 C0/B7E9: 8002 BRA $B7ED C0/B7EB: A910 LDA #$10 C0/B7ED: 8D0013 STA $1300 C0/B7F0: 220400C5 JSL $C50004 C0/B7F4: A981 LDA #$81 C0/B7F6: 8D0013 STA $1300 C0/B7F9: A5EC LDA $EC C0/B7FB: 8D0113 STA $1301 C0/B7FE: A9FF LDA #$FF C0/B800: 8D0213 STA $1302 C0/B803: 220400C5 JSL $C50004 C0/B807: AD1042 LDA $4210 C0/B80A: 10FB BPL $B807 C0/B80C: A903 LDA #$03 C0/B80E: 4C5C9B JMP $9B5C Fade out current song with speed xx (higher == slower) (gen. act. F2) C0/B811: A981 LDA #$81 C0/B813: 8D0013 STA $1300 C0/B816: A5EB LDA $EB C0/B818: 8D0113 STA $1301 C0/B81B: 9C0213 STZ $1302 C0/B81E: 220400C5 JSL $C50004 C0/B822: A902 LDA #$02 C0/B824: 4C5C9B JMP $9B5C Continue song that was previously paused, xx is unknown (gen. act. F3) C0/B827: A910 LDA #$10 C0/B829: 8D0013 STA $1300 C0/B82C: AD0913 LDA $1309 C0/B82F: 8D0113 STA $1301 C0/B832: 8D801F STA $1F80 C0/B835: 9C0213 STZ $1302 (set volume to 0) C0/B838: 220400C5 JSL $C50004 C0/B83C: A981 LDA #$81 C0/B83E: 8D0013 STA $1300 C0/B841: A5EB LDA $EB C0/B843: 8D0113 STA $1301 C0/B846: A9FF LDA #$FF C0/B848: 8D0213 STA $1302 (set volume to FF (normal)) C0/B84B: 220400C5 JSL $C50004 C0/B84F: A902 LDA #$02 C0/B851: 4C5C9B JMP $9B5C Play sound effect $EB (gen. act. F4) C0/B854: A5EB LDA $EB C0/B856: 20D302 JSR $02D3 C0/B859: A902 LDA #$02 C0/B85B: 4C5C9B JMP $9B5C (gen. act. F5) C0/B85E: A918 LDA #$18 C0/B860: 8D0013 STA $1300 C0/B863: A5EB LDA $EB C0/B865: 8D0113 STA $1301 C0/B868: A980 LDA #$80 C0/B86A: 8D0213 STA $1302 C0/B86D: 220400C5 JSL $C50004 C0/B871: A983 LDA #$83 C0/B873: 8D0013 STA $1300 C0/B876: A5EC LDA $EC C0/B878: 8D0113 STA $1301 C0/B87B: A5ED LDA $ED C0/B87D: 8D0213 STA $1302 C0/B880: 220400C5 JSL $C50004 C0/B884: A904 LDA #$04 C0/B886: 4C5C9B JMP $9B5C (gen. act. F6) C0/B889: A5EB LDA $EB C0/B88B: 8D0013 STA $1300 C0/B88E: A5EC LDA $EC C0/B890: 8D0113 STA $1301 C0/B893: A5ED LDA $ED C0/B895: 8D0213 STA $1302 C0/B898: 220400C5 JSL $C50004 C0/B89C: A904 LDA #$04 C0/B89E: 4C5C9B JMP $9B5C (gen. act. F7) C0/B8A1: A989 LDA #$89 C0/B8A3: 8D0013 STA $1300 C0/B8A6: 220400C5 JSL $C50004 C0/B8AA: A901 LDA #$01 C0/B8AC: 4C5C9B JMP $9B5C Pauses event queue, when it starts again is unknown, but it is APU-related (gen. act. F8) C0/B8AF: AD4221 LDA $2142 C0/B8B2: F001 BEQ $B8B5 C0/B8B4: 60 RTS C0/B8B5: A901 LDA #$01 (from C0/B8B2) C0/B8B7: 4C5C9B JMP $9B5C Pauses event queue, resume when APU matches parameter (gen. act. F9) C0/B8BA: A5EB LDA $EB C0/B8BC: CD4121 CMP $2141 C0/B8BF: F001 BEQ $B8C2 C0/B8C1: 60 RTS C0/B8C2: A902 LDA #$02 (from C0/B8BF) C0/B8C4: 4C5C9B JMP $9B5C Pause event queue until song that is playing finishes (this is probably bad if a song that plays never ends) (gen. act. FA) C0/B8C7: AD4321 LDA $2143 C0/B8CA: F001 BEQ $B8CD C0/B8CC: 60 RTS C0/B8CD: A901 LDA #$01 (from C0/B8CA) C0/B8CF: 4C5C9B JMP $9B5C Advance event queue one byte, assembly version of NOP (gen. act. FD) C0/B8D2: A901 LDA #$01 C0/B8D4: 4C709B JMP $9B70 (gen. act. FE) C0/B8D7: A6E8 LDX $E8 (Return) C0/B8D9: BDC405 LDA $05C4,X C0/B8DC: 3A DEC A C0/B8DD: 9DC405 STA $05C4,X (this could be accomplished with DEC $05C4,X) C0/B8E0: F012 BEQ $B8F4 C0/B8E2: BDF105 LDA $05F1,X C0/B8E5: 85E5 STA $E5 C0/B8E7: BDF205 LDA $05F2,X C0/B8EA: 85E6 STA $E6 C0/B8EC: BDF305 LDA $05F3,X C0/B8EF: 85E7 STA $E7 C0/B8F1: 4C6D9A JMP $9A6D C0/B8F4: A6E8 LDX $E8 (from C0/B8E0) C0/B8F6: CA DEX C0/B8F7: CA DEX C0/B8F8: CA DEX C0/B8F9: 86E8 STX $E8 C0/B8FB: BD9405 LDA $0594,X C0/B8FE: 85E5 STA $E5 C0/B900: BD9505 LDA $0595,X C0/B903: 85E6 STA $E6 C0/B905: BD9605 LDA $0596,X C0/B908: 85E7 STA $E7 C0/B90A: E400 CPX $00 C0/B90C: D009 BNE $B917 C0/B90E: AC0308 LDY $0803 C0/B911: B97D08 LDA $087D,Y C0/B914: 997C08 STA $087C,Y C0/B917: 4C6D9A JMP $9A6D (gen. act. 66) (gen. act. 67) (gen. act. 68) (gen. act. 69) (gen. act. 6D) (gen. act. 6E) (gen. act. 6F) (gen. act. 76) (gen. act. 83) (gen. act. 9E) (gen. act. 9F) (gen. act. A3) (gen. act. A4) (gen. act. A5) (gen. act. E5) (gen. act. E6) (gen. act. EC) (gen. act. ED) (gen. act. EE) (gen. act. FC) (gen. act. FF) C0/B91A: 60 RTS Invoke game loading screen (gen. act. AB) C0/B91B: A902 LDA #$02 C0/B91D: 8D0002 STA $0200 C0/B920: 20CAC6 JSR $C6CA (jump to C3/0000->C3/001B) C0/B923: AFF17F30 LDA $307FF1 C0/B927: 18 CLC C0/B928: 690D ADC #$0D C0/B92A: 8FF17F30 STA $307FF1 C0/B92E: 8D6D1F STA $1F6D (RNG index) C0/B931: 8DA11F STA $1FA1 (index when overworld encounter will occur) C0/B934: 8DA21F STA $1FA2 (index when town/dungeon encounter will occur) C0/B937: 8DA41F STA $1FA4 (overworld addition for encounter rate) C0/B93A: 8DA31F STA $1FA3 (town/dungeon addition for encounter rate) C0/B93D: 8DA51F STA $1FA5 (Veldt pack #, obviously $1FA1-$1FA5 will be the same at load up) C0/B940: AD0502 LDA $0205 C0/B943: 2980 AND #$80 C0/B945: 851A STA $1A C0/B947: ADDF1E LDA $1EDF C0/B94A: 297F AND #$7F C0/B94C: 051A ORA $1A C0/B94E: 8DDF1E STA $1EDF C0/B951: 6458 STZ $58 C0/B953: 20F36C JSR $6CF3 (calls equipment check function) C0/B956: 208603 JSR $0386 C0/B959: A901 LDA #$01 C0/B95B: 4C5C9B JMP $9B5C (gen. act. AC) C0/B95E: 2020BD JSR $BD20 C0/B961: A901 LDA #$01 C0/B963: 4C5C9B JMP $9B5C Show world tearing apart (gen. act. A9) C0/B966: 200505 JSR $0505 C0/B969: 207403 JSR $0374 (turn off H/DMA, auto joypad read, NMI, and the screen) C0/B96C: 220368C2 JSL $C26803 C0/B970: 201505 JSR $0515 C0/B973: 207403 JSR $0374 (turn off H/DMA, auto joypad read, NMI, and the screen) C0/B976: 207305 JSR $0573 C0/B979: AD0002 LDA $0200 C0/B97C: 2980 AND #$80 C0/B97E: 851A STA $1A C0/B980: ADDF1E LDA $1EDF C0/B983: 297F AND #$7F C0/B985: 051A ORA $1A C0/B987: 8DDF1E STA $1EDF C0/B98A: 208603 JSR $0386 C0/B98D: A901 LDA #$01 C0/B98F: 4C5C9B JMP $9B5C Show intro scene with Magiteks in the snowfield (gen. act. AA) C0/B992: 200505 JSR $0505 C0/B995: 207403 JSR $0374 (turn off H/DMA, auto joypad read, NMI, and the screen) C0/B998: 220068C2 JSL $C26800 C0/B99C: 201505 JSR $0515 (BRA $B970... >_>) C0/B99F: 207403 JSR $0374 (turn off H/DMA, auto joypad read, NMI, and the screen) C0/B9A2: 207305 JSR $0573 C0/B9A5: AD0002 LDA $0200 C0/B9A8: 2980 AND #$80 C0/B9AA: 851A STA $1A C0/B9AC: ADDF1E LDA $1EDF C0/B9AF: 297F AND #$7F C0/B9B1: 051A ORA $1A C0/B9B3: 8DDF1E STA $1EDF C0/B9B6: 208603 JSR $0386 C0/B9B9: A901 LDA #$01 C0/B9BB: 4C5C9B JMP $9B5C Show "The End" after a certain point in "Ending Theme #2," then play "The Prelude" afterwards (gen. act. BB) C0/B9BE: 207403 JSR $0374 (turn off H/DMA, auto joypad read, NMI, and the screen) C0/B9C1: 5C00F4E5 JMP $E5F400 Show train car ride out of the Magitek Factory (gen. act. AE) C0/B9C5: 200505 JSR $0505 C0/B9C8: 207403 JSR $0374 (turn off H/DMA, auto joypad read, NMI, and the screen) C0/B9CB: 0B PHD C0/B9CC: 8B PHB C0/B9CD: 08 PHP C0/B9CE: 221200EE JSL $EE0012 C0/B9D2: 28 PLP C0/B9D3: AB PLB C0/B9D4: 2B PLD C0/B9D5: 7B TDC C0/B9D6: 201505 JSR $0515 C0/B9D9: 207403 JSR $0374 (turn off H/DMA, auto joypad read, NMI, and the screen) C0/B9DC: 207305 JSR $0573 C0/B9DF: 208603 JSR $0386 C0/B9E2: A901 LDA #$01 C0/B9E4: 4C5C9B JMP $9B5C Show airship scene from the ending (gen. act. BF) C0/B9E7: 200505 JSR $0505 C0/B9EA: 207403 JSR $0374 (turn off H/DMA, auto joypad read, NMI, and the screen) C0/B9ED: 0B PHD C0/B9EE: 8B PHB C0/B9EF: 08 PHP C0/B9F0: 221500EE JSL $EE0015 C0/B9F4: 28 PLP C0/B9F5: AB PLB C0/B9F6: 2B PLD C0/B9F7: 7B TDC C0/B9F8: 201505 JSR $0515 C0/B9FB: 207403 JSR $0374 (turn off H/DMA, auto joypad read, NMI, and the screen) C0/B9FE: 207305 JSR $0573 C0/BA01: 208603 JSR $0386 C0/BA04: A901 LDA #$01 C0/BA06: 4C5C9B JMP $9B5C Delete all layer 3 rotating pyramids (gen. act. A6) C0/BA09: 9C8107 STZ $0781 C0/BA0C: 208D06 JSR $068D C0/BA0F: A901 LDA #$01 C0/BA11: 4C5C9B JMP $9B5C Create layer 3 rotating pyramid around NPC X (gen. act. A7) C0/BA14: A901 LDA #$01 C0/BA16: 8D8107 STA $0781 C0/BA19: A5EB LDA $EB C0/BA1B: 8D0242 STA $4202 C0/BA1E: A929 LDA #$29 C0/BA20: 8D0342 STA $4203 C0/BA23: EA NOP C0/BA24: EA NOP C0/BA25: EA NOP C0/BA26: AE1642 LDX $4216 C0/BA29: 8E7F07 STX $077F C0/BA2C: A902 LDA #$02 C0/BA2E: 4C5C9B JMP $9B5C (gen. act. BA) C0/BA31: A5EB LDA $EB C0/BA33: 8D0102 STA $0201 C0/BA36: 200505 JSR $0505 C0/BA39: 207403 JSR $0374 (turn off H/DMA, auto joypad read, NMI, and the screen) C0/BA3C: 221200C3 JSL $C30012 C0/BA40: 201505 JSR $0515 C0/BA43: 207403 JSR $0374 (turn off H/DMA, auto joypad read, NMI, and the screen) C0/BA46: 207305 JSR $0573 C0/BA49: 208603 JSR $0386 C0/BA4C: A902 LDA #$02 C0/BA4E: 4C5C9B JMP $9B5C Show Floating Island soaring into the sky (gen. act. A8) C0/BA51: 200505 JSR $0505 C0/BA54: 207403 JSR $0374 (turn off H/DMA, auto joypad read, NMI, and the screen) C0/BA57: 220668C2 JSL $C26806 C0/BA5B: 201505 JSR $0515 C0/BA5E: 207403 JSR $0374 (turn off H/DMA, auto joypad read, NMI, and the screen) C0/BA61: 207305 JSR $0573 C0/BA64: A901 LDA #$01 C0/BA66: 4C5C9B JMP $9B5C Show Title screen (gen. act. AD) C0/BA69: 200505 JSR $0505 C0/BA6C: 207403 JSR $0374 (turn off H/DMA, auto joypad read, NMI, and the screen) C0/BA6F: 220968C2 JSL $C26809 C0/BA73: 201505 JSR $0515 (BRA $BA5B... >_>) C0/BA76: 207403 JSR $0374 (turn off H/DMA, auto joypad read, NMI, and the screen) C0/BA79: 207305 JSR $0573 C0/BA7C: A901 LDA #$01 C0/BA7E: 4C5C9B JMP $9B5C C0/BA81: AC0308 LDY $0803 C0/BA84: B97F08 LDA $087F,Y C0/BA87: AA TAX C0/BA88: ADB61E LDA $1EB6 C0/BA8B: 29F0 AND #$F0 C0/BA8D: 1FFCBAC0 ORA $C0BAFC,X C0/BA91: 8DB61E STA $1EB6 C0/BA94: A506 LDA $06 C0/BA96: 100A BPL $BAA2 C0/BA98: ADB61E LDA $1EB6 C0/BA9B: 0910 ORA #$10 C0/BA9D: 8DB61E STA $1EB6 C0/BAA0: 8008 BRA $BAAA C0/BAA2: ADB61E LDA $1EB6 C0/BAA5: 29EF AND #$EF C0/BAA7: 8DB61E STA $1EB6 C0/BAAA: 60 RTS C0/BAAB: 20EDBA JSR $BAED (from C0/B2E1, C0/B346, C0/B71E) C0/BAAE: B9801E LDA $1E80,Y C0/BAB1: 3FFCBAC0 AND $C0BAFC,X C0/BAB5: 60 RTS C0/BAB6: 20EDBA JSR $BAED C0/BAB9: B9A01E LDA $1EA0,Y C0/BABC: 3FFCBAC0 AND $C0BAFC,X C0/BAC0: 60 RTS C0/BAC1: 20EDBA JSR $BAED C0/BAC4: B9E01E LDA $1EE0,Y C0/BAC7: 3FFCBAC0 AND $C0BAFC,X C0/BACB: 60 RTS C0/BACC: 20EDBA JSR $BAED C0/BACF: B9001F LDA $1F00,Y C0/BAD2: 3FFCBAC0 AND $C0BAFC,X C0/BAD6: 60 RTS C0/BAD7: 20EDBA JSR $BAED C0/BADA: B9201F LDA $1F20,Y C0/BADD: 3FFCBAC0 AND $C0BAFC,X C0/BAE1: 60 RTS C0/BAE2: 20EDBA JSR $BAED C0/BAE5: B9401F LDA $1F40,Y C0/BAE8: 3FFCBAC0 AND $C0BAFC,X C0/BAEC: 60 RTS C0/BAED: C220 REP #$20 (16 bit accum./memory) C0/BAEF: AA TAX C0/BAF0: 4A LSR A C0/BAF1: 4A LSR A C0/BAF2: 4A LSR A C0/BAF3: A8 TAY C0/BAF4: 7B TDC C0/BAF5: E220 SEP #$20 (8 bit accum./memory) C0/BAF7: 8A TXA C0/BAF8: 2907 AND #$07 C0/BAFA: AA TAX C0/BAFB: 60 RTS Data: bit LUT used by many, many things C0/BAFC: 0102 C0/BAFE: 0408 C0/BB00: 1020 C0/BB02: 4080 C0/BB04: FEFD C0/BB05: FBF7 C0/BB08: EFDF C0/BB0A: BF7F C0/BB0C: A600 LDX $00 (from C0/BE87) C0/BB0E: 9E801E STZ $1E80,X (clear all event bits) C0/BB11: E8 INX C0/BB12: E06000 CPX #$0060 C0/BB15: D0F7 BNE $BB0E C0/BB17: 60 RTS C0/BB18: A600 LDX $00 (from C0/BE8D) C0/BB1A: 9E401E STZ $1E40,X (set all treasure chests as not opened) C0/BB1D: E8 INX C0/BB1E: E03000 CPX #$0030 C0/BB21: D0F7 BNE $BB1A C0/BB23: 60 RTS C0/BB24: 48 PHA (from C0/0015) C0/BB25: DA PHX C0/BB26: 5A PHY C0/BB27: 8B PHB C0/BB28: 0B PHD C0/BB29: 08 PHP C0/BB2A: 7B TDC C0/BB2B: E220 SEP #$20 (8 bit accum./memory) C0/BB2D: C210 REP #$10 (16 bit index registers) C0/BB2F: 7B TDC C0/BB30: 48 PHA C0/BB31: AB PLB C0/BB32: ADD11D LDA $1DD1 (load battle bits) C0/BB35: 299F AND #$9F (mask out event timers elapsing in battle and displaying event timers) C0/BB37: 8DD11D STA $1DD1 (save battle bits) C0/BB3A: AD8811 LDA $1188 C0/BB3D: 2910 AND #$10 C0/BB3F: F008 BEQ $BB49 C0/BB41: ADD11D LDA $1DD1 (load battle bits) C0/BB44: 0940 ORA #$40 (set displaying of event timers) C0/BB46: 8DD11D STA $1DD1 (save battle bits) C0/BB49: AD8811 LDA $1188 C0/BB4C: 301A BMI $BB68 C0/BB4E: AE8911 LDX $1189 C0/BB51: F006 BEQ $BB59 C0/BB53: CA DEX C0/BB54: 8E8911 STX $1189 C0/BB57: 800F BRA $BB68 C0/BB59: AD8811 LDA $1188 C0/BB5C: 2920 AND #$20 C0/BB5E: F008 BEQ $BB68 C0/BB60: ADD11D LDA $1DD1 (load battle bits) C0/BB63: 0920 ORA #$20 (set event timer elapsed in battle) C0/BB65: 8DD11D STA $1DD1 (save battle bits) C0/BB68: AD8E11 LDA $118E C0/BB6B: 301A BMI $BB87 C0/BB6D: AE8F11 LDX $118F C0/BB70: F006 BEQ $BB78 C0/BB72: CA DEX C0/BB73: 8E8F11 STX $118F C0/BB76: 800F BRA $BB87 C0/BB78: AD8E11 LDA $118E C0/BB7B: 2920 AND #$20 C0/BB7D: F008 BEQ $BB87 C0/BB7F: ADD11D LDA $1DD1 (load battle bits) C0/BB82: 0920 ORA #$20 (set event timer elapsed in battle) C0/BB84: 8DD11D STA $1DD1 (save battle bits) C0/BB87: AD9411 LDA $1194 C0/BB8A: 301A BMI $BBA6 C0/BB8C: AE9511 LDX $1195 C0/BB8F: F006 BEQ $BB97 C0/BB91: CA DEX C0/BB92: 8E9511 STX $1195 C0/BB95: 800F BRA $BBA6 C0/BB97: AD9411 LDA $1194 C0/BB9A: 2920 AND #$20 C0/BB9C: F008 BEQ $BBA6 C0/BB9E: ADD11D LDA $1DD1 (load battle bits) C0/BBA1: 0920 ORA #$20 (set event timer elapsed in battle) C0/BBA3: 8DD11D STA $1DD1 (save battle bits) C0/BBA6: AD9A11 LDA $119A C0/BBA9: 301A BMI $BBC5 C0/BBAB: AE9B11 LDX $119B C0/BBAE: F006 BEQ $BBB6 C0/BBB0: CA DEX C0/BBB1: 8E9B11 STX $119B C0/BBB4: 800F BRA $BBC5 C0/BBB6: AD9A11 LDA $119A C0/BBB9: 2920 AND #$20 C0/BBBB: F008 BEQ $BBC5 C0/BBBD: ADD11D LDA $1DD1 (load battle bits) C0/BBC0: 0920 ORA #$20 (set event timer elapsed in battle) C0/BBC2: 8DD11D STA $1DD1 (save battle bits) C0/BBC5: 28 PLP C0/BBC6: 2B PLD C0/BBC7: AB PLB C0/BBC8: 7A PLY C0/BBC9: FA PLX C0/BBCA: 68 PLA C0/BBCB: 60 RTS C0/BBCC: AE8911 LDX $1189 (from C0/00D7) C0/BBCF: F004 BEQ $BBD5 C0/BBD1: CA DEX C0/BBD2: 8E8911 STX $1189 C0/BBD5: AE8F11 LDX $118F C0/BBD8: F004 BEQ $BBDE C0/BBDA: CA DEX C0/BBDB: 8E8F11 STX $118F C0/BBDE: AE9511 LDX $1195 C0/BBE1: F004 BEQ $BBE7 C0/BBE3: CA DEX C0/BBE4: 8E9511 STX $1195 C0/BBE7: AE9B11 LDX $119B C0/BBEA: F004 BEQ $BBF0 C0/BBEC: CA DEX C0/BBED: 8E9B11 STX $119B C0/BBF0: 60 RTS C0/BBF1: A400 LDY $00 (from C0/00D1) C0/BBF3: BE8911 LDX $1189,Y C0/BBF6: D06B BNE $BC63 C0/BBF8: BE8B11 LDX $118B,Y C0/BBFB: D005 BNE $BC02 C0/BBFD: B98D11 LDA $118D,Y C0/BC00: F061 BEQ $BC63 C0/BC02: A6E5 LDX $E5 C0/BC04: E00000 CPX #$0000 C0/BC07: D05A BNE $BC63 C0/BC09: A5E7 LDA $E7 C0/BC0B: C9CA CMP #$CA C0/BC0D: D054 BNE $BC63 C0/BC0F: AE0308 LDX $0803 C0/BC12: BD6A08 LDA $086A,X C0/BC15: 290F AND #$0F C0/BC17: D04A BNE $BC63 C0/BC19: BD6D08 LDA $086D,X C0/BC1C: 290F AND #$0F C0/BC1E: D043 BNE $BC63 C0/BC20: BE8B11 LDX $118B,Y C0/BC23: 86E5 STX $E5 C0/BC25: 8EF405 STX $05F4 C0/BC28: B98D11 LDA $118D,Y C0/BC2B: 18 CLC C0/BC2C: 69CA ADC #$CA C0/BC2E: 85E7 STA $E7 C0/BC30: 8DF605 STA $05F6 C0/BC33: A20000 LDX #$0000 C0/BC36: 8E9405 STX $0594 C0/BC39: A9CA LDA #$CA C0/BC3B: 8D9605 STA $0596 C0/BC3E: A901 LDA #$01 C0/BC40: 8DC705 STA $05C7 C0/BC43: A20300 LDX #$0003 C0/BC46: 86E8 STX $E8 C0/BC48: A6DA LDX $DA C0/BC4A: BD7C08 LDA $087C,X C0/BC4D: 9D7D08 STA $087D,X C0/BC50: A904 LDA #$04 C0/BC52: 9D7C08 STA $087C,X C0/BC55: 7B TDC C0/BC56: 998B11 STA $118B,Y C0/BC59: 998C11 STA $118C,Y C0/BC5C: 998D11 STA $118D,Y C0/BC5F: 20ED2F JSR $2FED C0/BC62: 60 RTS C0/BC63: C8 INY C0/BC64: C8 INY C0/BC65: C8 INY C0/BC66: C8 INY C0/BC67: C8 INY C0/BC68: C8 INY C0/BC69: C01800 CPY #$0018 C0/BC6C: D085 BNE $BBF3 C0/BC6E: 60 RTS C0/BC6F: A584 LDA $84 (from C0/00D4) C0/BC71: D05C BNE $BCCF C0/BC73: A559 LDA $59 C0/BC75: D058 BNE $BCCF C0/BC77: AC0308 LDY $0803 C0/BC7A: B96A08 LDA $086A,Y C0/BC7D: 290F AND #$0F C0/BC7F: D04E BNE $BCCF C0/BC81: B96908 LDA $0869,Y C0/BC84: D049 BNE $BCCF C0/BC86: B96D08 LDA $086D,Y C0/BC89: 290F AND #$0F C0/BC8B: D042 BNE $BCCF C0/BC8D: B96C08 LDA $086C,Y C0/BC90: D03D BNE $BCCF C0/BC92: A6E5 LDX $E5 C0/BC94: E00000 CPX #$0000 C0/BC97: D036 BNE $BCCF C0/BC99: A5E7 LDA $E7 C0/BC9B: C9CA CMP #$CA C0/BC9D: D030 BNE $BCCF C0/BC9F: B97C08 LDA $087C,Y C0/BCA2: 290F AND #$0F C0/BCA4: C902 CMP #$02 C0/BCA6: D027 BNE $BCCF C0/BCA8: C220 REP #$20 (16 bit accum./memory) C0/BCAA: A582 LDA $82 C0/BCAC: 0A ASL A C0/BCAD: AA TAX C0/BCAE: BF0200C4 LDA $C40002,X C0/BCB2: 851E STA $1E C0/BCB4: BF0000C4 LDA $C40000,X C0/BCB8: C51E CMP $1E C0/BCBA: F013 BEQ $BCCF C0/BCBC: AA TAX C0/BCBD: BF0000C4 LDA $C40000,X C0/BCC1: C5AF CMP $AF C0/BCC3: F00E BEQ $BCD3 C0/BCC5: 8A TXA C0/BCC6: 18 CLC C0/BCC7: 690500 ADC #$0005 C0/BCCA: AA TAX C0/BCCB: E41E CPX $1E C0/BCCD: D0EE BNE $BCBD C0/BCCF: 7B TDC C0/BCD0: E220 SEP #$20 (8 bit accum./memory) C0/BCD2: 60 RTS C0/BCD3: BF0200C4 LDA $C40002,X C0/BCD7: 85E5 STA $E5 C0/BCD9: 8DF405 STA $05F4 C0/BCDC: 7B TDC C0/BCDD: 997108 STA $0871,Y C0/BCE0: 997308 STA $0873,Y C0/BCE3: E220 SEP #$20 (8 bit accum./memory) C0/BCE5: 997E08 STA $087E,Y C0/BCE8: A901 LDA #$01 C0/BCEA: 8D8E07 STA $078E C0/BCED: BF0400C4 LDA $C40004,X C0/BCF1: 18 CLC C0/BCF2: 69CA ADC #$CA C0/BCF4: 85E7 STA $E7 C0/BCF6: 8DF605 STA $05F6 C0/BCF9: A20000 LDX #$0000 C0/BCFC: 8E9405 STX $0594 C0/BCFF: A9CA LDA #$CA C0/BD01: 8D9605 STA $0596 C0/BD04: A901 LDA #$01 C0/BD06: 8DC705 STA $05C7 C0/BD09: A20300 LDX #$0003 C0/BD0C: 86E8 STX $E8 C0/BD0E: B97C08 LDA $087C,Y C0/BD11: 997D08 STA $087D,Y C0/BD14: A904 LDA #$04 C0/BD16: 997C08 STA $087C,Y C0/BD19: 20087E JSR $7E08 C0/BD1C: 20ED2F JSR $2FED C0/BD1F: 60 RTS C0/BD20: 6458 STZ $58 C0/BD22: AC0308 LDY $0803 C0/BD25: A901 LDA #$01 C0/BD27: 996808 STA $0868,Y C0/BD2A: 207770 JSR $7077 C0/BD2D: A600 LDX $00 C0/BD2F: 9B TXY C0/BD30: B90016 LDA $1600,Y C0/BD33: 9D7808 STA $0878,X C0/BD36: B90116 LDA $1601,Y C0/BD39: 9D7908 STA $0879,X C0/BD3C: 7B TDC C0/BD3D: 9D7C08 STA $087C,X C0/BD40: 9D7D08 STA $087D,X C0/BD43: A901 LDA #$01 C0/BD45: 9D6808 STA $0868,X C0/BD48: C221 REP #$21 C0/BD4A: 8A TXA C0/BD4B: 692900 ADC #$0029 C0/BD4E: AA TAX C0/BD4F: 98 TYA C0/BD50: 18 CLC C0/BD51: 692500 ADC #$0025 C0/BD54: A8 TAY C0/BD55: 7B TDC C0/BD56: E220 SEP #$20 (8 bit accum./memory) C0/BD58: C05002 CPY #$0250 C0/BD5B: D0D3 BNE $BD30 C0/BD5D: AEA61F LDX $1FA6 C0/BD60: 8EFB07 STX $07FB C0/BD63: A902 LDA #$02 C0/BD65: 9D7C08 STA $087C,X C0/BD68: AD681F LDA $1F68 C0/BD6B: 8D4307 STA $0743 C0/BD6E: 203D6F JSR $6F3D C0/BD71: A0D907 LDY #$07D9 C0/BD74: 8CFD07 STY $07FD C0/BD77: 8CFF07 STY $07FF C0/BD7A: 8C0108 STY $0801 C0/BD7D: 204A71 JSR $714A C0/BD80: 200C52 JSR $520C C0/BD83: A980 LDA #$80 C0/BD85: 8DFA11 STA $11FA C0/BD88: A901 LDA #$01 C0/BD8A: 8584 STA $84 C0/BD8C: 60 RTS Working SRAM initializing, ie 7E/1600 - 7E/1FFF: C0/BD8D: A600 LDX $00 (from C0/007C) C0/BD8F: 9E0016 STZ $1600,X (set character stats to 0) C0/BD92: E8 INX C0/BD93: E05002 CPX #$0250 C0/BD96: D0F7 BNE $BD8F C0/BD98: A600 LDX $00 C0/BD9A: A9FF LDA #$FF C0/BD9C: 9D0016 STA $1600,X (set sprite to nothing) C0/BD9F: 9D1E16 STA $161E,X (set esper equipped to nothing) C0/BDA2: C221 REP #$21 C0/BDA4: 8A TXA C0/BDA5: 692500 ADC #$0025 C0/BDA8: AA TAX C0/BDA9: 7B TDC C0/BDAA: E220 SEP #$20 (8 bit accum./memory) C0/BDAC: E05002 CPX #$0250 C0/BDAF: D0E9 BNE $BD9A C0/BDB1: A600 LDX $00 C0/BDB3: 9E5018 STZ $1850,X (set setup of current parties to 0) C0/BDB6: E8 INX C0/BDB7: E01000 CPX #$0010 C0/BDBA: D0F7 BNE $BDB3 C0/BDBC: A600 LDX $00 C0/BDBE: A502 LDA $02 C0/BDC0: 9E6919 STZ $1969,X (set quantity of all items to 0) C0/BDC3: 9D6918 STA $1869,X ($02 holds #$FF, which for items is nothing) C0/BDC6: E8 INX C0/BDC7: E00001 CPX #$0100 C0/BDCA: D0F4 BNE $BDC0 C0/BDCC: A600 LDX $00 C0/BDCE: 9E6E1A STZ $1A6E,X (set current spell learned % to 0) C0/BDD1: E8 INX C0/BDD2: E08802 CPX #$0288 (have we done all spells for all characters yet?) C0/BDD5: D0F7 BNE $BDCE (branch if not) C0/BDD7: A600 LDX $00 C0/BDD9: 9EF61C STZ $1CF6,X (set morph time, and many other things to 0) C0/BDDC: E8 INX C0/BDDD: E05700 CPX #$0057 C0/BDE0: D0F7 BNE $BDD9 C0/BDE2: A600 LDX $00 C0/BDE4: BF403CCF LDA $CF3C40,X (SwdTech names) C0/BDE8: 9DF81C STA $1CF8,X (store to SRAM) C0/BDEB: E8 INX C0/BDEC: E03000 CPX #$0030 (have we done 48 letters yet?) C0/BDEF: D0F3 BNE $BDE4 (branch if not. Note, this renaming feature was never used in the US version, so this area of SRAM is free for other use) C0/BDF1: 9C691A STZ $1A69 (set esper's collected byte 1 to 0) C0/BDF4: 9C6A1A STZ $1A6A (set esper's collected byte 2 to 0) C0/BDF7: 9C6B1A STZ $1A6B (set esper's collected byte 3 to 0) C0/BDFA: 9C6C1A STZ $1A6C (set esper's collected byte 4 to 0) C0/BDFD: A600 LDX $00 C0/BDFF: 9EC91D STZ $1DC9,X (set all battle variables, and formations that will appear on the veldt to 0) C0/BE02: E8 INX C0/BE03: E05400 CPX #$0054 C0/BE06: D0F7 BNE $BDFF C0/BE08: A600 LDX $00 C0/BE0A: BFA07AC4 LDA $C47AA0,X C0/BE0E: 9D2C1D STA $1D2C,X (set Gau's learned rages) C0/BE11: E8 INX C0/BE12: E02000 CPX #$0020 (have we done all 32 bytes yet?) C0/BE15: D0F3 BNE $BE0A (branch if not) C0/BE17: AF64F5E6 LDA $E6F564 C0/BE1B: 8D291D STA $1D29 (set Strago's known lores, byte 1) C0/BE1E: AF65F5E6 LDA $E6F565 C0/BE22: 8D2A1D STA $1D2A (set Strago's known lores, byte 2) C0/BE25: AF66F5E6 LDA $E6F566 C0/BE29: 8D2B1D STA $1D2B (set Strago's known lores, byte 3) C0/BE2C: 9C6505 STZ $0565 C0/BE2F: A2FF7F LDX #$7FFF C0/BE32: 8E551D STX $1D55 (set R, G, and B for font to 31, aka white, although this is done in C3 already!) C0/BE35: A600 LDX $00 C0/BE37: BF021CED LDA $ED1C02,X C0/BE3B: 9D571D STA $1D57,X (set colors for wallpaper 1, or so it seems) C0/BE3E: E8 INX C0/BE3F: E00E00 CPX #$000E C0/BE42: D0F3 BNE $BE37 C0/BE44: A901 LDA #$01 C0/BE46: 8DF31F STA $1FF3 C0/BE49: 8DF41F STA $1FF4 C0/BE4C: 8DF51F STA $1FF5 C0/BE4F: 8DF61F STA $1FF6 C0/BE52: A600 LDX $00 C0/BE54: 8E8911 STX $1189 C0/BE57: 8E8F11 STX $118F C0/BE5A: 8E9511 STX $1195 C0/BE5D: 8E9B11 STX $119B C0/BE60: 8E8B11 STX $118B C0/BE63: 8E9111 STX $1191 C0/BE66: 8E9711 STX $1197 C0/BE69: 8E9D11 STX $119D C0/BE6C: 7B TDC C0/BE6D: 8D8D11 STA $118D C0/BE70: 8D9311 STA $1193 C0/BE73: 8D9911 STA $1199 C0/BE76: 8D9F11 STA $119F C0/BE79: 20B670 JSR $70B6 C0/BE7C: 9CF111 STZ $11F1 C0/BE7F: 209D98 JSR $989D C0/BE82: 6458 STZ $58 C0/BE84: 9C5905 STZ $0559 C0/BE87: 200CBB JSR $BB0C (clear all event bits) C0/BE8A: 202852 JSR $5228 (set all presence bits) C0/BE8D: 2018BB JSR $BB18 (close all treasure chests) C0/BE90: A20300 LDX #$0003 C0/BE93: 86E5 STX $E5 C0/BE95: 8EF405 STX $05F4 C0/BE98: A9CA LDA #$CA C0/BE9A: 85E7 STA $E7 C0/BE9C: 8DF605 STA $05F6 (CA/0003, which jumps to CA/5E33, which starts a new game) C0/BE9F: A20000 LDX #$0000 C0/BEA2: 8E9405 STX $0594 (hmmmm) C0/BEA5: A9CA LDA #$CA C0/BEA7: 8D9605 STA $0596 (this makes CA/0000, which is where the event code starts...) C0/BEAA: A901 LDA #$01 C0/BEAC: 8DC705 STA $05C7 C0/BEAF: A20300 LDX #$0003 C0/BEB2: 86E8 STX $E8 C0/BEB4: A902 LDA #$02 C0/BEB6: 8D7D08 STA $087D C0/BEB9: 6447 STZ $47 C0/BEBB: 60 RTS "Do everything when a map is loaded" C0/BEBC: 207403 JSR $0374 (from C0/00A4) C0/BEBF: 208A84 JSR $848A C0/BEC2: A558 LDA $58 C0/BEC4: D032 BNE $BEF8 C0/BEC6: C220 REP #$20 (16 bit accum./memory) C0/BEC8: AD641F LDA $1F64 (load current map) C0/BECB: 29FF01 AND #$01FF C0/BECE: 8D641F STA $1F64 (store the map) C0/BED1: 8582 STA $82 (store map for encounters?) C0/BED3: 7B TDC C0/BED4: E220 SEP #$20 (8 bit accum./memory) C0/BED6: 20AD1C JSR $1CAD C0/BED9: 6447 STZ $47 C0/BEDB: 9C7B07 STZ $077B C0/BEDE: A901 LDA #$01 C0/BEE0: 8585 STA $85 C0/BEE2: A600 LDX $00 C0/BEE4: 8E2711 STX $1127 C0/BEE7: 20B670 JSR $70B6 C0/BEEA: 207F17 JSR $177F C0/BEED: A600 LDX $00 C0/BEEF: 8E8C07 STX $078C C0/BEF2: 9C8B07 STZ $078B C0/BEF5: 20DA6E JSR $6EDA C0/BEF8: 204A71 JSR $714A C0/BEFB: 202746 JSR $4627 C0/BEFE: ADFA11 LDA $11FA C0/BF01: 2920 AND #$20 C0/BF03: D003 BNE $BF08 C0/BF05: 202917 JSR $1729 C0/BF08: AD661F LDA $1F66 C0/BF0B: 8D4105 STA $0541 C0/BF0E: AD671F LDA $1F67 C0/BF11: 8D4205 STA $0542 C0/BF14: 206D16 JSR $166D C0/BF17: A20048 LDX #$4800 C0/BF1A: 8E8B05 STX $058B C0/BF1D: A20050 LDX #$5000 C0/BF20: 8E8D05 STX $058D C0/BF23: A20058 LDX #$5800 C0/BF26: 8E8F05 STX $058F C0/BF29: A6E5 LDX $E5 C0/BF2B: D009 BNE $BF36 C0/BF2D: A5E7 LDA $E7 C0/BF2F: C9CA CMP #$CA C0/BF31: D003 BNE $BF36 C0/BF33: 20676F JSR $6F67 C0/BF36: 6484 STZ $84 C0/BF38: 6457 STZ $57 C0/BF3A: 6456 STZ $56 C0/BF3C: 644C STZ $4C C0/BF3E: 9C5E05 STZ $055E C0/BF41: 9C6705 STZ $0567 C0/BF44: 645A STZ $5A C0/BF46: 9C5A05 STZ $055A C0/BF49: 9C5B05 STZ $055B C0/BF4C: 9C5C05 STZ $055C C0/BF4F: 64BB STZ $BB C0/BF51: 64BA STZ $BA C0/BF53: A901 LDA #$01 C0/BF55: 8D9807 STA $0798 C0/BF58: 203816 JSR $1638 (get tile's layer properties) C0/BF5B: 209205 JSR $0592 C0/BF5E: 208D26 JSR $268D C0/BF61: 205F27 JSR $275F C0/BF64: 205C26 JSR $265C C0/BF67: 208328 JSR $2883 C0/BF6A: 20D715 JSR $15D7 C0/BF6D: 20174D JSR $4D17 C0/BF70: 20DA27 JSR $27DA C0/BF73: 20CE1C JSR $1CCE C0/BF76: 207B1B JSR $1B7B C0/BF79: 205C18 JSR $185C C0/BF7C: 20647F JSR $7F64 C0/BF7F: 200A56 JSR $560A C0/BF82: 2023C7 JSR $C723 C0/BF85: 20FE35 JSR $35FE C0/BF88: 202138 JSR $3821 C0/BF8B: 20A839 JSR $39A8 C0/BF8E: 20E90F JSR $0FE9 C0/BF91: 20EB50 JSR $50EB C0/BF94: 20E356 JSR $56E3 C0/BF97: 20D58E JSR $8ED5 C0/BF9A: 20178D JSR $8D17 C0/BF9D: 20F36C JSR $6CF3 C0/BFA0: 20B642 JSR $42B6 C0/BFA3: 20DB6A JSR $6ADB C0/BFA6: ADB61E LDA $1EB6 C0/BFA9: 0940 ORA #$40 C0/BFAB: 8DB61E STA $1EB6 (Set bit 6 of $1EB6 (event bit $1B6)) C0/BFAE: A558 LDA $58 C0/BFB0: D014 BNE $BFC6 C0/BFB2: 9CBE1E STZ $1EBE C0/BFB5: 9CBF1E STZ $1EBF C0/BFB8: 20A852 JSR $52A8 (Load NPC data) C0/BFBB: 205146 JSR $4651 C0/BFBE: ADB61E LDA $1EB6 C0/BFC1: 29BF AND #$BF C0/BFC3: 8DB61E STA $1EB6 (Clear bit 6 of $1EB6 (event bit $1B6)) C0/BFC6: 20C155 JSR $55C1 C0/BFC9: 205454 JSR $5454 C0/BFCC: 200451 JSR $5104 C0/BFCF: 203852 JSR $5238 C0/BFD2: ADFA11 LDA $11FA C0/BFD5: 3003 BMI $BFDA C0/BFD7: 4CA4C0 JMP $C0A4 Map is loaded, trigger an event (most of the time it's CA/5EB3) C0/BFDA: C220 REP #$20 (16 bit accum./memory) C0/BFDC: AD641F LDA $1F64 (load map) C0/BFDF: 29FF01 AND #$01FF C0/BFE2: 851E STA $1E C0/BFE4: 0A ASL A C0/BFE5: 18 CLC C0/BFE6: 651E ADC $1E C0/BFE8: AA TAX (pointer is 1.5x the map) C0/BFE9: 7B TDC C0/BFEA: E220 SEP #$20 (8 bit accum./memory) C0/BFEC: A9B2 LDA #$B2 C0/BFEE: 8D2406 STA $0624 (B2 = "call subroutine" for events) C0/BFF1: BF00FAD1 LDA $D1FA00,X (event pointer, low byte) C0/BFF5: 8D2506 STA $0625 C0/BFF8: 852A STA $2A C0/BFFA: BF01FAD1 LDA $D1FA01,X (event pointer, middle byte) C0/BFFE: 8D2606 STA $0626 C0/C001: 852B STA $2B C0/C003: BF02FAD1 LDA $D1FA02,X (event pointer, high byte) C0/C007: 8D2706 STA $0627 C0/C00A: 18 CLC C0/C00B: 69CA ADC #$CA C0/C00D: 852C STA $2C C0/C00F: A72A LDA [$2A] C0/C011: C9FE CMP #$FE (is it the "end event" command?) C0/C013: D003 BNE $C018 (branch if not) C0/C015: 4CA4C0 JMP $C0A4