How to make NeoGeo emulator option.
For
example, consider Final Burn Alpha 0.2.97.10
http://www.barryharris.me.uk/files/fba_029710.zip
NeoGeo WorkRAM is 100000-10FFFF (64Kb)
We'll find a zero address on known address of parameter:
Game:
Sengoku 3 http://www.artmoney.ru/tables/NeoGeo/Sengoku%203.amt
Known
address of parameter: Time (exact value) integer 1 byte 00108456
We need to find
an equivalent PC address , then add to that address
offset -8456h, and we have got our zero address.
FinalBurn Alpha, FBA Plus, FBA Shuffle, FBA-ReRecording new versions uses module addressing,
as well as those emulators:
Sega
Saturn – SSF
Gamecube/Wii – Dolphin
GBA – VBA-RR, VBA-M etc,
Nes – FCEUX
PSX – PCSX Reloaded, PSXjin
SNES – SNES9X, SNES9X-ReRecording
DreamCast – NullDC,
NullDC Optimized
Sega Model 3 - Supermodel
You have to create emulator options with module addressing for these
emulators:
3DO – FreeDO, 4DO
Dos - DosBox
Multisystem – MESS, MAME (Contains a debugger with memory editor that is useful to find a zero addresses)
Other
emulator options with pointer
to zero address regularly tested for two different
Windows versions, if pointer will not work on any version of Windows, it will also be converted to a module addressing.
The following emulators without a pointer
to zero address (speed access to memory is faster without the pointer):
PC
Engine/Turbografx/CD – Mednafen
SSony PlayStation - ePSXe
DreamCast,
Sega Naomi 1/2, Sammy Atomiswave – Demul (zero address fixed at 2C000000)
SNES – Bsnes, ZSNESWin
Nes – VirtualNes (older versions), puNes, Bsnes, Nintendulator 0.975 beta
9-12-11
Nintendo
64 – 1964, emu-1964 (zero address fixed at 20000000)
PC
Engine/Turbografx/CD – Mednafen,
PCEjin
Arcade emulator
ZiNc (Capcom ZN1/ZN2 based
on PSX hardware)
Wonderswan Color, NeoGeo
Pocket/Color - Mednafen
Killer
Instinct 1/2 – Ultra64 emu
Atari
Jaguar – Jagulator
Atari
8-bit, Atari 5200 - Altirra
and others.
Emulators with “Pointer-to-pointer structure” - Sega Model 2 emu (thanks
to ArtMoney developers) ,
GB/GBC emulator TGB Dual, Multisystem emulator Mednafen
in Atari Lynx emulation mode, and Atari ST emulator SainT.
ArtMoney can select emulator options
automatically when loading of ArtMoney table. You can
view MD5 file hash in "Process Information" window.
Start
the Final
Burn Alpha emulator.
Next, open the Process Information and check
MD5 hash
Now run
Sengoku 3, wait until first level is loading, then press Pause button. Exact
value search (value is 60):
Take off
pause for one second, when value was equal to 59. Enter value 59 and click OK
button (1)
We can easily determine address of a timer from two remaining addresses. (2) RMB at this address - "Copy" (Ins). (3) Next enter offset -8456h in "Plus" field, and click "Plus" button. (4) Next, run the search for pointer to the zero address with a module addressing – (5) note “Use module addressing” and “Scan only static addresses in modules” when searching.:
We get
pointer in the FBA.EXE module. We need address in module:
As a result, we
obtain the emulator option:
Final Burn Alpha v0.2.97.10;fba.exe;N;e8d939293fb19e2b5a1b8f9b12f64e65
;RAM 64Kb;100000;FBA.EXE+P00DAFF20;10000
Emulator
option contains a version
of the emulator, EXE
fie name,
bytes order, MD5 checksum,emulator virtual zero address (base address,
start of RAM, RAM base), and
a module name, address in
module/pointer and size of this memory
area
It's
necessary to test
emulator
option on games
in two different Windows versions. I made
this emulator option in Windows 7 , check the option on the XP SP3
Sengoku 3
Windows 7
Shock Troopers – Second Squad Windows XP SP3
http://www.artmoney.ru/tables/NeoGeo/Shock%20Troopers%20-%202nd%20Squad.amt