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