Register | Login | |||||
Main
| Memberlist
| Active users
| Calendar
| Chat
| Online users Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album |
| |
Acmlm's Board - I3 Archive - - Posts by Cellar Dweller + |
Pages: 1 2 3 4 5 6 7 |
User | Post | ||
Cellar Dweller + Red Koopa Since: 11-18-05 From: Arkansas Last post: 6322 days Last view: 6313 days |
| ||
Many N64 emulators that run on x86 compatible processors will internally store the N64 ROM and RAM in DCBA order. This is an optimization to speed up emulation of big endian reads and writes on a little endian system. For example, "regain" might be ordered as "ageroy n", "ger nia"(two spaces), "re oniag", or "r oTiageoy n" in the emulator's memory depending on the alignment of the text with four byte boundries. Note how letters from "To" and "your" can get mixed in with "regain".
There is no easy way to find out where the N64 ROM and RAM are located without source code. If you have the source code, for example, you can modify the emulator to display the base pointers to the N64 memory at runtime, or even add an integrated memory viewer. Source code for recent versions of PJ64 is not available. Source code for 1964 is available, but can't be compiled as-is with any free compiler, because no standard makefile is included, only a VS project file. The best emulator for hacking ROMs seems to be Mupen 64 because it is open source and can be readily compiled with free tools. I have found it to be very useful to add debugging stuff to the CPU core. Some of the stuff I posted in the SM64 thread was found with help from modifications to Mupen 64. |
|||
Cellar Dweller + Red Koopa Since: 11-18-05 From: Arkansas Last post: 6322 days Last view: 6313 days |
| ||
Individual users can choose if they want to see the latest layout for all posts. The default (both here and in the distributed versions) is to show the layout as it was when the post was posted.
The update all patch only works on 1.8a and older versions. BTW, every distributed version of AcmlmBoard that I looked at had major security holes. |
|||
Cellar Dweller + Red Koopa Since: 11-18-05 From: Arkansas Last post: 6322 days Last view: 6313 days |
| ||
Yes, but you will need to find out what the format of the files is. If you have documentation on the format, or can read the Cobol source code, then you're set. As a last resort it is possible to reverse engineer the format. Reverse engineering will greatly aided if you can experiment with the program.
The fact that you have asked the question indicates a lack of experience that will make any of the options difficult. |
|||
Cellar Dweller + Red Koopa Since: 11-18-05 From: Arkansas Last post: 6322 days Last view: 6313 days |
| ||
The reason many N64 ROM have weird byte orders has to do with early copiers that output funny byte orders. The first ROM is in BADC order and the second is in CDAB order. ABCD order is the preferred order for hacking. There are tools to fix the order. Check Dextrose and acmlm.org for them. | |||
Cellar Dweller + Red Koopa Since: 11-18-05 From: Arkansas Last post: 6322 days Last view: 6313 days |
| ||
I remember that at least one version in the 1.Ax series that was distributed under the "Jesper License". (edited by Cellar Dweller + on 03-05-06 12:02 AM) |
|||
Cellar Dweller + Red Koopa Since: 11-18-05 From: Arkansas Last post: 6322 days Last view: 6313 days |
| ||
I tried to copy an unmodified version of the MIO0 file to the end of the ROM and point to it. I don't know why, but even that did not work. Everything that I know about SM64 suggests that it should work.
I have not been doing much stuff with SM64 lately, mostly due to work and school. |
|||
Cellar Dweller + Red Koopa Since: 11-18-05 From: Arkansas Last post: 6322 days Last view: 6313 days |
| ||
I just did some looking into regarding the repointing not working. Here is a disassembly of the code that contains the start and end pointers:
80286d40: 3c 05 00 11 LUI a1, 0x11 (17) I patched Mupen 64 to display when the JAL instruction is executed with 0x802787d8 and tried to run the repointed ROM. It did not indicate that the JAL instruction was ever executed. When Mupen 64 stops emulation, it prints the contents of the registers. When I stopped the hacked ROM, I noticed that the PC was near the beginning of the ROM. Next, I patched Mupen 64 to magically change the a1 and a2 registers to point to 0x800000-0x80bd10 when the above JAL was called and a1 pointed to 0x108a40. I then ran a ROM with the MIO0 file copied onto the end of the ROM but no other changes. It ran fine. It seems that changing this part of the ROM causes a checksum to fail and hang the ROM. There are several checksums in a N64 ROM header. Perhaps using one the header checksum fixing tools could help. |
|||
Cellar Dweller + Red Koopa Since: 11-18-05 From: Arkansas Last post: 6322 days Last view: 6313 days |
| ||
Fixing the checksums did the trick. I had to patch in the new checksums manually, as the utility did not have the capability to patch the ROM.
The most important issue with the GPL is that you make the source code of the modified version availible. The best way to do this is to include the source code along with the binary, as this will eliminate the need to ensure that that the source code is available for three years. |
|||
Cellar Dweller + Red Koopa Since: 11-18-05 From: Arkansas Last post: 6322 days Last view: 6313 days |
| ||
Originally posted by neotransotaku Sadly, the best way to understand the less documented parts seems to be to refer to the GTK source code. At least that seems to be the only way I could understand the underdocumented stuff. Here is a couple of annoyances:
|
|||
Cellar Dweller + Red Koopa Since: 11-18-05 From: Arkansas Last post: 6322 days Last view: 6313 days |
| ||
Actually, it was a GPLd emulator that had so many hard coded assumptions about the sizes of data types (as well as a 32 bit only dynamic recompiler that proved difficult to remove) that I gave up trying to fix it and set up a chroot jail.
I don't miss Flash much. It is not worth wating 2 hours for a silly 15 minute animation, and almost all the other Flash files are ads. |
|||
Cellar Dweller + Red Koopa Since: 11-18-05 From: Arkansas Last post: 6322 days Last view: 6313 days |
| ||
One of my cousins used to be a cop, and got the pepper spray to the face treatment as part of his training. I remember him saying that he would rather be shot with a gun. | |||
Cellar Dweller + Red Koopa Since: 11-18-05 From: Arkansas Last post: 6322 days Last view: 6313 days |
| ||
What is really needed is a linker. A database of symbols for the ROM would need to be created. Then, a linker could relocate the ASM hacks, assign RAM, and patch the hacks and existing game code to resolve the symbols. ASM hacks would be distributed as symbolic object files.
I really don't follow SNES stuff that much, so I don't know much about SNES development toolchains. I don't know what, if any, object file formats are already used that could be used for such a scheme, or what, if any, linker software is available that could be used, with or without modification. |
|||
Cellar Dweller + Red Koopa Since: 11-18-05 From: Arkansas Last post: 6322 days Last view: 6313 days |
| ||
On the SNES(and NES, but not the N64) save memory is normal RAM at a different address that is prevented from being erased when the power is turned off by a battery. It runs at the same speed as the main RAM. In fact games with a Super FX chip use the save RAM to pass information between the FX chip and the main CPU, in which hundereds or thousands of bytes are read from or written to save RAM each frame.
I see no way to use virtual memory on the SNES. The first Nintendo system that had any support for virtual memory was the N64. Even then, there was nothing suitable to use for swap. |
|||
Cellar Dweller + Red Koopa Since: 11-18-05 From: Arkansas Last post: 6322 days Last view: 6313 days |
| ||
The 64DD uses custom magnetic disks that hold both the game and save data. So, no ripping with commodity hardware is possible. | |||
Cellar Dweller + Red Koopa Since: 11-18-05 From: Arkansas Last post: 6322 days Last view: 6313 days |
| ||
I don't know if this has been discovered yet, but 6 of the parameter bytes(right before the GBI pointer) of the 0x13 geometry layout command are actually 3 16-bit signed integers forming a displacement.
There is a way to drag objects around directly from the 3d viewport. It involves lots of fun with linear algebra, such as computing inverse matrices, intersecting lines and planes, etc. I haven't done much SM64 stuff lately, because of work/school and N64(or almost any system) emulation being a pain on Linux on AMD64. There are way too many 32-bit-isms and assumed type sizes in most emulators. |
|||
Cellar Dweller + Red Koopa Since: 11-18-05 From: Arkansas Last post: 6322 days Last view: 6313 days |
| ||
My suggestions for the forums:
Officer's club - I'd leave it and fix the description so that newbies would know what it is for. Acmlm.org - I'd definitely merge it with H/S. AcmlmBoard Programming - I'd keep it. I have no opinion regarding anything in the entertainment category. Anya and Elmo's Corner - Fix the description to something more explanatory. Advanced ROM Hacking - Divide the threads between ROM Hacking and SMW Hacking and then remove it. SMW Hacking - needs a better description Pokemon Hacking - Please leave it. I remember how ROM Hacking was before this forum existed, and I'd prefer not to go back. SMW Hacking Crap - move the threads back into SMW Hacking where they will just sink off the first page. THE AWSOME BLACK HOLE - hide or delete In general, many of the forums could use better descriptions. As is, I believe that many of the descriptions are confusing to new members. |
|||
Cellar Dweller + Red Koopa Since: 11-18-05 From: Arkansas Last post: 6322 days Last view: 6313 days |
| ||
Originally posted by Kamek77 If you click on the New Reply button, you will not get a reply form, and if you try to use a self created form to try to submit the reply, you will get an error message. Originally posted by Pac-Man blackhole89 created such a feature, but it was removed because it had a bug that caused the thread listings to disappear for guests. See MathOnNapkins's recent posts in this thread. I hope a fixed version gets implemented here. |
|||
Cellar Dweller + Red Koopa Since: 11-18-05 From: Arkansas Last post: 6322 days Last view: 6313 days |
| ||
The thread tiltle reminded me of Steve Ballmer. Developers! Developers! Developers! | |||
Cellar Dweller + Red Koopa Since: 11-18-05 From: Arkansas Last post: 6322 days Last view: 6313 days |
| ||
As I understand it, when the N64 controllers were designed, the rumble pack had not yet been conceived. When designing the rumble pack, Nintendo must have realized that the controller could not supply enough current to the motor and still work reliably. IIRC the N64 controllers run at a low voltage(3.3) and the cables have thin wires. If a heavy load is placed on the controller's power wires, the voltage in the controller can sag. In other words, starting a motor could cause a small brownout inside the controller that could cause the controller to malfunction.
That being said, I vaguely remember seeing a web page that describes how to wire a rumble pack to pull power from the controller, but It was a long time ago. The third party rumble packs were probably designed with at least one of the following:
I haven't used a modded or third party rumble pack. So, I can't be totally sure how reliable they are. Originally posted by FloBo That must mean that you saw a place for hardware hacking? (sorry, I couldn't resist) |
|||
Cellar Dweller + Red Koopa Since: 11-18-05 From: Arkansas Last post: 6322 days Last view: 6313 days |
| ||
At one time there was a bunch of activity around YI hacking, so there is a bunch of stuff in the archive.
YI data thread A failed editor attempt A slightly less failed (but still failed) editor attempt The only YI editor to make it to release Some stuff that Chickenlump saved back in the overclocked days (MSWord format, but I'm sure there is a Mac program to view them.) (edited by Cellar Dweller + on 06-03-06 01:16 AM) |
Pages: 1 2 3 4 5 6 7 |
Acmlm's Board - I3 Archive - - Posts by Cellar Dweller + |