Register | Login | |||||
Main
| Memberlist
| Active users
| ACS
| Commons
| Calendar
| Online users Ranks | FAQ | Color Chart | Photo album | IRC Chat |
| |
Acmlm's Board - I2 Archive - - Posts by giangurgolo |
Pages: 1 2 3 |
User | Post | ||
giangurgolo Level: 10 Posts: 21/42 EXP: 3346 For next: 1068 Since: 06-04-05 Since last post: 31 days Last activity: 22 days |
| ||
I guess I meant to ask if there's any software out there that can do en masse base converting, since I don't have any knowledge of one existing. I don't have VB6 on my machine, though, if I wanted to create one of my own, but thanks for the help. |
|||
giangurgolo Level: 10 Posts: 22/42 EXP: 3346 For next: 1068 Since: 06-04-05 Since last post: 31 days Last activity: 22 days |
| ||
this doesn't really have anything to do with level-editing, but I threw together a monster/battle script chart which includes every significant monster stat ripped directly from the ROM, their stat offsets and battle script offsets and a table of battle scripts for every monster I guess it might make hacking a bit easier for anyone who wishes to edit those sorts of things. |
|||
giangurgolo Level: 10 Posts: 23/42 EXP: 3346 For next: 1068 Since: 06-04-05 Since last post: 31 days Last activity: 22 days |
| ||
I don't know what I contrived that information from, but those offsets have nothing to do with the death animation...they're parts of Bowyer's and Machine Made Axem Black's battle scripts. For whatever reason I had the idea that they were somehow connected to it, which they actually aren't in any way, and put it in the offset list. Ignore it. I believe I did at one point find out how to effect the coin animation after killing a monster, but I didn't record the info so I'd have to search through another trace log to find it. I never did find the code for the fade out and 'coin fountain' effect. |
|||
giangurgolo Level: 10 Posts: 24/42 EXP: 3346 For next: 1068 Since: 06-04-05 Since last post: 31 days Last activity: 22 days |
| ||
haha yeah, I just found that out too Just recorded that info into nfo_stats.txt. The trace log showed the entrance style bits being ROL'd and I noticed the RAM address was the coin animation value, so I realized the correlation. Also, I've added some new documentation for the special attacks and monster stats, since there were a few errors there. The "special defense" byte (byte 11) is more appropriately the special attribute...if bit 0 is set, the enemy doesn't die until the battle script manually removes it from battle. This is for the bosses, which don't fade out/die until the attacker returns to their battle position. I've also found the pointers for the death animation assignment...check out the ffsets.txt>offsets list for the location (350202 - 350401). These also affect the floating status of the monster, and each floating style/death animation style combination has a different pointer (there are a couple of different floating styles). I've nearly deciphered every battle command in the battle scripts except one or two (FC 10 ?? ?? for example) so here it is. (edited by giangurgolo on 07-21-05 10:14 PM) (edited by giangurgolo on 07-21-05 10:14 PM) (edited by giangurgolo on 07-21-05 10:15 PM) (edited by giangurgolo on 07-21-05 10:15 PM) (edited by giangurgolo on 07-21-05 10:16 PM) (edited by giangurgolo on 07-21-05 10:23 PM) (edited by giangurgolo on 07-21-05 10:24 PM) (edited by giangurgolo on 07-21-05 10:26 PM) |
|||
giangurgolo Level: 10 Posts: 25/42 EXP: 3346 For next: 1068 Since: 06-04-05 Since last post: 31 days Last activity: 22 days |
| ||
FC 10 00 ** is the command that checks if a target ** is alive...since Mario's character byte is 00 here if you change it to, say, FC 10 00 02 it checks if Bowser is alive if he is, then it goes ahead with the one-on-one script even if Mario is dead...however, Mario is uncontrollable afterwards since he is dead, as there aren't any commands in the script and it subsequently glitches just figured this out BTW EDIT: I think I've pretty much decoded every battle script function except two: FC 08 ** ** and FC 13 ** ** which are only used by like two monsters I think Shy Ranger and Bahamutt, and a dummied monster which is the little brown bird from Star Egg or something some additions, mostly just bytes for different targets (check the target: ** function) and a few modifications for accuracy, have been added to the battle script doc other than those two monster-exclusive functions I mentioned above, pretty much every single function is documented and anyone can create their own convoluted battle script with it EDIT: the battle script documentation is fully complete! those last two functions were formation checks and status ailment checks; also found another unused function which can check the HP of ANY target (including characters)...limitation is that it only uses multiples of 16, since one extra byte is needed for targetting and there is only one byte available for HP here is the list of script functions, here is an MS Word doc with every single monster script, with all functions tagged (in html) and here is the full archive of every doc I've created for the SMRPG ROM (edited by giangurgolo on 07-24-05 02:41 AM) (edited by giangurgolo on 07-28-05 11:48 AM) (edited by giangurgolo on 07-28-05 11:48 AM) (edited by giangurgolo on 07-28-05 07:53 PM) |
|||
giangurgolo Level: 10 Posts: 27/42 EXP: 3346 For next: 1068 Since: 06-04-05 Since last post: 31 days Last activity: 22 days |
| ||
both SMRPG and FF3 use 'F0 xx xx xx' where the pairs of xx's are three random spells from which it chooses one to cast so I imagine FF5 would most likely follow the same routine check out this place: http://www.tenchinohoukai.greatnow.com/FF5.html actually, looking through that, it looks like FD xx xx xx is the 1 of 3 random spells function (edited by giangurgolo on 08-03-05 07:11 PM) |
|||
giangurgolo Level: 10 Posts: 28/42 EXP: 3346 For next: 1068 Since: 06-04-05 Since last post: 31 days Last activity: 22 days |
| ||
7E:091C-0924 menu option 1-9 00 Equip 01 Item 02 Special 03 Status 04 Special Item 05 Map 06 Star Pieces 07 Switch 08 Game changing the addresses to any of these values changes the menu option...I didn't find anything leading to what you might refer to as a debug menu, but there were a couple of peculiar (although probably redundant) results the text you found isn't in the same bank as the regular menu text, so it may very likely be accessible in some other manner edit: not that this thread has much to do with this, but the reason the menu is inaccessible in Bowser's Castle (1st time) is because 00:3112 is set at #$EF (value loaded somewhere in bank 1F; each level has this option), which, then multiplied by 4 (#$BC, in which bit 6 is NOT set) and the X-button register (copied to from 00:4218, the hardware register, where the X-button bit is bit 6) is AND'ed by it, producing 00, thus telling the processor not to open the menu if you want to access the menu in Bowser's Castle, just set 00:3112 to #$FF, which is the value used by the other normal areas (edited by giangurgolo on 08-06-05 08:32 PM) (edited by giangurgolo on 08-06-05 08:33 PM) |
|||
giangurgolo Level: 10 Posts: 28/42 EXP: 3346 For next: 1068 Since: 06-04-05 Since last post: 31 days Last activity: 22 days |
| ||
I've found the event data:1FD0A4 Bowser's Keep, Area 2, encounter Terrapins blocking door Here's the event field mapping code: 20E40C Bowser's Keep, Area 2 Bank $20Exxx is full of pointers and their data which is mostly comprised of music assignments (only if the music changes...if it remains as the current SPC, then you must add your own code to change it) and I'm guessing event block mapping. As you can see it's pretty simple...second byte pair points to the special event (in this case, encountering the two Terrapin at the door), and maps the coordinates. It seems the event block field is defaulted to a long single row of invisible horizontal planes that span across a small distance. Unfortunately, it's not this simple with other areas, for example, I've worked with the field in Moleville with the Bowser's Troop scene and I can't seem to find anything...yet. |
|||
giangurgolo Level: 10 Posts: 29/42 EXP: 3346 For next: 1068 Since: 06-04-05 Since last post: 31 days Last activity: 22 days |
| ||
I've found the timing data for the Super Jumps, and I imagine the timing for the rest of the spells and weapons is in the same bank. This is definite, and I am completely confident that the timing for all jumps after jump 14 is EXACTLY the same (using breakpoints it loaded from the same location each jump after the 14th). Two identical values are used for the 14 different ranges; see the description for each in the first range. If someone wants to change the range for the jumps, then they would need to change both values to have it work properly. Also, Ultra Jumps are included in this document, and the ranges a little wider at first but shrink down to 2 frames at jump 17, which is why it is very difficult to go any further because of the various cooridinates of multiple monsters and the speed of the jumps (individual jumps are longer than the Super Jumps, but Mario falls a lot faster). here is the document Some of the freebie timers (ie.odds of getting a freebie for disposable items) are located a little further down in the same bank. Most of the code before and after the timing data is spell and attack animation code (for monsters) and the later code after is spell animation code (for allies). I've done a bit of work with this stuff and it's rather complicated, but I've managed to go so far as to combine two spells animations into one, and change the sounds. http://giangurgolo.home.att.net/smrpg/ is a complete listing of all information and documents I've written over the last year, so check there as a reference source for any hacking info you might be looking for (edited by giangurgolo on 08-11-05 06:53 PM) (edited by giangurgolo on 08-12-05 07:22 PM) (edited by giangurgolo on 08-12-05 07:46 PM) (edited by giangurgolo on 08-15-05 01:54 AM) (edited by giangurgolo on 08-15-05 01:59 AM) (edited by giangurgolo on 08-15-05 02:02 AM) |
|||
giangurgolo Level: 10 Posts: 30/42 EXP: 3346 For next: 1068 Since: 06-04-05 Since last post: 31 days Last activity: 22 days |
| ||
Originally posted by Spekkio you can change the palette set in the BG layout data check nfo_areamaps.txt at the bottom which lists the battlefield layout data since the palette itself is comprised of blue tints and the like there isn't anything that changes the BG palette to 'underwater' like the monsters and characters if you want to fix it so that the monster and characters don't use the underwater palette, just change the 0x78 at address: C2/88DE A9 78 00 LDA #$0078 A:0000 X:4080 Y:001C ;underwater palette pointer to 0x00 and they will retain their original palettes |
|||
giangurgolo Level: 10 Posts: 31/42 EXP: 3346 For next: 1068 Since: 06-04-05 Since last post: 31 days Last activity: 22 days |
| ||
I've found it. enter this code: C106AF80 Engage in battle and press start to access the menu. There is a music test, sound effect test, sprite viewer, and more. Press B to cancel. $C1/069E AF 14 30 00 LDA $003014[$00:3014] A:0002 X:0002 Y:2600 ;load button register (START = 1000) Apparently it branches only if both of these particular accumulators (00:FFAC and 00:FFAE) are equal to zero, since one OR's the other. Since I don't know of any other way to access this menu other than to use this code, I suspect these addresses always have a bit set somewhere to prevent this branch. (edited by giangurgolo on 08-20-05 04:42 PM) (edited by giangurgolo on 08-20-05 04:46 PM) (edited by giangurgolo on 08-20-05 05:19 PM) (edited by giangurgolo on 08-20-05 07:07 PM) |
|||
giangurgolo Level: 10 Posts: 32/42 EXP: 3346 For next: 1068 Since: 06-04-05 Since last post: 31 days Last activity: 22 days |
| ||
Originally posted by ShadowSonic I made a trace log during a battle menu access (pressing Y, X, etc.) and searched the log file for any code which was within close proximity of the text. It was just a matter of playing around with the branch instructions to find it. BTW, to access the other shorter menu with MAGIC, LASTER, BGLASTER use these two codes along with the other code I posted: C106D2F3 C106D307 (edited by giangurgolo on 08-20-05 07:16 PM) |
|||
giangurgolo Level: 10 Posts: 33/42 EXP: 3346 For next: 1068 Since: 06-04-05 Since last post: 31 days Last activity: 22 days |
| ||
my mistake, those aren't accumulators they're indexed ROM addresses (in LoRom) at offsets $007FAC and $007FAE, and changing those four bytes to zeros breaks the debug menu lock it's directly above the embedded cartridge information also, pressing SELECT during a battle exits the battle (edited by giangurgolo on 08-20-05 09:31 PM) |
|||
giangurgolo Level: 10 Posts: 34/42 EXP: 3346 For next: 1068 Since: 06-04-05 Since last post: 31 days Last activity: 22 days |
| ||
Originally posted by HyperHacker are you implementing the codes in HiRom? e.g. C07FAC00 not 007FAC00, since these are ROM addresses and not RAM I noticed the only way to quick exit the battle with select is by zeroing out these offsets with a hex editor/PAR codes. The menu access PAR code (C106AF80) doesn't enable it. The values in the 'Scene' option comply directly to the formation byte. I've already documented a complete list of monster formations, so no need to go through hours of work. (edited by giangurgolo on 08-21-05 12:47 AM) |
|||
giangurgolo Level: 10 Posts: 35/42 EXP: 3346 For next: 1068 Since: 06-04-05 Since last post: 31 days Last activity: 22 days |
| ||
I've documented all palette offsets of almost every object (000 - 23F) and the mold offsets and sprite animation pointers. Also, the offset document has been organized and optimized for better viewing. That last unknown byte in the monster stats was just the magic evade, and only applies to spells like Terrorize, Sleepy Time, and the other few that don't have 100% hit rate. The stats guide is now 99% complete save for two bits in the magic stats in byte 1 which I haven't found any effect of. Other than that, I'm pretty sure it's all you would need to create a perfect monster stats editor. I overhauled the battlescript chart, which should be immaculate now. NOTE: Exor is actually protected against instant death (ie. Geno Beam) but a command in his battlescript , along with breaking his protection from the Eye, nulls the protection bit in his stats thus making him vulnerable to mortal infliction. I've recorded a lot of ASM code into the two documents here. People might find it interesting I don't know. If there are any questions just ask! (edited by giangurgolo on 09-07-05 02:13 AM) (edited by giangurgolo on 09-07-05 02:13 AM) |
|||
giangurgolo Level: 10 Posts: 36/42 EXP: 3346 For next: 1068 Since: 06-04-05 Since last post: 31 days Last activity: 22 days |
| ||
All of the data available from the debug menu has been documented (sound effects were the only thing I didn't have at that point). So far the SCENE option to choose any formation at any time in battle has been very useful, and the OBJ has helped with the palette documentation. Don't think I did all of those one by one, though, because I ripped the data straight from the ROM and had to do several modifications with search/replace in MSWORD and Hex WS (AND'ing and adding in correlation with the code). Instead of the monotonous task of recording each individually from trace log observations (which for the monsters, BTW, were all read by the SA-1 which doesn't have breakpoint support). Also, here's the code to unlock the quick exit battle option (with SELECT): C28EFA05 Holding L and/or R while pressing SELECT executes the ending credit sequence. On the Exor bug, I'm not sure about a bugfix because I haven't even heard of any other versions other than one other bad dump and a bunch of translations. It's not really much of a bug, but rather one simple overlook in the coding. Here's the problem just FYI:
bit 1 is the death protection bit, so it's isolating the other bits from it nulls its effect...so changing the AND #$FFFC to AND #$FFFE should fix it (TEST: yep, that fixes it) (edited by giangurgolo on 09-07-05 04:09 PM) |
|||
giangurgolo Level: 10 Posts: 37/42 EXP: 3346 For next: 1068 Since: 06-04-05 Since last post: 31 days Last activity: 22 days |
| ||
I made a little ASM hack here, with four new custom items (three are equipment). Apparently there are still several errors, especially with the Relay Flag. I'll try to relocate the new code to a place where it doesn't re-execute it again for whatever stupid reason. I might add even more items or add effects of the current custom items, since there are still some unused dummy items. There's a little 'bug' with this patch, though, and you'll notice once you exit/win a battle the Kuribo's Shoe loses its effect. Just open/close the menu to reactivate it. I'll probably fix this later, but this is just an example of my knowledge of ASM so far in this game so it's not up to par. Included is a ZST savestate to test the items. (edited by giangurgolo on 09-09-05 07:35 PM) (edited by giangurgolo on 09-09-05 07:36 PM) (edited by giangurgolo on 09-10-05 02:10 PM) |
|||
giangurgolo Level: 10 Posts: 38/42 EXP: 3346 For next: 1068 Since: 06-04-05 Since last post: 31 days Last activity: 22 days |
| ||
You can't buy them; the save state has them in the inventory. Just apply the patch, load the game, and load the ZST. Look in the equipment & item inventories for the items. | |||
giangurgolo Level: 10 Posts: 39/42 EXP: 3346 For next: 1068 Since: 06-04-05 Since last post: 31 days Last activity: 22 days |
| ||
The ZST needs to be the same name as the rom and must be in the same directory as the rom or whatever save directory is specified by zsnes.cfg. Make sure you apply the patch before loading the state. Okay, I've fixed the Kuribo's Shoe problem. I only had it load the accessory from character slot 1, which for many reasons is changed during battle, thus changing Mario's character slot to 3. Now it checks all three slots to see if it is equipped. Redownload the patch for the fix. (edited by giangurgolo on 09-09-05 09:33 PM) |
|||
giangurgolo Level: 10 Posts: 40/42 EXP: 3346 For next: 1068 Since: 06-04-05 Since last post: 31 days Last activity: 22 days |
| ||
The Rubber Shoes are supposed to load a 30 frame range between Super/Ultra Jumps thus making them remarkably easier to execute. Make sure you're patching a headerless rom, although I doubt you weren't since I haven't heard of any that actually have headers, and you probably wouldn't have even been able play half the game without crashing/locking up. Also make sure you're using the latest WIP of ZSNES. I didn't have any problems you mentioned with Kero Sewers/Pipe Vault. Neither with Mario disappearing unless you're referring to the problem with ZSNES, when Mario enters an area that displays a sign at the top of the window he disappears until the sign goes away. What was equipped when you were having the errors, if you wouldn't mind telling? Thanks for the feedback! (edited by giangurgolo on 09-10-05 12:23 PM) (edited by giangurgolo on 09-10-05 12:23 PM) (edited by giangurgolo on 09-10-05 12:35 PM) (edited by giangurgolo on 09-10-05 12:36 PM) (edited by giangurgolo on 09-10-05 12:38 PM) |
Pages: 1 2 3 |
Acmlm's Board - I2 Archive - - Posts by giangurgolo |