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 - Mario 64 - Amazing Stuff | |
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33Add to favorites | "RSS" Feed | Next newer thread | Next older thread
User Post
VL-Tone

Red Cheep-cheep
Level: 23

Posts: 199/200
EXP: 64158
For next: 3565

Since: 06-06-04
From: In the Moon!

Since last post: 5 days
Last activity: 2 hours
Posted on 10-27-05 09:41 AM Link | Quote
Originally posted by tachyon
okay, thanks. I think I'm ready to start hacking now.
EDIT: ok, I ran into a problem. I changed a byte in one of the decompressed objects and recompressed it, and when I tried to run the ROM on pj64, it said it was not a valid rom. so far so good, I assumed I had simply changed a vital byte and corrupted the rom. but when I changed it back and recompressed the file back in, it gave the same error. this fixes when I delete the rom and start from the backup rom. I assume it's some problem with compression, and has to do with your quote "you need to do a bit of hex-editing with the output before you can stick it back into the ROM". what kind of editing is necessary?


Hmmm, first, are you sure you get a MIO0 file that is the same size? You can't just insert a differently sized MIO0 file back and thus making the ROM a different size, because even if your emu didn't warn you of a wrong size, the game will more than likely crash when run.

So first, verify if you get a MIO0 file of the same size when you recompress. If it's the same size, paste it over the original. If it's smaller, paste it over too, but keep the rest of the data so it doesn't change the ROM size. If it's bigger you'll have to extend the ROM and paste it somewhere else in the extended part.

For both a bigger and smaller MIO0 file, you'll have to find the 0x18 command that loads the file (sometimes there are a few of them) and change the start AND the end pointers so that they match the new MIO0 file. To find these commands, you can usually search for the MIO0 file start address, and almost all the occurrences you should find are part of 0x18 commands.

You can also change the 0x18 in the command to 0x17, and paste the UN-compressed version of the MIO0 file into an extended ROM. Don't forget to change the start and end pointers too. That way you can edit bytes directly into the ROM without having to re-compress and insert the data each time.

In other news, I started fixing my pictures in the first 7 pages of this thread, which were 404. I'll continue the rest in the next few days.
tachyon

Octorok
Level: 7

Posts: 23/23
EXP: 1089
For next: 359

Since: 07-28-05

Since last post: 5 days
Last activity: 10 hours
Posted on 10-28-05 03:31 AM Link | Quote
whoa! how good IS your compression?! I did what you said, and the new file was about 7500 kb smaller! anyway, how do you know if the lines ( I'm talking about the rows of bytes at a certain rom address such as the first line of the rom, sorry I don't know the word for that) you find are 0x18 pointers or not?
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 8056/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 10-28-05 06:33 AM Link | Quote
It's not my compression, it's Nintendo's. And my implementation actually isn't as good as theirs.
VL-Tone

Red Cheep-cheep
Level: 23

Posts: 200/200
EXP: 64158
For next: 3565

Since: 06-06-04
From: In the Moon!

Since last post: 5 days
Last activity: 2 hours
Posted on 10-28-05 09:13 AM Link | Quote
Originally posted by tachyon
whoa! how good IS your compression?! I did what you said, and the new file was about 7500 kb smaller! anyway, how do you know if the lines ( I'm talking about the rows of bytes at a certain rom address such as the first line of the rom, sorry I don't know the word for that) you find are 0x18 pointers or not?


Look at the format of the 0x18 command earlier in the thread, it always begins with 18 0C. So you should find 18 0C a few bytes before the pointers. As for the compression, it's not even a matter of a good or bad implementation. You should understand that even a single byte change can change the size of the compressed file, and you can't really predict what the compressed size will be until you compress it. Actually, if you change something and the re-compressed file is the same size, then you were lucky...

(Edit: 200 posts! Wow did I really post 200 times?)


(edited by VL-Tone on 10-28-05 12:15 AM)
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33Add to favorites | "RSS" Feed | Next newer thread | Next older thread
Acmlm's Board - I2 Archive - Rom Hacking - Mario 64 - Amazing Stuff | |


ABII


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



Page rendered in 0.021 seconds.