FCEUX breakpoints: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(clueless figured it out)
 
No edit summary
Line 8: Line 8:
# Click "Write"
# Click "Write"
# Memory: <code>CPU</code> (the default)
# Memory: <code>CPU</code> (the default)
# Condition: <code>R = #ee</code> if you don't know what CPU register is used for the write or <code>X = #ee</code> if you know it's X. The # is important; leaving it out will screw it up.
# Condition: <code>R == #ee</code> if you don't know what CPU register is used for the write or <code>X == #ee</code> if you know it's X. The # is important; leaving it out will screw it up.


== References ==
== References ==
*[http://nesdev.parodius.com/bbs/viewtopic.php?p=75485#75485 Forum post]
*[http://nesdev.parodius.com/bbs/viewtopic.php?p=75485#75485 Forum post]

Revision as of 19:39, 16 March 2011

Once upon a time, an NES programmer was trying to determine where in the code a screwed up value was being written to a specific memory location. Specifically, when the value $EE was being written to location $0028. To figure out what can be put into the "condition" text input field in the breakpoint dialog box, he dug into the source code for FCEUX and found the parser, whose grammar is listed near the top of the source file.

After the programmer had been staring at the problem for too long, a fox came and helped him.

  1. Address: 28
  2. Click "Write"
  3. Memory: CPU (the default)
  4. Condition: R == #ee if you don't know what CPU register is used for the write or X == #ee if you know it's X. The # is important; leaving it out will screw it up.

References