News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Trying to make an RPG Maker 2 (SFC) ROM hack  (Read 5201 times)

Borchmore

  • Jr. Member
  • **
  • Posts: 8
    • View Profile
Trying to make an RPG Maker 2 (SFC) ROM hack
« on: February 25, 2016, 11:53:36 am »
Hello guys, I'm new to this forum and hope I am asking this question in the right place. I'll start by saying that I have some programming experience (mostly Java), but have never tried ROM hacking before. Anyways, on with my question.

I'm currently making a game using RPG Maker 2 for the Super Famicom. If you're not familiar with this title, it's a very basic RPG Maker that was released in Japan only and was compatible with the Satellaview (I'm not exactly sure what the Satellaview capabilities were, but that's irrelevant to my situation anyways). There already is an English translation of this ROM, however I have a different problem. All of the data created for your game saves to the SRAM, meaning that without the save file, the ROM will only have the default game saved to it, not the game you have created. I want to know if it is possible to write the information in the SRAM directly to the ROM so that I have a single ROM file containing my game. If so, I would also like to know how I could do this, as I can't find any information about this (note: I'm not asking you guys to do this ROM hack for me, rather if you can give some information on how I can do it myself). If you need any more information, I'd be glad to provide it. Thanks for your help!

chillyfeez

  • Hero Member
  • *****
  • Posts: 834
    • View Profile
Re: Trying to make an RPG Maker 2 (SFC) ROM hack
« Reply #1 on: February 26, 2016, 02:57:19 am »
I've never used RPG Maker anything, but that sounds like it might be a bit more complicated that you might think, for several reasons. You'd probably have to expand tour ROM, by at least the amount of space normally occupied by a Save file in the SRAM. That would be the easy part. Then you'd have to take every instance in which the ROM loads data from SRAM and point that to the newly-created place in ROM instead, which in itself would probably take quite a bit of doing because a) if an entire game's worth of data is normally stored in SRAM, then the game probably draws on it often, which means you'd have to find and replace a shit-ton of "load" instructions and b) SNES usually uses 3-byte load commands (one byte for the load instruction, two-byte parameter) to load from SRAM because it can have a default data bank set, but to load from somewhere in ROM, you'll likely need a four-byte load command so as to indicate the full offset of the data being loaded - meaning you'd have to wedge four-byte commands into spaces where three-byte commands usually exist, and there would potentially be hundreds of them. That type of task would probably make a non-newbie throw up his or her hands and say "this is way too much work," and figure out something else to do instead.
Even if you did manage to do all that, you'd still have issues to deal with...
Presumably, the user-created game allows players to save their games, meaning you'd have to keep certain parts of SRAM active. And pretty much every game uses SRAM in its own way, so figuring out what parts of your save file are for the created game and what parts are for the game's save file could take a mind-numbing amount of time.
You'd likely also want to dummy-out the ability to create other new games, since the best case scenario would be that they wouldn't load right, and the worst case scenario would be that they would erase your save files for the game you put on ROM.
I hope I'm properly illustrating how difficult an undertaking I think this would be. I don't want to discourage you from getting into ROM hacking in general, but this probably isn't the best idea for a first-ever project.
Ongoing project: "Final Fantasy IV: A Threat From Within"

Latest Demo

Mauron

  • Submission Reviewer
  • Hero Member
  • *****
  • Posts: 551
    • View Profile
Re: Trying to make an RPG Maker 2 (SFC) ROM hack
« Reply #2 on: February 26, 2016, 03:20:30 am »
I haven't used RPG Maker 2 (SFC), but I have played RPG Maker 2 (PS2), which came with a short demo game. The opening post suggests the SFC version was the same. As long as the data is structured the same in both, it's a matter of locating the default game, locating the custom game in SRAM, and possibly expanding the ROM/moving into a new bank. As long as the entire game stays within the same bank, there's no need to worry about switching to 4-byte load commands - just find where the bank is set and change that.

It still would be a lot of work, but not that bad.
Mauron wuz here.

Borchmore

  • Jr. Member
  • **
  • Posts: 8
    • View Profile
Re: Trying to make an RPG Maker 2 (SFC) ROM hack
« Reply #3 on: February 26, 2016, 07:33:17 am »
I hope I'm properly illustrating how difficult an undertaking I think this would be. I don't want to discourage you from getting into ROM hacking in general, but this probably isn't the best idea for a first-ever project.

It still would be a lot of work, but not that bad.

Hmm... getting some mixed opinions here. RPG Maker 2 on the SFC is like RPG Maker 2 on PS2 in that there is a default game on the ROM, so hopefully your idea (Mauron) would work. Either way, could you guys help me find some info on how to move forward with this hack? Are there any guides/utilities that would help me figure out where the data exactly is located?

VicVergil

  • Hero Member
  • *****
  • Posts: 725
    • View Profile
Re: Trying to make an RPG Maker 2 (SFC) ROM hack
« Reply #4 on: February 26, 2016, 10:33:58 am »
RPG Maker 2 uses a highly unorthodox type of SRAM, btw.
It used some technology similar to the Megadrive's lock-on, and the save was stored on an 8MB rewritable cartridge similar to that used for recording Satellaview game data broadcasts.
Dunno whether it has an internal SRAM in addition to that.

I'd say that at the very least, the memory map for this game wouldn't be like other normal SFC games.

chillyfeez

  • Hero Member
  • *****
  • Posts: 834
    • View Profile
Re: Trying to make an RPG Maker 2 (SFC) ROM hack
« Reply #5 on: February 27, 2016, 08:23:58 am »
I didn't realize the ROM contained a demo game (though that does make sense, now that I think of it...).
If that's the case, then Mauron is likely right about it being a fair amount of work but not as much as I originally thought.

As for resources... Hmm. That can be kinda tough when a game hasn't already been researched in depth. You'll want to familiarize yourself with 65816's basic commands and capabilities. This isn't the only thing available, but I refer to it often:
http://wiki.superfamicom.org/snes/show/65816+Reference

Also, watch some YouTube videos on using Geiger's SNES 9X Debugger. And get Geiger's SNES 9X Debugger. It will be your best friend in the whole wide world once you get the hang of it.

That's all I've got in terms of general resource suggestions, but I'll pop into this thread from time to time to see if I can be of any help regarding specific issues.
Ongoing project: "Final Fantasy IV: A Threat From Within"

Latest Demo

Vehek

  • Full Member
  • ***
  • Posts: 200
    • View Profile
Re: Trying to make an RPG Maker 2 (SFC) ROM hack
« Reply #6 on: February 27, 2016, 06:50:01 pm »
This is actually a super-easy hack. The sample game is just an SRAM dump stored inside the ROM.
Get a hex editor, go to 0x1F0000 in the RPG Maker 2 ROM, and paste in the hex data from the SRAM file.

Borchmore

  • Jr. Member
  • **
  • Posts: 8
    • View Profile
Re: Trying to make an RPG Maker 2 (SFC) ROM hack
« Reply #7 on: February 28, 2016, 02:28:51 pm »
This is actually a super-easy hack. The sample game is just an SRAM dump stored inside the ROM.
Get a hex editor, go to 0x1F0000 in the RPG Maker 2 ROM, and paste in the hex data from the SRAM file.

It seems like that's all it took, thanks!

I still need to find out if the game's save system works the same (haven't tried it since there's no save points in my game yet), but if so, I'll probably be looking to modify the graphics on the title screen and menu as well as remove the editing tools (essentially, make it so you can only select the "play game" option from the menu). However, I still have a lot of other non-hacking things to do with the game first, so I'll probably try these things when I'm closer to being finished with everything. Anyways, I thank all of you guys for your help so far!

KingMike

  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 7042
  • *sigh* A changed avatar. Big deal.
    • View Profile
Re: Trying to make an RPG Maker 2 (SFC) ROM hack
« Reply #8 on: February 29, 2016, 01:08:50 am »
stuff
Glad he found the easy way.
If it's like RPG Maker 1, it'd be a big pain.
I'm working on RPG Maker 1, and it seems much of the game is coded in a custom bytecode for some reason.
"My watch says 30 chickens" Google, 2018

zonk47

  • Sr. Member
  • ****
  • Posts: 343
    • View Profile
Re: Trying to make an RPG Maker 2 (SFC) ROM hack
« Reply #9 on: March 01, 2016, 01:48:10 pm »
This sounds overwhelmingly like a scheme to open up the SNES to commercial homebrew. The problem with the theory is of course the sound engine, which is a total pain to program for. And without additional tracks, people will tire of the stock tunes real fast.

And, the amount of people nostalgic for CRT gameplay is pitifully small. Although I myself have not braved the waves, I know for a fact that it is because Frozen Utopia, which tried with a QBasic RPG of some quality, is no longer producing console games, and neither are any of the other companies that have tried.
A good slave does not realize he is one; the best slave will not accept that he has become one.

Bahamut ZERO

  • Hero Member
  • *****
  • Posts: 903
    • View Profile
Re: Trying to make an RPG Maker 2 (SFC) ROM hack
« Reply #10 on: March 01, 2016, 06:24:18 pm »
Sounds more like someone who wants to take the RPG Maker 2 project they've worked their ass on and make it so others are able to enjoy it.  :thumbsup:


This sounds overwhelmingly like a scheme to open up the SNES to commercial homebrew. The problem with the theory is of course the sound engine, which is a total pain to program for. And without additional tracks, people will tire of the stock tunes real fast.

And, the amount of people nostalgic for CRT gameplay is pitifully small. Although I myself have not braved the waves, I know for a fact that it is because Frozen Utopia, which tried with a QBasic RPG of some quality, is no longer producing console games, and neither are any of the other companies that have tried.

Lmao how in the high holy mother of fuck did you come to that conclusion from this thread?   :laugh:
Like Super Mario Land? Then you'll love my first completed Rom Hack: Maniac on the Run!

Borchmore

  • Jr. Member
  • **
  • Posts: 8
    • View Profile
Re: Trying to make an RPG Maker 2 (SFC) ROM hack
« Reply #11 on: March 02, 2016, 03:06:53 pm »
Sounds more like someone who wants to take the RPG Maker 2 project they've worked their ass on and make it so others are able to enjoy it.  :thumbsup:

Basically this. I could have just distributed the ROM with the SRAM file, but where's the fun in that? I want it to look like an official game, even though I'll be releasing for free. Also, I'm interested in putting it on a cart to play on my SNES, so that's another reason why I'm doing this hack.

Borchmore

  • Jr. Member
  • **
  • Posts: 8
    • View Profile
Re: Trying to make an RPG Maker 2 (SFC) ROM hack
« Reply #12 on: April 16, 2016, 10:30:17 pm »
So, now that progress on the content of my game has kind of slowed down, I'm going to take a break and work on the ROM hacking for a bit. Anyways, here's what I want to get done if possible:

Graphics hacking:
- remove the RPG Maker 2 logos from the main menu and splash screen
- maybe change the main menu so it's all black with white text

ASM hacking:
- remove the title screen so that the game goes straight from the splash screen to the main menu
- remove the all options from the main menu except the new game option (most important thing to be done)

I kind of have an idea of what to do with the graphics hacking, as I've played around in Tile Layer Pro a bit, but am lost on the ASM hacking (like I said, I have no assembly programming experience). If you have any advice, tips, guides, videos, etc. for me, please feel free to reply!

Borchmore

  • Jr. Member
  • **
  • Posts: 8
    • View Profile
Re: Trying to make an RPG Maker 2 (SFC) ROM hack
« Reply #13 on: May 02, 2016, 04:22:13 pm »
I've made a bit of headway with this hack, so I figured I'd show off the progress. I was able to remove the scrolling background from the main menu like I wanted; here's a before picture:


And after:


I am having a bit of problem with changing the top logo though. After completely filling in different tiles using my tile editor and testing the game I was able to find all of the tiles that make up the logo. However, when trying to replace these tiles with something else, the result comes out jumbled. For instance, in this picture I simply filled in the tiles in my editor using a solid color, yet the logo is not solid.


I'm not too knowledgeable about how graphics on the SNES work, so I don't really know what's going on here. Anyways, in addition to the graphics work I am currently reworking the translation, as there's a couple capitalization, spelling, and punctuation errors; everything is going smooth there. I'm also trying to learn more about 65c816 assembly so I can edit the code to boot straight to the main menu and remove the EDIT, T-FILE, and MEM PAK options. And as always, help is much appreciated!

Borchmore

  • Jr. Member
  • **
  • Posts: 8
    • View Profile
Re: Trying to make an RPG Maker 2 (SFC) ROM hack
« Reply #14 on: May 08, 2020, 04:48:11 pm »
Hello again everyone! It's been quite a while since I've looked at this project, but I think I'm gonna try to see if I can make any progress now that I have a bit more free time. Since creating this topic, I've acquired a bit more experience; I've done some coding for the Genesis in C, and taken an assembly programming course at university (which used x86 ASM, but the general skills should transfer over to 65816). I really just need to look at the game's code to find out what is happening during the intro and main menu, but my hacking skills aren't great and I don't really know where to start here. Knowing what my goals are, do you guys have any advice on where to start? What resources should I look at to guide me through the hacking side of things? And is there any other advice you guys have for me? I know this is complex and you guys can't just spoonfeed the answers to me, but I'd really appreciate the expertise to help get things moving. Thanks again, and I'll keep this thread updated with my work

KingMike

  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 7042
  • *sigh* A changed avatar. Big deal.
    • View Profile
Re: Trying to make an RPG Maker 2 (SFC) ROM hack
« Reply #15 on: May 10, 2020, 01:54:52 am »
I did work on RPG Maker 1 and 2 but stopped for awhile for real-life stuff, but I can tell you these games seem to use their own scripting language for most of the programming. (that is, their own bytecode).

That is a level even above learning ASM.
"My watch says 30 chickens" Google, 2018