Register | Login | |||||
Main
| Memberlist
| Active users
| ACS
| Commons
| Calendar
| Online users Ranks | FAQ | Color Chart | Photo album | IRC Chat |
| |
1 user currently in Rom Hacking: |
Acmlm's Board - I2 Archive - Rom Hacking - Complete F-Zero tracks images (at last!) | | | |
Pages: 1 2 | Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
User | Post | ||
VL-Tone Red Cheep-cheep Level: 23 Posts: 49/200 EXP: 64158 For next: 3565 Since: 06-06-04 From: In the Moon! Since last post: 5 days Last activity: 2 hours |
| ||
Originally posted by neviksti Hey welcome here neviksti, great work on the main track loading routine! sorry for the time it took to reply (and sorry to bump the thread). There is nothing wrong about doing ROM hacking by looking at the code "Au contraire" as they say... You'll see that the best ROM hackers here mostly work like that (I'm not one of them), and I wouldn't say my methods are necessarily faster. Though the main reason my hacks/editors don't progress is mostly because I simply don't program/hack much these days, not because I'm slow at it. I just found a key element that is missing and this is where your help will be needed... I guess it was obvious but I somehow forget to check for that. Forget about the ZST states adresses, the (W)RAM adresses are much more logical. Look at these adresses, they are the offsets for each row. To find the offset in the master row data IN RAM is simply by adding 7F000 to the 16 -bits adress, on the picture the first row data offset is 42767F (reverse byte order). Just read 32 bytes from this address and you get 16 2 bytes offsets. Add $64580 to the offset to get the ROM address (with 512 bytes header) of the 4 bytes data describing a macro-tile (2x2 tiles). The master row data actually starts at 7F4000 in RAM and not every part of the 7F RAM bank is used for row data. I made a table on the older thread describing what ranges are used. So the key element I found is a single mention of 00407F in the ROM close to F03F7F which seems to point to a 16 bytes row data "header" in RAM. This is likely part of the row data decompression code. So you mission neviksti, if you accept it, will be to reverse-engineer the row data decompression routine It's not like I couldn't do it myself , and I'm willing to help, but you seem more used to deal with SNES code than me. So just look at $2536 in the ROM (or search for 00407F) and try to figure out how the routine writes to this address in RAM. But before anything, what we need to know is where this compressed data is read from in ROM, looking at this code around $2536, you should be able to find out. Once we can compare the compressed to the uncompressed data it can be much easier to figure the inner mechanism. Note that if you change the 00407F or F03F7F to something else, you'll see that the header and row data are shifted accordingly om RAM. Somehow, the game will read the data at the correct relative address, but the row data can get corrupted by other data written in RAM if you offset it. Heian-794 Great graphical hacks!! I love Kyoto, I want to move there someday (ok maybe not). A F-Zero track editor should include a graphic editor, though cars are really tough to edit unless you use CGI models like FZ2 and the GBA F-Zero, but for me the hand drawn cars are part of the original F-Zero experience. Still, it could be fun to integrate CGI 3d models |
|||
neviksti Goomba Level: 8 Posts: 8/25 EXP: 1510 For next: 677 Since: 06-09-05 Since last post: 36 days Last activity: 30 days |
| ||
Well, it looks like it gets the row data after at least two "unpackings". - somehow the rows for the "track panels" as you called them (32x32 tiles, or 16 rows) are put into ram - then the rom data holding all the track panels are unpacked (using the above ram table) into just row data in ram I have not found that first part yet (or more accurately, I may have found it, but have not made sense of it yet ... it jumps all over). Here is the routine for the second part: Notice there is no compression ... so this step is easy.
|
Pages: 1 2 | Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
Acmlm's Board - I2 Archive - Rom Hacking - Complete F-Zero tracks images (at last!) | | | |