Informative guide to Kirby 64 Hacking
Users browsing this thread: 2 Guest(s)

The following data is comprised of ROM and RAM finds that I figured some on this message board would fancy. http://pastebin.com/dsga406Q
The following was done by fkualol/aksa/Playtendo of an IRC called #.blank. Which can be found on the Rizon network. (Note, you you can trace RAM addresses to ROM though the DMA controller of course) You can find us here as well

=============================================================================================
Tools (To get started, at least)
The ROM addresses that you see can of course be worked with with a hex editor, however, you can also view the locations in MIPS source/disassembled code rather than ol' base16 strictly, at least.

Nemu64. An emulator that has tons of debugging features but hasn't been worked on in over a decade and is relativity buggy but is still, by far, your best option for the content I have displayed here.

For assembling gameshark codes in C
Tutorial applicable to the toolchain:
Setting it up

LemASM is an assembler/dissembler and ROM editor which also allows hex view
A better program than LemASM and could become your best friend

Renegade64 can hook to any N64 emulator and is a capable of assembling MIPS R4300i code to into gs code format, memory scanning and other things you can figure out on your own.
Source

There are tutorials below for everything I posted above!


==============================================================================================
Guides/Tutorials
Desire to learn how you can make use of this newly acquired knowledge? Here I give you a list that I compiled with practical, informative tutorials, guides, references, etc:

Every Nintendo 64 programming manual (excluding games, including 64DD). Excellent resource
R4000 manual
ISA
Opcodes (A lot more can be found by navigating back to the n64dev directory)

Want stuff with more layman's terms and hands on/practical?

These first two I assume will be of much avail for beginners.
Practical usage
An amazing MIPS course
First off, I recommend the above for everyone, noob or not. The former is the most "practical" guide of the bunch that I keep blabbing on about; the latter is a college course on MIPS. Those two should work perfectly.


Moreover, I still provided more links just in case.

SM64 Hello world with MIPS hacking
Introduction to LemASM
Learning basic debugging tool usage and a very basic introduction to assembly (Is also quite good)
A brief, but not well explained, tutorial for tracing basic arithmetic operations and making a gs out of assembly
An old practical, informative tutorial to Nintendo 64 hacking
In depth gameshark code creating guide
Practical OoT tutorial for making gameshark codes with c
Same as above, but for Super Mario 64 and more explanatory
Yet again more practical tutorials on some daily planner looking system


I cannot link to ROMs for legal reasons and the terms and conditions of this site. You can find them yourself easily through Google.

i was wanting to make a "double speed" kirby 64 rom once, so i could play the game for myself (i hate how slow the original game is) so this seems somewhat interesting. do you have any data on where kirbys stuff is stored?

You mean frame rate wise? I've personally never done anything like that, but you can drop in that IRC and highlight a guy named wareya who made Majora's Mask run at 60fps.

He may be afk, so you can just idle there until someone else or he responds. That post a topic on the forums asking for help. Make sure they know you're not just some scrub, or they probably won't answer.

i just meant kirby's own data (like, positions, speeds, etc). i've only wanted to double his horizontal speed, since id most likely want to play it through on my N64, double framerate wont really work i guess.
not sure if kirby64 even has a place where all that is stored, i just thought it probably has, since SM64 does it in that way too.
(This post was last modified: 18-11-2015, 06:12 PM by Kaze.)

Sure it has it all stored. I would imagine you could easily find Kirby's X and Y position. Just use Renegade start as an unknown value and then run a few 16-bit greater, less (while moving in one direction) or no change (while standing still or in the menu) searches. I'd of course just work with one axis at a time. It's a safe bet though that Y position values will be signed. A plus is you'll probably find some action related assembly. Here is a program called LFE. It will locate the OS functions for you, but mind you, you need to run it on a 32-bit system. Maybe you could find the spawn actor function and do cool assembly codes while jumping or attacking. I dunno, just what I would do anyways.

Keep me updated!

yeah, i had done something like that, i was only able to find the position of his visible model that way though (802982E8) and a copy of it that doesnt seem to do anything (80298768), by doing it once with a 4 byte and once with a 2 byte search (always checking if it got bigger/smaller). i've done a different search afterwards and found a float value representing kirby's speed (800E64D0) and done a cheap hack to double kirby's speed:
810B54C8 4608
810B54CA 4200
810B54D4 E428
810B54D6 64D0
i'd like to assemble this into a rom, but when trying to search for the ASM code within the rom, ive found that it does not exist as raw data within the ROM. do you have any clue on how to find the corresponding code in the rom (i suppose it's compressed) or do i have to use a gameshark? (i don't have the original Kirby 64, so i kinda need to make a rom out of it or play on emulator)

i'll probably upload the double speed mod ive made to my youtube and link the kirby stuff you guys are doing, maybe that way i can get you some attention or other people to work on kirby with you, i myself am not interested enough in kirby to actually get into hacking it
(This post was last modified: 18-11-2015, 09:13 PM by Kaze.)

Yeah I'm not exactly sure what compression/file format it follows, sorry. I haven't looked into working directly with the rom yet. Also that would be excellent @ posting the data finds there! Like I had said prior too, feel free to drop in and ask questions. Your best option is to ask aksa if he's around. If not, you can just idle or pop in and out at will.

Nice job too! Wink

Informative guide to Kirby 64 Hacking
Users browsing this thread: 2 Guest(s)