How to make Nintendo DS emulator option example 2.


For example, consider DeSmuMe SVN r4120:


Nintendo DS MainRAM 02000000-023FFFFF 4Mb


We'll find a zero address on known address of parameter:

Game: Commando Steel Disaster (U)

Known address of parameter: Health (exact value) Integer 1 byte 022C7EB4

We need to find an equivalent PC address , then add to that address
-2C7EB4h, and we have got our zero address.

DeSmuME without a pointer to zero address (speed access to memory is faster without the pointer):, as well as those emulators:

Sony PlayStation - ePSXe

DreamCast, Sega Naomi 1/2, Sammy Atomiswave Demul (zero address fixed at 2C000000)


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

ArtMoney can select emulator options automatically when loading of ArtMoney table. You can view MD5 file hash in "Process Information" window.


Start the DeSmuMe emulator. Next, open the Process Information and check MD5 hash



Now run Commando Steel Disaster (U), wait until first mission is loading, then press Pause button. Exact value search (value is 99):

Lose your health, when a value was equal to 74. Then go back to ArtMoney, click the "Filter" button, enter value 74 and click OK button (1). Lose more health, so it was equal to 49. Click the Filter button, enter value 49 and click OK button (2). Lose more health, so it was equal to 19. (3) Enter value 19 and click OK button again.


We can easily determine our address of a player's health from remaining addresses. Now change value at this address to another value, I changed value to 99.

(1)   RMB at this address - "Copy" (Ins). (2) Next enter offset -2C7EB4h in "Plus" field, and click "Plus" button.

As a result, we obtain the emulator option:


DeSmuMe r4120;DeSmuME_VS2008.exe;N;85bbdc9f09dc38643c47dcbe498f369f

;MainRAM 4Mb;02000000;00D3FE30;400000


Emulator option contains a version of the emulator, MD5 checksum, EXE file name, bytes order, emulator virtual zero address (base address, start of RAM, RAM base), zero address 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


Commando Steel Disaster (U)

Windows 7

Duke Nukem Critical Mass (E)

Windows XP SP3: