For those of you hacking in MAME/MESS, I thought I'd share some info on the debugger's expression syntax. This info was found in the source comments at http://mamedev.org/source/src/emu/debug/express.c.html.
[regionname].[physical/logical][space][size]@[address][op][value]
regionname - the name of the memory region you are manipulating. A lot of times this is called maincpu.
physical/logical =
'p' = physical
'l' = logical
Valid physical spaces are program, data, IO, and space3. Default is logical.
space
'p' = program
'd' = data
'i' = IO
'3' = space3
'o' = opcode
'r' = ramwrite
'm' = region
size
'b' = byte
'w' = word
'd' = dword
'q' = qword
addresses and values, when no prefix is used, are seen as hexadecimal. The same goes for a '0x' or '$' prefix. You can specify decimal numbers by prefixing with a '#'.
Pretty much all of the standard operators can be used, whether for assigning or conditionals. The precedence is defined at the top of the source file at the link above.
[regionname].[physical/logical][space][size]@[address][op][value]
regionname - the name of the memory region you are manipulating. A lot of times this is called maincpu.
physical/logical =
'p' = physical
'l' = logical
Valid physical spaces are program, data, IO, and space3. Default is logical.
space
'p' = program
'd' = data
'i' = IO
'3' = space3
'o' = opcode
'r' = ramwrite
'm' = region
size
'b' = byte
'w' = word
'd' = dword
'q' = qword
addresses and values, when no prefix is used, are seen as hexadecimal. The same goes for a '0x' or '$' prefix. You can specify decimal numbers by prefixing with a '#'.
Pretty much all of the standard operators can be used, whether for assigning or conditionals. The precedence is defined at the top of the source file at the link above.
Comment