VGMaps

General Boards => Mapping Tips/Guides => Topic started by: ReyVGM on February 17, 2022, 12:14:35 am

Title: Here's a snes9x version that allows to have a colored background!
Post by: ReyVGM on February 17, 2022, 12:14:35 am
The SNESManuals.com guy was asking on twitter if anyone had a snes9x version he had used a long time ago that allowed him to set a game's background to a different color, something that's incredibly useful for ripping sprites and graphics.

I've never heard of any SNES emulator that allowed you to do that, so I did a google search and found many people asking and requesting emu authors to implement such a thing, yet all the requests went into to deaf ears.

I assured this person that such a thing didn't exist, because I have been looking for something like this for years too.

Turns out, he wasn't crazy. Apparently someone created a single branch release of the snes9x-rr version that allows you to switch between 3 different background colors by pressing Shift+1 (it's customizable too!), but he never contributed the commit to the main branch, so the feature was never implemented.

I'll try to get the snes9x team to implement this in the official releases, but in the meantime, you can use this release to finally end the many issues dark backgrounds have caused graphic rippers.

https://archive.org/details/snes-9-x-1.51-rr

Enjoy!

Title: Re: Here's a snes9x version that allows to have a colored background!
Post by: JonLeung on February 18, 2022, 03:00:06 pm
I could have sworn TerraEsperZ mentioned this before.

Or was it Peardian?

One of them had said something before about colours being a problem when disabling layers when trying to map Super NES games.  We definitely talked about this here, but I can't find it, unless it was a previous iteration of the forums...

Cool find, in any case.
Title: Re: Here's a snes9x version that allows to have a colored background!
Post by: TerraEsperZ on February 18, 2022, 11:30:04 pm
Strange...
I was also certain I had written about this on the forum after doing my Equinox maps but apparently, I only dreamed about it and never actually did it.

My method only works for the BizHawk emulator as far as I know since it involves editing a memory address in CGRAM (Color Graphics RAM) which you can't access in some emulators.

In BizHawk, in the Cheats menu, you simply have to add a new cheat with the following values :

Address : 0000
Value : 7C1F
Domain : CGRAM
Size : 2 Byte

This basically changes the colour for the first entry of the background palette to bright pink but you can use any colour the SNES can display.

The format is 15-bit BGR so to fit into a 16-bit word, you use 0 + 5 bits for blue + 5 Bits for green + 5 bits for red.
Each colour channel is a 5-bit value that can thus range range from 0 to 31.
In my example above, bright pink in BGR format is 31, 0, 31 or 0111110000011111 in binary.
You then split that into the two bytes 01111100 (7C in hex) and 00011111 (1F in hex).

I hope I'm not confusing anyone because I've never been a good teacher for technical stuff.
Title: Re: Here's a snes9x version that allows to have a colored background!
Post by: ReyVGM on February 19, 2022, 11:17:05 pm
Thanks, TerraEsperZ. For people that use Bizhawk, that's a nice workaround.

But for the rest of us that still like to use snes9x, that version I posted is gold :P
Title: Re: Here's a snes9x version that allows to have a colored background!
Post by: TerraEsperZ on February 20, 2022, 12:00:52 am
Oh sure, I didn't mean my method was better or anything. I just wanted to share an alternative that could be used not only with BizHawk but also any SNES emulator that gives access to CGRAM.

The more tools and methods the better!