Register - Login
Views: 87450055
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - JCS - Stats - Latest Posts - Color Chart - Smilies
11-24-17 03:43:13 AM

Jul - SM64 Hacking - SM64 Gameshark Code Patcher++ (v1.3) New poll - New thread - New reply
Next newer thread | Next older thread
Tamkis
Member
Level: 25


Posts: 32/146
EXP: 80508
For next: 9112

Since: 03-12-12


Since last post: 327 days
Last activity: 62 days

Posted on 04-24-13 01:57:07 AM (last edited by Tamkis at 08-26-15 12:13:53 AM) Link | Quote
SM64 Gameshark Code Patcher++ (v1.4)

Background:

A few years ago, Jul user ShenoxVII created an application which would patch gameshark codes into the SM64 Rom, simply called "SM64 Gameshark Code Patcher". In the thread, he posted the VisualBASIC source code for the application, and stated that he has basically abandoned application developement, waiting for "someone else to make [it] right."



Originally posted by Cajetan

--------------------------------------------------------------------------------
We need a SM64 GS Code patcher, which allows faster patching. It's really annoying having 300 lines GS code, and patching that one for one. A patcher, which could patch all lines at once, that would be great.
--------------------------------------------------------------------------------

ShenoxVII:

Well first off that's very simple lol, You just need to have a Listbox and have the codes listed so you can gather the information needed to patch the rom from each new line. And the method of this isn't even right, It's half right. I threw this project together for someone else to make right.

Good luck bruh




After a few PM's with ShenoxVII asking if I could continue onward with the project, fix the bugs, and add features, he said that I could. Hence this topic and program.


What is this?


This application is a continuation of ShenoxVII's original M64GSP work, completely rewritten, debugged, and with added features. As the name of the application implies, the application allows one to patch Gameshark codes into extended SM64 ROMs. As of v14, the codes that are patchable are codes of type 0x80, 0x81, 0xA0, 0xA1, 0xD0, 0xD1, 0xD2, and 0xD3, and codes whose memory addresses range from 0x800EB180-0x800F083C, and from 0x80246000-0x80333000. Using this application, hackers will be able to make permanent modifications of their SM64 hacks by utilizing the massive amount of SM64 Gameshark codes available on the web. Furthermore, beginners can avoid (more) the dark ages of plowing through the massive 4-8MB rom and dealing with R4300i dissasemblers (such as LemAsm) or hex editors in order to patch Gameshark codes. (However, I still recommend beginners to eventually learn R4300i or how to use a hex editor, since both are invaluable skills.)

As of v14, support has been added in order to patch a GSCI (Gameshark Code Interpreter) into the ROM. The GSCI allows one to patch GS codes into the ROM starting at ROM offset )$0BEA20, and can execute the aforementioned GS code types within any RAM address.

Changelog:

v1.4 07/04/2013:

@Created GSCI support (thanks Kaze!). Supports 234 GS codes
@Removed Tamkis.vb dependency
@Added (beta) ability to patch/undo GSCI
@Added 2 secret easter eggs
@Added more code types
#ROM mode
#0xA0
#0xA1
#GSCI Mode
#0x80
#0x81
#0xA0
#0xA1
#0xD0
#0xD1
#0xD2
#0xD3
@Added Hex/Float<>Dec converter toolbox
@Added more sfx
@Added toggle for sfx, colors, and patch mode
@Bug fixes

5. Credits

Kaze - For single-handedly creating the GSCI!
ShenoxVII - Original creator of this program!
Skelux, VL-Tone, Messiaen, YoshiElectron - For all of their research into SM64 hacking
Jul.rustedlogic

Media and download

M64GSP++ Download (v14, with v1.0 GSCI PPF patch)
Read the readme!

Videos:
M64GSP++
GSCI

Webpage
Cajetan
Member
Level: 20


Posts: 48/86
EXP: 38261
For next: 4178

Since: 08-06-11
From: Binary

Since last post: 2.0 years
Last activity: 1.0 years

Posted on 04-27-13 01:33:30 PM (last edited by Cajetan at 04-27-13 04:02:14 PM) Link | Quote
Very nice. I like how it turned out; It's overall looking good, the design and how you made it generally.

I hope you won't care, if I edit the source code for my own behavior. And I won't release the modified version by the way, so I hope you're ok with that.

EDIT:
As expected, the program only supports code range from 0x80246000 to about 0x80333000.
But following code, supports something else:


812CB26C 0C10
812CB26E 0000
812CB278 1000
812CB27A 0040
81400000 27BD
81400002 FFE8
81400004 AFBF
81400006 0014
81400008 AFBE
8140000A 0010
8140000C 03A0
8140000E F021
81400010 3C1C
81400012 8040
81400014 279C
81400016 0050
81400018 2404
8140001A 0064
8140001C 2405
8140001E 0096
81400020 3C02
81400022 8040
81400024 0C0B
81400026 59B0
81400028 2446
8140002A 0040
8140002C 03C0
8140002E E821
81400030 8FBF
81400032 0014
81400034 8FBE
81400036 0010
81400038 03E0
8140003A 0008
8140003C 27BD
8140003E 0018
81400040 5761
81400042 6B65
81400044 2075
81400046 702C
81400048 204D
8140004A 6172
8140004C 696F
8140004E 0000



Maybe is there a way to find out the ROM address for it?

Greetings,
Cajetan.
Joe
Common spammer
🗿
Level: 104


Posts: 2852/3289
EXP: 11577176
For next: 284950

Since: 08-02-07
From: Pororoca

Since last post: 11 days
Last activity: 13 hours

Posted on 04-27-13 05:21:31 PM Link | Quote
There is no ROM address for it. The RAM addresses from 0x80400000 to 0x807FFFFF are all in the expansion pak, which Super Mario 64 does not use.
Cajetan
Member
Level: 20


Posts: 49/86
EXP: 38261
For next: 4178

Since: 08-06-11
From: Binary

Since last post: 2.0 years
Last activity: 1.0 years

Posted on 04-27-13 05:26:59 PM (last edited by Cajetan at 04-27-13 05:45:47 PM) Link | Quote
Originally posted by Joe
There is no ROM address for it. The RAM addresses from 0x80400000 to 0x807FFFFF are all in the expansion pak, which Super Mario 64 does not use.


Yes, the code works fine when using it on PJ64 GameShark cheats (without patching)
Isn't there any way to get the GameShark code patched into ROM?
Tamkis
Member
Level: 25


Posts: 35/146
EXP: 80508
For next: 9112

Since: 03-12-12


Since last post: 327 days
Last activity: 62 days

Posted on 04-28-13 01:10:44 PM Link | Quote


I hope you won't care, if I edit the source code for my own behavior. And I won't release the modified version by the way, so I hope you're ok with that.



Sure, you can modify the source .



EDIT:
As expected, the program only supports code range from 0x80246000 to about 0x80333000.



The program does not support the other range (0x800EB180-0x800F083C)? When testing the program, I was able to patch the code "Mario's Digestion Problems" (where coins come out of Mario)...

Mario's Digestion Problems:
800ED643 0074
810ED646 09A4
Tamkis
Member
Level: 25


Posts: 39/146
EXP: 80508
For next: 9112

Since: 03-12-12


Since last post: 327 days
Last activity: 62 days

Posted on 07-11-13 03:39:35 PM Link | Quote
M64GSP++ has now been updated to version 1.4! The new version supports more code types, as well as a GSCI (Gameshark Code Interpreter), which is essentially an emulated Gameshark device. See the OP.
Kaze
Member
Level: 17


Posts: 27/63
EXP: 21539
For next: 3204

Since: 10-25-12


Since last post: 1.0 years
Last activity: 1.0 years

Posted on 07-16-13 05:31:10 AM (last edited by Kaze at 07-16-13 05:32:50 AM) Link | Quote
Originally posted by Tamkis
This application is a continuation of ShenoxVII's original M64GSP work, completely rewritten, debugged, and with added features. As the name of the application implies, the application allows one to patch Gameshark codes into extended SM64 ROMs. As of v14, the codes that are patchable are codes of type 0x80, 0x81, 0xA0, 0xA1, 0xD0, 0xD1, 0xD2, and 0xD3, and codes whose memory addresses range from 0x800EB180-0x800F083C, and from 0x80246000-0x80333000.


I think you've missunderstood me at one point;
if only these ranged are supported, it should be possible to patch it even to a normal SM64 rom;
i was talking about color codes and other modifications, that are in bank 03 or 04.

17 0C 00 04 00 82 3B 64 00 85 8E DC --Loads Mario's MIO0 data in segment 0x04. (18 0C 00 04 00 11 47 50 00 12 79 B0 in compressed ROM)
17 0C 00 03 00 AB 24 0C 00 AE 57 14 --Loads Shared MIO0 data in segment 0x03. (18 0C 00 03 00 20 14 10 00 21 8D A0 in compressed ROM)

VL tone changed these Instructions, because he needed space in the ROM or something like that.

also, you should be able to easily add these ranges:
17 0C 00 17 00 12 79 B0 00 12 A7 E0 --Loads Mario's Geometry Layout Data in segment 0x17.
17 0C 00 16 00 21 8D A0 00 21 9E 00 --Loads Shared Geometry Layout Data in segment 0x16.

bank offsets are:

0x8007EC20: bank 04
0x800B3FB0: bank 03
0x800E72D0: bank 17
0x800EA110: bank 16

edit: oh wait, i don't know, if i included Lakitu's deactivation into the GSCI.ppf. You may have to change it's behavior to
00 08 00 00
08 00 00 00
09 00 00 00
DamiHack
GO AWAY
Level: 11


Posts: 16/23
EXP: 5283
For next: 702

Since: 08-14-11


Since last post: 4.0 years
Last activity: 75 days

Posted on 07-16-13 09:14:42 AM (last edited by Metal_Man88 at 07-19-13 09:28:12 PM) Link | Quote
You don't need to extend the ROM. The ROM needs to be extended to decompress it, but Gameshark codes work also on the original SM64's ROM.

Unwarranted advertising deleted -MM88
jambo
Random nobody
Level: 3


Posts: 2/2
EXP: 117
For next: 11

Since: 03-01-13


Since last post: 3.0 years
Last activity: 3.0 years

Posted on 11-26-13 07:39:24 PM Link | Quote
Is there any way to use this with other n64 roms? Or is there a program that exists to do that?
Tamkis
Member
Level: 25


Posts: 126/146
EXP: 80508
For next: 9112

Since: 03-12-12


Since last post: 327 days
Last activity: 62 days

Posted on 08-26-15 12:15:36 AM Link | Quote
Overcame previous moral/professional dilemna a few months ago of whether I should keep my ROM hacking utilities on my personal/professional portfolio website, and have decided to permanently keep this and other ROM hacking utilities, since it could only help in the job search. The DL links and video in the OP are now fixed and pointed to my newer website.

Enjoy!
Next newer thread | Next older thread
Jul - SM64 Hacking - SM64 Gameshark Code Patcher++ (v1.3) New poll - New thread - New reply




Rusted Logic

Acmlmboard - commit 2f1bc75 [2017-08-27]
©2000-2017 Acmlm, Xkeeper, Inuyasha, et al.

30 database queries, 4 query cache hits.
Query execution time: 0.154066 seconds
Script execution time: 0.011952 seconds
Total render time: 0.166018 seconds