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 -8456
h, 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,

NesFCEUX

PSX – PCSX Reloaded, PSXjin

SNES – SNES9X, SNES9X-ReRecording

DreamCastNullDC, 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 AtomiswaveDemul (zero address fixed at 2C000000)

SNES – Bsnes, ZSNESWin

NesVirtualNes (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