Fast, slow, low, normal, good, and high are all relative to the original game. Decent and powerful are relative to the new game. Will probably need in game testing. Normal = Same as original Good = better than original Power Beam: Fast, low damage. Fast charge, decent damage. Decent PSA. 12, 15, 11, 50, 100 0C, 000F, 0B, 0032, 0064 Wave beam: Normal, normal damage. Normal charge, normal damage. Good PSA, powerbomb normal. 15, 40, 8, 120, 300, 300 0F, 0028, 08, 0078, 012C, 012C Ice beam: Normal, normal damage. Slow charge, high damage. Decent PSA, good powerbomb (2x original) 15, 30, 5, 150, 150, 180 0F, 001E, 05, 0096, 0096, 00B4 Ice/Wave Normal, slightly low damage. Slow charge, normal damage. Wave PSA. 15, 60, 5, 200, 300 0F, 003C, 05, 00C8, 012C Spazer beam: Slightly slow, good damage. Slightly slow charge, good damage. Normal PSA, obscenely strong power bomb (4x). 18, 70, 7, 200, 200, 1200 12, 0046, 07, 00C8, 00C8, 04B0 Wave/Spazer Slightly slow, good damage. Slightly slow charge, good damage. A bit better than wave PSA. 18, 120, 7, 360, 400 12, 0078, 07, 0168, 0190 Ice/Spazer Slightly slow, good damage. Slow charge, very good damage. Normal PSA. 18, 90, 5, 400, 200 12, 005A, 05, 0190, 00C8 Ice/Wave/Spazer Slow, normal damage. Slow charge, normal damage. Wave PSA. 21, 150, 5, 450, 400 15, 0096, 05, 01C2, 0190 Plasma beam: Normal, normal damage. Slightly slow charge, normal damage. POWERFUL PSA (1000?), POWERFUL powerbomb (750?) 15, 150, 7, 450, 1000, 750 0F, 0096, 07, 01C2, 03E8, 02EE Wave/Plasma Normal, good damage. Slightly slow charge, good damage. Obscene PSA (1500?) 15, 300, 7, 900, 1500 0F, 012C, 07, 0384, 05DC Ice/Plasma Normal, normal damage. Slow charge, good damage. Plasma PSA. 15, 200, 5, 800, 1000 0F, 00C8, 05, 0320, 03E8 Ice/Wave/Plasma Slightly slow, normal damage. Slow charge, normal damage. Same obscene PSA (1500?) 18, 300, 5, 1000, 1500 12, 012C, 05, 03E8, 05DC Changing beams/picking beams up disables current charge. Autofire is the same speed as manual I'll have to drastically change the scale/values for 0CD0. Probably x8 would be good. I'm going to have to drastically rewrite the animation routine, too. Stupid coding... I want to make missiles and supers more useful, too. Missiles will do 120 damage, super missiles 600, power bombs 400 90:BAFC PHP REP #$30 LDA $0A76 BNE BRANCH_ALPHA LDA $0CD0 BEQ BRANCH_BETA BPL BRANCH_GAMMA BRANCH_BETA: LDA $0617 AND #$FFFD STA $0617 PLP RTS BRANCH_ALPHA: LDA $0CD0 BEQ BRANCH_XI LDX #$0004 BRANCH_SIGMA: DEC $0CDC, X BEQ BRANCH_OMICRON BPL BRANCH_PI BRANCH_OMICRON: DEC $0CD6, X BNE BRANCH_RHO CPX #$0004 BNE BRANCH_PI STZ $0CD0 BRA BRANCH_PI BRANCH_RHO: LDA #$0003 STA $0CDC, X BRANCH_PI: PHX JSR $BBE1 ; $83BE1 IN ROM PLX DEX DEX BPL BRANCH_SIGMA BRANCH_XI: PLP RTS BRANCH_IOTA: LDA #$0000 STA $0CD6, X BRA AddCounter BRANCH_GAMMA: LDA $0CD0 CMP #$0078 BMI BRANCH_BETA CMP #$0080 BMI BRANCH_ZETA LDA $0617 BIT #$0002 BNE BRANCH_ZETA ORA #$0002 STA $0617 LDA #$0008 JSL $80902B ; $102B IN ROM BRANCH_ZETA: LDX #$0000 BRANCH_NU: DEC $0CDC, X BPL BRANCH_THETA INC $0CD6, X LDA $0CD6, X CLC ADC $C481, X TAY LDA $0000, Y AND #$00FF CMP #$00FF BEQ BRANCH_IOTA CMP #$00FE BNE BRANCH_LAMBDA LDA $0001, Y ORA #$FF00 ADC $0CD6, X STA $0CD6, X AddCounter: CLC ADC $C481, X TAY BRANCH_LAMBDA: LDA $0000, Y AND #$00FF STA $0CDC, X BRANCH_THETA: PHX JSR $BBE1 ; $83BE1 IN ROM PLX LDA $0CD0 CMP #$00F0 BMI BRANCH_MU INX INX CPX #$0006 BMI BRANCH_NU LDX #$0010 LDA $0CD0 CMP #$0200 BPL StoreAnim LDX #$0008 StoreAnim: TXA ORA $0CD6 STA $0CD6 BRANCH_MU: PLP RTS 08C230AD760AD012ADD00CF0021042AD170629FDFF8D17062860ADD00CF028A20400DEDC0CF0021015DED60CD00AE00400D00B9CD00C8006A903009DDC0CDA20E1BBFACACA10DB2860A900009DD60C8051ADD00CC9780030B6C980003015AD1706890200D00D0902008D1706A90800222B9080A20000DEDC0C1035FED60CBDD60C187D81C4A8B9000029FF00C9FF00F0B8C9FE00D011B901000900FF7DD60C9DD60C187D81C4A8B9000029FF009DDC0CDA20E1BBFAADD00CC9F000301CE8E8E0060030B2A21000ADD00CC900021003A208008A0DD60C8DD60C2860 90:C487 03030303FEFD030303030303FEFD030303030303FEFD0303030303030303FEF2 9B:C079 Fix for Grapple ORA #$FF00 STA $12 LDA $0CD6 CLC ADC $12 0900FF8512ADD60C186512 82:BE47, change to 8000 Bank 90 A4F9, change to E001 A748, change to E001 B836, change to E001 B860, change to E001 C0B7, change to E001 D054, change to 8000 DE4C, change to 8000 F1BA, change to 7800 F495, change to 8000 F4C3, change to 8000 F522, change to 8000 F5D3, change to 8000 Bank 91 D756, change to E001 D92D, change to 8000 E6C0, change to 8000 Bank 93 ;Beam Damages 8431: 0F00 8447: 4600 845D: 5A00 8473: 9600 8489: 2C01 849F: 1E00 84B5: 2800 84CB: 9600 84E1: 3C00 84F7: 7800 850D: 2C01 8523: C800 8539: 3200 854F: C800 8565: 9001 857B: C201 8591: E803 85A7: 9600 85BD: C201 85D3: 7800 85E9: C800 85FF: 6801 8615: 2003 862B: 8403 8641: 7800 ;Missiles 8657: 5802 ;Supers 8671: 9001 ;Power bombs 90:B843 LDA $0CD0 BEQ #$09 ;Fire CMP #$03C0 BPL #$29 ;Cap PLP JMP $F7E9 Fire: JSR $F7E9 ADD00CF009C9C0031029284CE9F720E9F7 90:F7E9 ;NewChargeRoutine LDA $09A6 AND #$000F ASL TAX LDA $F7D0,X TAX LDA $09A6 BIT #$2000 BEQ SkipTCharge LDA $0CD0 CMP #$01E0 BPL SkipTCharge LDA $09C2 CMP #$0032 BPL TCharge LDA $09A6 AND #$DFFF STA $09A6 BRA SkipTCharge TCharge: DEC $09C2 TXA CLC ADC #$0006 TAX SkipTCharge: LDA $09A6 BIT #$4000 BEQ Skip3Way TXA LSR TAX Skip3Way: TXA CLC ADC $0CD0 STA $0CD0 RTS ADA609290F000AAABDD0F7AAADA609890020F024ADD00CC9E001101CADC209C93200100BADA60929FFDF8DA6098009CEC2098A18690600AAADA609890040F0038A4AAA8A186DD00C8DD00C60 90:F7D0 ;BeamChargeSpeed 0B0008000500050007000700050005000700070005000500 90:C254 and 90:C283 ;Beam cooldown 0C0F0F0F121212150F0F0F12 90:C264 ;Charge beam cooldown 121919191D1D1D211919191D 90:CDD4 227080B8 B8:8070 LDA #$00B4 STA $0C2C,X LDA #$912F STA $0C40,X LDA #$0008 STA $0BB4,X STA $0BC8,X LDA #$0001 STA $0C54,X RTL A9B4009D2C0CA92F919D400CA908009DB40B9DC80BA901009D540C6B 93:86AB B004 93:8685 EE02 A0:A4CC C90400D00C2020F8 A0:F820 LDA $09A6 AND #$00FF ASL TAX LDA $A0F830,X TAY RTS ADA60929FF000AAABF30F8A0A860 A0:F830 64002C0196002C01C8009001C8009001E803DC05E803DC05 90:AC26 2040F8 90:F840 ;New cooldown routine DEC A BEQ End PHA LDA $09A6 BPL Fail LDA $09C2 CMP #$0032 BMI Disable DEC $09C2 PLA DEC RTS Disable: LDA $09A6 AND #$7FFF STA $09A6 Fail: PLA End: RTS 3AF01E48ADA6091017ADC209C932003006CEC209683A60ADA60929FF7F8DA6096860 90:CD79, CDEF, CE79, CEE4 EECC0C 90:F870 ;Double cooldown for 3-way PHA LDA $09A6 BIT #$4000 BEQ End PLA ASL STA $0CCC RTS End: PLA STA $0CCC RTS 48ADA609890040F006680A8DCC0C60688DCC0C60 90:AC32 ;Disable x-ray scope cooldown thing 60 90:B82A, B857, B86A ;Redirect to 3-way check, uncharged 4CC3F8 See 90B887.txt for the sound/stack fix 90:F8C2 ;3-Way firing LDA $0A76 BEQ BRANCH_ALPHA JMP $BCD1 ; Hyper Beam. BRANCH_ALPHA: PLP LDA $09A6 BIT #$4000 BNE Alpha Straight: JSR $AC39 BCS FireNormal SEnd: JMP $B895 FireNormal: JSR $B8A9 JSL $90B197 ; Sets up speed LDX $14 LDA $0C18,X PHA AND #$003F TAY LDA $C254, Y AND #$00FF JSR $F870 PLA AND #$000F ASL A TAY LDA $C28F,Y JSL $809021 ; Plays sounds RTS Alpha: ;BeamOne: Straight JSR $AC39 BCC SEnd JSR $B8A9 JSL $90B197 ; Sets up speed LDX $14 LDA $0C18,X PHA AND #$000F ASL A TAY LDA $C28F,Y JSL $809021 ; Plays sounds ;BeamTwo: Up DEC $0CCC JSR $AC39 BCC EndB JSR $B8A9 LDX $14 LDA $0A1E CMP #$0004 BEQ TwoLeft LDA $0C04,X DEC CMP #$0004 BEQ TwoDecAgain CMP #$FFFF BNE TwoFix LDA #$0009 TwoDecAgain: DEC BRA TwoFix TwoLeft: LDA $0C04,X INC CMP #$0005 BEQ TwoIncAgain CMP #$000A BNE TwoFix TDC ;Go 1 byte LDA #$0000. XD TwoIncAgain: INC TwoFix: JSR $F888 ;FixBeam LDX $0DDE JSL $90B197 ; Sets up speed ;BeamThree: Down STZ $0CCC JSR $AC39 BCS ContinueB EndB: PLA AND #$003F TAY LDA $C254, Y AND #$00FF JSR $F870 RTS ContinueB: JSR $B8A9 LDX $14 LDA $0A1E CMP #$0004 BNE ThreeRight LDA $0C04,X DEC CMP #$0004 BEQ ThreeDecAgain CMP #$FFFF BNE ThreeFix LDA #$0009 ThreeDecAgain: DEC BRA ThreeFix ThreeRight: LDA $0C04,X INC CMP #$0005 BEQ ThreeIncAgain CMP #$000A BNE ThreeFix TDC ThreeIncAgain: INC ThreeFix: JSR $F888 ;FixBeam LDX $0DDE JSL $90B197 ; Sets up speed BRA EndB AD760AF0034CD1BC28ADA609890040D0302039ACB0034C95B820A9B82297B190A614BD180C48293F00A8B954C229FF002070F868290F000AA8B98FC222219080602039AC90D020A9B82297B190A614BD180C48290F000AA8B98FC222219080CECC0C2039AC904320A9B8A614AD1E0AC90400F014BD040C3AC90400F008C9FFFFD016A909003A8010BD040C1AC90500F006C90A00D0027B1A2088F8AEDE0D2297B1909CCC0C2039ACB00F68293F00A8B954C229FF002070F86020A9B8A614AD1E0AC90400D014BD040C3AC90400F008C9FFFFD016A909003A8010BD040C1AC90500F006C90A00D0027B1A2088F8AEDE0D2297B19080B4 90:F888 ;FixBeam: STA $0C04,X ASL STA $12 TXY LDA $0C18,X BIT #$0010 BEQ Uncharged SBC #$0003 Uncharged: AND #$001F ASL TAX LDA $9383C1,X ADC $12 TAX LDA $930002,X STA $0C40,Y TAX LDA $930004,X AND #$00FF STA $0BB4,Y LDA $930005,X AND #$00FF STA $0BC8,Y RTS 9D040C0A85129BBD180C891000F003E90300291F000AAABFC183936512AABF02009399400CAABF04009329FF0099B40BBF05009329FF0099C80B60 90:B873 ;Redirect to 3-way charge beam 4CB9F9 90:F9B9 ;3-Way charge beams PLP LDA $09A6 BIT #$4000 BNE Alpha Straight: JSR $AC39 BCS FireStraight SEnd: JMP $B98B FireStraight: JSR $B996 JSL $90B197 ; Sets up speed LDX $14 LDA $0C18,X PHA AND #$003F TAY LDA $C254, Y AND #$00FF JSR $F870 PLA AND #$000F ASL A TAY LDA $C2A7, Y ; Sound? Guessing JSL $809021 ; Plays sounds RTS Alpha: ;BeamOne: Straight JSR $AC39 BCC SEnd JSR $B996 JSL $90B197 ; Sets up speed LDX $14 LDA $0C18,X PHA AND #$000F ASL A TAY LDA $C2A7, Y ; Sound? Guessing JSL $809021 ; Plays sounds ;BeamTwo: Up DEC $0CCC JSR $AC39 BCC EndB JSR $B996 LDX $14 LDA $0A1E CMP #$0004 BEQ TwoLeft LDA $0C04,X DEC CMP #$0004 BEQ TwoDecAgain CMP #$FFFF BNE TwoFix LDA #$0009 TwoDecAgain: DEC BRA TwoFix TwoLeft: LDA $0C04,X INC CMP #$0005 BEQ TwoIncAgain CMP #$000A BNE TwoFix TDC ;Go 1 byte LDA #$0000. XD TwoIncAgain: INC TwoFix: JSR $F888 ;FixBeam LDX $0DDE JSL $90B197 ; Sets up speed ;BeamThree: Down STZ $0CCC JSR $AC39 BCS ContinueB EndB: PLA AND #$003F TAY LDA $C254, Y AND #$00FF JSR $F870 RTS ContinueB: JSR $B996 LDX $14 LDA $0A1E CMP #$0004 BNE ThreeRight LDA $0C04,X DEC CMP #$0004 BEQ ThreeDecAgain CMP #$FFFF BNE ThreeFix LDA #$0009 ThreeDecAgain: DEC BRA ThreeFix ThreeRight: LDA $0C04,X INC CMP #$0005 BEQ ThreeIncAgain CMP #$000A BNE ThreeFix TDC ThreeIncAgain: INC ThreeFix: JSR $F888 ;FixBeam LDX $0DDE JSL $90B197 ; Sets up speed BRA EndB 28ADA609890040D0302039ACB0034C8BB92096B92297B190A614BD180C48293F00A8B954C229FF002070F868290F000AA8B9A7C222219080602039AC90D02096B92297B190A614BD180C48290F000AA8B9A7C222219080CECC0C2039AC90432096B9A614AD1E0AC90400F014BD040C3AC90400F008C9FFFFD016A909003A8010BD040C1AC90500F006C90A00D0027B1A2088F8AEDE0D2297B1909CCC0C2039ACB00F68293F00A8B954C229FF002070F8602096B9A614AD1E0AC90400D014BD040C3AC90400F008C9FFFFD016A909003A8010BD040C1AC90500F006C90A00D0027B1A2088F8AEDE0D2297B19080B4