[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 6502 illegal opcodes questions



> 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.

The Atari and C64 use an official maximum of 8K RAM for the frame
buffer. The C64 has an additional kilobyte for color information which
is accessed in parallel, AFAIK. So they are comparable to an Apple
without double-hires mode.

The Atari has some possibilities to double the memory by page flipping
but this halves the screen refresh rate. Its also possible to change
the video mode in the middle of a scan line - but this results only in
a different "color interpretion" of the memory cells, not actually
"more" memory cells.

The C64 supports some advanced trickery to do some more colors than
initially thought and officially advertised but this is again more for
static displays.

I can't really speak technically for the C64 but in the case of the
Atari the situation is more complicated than in a "standard" Apple: The
video processor (ANTIC) really takes over the system for the time it
halts the 6502.

You see, ANTIC really is an, albeit very very simple, processor: It has
its own instructions, programs (called display lists) and memory. In
fact in can access the complete RAM, ROM and even the custom chip
register area of the system. This means that you can for example
display a "live view" of the zero page and stack with memory cells
changing all the time...

So I guess Atari chose to keep it simple in making this "multiprocessor
system" work by stopping the 6502 for the moment when ANTIC needs to
maintain the display.

The effect was quite drastic on performance so they clocked the 6502
much higher than in the Apple or C64 system (1,78 MHz). In the end all
three systems were comparable in speed when using the same video
resolutions or text mode.
When ANTIC is switched off the computer is indeed much faster - a
feature of the popular fractal generators of the time.

> 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.)

The Atari and C64 could - with careful programming - even use clean
display interrupts (to change colors or the scroll registers on the
fly) while accessing the disk. But that's mainly due to the more
intelligent disk drive designs - and the slow disk accesses...

bye
Marcus