News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Nes graphics palette changes help  (Read 2837 times)

gamef2

  • Jr. Member
  • **
  • Posts: 9
    • View Profile
Nes graphics palette changes help
« on: October 07, 2014, 01:46:18 pm »
English is not my mother tongue, so don't mind

http://youtu.be/ZKhV6M7RXZg
The palette has been filled
How should put 1 to 2 p, p player's avatar pigment looks like

Dr. Floppy

  • Restricted Access
  • Hero Member
  • *
  • Posts: 970
  • Make America GREAT Again!
    • View Profile
    • BaddestHacks.net
Re: Nes graphics palette changes help
« Reply #1 on: October 10, 2014, 01:49:28 pm »
Is it the Blue (#12?) that you want to change?

Go to Tools --> PPU Viewer to see the exact palette ID's and their precise order. (I'm guessing 0F-35-12.) Then, search for that cluster in-ROM and replace the offending value with whatever you want.

gamef2

  • Jr. Member
  • **
  • Posts: 9
    • View Profile
Re: Nes graphics palette changes help
« Reply #2 on: October 11, 2014, 06:26:08 am »
I will become like this changed
I just want this

October 11, 2014, 06:26:57 am - (Auto Merged - Double Posts are not allowed before 7 days.)
Palette is full
Requests for a tutorial

Dr. Floppy

  • Restricted Access
  • Hero Member
  • *
  • Posts: 970
  • Make America GREAT Again!
    • View Profile
    • BaddestHacks.net
Re: Nes graphics palette changes help
« Reply #3 on: October 11, 2014, 08:25:06 am »
Oh, I get it. The 1P dudes have the same sprite palette assigned to both their helmets & bodies, whereas the 2P dudes have two unique assignments.

Since this is a NES game, I'm guessing that both 1- and 2P use the same flipped sprites, which means that both sides technically have independent palette assignments for their helmets/bodies. (1P's just happen to be the same value; shades of SMB2's "animated" backgrounds where nothing actually moves.)

NES sprites are assigned to a "Loading Dock" (usually at $200 in RAM, although it can be anywhere from $200-$700) during framedraw. This 256-byte block consists of sixty-four, 4-byte clusters in "YTAX" format. That is, the 0th entry is the sprite's vertical Y-position onscreen, the 1st entry is the Tile ID#, the 2nd entry is Attributes (palette assignment, H/V-flip status, whether or not the sprite is "behind" the background) and the 3rd entry is the sprite's horizontal X-position onscreen.

You'll need to (1) Identify the two tile ID's of the "helmet" sprites, (2) find the Sprite OAM table [probably at $200-2FF in RAM], (3) figure out which 4-byte sections are used for helmet YTAX data {it might fluctuate} (4) set a write-breakpoint (conditional to the desired "T" value in the 1st entry if the sectors fluctuate) for the 2nd entry, then (5) backtrace to the point in ROM where the undesired palette ID is being assigned and (6) change it to the value you prefer.

gamef2

  • Jr. Member
  • **
  • Posts: 9
    • View Profile
Re: Nes graphics palette changes help
« Reply #4 on: October 12, 2014, 09:49:31 am »
Had not learned this modification
Can help a ROM like study

DragonDePlatino

  • Jr. Member
  • **
  • Posts: 14
    • View Profile
Re: Nes graphics palette changes help
« Reply #5 on: October 14, 2014, 01:21:14 pm »
Hey, Dr. Floppy! I'd just like to let you know that was some very useful information! Even though I only have minimal hex-editing knowledge, your tutorial was simple and easy-to-follow. And I've been wanting to know how to alter sprite rendering myself so I think I'd be able to apply this to my M25 project...

Dr. Floppy

  • Restricted Access
  • Hero Member
  • *
  • Posts: 970
  • Make America GREAT Again!
    • View Profile
    • BaddestHacks.net
Re: Nes graphics palette changes help
« Reply #6 on: October 14, 2014, 05:20:05 pm »
Hey, Dr. Floppy! I'd just like to let you know that was some very useful information! Even though I only have minimal hex-editing knowledge, your tutorial was simple and easy-to-follow. And I've been wanting to know how to alter sprite rendering myself so I think I'd be able to apply this to my M25 project...

Très awesome!!!

I'm starting to think the whole Sprite OAM-bank (and its associated hacking uses) should be the topic of my next major article...