[comp.sys.apple] GS toolbox access from Applesoft

AWCTTYPA@UIAMVS.BITNET ("David A. Lyons") (02/10/89)

>Date:         Thu, 9 Feb 89 02:09:00 EST
>From:         MEK4_LTD@DB2.CC.ROCHESTER.EDU
>Subject:      RE: What is source code? (answered)

>As for no serious desktop programs being written in Applesoft basic,
>this is true for one simple reason.  You cannot accesss the toolbox
>from applesoft basic without special software. Often, it is simpler
>to go to another language, than to write your own toolbox interface
>for Applesoft.  People have done it, however, check out So-
>What-Software.

To elaborate on what I said in my last (copious and incomprehensible)
message:

The Apple IIgs "toolbox" is a collection of about a thousand toolbox
functions that provide support for the mouse, windows, menus, dialog
boxes, buttons & scroll bars, etc.  The toolbox functions are
divided into groups called toolsets (for example, the Memory
Manager, QuickDraw II, the Window Manager, the Dialog Manager, etc).

Now, _some_ of these toolsets are built into the Apple IIgs's ROM,
and some of them aren't.  If you're willing to use a lot of POKEs and
CALLs, you can use the toolbox from Applesoft without even buying any
3rd-party software.  But you are limited to the ROM part of the
toolbox!

In ROM:  Tool Locator, Memory Mgr, Misc. Toolset, QuickDraw II, Desk
Manager, Event Manager, Scheduler, Sound Tools, Apple Desktop Bus
tools, SANE (Standard Apple Numerics Environment), Integer Math,
Text Tools.

NOT in ROM:  Window Mgr, Menu Mgr, Control Mgr, Loader, QuickDraw
Auxiliary, Print Manager, Line Edit, Dialog Manager, Scrap Manager,
Standard File, Note Synthesizer, Note Sequencer, Font Manager, List
Manager, Audio Compression/Expansion, MIDI.

Now, a "ROM-based" toolset is one that is in ROM.  A "RAM-based"
toolset is one of the other ones.  To use a RAM-based toolset, you
have to get it loaded from disk into regular memory (RAM).  To do
that you need the Loader, which is never available under ProDOS 8.
Applesoft can't be used under GS/OS (or ProDOS 16, which has been
replaced by GS/OS) because of memory use conflicts in "bank 0" (the
first 65536 bytes of memory).

(By the way, if you devise a weird, non-supported way of getting the
RAM-based toolsets loaded from disk under ProDOS 8, you're _still_
out of luck:  some of them need already need GS/OS around to work
properly, and the rest are free to require GS/OS in the future.  The
promised resource manager will certainly require GS/OS, and I _hope_
that many future versions of the toolsets will require the resource
manager.)

>                    Mark Kern

--David A. Lyons              bitnet: awcttypa@uiamvs
  DAL Systems                 CompuServe:  72177,3233
  P.O. Box 287                GEnie mail:    D.LYONS2
  North Liberty, IA 52317     AppleLinkPE: Dave Lyons