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 - 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 33 | Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
User | Post | ||
tachyon Octorok Level: 7 Posts: 14/23 EXP: 1089 For next: 359 Since: 07-28-05 Since last post: 5 days Last activity: 10 hours |
| ||
wooot! it works now. actually, I ditched corn and made PJ64 work without a gamepad by messing with the configuration. I'll start helping now. EDIT: okay, which parts of the hex code need a MI00 decompressor, and where can I get a decompressor and recompressor? (edited by tachyon on 10-14-05 11:44 AM) |
|||
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: 7706/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||
All the information you seek is located within this thread. According to this document, 0x10000000 to 0x1FBFFFFF is the cartridge ROM area, which works out to about 250MB. Though there does seem to be a lot of mistakes in it. |
|||
tachyon Octorok Level: 7 Posts: 15/23 EXP: 1089 For next: 359 Since: 07-28-05 Since last post: 5 days Last activity: 10 hours |
| ||
okay, I got the decompressor. unfortunately, I need to unRAR it first, and my unRARer doesn't work. what do you use to unRAR files? does the recompressor come with the decompressor? and do you need a dissasembler to see decompressed ROMs? a tracer would help too...agghhh...this is so complicated! | |||
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: 7719/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||
WinRAR, yes, and no. | |||
tachyon Octorok Level: 7 Posts: 16/23 EXP: 1089 For next: 359 Since: 07-28-05 Since last post: 5 days Last activity: 10 hours |
| ||
okay, I got WinRAR and extracted it and it still doesn't work! the screen comes up for a split second and then goes away. | |||
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: 7724/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||
Command line programs do that. You need to run the command prompt first (Start -> Run -> command -> OK on 9x/ME, or Start -> Run -> cmd -> OK on NT/2K/XP), and run the program from in there. If you can't figure out how to do that, you need to learn about DOS. | |||
Cellar Dweller Flurry !!! Level: 27 Posts: 268/269 EXP: 107817 For next: 8342 Since: 03-15-04 From: Arkansas Since last post: 16 days Last activity: 34 min. |
| ||
It should not be too hard to create an ASM hack to load the 0x108a40 data predecompressed from some other area. I may be able to do it, if I remember to do it. Originally posted by HyperHacker AFAIK, N64 games almost never read ROM data from memory mapped areas. They set up DMA tansfers from ROM to RAM and work with data in RAM. Even the function that loads compressed data first allocates RAM for the MIO0 file, uses a DMA transfer to load it into RAM, reads the size form the MIO0 header, allocates that much RAM, calls the uncompress function, and frees the memory holding the compresssed data. Keeping a bunch of data uncompressed may be a good idea for now, but after the data structure becomes better understood, it may be a good idea for editors to recompress the data on save. An inventory of the assets(textures, models, objects, etc) could be performed by walking the data and translating the information into the editors internal format. When saving, the data is translated back and saved in the game's format. If anyone is looking for a no-op level command, you can use a 0x24 command with an act mask of zero and the size byte set to how many bytes to skip. The size should be a multiple of four, and a zero size will cause the level loader to hang in an infinite loop. It is also possible to increase the size byte of a command to skip commands after it. |
|||
VL-Tone Red Cheep-cheep Level: 23 Posts: 184/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 Cellar Dweller So is there a 32MB limit on ROM size? As for compressed data, it's not that I'm to lazy to code a MIO0 compressor, but is there really any use at keeping the compression? Anyway I'm not totally against it, but I would like to know of any reason why we should keep compressed files. Ok I must admit that the reason I'm inclined to get rid of the compression is that it's too slow in Director/Shockwave (which is, unfortunately, what I'm more experienced in). The rest is fast enough, it has a relatively fast OpenGL or DirectX driven 3d engine. As I said before if anyone with good C++ and OpenGL experience wants to build a Mario 64 level editor before me I won't mind at all, but if I want to make my editor progress, I need to get rid of the compression. I'm thinking of learning C++ to make a simple program that transforms the ROM into a directly editable uncompressed version that doesn't require to write too much data on saving. By keeping space between the segments in ROM, it avoids having to move big chunks of data when a segment expands. One way or another, the ROM needs to be expanded and MIO0 segments need to be relocated after 0x800000. So I will try to offset this process in C++ to get the needed speed. Once the ROM is transformed, it can be edited and used as is. An inventory of the assets is a very good idea, but I don't see how compression can help that. By the way from my brief encounters when digging Zelda: OOT, I realized it's organized in a much better way, and that there is probably a directory of all assets somewhere. Mario 64 doesn't have that, as you said you have to walk the script to find offsets for the different parts. Most offsets refer to RAM segments and we have to keep track of which data is loaded in which segment. My current editor does that, and it has too, since there is some skipping between segments happening in level loading scripts. That 0x24 command used as a no-op should be very useful along the way of improving the editor. I wish I found a similar command to use in StarFox. Ok, I'm on my way to make an improved Mario 64 hacking document... |
|||
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: 7763/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||
Imagine downloading a patch that doesn't compress it on dialup. No reason the editor can't store things uncompressed, but have an option to compress everything before you release the hack. | |||
VL-Tone Red Cheep-cheep Level: 23 Posts: 185/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 HyperHacker RAR, ZIP or GZIP could do the same job to compress a patch as MIO0. And also, blank space can be compressed by a large amount, to only a few bytes. |
|||
Cellar Dweller Flurry !!! Level: 27 Posts: 269/269 EXP: 107817 For next: 8342 Since: 03-15-04 From: Arkansas Since last post: 16 days Last activity: 34 min. |
| ||
I really don't know what the size limit is. IIRC, the N64 cart pinout has 16 address/data lines, an alel(address latch enable, low) line, an aleh(address latch enable, high), a read line, and some other clocking/save/lockout stuff. This suggests that the max size is 4G by 16 bits, or 8 GB. The hardware register for controlling the start of the transfers is 32 bits. I just don't know what the max size is. It may be much less than suggested here. | |||
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: 7774/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||
But why waste the HD space? Even if you do have tons, you may as well compress things when it makes no noticable performance difference and saves a fair bit of space. | |||
VL-Tone Red Cheep-cheep Level: 23 Posts: 186/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 HyperHacker Why? Because I have no choice, Director/Shockwave is too slow in itself to decode and encode MIO0 files at a reasonable speed. My solution for my particular problem was to have an external C++ program preparing the ROM for more direct editing of the file. I guess I could make my editor call another external C++ program to re-compress MIO0 files and reinsert them. Anyhow what I was proposing was a much easier solution for me and I didn't thought that "wasting" 8-16 megs on a multi-gig HD was that bad (for the environment I guess?). I never proposed that it was the best way to do things, or that other people working on an editor should do the same. I'll stop dragging this thread into my own development platform problems, and I'll deal with those myself and with the help of people on another site, since I guess everyone here that could help me solve my "particular" problems will tell me to change dev platform and learn C++ and OpenGL. I'll still post everything I find in Mario 64 on this thread, and any future public release of my editor, but I guess that I'll be less pro-active. I'm not mad or anything, but I'll stop wasting your time with my choice of development environment. Bah ok I have to admit, I'm somewhat mad... not against any of you... but against myself and the situation itself. Oh well I'll calm down, it's just a thread on a forum on the internet after all... |
|||
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: 7794/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||
That's why I said...Originally posted by HyperHacker |
|||
VL-Tone Red Cheep-cheep Level: 23 Posts: 187/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 HyperHacker Ok then everything is fine, everyone is happy Forget about my rant, I had a stressful day at work... Edit: I made a major update to my Mario 64 ROM hacking doc found at http://pages.infinit.net/voxel/Mario_64_Hacking_Doc.txt Since some are too lazy to click URLs I'll paste what's new (it's very long). ------------------------------------ (edited by VL-Tone on 10-17-05 10:38 PM) (edited by VL-Tone on 10-18-05 03:10 AM) (edited by VL-Tone on 10-18-05 03:15 AM) (edited by VL-Tone on 10-18-05 10:48 PM) |
|||
Spekkio Level: 8 Posts: 22/22 EXP: 1898 For next: 289 Since: 11-29-04 From: End of Time Since last post: 15 days Last activity: 70 days |
| ||
Where can I get Mario64Edit? | |||
VL-Tone Red Cheep-cheep Level: 23 Posts: 188/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 Spekkio My Mario64 prototype editor is not online anymore, it was very limited, only could change a few objects in one level and had a some flaws that made it not so useful. I could put it again online, but only when I moved to my new host. The version I'm working on is improving and is able to open just about every level, but it will take some time before I can release a new version. Let's say that before the holidays I'll publish a new version (edited by VL-Tone on 10-18-05 03:07 AM) |
|||
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: 7818/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||
Cool. This needs some fixing though.Originally posted by VL-Tone |
|||
VL-Tone Red Cheep-cheep Level: 23 Posts: 189/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 Santa Claus Yeah that's the joy of copy and pasting There were 2 other similar mistakes that I fixed. I also changed 2 things because I figured out how they work. First is the 0x1F command:
I found out that this command not only loads the geometry data for an area, but also marks the start of an area inside a level (ie. bonus slide), and command 0x20 seems to indicate the end of area specific data. Byte 3 in the 0x1F commands seems to determine/assign the area number, that can be used by the 0x26 warp command for example. By the way, I successfully merged my newer decoding engine with my old editor, and it can now show and edit %90 of all levels, and thanks to my discovery yesterday, you can select which area to edit inside a level. For now it still edits the 0x24 objects only, but it displays the objects loaded from the 0x39 command too (which are inside a MIO0 file, these are the object that you guys made a list for). You'll have to accept the following limitations if I release the new editor anytime soon: it requires that you uncompress all MIO0 files from Mario 64 and that you put them in the same folder than the editor. Each file must have its name representing the address where the MIO0 file is found in the ROM. This is the way the MIO0 de-compressor N64UNC found on Dextrose automatically names its output files, I'm not sure if the other MIO0 de-compressors work the same way... I'll probably make the 0x39 objects editable, but it will require people to deal themselves with inserting the data back into the game. (The 0x24 objects are uncompressed in ROM so it won't require that.) I'll probably add something to edit the music bytes, and I'll work on an interface that would enable to change other things like the 0x22 commands and warps. For now, it will still be cubes representing objects, but I may add the option to make it draw them as is (which currently doesn't always work for all objects, and they don't appear in the right scale) So Santa I'll probably release something much sooner than expected, before the holidays even start (Edit: proof reading? what does it mean?) (edited by VL-Tone on 10-18-05 11:15 PM) (edited by VL-Tone on 10-18-05 11:20 PM) |
|||
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: 7840/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||
Awesome. Now you just need to learn a real programming language. |
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 33 | Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
Acmlm's Board - I2 Archive - Rom Hacking - Mario 64 - Amazing Stuff | | | |