Change the $06FA to another RAM Address that restarts every time you enter a level, like $08E3 or $7D. I find this strange though because the level loading routine is hacked and then RAM resets there. Have you applied any other patch that hacks the same routine, like the health patch ones?
A) this isn't where you would post that. I'm going to point you to a tutorial though since you apparently can't find those yourself.
http://acmlm.no-ip.org/board/thread.php?id=99
B)
Originally posted by Metriod HP Patch
org $0491DB
JML Startlevel ; Whenever you enter a level
NOP
This Hijacks the same ROM address as the red coins patch. You are also going to need to put the opening level codes together, so :
Originally posted by code
STZ !RAM ; Reset RAM on level load.
LDA #$02
STA $0DB1
PHY
LDY #$01
LDA #$01
BitCount:
BIT !MarioHeartsFound,x
BEQ NotSet
INY
NotSet:
ROL
BCC BitCount
STY !MaxHealth
LDA !MarioHealth,x
BNE HasHealth
TYA
STA !MarioHealth,x
HasHealth:
STA !Health
PLY
JML $0491E0
make this the "StartLevel" routine in your combined patch and then put these defines up with the rest of them (!RAM = $06FA etc.):
!MarioHeartsFound = $1F2C
!MaxHealth = $0DC5
!MarioHealth = $0F44
!Health = $0DC4
And that might fix your problem.
Thank you
Its working to perfection (tested fully)
The only problem i have is that the starting lives for File A is 13, (the rest is 5) i doubt thats related to this patch tho