It is currently Thu May 23, 2013 11:46 pm

All times are UTC




Post new topic Reply to topic  [ 8 posts ] 
Author Message
PostPosted: Fri Mar 16, 2012 4:28 am 
Offline
Snes9x White Belt

Joined: Wed Dec 16, 2009 10:04 pm
Posts: 32
This program I just finished writing extracts the palette data from a SNES9x version 1.53 save state file, and puts it into another file at the offset that it would be in a ZSNES save state file. The output file is given the extension ZST so that SNES graphics hacking tools that use ZST files for acquiring the palette data will actually load the file that my program outputs (they usually check file extension and reject any file that doesn't have the ZST extension).
Download it from: http://www.mediafire.com/?kp22jecw3o9k4ee

This is a very useful with BS Satellaview games, as the current version of ZSNES has trouble loading these. When ripping sprites you need the color index data (the actual pixel array) but also need the palette data. Therefore it is essential that you have a ZST file from even the Satellaview games, if you want to rip sprites. This presents a problem when you find that ZSNES is refusing to load the game even when the BSX BIOS file path is correctly set in the ZSNES settings (a bug that I find that the current version of ZSNES has), yet at the same time common graphics hacking software will only accept ZSNES's save state files. My program allows you now for the first time ever to get the palette data from Satellaview games or any other games that the current version of ZSNES won't run properly. Now all these games can finally have their sprites ripped.

To use this program, just load the game in SNES9x 1.53 and hit shift+f1 (or any other f-key). Start my program "SNES9x1.53 Save File to ZST Palette Converter" and just drag-drop the SNES9x save state file onto the window of my program. It will automatically generate a ZST file containing just the palette, and at the file offset within the file for the ZSNES saves state file format. Keep in mind it is JUST a palette dump and contains no other game data and therefore isn't a complete ZST save state, and will not work as a save state in ZSNES (attempting to load it will likely cause the game rom to crash because it won't load proper state data for the game).

In the game graphics ripper called YYCHR, press f12 to get the load emulator save state dialog box (it calls it generically an emulator save state but it is actually only capable of loading ZST files for SNES games, no other SNES emualator save format is recognized). When that load save state dialog box is open, just select the ZST file that my program generated and load it. It will now load the palette. Make sure the PAL button is pressed next to the palettes on the main window of YYCHR before doing this. It won't have any effect on the palette if the PAL-SET button is pressed instead (however it will still have loaded it in "behind the scene" and if you then press the PAL button you will get the correct palette).

This "palette" is actually a set of 16 palettes (16 colors each). With this loaded in YYCHR, click on any one of the 16 rows of colors (each row of colors is one palette) to select that as the current palette, and watch how the colors change in whatever graphics are on the main graphics screen at the time. If you have a rom loaded and have found the sprites you want being displayed on the screen, click on each of the 16 palettes until you find the one that causes the sprites to have the correct color, then go to the file menu and select save bitmap to save a BMP file sprite sheet.
Get YYCHR from the "download file now" link at http://www.romhacking.net/utilities/119/
This version requires .net Framework 3.5 is installed on your computer. If you don't have it, use the previous version (it doesn't require .net Framework at all if I remember correctly). Download the latest non-net-framework version from the "Download YY-CHR version 0.99" link at: http://www.smwiki.net/wiki/YY-CHR


Top
 Profile  
 
PostPosted: Fri Mar 16, 2012 8:57 pm 
Offline
Snes9x Purple belt
User avatar

Joined: Thu Nov 08, 2007 7:59 pm
Posts: 909
Location: /dev/null
If you'd like I'll mirror your program on my mirror cluster in the event MediaFire goes haywire. :)

_________________
Snes9x FAQs | Forum Rules
What operating system are you using? 32 or 64bit? Version of Snes9x? Is the text at the bottom of the window white when you load the game?
These suggestions are usually the solution to your issue!


Top
 Profile  
 
PostPosted: Fri Mar 16, 2012 11:28 pm 
Offline
Hero of Hyrule | Official Port Recruiter

Joined: Mon May 24, 2004 5:06 pm
Posts: 2490
Location: 255.255.255.255
Videogamer555 wrote:
Note to admin, PLEASE take the link in this post, and replace my mediafire link in my op post, then delete this post. Thanks in advance.

Request Granted.

_________________
Image

Unofficial Test Monkey For:
* Snes9X GX (Wii)
* Snes9X EX (Android)
* Snes9X 64-bits

ZSNES|Ben Heck|NSRT|Bob Smiley


Top
 Profile  
 
PostPosted: Sat Mar 17, 2012 5:59 am 
Offline
Snes9x White Belt

Joined: Wed Dec 16, 2009 10:04 pm
Posts: 32
Camo_Yoshi wrote:
If you'd like I'll mirror your program on my mirror cluster in the event MediaFire goes haywire. :)



Thanks, though I'm probably going to make a new version in the next few weeks, as I think my current version (1.0) has some bugs. You can mirror this one for now, as I won't be around for the next week (going on a field trip with my college class over Spring break). But expect a new version (1.1) at some point in the next few weeks after that.


Top
 Profile  
 
PostPosted: Sat Mar 17, 2012 8:09 am 
Offline
Snes9x Purple belt
User avatar

Joined: Thu Nov 08, 2007 7:59 pm
Posts: 909
Location: /dev/null
Sure; just shoot me a PM/Email (email is on my website) And I'll update it.

Also, want to point our a couple of "bugs":

- Kinda think you should name your program versions from here on out. ;) Just my 2 cents.

- Double check your spelling on the program dialog... there were a couple of typos.

Other than that, everything looks kosher. Cheers and enjoy your break. :)

_________________
Snes9x FAQs | Forum Rules
What operating system are you using? 32 or 64bit? Version of Snes9x? Is the text at the bottom of the window white when you load the game?
These suggestions are usually the solution to your issue!


Top
 Profile  
 
PostPosted: Sun Mar 18, 2012 2:23 am 
Offline
Snes9x Purple belt
User avatar

Joined: Thu Nov 08, 2007 7:59 pm
Posts: 909
Location: /dev/null
Apologies for the double post but I seem to be unable to edit posts as well... :
Anyway the version listed above can also be found at the following mirrors:

http://arrows.homenet.org/mirror/snes9x2zst/ (also via FTP: ftp://arrows.homenet.org/mirror/snes9x2zst/)
http://mirror.crisisresponseunit.com/snes9x2zst/
https://www.dropbox.com/sh/ds7wti00fnh7 ... snes9x2zst
http://wuala.com/Camo_Yoshi/mirror/snes9x2zst/

_________________
Snes9x FAQs | Forum Rules
What operating system are you using? 32 or 64bit? Version of Snes9x? Is the text at the bottom of the window white when you load the game?
These suggestions are usually the solution to your issue!


Top
 Profile  
 
PostPosted: Sun Mar 25, 2012 9:04 pm 
Offline
Snes9x White Belt

Joined: Wed Dec 16, 2009 10:04 pm
Posts: 32
Unfortunately the palette output converted by this does not resemble a that of a known good palette for the game I'm trying to hack. Game I'm trying to hack is http://bszelda.zeldalegends.net/zips/ld-bszld.zip

The ZST file (ZSNES savestate file) that is included with the rom correctly contains the palette needed for hacking the graphics of the rom in YYCHR. However my program's output when converting a SNES9x save state to ZST format looks correct in a hex editor (has the palette in the right location) but when loading the palette into YYCHR it does not even BEGIN to resemble the palette contained in the ZST save file supplied with the rom. It is quite obvious that they dumped the palette a different time during the game such that the palette set is different. However at least ONE of the palettes should be the same, because the main character was rendered at the screen I did the SNES9x save dump, and therefore the palette needed for rendering his sprite correctly SHOULD be present in the save. But it's not. Instead NONE of the palettes give his sprite the right colors. I thought maybe it was different byte order between the SNES9x and ZSNES saves, but I tried reversing the endian in my conversion program, and STILL I don't get any working palettes!!!!!!!!!!!!

So for now I consider my program defective beyond all usability. So until I can fix this, I recommend that NOBODY use this software.


Top
 Profile  
 
PostPosted: Sun Mar 25, 2012 9:53 pm 
Offline
Snes9x White Belt

Joined: Wed Dec 16, 2009 10:04 pm
Posts: 32
I have now tried a variety of combinations of reversing the endian and swaping red and blue channels. NOTHING WORKS! ARG! I normally would complain bitterly about someone else's program when it stunk. But my own program is stinking now!!!!!!!!!!!!!!!! And I don't know what's wrong!!!!!!!!!!!!!!!! This was the main bug I had that I said I would fix later (problems generating an actual working palette), but I can't fix it!!!!!!!!!!!!!!!

Does the ZST save file normally contain additional instructions on how the SNES PPU in an emulator is to interpret the data? If so, the problem might be that I'm missing this metadata, and that YYCHR is expecting this metadata to read the palette properly?

Any help here would be really nice.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 6 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group