Well I didn't do *all* the work but here's what I did. This is a "teach a man to fish" kind of thing so you can apply it elsewhere or to other gui elements. Starting with the lives display:
I load up game in fceux, use the cheat search to find a cheat for the number of lives, It's in the ram at 0x03c5, I freeze lives at 09.
open up the PPU Viewer, see that the tile for 9 is tile 0x64. I search for that in the cheat search, get a few results, I try freezing
a few of those and one of them makes the lives flicker (0x0251), so I guess it's part of the drawing routine. I go into the debugger
and add a breakpoint for 0251, write. It stops in 2 places, I look at them for a bit and see if I can find a reference to the lives, and maybe something that looks like a drawing location (0x20 and 0x50 maybe?). The breakpoint that stops at 0x03ec49 (I have rom offsets checkbox checked) has some of this close to it, just above.
At 0x03EC34 I see this:
> 03EC34:AC C5 03 LDY $03C5 = #$08
03EC37:A9 2C LDA #$2C
03EC39:9D 1B 02 STA $021B,X @ $0253 = #$68
03EC3C:A9 28 LDA #$28
03EC3E:9D 18 02 STA $0218,X @ $0250 = #$F8
The first line has our memory address for lives, the second and fourth lines look like drawing locations to me. They are!
0x3ec38 x-position of lives
0x3ec3d y-position of lives
Ok, see if you guys can find the rest
note: I'm using "EarthWorm Jim 3 (Unl) [a1].nes"
To be honest I didn't understand a thing, how can I edit the 0x3ec38 and 0x3ec3d anyway?
Can you post some images for guide?
This is like my first time hacking in depth a nes game.
Btw the title screen was changed and the Groovy! screen too, now Jim have his green eye again.