Overasked questions involving ROM hacking...

Are you new to 6502, NES, or even programming in general? Post any of your questions here. Remember - the only dumb question is the question that remains unasked.

Moderator: Moderators

GriffMorivan
Posts: 3
Joined: Fri Oct 20, 2006 6:16 am

Overasked questions involving ROM hacking...

Post by GriffMorivan »

Is there a step-by-step tutorial on hacking certain things in Final Fantasy? The original that is. Like, that shows exactly how to HEX certain things? I realize there is FFHackster, and I have used it and searched like a madman but can not seem to find the locations for three very simple points. Or so Acmlm'ers make me feel it should be.

Intro, Bridge, Beating Chaos.

I would like to know their locations, along with how to actually edit them.

~~

And aside from that, I was requested to do a second project that would be slightly different. It would involve removing two of the party members and fixing the other two's class to Fighter and Black Mage. The other parties would no longer be important, period.

Is that possible, and/or how?

-uses Transhexlation-
dvdmth
Posts: 354
Joined: Wed Mar 22, 2006 8:00 am

Post by dvdmth »

The graphics for the ending scene are located at $0B:A800-AFFF (or $2E810-2F00F in the INES ROM image). The screen data (PPU nametable and attribute table) is at $0B:B000-B3FF (INES $2F010-2F40F).

For the bridge scene (and also for the minigame, I think), the graphics are located at $0B:B400-BBFF (INES $2F410-2FC0F), and the screen data is located at $0B:BC00-BFFF (INES $2FC10-3000F).

Graphics are in CHR format. Screen data is in standard name/attribute table format. The game simply copies the data to PPU memory at $0000-07FF for the graphics and $2000-23FF for the screen data.

Additional data for these scenes can be found in bank $0D. There is a pointer table for text data at $0D:A800 (INES $36810). Be forewarned that the text is compressed, so changing it in a hex editor would be difficult. Another pointer table can be found at $0D:BB00 (INES $37B10), although I'm not 100% sure what's there (it may be related to graphics in some way).

The story intro text (compressed) is at $0D:BF20 (INES $37F30).

Forcing the party to two members and limiting their classes would require code modification - quite a bit, in fact (there are many places where the game assumes four party members and won't work right if you take away two of them). Such a hack is doable, but be prepared to do a lot of hex-editor style code tracing (and the battle system code is ugly, believe me).

What exactly are you trying to accomplish?
GriffMorivan
Posts: 3
Joined: Fri Oct 20, 2006 6:16 am

Post by GriffMorivan »

Two different hacks, actually. But the first question goes with both hacks.

The second, however, was a request from a group of my friends to make a Jay and Silent Bob hack. I said I would look into it before I gave them any promises.
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Post by Bregalad »

I've studied a lot FF1's menu code, and a bit the field code, but I couldn't get in the battle code so it was obscure and undunderstandible.
Removing 2 of party members will requier serious ROM hacking, because the game just assumes you have 4 and that is hard cored in the menu code.
Useless, lumbering half-wits don't scare us.
GriffMorivan
Posts: 3
Joined: Fri Oct 20, 2006 6:16 am

Post by GriffMorivan »

I know. That's the problem. I'm thinking it might just not be possible to do it for FF1, because I am frankly, not good with hacking. I am pretty much code stupid.
User avatar
85cocoa
Posts: 96
Joined: Sat Jul 22, 2006 12:06 pm
Location: USA

Post by 85cocoa »

[n00b_opinion]
That *should* be possible - Dragoon X Omega II modifies the game so you have only 1 possible party member.
[/n00b_opinion]

EDIT: Sorry if anyone was reading this post while I was editing it - my facts should really be correct now.
Warning: I am not a serious developer (yet), but CS and EE really interest me.
I was -_pentium5.1_- until I screwed up. This is why I screwed up. ^_^
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Post by Bregalad »

Dragoon X Omega II is horrible, for what I've seen. The player isn't even animated, and both the music and the graphics are so horrible !! Only the story looks decent, but the font isn't confortable to read.
And people making it are just stupid to not have written their own game from scratch, because they've hacked FF1 so much that they just better start from scratch and end up with something better and easier to make.
Useless, lumbering half-wits don't scare us.
User avatar
85cocoa
Posts: 96
Joined: Sat Jul 22, 2006 12:06 pm
Location: USA

Post by 85cocoa »

Bregalad wrote:Dragoon X Omega II is horrible, for what I've seen. The player isn't even animated, and both the music and the graphics are so horrible !! Only the story looks decent, but the font isn't confortable to read.
And people making it are just stupid to not have written their own game from scratch, because they've hacked FF1 so much that they just better start from scratch and end up with something better and easier to make.
How exactly is this relevant to the original question?
Warning: I am not a serious developer (yet), but CS and EE really interest me.
I was -_pentium5.1_- until I screwed up. This is why I screwed up. ^_^
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Post by Bregalad »

This just is revelant in the sense that it is better to make your own game from scratch than to hack an existing one if you want to do any more modifications than graphics and text, and maybe several other details. Hack a game to get a totally different story and word is total nonsense to me. If you really don't like programming use something like RPGMaker, but you will be restricted to it's game engine, wich suck from my viewpoint.
Useless, lumbering half-wits don't scare us.
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

Bregalad wrote:This just is revelant in the sense that it is better to make your own game from scratch than to hack an existing one if you want to do any more modifications than graphics and text, and maybe several other details. Hack a game to get a totally different story and word is total nonsense to me. If you really don't like programming use something like RPGMaker
But hacking an existing RPG is the closest thing to RPG Maker that the NES can get.
Sliver X
Posts: 3
Joined: Mon Oct 30, 2006 7:29 am
Location: West Virginia

Post by Sliver X »

Dragoon X Omega II is horrible, for what I've seen.

You can't please everyone...

The player isn't even animated

Yes, this is something that kind of bothered me, yet was basically unavoidable due to what Sargon's battle sprite *is*. The other three players are set to be dead on start, so he's made of corpses. I've somewhat addressed this in the current state of the hack (No, v1.0 wasn't the last, unfortunately. Much is being done to polish the game), but I'm still rather happy with having a static, detailed sprite of Sargon rather than some little super deformed midget that twitches around.

and both the music and the graphics are so horrible !!

I will admit that I'm not the greatest composer; hell, the music in the game was written on guitar, then "translated" into hex, so it sounds like shit to me too considering what the songs sound like on a guitar. However, I blame this on the NES's craptastic base hardware for sound, coupled with FF's sound engine's strange issues with nested repeats and poor selection of waveforms.

I really don't see how you can knock the graphics Thaddeus did, though: Point me out *any* RPG on the NES that has even 10% of the detail DXOII does do, and I'll eat my own pants. :p

Only the story looks decent, but the font isn't confortable to read.

Ok. And the font issue is now fixed, as you can see here:

Image

And people making it are just stupid to not have written their own game from scratch, because they've hacked FF1 so much that they just better start from scratch and end up with something better and easier to make.

Considering none of us involved with the game are what you'd call proficient assembly programmers, this is a rediculous statement. The project would've taken a hell of a lot more time than it did if we'd even tried this. Also, at that point, it wouldn't even be a ROM hack anymore, so why would we even be interested in that? (We hack ROMs, we don't homebrew. There's a world of difference there). I'm perfectly happy to have been involved with the most ambitious non-translation hack to ever be released, and I'd love for you to show me anything you've done that even scratches the surface of what we've accomplished. :p
Thaddeus
Posts: 1
Joined: Mon Oct 30, 2006 8:29 am

Post by Thaddeus »

Bregalad wrote: And people making it are just stupid to not have written their own game from scratch, because they've hacked FF1 so much that they just better start from scratch and end up with something better and easier to make.
You just don't understand why we hack, then.

Before you go calling us "stupid" or shitting on a project that took almost 4 years to make, know that you could make the same argument about people who even bother with NES development (vs. developing games for the PC or modern console systems). But you don't, because that would be stupid.

I'm a PC homebrewer in my spare time, as well as a non-translation ROM-hacker, and yeah, it would be a lot easier for us to create a DXOII-like game written in C++ with PSX quality visuals and gameplay. That's not the point, though.

Anyway, I don't mean to change the thread's original purpose or hijack anyone's topic. I just felt like addressing this one particular post.
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Post by Bregalad »

Errr... sorry for being so bastard, I just found out I'd really not like reading a post like mine after having worked hard on a project (and I know what working hard on a project is, even if I don't know yet what finishing it is), regardless of the result. I'm feling very bad about it, but what is done is done. I'll try to never act like this again, but I don't know if I will be able to. Anyway, thanks to not have replied cowardly like I did to not create a vicious circle.

Now, actually I've just tried both Dragon Omega X and I've not keept any of them. I liked the first one pretty much, because it had nice ideas (especially the "cloning" replacing the "imperial scroll of honor"), but it was just so hard I gived up soon.

And about the second, blah, I really coudln't put myself in it and I didn't like it. I don't remember much the graphics actually, the worldmap looked pretty good from what I remember, but anywhere else was too dark and confusing, and the non animated player was definitely not a good idea I think.
I like super deformed cute sprites a lot myself. And yes, FF1's sound engine is very limited. And FF1's textboxes can only display a narrow short message that can be difficult to read. And FF1 is limited to 256 texts.

And if you would have coded the game yourself you could have bypassed these limits very easily, assuming you know programming, and someone in your group does because of so much things getting changed. You say you worked on it for 4 years ? That's kind of long, but I guess it wouldn't have taken much longer to do everything from scratch (it would even have been shorter), and we here could have helped you if you had any problems with programming, and now instead of having completed the greater non-translated rom hack arround, you would have completed the first complete homebrew RPG on any nintendo console, wich would have been greater in my opinion.

When it comes to ROM hacking, recreate a new world with new characters, new dungeons and totally different scenario isn't a rom hacking for me, but just a game design, and any game design should come with its game engine, instead of coming with a crappy hack of an exising game engine. For me ROM hacking is just playing fun with an existing game modifying stuff inside for non-serious issues, or making it harder or easier or just translate it or anything. People having the potential of making a game from scratch must have the potential to create a game engine from scratch.

It make me fell bad to see people wasting their creative potential to limit themselves to an existing game engine, and I feel pretty much the same for people that use RPGMaker or something. Maybe I'm just showing off too much I know programming before having even completed one single project, but anyway I think this is a real shame.
Useless, lumbering half-wits don't scare us.
User avatar
Memblers
Site Admin
Posts: 3901
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Post by Memblers »

What's kinda amusing is that ROM hackers often have access to better tools than developers (except those that write their own, which seem to be very few). I've used Mario Improvement and a few other level editors and such, and it would be pretty nice to use tools like that for new games, but from what I've seen they're always hard-coded to just modify an existing ROM with data at known places. Would be nice if some of them were a little more general. Honestly getting a game engine going isn't too terribly difficult (but it's work, for sure), the design issues and balancing to make it fun are the hard parts for making a good game.

So yeah I can see where Bregalad is coming from, though it wasn't worded too well at first. I think us developer types want the satisfaction of being able to stand back and say "I/we made this". But I can look at a ROM hack, and say "they made this, but.." or "they made this, except for..". Doesn't make the end result any less cool though, generally. Just a little less original, in a sense.

I played through Dragoon X Omega back when it was first released, and I was really impressed with it. If not for the faint familiarity with the sound, it was easy to forget that it was a DW engine underneath the whole new atmosphere. I actually liked the music in it too. Must've been a pain to hack the sound engine like that. I haven't tried DXO2 yet.
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Post by Bregalad »

I agree with Memblers. Developping a game engine isn't that hard, but the design and all are what make a game what it is. However, the game engine is still the base of everything, so if you don't base your game design one something solid and easily customizable, you'll never get something solid in the end (it's like if you try to build a brick house on a sand ground, hehe).

Of course the ROM hacker's job is to revert the compiled game engine to have it more or less cutomisable, but that will always be more or less.

I've fully reversed Dragon Quest 1's music engine one day I was bored and it was quite simple. I've never been able to reverse any FF music engine, though.
Useless, lumbering half-wits don't scare us.
Post Reply