Um. Apparently the edits in this were never actually followed. Original data at 80:E000 is still used. Graphics compressed at A80D8 (95:80D8) (?) (6+7 of IPS) Call to decompress graphics at 8B:9293 and 8B:9BC8 (1+2 of IPS) ::EDIT:: Let's leave them in the original place. ::/EDIT:: Original Sprite (?) PLM-like loop at 8B:9746 PHP REP #$30 PHB LDX #$001E BRANCH_GAMMA: LDA $1A5D, X BEQ BRANCH_ALPHA PEA #$8C00 PLB PLB LDY $1A5D, X ;Instruction LDA $1ABD, X ;Pallete STA $16 LDA $1A7D, X ;X-position SEC SBC $0911 ;X-Scroll STA $14 LDA $1A9D, X ;Y-position SEC SBC $0915 ;Y-Scroll STA $12 BIT #$FF00 BNE BRANCH_BETA CLC ADC #$0080 CMP #$01FF BCS BRANCH_ALPHA JSL $81879F ; $879F IN ROM BRA BRANCH_ALPHA BRANCH_BETA: CLC ADC #$0080 CMP #$01FF BCS BRANCH_ALPHA JSL $818853 ; $8853 IN ROM BRANCH_ALPHA: DEX DEX BPL BRANCH_GAMMA PLB PLP RTS Pointers to SM Sprite tiles at 8B:A0C7 and 8B:A0CD (4 of IPS) First 2 bytes: Size Byte 1 (+$14): 0370 Byte 1/2 (+$14): Bit 9 may set high X position bit Bit 16: Size of sprite Byte 2: Otherwise unused? Byte 3 (+$12): 0371, unless not inside screen boundaries (?) Byte 4/5: 0372/0373. Pallete forced to be $16. Original SM Sprite tiles at 8C:879D New tiles at 8C:F3F0 2700 ;Changing to 4100 ? 5800189C34 4800F81E34 38C2F00C34 48C2108A34 38C2108834 28C2108634 50C2008434 40C2008234 30C2008034 18C2106E34 08C2106C34 F8C3106A34 E8C3106834 D8C3106634 C8C3106434 B8C3106234 A8C3106034 20C2004E34 10C2004C34 00C2004A34 F0C3004834 E0C3004634 D0C3004434 C0C3004234 B0C3004034 28C2F02E34 18C2F02C34 08C2F02A34 F8C3F02834 E8C3F02634 D8C3F02434 C8C3F02234 B8C3F02034 20C2E00A34 10C2E00834 00C2E00634 F0C3E00434 E0C3E00234 D0C3E00034 New graphics at 6000 (80:E000), from InsanityTitle (8 of IPS) ::EDIT:: Let's not, after all ::/EDIT:: New 8B:9746 routine (3 of IPS) PHP REP #$30 PHB LDX #$001E BRANCH_GAMMA: LDY $1A5D, X BEQ BRANCH_ALPHA PEA $8C00 PLB PLB LDA $1ABD, X STA $16 LDA $1A7D, X SEC SBC $0911 STA $14 LDA $1A9D, X SEC SBC $0915 STA $12 BIT #$FF00 CLC BNE BRANCH_BETA ADC #$0080 CMP #$01FF BCS BRANCH_ALPHA JSL $81879F ; $879F IN ROM JMP $F760 BRANCH_BETA: ADC #$0080 CMP #$01FF BCS BRANCH_ALPHA JSL $818853 ; $8853 IN ROM BRANCH_ALPHA: DEX DEX BPL BRANCH_GAMMA PLB PLP RTS 08C2308BA21E00BC5D1AF03DF4008CABABBDBD1A8516BD7D1A38ED11098514BD9D1A38ED150985128900FF18D00F698000C9FF01B013229F87814C60F7698000C9FF01B00422538881CACA10BAAB2860 8B:F760 (9 of IPS) CPY #$F541 BEQ InsanityTitle Return: JMP $978F InsanityTitle: PHX LDA $05E5 AND #$001F CMP #$0008 BPL SkipToggle TAX LDA $82B7C9,X EOR $056E STA $056E ;Ok, I toggled the invisible bits. Now, I need to clear the sprites associated with the set bits SkipToggle: LDA $056E LDX #$00F0 LSR BCC Skip1 STX $040D STX $0411 Skip1: LSR BCC Skip2 STX $0415 STX $0419 STX $041D STX $0421 Skip2: LSR BCC Skip3 STX $0425 STX $0429 STX $042D STX $0431 Skip3: LSR BCC Skip4 STX $0435 STX $0439 STX $043D STX $0441 Skip4: LSR BCC Skip5 STX $0445 STX $0449 STX $044D STX $0451 Skip5: LSR BCC Skip6 STX $0455 STX $0459 Skip6: LSR BCC Skip7 STX $0465 STX $0469 STX $045D STX $0461 Skip7: LSR BCC Skip8 STX $0475 STX $0479 STX $046D STX $0471 Skip8: PLX JMP $978F C041F5F0034C8F97DAADE505291F00C90800100BAABFC9B7824D6E058D6E05AD6E05A2F0004A90068E0D048E11044A900C8E15048E19048E1D048E21044A900C8E25048E29048E2D048E31044A900C8E35048E39048E3D048E41044A900C8E45048E49048E4D048E51044A90068E55048E59044A900C8E65048E69048E5D048E61044A900C8E75048E79048E6D048E7104FA4C8F97 SM + Insanity sprite at 8C:F3F0: (5 of ips) 4300 ;Testing with 2900 5800109C34 4800F01E34 38C2E80C34 48C2088A34 38C2088834 28C2088634 50C2F88434 40C2F88234 30C2F88034 18C2086E34 08C2086C34 F8C3086A34 E8C3086834 D8C3086634 C8C3086434 B8C3086234 A8C3086034 20C2F84E34 10C2F84C34 00C2F84A34 F0C3F84834 E0C3F84634 D0C3F84434 C0C3F84234 B0C3F84034 28C2E82E34 18C2E82C34 08C2E82A34 F8C3E82834 E8C3E82634 D8C3E82434 C8C3E82234 B8C3E82034 20C2D80A34 10C2D80834 00C2D80634 F0C3D80434 E0C3D80234 D0C3D80034 ACC320E214 ACC3300215 BAC320E424 BAC3300425 CAC320E614 CAC3300615 D6C320E824 D6C3300825 E6C320EA14 E6C3300A15 EAC320EC24 EAC3300C25 FAC320EE24 FAC3300E25 02C2202225 02C2304225 12C2202435 12C2304435 1BC2202625 1BC2304625 28C2202815 28C2304815 38C2202A25 38C2304A25 3CC2202C15 3CC2304C15 4CC2202E25 4CC2304E25 43005800109C344800F01E3438C2E80C3448C2088A3438C208883428C208863450C2F8843440C2F8823430C2F8803418C2086E3408C2086C34F8C3086A34E8C3086834D8C3086634C8C3086434B8C3086234A8C308603420C2F84E3410C2F84C3400C2F84A34F0C3F84834E0C3F84634D0C3F84434C0C3F84234B0C3F8403428C2E82E3418C2E82C3408C2E82A34F8C3E82834E8C3E82634D8C3E82434C8C3E82234B8C3E8203420C2D80A3410C2D8083400C2D80634F0C3D80434E0C3D80234D0C3D80034ACC320E214ACC3300215BAC320E424BAC3300425CAC320E614CAC3300615D6C320E824D6C3300825E6C320EA14E6C3300A15EAC320EC24EAC3300C25FAC320EE24FAC3300E2502C220222502C230422512C220243512C23044351BC22026251BC230462528C220281528C230481538C2202A2538C2304A253CC2202C153CC2304C154CC2202E254CC2304E25