EDIT: This problem was fixed. I submitted a fixed version of the sprite.
But you're welcome to comment if you want to improve it.
Hello, making a thread because this problem seems more complicated than I though.
Please excuse me if it's in the wrong subforum.
I wanted to insert into my hack the following custom sprite : SMB3 Fire Chomp
I saw a comment from a previous user saying that the sprite didn't work with SA-1.
Indeed to doesn't. The first most noticeable problem is that the fire the chomp spit doesn't move.
I've looked into the code, with my very basic ASM knowledge, and found the problem and a solution.
In the firechompflame.asm, on line 21 and 43 there are two LDA $14C8,x
They should be changed to LDA !14C8,x
Now the fire projectile move and aim at Mario like it should.
But the sprite has another problem, that when it appears, the first screen of the level get messed up, with random tiles having appeared.
I tried look into the code but I don't understand anything. I have no idea what can cause this glitch. So I am asking if someone can look into it and try to see what's wrong.
I've tested it to be sure and yes, it only appears on SA-1 ROM.
If this glitch can't be fixed / is too hard to fix, that's fine.
It would be nice if for the time being a sprite moderator can edit the tag/description to say that it doesn't work with SA-1 (remove the SA-1 tag).
After a discussion with Medic, he told me that the problem that the RAM was leaking.
Apparently for all 22 sprite slots that SA-1 offers it reserves 64 bytes, so 580 bytes in total.*
By default the !FreeRAM_SA1 value was $40C400, so if this sprite is in a high sprite slot, it will start overwriting 40C800 (the RAM of the level map16)
I changed !FreeRAM_SA1 to a seemingly unused address 418AFF that is big enough and it works.
I will post an update of the sprite with these fix on the sprite section.