Home

MAME source-debugging preview
Limitations

MAME

  • MAME source-debugging functionality is intentionally limited at first to the 6809 and CoCo-type machines. Gotta start somewhere, and hopefully this is just the first step.
  • lwtools may generate symbols with special characters that trip up MAME's expression evaluator (e.g., sizeof{Obstacle}). In such cases, you can see the symbol's value by running symlist 0, but cannot print it directly. More work needs to be done to determine if MAME's expression evaluator can support these without changing its rules that affect non-source-debugging expressions.

lwtools

While official lwtools is a mature product, the code I added to generate MAME debugging information is more of a prototype. There are known limitations and probably lots of unknown ones.

  • Symbols multiply defined with SET are not fully supported. You will likely see the symbol when debugging, but only one of the values it was set to will be present.
  • Local symbols are not supported at all. You will likely not even find them present in the debugger's symbol table. (Note: MAME source-level debugging does support local symbols; this is merely a limitation of my lwtools prototype.)
  • If you have a section with only symbol definitions but no code (e.g., a constant section), no MAME debugging information file will be generated for it. You will then get an error during lwlink when the missing file is suddenly needed. As a workaround, insert a dummy instruction like CLRA in that section to force generation of a debugging information file. This is actually illegal to do, according to the lwtools documentation, but seems to work ok as a temporary workaround. I am looking into a fix for this.

Other Pages