Banner
Views: 714,710,776
Time:
6 users online: Berk, Conal, Golden Yoshi, MarioFanGamer, Sephazon, Shog - Guests: 32 - Bots: 184Users: 37,318 (1,630 active)
Latest: RetroRuco
Winter 2019 C3 Content Spotlight
Big Brawler's Level Compilation!
Not logged in.
Posts by DamiHack
DamiHack's Profile - Posts by DamiHack
Pages: « 1 2 »
Well guys, Info64 is a tool that shows Nintendo 64 ROM's informations and allows to change some of them as for example:
  • Name
  • Region
  • Manufacturer code
  • Cartridge ID
  • etc.


Download: http://dl.smwcentral.net/5737/Info64.zip
Mirror: http://www.mediafire.com/download/fuilalw8e9q8v54/Info64.exe
Source code: https://github.com/DamiHack/Info64

Trailer: http://www.youtube.com/watch?v=oWuflnc-_bQ
Originally posted by mario and luigi
i downloaded info64 and it's rather neat how it can modify rom settings in a matter of seconds.


Thanks #ab{:)}
Now I'm working on byte-reordering #ab{:LOL:}
Originally posted by RedRose64
"Info64 is not a valid win32 application"


Strange o.O
Have you got a 64bit computer?
TT64 0.6 is better?
I can upload it becuase it doens't exist on the net
Well, I created a MIDI SoundFont with Super Mario 64's instruments ripped directly from the original ROM.
Don't confuse this with Tamkis's SoundFont!

Download: http://www.mediafire.com/?fxakm8ka5ln75p9
Trailer: http://www.youtube.com/watch?v=nC0NRzzAjo0




Thanks to:
  • Tamkis (aka MrTamk1s) for the idea
  • Frauber (aka messiaen) for music docs and some instruments' descriptions
  • Skelux for many instruments' descriptions
  • SubDrag for the full sound rip


I don't own the MIDI used as test in the video:
Copyright All Rights Reserved. - EMI Music Publishing





Now I'm working on a plugin of MuseScore to export the MIDI as .m64.
I'm also creating instruments loop.
I need a list of instruments that need a loop. Can you post it here?
Originally posted by Kazeshin
so you took tamkis' code and recompiled it? seems legit.


Of course not! I re-done all from scratch with SubDrag's rip.
Here is Toad's Tool 64 0.6 #ab{:)}

If you need help first of all read readme.html.

If the solution isn't in the file, ask in this thread.

I DON'T OWN THIS PROGRAM. THE CREATOR IS STARXXON.





Download: Nuked
Originally posted by Kazeshin
the importer doesn't overwrite the model exactly, it creates a new area outside the original 8 MB and loads this area mostly into expanded RAM. the problem with overwriting sub sreas is, that you would have to do it manually, as long as noone writes a program for that.

Why did frauber choose to expand the ROM and to let the subareas remain?
Execuse me if the question is stupid.
I want to publish my new Moonjump codes created 1 year ago.
Many many people published them calling me as "some guy" or showing it as theirs and I don't like this.
Many GS websites published them and maybe you have some of them lol




DIRECT AND FIXED MOONJUMP

D133AFA0 8000
8133AFA0 0500
D133AFA2 8000
8133B1BC 4220
D133AFA1 8000
8133B17C AAAA
D133AFA0 8000
8133B17E 0880





MOONJUMP FIXED WITH AUTOMATIC BUTTON PUSHER COMPATIBILITY

8833B248 0000
8133AFA0 0500
D133AFA2 0020
8133B1BC 4220
D133AFA1 0020
8133B17C AAAA
D133AFA0 0020
8133B17E 0880




MOONJUMP FIXED WITHOUT AUTOMATIC BUTTON PUSHER

8833B248 0000
D133AFA0 0020
8133AFA0 0500
D133AFA2 0020
8133B1BC 4220
D133AFA1 0020
8133B17C AAAA
D133AFA0 0020
8133B17E 0880




Trailer
This looks pretty awesome!
Good work man #ab{:LOL:}
My suggestions:
1. RGB for Toxic Haze
2. Incorporate your model replacer

That's all.
Originally posted by Kazeshin
Originally posted by Vinnyboiler
Really nice work so far. maybe as a small suggestion, I know this is probably the easiest thing you can do in a hex editor (it's literally a text-string at 000F1F80) but maybe having a editor for the "Press Start" in the editing credit texts?

i haven't planned to include these things, because it's easy to edit them.(hex editor->ctrl+f("PRESS START")->done.) i'd be more interested in the credit texts at the end, because they are way harder to edit properly.


Anyway you should insert it because it's more comfortable to edit it with a tool instead of using HEX.

P.S. Where the hell do you load the ROM in the program? lol
Why don't we use IRC?
Many many people use this for public chats.

However my nick on Skype is: DamiHack
Originally posted by RedRose64
No. An old Windows XP professional.


Ah, I think C# doesn't work with Windows XP.
Is there anyone who knows how to compile a C# program for Windows XP with Visual Studio 2012 running on Windows 7?
Originally posted by ShadowFan-X
You need to target the .NET Framework version 4.0 or earlier. I don't know about Visual Studio 2012 (can't use it because I have XP too), but in '10 you can do this by going to your project's properties page, and changing Application > Target Framework to the earliest version of the .NET Framework you can compile with.

If end up using version 3.5 or 4.0, try to use the Client Profile version.

If you are using anything earlier than 4.0, make sure you distribute the app.config file that appears alongside your built application.


Thank you, now I test it in Windows XP Mode.
I think I'll release the WinXP version when I'll finish working on byte reordering.
With this tutorial you will be able to access the RAM and to modify it.
All is done using C language. If you wanna learn C, you can look here.
The compilation of the C code will produce, through some programs, a binary code that will be converted then in a GameShark code.


Toolchain 1.0 by gzrt
Includes by frauber
Fixes in 1.0.1 by DamiHack



Menu

  1. Installation
    1. Install MinGW
    2. Configure MinGW

  2. Compilation
    1. Prepare your own code
    2. Compile your own code





Installation


STEP 1

Install MinGW

  1. Download the installer here
  2. Launch it
  3. Click on Next
  4. Click on Next again
  5. Click on Download latest repository catalogues
  6. Click on Next
  7. Click on I accept the agreement
  8. Click on Next
  9. (Not recommended) If you want, change the Destination Location
  10. Click on Next
  11. (Not recommended) If you want, change or don't create the Start Menu Folder
  12. Click on Next
  13. Select C Compiler
  14. If you want, select also other components
  15. Select MSYS Basic System
  16. Select MinGW Developer Toolkit
  17. Click on Next
  18. Click on Install
  19. Wait the completion of the installation
  20. Unselect Display mingw-get log
  21. Click on Finish



STEP 2

Configure MinGW

  1. Download the Toolchain here
  2. Extract it in C:\MinGW
  3. Launch MinGW Shell
  4. Wait the loading of the console
  5. Enter cd /c/MinGW/n64tree-win32/bin ("/c/" is the equivalent of "C:/", replace "/c/MinGW/" with your Destination Location if you edited it)
  6. Enter export PATH=$PATH: 'pwd'
  7. Close MinGW Shell



Compilation


STEP 1

Prepare your own code


To try we'll do an Hello World. The game we are going to edit is Super Mario 64.
  1. Create a new folder in "n64tree-win32" called hacks (or whatever you want) where you'll put your hacks
  2. Create a new folder called "HelloWorld" (or whatever you want) in the folder you've just created
  3. Here create a new text file called "hook.txt"
  4. In the file you've just created enter this GameShark code:
    Code
    812CB26C 0C10
    812CB26E 0000
    812CB278 1000
    812CB27A 0040
    
  5. Now create a new file called main.c (or whatever you want in .c)
  6. In the file jou've just created, enter:
    Code
    #include "n64.h" // Include Standard N64 Library
    #include "explode.h" // Include SM64 Library
    
    void _start()
    {
    	asm volatile("la $gp, _gp"); // Ensure the correct data pointer is loaded
    	PrintXY(80, 75, "Hello World"); // Print "Hello World" on X: 80 and Y: 75
    }
    
  7. Save it
  8. At this point create a new file called "Makefile" without any extension
  9. In the file you've just created enter:
    Code
    # Name
    PRJNAME	= main
    PARTS	= $(PRJNAME).o
    
    # Vars
    N64_ROOT	= ../..
    N64_PREFIX	= mips64-
    N64_BIN		= $(N64_ROOT)/bin
    INC_ROOT	= include
    INC_FLAGS	= -I. -I $(N64_ROOT)/$(INC_ROOT)
    LIB_FLAGS	= -L. -T $(N64_ROOT)/$(INC_ROOT)/mario64.x
    GS_TYPE		= default
    
    # Flags
    NOBUILTIN	= -fno-builtin
    CFLAGS		= -std=gnu99 -nodefaultlibs -march=vr4300 -mtune=vr4300 -mabi=32 $(INC_FLAGS) $(NOBUILTIN) -o3
    ASFLAGS		= -march=vr4300 -mabi=32
    LINK_FLAGS	= $(LIB_FLAGS) $(LIBS)
    
    # Programs
    CC		= $(N64_BIN)/$(N64_PREFIX)gcc
    LD		= $(N64_BIN)/$(N64_PREFIX)ld
    OBJCOPY		= $(N64_BIN)/$(N64_PREFIX)objcopy
    CHEAT		= $(N64_BIN)/$(GS_TYPE)cheat
    BINCODE		= $(N64_BIN)/bin2code
    
    # Process
    all: $(PRJNAME).bin
    	$(BINCODE) $(PRJNAME).bin 80400000 codes.txt # Turn binary into GS code
    	cat hook.txt codes.txt | $(CHEAT) "Mario 64" 0 > Cheats.ini # Turn into cheat format
    
    $(PRJNAME).bin: $(PRJNAME).elf
    	$(OBJCOPY) $(PRJNAME).elf $(PRJNAME).bin -O binary
    
    $(PRJNAME).elf: $(PARTS)
    	$(LD) -o $(PRJNAME).elf	$(PARTS) $(LINK_FLAGS)
    	
    clean:
    	rm *.o *.elf *~ *.bin Cheats.ini codes.txt -vf
    

    PRJNAME is the name of the C file without the extension
    GS_TYPE is the output format. You can choose "nemu" for formatted nemu cheat or "default" for simple code



STEP 2

Compile your own code


  1. Open MinGW Shell
  2. Enter cd /c/MinGW/n64tree-win32/hacks ("/c/" is the equivalent of "C:/", replace "/c/MinGW/" with your Destination Location if you edited it and replace "hacks" with the name of the folder where all your hacks are placed, if you edited it)
  3. Enter cd HelloWorld (Replace "HelloWorld" with the name of the folder where all the files you've just created are placed, if you edited it)
  4. Enter make on MinGW Shell
  5. If you didn't any error, a file called Cheats.ini will be created
  6. Open Cheats.ini where the code is finally produced
  7. Insert the GameShark code in an emulator
  8. Launch the SM64 US 1.0 ROM
  9. The result will be this:

  10. If you want to apply some changes to the C code:
    1. Enter make clean on MinGW Shell
    2. Edit the C file
    3. Enter make on MinGW Shell
  11. Close MinGW Shell


Good job!
Originally posted by Kazeshin
srsly, you should not take messiaens work and republish it. also, if you know, what this is actually doing (which i confidently doubt), you should explain, how to create function, that don't get hooked from mario's debug menu and that could actually be used in a hack. after that, you will have to explain, how to insert the asm code without using a gameshark device. when you are done with that, explain, how behavior scripts work. after that, someone will be able to actually use this :V


Can you explain better?
P.S. I only wanted to explain this with new MinGW version and a better directory order
And if you are saying that I'm not giving credits, watch the comment of the ZIP file.
Originally posted by Kazeshin
of course. the gameshark code generated has 2 parts; first part is the hook and should be deleted and be completely ignored. the second part is the actual ASM code. this code has to be inserted at where it gets called by the behavior script. (0C 00 00 00 80 XX XX XX to call it; XX XX XX - 245000 <while this has to be in the checksum area).

a person has to be able to edit behavior scripts and to know at least a bit of ASM, before he can actually use it. coding in C is just easier and messiaen himself didn't used this every time.


I asked you to write better precisely, not to explain how it works.
I know how it works because sometimes I had to patch GameShark to ROM with HEX.
However thanks, if I did/said something wrong correct me and explain because I returned in SM64 Hacking only some days ago and I forgot 50% of the basics considering that 90% of new discoveries didn't exist in the past, so I am stuck at Starxxon's tools, old midi2mml, frauber's obj importer gui, etc. xD.
But I didn't say "frauber used this every time".
I re-did a tutorial on how to code with C in N64 (as the title says).

Originally posted by UED
I can't see the part in your tutorial where you give Messiaen aka Frauber any credits for the software.


It is in the ZIP of the Toolchain.
However, I noticed you are commenting first of download the files, so I post it also in the thread.
Kinopio, you are a f#smw{x_x}king genius lol
Originally posted by Tarek701
Originally posted by DamiHack
Originally posted by Kazeshin
of course. the gameshark code generated has 2 parts; first part is the hook and should be deleted and be completely ignored. the second part is the actual ASM code. this code has to be inserted at where it gets called by the behavior script. (0C 00 00 00 80 XX XX XX to call it; XX XX XX - 245000 <while this has to be in the checksum area).

a person has to be able to edit behavior scripts and to know at least a bit of ASM, before he can actually use it. coding in C is just easier and messiaen himself didn't used this every time.


I asked you to write better precisely, not to explain how it works.
I know how it works because sometimes I had to patch GameShark to ROM with HEX.
However thanks, if I did/said something wrong correct me and explain because I returned in SM64 Hacking only some days ago and I forgot 50% of the basics considering that 90% of new discoveries didn't exist in the past, so I am stuck at Starxxon's tools, old midi2mml, frauber's obj importer gui, etc. xD.
But I didn't say "frauber used this every time".
I re-did a tutorial on how to code with C in N64 (as the title says).


Actually you "re-did" my old little C tutorial from a while ago. It was more like a video upload, but posted a tutorial on my google site too. (Way before the video upload)

Here the link:
http://sites.google.com/site/cajetan64/home/coding-in-n64-with-c

I don't get, why it had to be "re-done". So a little explaintation would be interessting.

Then again: If you're redoing a tutorial, you could've added some stuff I didn't do + For example like Kaze said, on how to create a function, that doesn't get hooked from mario.

Greetings,
Tarek701.


I did a new tutorial with new version of MinGW, new Makefile, better explaination in the C file, better directory order.
Isn't this some stuff you didn't do?
Everyone can write a tutorial and every tutorial can regard the same argument.
Can't I write a tutorial? I didn't copy anything.
For example everyone can do a tutorial on how to use TT64, how to use Obj Importer GUI and also how to install MinGW step by step.

Mod Edit: Edited out drama from outside SMWCentral.
Pages: « 1 2 »
DamiHack's Profile - Posts by DamiHack

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2019 - SMW Central
Legal Information - Privacy Policy - Link To Us


Total queries: 21

Menu

Follow Us On

  • Facebook
  • Twitter
  • YouTube

Affiliates

  • Talkhaus
  • SMBX Community
  • GTx0
  • Super Luigi Bros
  • ROMhacking.net
  • MFGG
  • Gaming Reinvented