CPU power up state: Difference between revisions
From NESdev Wiki
Jump to navigationJump to search
m (Make footnotes wikiformat (and in the same place), make headings headings) |
Rainwarrior (talk | contribs) (→At power-up: reducing description of RAM startup state) |
||
Line 5: | Line 5: | ||
:A, X, Y = 0 | :A, X, Y = 0 | ||
:S = $FD | :S = $FD | ||
:$4017 = $00 (frame irq enabled) | :$4017 = $00 (frame irq enabled) | ||
:$4015 = $00 (all channels disabled) | :$4015 = $00 (all channels disabled) | ||
:$4000-$400F = $00 (not sure about $4010-$4013) | :$4000-$400F = $00 (not sure about $4010-$4013) | ||
:Internal memory ($0000-$07FF) has unreliable startup state. Some machines may have consistent RAM contents at power-on, but others do not. | |||
==After reset== | ==After reset== |
Revision as of 00:31, 6 October 2015
The following results are from a US (NTSC) NES, original front-loading design, RP2A03G CPU chip, NES-CPU-07 main board revision, manufactured in 1988. The memory values are probably slightly different for each individual NES console. Please note that you should NOT rely on the state of any registers after Power-UP and especially not the stack register and RAM ($0000-$07FF).
At power-up
- P = $34[1] (IRQ disabled)[2]
- A, X, Y = 0
- S = $FD
- $4017 = $00 (frame irq enabled)
- $4015 = $00 (all channels disabled)
- $4000-$400F = $00 (not sure about $4010-$4013)
- Internal memory ($0000-$07FF) has unreliable startup state. Some machines may have consistent RAM contents at power-on, but others do not.
After reset
- A, X, Y were not affected
- S was decremented by 3 (but nothing was written to the stack)
- The I (IRQ disable) flag was set to true (status ORed with $04)
- The internal memory was unchanged
- APU mode in $4017 was unchanged
- APU was silenced ($4015 = 0)
See also
Notes
- ↑ The golden log of nestest differs from this in the irrelevant bits 5 and 4 of P
- ↑ IRQ was first asserted about 1/60 second after power-up, by APU.