| Gabu Star Mario Placeholder Ikachan until :effort: is found Level: 172 ![]() Posts: 9548/9981 EXP: 67926900 For next: 175334 Since: 08-10-09 Pronouns: they/them, she/her From: Santa Cruisin' USA Since last post: 47 days Last activity: 8 days |
|
||
![]() Register - Login |
||
| Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies |
||
| Jul - General Game/ROM Hacking - SimEarth graphic hacking (Or... at least trying to) | - - ![]() |
| Next newer thread | Next older thread |
| Gabu Star Mario Placeholder Ikachan until :effort: is found Level: 172 ![]() Posts: 9548/9981 EXP: 67926900 For next: 175334 Since: 08-10-09 Pronouns: they/them, she/her From: Santa Cruisin' USA Since last post: 47 days Last activity: 8 days |
|
||
| Gabu Star Mario Placeholder Ikachan until :effort: is found Level: 172 ![]() Posts: 9550/9981 EXP: 67926900 For next: 175334 Since: 08-10-09 Pronouns: they/them, she/her From: Santa Cruisin' USA Since last post: 47 days Last activity: 8 days |
|
||
|
| Gabu Star Mario Placeholder Ikachan until :effort: is found Level: 172 ![]() Posts: 9551/9981 EXP: 67926900 For next: 175334 Since: 08-10-09 Pronouns: they/them, she/her From: Santa Cruisin' USA Since last post: 47 days Last activity: 8 days |
|
||
|
| Gabu Star Mario Placeholder Ikachan until :effort: is found Level: 172 ![]() Posts: 9555/9981 EXP: 67926900 For next: 175334 Since: 08-10-09 Pronouns: they/them, she/her From: Santa Cruisin' USA Since last post: 47 days Last activity: 8 days |
|
||
|
| divingkataetheweirdo Bandit TCRF Super Editor Level: 57 Posts: 608/822 EXP: 1479780 For next: 6148 Since: 07-09-11 Since last post: 1.6 years Last activity: 253 days |
|
||
Originally posted by Gabu https://emu-docs.org/Super%20NES/General/snesdoc.html http://wiki.superfamicom.org/snes/show/Sprites https://en.wikibooks.org/wiki/Super_NES_Programming/Animated_Sprites Try these and use No$SNS along with these to see it loading stuff in real time. Also, try to figure out which compression SimEarth uses, probably an LZ-type compression. There's no easy way to see how SNES games read and display sprites besides trying to find lda, ldb, ldx or ldy instructions in the game. Alternatively, try digging through an SNES game to see if it has a bunch of uncompiled code hidden inside, be it plain as day or hidden in an archive format. ____________________ |
| Joe Common spammer π¬ Level: 111 ![]() Posts: 3259/3392 EXP: 14489658 For next: 378702 Since: 08-02-07 From: Pororoca Since last post: 3 days Last activity: 1 hour |
|
||
|
I had a decent explanation of the compression format (it's LZSS with a small header attached), but my internet connection died and I'm not going to type the whole thing on my phone.
Compressed graphics start at 0x60000 in the USA ROM ($0C:8000 in SNES memory). I like MAME's debugger better than no$sns. ____________________ γ΅γ«γγγ |
| Joe Common spammer π¬ Level: 111 ![]() Posts: 3260/3392 EXP: 14489658 For next: 378702 Since: 08-02-07 From: Pororoca Since last post: 3 days Last activity: 1 hour |
|
||
|
Okay, internet's back on.
The graphics compression is LZSS with a four-byte header. All two-byte values are stored with the low byte first. The header is two two-byte values: the length of the uncompressed data, and the length of the compressed data (not including the header). The decoder in the game ignores the compressed data length, so it may not be correct for all of the graphics. Following the header is the actual LZSS-compressed graphics. In this variety of LZSS, the flags bytes are coded MSB first, with 0 to indicate a literal byte and 1 to indicate a run. Runs in this variety of LZSS are two bytes (low byte first). The upper twelve bits are the offset from the end of the current decompressed data: 0 means start at the last byte in the buffer, 1 means the byte before last, and so on. The lower four bits are the run length minus 3: 0 means copy 3 bytes, 1 means copy 4 bytes, and so on. Like all varieties of LZSS, runs may be longer than the remaining data in the buffer. In order to replace the graphics, you'll have to either compress them to be no larger than the graphics they're replacing, or put them elsewhere in the ROM and replace the pointers that are used to load them. ____________________ γ΅γ«γγγ |
| Joe Common spammer π¬ Level: 111 ![]() Posts: 3261/3392 EXP: 14489658 For next: 378702 Since: 08-02-07 From: Pororoca Since last post: 3 days Last activity: 1 hour |
|
||
|
Do you like command-line programs? Sure you do, because this one can decompress all the graphics in SimEarth. Let me know if you need a 32-bit version because this one is 64-bit. It doesn't put the graphics back into the ROM yet because Real Lifeβ’ is taking up all of my free time.
The source code is here in case you want to follow my progress and/or laugh at my ugly code. Don't expect frequent updates because being an adult sucks. Fun fact, there are some minor graphical differences between the Japan and North America versions. (Aside from all of the text, I mean.) Also Tile Molester's default palette sucks. ____________________ γ΅γ«γγγ |
| Gabu Star Mario Placeholder Ikachan until :effort: is found Level: 172 ![]() Posts: 9557/9981 EXP: 67926900 For next: 175334 Since: 08-10-09 Pronouns: they/them, she/her From: Santa Cruisin' USA Since last post: 47 days Last activity: 8 days |
|
||
|
| Joe Common spammer π¬ Level: 111 ![]() Posts: 3262/3392 EXP: 14489658 For next: 378702 Since: 08-02-07 From: Pororoca Since last post: 3 days Last activity: 1 hour |
|
||
|
It's been a month (seriously?) and now, with little fanfare, here is the program to put graphics back in the game.
Let me know if you find any bugs. I literally have no idea how to play this game, so I might have messed something up. ____________________ γ΅γ«γγγ |
| Gabu Star Mario Placeholder Ikachan until :effort: is found Level: 172 ![]() Posts: 9574/9981 EXP: 67926900 For next: 175334 Since: 08-10-09 Pronouns: they/them, she/her From: Santa Cruisin' USA Since last post: 47 days Last activity: 8 days |
|
||
|
| Joe Common spammer π¬ Level: 111 ![]() Posts: 3264/3392 EXP: 14489658 For next: 378702 Since: 08-02-07 From: Pororoca Since last post: 3 days Last activity: 1 hour |
|
||
|
I'm glad to hear it works for you. If you want either of those last two features (compression, padding the ROM to a reasonable size) I can spend some time this weekend finishing it up.
Originally posted by Gabu I probably should mention that the graphics data isn't compatible between the USA and Japanese ROMs. You have to make some adjustments to use the graphics from one region in the other without corrupting anything. ____________________ γ΅γ«γγγ |
| Gabu Star Mario Placeholder Ikachan until :effort: is found Level: 172 ![]() Posts: 9576/9981 EXP: 67926900 For next: 175334 Since: 08-10-09 Pronouns: they/them, she/her From: Santa Cruisin' USA Since last post: 47 days Last activity: 8 days |
|
||
|
| Next newer thread | Next older thread |
| Jul - General Game/ROM Hacking - SimEarth graphic hacking (Or... at least trying to) | - - ![]() |
![]() |
Acmlmboard - commit 47be4dc [2021-08-23] Β©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al. Warning: You are using TidyHTML mode! Pages MAY and probably WILL break. To disable, click here or append 'xxx-off=1' to the URL! ![]() |
| Query execution time: | 0.094779 seconds |
| Script execution time: | 0.028970 seconds |
| Total render time: | 0.123749 seconds |