+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  Zelda 3 ROM expanding and Header room
Pages: [1]
Author Topic: Zelda 3 ROM expanding and Header room  (Read 2 times)
DarkBlueLink
Guest
« on: November 04, 2009, 12:47:23 am »

OK well I am wondering how i do this. How do I expand the Zelda 3 Rom. I belive it is a (u) version and how do i make MORE header Room or is this even possible?

P.S. Im kinda new to this so no but words that confuse me LOL!

Help would be Appreciated and loved from anyone who can offer it! (that makes no sence).

Thanks!
Rolen47
Guest
« Reply #1 on: November 04, 2009, 05:06:31 am »

Why would you want a bigger header? They're useless and should be removed from all SNES roms.
MathOnNapkins
Guest
« Reply #2 on: November 04, 2009, 10:33:25 am »

I think he's talking about the dungeon room headers in the actual game, which is a real issue for Hyrule Magic in that it cannot expand the amount of data allocated for the headers. They're data structures that range in length from 7 to 14 bytes per room, and in the process of modifying many rooms and adding features you can run out of space.
DarkBlueLink
Guest
« Reply #3 on: November 06, 2009, 09:15:11 am »

Yes, i want to "expnad" the room header in HM but how? or is there no way??
Jigglysaint
Guest
« Reply #4 on: November 06, 2009, 11:53:29 am »

How does each room know how long their header data is?  I would say the best would be a code re-write.  With extra space, that should be doable.  I'm not sure how to expand SNES roms through.  I've only been working with GBC roms.
MathOnNapkins
Guest
« Reply #5 on: November 06, 2009, 01:17:32 pm »

My editor actually already does this but doesn't offer much more in the way of editing dungeons (mostly overworld is supported.) That said, my editor also modifies the rom such that it is no longer usable with Hyrule Magic, so it's not really an option right now.

@Jiggly: The rooms don't know how long their header data is. That actually leads to bugs where rooms have elements that utilize certain header information that is actually taken from the next header in memory. For example, a room with a "staircase 3/4" staircase, which causes a direct transition to another room without causing a floor change (e.g. 1F to B1) could cause a problem if the header as specified in the ROM only contains 11 bytes instead of the 14 it needs to specify a "staircase 3/4" room target. The room that the staircase points to will most certainly be wrong in that scenario. Hyrule Magic calculates the header lengths by doing pointer addition and subtraction. If room 200's header is at 0x40000 and room 201's header is at 0x40008, you can infer that room 200's header is 8 bytes long. Further complicating matters is that some of the pointers to the headers are reused, further limiting the ability of Hyrule Magic to edit them, due to its self imposed constraints.
Jigglysaint
Guest
« Reply #6 on: November 08, 2009, 06:38:53 pm »

Looks like a great candidate for re-writing.  Are the headers right in with the level data, or seperate?  I would suggest, for simplicity's sake, to make each a 16 byte header.  Since the game has like 280 rooms, that's like maybe 32 pages, which seems like alot, but if it could get it's own devoted banks, it might be useful.  It also allows for more header space.
MathOnNapkins
Guest
« Reply #7 on: November 09, 2009, 12:59:14 pm »

My editor already does that, except for the 16 bytes thing. More header space isn't really necessary since you could write custom code that handles the last three parameters differently. (Basically these three parameters cause different routines to execute every frame for that particular room)
TheSecretOne
Guest
« Reply #8 on: November 11, 2009, 01:32:46 am »

Your tool is not 100% and it does not do most of what I need too do. So is there a way too edit Lttp without it corrupting after each tiny change too it? It's getting quite annoying, and I'd really like too create a hack now and not in months when you finally add object insertion and such.  :angel:
« Last Edit: November 11, 2009, 02:03:30 am by TheSecretOne »
MathOnNapkins
Guest
« Reply #9 on: November 11, 2009, 11:05:41 am »

Point taken.
Jigglysaint
Guest
« Reply #10 on: November 11, 2009, 01:16:06 pm »

Quote from: MathOnNapkins on November 09, 2009, 12:59:14 pm
My editor already does that, except for the 16 bytes thing. More header space isn't really necessary since you could write custom code that handles the last three parameters differently. (Basically these three parameters cause different routines to execute every frame for that particular room)

What I did for Link's Awakening, is I took several pieces of information with only one entry, and used the position of the level data itself to define the data.  For example, the location of spawning chests and stairs, the location of keys, and even what sprite appears when an event is triggered.  It takes objects away from the available for use, but it also saves many bytes by creating a custom co-ordinate table(512 bytes).  Oh, I also added in a routine and table to customize what level is stored in what bank, and switch banks in level to allow for more complex rooms and events.
TheSecretOne
Guest
« Reply #11 on: November 12, 2009, 11:36:15 am »

Black Magic has allot of potential . Just lacks the finer options it could have. But, once you get around too adding them, I think many will switch from Hyrule Magic, including myself.
 Wink
DQ Chao284
Guest
« Reply #12 on: November 17, 2009, 05:46:44 am »

Quote from: TheSecretOne on November 12, 2009, 11:36:15 am
Black Magic has allot of potential . Just lacks the finer options it could have. But, once you get around too adding them, I think many will switch from Hyrule Magic, including myself.
 Wink

Well the thing is would to find the addresses and switch the new data to the expanded part of the rom, much like with LunarMagic so to speak, and the same for the graphic data too, but I am not really much into the graphic parts but like adding new block space to what was not used by the game including getting the figure(like 8x8, 24x24, or 32x32) sizes for them too, that way I'd use the tiles we already have on the game, but use those unused offsets to make the game more interesting so to speak graphic wise, the only down fall until this problem gets updated, finding buggy codes in the rom, apparently the kind of code that is similar to what Chun Soft has in the Dragon Quest games.
TheSecretOne
Guest
« Reply #13 on: November 17, 2009, 06:20:20 am »

Quote from: DQ Chao284 on November 17, 2009, 05:46:44 am
Quote from: TheSecretOne on November 12, 2009, 11:36:15 am
Black Magic has allot of potential . Just lacks the finer options it could have. But, once you get around too adding them, I think many will switch from Hyrule Magic, including myself.
 Wink

Well the thing is would to find the addresses and switch the new data to the expanded part of the rom, much like with LunarMagic so to speak, and the same for the graphic data too, but I am not really much into the graphic parts but like adding new block space to what was not used by the game including getting the figure(like 8x8, 24x24, or 32x32) sizes for them too, that way I'd use the tiles we already have on the game, but use those unused offsets to make the game more interesting so to speak graphic wise, the only down fall until this problem gets updated, finding buggy codes in the rom, apparently the kind of code that is similar to what Chun Soft has in the Dragon Quest games.
Yeah.
I figured it was ether the rom, or the editor alone. But eh, it's more of them both together, then one alone.
Pages: [1]  


Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC