[comp.sys.apple] Toolbox Reference Bugs

mdavis@hp-sdd.UUCP.UUCP (04/18/87)

For those of you who are struggling along with APW and Apple's Toolbox
Reference Manual for creating applications on the Apple IIGS, you'll note
that there are many bugs in the preliminary two-volume manual put out by
APDA.  Addison-Wesley is coming out with a revised version shortly, but
until then, here's a list of known bugs and their fixes.  Updates will be
posted quarterly, as more and more discrepencies pop up every day.  Feel
free to send additional reports to my mailing address.


*************************************************************************
*                           *
*      Bugs in the Apple IIGS Toolbox Reference      *
*         Compiled by Morgan Davis         *
*            Copyright (C) 1987            *
*                           *
*         Send any updates or corrections to:         *
*                           *
*    BIX, MCI Mail:  mdavis                  *
*    UUCP: [ ihnp4 hplabs!hp-sdd nosc ] !crash!pnet01!pro-sol!mdavis   *
*    ARPA: crash!pnet01!pro-sol!mdavis@nosc            *
*    INET: mdavis@pro-sol.CTS.COM               *
*                           *
*    Updated: 29 Mar 87      Bug Count: 12      File Size:   4211   *
*                           *
*************************************************************************


---------------------------<< FONT MANAGER >>----------------------------

         Bug Count: 1    Updated: 23 Mar 87

===============================
FMStartUp -- $021B -- Page 8-16
===============================
Manual says to push SFNamePtr (a LONG).  Don't push it.


---------------------------<< INTEGER MATH >>----------------------------

         Bug Count: 1    Updated: 29 Mar 87

=============================
LongMul -- $0C0B -- Page 9-16
=============================
Manuals says to push one LONG for result space.  Push two LONGs.


---------------------------<< MENU MANAGER >>----------------------------

         Bug Count: 1    Updated: 23 Mar 87

=========================================================     
Sample Program Bug -- Accept Input From User -- Page 12-9
=========================================================
The Taskmaster example incorrectly pushes a $002C onto the stack which is
a valid TASK mask but not a valid EVENT mask for the example.  To get the
example to work, push a $000E onto the stack as the EVENT mask.  (Make
sure you push an EVENT mask and not a TASK mask).


-----------------------<< MISCELLANEOUS TOOLSET >>-----------------------

         Bug Count: 5       Updated: 29 Mar 87

==================================
ReadTimeHex -- $0D03 -- Page 13-16
==================================
Manual includes a fifth input parameter called buffersize.  Ignore it,
the buffersize parameter is not used. 

====================================
ReadAsciiTime -- $0F03 -- Page 13-18
====================================
Manual says BufferAddress is a WORD.  It's a LONG.

================================
ReadMouse -- $1703 -- Page 13-37
================================
Manual describes all return parameters as WORDs.  They are all BYTEs.

=================================
ClearMouse -- $1B03 -- Page 13-42
=================================
This function was completely left out of the manual.  Basically, it sets
the X and Y mouse positions to absolute zero.  (NOTE: This is different
from HomeMouse which sets the X,Y coordinates to the MINIMUM clamping
bounds).

================================
IntSource -- $2303 -- Page 13-51
================================
1. Manual says to push a LONG before the SrcRefNum WORD.  Do not push the
   LONG.

2. Manual says enabling keyboard interrupts will automatically turn on
   VBL interrupts.  You must enable VBL interrupts yourself with
   IntSource($0002).


---------------------------<< TEXT TOOLSET >>----------------------------

         Bug Count: 1    Updated: 25 Mar 87

================================
ReadBlock -- $230C -- Page 21-41
================================
Manuals says to pull Char (WORD) from the stack.  Do not pull anything.


--------------------------<< WINDOW MANAGER >>---------------------------

         Bug Count: 3    Updated: 23 Mar 87

==================================
FindWindow -- $170E -- Page 23-107
==================================
Manual says PointX and PointY are LONGs.  They are WORDs.

==================================
GrowWindow -- $1B0E -- Page 23-111
==================================
Manual says to push a WORDSPACE as the first parameter.  Push a LONGSPACE.

================================================     
Sample Program Bug -- Draw InfoBar -- Page 23-22
================================================
The sample program for implementing an InfoBar uses stores to <14 and <12.
After the last comment, the code SHOULD read:

   lda   2,s
   sta   <16
   lda   0,s
   sta   <14

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

UUCP: [ ihnp4 akgua hplabs!hp-sdd sdcsvax nosc ] !crash!pnet01!pro-sol!mdavis
ARPA: crash!pnet01!pro-sol!mdavis@nosc
INET: mdavis@pro-sol.CTS.COM