MAME Source Code: Yes, MAME is a fairly accurate representation of
the hardware, just as they state. You don't have to compile MAME in order
to use it as a tool (although compiling it in DEBUG mode can be helpful).
Looking in $/drivers directory for the appropriate source file can
save you a bit of time. You may have to search for the game that you are
working on (many games are grouped together in the same driver). But take
a look at a snippet of code from Space Dungeon:
ROM_START( sdungeon )
ROM_REGION( 0x10000, REGION_CPU1, 0 )
ROM_LOAD( "sd14.u14", 0xa000, 0x1000, 0x7024b55a )
ROM_LOAD( "sd15.u15", 0xb000, 0x1000, 0xa3ac9040 )
ROM_LOAD( "sd16.u16", 0xc000, 0x1000, 0xcc20b580 )
ROM_LOAD( "sd17.u17", 0xd000, 0x1000, 0x4663e4b8 )
ROM_LOAD( "sd18.u18", 0xe000, 0x1000, 0x7ef1ffc0 )
ROM_LOAD( "sd19.u19", 0xf000, 0x1000, 0x7b20b7ac )
You can see right there that there is a mapping of ROM u14 from $A000 (0xa000 or A000h or
however you like to represent hex values) and that size of the ROM is $1000. You're
just about halfway there.