Camtech's Assembly Patcher?


#1

I was trying to install the Array Based Weapon Locks Hack and found that it needed Camtech’s assembly patcher. The dropbox link provided in the readme is broken, so would anyone be willing to give me a link to this thing?


#2

@CT075
(Yes Discourse, this is a post.)


#3

It’s one of these, although I can’t tell you which one to actually use. When in doubt, use the one that isn’t marked “old” (although I haven’t touched either of these in years) and ask if you need assistance. I thought I fixed all the links when I moved my doc, but I guess not.


#4

I was actually trying to do the same thing, but I am a little confused on how to use the patcher as I have never used it before, the one other assembly hack I applied so far I inserted manually. Venno’s readme for the hack mentions needing a script for the game and I don’t know what that is referring to. I think it might be the other text file in the download but I couldn’t drag it onto the run.py file to run the patcher. Then I tried to go through the patcher manually, so I loaded the rom and the text file as the “patch” but I got an error saying the patch was not formatted properly. I got the same error trying the dmp file too. The link to the patcher here does not include a readme btw (I think it may have had one initially but it is not there)


#5

Oh yeah man I couldn’t figure it out either so I just gave up lol.


#7

what steps did you try exactly? i don’t remember ever writing a readme but as far as i know every project that used that patcher included manual instructions


#8

so yeah there are instructions for the patch but I wasn’t able to completely follow them. The relevant instructions are:

-Move your ROM, the ‘Lock.dmp’ file, and the appropriate script file for the game you’re using into
the same folder as the Assembly Patcher.
-Rename your ROM to ‘fe7.gba’ if using FE7, or ‘fe8.gba’ if using FE8. If you can’t see the .gba
extension on your ROM already, don’t add it in.

-Drag the script file onto ‘run.py’.
-Now a command line will ask you twice where you want to place the hack. Input the offset of the
free space you’re using (without adding 0x8000000) both times.
-The offset you choose MUST be word-aligned (ie divisible by 4).
-When it’s done, enter in ‘quit’ or close the command line.

I wasn’t sure what the script file was because that was the only mention of it, but I assumed it was the other text file in the folder (which if you look at it, it definitely looks like it could be a script). So I followed the first step completely, but I couldn’t drag the text file onto run.py to start the program.

So then I ran run.py by itself and typed:

open fe7.gba
load Adv_Weapon_Locks.txt
process

and I got this message:

Address: 0x5f206665
Bytes to skip: 1597392198
Size: 0x52450a10
Error: Patch not formatted properly.


#9

the command isn’t load; i believe what you’re looking for is run


#10

I don’t think it worked. Searching for the hex of the patch in the ROM returns nothing. The program printed a bunch of text and then closed immediately before you could read it. Also, you may want to consider writing a readme to let people know that command exists because the help command inside the program doesn’t mention it.


#11

there’s a help command (as mentioned in the welcome text); the intention was that people use it

i also haven’t touched this program in years and don’t really intend to pick it back up now

searching for the full contents of the patch is also not correct; the patch format includes some metadata that wouldn’t be included into the ROM itself, along with the fact that assembly patches are generally not written as one contiguous blob of data.

sanity check: which version of python are oyu using


#12

I did use it, if you read what I said, it doesn’t mention a run command, only open, load, process, close, and quit. I’m on python 2 atm because I didn’t put python 3 on this computer yet (it’s older). The reason I searched for the contents of the patch is because the readme says that I need to find the string EEEEEEEE and replace it with a pointer but there are multiple EEEEEEEEs in the ROM and I don’t know where the patch was placed because I wasn’t able to set it myself like I was supposed to because the program never prompted me.


#13

are you sure you’re using the python 2 version of the program? i vaguely remember the python 3 version being the more recent one, but i can’t imagine that venno’s patch used anything that isn’t supported

can you try running the script from a full terminal (not just the cli that pops up when running run.py) and telling me what the errors are?

EDIT:

I downloaded the zip for myself and it seems that @Venno has removed the assembly patcher script but forgot to update the instructions. The file Adv Weapon Locks.txt is meant to be included in an Event Assembler buildfile project (I’d strongly recommend using an EA buildfile over the AP anyway, as the AP is an old piece of junk)


#14

I’ll try that. I’ve never used one before though so can I just use that text file as the buildfile and put that in EA? And then replace the pointer in “#define LockPointerTable 0xEEEEEEEE” with my pointer and assemble? Or do I need to do something else?

EDIT:

That didn’t work. can you explain how to make a proper build file or direct me to somewhere where I can find out?


#15

try this