[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 6502 illegal opcodes questions
Bruce Tomlin wrote:
In article <b_2dnVaBwopOtvjZRVn-uQ@comcast.com>,
"Michael J. Mahon" <mjmahon@aol.com> wrote:
That was DMA for video RAM acces, right? If so, they just didn't get
how trivial it is to share RAM with a 6502--it only accesses RAM during
half the clock signal!
As I understand it, they actually halted the CPU for DMA so as to get
more memory bandwidth than "half the clock signal", and they needed to
know when the CPU had actually stopped so that they could start DMA.
This was also done on the Atari 7800.
Wow--they needed more than a megabyte/second of video data? I guess
if you have about the same resolution as an Apple II, but twice the
color depth, then you do... The //c and following Apple II's got
around this by providing another memory bank in parallel with the
main memory bank.
I've heard that in the original 400/800 they actually used a regluar
6502, but the extra signal allowed them to save all the external
circuitry that figured this out.
Of course, all 6502's had the RDY line that allowed a trivial amount
of glue logic to halt the CPU between instructions. (Of course, you
couldn't get away with this during a Disk ][ I/O on the Apple II, since
it would mess up the instruction timing.)
-michael
Music synthesis for 8-bit Apple II's!
Home page: http://members.aol.com/MJMahon/
"The wastebasket is our most important design
tool--and it is seriously underused."