Jump to content
Aleph

Hexware

Recommended Posts

It could be! I have no idea. It's kind of wasteful to put in work to help people without making sure they're actually helped though.

Share this post


Link to post
Share on other sites

Well it's working for me. I got the music, items/money, lightning, earthquakes, scripted battle etc all going fine

Share this post


Link to post
Share on other sites

Crap, I forgot to ask if you could make a version of the hack that's inserted at 0x10C0000 for me. Sorry, it's been a busy week. :(:

Edited by Agro

Share this post


Link to post
Share on other sites

Agro.dmp

00 00 00 08 B8 AF 04 08 00 00 00 00 08 00 00 00 00 48 00 47 01 00 0C 91 00 00 0C 91 00 00 00 00 B4 01 00 00 67 48 00 68 01 89 01 20 08 40 00 28 04 D1 01 48 00 47 C0 46 D5 AF 04 08 FF B4 15 6B AD 78 62 48 00 7B C0 46 80 B4 05 27 BE 46 01 4F FE 44 38 47 0D 8D 01 08 80 BC 07 68 3F 79 04 1C 28 1C C0 46 80 B4 05 27 BE 46 01 4F FE 44 38 47 0D 8D 01 08 80 BC 06 68 36 79 05 1C F0 B4 20 1C 31 1C C0 46 80 B4 05 27 BE 46 01 4F FE 44 38 47 0D 68 02 08 80 BC 32 30 21 5C 32 38 02 B4 01 B4 01 1C 20 1C 80 B4 05 27 BE 46 01 4F FE 44 38 47 45 67 02 08 80 BC 02 BC 02 B4 20 1C 80 B4 05 27 BE 46 01 4F FE 44 38 47 95 66 02 08 80 BC 04 1C 03 BC 32 30 21 54 00 25 3B 48 14 E0 0A 1C 41 78 BA 42 01 D1 B1 42 03 D0 B9 42 0B D1 B2 42 09 D1 01 2C 00 D1 45 68 02 2C 00 D1 85 68 03 2C 0E D1 C5 68 0C E0 10 30 41 68 00 29 05 D1 81 68 00 29 02 D1 C1 68 00 29 51 D0 01 78 00 29 DE D1 00 2D 4C D0 2A 48 85 61 F0 BC 28 1C 39 1C 80 B4 05 27 BE 46 01 4F FE 44 38 47 0D 68 02 08 80 BC 01 1C 28 1C C0 46 80 B4 05 27 BE 46 01 4F FE 44 38 47 79 67 02 08 80 BC 28 1C 39 1C C0 46 80 B4 05 27 BE 46 01 4F FE 44 38 47 0D 68 02 08 80 BC 01 1C 28 1C C0 46 80 B4 05 27 BE 46 01 4F FE 44 38 47 45 67 02 08 80 BC 20 1C 31 1C C0 46 80 B4 05 27 BE 46 01 4F FE 44 38 47 0D 68 02 08 80 BC 01 1C 20 1C C0 46 80 B4 05 27 BE 46 01 4F FE 44 38 47 45 67 02 08 80 BC FF BC 05 48 00 47 F0 BC FF BC 04 4B 18 47 F8 57 B8 08 48 02 0C 91 5C A8 03 02 DD AF 04 08 C5 AF 04 08 4C A8 04 08 00 00 00 00 08 00 00 00 00 49 08 47 B5 01 0C 91 B4 01 0C 91 00 00 00 00 28 00 00 00 06 49 89 69 00 29 01 D0 05 49 08 47 01 89 01 20 08 40 00 28 F8 D1 03 48 00 47 C0 46 5C A8 03 02 57 A8 04 08 71 A8 04 08 7C A8 04 08 00 00 00 00 08 00 00 00 00 48 00 47 DD 01 0C 91 DC 01 0C 91 00 00 00 00 2C 00 00 00 00 2A 01 D1 07 48 00 47 04 48 80 69 00 28 00 D0 03 4A 05 48 86 46 20 1C 29 1C 70 47 5C A8 03 02 8D 1F 02 08 A7 A8 04 08 85 A8 04 08 D8 84 07 08 00 00 00 00 08 00 00 00 00 4E 30 47 09 02 0C 91 08 02 0C 91 00 00 00 00 30 00 00 00 09 0C 00 26 1E 61 07 48 80 69 00 28 06 D0 58 60 08 20 98 60 0E 20 D8 60 04 48 00 47 02 48 86 46 18 20 70 47 5C A8 03 02 E1 84 07 08 FF 84 07 08 38 02 0C 91 00 00 00 00 10 00 00 00 03 B4 02 48 00 21 81 61 03 BC 70 47 5C A8 03 02 48 02 0C 91 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Share this post


Link to post
Share on other sites

Yeah that doesn't work, I get error: null when I try to use it (and I don't when I use the vanilla support hack, so...)

Share this post


Link to post
Share on other sites

Just tried using it now, and as I suspected, it didn't work, since copying and pasting the .dmp gives the game no indicator of a function to call. I also tried searching for the pointer that the hack would replace (01 00 D0 08) and matching it to my own, which also didn't work and caused the game to freeze when I tried to use "support" (unsurprisingly). I think there's more than one pointer that needs to be replaced. This is why I need our dear friend Aleph to re-assemble the source for me, rather than just copying and pasting data to one address.

Edited by Agro

Share this post


Link to post
Share on other sites

Well that's what I did, I reassembled the source after changing the allocated data from 0x8D00000 to 0x910C0000

Share this post


Link to post
Share on other sites

there are multiple addresses that are derived from the org used

it'd probably be best to give him the actual dmp output from compiling the source (i can guarantee you that that copypasta isn't the complete output just based on the data patterns)

Share this post


Link to post
Share on other sites

The .dmp for the Assembly Patcher doesn't all go to one place. The entire point of the Assembly Patcher is to decode the location information from the .dmp so that the various hack parts go where they need to.

Share this post


Link to post
Share on other sites

Well, if you look in the source, it's obvious that there's more than just data at D00000 that gets overwritten.

@Origin
.long 0x0804AFB8
 
[...]
 
bll 0x08026744
 
[...]

etc.

Edited by Agro

Share this post


Link to post
Share on other sites

Nothing, but the resulting dmp is not a continuous block of code; it isn't a direct c/p

Just give him the .dmp file

Edited by CT075

Share this post


Link to post
Share on other sites

http://dl.dropboxusercontent.com/u/336940/Software/Hextator%27s%20Doc/Media/Games/Reverse%20Engineering/Console/NGBA/Fire%20Emblem/Apps/FEditor%20Adv/asm/FE7/Event%20Supports/folDIR.html

Updated with ".default" files (assmebled to 0x08D00000); the regular files are now assembled for 0x090C0000.

For the record, BLL is a macro I wrote that is short for "branch long with link". It calls other code. The code it references in your example is not affected by the hack. In fact, if another hack were to affect that code then this hack wouldn't work.

Also note that I moved the hack directory into the FEditor source code with the other assembly hacks I've written.

Edited by Aleph

Share this post


Link to post
Share on other sites

Oh, my bad. Thank you! The page is getting 404'd though, I think it might still be updating D:

Share this post


Link to post
Share on other sites

I should mention that since there's 2 .dmp files now that go to different locations, a smart individual with a functional hex editor (apparently mine isn't one) can use a "Difference" operation to highlight the changes between the files and easily modify all relevant values for updating the hack to be placed elsewhere without needing any other tools than a hex editor.

This is possible of course because I was smart and wrote a BLL macro to do calls using absolute addresses

Try it again. It works for me.

Edit: What about the "Support Lv. Increased" dialog? We still doing that?

Edited by Aleph

Share this post


Link to post
Share on other sites

Alright, everything seems to be working fine! This is really great, seriously. Event!Supports are gonna allow much more flexibility with just about everything.

Honestly, the dialog is not overly important, but it would be a nice touch. Do you know if it would take very long to replicate it?

Share this post


Link to post
Share on other sites

Can you do one for me at 0x1200000 please?

Can't you assemble it? If you can't, try changing the .dmp directly by comparing the differences in the .dmp files for the 2 versions posted.

Share this post


Link to post
Share on other sites

no

what i said is that there are multiple places where the data allocation needs to be changed if you're just editing the hex

(alternately you can just change the source and re-assemble which is far safer)

Edited by CT075

Share this post


Link to post
Share on other sites

What? Cam was talking about pasting the .dmp file into the ROM, which wasn't ever how it was intended to be used, or changing the .dmp file manually for use with the Assembly Patcher, which is difficult but doable. He never said you couldn't re-assemble it with the allocation address changed. That is in fact the entire purpose of the allocation address in the source file. Changing that value and re-assembling is how I produced the new .dmp to begin with.

I think you guys are overcomplicating things by worrying about things being complicated. If you accept that things are simple and assure yourself that you're thinking of them incorrectly if it seems complicated then you will realize not only that things are not complicated, but how they work as well. Trust me - I've seen plenty of smart people think dumb things because they are intimidated. You are giving this stuff too much credit. Us dumbass humans invented these things so they can't be all that complex. Just think of whatever would be easiest for you - that is probably how it is.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...