Skip to main content
© Atomic Flash

 "Only in a police state is the job of a policeman easy."
                                                     Orson Welles


             "THE ATARI COMPENDIUM" BY SCOTT SANDERS
               Additional Errata Sheet: 03/02/1995
                           Part 2 of 3
                    Compiled by Mark S Baines


4.23 (Bconmap)
A   zero   return  value  with   Bconmap(0)   indicates   Bconmap
availability, not a non-zero value.
                                                    (Mark Baines)

6.3
TOS 1.0 can support 6 DAs like any other TOS version.
                                                     (Mark Baker)

6.46 (appl_getinfo)
Available  from  AES  4.00 not 3.40.  ap_gtype 4  and  above  are
available from AES 4.10.
                                                    (Mark Baines)

6.50 (appl_getinfo)
The bindings are incorrect:

   *ap_greturn = intout[0];
   *ap_gout1 = intout[1];
   *ap_gout2 = intout[2];
   *ap_gout3 = intout[3];
   *ap_gout4 = intout[4];
                                                    (Andre Wiley)

6.50 (appl_getinfo)
The  Return Values are incorrect.  0 is returned if an error  has
been returned, and non-zero if successful.
                                                   (Simon Robins)

6.59 (evnt_button)
The "clicks" parameter can be OR'd with 0x0100 (or add 256) as  a
NOT condition.  This makes GEM wait until the buttons are NOT  in
the specified state. By putting the current button state into the
call,  you get an event whenever any button changes in state  (so
you can wait on left and right clicks independently). You can use
the  same  variable for the input and output button  states  (and
this works well).
                                                  (Evan Langlois)

6.63 (evnt_mesag)
MN_SELECTED - msg[4] contains the object number of the menu  item
or the submenu item if submenus are available. msg[5], msg[6] and
msg[7]  contain  this  data as from  AES  3.30  not  4.0.  msg[7]
contains the parent object index of the menu item or the  submenu
item.

WM_TOPPED  - the wind_set parameters should  be  wind_set(handle,
WF_TOP, 0, 0, 0, 0). msg[3] contains the handle.

WM_ARROWED - msg[4] indicates which action was actually  selected
not msg[3] which contains the handle.
                                                    (Mark Baines)

6.64 (evnt_mesag)
WM_HSLID  -  msg[4] contains the new slider position  not  msg[3]
which contains the handle.

WM_VSLID  -  msg[4] contains the new slider position  not  msg[3]
which contains the handle.
                                                    (Mark Baines)

6.67 (evnt_multi)
The  final line on page 6.67 should include *mb  (mouse  buttons)
and read:

   WORD *mx, *my, *mb, *ks, *kc, *mc;

and the function declaration altered also.
                                                   (Simon Robins)

6.67 (evnt_multi)
The "clicks" parameter can be OR'd with 0x0100 (or add 256) as  a
NOT condition.  This makes GEM wait until the buttons are NOT  in
the specified state. By putting the current button state into the
call,  you get an event whenever any button changes in state  (so
you can wait on left and right clicks independently). You can use
the  same  variable for the input and output button  states  (and
this works well).
                                                  (Evan Langlois)

6.91 (graf_mouse)
Mode numbers 259 and 260 are incorrect:

   Mode M_LAST should be M_RESTORE (259)
   Mode M_RESTORE should be M_PREVIOUS (260)

The descriptions are correct.
                                (Evan Langlois and Mark S Baines)

6.99 (menu_attach)
Caveat  menu_attach on AES 3.40 has a problem with scrolling  sub
menus if more than 1 sub menu is in the OBJECT tree. The solution
is to only have one submenu per OBJECT tree.
                                                   (Simon Robins)

6.101 (menu_bar)
The  Return Values are incorrect.  0 is returned if an error  has
been returned, and non-zero if successful.
                                                   (Simon Robins)

6.122 (rsrc_gaddr)
The  Return Values are incorrect.  0 is returned if an error  has
been returned, and non-zero if successful.
                                                   (Simon Robins)

6.123 (rsrc_load)
The  Return Values are incorrect.  0 is returned if an error  has
been returned, and non-zero if successful.
                                                    (Mark Baines)

6.123 (rsrc_obfix)
The Return Value is presently only ever 1.
                                                   (Simon Robins)

6.124 (rsrc_rcfix)
The  Return Values are incorrect.  0 is returned if an error  has
been returned, and non-zero if successful.
                                                   (Simon Robins)

6.134 (shel_find)
Version Notes:  This function is bugged in AES 1.4 (TOS 1.04) and
requires  the Atari patch program TOS14FIX to be run in the  AUTO
folder.
                                                    (Mark Baines)

6.154 (wind_set)
wind_set(BEVENT)  works  on a *clean* Falcon with TOS  4.04  (AES
3.30)  despite  all  docs including TAC  saying  that  it's  only
available from AES 4.
                                                       (Ofir Gal)

6.154 (wind_set)
Some modes are missing:

    Mode WF_ICONIFY (26) parm1,  parm2,  parm3, parm4 specify the
    x,   y,   w  and  h  of  the  icon  coordinates  returned  by
    evnt_multi().

    Mode WF_UNICONIFY (27) parm1, parm2, parm3, parm4 specify the
    x,  y, w and h of the original window coordinates returned by
    evnt_multi().
    Mode WF_UNICONIFYXYWH (28) <help needed here>
    Mode WF_FTOOLBAR (31)
    Mode WF_NTOOLBAR (32)

Also see Windows 11.7.
                                                  (Mark S Baines)

6.155 (wind_update)
The mode values are incorrect and should be:

   END_UPDATE  0
   BEG_UPDATE  1
   END_MCTRL   2
   BEG_MCTRL   3
                                                  (Tony Wagstaff)

7.104 (vqt_attributes)
In the bindings,  the values for attr[6] to attr[9] are  returned
in  ptsout[0] to ptsout[3] respectively.  Values for attr [0]  to
[5] are correctly listed as being returned in intout[].
                                                  (Robert Cooper)

7.134 (vsl_type)
The values for 'type' should number from 1 to 7, not from 0 to 6.
                                                  (Robert Cooper)

7.135 (vsl_width)
The binding is incorrect.  The value 'width' should be passed  in
ptsin[0],  not  intin[0].  The width actually set is returned  in
ptsout[0], although the supplied binding does not support this.
                                                  (Robert Cooper)

7.151 (vst_height)
In  the  bindings,  the value for height should  be  supplied  in
ptsin[2], not intin[0].
                                                  (Robert Cooper)

8.3 (Line-A Variable Table)
There are a number of errors here,  especially in the size of the
variables.  A  correction  would be too large for this  file  and
readers  are  advised to compare their  compiler  bindings  (e.g.
linea.h) with this table.
                                                   (John Kormylo)

11.6 (Window Messages)
WM_BOTTOMED should be WM_BOTTOM.
                                                    (Mark Baines)

Appendix B - Memory Map
"The Atari A to Z" book contains a full and more accurate and up-
to-date list of Systems Variables,  the Memory Map and  Exception
Vectors.

B.7 (System variables)
Which  of  these  are  available for a  particular  TOS  is  very
confused as laid out here. The Addendum notes don't fully explain
either.

   Addresses $400 - $512 TOS 1.0
   Addresses $400 - $57E TOS 1.2
   Addresses $400 - $5B0 TOS 1.6 and later

There is an additional system variable at $600 patchzone, used as
an  area for patching TOS and other routines.  It was  introduced
with  TOS  1.4 and if empty it is set to $0BADC0DE (TOS  1.4)  or
zero.
                                                    (Mark Baines)

B.15 (System variables)
ramtop  should  be  called  fmemtop  ramvalid  should  be  called
fmemvalid  both in accordance with nomenclature  used  elsewhere.
                                                    (Mark Baines)

B.24 - B.25
0x00FF8930 DMA Crossbar Output Select Controller.
Bit map patterns for bits 8 to 15 are incorrect.

0x00FF8932 DMA Crossbar Input Select Controller.
Bit map patterns for bits 8 to 15 are incorrect.

The correct bit map pattens are:-

0x00FF8930 DMA Crossbar Output Select Controller.

Bit  +--+ +--+ +--+ +--+ +--+ +--+ +--+ +--+
     | 7| | 6| | 5| | 4| | 3| | 2| | 1| | 0|
     +--+ +--+ +--+ +--+ +--+ +--+ +--+ +--+
       |    |    |    |    |    |    |    |   (DMA OUTPUT)
       |    |    |    |    |    |    |    +-- 0==handshake
       |    |    |    |    |    +----+-------00==25.175MHz clock
       |    |    |    |    |                 01==External clock
       |    |    |    |    |                 10==32MHz clock
       |    |    |    |    +----------------- 0==DSP<->DMA
       |    |    |    |                          Handshaking,
       |    |    |    |                       1==dest. != DSP
       |    |    |    |    (DSP OUTPUT)
       |    |    |    +--- 0==handshake
       |    +----+--------00==25.175MHz clock
       |                  01==External clock
       |                  10==32MHz clock
       +-------------------0==DSP tristate
                           1==DSP connected to matrix

Bit  +--+ +--+ +--+ +--+ +--+ +--+ +--+ +--+
     |15| |14| |13| |12| |11| |10| | 9| | 8|
     +--+ +--+ +--+ +--+ +--+ +--+ +--+ +--+
       |    |    |    |    |    |    |    |   (EXTERNAL INPUT)
       |    |    |    |    |    |    |    +-- 0==handshake
       |    |    |    |    |    +----+-------00==25.175MHz clock
       |    |    |    |    |                 01==External clock
       |    |    |    |    |                 10==32MHz clock
       |    |    |    |    +-----------------    always 0
       |    |    |    |
       |    |    |    |    (ADC INPUT)
       |    |    |    +---    always 0
       |    |    +--------00==25.175MHz clock
       |    |             01==External clock
       |    +-------------    always 0
       +------------------    always 0

0x00FF8932 DMA Crossbar Input Select Controller.

Bit  +--+ +--+ +--+ +--+ +--+ +--+ +--+ +--+
     | 7| | 6| | 5| | 4| | 3| | 2| | 1| | 0|
     +--+ +--+ +--+ +--+ +--+ +--+ +--+ +--+
       |    |    |    |    |    |    |    |   (DMA INPUT)
       |    |    |    |    |    |    |    +-- 0==handshake
       |    |    |    |    |    +----+-------00==DMA output
       |    |    |    |    |                 01==DSP output
       |    |    |    |    |                 10==EXT input
       |    |    |    |    |                 11==ADC input
       |    |    |    |    +----------------- 0==DSP<->DMA
       |    |    |    |                          Handshaking,
       |    |    |    |                       1==dest. != DSP
       |    |    |    |    (DSP INPUT)
       |    |    |    +--- 0==handshake
       |    +----+--------00==DMA output
       |                  01==DSP output
       |                  10==EXT input
       |                  11==ADC input
       +-------------------0==DSP tristate
                           1==DSP connected to matrix

Bit  +--+ +--+ +--+ +--+ +--+ +--+ +--+ +--+
     |15| |14| |13| |12| |11| |10| | 9| | 8|
     +--+ +--+ +--+ +--+ +--+ +--+ +--+ +--+
       |    |    |    |    |    |    |    |   (EXTERNAL OUTPUT)
       |    |    |    |    |    |    |    +-- 0==handshake
       |    |    |    |    |    +----+-------00==DMA output
       |    |    |    |    |                 01==DSP output
       |    |    |    |    |                 10==EXT input
       |    |    |    |    |                 11==ADC input
       |    |    |    |    +-----------------    always 0
       |    |    |    |
       |    |    |    |    (DAC OUTPUT)
       |    |    |    +---    always 0
       |    +----+--------00==DMA output
       |                  01==DSP output
       |                  10==EXT input
       |                  11==ADC input
       +-----------------     always 0

                      (Mark D. S. Himsley amended by Mark Baines)

B.28 - B.29 (SCC Registers)
These registers only apply to the TT. The MegaSTE and Falcon both
report  bus errors if you attempt to access any of the  registers
in this area.
                                                   (Simon Robins)

F.4 (IKBD Scan Codes)
The character for the 'Nmpad -' should be a minus sign and not an
underline.

The scan code for 'CTRL Nmpad +' is 0x4E0B.
                                                    (Mark Baines) 

Disclaimer
The text of the articles is identical to the originals like they appeared in old ST NEWS issues. Please take into consideration that the author(s) was (were) a lot younger and less responsible back then. So bad jokes, bad English, youthful arrogance, insults, bravura, over-crediting and tastelessness should be taken with at least a grain of salt. Any contact and/or payment information, as well as deadlines/release dates of any kind should be regarded as outdated. Due to the fact that these pages are not actually contained in an Atari executable here, references to scroll texts, featured demo screens and hidden articles may also be irrelevant.