Also forgot to mention this: The collision for the the rightmost part of the platform seems to extend just a little too far. You can make Mario stand on thin air if you position yourself carefully enough.
The !BankB define is used to move long addresses to banks 80+, which gives a performance improvement on FastROM (it is 0 on SA-1 because SA-1 doesn't have FastROM addressing, but that's just part of SA-1 compatibility). A sprite is SA-1 compatible if absolute addresses have !Base2 defines and sprite tables use their defines (!9E instead of $9E).
Important: Do not change the $7FAB40 to $41AB40, change it to $400099. That's the first extra byte, one of PIXI's sprite tables.
Oh I see. For some reason, I saw "|Bank2" in the asm file and I assumed SA-1 compatibility. Rookie mistake! Definitely should have realized it sooner.
For anyone who wants to use this in their SA-1 ROM, here's some quick instructions:
1. Download this sprite, along with the SA-1 Convert tool.
2. Before converting, open "sinking_platform_smb1.asm", go to line 30 and change "LDA $7FAB40,x" to "LDA $41AB40,x$400099". For some reason, the SA-1 converter tool misses that part.
3. Now run the SA-1 converter, put the .asm and .cfg into Pixi's sprite folder, and insert into your rom.
The sprite works fine, but it's not SA-1 compatible (none of imamelia's waiting sprites are). SA-1 compatibility is not a mandatory rule, just a norm. Most sprites in the section do have it, but you should always look out for the `sa-1` tag before using something in an SA-1 ROM.