Sorry for the delay, bart2465.
This basic guide about how to create .pat files is based on what ichfly has posted so far in the thread.
What do the patches do? I have no idea.
If some option isn't mentioned, it's because its purpose isn't clear to me or we've been told to ignore it.
Step 1 - VBA
Step 2 - Patcher.exe.
KNOWN BUGS:
Tha patcher doesn't disable the 'dump Anzeiger' window after you click on a line to open the 'ADD' window, so try to avoid clicking on another entry (or even the same one) and opening a second 'ADD' window by mistake and not knowing which is which.
Everytime you hit 'Apply' a new patch is added, so be careful and only press it once and when you're really sure everything is correct. There's no undo option. One mistake and you'll have to close the program and start again from scratch.
The program may crash randomly when you click on a line to add a patch. Good luck with that!
This basic guide about how to create .pat files is based on what ichfly has posted so far in the thread.
What do the patches do? I have no idea.
If some option isn't mentioned, it's because its purpose isn't clear to me or we've been told to ignore it.
Step 1 - VBA
- Run that modified VisualBoy Advance and open your ROM. Let it run for a little time, like until the title screen, or, according to ichfly, until the point it slows down in gbaemu4ds (maybe works if it crashes there too?)
- Press F12 to take a screenshot. A file called results.ichfly will be saved in the screenshots folder (or your rom folder if you haven't changed the settings)
Step 2 - Patcher.exe.
- Run patcher.exe.
For 'GBA Datei', click Open and select your ROM.
For 'IPS Datei, click Open and select your results.ichfly
If the patcher loaded the GBA file without any error message, tick the box 'change sp'.
Now Press 'show patch'.
A window called 'dump Anzeiger' appears.
- First of all, check the value in 'Max PC'.
If it's higher than 8300000, then the game simply won't work in gbaemu4ds and you can quit right now.
- Each entry in the list has 3 values. The 1st one is where the instruction was in memory and the 3rd one is how many times it was executed.
You need to add patches for all instructions that have been executed over 100 times.
- To start making a patch, you have to click on one of the entries in the list.
Ignore the checkboxes, they don't work right now.
Click on a line. You'll see a new window called 'ADD'.
- Now you have to select an offset in the listbox in the left side and pick 2 registers (Used 1 and Used 2) that aren't being used by that instruction
To find out which registers to pick, you have to take a look at the Visualboy Advance that's running your game and go to Tools > Disassemble.
- Take the instruction's offset (first of the 3 values) of that entry you selected in 'dump Anzeiger', write it in the empty field in the emulator's Disassembler window and hit 'Go'.
You'll land at the instruction.
Now you can see which registers are being used (r1, r2, r3, etc..).
In the 'ADD' window you just pick 2 that aren't mentioned in the instruction.
- If there's more than one offset in the listbox, you have to open 2 Memory Viewer windows in VisualBoy Advance (Tools > Memory Viewer) side by side.
In one you jump to the instruction's offset (remember, first of the 3 values).
In the other you jump to the first offset in the 'ADD' listbox. Compare the values you see. If everything matches, it's the correct choice. If the values are different, try the next one.
- After you're sure of everything, you can hit 'Apply'.
CLICK 'APPLY' ONLY ONCE. The patcher doesn't have any kind of check for repeated patches, nor can remove a patch. If you hit the button more than once, you'll add multiple copies of the patch and end up with a corrupted .pat file. - There's no way to know what patches you've already added, so you'd better take notes of everything you do just is case something goes wrong.
- Now all you have to do is press 'Generate' to save your .pat file.
The patcher will pop up an error message saying that results.ichfly is 'not an ips file'... but you can just ignore that.
If the game has graphic glitches, you can select one of the .ccc files as the 'HB Datei' before generating the pat file.
Which one to choose? I have no idea. You can just generate multiple pat files, selecting a different .ccc file each time, anyway.
KNOWN BUGS:
Tha patcher doesn't disable the 'dump Anzeiger' window after you click on a line to open the 'ADD' window, so try to avoid clicking on another entry (or even the same one) and opening a second 'ADD' window by mistake and not knowing which is which.
Everytime you hit 'Apply' a new patch is added, so be careful and only press it once and when you're really sure everything is correct. There's no undo option. One mistake and you'll have to close the program and start again from scratch.
The program may crash randomly when you click on a line to add a patch. Good luck with that!