[comp.sys.atari.st] Screen memory format

MCCABE@MTUS5.BITNET (03/28/88)

Date:    27 March 1988, 13:56:33 EST
From:    Jim McCabe                                      MCCABE at MTUS5
To:      INFO-ATARI16 at SCORE.STANFORD.EDU
Subject: Screen memory format

I need to know what the format of the ST display memory is.  The Abacus
Internals book gives a completely different discription than the Compute!'s
VDI manual.  I tend to trust the Compute! publication more because it
sounds a lot more reasonable and intelligent. (Let's talk low-res here)

Compute!:  Each ADJACENT four BITS specify a number between 0 and 15
           that represents the color register used to plot that pixel.
Abacus:    Four contiguous memory WORDS specify the color of 16 pixels.
           To set a pixel, one must set a bit in each of the four words.
           "in order to set the point in the upper left-hand corner,
           the topmost bits of words $78000 (assume screen memory starts
           at 78000), $78002, $78004, and $78006 must be manipulated."

Like I said, the Abacus method doesn't sound very logical.
Which method is actually used?

Thanks in advance!

+-----------------------+-----------------------------+
|  Jim McCabe           |  BITNET:  mccabe   @ mtus5  |
|  G31 ECH MTU          |           jemccabe @ mtus5  |
|  Houghton, MI  49931  |    UUCP:  mccabe   @ m-net  |
+-----------------------+-----------------------------+

) (03/28/88)

>I need to know what the format of the ST display memory is.  The Abacus
>Internals book gives a completely different discription than the Compute!'s
>VDI manual.  I tend to trust the Compute! publication more because it
>sounds a lot more reasonable and intelligent. (Let's talk low-res here)
>
>Compute!:  Each ADJACENT four BITS specify a number between 0 and 15
>           that represents the color register used to plot that pixel.
>Abacus:    Four contiguous memory WORDS specify the color of 16 pixels.
>           To set a pixel, one must set a bit in each of the four words.
>           "in order to set the point in the upper left-hand corner,
>           the topmost bits of words $78000 (assume screen memory starts
>           at 78000), $78002, $78004, and $78006 must be manipulated."
>
>Like I said, the Abacus method doesn't sound very logical.
>Which method is actually used?

The less reasonable and intelligent method has been used
(to keep the hardware simpler and/or faster, I believe). 

Natuerlich!
--------------------------------------------------------------
Loveletters & Hatemail to : wallman@yalecs     
                 Files to : WALLMANN@CTSTATEU  (Bitnet)
--------------------------------------------------------------

wheels@mks.UUCP (Gerry Wheeler) (03/29/88)

In article <8803271924.AA18903@ucbvax.Berkeley.EDU>, MCCABE@MTUS5.BITNET writes:
> I need to know what the format of the ST display memory is.  The Abacus
> Internals book gives a completely different discription than the Compute!'s
> VDI manual.  I tend to trust the Compute! publication more because it
> sounds a lot more reasonable and intelligent. (Let's talk low-res here)
> 
> Compute!:  Each ADJACENT four BITS specify a number between 0 and 15
>            that represents the color register used to plot that pixel.
> Abacus:    Four contiguous memory WORDS specify the color of 16 pixels.
>            To set a pixel, one must set a bit in each of the four words.
>            "in order to set the point in the upper left-hand corner,
>            the topmost bits of words $78000 (assume screen memory starts
>            at 78000), $78002, $78004, and $78006 must be manipulated."
> 
> Like I said, the Abacus method doesn't sound very logical.
> Which method is actually used?

The illogical method is the one that is used.  In low res mode, you have
to visualise the memory as sets of four words.  The corresponding bits
in each of the words are the four bits that specify the entry in the
palette.  For example, if the words are:

	1xxxxxxxxxxxxxxx	$78000
	0xxxxxxxxxxxxxxx	$78002
	1xxxxxxxxxxxxxxx	$78004
	1xxxxxxxxxxxxxxx	$78006

then the bits of the first pixel are 1011.

To switch your brain into medium res, just remember that the memory is
used in sets of two words, again with corresponding bits making up one
pixel. 

-- 
     Gerry Wheeler                           Phone: (519)884-2251
Mortice Kern Systems Inc.               UUCP: uunet!watmath!mks!wheels
   35 King St. North                             BIX: join mks
Waterloo, Ontario  N2J 2W9                  CompuServe: 73260,1043

unpowell@csvax.liv.ac.uk (04/18/88)

In article <429@mks.UUCP>, wheels@mks.UUCP (Gerry Wheeler) writes:
> The illogical method is the one that is used.  In low res mode, you have
> to visualise the memory as sets of four words.  The corresponding bits
> in each of the words are the four bits that specify the entry in the
> palette.  For example, if the words are:
> 
> 	1xxxxxxxxxxxxxxx	$78000
> 	0xxxxxxxxxxxxxxx	$78002
> 	1xxxxxxxxxxxxxxx	$78004
> 	1xxxxxxxxxxxxxxx	$78006
> 
> then the bits of the first pixel are 1011.

The bits of this pixel are, in fact, 1101. ($78000 is the least significant
word, whereas $78006 is the most). So the colour in pallette 1101=13 (dec.) will
be displayed for this pixel.
 
********************************************************************************

 "...there's no success   JANET unpowell@uk.ac.lis.csvax
  like failure and        UUCP  {backbone}!mcvax!ukc!mupsy!lis-cs!unpowell
  failure's no success    ARPA  unpowell%csvax.lis.ac.uk@nss.cs.ucl.ac.uk
  at all..." B.Dylan

********************************************************************************