Edit.: sorry removed for correction..
Announcement
Collapse
No announcement yet.
ArtMoney Foreve
Collapse
X
-
Tags: None
-
How to make emulator options – part 1.
How to find zero addresses with the built-in memory editor.
At first, please read this page: http://artmoney.ru/manual/english/emul.htm
For example, we use the freeware GBA emulator - VisualBoy Advance 1.7.2 re-recording v19.5.
We need to find two zero addresses:
02000000-0203FFFF On-board WorkRAM 256kB
03000000-03007FFF In-chip WorkRAM 32kB
0423 - Desert Strike Advance (U) for a finding of zero 02000000 address
0223 - Army Men - Operation Green (U) for a finding of zero 03000000 address
Now start the game 0423, wait when mission begins (in a place before launch from an aircraft carrier - why there, I I will explain later), in game it is not carried out any actions, we pause the game, further VBA – Tool – Debug – Memory viewer, from the dropping out list it is chosen WRAM as on a screenshot:

After in ArtMoney we search for sequence of 20 bytes (do not forget at input of hexadecimal values in ArtMoney to add h after number), Type Integer 1 byte:


We receive this result:

We found the zero address 035A0000, we need to search for the pointer to this address:

Results of search should be filtered, before it to save the filtration in a file:

Now there are two variants of filtering – or to restart Windows and once to filter pointers on value of the zero address (here is 232), or to restart only the emulator two times as it is explained by ArtMoney developers. I have chosen the 2nd. We restart the emulator, rom, we put a pause in the same place before launch from an aircraft carrier and again we do search of the zero address – as to you now it becomes clear, values of these required addresses will be same.
English translation of the note from ArtMoney developers (sorry approximate):
Take the first pointer in list and even better, that it was in module EXE.
File EXE is loaded usually to 400000 address, then memory region (address range) 000000 - 400000 is operating system region. Pointers from this region usually are not true.
However file EXE can be loaded and to other address, therefore it is better
to look through a process map, or to try convert the address in
the address in module. Open a window of editing of the address and to change "address" on
"Adress in module". If the module is not exist, converting will fail.
We check it:


Just in case we check and through process map:

Now we add found pointer in the file artmoney.emul (P – pointer) in the GBA section:
Also it is is final checked at first on this, and then and on other games using for storage of values this block (for example Terminator 3, Dead To Rights). It is not forgotten to restart the emulator for check. Half-affairs it is made. Now we open rom 0223 and we repeat procedure, it is clear that now we search in block IRAM (03000000-03007FFF). I had it:Code:VisualBoy Advance 1.7.2 re-recording v19.5;VisualBoyAdvance.exe ;WRAM 256Kb;02000000;P006A0040;40000

In our case necessary address first, on it we search for the pointer (to adress 037B9C0C the pointer is not present in general), it is not forgotten to filter pointers two times, having restarted the emulator twice. As a result we have it:
Emulators option are ready to use.Code:VisualBoy Advance 1.7.2 re-recording v19.5; VisualBoyAdvance.exe ;WRAM 256Kb; 02000000; P006A0040; 40000 ;IRAM 32Kb; 03000000; P006A0048; 8000
Comment