From: jerry@msi.com (Jerry Shekhel)
Subject: Re: Screens Unique to Amiga? (Was Re: CBM mention on 12/11)
Organization: Molecular Simulations, Inc.
Date: Wed, 23 Dec 1992 17:37:41 GMT
X-Newsreader: TIN [version 1.1 PL8]
X-Posted-From: hemi.msi.com
NNTP-Posting-Host: sol.ctr.columbia.edu

MJ Gumbley (u2d92@seq1.keele.ac.uk) wrote:
:
:   Just let's clear things up. The Amiga's graphics co-processor processes a
: PROGRAM called a COPPER LIST. This is a list of instructions (effectively)
: telling the video hardware what graphics mode to use for each scanline,
: (and probably sub-division of a scanline). You tell the video hardware
: where the video memory is, and what resolution to display it in, then issue
: a WAIT command, telling the co-processor to keep displaying in the current
: mode until you reach a certain position on the screen, where you can change
: resolution etc., again. 
:
:   This is how SCREENS work on the Amiga. You change the X and Y co-ordinate
: of the WAIT command. (There's a bit more to it....)
:
:   The 8-bit Atari COULD do this as well; the ANTIC chip operated in a very
: similar way to the Amiga's co-processor. The co-processor program was
: called a DISPLAY LIST. The work involved in rewriting the display list
: would be more complex, but it could be done.
:

100% accurate.  Bravo.

:
:   Perhaps someone can fill me in with the real story regarding the IBM
: world. AS FAR AS I KNOW, AND I MAY BE WRONG, the VGA does not use a copper
: list/display list, cannot change resolution on the fly, and doesn't have
: display list interrupts. Therefore, (again, I may be wrong here) you will
: not see screen handling capabilities similar to an Amiga, on a PC.
:

You are right; there are no Copper/display lists on a VGA, which is basically
a simple device.  Here's what a VGA can do.  A VGA can contain the data for
several screens of different resolutions in its on-board video memory, and
switch between them instantaneously.  The data for a screen may start at any
point within that memory.  It's also possible to set up the CRT controller
such that the data for each scan line is read from an arbitrary (but fixed)
offset from the previous one; this feature allows for virtual screens, and
hardware panning (in both directions) allows using the physical screen as a
window into a larger virtual screen.  It is not possible to change the
palette, the resolution, or the pixel data address in the middle of the
screen, with one exception -- it is possible to set up a single scan line on
the screen at which the pixel data address is reset to zero.  This provides a
limited split screen capability, mostly useful for status panels in games.
Theoretically, this feature could provide two Amiga-like draggable screens,
provided that those screens are of the same resolution, of course. 

Thanks, Matt, for posting real information, and for asking a question
without entering sarcasm mode.

:
: Matt J. Gumbley              || Still needs a good signature, not liking
:
--
+-------------------+----------------------------+---------------------------+
| JERRY J. SHEKHEL  | Molecular Simulations Inc. | Time just fades the pages |
| Drummers do it... |     Burlington, MA USA     | in my book of memories.   |
|    ... In rhythm! |        jerry@msi.com       |         -- Guns N' Roses  |
+-------------------+----------------------------+---------------------------+