ok, voyage of discovery, ran across a whle bunch of stuff, but you may enjoy this all from Atariage.com....
6502 programming hacks...
http://www.atariage.com/forums/index.ph ... opic=71120
Loads of 6502 hacks in a forum
-
Nightmaretony
- In Memoriam
- Posts: 618
- Joined: 27 Jun 2003
- Location: Meadowbrook
- Contact:
Loads of 6502 hacks in a forum
"My biggest dream in life? Building black plywood Habitrails"
Another AtariAge topic I participated in...
http://www.atariage.com/forums/topic/14 ... mi-timing/
Although the original 6502 documentation states that an NMI pulse only needs to be 2-cycles to be acknowledged, this isn't true if an IRQ happens at the same time. Most systems hold /NMI longer (or until cleared by software) but Atari's Antic does two cycles only and this can lead to lost NMI's when IRQ's are enabled.
Extending NMI to 8 cycles solved the problem, so another small 6502 bug for the list (although I don't yet know how many cycles it must actually be, I've proven it's 8 or less).
-Bry
http://www.atariage.com/forums/topic/14 ... mi-timing/
Although the original 6502 documentation states that an NMI pulse only needs to be 2-cycles to be acknowledged, this isn't true if an IRQ happens at the same time. Most systems hold /NMI longer (or until cleared by software) but Atari's Antic does two cycles only and this can lead to lost NMI's when IRQ's are enabled.
Extending NMI to 8 cycles solved the problem, so another small 6502 bug for the list (although I don't yet know how many cycles it must actually be, I've proven it's 8 or less).
-Bry
- BigDumbDinosaur
- Posts: 9428
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
Re: Loads of 6502 hacks in a forum
Nightmaretony wrote:
ok, voyage of discovery, ran across a whle bunch of stuff, but you may enjoy this all from Atariage.com....
6502 programming hacks...
http://www.atariage.com/forums/index.ph ... opic=71120
6502 programming hacks...
http://www.atariage.com/forums/index.ph ... opic=71120
- GARTHWILSON
- Forum Moderator
- Posts: 8775
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
Quote:
Extending NMI to 8 cycles solved the problem, so another small 6502 bug for the list (although I don't yet know how many cycles it must actually be, I've proven it's 8 or less).
GARTHWILSON wrote:
Quote:
Extending NMI to 8 cycles solved the problem, so another small 6502 bug for the list (although I don't yet know how many cycles it must actually be, I've proven it's 8 or less).
If I had to guess, I'd say I believe this and the BRK bug are due to the simple nature of the interrupt logic that can lose a transitory event while in certain set-up states.
In the linked thread, someone tried a 65C02 in an 800 and the problem went away so I agree that the 65C02 is fixed.
- GARTHWILSON
- Forum Moderator
- Posts: 8775
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
Quote:
used Atari's modified "Sally" 6502C (the main difference is a tri-state address bus, and some extra clock control to reduce parts count)
kc5tja wrote:
That's because both of those chips are NMOS. The 65C02 is not the 6502C. 
Anyway, the problem is annoying but we came up with a couple work-arounds. I'm actually surprised that it wasn't well-documented a long time ago (in Atari circles, that is...)