Via:      UK.AC.EARN-RELAY; 16 OCT 89 11:45:47 GMT
Received: from UKACRL by UK.AC.RL.IB (Mailer X1.25) with BSMTP id 1761; Sun, 15
          Oct 89 05:28:38 BS
Received: from CEARN.cern.ch by UKACRL.BITNET (Mailer X1.25) with BSMTP id
          0454; Sun, 15 Oct 89 05:28:36 B
Received: by CEARN (Mailer R2.03B) id 8655; Sun, 15 Oct 89 05:28:30 GVA
Date:     Sat, 14 Oct 89 15:00:10 MDT
Reply-To: INFO-ATARI16@MIL.ARMY.WSMR-SIMTEL20
Sender:   INFO-ATARI16 Discussion <INFO-A16@EARN.DEARN>
Comments: Warning -- original Sender: tag was INFO-A16@MARIST
From:     INFO-ATARI16-REQUEST@MIL.ARMY.WSMR-SIMTEL20
Subject:  INFO-ATARI16 Digest V89 #521
Comments: To: INFO-ATARI16@WSMR-SIMTEL20.ARMY.MIL
 
INFO-ATARI16 Digest         Sat, 14 Oct 89       Volume 89 : Issue 521
 
Today's Topics:
                           1040 ST for sale
                  520STFM FOR SALE   (w/many xtras)
                             Event multi
                         Laser C and TOS 1.4
                             Laser C bugs
            TOS 1.4, memory chips, T16...and the Mega2 STs
              Wanted: Info on DEGAS picture compression
----------------------------------------------------------------------
 
Date: 13 Oct 89 05:28:56 GMT
From: att!drutx!druks!jamesc@ucbvax.Berkeley.EDU  (CochraneJT)
Subject: 1040 ST for sale
 
I have a 1040 ST that I no longer need since I'm now
using a Mega 2.  It's in good condition, runs fine
and has been very reliable.  It includes the standard
double sided drive and 1 meg memory, but no monitor.
I would like $400 for it.
 
If you are interested or have questions about it, I can
be reached at home (most) weekday nights and on weekends at
	303-449-3315
or, if you prefer, you can send me e-mail.
 
 
Jim Cochrane
 
jamesc@druks.ATT.COM
att!druks!jamesc
 
------------------------------
 
Date: 14 Oct 89 20:21:58 GMT
From:
 gem.mps.ohio-state.edu!uakari.primate.wisc.edu!aplcen!haven!adm!smoke!geoffs@tu
t.cis.ohio-state.edu  (Geoffrey Sauerborn )
Subject: 520STFM FOR SALE   (w/many xtras)
 
FOR SALE:	Color Atari 520STFM SYSTEM w/RAM board upgrade.
				     (also w/PC DITTO and 5 1/4" floppy!)
				     (software and over 50 disks!)
 
	$600 plus shipping.
 
	Atari 520STFM system includes:.
	  Color monitor  (SC1224).
	  EZRAM II board - 1 to 2.5 meg RAM upgrade.
	  Late model (only 2 years old)-(Rev.H) includes Television RF output.
	  External SS    400K SF354	  3 1/2" floppy disk drive.
	 *NEW External DS/DD 360K I.B. DRIVE  5 1/4" floppy disk drive.*
	  TOS in ROM, Atari Basic, DR Logo., and of course GEM in ROM & mouse.
 
	Lots of software
	   Utilities:
	       *PC DITTO*
		PRINTMASTER PLUS
		HIPPO WORD
		ST LEDGER
		Original Atari Development System Documentation & Utilities.
		 (plus C Compiler updated to ver 4.14 1986).
	   GAMES
	   	FLIGHT SIMULATOR II (Plus east coast Scenery Disk 7).
		HARRIER STRIKE MISSION (needs $5 disk replacement).
 
 
	I will through in:
	   OVER 50 disks!!! PD or Shareware software. Archived and indexed.
		includes:
		UNITERM(using now),MICROEMACS 3.91/4,Compilers,Drawing...more.
		HACK,LARN,RISK,MONOWARE,WHEEL OF FORTUNE,... too many to name.
		3 Flip File dust cover 3.5 disk storage containers.
		16 256K DRAM chips (enough for 1meg upgrade).
		   [ Some of these chips are flakey so they are not
		     included with the RAM board.   I don't have a
		     chip tester to pick out the bad ones.  Maybe it
		     can be done in software? ]
		All items shipped in original boxes with manuals.
--
---> geoffs@brl.arpa	-or-	geoffs@smoke.brl.mil
--
 
------------------------------
 
Date: 14 Oct 89 09:10:54 GMT
From: agate!stew.ssl.berkeley.edu!ericco@ucbvax.Berkeley.EDU  (Eric C. Olson)
Subject: Event multi
 
Once again I'm trying to make GEM AES do something useful.  Its
now quite late, and the situation looks grim ...
 
Is it possible to check the state of EITHER mouse button using
event_multi?  Or any other (documented) routine?
 
I have found that specifying  0x3 for the bstate parameter and
0x3 for the bmask parameter only matchs button chords.  How do
I tell event_multi to wait for a left OR a right mouse click
(or both)?
 
Thanks in advance,
Eric
 
 
 
Eric
ericco@ssl.berkeley.edu
 
------------------------------
 
Date: 14 Oct 89 02:51:14 GMT
From:
 gem.mps.ohio-state.edu!ginosko!shadooby!mailrus!jarvis.csri.toronto.edu!utgpu!w
atmath!julian!uwovax!7103_300@tut.cis.ohio-state.edu
Subject: Laser C and TOS 1.4
 
In article <8028@microsoft.UUCP>, w-darekm@microsoft.UUCP (Darek Mihocka)
 writes:
> [ some very accurate comments on Laser ]
>    ... I just
> stick to assembler for now while somebody writes a decent C compiler for
> the ST.
 
I agree with you on Laser; it had promise, but the buggy code generation,
incomplete library, and weird disk cache eventually caused me to give
up on it. Fortunately, there is an alternative; the GNU C Compiler. It's
a huge memory pig (you really need 2 megabytes to run it) but it produces
very good code, is ANSI compatible, and now comes with an (almost) ANSI
and Unix compatible library. And the price is right... it's free! (Source
is available too, and it's being actively supported by the Free Software
Foundation). The current version is 1.36, available from dsrgsun.ces.cwru.edu
and (I think) terminator.
--
Eric Smith
ersmith@uwovax.uwo.ca
ersmith@uwovax.bitnet
 
------------------------------
 
Date: 14 Oct 89 08:43:52 GMT
From: ubc-cs!grads.cs.ubc.ca!horsch@beaver.cs.washington.edu  (Michael Horsch)
Subject: Laser C bugs
 
In article <8044@microsoft.UUCP> w-darekm@microsoft.UUCP (Darek Mihocka) writes:
 
[some gripes about Laser C... The ones I am addressing are not
 edited out (how's that for being contrapositive!)]
 
>          The C code generation has some problems when you get
>pointers to structures containing pointers, etc.
 
	I have never had this one, and I've been messing
	around a lot with objects, and structures which
	contain pointers to objects, and linked lists of
	trees whose nodes point to objects, and...
 
>                                                 What also irritates
>me is that if you have a string constant and you forget to put in the
>closing quotation marks, it crashes.
 
	Not this either. I always forget to close qoutes. Sometimes
	I forget the difference between " and '. I only get
	compiler errors.
 
>                                     All of these bugs have been present
>since Megamax C, I keep reporting them, and they keep ignoring them or
>telling me they're fixed. That's pissing me off to no end, because otherwise
>I like the package a lot.
 
	Keep reporting them. I would too, if I found any. But mostly
	I find my own bugs. No implication implied.
 
>
>The disk cache tends to mess up when you are low on RAM and compiling a
>large program (i.e. more than one module or more than a "hello world"
>skeleton).
 
	I assume the parenthetical remark to be slightly sarcastic, but
	your argument about low RAM behaviour makes sense to me (I
	have a Mega2, so this is never a problem). I agree
	with an earlier posting in which you suggested that
	the cache be optional.
 
>Sure the cache is great if you're compiling off floppy, but you're not going
>to develop a large project on floppy.
 
	Why not? The disk cache and RAM resident tools make this
	completely reasonable. A little painful at the start of
	a programming session (and after unrecoverable errors),
	for sure, but certainly not completely unthinkable.
	Especially for those (i.e. me) who (perhaps) misguidedly
	purchased a machine with more RAM instead of a hard disk.
 
	I am not a real C programmer, that is, I don't spend months
	working on real projects (in fact, I'm a Prolog hacker
	`by trade' :-) and my Mega2 is somewhat ignobly
	reduced to a real slow terminal for most of its use)
	so I consider one-floppy development adequate for my
	medium sized hacks ---but only with the cache, etc.
>
>- Darek
 
Mike ("By trade?" --Well, it beats working for a living!)
--
Michael C. Horsch       Disclaimer: I'm not thinking for anyone else but
horsch@cs.ubc.ca                    me; I'm having enough trouble as it is!
 
Dept. of Computer Science
University of British Columbia
--
If you don't waste time with your friends, you're just wasting your time.
--
 
------------------------------
 
Date: 14 OCT 89 11:32:06 CST
From: Z4648252 <Z4648252%SFAUSTIN.BITNET@ricevm1.rice.edu>
Subject: TOS 1.4, memory chips, T16...and the Mega2 STs
 
    Can anyone shed some light preparing a Mega2 ST that has six ROM
sockets for use with the T16 and upgrading the Mega2's memory to four meg?
    I've been reading conflicting data about what brand and speed memory
chips to use if one wants to use the T16.  I've also been reading that
the T16 is happier if used with fast ROM, that is, copying the original
TOS 1.4 EPROM into faster EPROM chips.
    Also, should the older 'Atari' blitter be replaced with the newer?
    Incidentally, the 74LS373 chips have been replaced.  I had problems
with Spectre until they were.
    SIGH...this is a terribly worded letter.  Basically, I'm only
asking:
 
1.  What memory chips should be used for upgrading the ST2 to a ST4
    if used with the T16?
2.  Should the chipped TOS 1.4 be transferred to fast EPROMS to gain
    maximum results from the T16?
3.  Should the Atari blitter be replaced with the newer?
4.  Yes, the 74LS373 chips have been replaced.
 
Larry Rymal:  |East Texas Atari 68NNNers| <Z4648252@SFAUSTIN.BITNET>
 
------------------------------
 
Date: 14 Oct 89 20:00:49 GMT
From: pasteur!cory.Berkeley.EDU!jlemon@ucbvax.Berkeley.EDU  (Jonathan Lemon)
Subject: Wanted: Info on DEGAS picture compression
 
In article <23086@cup.portal.com> Bob_BobR_Retelle@cup.portal.com writes:
>Wayne Schellekens asks:
>
>>Does anyone have any information as to how DEGAS compresses its
>>picture files?
>
>His file "ST Picture Formats" may be available on the ST archives, or I know
>it's available on CompuServe.. (since I uploaded it there)
>
Also right here.
 
 
                           ST Picture Formats
                           ------------------
                              Compiled by:
                              Dave Baggett
                         (arpanet: dmb@TIS.COM)
 
                   (Please report errors or additions)
 
                              CONTRIBUTORS
 
            Phil Blanchfield    David Brooks    Neil Forsyth
              Ken MacLeod     Darek Mihocka    George Seto
               Joe Smith    Greg Wageman    Gerry Wheeler
 
 
                        Introductory information
                        ------------------------
word    = 2 bytes
long    = 4 bytes
palette = Hardware color palette, stored as 16 words.  First word is
          color register zero (background), last word is color register
          15.  Each word has the form:
 
          Bit:  (MSB) 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 (LSB)
                      -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
                       0  0  0  0  0 R2 R1 R0  0 G2 G1 G0  0 B2 B1 B0
 
          R2 = MSB of red intensity
          R0 = LSB of red intensity
 
          G2 = MSB of green intensity
          G0 = LSB of green intensity
 
          B2 = MSB of blue intensity
          B0 = LSB of blue intensity
 
          Intensity ranges from 0 (color not present) to 7 (highest
          intensity).
 
          Example: ? red = 7, green = 3, blue = 5 ? -> 0735 (hex)
 
          Caveat:  It is wise to mask off the upper four bits of each
                   palette entry, since a few programs store special
                   information there (most notably Art Studio).
 
 
                             The Formats
                             -----------
 
<NEOChrome>
 
1 long          resolution (0 = low res, 1 = medium res, 2 = high res)
16 words        palette
12 bytes        filename ("        .   ")
1 byte          Left color animation limit (starting color number)
1 byte          Right color animation limit (ending color number)
1 byte          color rotation speed
1 byte          color rotation direction
1 word          color rotation duration (number of iterations)
18 longs        reserved for expansion
16000 words     picture data (screen memory)
-----------
32128 bytes     total
 
 
<NEOChrome Animation>
 
NOTE:      To get this feature on versions 0.9 and later select the Grabber
        icon and click the right mouse button in the eye of the second R in
        the word GRABBER.
 
1 long          magic number BABEEBEA (hex) (seems to be ignored)
1 word          width of sprite in bytes (always divisible by 8)
1 word          height of sprite in scan lines
1 word          size of sprite in bytes + 10 (!)
1 word          x coordinate of sprite (must be divisible by 16) - 1
1 word          y coordinate of sprite - 1
1 word          number of frames
1 word          animation speed (larger means slower)
1 long          reserved; should be zero
--------
44 bytes        total for header
 
? words         sprite image data (words of screen memory) for each sprite,
                in order
 
 
<DEGAS>
 
1 word          resolution (0 = low res, 1 = medium res, 2 = high res)
                Other bits may be used in the future; use a simple bit
                test rather than checking for specific word values.
16 words        palette
16000 words     picture data (screen memory)
-----------
32034 bytes     total
 
 
<DEGAS Elite (Uncompressed)>
 
1 word          resolution (0 = low res, 1 = medium res, 2 = high res)
                Other bits may be used in the future; use a simple bit
                test rather than checking for specific word values.
16 words        palette
16000 words     picture data (screen memory)
4 words         left color animtion limit table (starting color numbers)
4 words         right color animation limit table (ending color numbers)
4 words         animation channel direction flag (0 = left, 1 = off, 2 = right)
4 words         animation channel delay in 1/60's of a second. [0 - 128]
-----------
32066 bytes     total
 
 
<DEGAS Elite (Compressed)>
 
1 word          resolution (same as Degas, but high order bit is set;
                i.e., hex 8000 = low res, hex 8001 = medium res,
                hex 8002 = high res).  Other bits may be used in the
                future; use a simple bit test rather than checking
                for specific word values.
16 words        palette
< 32000 bytes   control bytes
4 words         left color animtion limit table (starting color numbers)
4 words         right color animation limit table (ending color numbers)
4 words         animation channel direction flag (0 = left, 1 = off, 2 = right)
4 words         animation channel delay in 1/60's of a second. [0 - 128]
-----------
< 32066 bytes   total
 
Control byte meanings:
 
        For a given control byte, x:
 
        0 <= x <= 127   Use the next x + 1 bytes literally (no repetition)
        -127 <= x <= -1 Use the next byte -x + 1 times
        -128            No operation (ignore)
 
Compression Scheme:
 
   Each scan line is compressed separately; i.e., all data for a given
scan line appears before any data for the next scan line.  The scan lines
are specified from top to bottom (i.e., 0 is first).  For each scan line,
all the data for a given bit plane appears before any data for the next
higher order bit plane.
   To clarify:  The first data in the file will be the data for the lowest
order bit plane of scan line zero, followed by the data for the next higher
order bit plane of scan line zero, etc., until all bit planes have been
specified for scan line zero.  The next data in the file will be the data
for the lowest order bit plane of scan line one, followed by the data for
the next higher order bit plane of scan line one, etc., until all bit planes
have been specified for all scan lines.
 
 
<C.O.L.R. Object Editor Mural>
 
16000 words     picture data (screen memory)
                (palettes are stored in separate files)
-----------
32000 bytes     total
 
 
<Tiny>
 
1 byte          resolution (same as NEO, but +3 indicates rotation
                information also follows)
 
If resolution > 2 ?
1 byte          left and right color animation limits.  High 4 bits
                hold left (start) limit; low 4 bits hold right (end)
                limit
1 byte          direction and speed of color animation (negative value
                indicates left, positive indicates right, absolute value
                is delay in 1/60's of a second.
1 word          color rotation duration (number of iterations)
?
 
1 word          number of control bytes
1 word          number of data bytes
16 words        palette
3-10667 bytes   control bytes
2-32000 bytes   data bytes
-------------
42-32044 bytes  total
 
Control byte meanings:
 
        For a given control byte, x:
 
        x < 0   Absolute value specifies the number of unique words to
                take from the data section (from 1 to 127)
        x = 0   1 long is taken from the control section which specifies
                the number of times to repeat the next data word (from
                128 to 32767)
        x = 1   1 word is taken from the control section which specifies
                the number of unique words to be taken from the data
                section (from 128 - 32767)
        x > 1   Specifies the number of times to repeat the next word
                taken from the data section (from 2 to 127)
 
 
<Spectrum 512 (Uncompressed)>
 
80 words        first scan line of picture (unused) -- should be zeroes
15920 words     picture data (screen memory) for scan lines 1 through 199
9552 words      3 palettes for each scan line (the top scan line is
                not included because Spectrum 512 can't display it)
-----------
51104 bytes     total
 
 
<Spectrum 512 (Compressed)>
 
1 word          5350 (hex) ("SP")
1 word          0 (reserved for future use)
1 long          length of data bit map
1 long          length of color bit map
<= 32092 bytes  compressed data bit map
<= 17910 bytes  compressed color bit map
--------------
< 50014 bytes   total
 
Data compression:
 
   Compression is via a modified run length encoding (RLE) scheme.  The
data map is stored as a sequence of records.  Each record consists of a
header byte followed by one or more data bytes.  The meaning of the header
byte is as follows:
 
        For a given header byte, x:
 
        0 <= x < 127    Use the next x + 1 bytes literally (no repetition)
        -128 <= x < 0   Use the next byte -x + 2 times
 
The data appears in the following order:
 
        1. Picture data, bit plane 0, scan lines 1 - 199
        2. Picture data, bit plane 1, scan lines 1 - 199
        3. Picture data, bit plane 2, scan lines 1 - 199
        4. Picture data, bit plane 3, scan lines 1 - 199
 
Decompression of data ends when 31840 data bytes have been used.
 
Color map compression:
 
   Each 16-word palette is compressed separately.  There are three
palettes for each scan line (597 total).  The color map is stored as a
sequence of records.  Each record starts with a 1-word bit vector which
specifies which of the 16 palette entries are included in the data
following the bit vector (1 = included, 0 = not included; i.e., stays
the same).  The least significant bit of the bit vector refers to
palette entry zero, while the most significant bit refers to palette
entry 15.  Bit 15 must be zero, since Spectrum 512 does not use palette
entry 15.  Bit 0 should also be zero, since Spectrum 512 always makes the
background color black.
   The words specifying the values for the palette entries indicated in
the bit vector follow the bit vector itself, in order (0 - 15).
 
 
<Animatic Film>
 
1 word          number of frames
16 words        palette
1 word          speed (0 - 99; higher value is faster)
1 word          direction (0 = forwards, 1 = backwards)
1 word          end action (what to do after the last frame)
                0 = pause, then repeat from beginning
                1 = immediately repeat from beginning
                2 = reverse
1 word          width of film in pixels
1 word          height of film in pixels
1 word          version number (major)
1 word          version number (minor)
1 long          magic number 27182818 (hex)
3 longs         reserved (should be all zeros)
--------
32 words        total for header
 
? words         image data (words of screen memory) for each frame, in order
 
 
<MacPaint>
 
header ?
1 long          version number (if zero, entire header is ignored)
38 * 2 longs    pattern data (anyone know how to use this?)
51 longs        reserved
?
< 51200 bytes   compressed bitmap data
-------------
< 51716 bytes   total
 
Bitmap compression:
 
   The bitmap data is for a 576 pixel by 720 pixel image.  The data is
stored as a sequence of records.  Each record consists of a control
byte followed by one or more data bytes.  The meaning of the control
byte is as follows:
 
        For a given control byte, x:
 
        0 < x < 127     Use the next x + 1 bytes literally (no repetition)
        -128 <= x <= 0  Use the next byte -x + 1 times
 
There are 72 bytes per scan line.  Each bit represents one pixel; 0 = white,
1 = black.
 
 
Version of Fri Sep  2 01:31:21 EDT 1988
---------------------------- >8 -------------------------------------
--
Jonathan   ...ucbvax!cory!jlemon   or    jlemon@cory.Berkeley.EDU
 
------------------------------
 
End of INFO-ATARI16 Digest V89 Issue #521
*****************************************
