Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
1 user currently in Rom Hacking: hukka | 2 guests
Acmlm's Board - I2 Archive - Rom Hacking - Finding level-data in SNESroms | |
Pages: 1 2Add to favorites | "RSS" Feed | Next newer thread | Next older thread
User Post
FloBo

Koopa
Level: 17

Posts: 1/101
EXP: 20723
For next: 4020

Since: 09-11-04

Since last post: 3 days
Last activity: 13 hours
Posted on 09-17-04 02:55 PM Link | Quote
Hi there.

I wondered how many of you out there were able to find level-data inside a rom. I know, you can corrupt the game, but that's a quite tedious and also very annoying kind of work.

Is there no other way to find the region, where the tiles are arranged to build the actual map/level, the game is loading? I remember some people who said they could find map-data with the tracer-version of SNES9X by peer. But this thing is way too complicated for someone who doesn't know how 2 understand the output-logs of this util.

Or are there any tutorials on the net?
Euclid

Cheep-cheep
Level: 23

Posts: 107/193
EXP: 65528
For next: 2195

Since: 03-15-04
From: Australia

Since last post: 24 days
Last activity: 7 days
Posted on 09-17-04 04:04 PM Link | Quote
That output is the disassembly of the code which was ran between when you start and stop the trace.

you probably need some 65816 knowledge to understand what's going on there.
Jigglysaint

Red Cheep-cheep
Level: 24

Posts: 82/215
EXP: 76907
For next: 1218

Since: 03-17-04

Since last post: 7 days
Last activity: 3 days
Posted on 09-17-04 08:33 PM Link | Quote
Rom corrupting long and tedious? Okay, maybe so for the 99% of the population, but I swear by it, but only because I am the God of Corruption.
Dragonsbrethren

Octorok
Level: 10

Posts: 10/31
EXP: 4111
For next: 303

Since: 04-14-04
From: New Jersey

Since last post: 82 days
Last activity: 82 days
Posted on 09-17-04 10:10 PM Link | Quote
I find most of my data by looking for a pattern in the ROM and replacing it with bytes from later in that pattern, works pretty good, it's how I found all my new FF4 data.

Edit: This is in regards to non-level data, but it should work about the same.


(edited by Dragonsbrethren on 09-17-04 01:11 PM)
Geiger

Buster Beetle
Level: 34

Posts: 110/460
EXP: 241080
For next: 12571

Since: 03-15-04
From: Indianapolis, IN, USA

Since last post: 6 hours
Last activity: 6 hours
Posted on 09-18-04 12:14 AM Link | Quote
If the data is uncompressed, you might be able to find it by just strolling through the ROM. Certain programs can output this sort of information visually. Here are a couple of examples.

Peer Sprite Viewer

Peekin's TileView

---Evil Peer


(edited by Evil Peer on 09-17-04 03:15 PM)
Chickenlump

Level: 41

Posts: 373/722
EXP: 474192
For next: 5953

Since: 03-15-04
From: Columbia City Indiana

Since last post: 3 hours
Last activity: 4 min.
Posted on 09-18-04 04:21 AM Link | Quote
Peekin's Tileview program has always been one of my favorites. It does a good job, I have found level data in quite a few games using it. Of course, all games are going to be different, but do give these programs a try or 3. Everything that looks suspicious (many chunks of rectangular shapes for example ) corrupt around there.

The two mentioned tools and corrupting can be surprisingly effective.
FloBo

Koopa
Level: 17

Posts: 2/101
EXP: 20723
For next: 4020

Since: 09-11-04

Since last post: 3 days
Last activity: 13 hours
Posted on 09-18-04 03:04 PM Link | Quote
thanks for all your responses. my problem is, that the map-data I'm searching for is not locatable with ordinary tile-editing-tools. Quite likely it is compressed, right? And how about that? Finding compressed data in roms is seemingly uneasy, isn't it?
I had to use Lunar Compress to find most of the graphics-data stored in the rom, but I have not the slightest idea about how to find the regions were the (originally compressed) tiles are assembled to the map I'm willing to change.

So what about you, Evil Peer? How did you learn about compression routines in Chrono Trigger and FFVI? Did you learn it from watching at the asm-code of those games or else...?!

Any suggestions?


(edited by FloBo on 09-18-04 06:07 AM)
Jigglysaint

Red Cheep-cheep
Level: 24

Posts: 83/215
EXP: 76907
For next: 1218

Since: 03-17-04

Since last post: 7 days
Last activity: 3 days
Posted on 09-18-04 07:35 PM Link | Quote
I took a look at Evil Peer's site. Pretty good. Just a few things though that I am wondering. First, is it possible to do the Chrono trigger main theme song with both the main part and the ending part of the intro into one spc? It should be possible. I want to record that song but since they are both seperate pieces, it's not possible unless there is an SNES emulator that enabled wav dumping.

Second, how do I get the .net thing so I can try out peer sprite viewer?

Third, has the chest data for FF6 been found yet? I made rather short work of the CT chest data, and since I didn't see it in any of the ff6 documentation, it might be worth a look over.
Kagerato

Goomba
Level: 9

Posts: 23/25
EXP: 2655
For next: 507

Since: 08-08-04

Since last post: 382 days
Last activity: 29 days
Posted on 09-19-04 04:34 AM Link | Quote
The .NET runtime is available at Windows update, or as a separate download here:

http://www.microsoft.com/downloads/details.aspx?
FamilyID=262d25e3-f589-4842-8157-034d1e7cf3a3&displaylang=en

Delete the line break after the question mark; I didn't want to cause unnecessary table bloat.
Geiger

Buster Beetle
Level: 34

Posts: 111/460
EXP: 241080
For next: 12571

Since: 03-15-04
From: Indianapolis, IN, USA

Since last post: 6 hours
Last activity: 6 hours
Posted on 09-20-04 08:14 PM Link | Quote
How did you learn about compression routines in Chrono Trigger and FFVI? Did you learn it from watching at the asm-code of those games?

Decompression was figured out from looking at the ASM. Recompression was figured out by backward engineering.

I would suggest you use Lunar Compress if it supports your game. Otherwise, you will have to do pretty much the same thing I did.

First, is it possible to do the Chrono trigger main theme song with both the main part and the ending part of the intro into one spc?

Not really. The SPC that contains the Chrono Trigger theme is a signaled song. It requires a state change (a signal) to boot it into "attract end" mode. Thus far, no SPC player I am aware of is capable of doing state changes.

That said, the CT beta has several SPCs that did not appear in the final game, including an intact attract mode Chrono Trigger SPC. Ask Chickenlump for it. (Or you could also do a search, I think he posted it to this board awhile back).

Second, how do I get the .net thing so I can try out peer sprite viewer?

The best way is to download it from Windows Update. If you need to download it from a computer other than your own, it is available separately, probably at the link above. Make sure you get the proper language version.

Third, has the chest data for FF6 been found yet?

I do not have a listing for it in my WIP FFVI database.

---Evil Peer
Chickenlump

Level: 41

Posts: 376/722
EXP: 474192
For next: 5953

Since: 03-15-04
From: Columbia City Indiana

Since last post: 3 hours
Last activity: 4 min.
Posted on 09-21-04 01:55 AM Link | Quote
I did help Zeality awhile back to rip all the spc's out of the Prerelease. It's an interesting set. It can be found on his site http://www.chronocompendium.com.
It's a huge site, so I will link you directly to the prerelease soundtrack page (not that you shouldn't take a look around while you're there, theres much to read through, it's an interesting site) .

http://www.chronocompendium.com/Term/Music_%28CTP%29



Kitten Yiffer

Purple wand
Furry moderator
Vivent l'exp����¯�¿�½������©rience de signalisation d'amusement, ou bien !
Level: 135

Posts: 5039/11162
EXP: 28824106
For next: 510899

Since: 03-15-04
From: Sweden

Since last post: 3 hours
Last activity: 4 min.
Posted on 09-21-04 02:21 AM Link | Quote
Anothert way to find Level data is just by looking after patterns, I did that with a NES game and I found the level data very quickly. This probably won't always work, but it's one of the first things you can check.

However a SNES one is alot bigger so it's probably inpractical. And if it's compressed...
Xkeeper
The required libraries have not been defined.
Level: NAN

Posts: -3210/-863
EXP: NAN
For next: 0

Since: 03-15-04

Since last post: 2 hours
Last activity: -753366 sec.
Posted on 09-21-04 02:28 AM Link | Quote
One way I could've found Crystal Mine's data would be to open up FWNES's memory viewer and note the patters in there, which made it easy because once you find the top-left corner tile, it goes on for 330 bytes in RAM in perfect order, making finding the levels easy...

Of course how Acmlm did it back a year ago or so he just opened it in a hex editor and found some interesting patterns and corrupted around there, took a screenshot... there were a few lines of data garbled in the first level, so he found it

Of course the people who wrote a small amount of the data covered in my (unreleased yet uploaded) document on the subject goofed up pretty badly, considering that the poor thing's labled as $8000-8300 in ROM (it's actually much different)...

Oh, yeah, back on topic, pretty much all of the ways you can find it:

* Corrupting randomly, narrowing it down (I've done this with Bucky O'Hare and found some level data)
* External viewers, like the ones Peer posted
* Looking for patterns in a hex editor (Acmlm did it with CM)
* Checking memory viewer for changes if you can modify the level, then searching for that in the ROM
* Tracing where ASM reads the data from
* More...

-------------------

You've got a lot of options, those above are listed in what I believe to be easiest - hardest

Speaking of my Crystal Mines document...


(edited by Xkeeper on 09-20-04 05:28 PM)
Jigglysaint

Red Cheep-cheep
Level: 24

Posts: 86/215
EXP: 76907
For next: 1218

Since: 03-17-04

Since last post: 7 days
Last activity: 3 days
Posted on 09-21-04 03:54 AM Link | Quote
Okay, I'll go looking for FF6 chest data right now. Won't take me more than a half hour.

Scratch that, won't take me more than half a miniute.

The offset of the chest data for the hidden Break Blade in the Magitek factory is at 2d8b4a. The first 2 bytes are the position. The third seems to be some sort of inner map index. The fourth works on a bit flag. Basically, values 10, 20, 40, and 80 work. 10 makes the chest empty. 20 puts a monster in the box. 40 is a standard chest, and 80 puts money in multiple of 100 in the box. The next byte is the item number, monster index, or money amount tims 100(value is multiple of 100).

Give me a sec to find pointer values.


(edited by Jigglysaint on 09-20-04 07:38 PM)
Geiger

Buster Beetle
Level: 34

Posts: 113/460
EXP: 241080
For next: 12571

Since: 03-15-04
From: Indianapolis, IN, USA

Since last post: 6 hours
Last activity: 6 hours
Posted on 09-21-04 06:50 AM Link | Quote
Now that you mention all this, I believe someone was decoding the treasure information on the Gamefaqs board a month or two ago. Unfortunately, I did not record the data.

---Evil Peer
Jigglysaint

Red Cheep-cheep
Level: 24

Posts: 87/215
EXP: 76907
For next: 1218

Since: 03-17-04

Since last post: 7 days
Last activity: 3 days
Posted on 09-21-04 07:34 AM Link | Quote
Well it's there now, so take it or I will have to kill you. My guess is that the pointers are right before that.
Geiger

Buster Beetle
Level: 34

Posts: 114/460
EXP: 241080
For next: 12571

Since: 03-15-04
From: Indianapolis, IN, USA

Since last post: 6 hours
Last activity: 6 hours
Posted on 09-21-04 08:05 AM Link | Quote
Ah.. looks like the thread is still available.

Izmo's hacking thread

---Evil Peer
Jigglysaint

Red Cheep-cheep
Level: 24

Posts: 88/215
EXP: 76907
For next: 1218

Since: 03-17-04

Since last post: 7 days
Last activity: 3 days
Posted on 09-21-04 08:51 AM Link | Quote
The thread doesn't seem to show for some reason.

Oh well, at least it only took me a couple of seconds.
Imzogelmo

Blue Octorok
Level: 11

Posts: 2/41
EXP: 5292
For next: 693

Since: 09-22-04
From: (Longview) Starkville, MS, USA

Since last post: 15 days
Last activity: 1 day
Posted on 09-22-04 03:36 AM Link | Quote

Interestingly enough, I used Evil Peer's tracer SNES9x to find this data.
Then I just looked at my bank 0 disassembly (since that's where the decoding function is located).

Corundum has a document created by a parse of this data.

Drakkhen has a program to edit the contents of a chest.
Jigglysaint

Red Cheep-cheep
Level: 24

Posts: 96/215
EXP: 76907
For next: 1218

Since: 03-17-04

Since last post: 7 days
Last activity: 3 days
Posted on 09-22-04 07:31 AM Link | Quote
Where's the level editor?
Pages: 1 2Add to favorites | "RSS" Feed | Next newer thread | Next older thread
Acmlm's Board - I2 Archive - Rom Hacking - Finding level-data in SNESroms | |


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.046 seconds.