Register | Login | |||||
Main
| Memberlist
| Active users
| ACS
| Commons
| Calendar
| Online users Ranks | FAQ | Color Chart | Photo album | IRC Chat |
| |
1 user currently in Rom Hacking: |
Acmlm's Board - I2 Archive - Rom Hacking - FF Hacking FAQ/Running Q&A | | | |
Pages: 1 2 3 4 5 6 7 | Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
User | Post | ||
Gavin Fuzzy Rhinoceruses don't play games. They fucking charge your ass. Level: 43 Posts: 163/799 EXP: 551711 For next: 13335 Since: 03-15-04 From: IL, USA Since last post: 13 hours Last activity: 13 hours |
| ||
ack, i'm having a little bit of trouble finding a routine in the game. i've located where the game writes to $2005 to scroll the screen as the character moves on the town map.. but i haven't yet found where it (or maybe i misunderstand how) the game checks to see whether it can advance on the next tile. i haven't done too much searching for it yet, the later it gets time wise the slower my brain is working over here . I just figured i'd post and see if anyone had the data already, save me a tid bit of time. if not, i'm sure it really shouldn't take too much to find it, probably just a clear head and if there is a difference between checking to advance on the town map and the world map, i'd prefer the world map. not to be picky though, because any help would be appreciated. |
|||
windwaker Ball and Chain Trooper WHY ALL THE MAYONNAISE HATE Level: 61 Posts: 81/1797 EXP: 1860597 For next: 15999 Since: 03-15-04 Since last post: 4 days Last activity: 6 days |
| ||
I'm having some trouble editing Mario's jump height... isn't it $4014 in RAM? Or is that his running speed? I'm so confused . | |||
drjayphd Beamos What's that spell? pimp! Level: 56 Posts: 640/1477 EXP: 1387410 For next: 10766 Since: 03-15-04 From: CT Since last post: 2 hours Last activity: 2 hours |
| ||
... uhm... ... Windwaker? wrong thread. Gavin: Whatcha need that routine for? And let me also concur that DTE in battles would be BADASS. |
|||
Gavin Fuzzy Rhinoceruses don't play games. They fucking charge your ass. Level: 43 Posts: 205/799 EXP: 551711 For next: 13335 Since: 03-15-04 From: IL, USA Since last post: 13 hours Last activity: 13 hours |
| ||
Originally posted by drjayphd going to switch a few things with the airship, and i was attacking the locating of the routine from a rather awkward angle, i've now realized. I haven't searched for it quite yet as i've been very very busy, but i know where to start on that one. and i thought i'd just throw a few values at you guys: Main Menu Hand Pointer Data =========================== 3B636 - X position of Character4 Sprite 3B64A - Y position of Character4 Sprite 3B8AC - X position of ORB 1 3B7E9 - X position of Character1 Hand Cursor 3B7EA - Y position of Character1 Hand Cursor 3B7EB - X position of Character2 Hand Cursor 3B7EC - Y position of Character2 Hand Cursor 3B7ED - X position of Character3 Hand Cursor 3B7EE - Y position of Character3 Hand Cursor 3B7EF - X position of Character4 Hand Cursor 3B7F0 - Y position of Character4 Hand Cursor 3B7F1 - Y position of ITEM Hand Cursor 3B7F2 - Y position of MAGIC Hand Cursor 3B7F3 - Y position of WEAPON Hand Cursor 3B7F4 - Y position of STATUS Hand Cursor $9C02 - routine that clears the screen (blanks the Name Table) $B635 - character sprite display on main menu $B8EF - character main menu window loading routine INTRO SCREEN TEXT FADE JUNK =========================== 3A2E3 - Text 'default' color after flicker, returns to this color 3A2B8 - Text color that the above flicker math routine is applied to 3EB40 - Text color after flicker effect has been applied on text line 3EB48 - Text 'color number 02' after flicker effect RANDOM WINDOW STUFF =================== 3E0AA - horizontal spacing between text and left boundary of window 3E0B1 - vertical spacing between text and top boundary of window 3E082 - horizontal window border subtraction 3E089 - vertical window border subtraction BATTLE ====== - Where on the pattern table to load each tile for the window from: 3E0C8 - ($FA) left 3E0CD - ($FF) background 3E0D5 - ($FB) right 3E11F - ($F7) upper-left 3E124 - ($F8) top 3E12C - ($F9) upper-right - ($FD) bottom 3F2F5 - main battle border X & Y position 3F2FA - main battle border Width (should not be below 3) 3F2FC - main battle border Height (should not be below 3) 3F301 - character battle border X position 3F306 - character battle border Y position 3F308 - character battle border Width 3F30A - character battle border Height $F3C6 - draws the battle stat windows 3F3E0 - stat battle width for all 4 stat windows 3F30F - stat battle x position for all 4 stat windows 3F311 - stat battle window 4 y position 3F316 - stat battle window 3 y position 3F31B - stat battle window 2 y position 3F320 - stat battle window 1 y position $C006 - routine to transfer window X,Y coordinates to text location X,Y coordinates. Then calls $DCAB to set up text draw locations. i beleive draw routine is $DCBF $E0FC - draws top border of window $E0A5 - draws sides border of window $E0D7 - draws bottom border of window $F3BF - stores current A and X values into the VRAM write address $F314 - loads the attribute table for the battle screen $F33D - loads which palette set to use for BG $F347 - loads which palette set to use for Enemies $F3F1 - turn off the PPU 3F39D - how many tiles the first section of the BG should draw 3F3AA - how many tiles the second section of the BG should draw $F385 - draws the BG environment tiles 3F35D - row 1 BG environment tile set (00,04,08,0C) 3F364 - row 2 BG environment tile set (00,04,08,0C) 3F36B - row 3 BG environment tile set (00,04,08,0C) 3F372 - row 4 BG environment tile set (00,04,08,0C) 3F9F5 - Enemy window X coordinate 3F9F6 - Enemy window Y coordinate 3F9F7 - Enemy window Width 3F9F8 - Enemy window Height 3F9FA - current Attacker window X coordinate 3F9FB - current Attacker window Y coordinate 3F9FC - current Attacker window Width 3F9FD - current Attacker window Height 3F9FF - current Attacker text X coordinate 3FA00 - current Attacker text Y coordinate 3FA02 - hit number window X coordinate 3FA03 - hit number window Y coordinate 3FA04 - hit number window Width 3FA05 - hit number window Height 3FA07 - hit number text X coordinate 3FA08 - hit number text Y coordinate 3FA0A - current Attackee window X coordinate 3FA0B - current Attackee window Y coordinate 3FA0C - current Attackee window Width 3FA0D - current Attackee window Height 3FA0F - current Attackee text X coordinate 3FA10 - current Attackee text Y coordinate 3FA12 - Attack Status window X coordinate 3FA13 - Attack Status window Y coordinate 3FA14 - Attack Status window Width 3FA15 - Attack Status window Height 3FA17 - Attack Status text X coordinate 3FA18 - Attack Status text Y coordinate 3FA1A - Battle Info window X coordinate 3FA1B - Battle Info window Y coordinate 3FA1C - Battle Info window Width 3FA1D - Battle Info window Height 3FA1F - Battle Info text X coordinate 3FA20 - Battle Info text Y coordinate 3FA22 - Magic window X coordinate 3FA23 - Magic window Y coordinate 3FA24 - Magic window Width 3FA25 - Magic window Height 3FA27 - Drink window X coordinate 3FA28 - Drink window Y coordinate 3FA29 - Drink window Width 3FA2A - Drink window Height 3FA2C - Battle options window X coordinate 3FA2D - Battle options window Y coordinate 3FA2E - Battle options window Width 3FA2F - Battle options window Height 3FA31 - "FIGHT" battle X coordinate 3FA32 - "FIGHT" battle Y coordinate 3FA33 - Text pointer byte (Low) 3FA34 - Text pointer byte (High) 3FA36 - "MAGIC" battle X coordinate 3FA37 - "MAGIC" battle Y coordinate 3FA38 - Text pointer byte (Low) 3FA39 - Text pointer byte (High) 3FA3B - "DRINK" battle X coordinate 3FA3C - "DRINK" battle Y coordinate 3FA3D - Text pointer byte (Low) 3FA3E - Text pointer byte (High) 3FA40 - "ITEM" battle X coordinate 3FA41 - "ITEM" battle Y coordinate 3FA42 - Text pointer byte (Low) 3FA43 - Text pointer byte (High) 3FA45 - "RUN" battle X coordinate 3FA46 - "RUN" battle Y coordinate 3FA47 - Text pointer byte (Low) 3FA48 - Text pointer byte (High) 3FA49 - Pattern table location for "FIGHT" tiles (through 3FA4C) 3FA4E - Pattern table location for "MAGIC" tiles (through 3FA51) 3FA53 - Pattern table location for "DRINK" tiles (through 3FA56) 3FA58 - Pattern table location for "ITEM" tiles (through 3FA5B) 3FA5D - Pattern table location for "RUN" tiles (through 3FA5F) 3FA61 - value for which string to display in Enemy name slot 1 3FA63 - value for which string to display in Enemy name slot 2 3FA65 - value for which string to display in Enemy name slot 3 3FA67 - value for which string to display in Enemy name slot 4 $F59B - Main battle window SRAM setup routine $6AA1 - (RAM) holds the value of the battle menu width INTRO SCREEN ============ $9B2D - routine that aquires the X,Y values for the cursor on the Select Button Screen $A219 - sets up the PPU for displaying stuff, global $C06C - jumps to flashy text screen stuff $A0EE - flashy screen routine |
|||
Deleted User Banned Level: 8 Posts: 1/12 EXP: 1736 For next: 451 Since: 01-23-01 Since last post: 13089 days Last activity: 21 days |
| ||
Hi guys, this thread is prety cool. I had no idea so many people were interested in FF1 hacks. I was encouraged enough that I found this little hack (didn't see it documented anywhere): At 3f6e4 we have "ee 9e 6a ee 9f 6a ee 9f 6a". i.e., "inc $6a9e, inc $6a9f, inc $ 6a9f". What this piece of code is doing is taking the upper left corner of the enemy window in the battle screen, and then incrementing the vertical coordinate once and the horizontal coordinate twice. This is done in preparation for printing the enemy names. So if you change 3f6e7 to "ea ea ea" then it will shift the monster names to the left one and get rid of an unused space. I verified that this works even for multiple monster names. There are three other occurances of "ee 9e 6a ee 9f 6a" above 30000 or so, probably they probably have a similar meaning for different windows. (edited by Goongyae on 09-27-04 03:37 AM) |
|||
Gavin Fuzzy Rhinoceruses don't play games. They fucking charge your ass. Level: 43 Posts: 217/799 EXP: 551711 For next: 13335 Since: 03-15-04 From: IL, USA Since last post: 13 hours Last activity: 13 hours |
| ||
Originally posted by Goongyae cool cool, somewhat along those lines, i have the offsets for the Main Window text's relative locations. Since about half of the battle Windows aren't drawn using the main Common Window drawing routine . The bottom set of windows that display the Battle Options, Enemy Names, Battle Status windows, et cetera are all drawn kinda funky; read from the format and then written into the SRAM (which serves just like an extension of normal RAM during the game play) and then just does a small loop writing to the VRAM at $2007. that routine was, i think, located at $F59B as i posted a little earlier. I'm terribly tired right now, so i can't verify that, and i honestly can't remember if that was the singular routine for all of the battle windows that were written into the SRAM or not. I hadn't checked it things like the Magic Menu yet either, so i'll have to do that sometime when i get the chance. my guess as to why it chose this rather annoying (or annoying to hack, anyway) method was for the vertical screen "whipe" effects, in which the battle menis are drawn and erased slowly.. but i could be wrong. i'm still working with it, although i have many other areas of the game to focus on as well, so i might not find out right away. 3E0AA - horizontal spacing between text and left boundary of window 3E0B1 - vertical spacing between text and top boundary of window 3E082 - horizontal window border subtraction 3E089 - vertical window border subtraction and yah, FF1 hacking is my passion |
|||
Deleted User Banned Level: 8 Posts: 1/12 EXP: 1736 For next: 451 Since: 01-23-01 Since last post: 13089 days Last activity: 21 days |
| ||
Does anyone know where and/or how the game calculates whether the battle gives you "chance to strike first", or "monsters strike first", or neither? I'd like to edit it so that your characters' Luck scores influence it. | |||
Deleted User Banned Level: 8 Posts: 1/12 EXP: 1736 For next: 451 Since: 01-23-01 Since last post: 13089 days Last activity: 21 days |
| ||
Does anyone have a mirror of the docs that were on vgsites? The link seems to be down. | |||
Keikonium Banned Level: NAN Posts: 793/-2459 EXP: NAN For next: 0 Since: 04-02-04 Since last post: 63 days Last activity: 9 hours |
| ||
I am trying to change it so that a default party and names are selected. I have accomplished the party and so you can't change names part but Ii can't set the names. So I have 4 default characters with no names. Everything I read tells me to use a DTE table, and I have no clue what that is, so I just edit the names thru hex. I am making my hack like FFX-2, so I will have to start learning some 6502, but if someone could tell me how to delete one character so I only have 3 that would be great. So my questions are: 1. What is a DTE table? 2. How do I make default names (BTW, I have it set so its 5 letters not 4) 3. How can I get rid of one character? Any help would be great, thanks |
|||
Dish Spiny Level: 38 Posts: 173/596 EXP: 355646 For next: 14801 Since: 03-15-04 From: Disch Since last post: 18 days Last activity: 18 days |
| ||
1) DTE is short for Dual Tile Encoding... a common method of simple compression. Typically... 1 byte represents one character, but many games use DTE methods to have 1 byte represent 2 characters (or even more, in the case of MTE). FF1 can use DTE to compress most of its text (basically everything except whatever is displayed in battle). There are copies of both the regular table file, as well as a table file which contains DTE information floating around for FF1 (some are included in the FFHackster download) However, since character names are displayed in battle, you should NOT use DTE when making default names (if you do they will be distorted in battle). Any docs that said you should must have been referring to class names (ie: "Fighter", "Black Belt", etc) which are never displayed in battle. 2) If I'm not mistaken... the same doc that explains how to expand names to 5 characters also explains how to add default names (I forget the link to those docs... are they listed in the first post in this thread?) 3) This would be a lot more work than you may be thinking. Most of the game revolved around there being a fixed number (4) of characters in the party. If you want to cut it down to 3 you'll have to do a lot of hunting and change a lot of stuff. Shop routines, clinics, all the menu screens, a bunch of stuff in battle, treasure chest opening routines.... everywhere that the game does something which interacts with the individual characters in the party would potentially need changing. Needless to say this would be a fairly large hack to complete. |
|||
drjayphd Beamos What's that spell? pimp! Level: 56 Posts: 736/1477 EXP: 1387410 For next: 10766 Since: 03-15-04 From: CT Since last post: 2 hours Last activity: 2 hours |
| ||
Does anyone know how you could go about enabling DTE in battle? I mean, what exactly DOES FF1 do so those values for bytes can't be used in battle? EDIT: Also, the people demand insight on how to get the music engine to detect which battle's being fought. You know, for boss music purposes. (I'm thinking of it in if-then statements, which I'm fairly certain isn't in NES ASM.) (edited by drjayphd on 11-07-04 10:32 PM) |
|||
Lenophis Super Koopa Level: 44 Posts: 222/830 EXP: 584360 For next: 26925 Since: 03-15-04 From: Duluth, MN Since last post: 4 hours Last activity: 3 hours |
| ||
Originally posted by drjayphd Well, I'll take a guess. I believe that the DTE is still programmed for the Japanese language. So it's trying to stack the characters vertically. That.....obviously doesn't work in the English language. To fix, you'd need to find the battle routine (that'd be my guess) and change what is needed. PS. You may have some luck finding the battle routine in the Prototype translation of FF2. I say that because DTE was enabled in battles... Find that, then you may get a head start. But, you might have better luck ripping apart FF1. *shrug*
Since the battle routine only has one song to refer to, there is no special code that would check for a different song. It simply loads the battle music. Although, I have no idea how music is handled, hell, I have no idea on most of what I'm to in this response. =\ *hides* |
|||
Dish Spiny Level: 38 Posts: 179/596 EXP: 355646 For next: 14801 Since: 03-15-04 From: Disch Since last post: 18 days Last activity: 18 days |
| ||
Originally posted by drjayphd It doesn't prohibit DTE in battle... it just doesn't enable DTE in battle. For general, run-of-the-mill text output in FF1, there is no conversion. So when the game reads $99 for the letter 'P'... it doesn't think "okay, this value is $99, so output the letter 'P'". Instead, it just outputs the raw value $99 as the tile number(without any checking [except for null termination] or conversion). It just so happens that the 8x8 tile which represents the character 'P' is stored at tile ID $99 For DTE to work... the game has to check each value to see if it's a DTE code character... and it if is, it has to load 2 extra bytes and output them. This not only means that the routine to load the text takes a bit longer (which isn't really that big of a deal)... but also that the routine takes up more space (which is the big problem). AFAIK, the game has 2 (or more) text loading routines... one which is 'minimized' (used in battle... DTE not supported), and one which is used for menus (and possibly dialogue and stuff). Both routines [presumably] appear in different banks... so either the game is unable to swap in the needed bank to run the DTE routine... or they just didn't think to do so. Anyway... you probably could work around getting DTE supported in battle. If you find out where both routines are and simply cut off the battle's routine and have it hop to the other routine (of course this will entail bank-hopping, which means you'll probably have to free up some code in the 'master' bank which is always a pain). There might be complications, too. The menu screen doesn't draw the text directly to the screen... it writes it to an area in RAM first, and is later drawn to the screen (maybe the battle routine won't work that way for some reason?).
'If' statments (conditionals), must be in every programming language... ever. There's simply no [practical] way around them (and yes... 6502 has conditionals... they're sometimes referred to as branches) So yeah.. you could figure out when the game is loading the battle and have it check for certain battle ID numbers to load a different song when you want. Could be a relatively simple hack. The hard part would be squeezing in a new song. |
|||
The Great Guy Octoballoon Level: 22 Posts: 125/170 EXP: 53084 For next: 5266 Since: 04-08-04 Since last post: 130 days Last activity: 73 days |
| ||
Ummm... I need to do some of the things mentioned in those documents but all the links are dead. Could someone post working links for them? Thank you. EDIT: I know some people are going to say "Use google" but I've been using google for the last 1 1/2 hours with no good results. If there's no more web page, then could someone put up a file dl or something please? EDIT2: Ooops... I just realised someone already posted that here. Sorry guys. EDIT3: So many Edits! anyway I thought it might be worth mentioning that just now I found a dl link to a few of the files linked to on the first page. FFbytes is easy to find but I found some of the other ones at a REALLY old topic at Elric's board which came up when I searched on google for the 20th time. Anyway This is the url for it(forgot how to do hyperlink w/out the button ): http://eds.castledragmire.com/board/thread.php?id=3651&page=0#13749 scroll down a bit until there's a linking to a downoload labeled FFbytes, even though it isn't the FFbytes we all know.(LONG edit! ) (edited by The Great Guy on 12-11-04 07:22 PM) (edited by The Great Guy on 12-11-04 07:26 PM) (edited by The Great Guy on 12-12-04 08:15 AM) (edited by The Great Guy on 12-12-04 08:15 AM) |
|||
drjayphd Beamos What's that spell? pimp! Level: 56 Posts: 960/1477 EXP: 1387410 For next: 10766 Since: 03-15-04 From: CT Since last post: 2 hours Last activity: 2 hours |
| ||
I'm too lazy to re-edit this. Gentlemen... BEHOLD! Bonus Bytes, rev .1. ------------------------------------------------------------ Default Party: ------------------------------------------------------------ Offsets: Char. 1: $3A0BE Char. 2: $3A0CE Char. 3: $3A0DE Char. 4: $3A0EE Values: Standard:Upgrade (*): 00 = Fighter06 = Knight 01 = Thief07 = Ninja 02 = Black Belt08 = Master 03 = Red Mage09 = Red Wizard 04 = White Mage0A = White Wizard 05 = Black Mage0B = Black Wizard *: Use these at your own risk; they're glitched after class change. Names: Char. 1: $3A0C0 Char. 2: $3A0D0 Char. 3: $3A0E0 Char. 4: $3A0F0 There are four bytes to change there, all set by default at $FF, which is a space. You can change these to whatever... grab a table if need be. Remember, though, this will only give suggested names; you still have to enter the names at selection. There is a way to make those names stick, though. It'll be in here in the next revision. ------------------------------------------------------------ Background Colors: ------------------------------------------------------------ This refers to menus, intro text, etc. The main tipoff for these is that the palette is $0F-$00-$01-$30, which would be, in that order, black, white, blue, gray. The blue, as you probably know, is the background, so change all $01 values for the background. Menu Colors: $3EB3A (thanks, Square! Just one value!) "Equip/Trade/Drop" Menu Color: $3AD8E (highlight for selected option) "Weapon/Armor" Menu Title Highlight: $3AD92 Intro BG Color: $3A12C (This will not change the text fade-in color.) Towns: Ooh, FUN. Each map has a pair of palettes, one for when you're in a room and one for when you're outside. Everything in this series is a standard map, so it goes towns, castles, dungeons. These are the palettes themselves, not just the locations of the $01 bytes. Coneria:Indoors:$201C Outdoors:$203C Pravoka:Indoors:$204C Outdoors:$206C Elfland:Indoors:$207C Outdoors:$209C Melmond:Indoors:$20AC Outdoors:$20CC Crescent Lake:Indoors:$20DC Outdoors:$20FC Gaia:Indoors:$210C Outdoors:$212C Onrac:Indoors:$213C Outdoors:$215C Lefein:Indoors:$216C Outdoors:$218C Coneria Castle (1F):Indoors:$219C Outdoors:$21BC Coneria Castle (2F):Indoors:$21CC Outdoors:$21EC Elfland Castle:Indoors:$21FC Outdoors:$22BC Northwest Castle:Indoors: Outdoors: ...and so on. ------------------------------------------------------------ Speeds ------------------------------------------------------------ Walking: $3D088 Ship/Airship Multipliers: $3D08D, $3D096 Warning: Don't set higher than original airship speed, or you'll get palette glitches. If you use different speeds, the game may crash in battle. Their present values are $4A. Changing them to, say, $EA or $0A will speed up or lower their speeds. Canoe: Intro Fade-In: $3A2C8 Currently set at $0F. Setting it lower makes the fade-in go faster. Raising it to, say, $FF builds in a nice bathroom break for your players, because it goes REALLY slow. ------------------------------------------------------------ Black Belt/Master Attributes ------------------------------------------------------------ As you may have heard, the Black Belt and Master have their stats determined differently. Unarmed, their Damage will be double their current level. Without armor, their Absorb will be equal to their level. They also get double the hits of other classes. You can reassign them to other classes, as well. At 2D97A, the code reads "C9 02 F0 05 C9 08 F0". At 32DCF, the code reads "C9 02 F0 04 C9 08 D0". At 3EED2, the code reads "C9 02 F0 04 C9 08 D0". At 3EEF0, the code reads "C9 02 F0 04 C9 08 D0". The $02 and $08 bytes select the Black Belt and Master classes, respectively. Change all of them using the values listed under "Default Party" and you can reassign them to those classes. If you select a value that isn't in the list (ie, anything higher than $0B), no one will get the bonuses. In other words, you can give none, 1, or 2 classes the bonuses. In addition, you can also reassign them to a range of classes. Change all the $F0 bytes to $90. Change all the $D0 bytes to $B0. Now, as long as the first class's value is less than the second class, all classes between the two numbers, including the first number, but not the second, get the bonuses. For instance, if you change the $F0 and $D0 bytes, but not the classes, all classes between Black Belt and Master get the bonuses (Black Belt, Red/White/Black Mages, Knight, Ninja, Master). The doubled hits may not carry over. ------------------------------------------------------------ Hold Magic Switches ------------------------------------------------------------ By default, the Fighter and Thief get no MP until class change. They can gain MP if they start off as Knights or Ninjas, though. Here's how to tweak that. $2DC7D reads "F0 40 C9 01 F0 3C". Change the $01 to whatever class you want to be without MP. So if you don't want the Red Mage to have magic, you'd change it to 03. Just like the Black Belt stats, you can tweak this, to include a range. Here's how. Change the second $F0 byte to read $30: $2DC7D should now read "F0 40 C9 01 30 3C". However, if you're using FFHackster, this WILL be overwritten. Until someone changes that... ------------------------------------------------------------ Text Locations ------------------------------------------------------------ Intro: $37F30 Bridge: $36843 "And so...our world." Item Descriptions: $385BD Spell Descriptions: $38A17 Ending: $368F3 "The Time-Loop...continue to shine..." Character Name Menu: $3A021 Shop Text: $38095 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ OK, so here's what I've found: On the Continue/New Game screen: The C 1987 SQUARE & C 1990 NINTEDO offset is: 384B8. The numbers are: 00 - Waits for a button press to display next window of text 05 - Line feed 01 - Blank text window 80 - 0 81 - 1 82 - 2 83 - 3 84 - 4 85 - 5 86 - 6 87 - 7 88 - 8 89 - 9 FF - SPACE NINTENDO in Bridge scene is at 2FF72. C1, E7-EA 2FEB9 The Continue/New Game/Respond Rate text is at 3A263. On the name input screen: The Name Input alphabet is at 3A021. The Select Name text is at 3A0B1. Shop screens: Shop names are at 3805C. The word OK when you buy something is at 380DE. The word RESET at the Inn is at 38211, and POWER is at 38225. Specific Item Descriptions: TENT/CABIN/HOUSE HP/SAVE Message - 387B6 Status Screen Text starts at 388C2. EQUIP/TRADE/DROP is at 38B30. ARMOR for Equip screen is at 38B57. OK, that's normal stuff. Now for fun stuff... Main Menu commands: ITEM - 38956 MAGIC - 3859C WEAPON - 385A3* ARMOR - 385AA *If you want to change this to use standard text, don't use a word that is more than 5 letters long. 385A8 and 385A9 MUST be 01 and FF, respectivly, or it will mess up the menu. It will also cause the word STATUS to vanish. If you ever want to restore it, the default values are CF D0 D1 D2 D3 01 FF. Unknown Use Text WARRIOR @ 38281 EQUIP/TRADE/DROP @ 38C4D, 38CDF ARMOR @ 38C74, 38C8A, 38CFF STONE @ 38AAE, 38BA0 WEAPON @ 38CD5 I'm thinking that at least one of those STONEs is for when a character is petrified, but I haven't been able to test that yet.... Open the FF1 ROM in your hex editor and go to the addresses listed below. In each location you'll find an 01 (representing blue). Simply change all of these 01s to whatever color value, in your case you'll use 0F for black. $3a12c $3a2e3 $3ad8a $3ad8e $3ad92 $3eb3a 3AD8E = menu color for "Equip" "Trade" "Drop" 3AD92 = color for "Weapon" "Armor" The color for the text is immidiatly after (3AD8F, 3AD93). http://www.zophar.net/trans/docs/paletdat.html Default Party Info Char. 1: 3A0BE Char. 2: 3A0CE Char. 3: 3A0DE Char. 4: 3A0EE Classes 0 - Fighter 1 - Thief 2 - Black Belt 3 - Red Mage 4 - White Mage 5 - Black Mage 6 - Knight 7 - Ninja 8 - Master 9 - Red Wizard A - White Wizard B - Black Wizard The default names are at the following offsets: Char. 1: $3A0C0 Char. 2: $3A0D0 Char. 3: $3A0E0 Char. 4: $3A0F0 The default names all have $FF values for the 4 bytes in the original ROM, which of course, represents empty text. The C 1987 SQUARE & C 1990 NINTEDO offset is: 384B8. The numbers are: 80 - 0 81 - 1 82 - 2 83 - 3 84 - 4 85 - 5 86 - 6 87 - 7 88 - 8 89 - 9 FF - SPACE The Name Input alphabet is at 3A021. The Select Name text is at 3A0B1. The Continue/New Game/Respond Rate text is at 3A263. Shop names are at 3805C. The word OK when you buy something is at 380DE. The word RESET at the Inn is at 38211, and POWER is at 38225. Main Menu commands: ITEM - 38956 MAGIC - 3859C WEAPON - 385A3* ARMOR - 385AA *If you want to change this to use standard text, don't use a word that is more than 5 letters long. 385A8 and 385A9 MUST be 01 and FF, respectivly, or it will mess up the menu. It will also cause the word STATUS to vanish. If you ever want to restore it, the default values are CF D0 D1 D2 D3 01 FF. Specific Item Descriptions: CROWN - 3860A CRYSTAL - 3861C KEY - 38649 SLAB - 3867B ROD - 386B1 AIRSHIP - 386D0 MADE IN LEFEIN OOHH - 3870F CUBE - 3875D OXYALE - 3878E TENT/CABIN/HOUSE HP/SAVE Message - 387B6 Status Screen Text starts at 388C2. EQUIP/TRADE/DROP is at 38B30. ARMOR for Equip screen is at 38B57. Unknown Use Text EQUIP/TRADE/DROP @ 38C4D, 38CDF ARMOR @ 38C74, 38C8A, 38CFF STONE @ 38AAE, 38BA0 WEAPON @ 38CD5 Bypass N A S I R Checksum by Vagla Do either one of these: 3CFEF- A900 -or- 3CFEF- 2900 There's really no difference. Both feed it 00, which is what the hack requires (one does it by loading the current value as 00, and the other ANDing the current value to 00). I really wonder why it was so hard for anyone to figure this out, since it's been an issue for years. I simply dumped the RAM, found out where N A S I R was in it, and watched for reads to that data in FCEUd when entering a town. It brought me to a line of code very near the code at 3CFEF, and a few opcodes down was a BEQ which was the source of all of the trouble. It branches on 00, which is what it gets from its checksum if it's true, so I just changed the EOR #$AE (checks to make sure the values sum to $AE) to LDA #$00/AND #$00. Thus, it always branches, simple as that. More Bytes! by Dark Steak Offset 0x3A12C is for the starting screen background. Offset 0x3A2E3 is for the fade-in text on the starting screen. While the blue doesn't look all that bad (for the fade-in) against most colours, the effect just isn't quite the same. This one staying the same as the others isn't as critical. Offset 0x3EB3A is the "general background." Nearly all of the normal sub-screen, the item screen, magic screen, most of the weapon and armor screens, status screen, party select windows, and party lineup screen backgrounds (all of them) are determined by this byte. What's fun is how this colour over-rides the starting screen background in block chunks behind the fading-in text. Those two must be the same, or it looks...off. Offset 0x3AD92 is on the weapon and armor screens of the main sub-screen. This controls a block of the background in the upper window where the hand-pointer starts, and stays behind most of what word the hand is pointing at. Must be the same as the rest of the sub-screen background or it looks just plain icky. Offset 0x3AD8E is also on the weapon and armor screens. This goes as the main part of the background on the box in the upper-lefthand corner, where is says either weapon or armor. This also looks amazingly bad if it's not the same as the rest of the sub-screen. The Black Belt/Master's fist's palette determiner is at 0x32DE4. The palette for the lit Orbs is from 0x3AD88 to 0x3AD8B. Name select screen's red window's background is at 0x39C7E. Shop Title window's palette is from 0x3EB84 to 0x3EB87. Current money in shop window's palette is from 0x3EB88 to 3EB8B. $32ACB-$32AD0: Code changes affecting printing of blank space and status string in battle character windows; supports 5 character player names. CB - 0A CC - 20 CD - FC CE - AA CF - A0 D0 - 0B $32B17: Code change affecting printing of text in battle character windows and possibly others; supports 5 character player names. 17 - 05 $39C3F-$39C54: ???Code change related to 5-character names? 3F - A0 40 - 00 41 - BD 42 - 02 43 - 61 44 - 99 45 - 5B 46 - 00 47 - E8 48 - C8 49 - C0 4A - 05 4B - D0 4C - F4 4D - EA 4E - EA 4F - EA 50 - EA 51 - EA 52 - EA 53 - A9 54 - 5B 55 - 85 $39CEF-$39D06: Code change ensures all 5 characters of name are copied properly from party creation dialogue to game. CEF - A9 CF0 - 05 CF1 - 48 CF2 - BD CF3 - 01 CF4 - 03 CF5 - 99 CF6 - 02 CF7 - 61 CF8 - E8 CF9 - C8 CFA - 68 CFB - 38 CFC - E9 CFD - 01 CFE - D0 CFF - F1 D00 - EA D01 - EA D02 - EA D03 - EA D04 - EA D05 - EA D06 - EA $39D70-$39D8A: Makes default names stick. 70 - 64 71 - 85 72 - 65 73 - A9 74 - 05 75 - 85 76 - 62 77 - 20 78 - 02 79 - 9C 7A - 20 7B - B0 7C - 9F 7D - 20 7E - 7D 7F - 9F 80 - EA 81 - EA 82 - EA 83 - EA 84 - EA 85 - EA 86 - EA 87 - EA 88 - EA 89 - EA 8A - EA $39DEC: Code change - use 0xCC (a dash character) when you erase characters from your name. EC - CC $39E22: Allows five-letter names in naming window. 22 - 05 $39E2E: Code change; enter 5 characters into the right place in memory when choosing name 2E - 01 $39EA5-$39EC2: Code changes affect positioning of names in party select dialogue NOTE: Older copies of this document tell you to change they byte at $39EBF to A5, which is wrong, and will cause the window to mess up after you finalize the name of the first character. They proper value to change the byte to is 85. Thanks go out to Dark Steak for discovering what the problem was, and the fix. A5 - A1 A6 - 9E A7 - A5 A8 - 1F A9 - 18 AA - 69 AB - 10 AC - 85 AD - 1F AE - 60 AF - EA B0 - EA B1 - A6 B2 - 1F B3 - BD B4 - 0C B5 - 03 B6 - 85 B7 - 38 B8 - BD B9 - 0D BA - 03 BB - 85 BC - 39 BD - A9 BE - 0F BF - 85 C0 - 3C C1 - A9 C2 - 12 $39F07-$39F1A: ??? Code change related to display of names in party select dialogue? 07 - A0 08 - 00 09 - BD 0A - 01 0B - 03 0C - 99 0D - 5B 0E - 00 0F - E8 10 - C8 11 - C0 12 - 05 13 - D0 14 - F4 15 - CA 16 - CA 17 - CA 18 - CA 19 - CA 1A - EA $39F26: Code change displays names in party select dialgoue by reading them from correct place in memory 26 - 5B $39F8F-$39FA8: Code change copies all 5 characters for display while editing name 8F - A0 90 - 00 91 - BD 92 - 01 93 - 03 94 - 99 95 - 5B 96 - 00 97 - E8 98 - C8 99 - C0 9A - 05 9B - D0 9C - F4 9D - EA 9E - EA 9F - EA A0 - EA A1 - EA A2 - EA A3 - A9 A4 - 00 A5 - 85 A6 - 3F A7 - A9 A8 - 5B $39FF7: Lengthens name window in naming screen. F7 - 07 $3A02B-$3A0FC: Default party, names, naming window. 2B - A4 2C - FF 2D - A5 2E - FF 2F - A6 30 - FF 31 - A7 32 - FF 33 - A8 34 - 01 35 - 8F 36 - FF 37 - 90 38 - FF 39 - 91 3A - FF 3B - 92 3C - FF 3D - 93 3E - FF 3F - A9 40 - FF 41 - AA 42 - FF 43 - AB 44 - FF 45 - AC 46 - FF 47 - AD 48 - 01 49 - 94 4A - FF 4B - 95 4C - FF 4D - 96 4E - FF 4F - 97 50 - FF 51 - 98 52 - FF 53 - AE 54 - FF 55 - AF 56 - FF 57 - B0 58 - FF 59 - B1 5A - FF 5B - B2 5C - 01 5D - 99 5E - FF 5F - 9A 60 - FF 61 - 9B 62 - FF 63 - 9C 64 - FF 65 - 9D 66 - FF 67 - B3 68 - FF 69 - B4 6A - FF 6B - B5 6C - FF 6D - B6 6E - FF 6F - B7 70 - 01 71 - 9E 72 - FF 73 - 9F 74 - FF 75 - A0 76 - FF 77 - A1 78 - FF 79 - A2 7A - FF 7B - B8 7C - FF 7D - B9 7E - FF 7F - BA 80 - FF 81 - BB 82 - FF 83 - BC 84 - 01 85 - A3 86 - FF 87 - C2 88 - FF 89 - BE 8A - FF 8B - C4 8C - FF 8D - C5 8E - FF 8F - BD 90 - FF 91 - F3 92 - FF 93 - F6 94 - FF 95 - EF 96 - FF 97 - FF 98 - 01 99 - 80 9A - FF 9B - 81 9C - FF 9D - 82 9E - FF 9F - 83 A0 - FF A1 - 84 A2 - FF A3 - 85 A4 - FF A5 - 86 A6 - FF A7 - 87 A8 - FF A9 - 88 AA - FF AB - 89 AC - 01 AD - 01 AE - 99 AF - 45 B0 - 3F B1 - 1A B2 - 3A B3 - 53 B4 - 44 B5 - A4 B6 - FF B7 - B1 B8 - A4 B9 - 34 BA - 00 BB - B1 BC - 26 BD - 3E BE - 00 BF - 8C C0 - A8 C1 - A6 C2 - F3 C3 - FF C4 - 0D C5 - 09 C6 - 0D C7 - 08 C8 - 50 C9 - 3A CA - 08 CB - 06 CC - 38 CD - 40 CE - 02 CF - A2 D0 - A4 D1 - B1 D2 - AA D3 - FF D4 - 0D D5 - 0D D6 - 0D D7 - 0C D8 - 50 D9 - 5A DA - 97 DB - 98 DC - 38 DD - 60 DE - 04 DF - 99 E0 - B2 E1 - B5 E2 - B2 E3 - B0 E4 - 0D E5 - 11 E6 - 0D E7 - 10 E8 - 50 E9 - 7A EA - 9D EB - 9E EC - 38 ED - 80 EE - 05 EF - 99 F0 - A4 F1 - AF F2 - B2 F3 - B0 F4 - 0D F5 - 15 F6 - 0D F7 - 14 F8 - 50 F9 - 9A FA - 9C FB - 8E FC - 38 $3DEEE-$3DF06: Code change; copies all 5 characters of name for display in party screen. EEE - A0 EEF - 00 EF0 - BD EF1 - 02 EF2 - 61 EF3 - 99 EF4 - 5B EF5 - 00 EF6 - E8 EF7 - C8 EF8 - C0 EF9 - 05 EFA - D0 EFB - F4 EFC - EA EFD - EA EFE - EA EFF - EA F00 - EA F01 - EA F02 - 20 F03 - 3E F04 - E0 F05 - A9 F06 - 5B $3F2FA-$3F308: Eliminates border between windows. 2FA - 18 2FB - 0A 2FC - 12 2FD - 20 2FE - E2 2FF - F3 300 - A9 301 - 01 302 - 8D 303 - 38 304 - 00 305 - A9 306 - 01 307 - A2 308 - 18 $3F39D-$3F3A8: Extends battle BG. Combined with the above offsets, fixes top of window. 9D - 08 9E - 84 9F - 9B A0 - 20 A1 - A0 A2 - F3 A3 - 20 A4 - A0 A5 - F3 A6 - EA A7 - EA A8 - EA $3F3E0-$3F3E7: Sets character window width (name, HP) in battle. E0 - 07 E1 - 86 E2 - 3C E3 - A2 E4 - 07 E5 - EA E6 - 86 E7 - 3D $3F64C-$3F653: Fixes the bottom part of the battle window. 4C - EA 4D - EA 4E - EA 4F - A9 50 - FE 51 - EA 52 - EA 53 - EA $3FC79: Code change; displays all 5 characters of name in battle character windows 79 - 05 Oh yeah, and if you see a lot of EA's in a change, you should know that EA is just the NOP code (no operation, ie. do nothing). This means there is a bit more room to squeeze code in. $0039A-$0039F: Palette changes for outdoors $003B2-$003C7: Palette changes for party members on map $03221-$0322B: Palette changes for battle background(s) $0323A-$0323B: Ditto? $035A0: ??? $04012-$07E81: ??? $085A5: Graphics fix. $09013-$0908F: Graphics fix. $090A6-$0950F: Graphics fix. $09557: Graphics fix. $09567-$09587: Graphics fix. $095B7-$0974C: Graphics fix. $097A5: Graphics fix. $097B7-$097BF: Graphics fix. $097D0-$09C0F: Graphics fix. $09D12-$09D1E: Graphics fix. $09D30-$09D5F: Graphics fix. $09D71-$09D8F: Graphics fix. $09DB2-$09DCE: Graphics fix. $09DF3-$09E0F: Graphics fix. $09E34-$09E4E: Graphics fix. $09E75-$09E8F: Graphics fix. $0A313-$0A70F: Graphics fix. $0A916-$0A938: Graphics fix. $0A950-$0A98A: Graphics fix. $0A996-$0AA0F: Graphics fix. $0AB10-$0AFOF: Graphics fix. $0C040-$0C04F: Graphics fix. $0C070-$0C09F: Graphics fix. $0C0B0-$0C0CE: Graphics fix. $0C105-$0C10D: Graphics fix. $0C105-$0C14F: Graphics fix. $0C132-$0C14F: Graphics fix. $0C132-$0C19F: Graphics fix. $0C170-$0C19F: Graphics fix. $0C170-$0C1CF: Graphics fix. $0C1B0-$0C1CF: Graphics fix. $0C1F0-$0C22F: Graphics fix. $0C250-$0C2CF: Graphics fix. $0C2F0-$0C32F: Graphics fix. $0C351-$0C3AE: Graphics fix. $0C3F1-$0C40F: Graphics fix. $0C431-$0C44F: Graphics fix. $0C460-$0C4DE: Graphics fix. $0C4F0-$0C50F: Graphics fix. $0C530-$0C54E: Graphics fix. $0C560-$0C57F: Graphics fix. $0C5A0-$0C5DD: Graphics fix. $0C5F0-$0C60F: Graphics fix. $0C630-$0C68E: Graphics fix. $0C730-$0C76F: Graphics fix. $0C7B7-$0C80F: Graphics fix. $0CAB2-$0CACF: Graphics fix. $0CBB2-$0CBCD: Graphics fix. $0CC71-$0CC98: Graphics fix. $0CCA8: Graphics fix. $0CD70-$0CDAC: Graphics fix. $0CFB7-$0D00F: Graphics fix. $0D4D1-$0D4EF: Graphics fix. $0D5D2-$0D5ED: Graphics fix. $0D63A-$0D65A: Graphics fix. $0D668-$0D66B: Graphics fix. $0D7B7-$0D80F: Graphics fix. $0DAB2-$0DACF: Graphics fix. $0DBB2-$0DBCD: Graphics fix. $0DC11-$0DC2F: Graphics fix. $0DD12-$0DD2D: Graphics fix. $0DE31-$0DE58: Graphics fix. $0DE68: Graphics fix. $0DF31-$0DF6C: Graphics fix. $0DFB7-$0E00F: Graphics fix. $0E2B2-$0E2CF: Graphics fix. $0E3B2-$0E3CD: Graphics fix. $0E7B7-$0E80F: Graphics fix. $0EAB2-$0EACF: Graphics fix. $0EBB2-$0EBCD: Graphics fix. $0EFB7-$0F00F: Graphics fix. $0F612-$0F627: Graphics fix. $0F710-$0F712: Graphics fix. $0F720-$0F723: Graphics fix. $0F7B7-$0F80F: Graphics fix. $0FAB2-$0FACF: Graphics fix. $0FBB2-$0FBCD: Graphics fix. $0FFB7-$1000F: Change Japanese characters to miscellaneous characters (tent, tail, etc.) never displayed in battle $10010-$10088: Slight bug fix to Coneria map - the wrong tile was being used to the upper right of fountain $10194-$101FF: Slight bug fix to miscellaneous maps - get rid of spurious isolated tiles; helps w/ compression $10200-$181F8: Slight bug fix to miscellaneous maps - get rid of spurious isolated tiles; helps w/ compression $181FA-$181FF: Slight bug fix to miscellaneous maps - get rid of spurious isolated tiles; helps w/ compression $18200-$1ACAA: Slight bug fix to miscellaneous maps - get rid of spurious isolated tiles; helps w/ compression $1C02C: Graphics fix. $1C060: Graphics fix. $1C070: Graphics fix. $1C080: Graphics fix. $1C090-$1C0AB: Graphics fix. $1C0B6-$1C0BE: Graphics fix. $1C0D8-$1C0EA: Graphics fix. $1C100-$1C11D: Graphics fix. $1C136-$1C228: Graphics fix. $1C7B7-$1C80F: Graphics fix. $1CFB7-$1D00F: Graphics fix. $1D57E-$1D79D: Graphics fix. $1D7AB-$1D80F: Graphics fix. $1D826-$1D913: Graphics fix. $1DFB7-$1E00F: Graphics fix. $1E020-$1E11F: Graphics fix. $1E134-$1E22E: Graphics fix. $1E340-$1E38F: Graphics fix. $1E3A0-$1E451: Graphics fix. $1E45C-$1E4AF: Graphics fix. $1E4C0-$1E50F: Graphics fix. $1E520-$1E7AF: Graphics fix. $1E7B7-$1E80F: Graphics fix. $1E820-$1E91F: Graphics fix. $1E987-$1E98F: Graphics fix. $1E99F: Graphics fix. $1E9C0-$1E9DB: Graphics fix. $1ED85-$1EF99: Graphics fix. $1EFB7-$1F00F: Graphics fix. $1F0A0-$1F0EA: Graphics fix. $1F0F8-$1F0FA: Graphics fix. $1F108-$1F10C: Graphics fix. $1F118-$1F11C: Graphics fix. $1F7B7-$1F80F: Graphics fix. $1F935-$1FA2C: Graphics fix. $1FB30-$1FD08: Graphics fix. $1FD20: Graphics fix. $1FD30-$1FD5B: Graphics fix. $1FFB7-$2000F: Graphics fix. $20020-$2011F: Graphics fix. $20231-$20565: Graphics fix. $207B7-$2080F: Graphics fix. $20931-$20A18: Graphics fix. $20FB7-$2100F: Graphics fix. $21061-$2111F: Graphics fix. $21232-$2132F: Graphics fix. $21342-$21387: Graphics fix. $213A2-$213E4: Graphics fix. $21400-$2143F: Graphics fix. $21460-$21794: Graphics fix. $217B7-$2180F: Graphics fix. $21FB7-$2200F: Graphics fix. $22344-$2243F: Graphics fix. $22450-$2249F: Graphics fix. $224B0-$2256B: Graphics fix. $227B7-$2300F: Graphics fix. $23131-$231C2: Graphics fix. $231D0-$23400: Graphics fix. $23410-$2346E: Graphics fix. $237B7-$2380F: Graphics fix. $23FB7-$2400F: Graphics fix. $24410-$2444A: Graphics fix. $247B7-$24A47: Graphics, font fix. $24A52-$24A67: Font fix. $24A72-$24A87: Font fix. $24A92-$24AA7: Font fix. $24AB2-$24B07: Font fix. $24B12-$24B17: Font fix. $24B22-$24B27: Font fix. $24B32-$24B37: Font fix. $24B42-$24B47: Font fix. $24B52-$24B57: Font fix. $24B62-$24B67: Font fix. $24B72-$24B77: Font fix. $24B82-$24B87: Font fix. $24B92-$24B97: Font fix. $24BA2-$24BA7: Font fix. $24BB2-$24BB7: Font fix. $24BC2-$24BC7: Font fix. $24BD2-$24BD7: Font fix. $24BE2-$24BF4: Font fix. $24C04-$24C07: Font fix. $24C15-$24C26: Font fix. $24C44-$24C87: Font fix. $24C93-$24DEF: Icons. $24DFD-$24E57: Icons. $24E62-$24FFD: Icons, borders. $25010-$2514E: Graphics fix. $25173-$251B7: Graphics fix. $251D6-$2554F: Graphics fix. $2555C-$2555F: Graphics fix. $2556C-$2560F: Graphics fix. $25624-$25626: Graphics fix. $25631-$2568F: Graphics fix. $256A4-$256A6: Graphics fix. $256B1-$2574F: Graphics fix. $25766: Graphics fix. $25772-$2577F: Graphics fix. $25790-$25798: Graphics fix. $257A3-$257B6: Graphics fix. $257C1-$257C2: Graphics fix. $257D1-$2594F: Graphics fix. $2597A: Graphics fix. $25996-$259AE: Graphics fix. $259BA-$25A0F: Graphics fix. $25A37-$25A88: Graphics fix. $25AB1-$25B2F: Graphics fix. $25B41-$25B5D: Graphics fix. $25B77-$25B98: Graphics fix. $25BB4-$25EE1: Graphics fix. $25FC6-$25FCF: Graphics fix. $25FDF-$2614F: Graphics fix. $2615C-$261AF: Graphics fix. $261C7-$2680F: Graphics fix. $28012-$281FF: Pointer changes corresponding to text changes. $28200-$2B60F: Text changes. $2B645-$2B6F3: Enemy attack text changes. $2B701: Meaningless change to unused memory 2b6f5 - 2b70f. $2B714-$2B906: Pointer changes correspnding to item, weapon, armor, spell, and class text changes. $2B911-$2BFD0: Item description, weapon, armor, item, spell, class, status text. $2CC51-$2CC53: Effect text. $2CC6E-$2CF5A: Effect text. $2CF68-$2CFF8: Pointer changes corresponding to battle message changes. $2D4F2-$2D95E: Enemy names. $2E024-$2E026: ??? $2E03D-$2E048: ??? $2EFC0-$2F00F: Enemy names. $2F610-$2F7AF: Graphics fix. $2FBB0-$2FBBF: Graphics fix. $2FBF0-$2FC0E: Graphics fix. $30339: ??? $303C1: ??? $30B7F: ??? $31019-$3101D: ??? $31FCF-$31FED: Changes cursors in battle magic and battle item menus. $32ACB-$32AD0: Code changes affecting printing of blank space and status string in battle character windows; supports 5 character player names. $32B17: Code change affecting printing of text in battle character windows and possibly others; supports 5 character player names. $36876-$368BD: Bridge text. $369C3-$369C6: Changes "CHAOS" in the ending. $36A2A-$36A36: Changes "LIGHT WARRIORS" in the ending. $36BF2-$36BFE: Changes another "LIGHT WARRIORS" in the ending. $36CEC-$36CF7: Changes yet another "LIGHT WARRIORS" in the ending. $36D0F-$36DD6: Removes the end of the ending. $37620-$3762B: Changes orbs to crystals in menu. $37651-$3774F: Changes orbs to crystals in menu. $37771-$3780F: Changes orbs to crystals in menu. $37F35-$38020: Changes the opening. $3805D-$3809A: Changes shop titles. $380DA-$380DC: Changes "Gold" in shops to "Gil". $38103-$38104: Changes "will" to use the "il" tile instead of "i" and "l". $38146: Shop text. $38163-$38164: Shop text. $38172: Shop text. $3817E: Shop text. $381BD: Shop text. $38219-$3821A: Shop text. $38243: Shop text. $38272: Shop text. $38295-$38299: Shop text. $382A7-$382AD: Shop text. $382FB-$38302: Shop text. $384B8-$384D8: Copyright text. $38514: Pointer change to point to Item in Item/Magic/Weapon/Armor/Status command text. $3852E-$3853A: Pointer changes to point to Item text. $38594-$3860F: Menu, item description text. $3861B-$38623: Item descriptions. $38635-$386A4: Item descriptions. $386AF-$38761: Item descriptions. $3876D-$387B3: Item descriptions. $387C2-$387DA: Tent save text. $387F9-$38822: Cabin save text. $38830-$38857: House save text. $3888D-$388B5: Pure/Soft potion text. $388C3-$38A15: Changes status screen text. $38A2A-$38A6D: Heal/Pure magic text. $38A88-$38AC1: Warp/Soft magic text. $38AD8-$38AD9: Exit spell text. $38B0C-$38B41: Magic inappropriate, "Equip/Trade/Drop" text. $38B58-$38B5B: "ARMOR" label. $38B6B-$38C5E: Magic, "Equip/Trade/Drop" text. $38C74-$38C9C: Armor, save text. $38CD4-$38CEF: "WEAPON", "Equip/Trade/Drop" text. $38D00-$38D03: "ARMOR". $39C3F-$39C54: ???Code change related to 5-character names? $39CEF-$39D06: Code change ensures all 5 characters of name are copied properly from party creation dialogue to game. $39D70-$39D8A: Makes default names stick. $39DEC: Code change - use 0xCC (a dash character) when you erase characters from your name. $39E22: Allows five-letter names in naming window. $39E2E: Code change; enter 5 characters into the right place in memory when choosing name $39EA5-$39EC2: Code changes affect positioning of names in party select dialogue $39F07-$39F1A: ??? Code change related to display of names in party select dialogue? $39F26: Code change displays names in party select dialgoue by reading them from correct place in memory $39F8F-$39FA8: Code change copies all 5 characters for display while editing name $39FF7: Lengthens name window in naming screen. $3A02B-$3A0FC: Default party, names, naming window. $3A264-$3A280: "Continue", "New Game", "Battle Speed" on main menu $3A9BF: Code change; in the shops use plain old L character to show magic level instead of the duplicate L character. $3AC5C-$3AC5E: Changes various shop window locations and sizes. $3B4AF-$3B4BC: ??? $3B7D2: ??? $3B82C-$3B839: ??? $3B9ED-$3B9F7: Code change displays MP instead of MAGIC in party screen. $3BA52: Code change displays L character for player level instead of the duplicate L character. $3BAC6-$3BAC8: Positioning and size of gold menu in party screen. $3BE8E-$3BE92: Changes Weapon/Armor Equip/Trade/Drop windows $3DEEE-$3DF06: Code change; copies all 5 characters of name for display in party screen. $3EBB6: Spacing in Magic menu? $3ECED: Spacing in Weapon/Armor equip menus? $3ED29-$3ED3F: Fixes characters which pop up from changing $3ECED? $3ED52: Fixes border which is altered from $3ECED? $3ED60-$3ED65: Changes "E-" to "eep" in equip menus. $3EF90: Code change accounts for length of item names so items are displayed properly $3EF9C: ??? Code change affects display of items in item window? $3EFB7-$3EFBC: Code change ensures proper display of items. Specifically, store item quantity digits in appropriate memory, accounting for new item name length. $3F2FA-$3F308: Eliminates border between windows. $3F39D-$3F3A8: Extends battle BG. Combined with the above offsets, fixes top of window. $3F3C9-$3F3CE: Unused memory marked as "Unused" $3F3E0-$3F3E7: Sets character window width (name, HP) in battle. $3F414-$3F41C: Sets palette for divider bar. $3F64C-$3F653: Fixes the bottom part of the battle window. $3F7D1-$3F7D6: Code displays spell quantity in battle for first 4 spell levels $3F829-$3F82E: Code displays spell quantity in battle for last 4 spell levels $3F857-$3F8A4: Code displays spell list in battle $3F8F6: ??? $3F9F7-$3FA17: Shortens battle options, damage windows. $3FA22-$3FA2E: Lengthens enemy name window. $3FA49-$3FA5F: Decapitalizes/squishes options (Fight, Item, etc.). $3FC79: Code change; displays all 5 characters of name in battle character windows $3FC9E: Code change; displays all 9 characters of monster in battle |
|||
Lenophis Super Koopa Level: 44 Posts: 442/830 EXP: 584360 For next: 26925 Since: 03-15-04 From: Duluth, MN Since last post: 4 hours Last activity: 3 hours |
| ||
Some problem code.... with no assembly hacks at all currently in place, or anything for that matter... (other than the 5 letter limit, but that works) $3F2FA-$3F308: Eliminates border between windows. 2FA - 18 2FB - 0A 2FC - 12 <-- found to be the problem, change that to 21, not 12 2FD - 20 2FE - E2 2FF - F3 300 - A9 301 - 01 302 - 8D 303 - 38 304 - 00 305 - A9 306 - 01 307 - A2 308 - 18 $3F39D-$3F3A8: Extends battle BG. Combined with the above offsets, fixes top of window. 9D - 08 9E - 84 9F - 9B A0 - 20 A1 - A0 A2 - F3 A3 - 20 A4 - A0 A5 - F3 A6 - EA A7 - EA A8 - EA Coding this as I see it, produces these results: Eek? Edit: Schpune is the only emu that runs the rom after that hack, FCEUXD and NNNesterJ crash when a battle starts... (edited by Lenophis on 04-27-05 02:16 PM) (edited by Lenophis on 04-27-05 02:28 PM) (edited by Lenophis on 04-27-05 03:32 PM) |
|||
Mewtwo Red Goomba Level: 12 Posts: 28/45 EXP: 6759 For next: 1162 Since: 06-19-04 From: Dreamland Since last post: 119 days Last activity: 3 days |
| ||
How do you edit the music? The vgsite is not working.Also how do i edit the picture of the airship and what text does Garland (Chaos Time) say? (edited by Mewtwo on 05-07-05 02:21 PM) |
|||
drjayphd Beamos What's that spell? pimp! Level: 56 Posts: 1004/1477 EXP: 1387410 For next: 10766 Since: 03-15-04 From: CT Since last post: 2 hours Last activity: 2 hours |
| ||
Garland's text should be in three separate entries... FFHackster will edit it. Music? FFBytes... check the music doc. Airship graphics should be fairly self-evident... crack the ROM open in a tile editor. | |||
The Great Guy Octoballoon Level: 22 Posts: 159/170 EXP: 53084 For next: 5266 Since: 04-08-04 Since last post: 130 days Last activity: 73 days |
| ||
Is there any data on the MP RAM addresses or the XY data for the 4 "MAGIC"s on the menu screen or the MP numbers themselves? I'm trying to get it to display 2-digit MP numbers(I'll probably fail, since I'm VERY new to ASM but meh) and I have the code partially worked out in my head, but I have no idea where any of the adresses are except for what "MAGIC" says, but I barely understand it, I can just get it to say stuff like "[knife]GIC" and "caGIC" and once it said "M' yIC", lol. I suck, badly, at least at figuring out how this thing is compressing the text, though it seems close to the DTE for the regular text, since the equip symbols are the same values and the letters alone are, but 2 at once, I die. But anyway, with 1 address for the RAM magic and the XY stuff I could probably find the rest, I doubt square would be crazy enough to throw them all over the place, heh. There probably isn't anything uncovered since I haven't seen it yet in this topic, but if anyone has something, it'll save me alot of corrupting and guesswork! Thanks. EDIT: I found some RAM addresses, one I got while looking for the MP data the others are the MP data, so I don't need that anymore. Here it is straight from the notepad file it's stored in: RAM Addresses: 0061A0: Char 3's "damage" rating on the stat screen (unsure if it affects battle) 006320-006327: Char 1's current MP in order from level 1-8 006328-00632F: Char 1's Max MP in order from level 1-8 006360-006367: Char 2's current MP 006368-00636F: Char 2's Max MP 0063A0-0063A7: Char 3's current MP 0063A8-0063AF: Char 3's Max MP 0063E0-0063E7: Char 4's current MP 0063E8-0063EF: Char 4's max MP Man, I should've looked through FCEUXD's Hex editor earlier, I am such an idiot. EDIT2: Found what seems to be part of the drawing code for MP, when I change it it places MP values in odd places on the stat screen though some parts are intact, it only changes the main menu screen though, the magic menu branch of the pause screen and battle magic menu are unaffected. It's one byte located in the ROM at 3B9EB, the two offsets "next" to it crash if the value is changed even by 1 so I have no clue what those are for. EDIT3: Man I wish I didn't have to edit this much. Anyway 3B9E9 has something to do with the 1st row of magic points, for every char, I've got it to crash, act like it's normal, and get rid of the 1st row of MP, I'm going to need to look deeper into the data around 3B9EB to understand what's going on, unfortunatly, I don't know how to do that. (edited by The Great Guy on 06-20-05 08:55 PM) (edited by The Great Guy on 06-21-05 09:32 AM) (edited by The Great Guy on 06-21-05 09:33 AM) (edited by The Great Guy on 06-21-05 09:34 AM) (edited by The Great Guy on 06-21-05 05:06 PM) (edited by The Great Guy on 06-21-05 05:30 PM) (edited by The Great Guy on 06-21-05 05:30 PM) (edited by The Great Guy on 06-21-05 05:31 PM) (edited by The Great Guy on 06-22-05 05:29 PM) |
|||
Don Killmi Level: 8 Posts: 1/29 EXP: 1764 For next: 423 Since: 06-27-05 Since last post: 11 hours Last activity: 11 hours |
| ||
Whee! I managed to add a B-button dash, like the remake versions. I used the space freed when i removed that annoying noise that plays when you open/close a dialog window. Who would've thought that noise would come out usefull? -- I also added a way to class-change to any class. You put the character you want to change classes at the lead of the party. You talk to the Priest of Dharma/Bahamut/whatever Your character gets changed to the next base class. It follows the standart character order: Fighter -> Thief -> Black belt -> RedMage -> WhiteMage -> BlackMage. Now i need to find a way to make intelligence matter when casting spells. It wouldn't make sense to have a black belt cast NUKE with the same proficiency as a black mage. Does anyone know if magic is factored at all when casting spells? Has anyone made a working MP system (like the origins and GBA versions? It would make more sense than having class change with the spell charge system. Thanks in advance. |
Pages: 1 2 3 4 5 6 7 | Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
Acmlm's Board - I2 Archive - Rom Hacking - FF Hacking FAQ/Running Q&A | | | |