New Game entry point ($C01F—C020)
C01F: 1A 50 ORCC #$50 Disable hardware interrupts
This is identical to $0000
, which disabled all hardware interrupts (i.e. disabled all keyboard/joystick inputs). Nothing new there, but $0000
has just been run; the more interesting question is, why are we repeating it?
To me it suggests that this is a subroutine entry point which we'll jump back to later, from a point at which hardware interrupts are probably not disabled. If we search the code for $001f
we see that this is true:
C3AB: 16 F6 E3 LBRA $001F Branch to $001F
By running the game in the debugger, we can see that $001F
is executed when:
- We first turn on or reset the machine (via execution from
$0000
) - We start a new game by selecting a skill level from the start screen (via branching from
$0939
)
Written on January 25, 2015