Image to SNES converter

Share and discuss all facets of DKC ROM hacking...

Image to SNES converter

Postby rainbowsprinklez » October 2nd, 2020, 10:42 am

This is a tool created by me, RainbowSprinklez


Welcome to the first released build of this tool. The goal of this tool is to make importing the images you like to the SNES easy. Hopefully, this is a simple enough tool to use.

2. How to use
Load any SNES game you would like. This program, however, is built specifically for DKC1. The filename is displayed in the title strip.
After loading a game, load an image. The image MUST be 256 pixels wide and no more than 224 pixels tall. There is theoretically no limit to the image size you can use, but the tilemap is setup assuming the size is 256 pixels wide. There is minimal error checking, so it is up to you to be responsible with this.
After the previous 2 steps are done, select the number of 16 color palettes to use and press 'Convert'. You will have to wait a few seconds, and then a preview will be made for you. This preview is exactly how the image will look on SNES hardware. As well as the preview, a palette is generated for you. Optionally, you can export the palette and use another program to modify.
After all that, you have 3 text boxes. For your game, these can be filled however. But for DKC1, the palette will be chosen for you automatically. In all scenarios, lorom and hirom addressing must be used. Also, the tiles take up almost 32kb of space, so a substantial amount of space is required. For this reason, I expand the ROM for you in DKC1.
Finish up by clicking 'Transfer', then save as.

3. Distribution
-Do not share this program without this readme
-Do not share the full ROM file of any game you use with this
-DO not claim this program as your own

4. DKC1 Specifics
- Because of the space required, you can only place tilesets at offset 0xAA0000 or 0xAA8000, where AA is the bank.
- Because of mirroring in DKC1, addresses 0x408000-0x40ffff and 0x660000-0x670000 are off limits. Also, any address at 0xAA0000-0xAA7fff are off limits unless you use the hi address notation.
- All other bugs can be prevented or are unknown
- Cranky's image is the one exception to the 256x224 size rule. This is because his text causes issues. The limit for Cranky is 256x176. There is no error checking.

5. Credits
Myself086 - He was the brains behind this. Everything I did was because he taught me.

Here's a download link. ... verter.exe

Here's a small vid highlighting the capabilities of this tool. Please ignore the 'off' music.


The same image with half as many palettes:

Not all images look good. png's tend to use more colors natively than jpg since jpg is typically a lossy format.The palette uses 122 colors, and any 8x8 can only access 1 row of the palette.

Anyone feel free to post if they need help!

Snes9x has a problem with reading expanded data
Veteran Venturer
Bananas received 108
Posts: 564
Joined: 2016

Re: Image to SNES converter

Postby rainbowsprinklez » December 23rd, 2020, 11:41 am

How is everyone? How's the dead life? I'd like to bump this to update.
Not mentioned, but I no longer expand the rom either. This google sheets holds the info for dkc1 image offsets. ... 1083288081.
You can literally cut and paste into this program to put your image in the right place. This program (optionally) removes repeat tiles, allowing lots of space to be vacated from the previous program. This works extremely well across any snes game. This, however, doesn't work so well with images not 256x224. As long as images are 256px in width, however, expert programmers can remove the extra bytes from the tilemap. The rows to skip option was a feature I added when the game by default uses a different row (like the beginning logo in dkc1. Which uses rows 2-5 if I recall correctly)

Veteran Venturer
Bananas received 108
Posts: 564
Joined: 2016

Return to ROM Hacking

Who is online

Users browsing this forum: No registered users and 1 guest