News: 11 March 2016 - Forum Rules

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Mr. Saturn

Pages: [1]
ROM Hacking Discussion / Re: Move NES sprite position
« on: April 02, 2020, 04:54:57 pm »
Thanks, I'm not really familiar with OAM, so I spent some time reading about it and poking around making funky things happen, but I still don't really know what I'm doing there.

So I checked the sprites themselves, and there is a fair bit space on the eyeball sprites, but they don't cover the areas I need the eyeballs to be.
They only cover the front half of the face. I'm looking to cover the back half, or maybe (if it's even possible) both halves.

ROM Hacking Discussion / Move NES sprite position
« on: April 02, 2020, 12:48:01 pm »
A couple days ago I made a post kinda like this about adding sprites, but I've since given up and made a few compromises.
I'm working on a Super Mario Bros 2 hack, and at the moment I'm changing the characters.
The whites in most of the characters' eyes are seperate sprites rendered behind the main sprites.
I was just wondering if it's possible to move said eyeballs over a little bit to fit the new characters.

ROM Hacking Discussion / (NES) Add sprites to screen
« on: March 31, 2020, 01:11:42 pm »
So I'm working on a hack for Super Mario Bros. 2, currently changing the characters. I recently learned that the white pixels that make up the characters' eyes are actually separate sprites behind the characters.

I found where the sprites are located, but their placement doesn't fit my new sprites.
I need two sprites side by side, covering the entire head, rather than just the front half of it (I found that SMB2 uses 8x16 sprites if that's helpful). This applies to every character, so using up their eyeball sprites for this would be fine.
Another problem is that Toad also needs eyes, but one thing at a time I guess.

If this doesn't work I guess I could find some way to change the palettes of each character's heads (and this would let Toad also have proper eyes), but I don't know how doable any of this is.

I found SMB2's disassembly code which seems helpful, but since I'm still figuring that out, so I thought I may as well ask here.

Thanks!I was worried it would be some hard coded unfeasible thing. Finding the sprites shouldn't be too hard.

I'm working on a hack for Super Mario Bros. 2, and I need to edit the white pixels on the eyes of the playable characters. They aren't part of that character's palette, and are represented as black (ordinarily clear) pixels on the sprites.
Only those specific pixels on each sprite will be white instead of clear.

So my question is: is there any way to change which pixels are white?
Or alternatively, could I just give those sprites a different palette from the rest of the character?

Newcomer's Board / Re: entire rom palette tinted green
« on: January 10, 2020, 06:18:53 pm »
Yeah, maybe you changed something in RAM or PPU memory and somehow it stuck as a cheat for that specific ROM file. Rename the ROM and open it again on fceux to see.
Yep. I tried it and you're right. I was confused about why it was still green with Nestopia. So I messed around with it, and found that any ROM on Nestopia was tinted green (even on a clean copy of Nestopia). So it's good that we've got that figured out.
I believe that if you apply the same patch twice it doesn't do anything, so it didn't hurt that I first applied the 25th anniversary patch before yours.
Actually, I just tried it myself, and it messed up a lot of the graphics, and used 25th anniversary's palettes, like in your screenshot. Like I said before, my patch should look pretty much the same as the unmodified ROM.

Overall, I guess this is pretty much all resolved. Thanks for your help and patience.

January 10, 2020, 06:21:02 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Also, I just noticed that in FCEUX, there was a file called Mother (modified).pal. I deleted it, and the game was no longer green.

Newcomer's Board / Re: entire rom palette tinted green
« on: January 10, 2020, 12:44:20 am »
I just tested myself and had the same results. I applied the patch to an unmodified ROM, and there was no green tint. I tried making a patch again, and it yielded the same results.
The only explanation I can think of is that something about the thing I messed up didn't transfer through Lunar IPS.
So I've tried to reproduce it myself. I checked palette values. By manually changing in Hex Editor -> View -> PPU Memory $3F01, $3F05, $3F09 and $3F0B for the grass from #$3A to #$3B, and also $3F0B for the trees from #$1A to #$1B, I got the same result.
The tint in your image is slightly different. Mine's more of a yellowish green, and it applies to all sprites.
Though I guess the issue is pretty much resolved, if you make a patch out of your green ROM, and apply it to an unmodified ROM, is it still green?

Newcomer's Board / Re: entire rom palette tinted green
« on: January 09, 2020, 10:29:26 pm »
I included 25th anniversary with the patch. I probably should have said that.
My patch should look almost identical to the regular mother ROM, whereas your screenshot looked largely the same as 25th anniversary.

I did test it on another emulator  (nestopia) shortly after discovering the problem. It was still green.

So try patching the unmodified ROM with only my patch. Again, it should look mostly the same as the unmodified ROM, albeit greenish.

Newcomer's Board / Re: entire rom palette tinted green
« on: January 09, 2020, 06:48:29 pm »
I've updated the emulator, and the condition works now. This also solved the breakpoint getting PPU_Data results. However, besides that things remain unchanged. With the condition the breakpoint never breaks, and not having the condition still gets it stuck on the same values every time, not going anywhere after A becomes 88.
I tested this on the original ROM and it also has this problem.

Here's the video:
I couldn't get any sort of voiceover or subtitles, and the video quality was as high as the software would allow.
So I guess I'll just explain the video here:
I first open up my hacked ROM (which is actually a hack of a hack, the 25th anniversary hack), and demonstrate how it gets stuck every time (as specified above and in my previous comment). A few of the lines selected by the breakpoints are different from the original ROM (25th anniversary), but none are within the range of the problematic values.
Then I bring up the 25th anniversary edition, and show how it does the same thing.
Then I show how, as far as I can tell, nothing happens with the condition set (running about to different parts of the game for a while still did nothing).
One of the main things I was doing with the ROM was restoring the original graphics, palettes, and aesthetics to make it more faithful to the original, as well as various optimizations that the original hack didn't cover. That's why they look so different.
I then pull up the completely unmodified Earthbound Zero ROM for a better comparison of the colors.

I hope this helps

Newcomer's Board / Re: entire rom palette tinted green
« on: January 09, 2020, 12:54:30 am »
If you forgot what values you are looking for, read this thread again.
I forgot those were there. My bad.
When setting the breakpoint you write 2001-2001 in the address range. I don't know how you got 2007 there.
I know what I did wrong here. I had 2001-unspecified instead of 2001-2001.
He doesn't need to write 2001 in both fields if it's not a range (but it will work anyway even if he uses range for a single address).
...Or maybe I don't know what I did wrong there. So 2001-unspecified probably wasn't the problem?
I just tested it, and 2001-2001 still gives PPU_Data breaks. Definitely not the problem.

You should read more about how bytes and bits work.
I did do a little research on bits/bytes, but didn't catch much of it due to lack of time. What you've said helps a lot though. Now I've got a much better idea of where to start researching, and where to go from there.

Now that's I've got a breakpoint with the address set to 2001-2001, with write and CPU memory selected, the game freezes.
Sometimes clicking 'run' will make at least change where it breaks and the A value (I assume it also makes the game run, but stops again before it's noticeable). Then it invariably gets caught on A=88.
This particular 88 and it's line are identical to that of the non-green ROM.
The values that happen before it aren't between #40-#7F or #C0-#FF.
Specifically they are 00, 1e, 18, and 88.
So I went back to the conditions that were discussed a while ago. I found that any inclusion of 'W' in a condition makes it invalid. When using the variant with A's it never breaks. When I initially tried the conditions I had the same results, but figured I'd just go without them.
However, when I have the A variant of the condition the game doesn't freeze.

I'd try to be more thorough before posting this, but I'm rather short on time again. Sorry if that's a problem.

Newcomer's Board / Re: entire rom palette tinted green
« on: January 08, 2020, 06:58:10 pm »
If A holds one of the no-no values, then that may be where the problem is.
What values am I looking for?
I know that bit 5 in the PPU_mask controls the green tint, but admittedly I don't know how these bits are stored. I'm guessing that they're somehow compiled into what is seen in A? Or is A modifying the PPU_mask bits? Basically, how do I know if a value is the problematic one?

Also, when I do find the green value, would I find it in the hex editor or can I change it in the debugger? I'm guessing it's the former, but regardless, how would I do that?

But you can ignore any value read from PPU_Data unless you are specifically reading PPU_Data (in that case, only ignore the first read).
The breakpoint is pretty much only finding PPU_data lines. Should I (and how would I) add some sort of condition to exclude them?

Newcomer's Board / Re: entire rom palette tinted green
« on: January 07, 2020, 06:49:34 pm »
I'm not totally sure I'm doing this right:
I have a breakpoint set to $2001, and I'm running about in the game watching the A value shown under Seek To and all that stuff.
Whenever it breaks I'm looking at the line the breakpoint has selected
(such as 0F:F973:8D 07 20  STA PPU_DATA = #$00)
and watching to see if the #$00 matches up with the A value.
So far the #$00 has only ever been #$00 and #$0A. The A value hasn't matched up with it except for on the title screen where A is also 00, which is identical to my backup ROM. This is after wandering around in the game for a while doing this.

Newcomer's Board / Re: entire rom palette tinted green
« on: January 06, 2020, 06:39:53 pm »
Thanks for your advice.
I downloaded Frhed and compared both files. There are a LOT of differences (specifically 6256).
So I moved onto trying the breakpoints.
Admittedly, I've never used breakpoints before. I set the address to 2001, set it to write, and kept it in CPU memory. I tried several different things with the condition, but I'm kinda at a total loss.
I'm assuming I need to find if (thingy here) is greater than #40 or less than #7F, or greater than #0F and less than #FF, but nothing I've tried so far has worked.

Shortly after writing the above, I thought to try switching the breakpoint from CPU memory to PPU memory. The game runs now, but nothing else is really happening. There doesn't appear to be any indication of, well, anything.

The main two conditions I'm using are:
A >= #40 || A<= #7f
A >= #C0 || A<= #FF

Newcomer's Board / Re: entire rom palette tinted green
« on: January 04, 2020, 05:33:59 pm »
Sounds like you wrote emphasis bits to the ppu mask.
I thought that's what it was, but couldn't quite figure it out. The value in my hex editor (FCEUX), the 2nd value of 2000 (as that's where going to $2001 took me) is identical to that of the unmodified ROM. Maybe I'm looking in the wrong place?

We are not telepathists here.
Sorry about that, the last thing I remember doing was haphazardly searching for where a certain sprite's data was stored. Editing things, seeing what happened, then switching it back. I may have forgotten to change a value back, or gave it the wrong value. It was kinda all over the place, so I guess that probably doesn't help much.

Your last thread suggested you were trying to copy and paste all the colors from one version of a ROM to another.
I wound up just doing that the hard way, going to every sprite in the game and changing it's palette. The palettes themselves (their values and whatnot) are unchanged, but they've all been tinted green.

Newcomer's Board / entire rom palette tinted green
« on: January 02, 2020, 05:53:52 pm »
Whilst hacking the Earthbound Zero ROM, everything became tinted green. I edited it, saved it and came back to it later, and it was tinted green. I checked the palettes but they were unchanged.
Unfortunately I have no idea what I was doing before this happened. So I don't know if anything can be done about it.

Newcomer's Board / Replacing the palette of one ROM with that of another
« on: October 08, 2019, 08:09:08 pm »
I've been modifying the Mother 25th anniversary edition ROM to my liking,
in order to get the best of both worlds between this and the original.

I'm trying to revert it to the original palette, but every palette editor
I found does not support importing/exporting palettes, or anything other
then editing each color one by one.

I've seen lots of tutorials on how to replace individual sets of colors
with other colors, but what about essentially copy and pasting all the
colors from one version of a ROM to another?

Pages: [1]