Talk:CPU power up state: Difference between revisions
From NESdev Wiki
Jump to navigationJump to search
No edit summary |
mNo edit summary |
||
Line 22: | Line 22: | ||
--[[User:Quietust|Quietust]] 16:40, 8 June 2011 (UTC) | --[[User:Quietust|Quietust]] 16:40, 8 June 2011 (UTC) | ||
== Detecting User Reset == | |||
Is there way using common mappers to check if power on or reset button pushed? --[[User:Zzo38|Zzo38]] 18:35, 10 September 2012 (MDT) | Is there way using common mappers to check if power on or reset button pushed? --[[User:Zzo38|Zzo38]] 18:35, 10 September 2012 (MDT) | ||
: Common practice seems to be "put a canary in memory, if it's still there assume warm (re)boot instead of cold boot. e.g., Galaxian puts the programmer's name in $0100-$010F, and if it's there on boot, it doesn't clear high scores or the easter egg counter.—[[User:Lidnariq|Lidnariq]] 19:47, 10 September 2012 (MDT) |
Revision as of 01:47, 11 September 2012
Parts of the APU which appear to be affected by reset (determined by tracing the reset signal throughout the chip):
- Square channel volume/envelope timer (not the reload value at $4000/$4004 bits 0-3) and counter (the actual volume output)
- Noise channel volume/envelope timer (not the reload value at $4008 bits 0-3) and counter (the actual volume output)
- Square channel frequency counter, including the 3 duty cycle bits
- Triangle channel frequency counter
- Noise channel frequency counter, sort of - it forces the LFSR input to 0, so a very short reset pulse might only partially clear it
- DPCM channel frequency counter, sort of - it forces the LFSR input to 0, so a very short reset pulse might only partially clear it
- Noise channel frequency ($400E bits 0-3)
- Square channel sweep counter
- All 4 length counters
- All 5 channel enables ($4015)
- Triangle channel linear counter (not the reload value at $4008)
- Triangle channel Position
- DPCM channel Sample Length counter (not the reload value)
- DPCM channel Position ($4011)
- DPCM channel Sample Buffer and Bit Counter
- DPCM channel Sample Address counter (not the reload value)
- DPCM channel state machine
- Sprite DMA address counter and state machine
- Part of the Frame Counter (notably, not the two writable bits of $4017)
- Debug register $401A bit 7
--Quietust 16:40, 8 June 2011 (UTC)
Detecting User Reset
Is there way using common mappers to check if power on or reset button pushed? --Zzo38 18:35, 10 September 2012 (MDT)
- Common practice seems to be "put a canary in memory, if it's still there assume warm (re)boot instead of cold boot. e.g., Galaxian puts the programmer's name in $0100-$010F, and if it's there on boot, it doesn't clear high scores or the easter egg counter.—Lidnariq 19:47, 10 September 2012 (MDT)