Documentation for commands expressions

If you are having problems finding or using cheats for an Emulator (particularly MAME/MESS) or have found a trick that you wish to share this is the place to do it. But please read the Cheat FAQ first.
Post Reply
Posts: 27
Joined: Wed Nov 08, 2006 8:31 am

Documentation for commands expressions

Post by pasky13 » Wed May 04, 2011 12:08 pm

I just recently learning from pugsy you can write to ROM memory using maincpu.ox

Is there any documentation on the cheat engine, such as main.cpupx, main.cpumx etc...? I can't seem to find it on the MESS/MAME debugger wiki.

User avatar
Posts: 3444
Joined: Fri Aug 17, 2001 12:59 am
Location: North Wales, UK.

Re: Documentation for commands expressions

Post by Pugsy » Wed May 04, 2011 8:07 pm

What's not in the debugger help system you can find in the source, and there's load of examples in the cheat files as these debugger commands are what are used in the XML cheat files to provide the cheats. But to answer your question...


1. maincpu: This is the tag of the CPU whose memory you want to poke, maincpu is in 99% of cases the tag you will need

2. p : This is the memory space that needs to be poked, there are 7 possibilities p/d/i/3/o/r/m (they won't all work for all games)
p = program write (most RAM cheats need this)
m = region write (most ROM cheats use this)
r = RAM write (use this for ROM cheats if m doesn't work or for RAM cheats if p doesn't work)
o = Opcode Write (use this for ROM cheats if m and r don't work - often used for encrypted memory )
d = data write (don't think I've ever used this)
i = i/o write (don't think I've ever used this)
3 = SPACE3 write (I've definitely never used this)

3. b : memory size of what's being poked, there are four possibilities b (byte), w (word=2 bytes), d (doubleword=4 bytes) or q (quadword=8 bytes)

I'm sure you can work out that 10BEEF is the address and 0x0F is what's being poked.

Note, the pb part above can be preceded by p (physical) or l (logical/default) if p/d/i/3 memory spaces are being poked - it's a rare occurrence to need 'p' and it's normal just to drop l for physical so eg. maincpu.pb rather than maincpu.lpb .

Servicing your cheating needs since 1985 ;-)

Grab the latest cheat collection:
MAME 0.221 XML cheat collection 19 JUNE 2020) from or direct from:- ... (ZIP Archive 3.66MB)

Post Reply