

     |||||| |||||| ||  || |||||| ||||||
     ||     ||     ||| ||   ||   ||
     || ||| ||||   ||||||   ||   ||||               Your
     ||  || ||     || |||   ||   ||
     |||||| |||||| ||  || |||||| ||||||             GEnieLamp Computing

     ||    |||||| ||    || ||||||                   RoundTable
     ||    ||  || |||  ||| ||  ||
     ||    |||||| |||||||| ||||||                   RESOURCE!
     ||    ||  || || || || ||
     ||||| ||  || ||    || ||


                   ~ WELCOME TO THE A2Pro GENIELAMP! ~
                     """""""""""""""""""""""""""""""
                  ~ GNO/ME V2.0 ~ 3D LOGO FOR THE IIGS ~
      ~ Nathaniel Sloan Now A2PRO.HELP ~ More Apple Assembly Lines ~
  ~ GSOS SSW 6.0.1 ~ 8-Bit SSW 4.0.2 ~ GNO/ME 2.0 ~ Hierarchical Menus ~
~ Shooting Yourself In The Foot ~ System II Brings GUI To 8 Bit Programs ~
           ~ DDT Source & Schematics Now Available In A2PRO ~
                  ~ HOT NEWS ~ HOT MESSAGES ~ HOT VIEWS ~

////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
 GEnieLamp A2Pro   ~ A T/TalkNET OnLine Publication   ~  Vol.1, Issue 08
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 Editor........................................................Jim Couch
  Publisher.................................................John Peters
   Copy-Editor............................................Bruce Maples
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\////////////////////////////////////
    ~ GEnieLamp IBM ~ GEnieLamp ST ~ GEnieLamp [PR] ~ GEnieLamp TX2 ~
       ~ GEnieLamp A2Pro ~ GEnieLamp Macintosh ~ LiveWire Online ~ 
             ~ Member Of The Digital Publishing Association ~
 GE Mail: GENIELAMP                  Internet: genielamp@genie.geis.com
////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

          >>> WHAT'S HAPPENING IN THE APPLE A2Pro ROUNDTABLE? <<<
          """""""""""""""""""""""""""""""""""""""""""""""""""""""
                           ~ September 1, 1993 ~

 FROM MY DESKTOP ......... [FRM]        A2PRO ROUNDTABLE STAFF .. [DIR]
  Notes From The Editor.                 Staff Directory.

 HEY MISTER POSTMAN ...... [HEY]        DEVELOPER'S CORNER ...... [DEV]
  Is That A Letter For Me?               News from A2Pro Developers.

 TECH_TALK ............... [TEC]        LIBRARY BIT BONANZA ..... [LIB]
  RTC Happenings.                        HOT Files Youc Can Download.

 SYSTEM SOFTWARE NEWS......[SSW]        NIGHTS OF THE RoundTable  [RTC]
  New System Software Examined!          An Intro To The A2Pro RTC.

                     LOG OFF ..................[LOG]
                      GEnieLamp Information.

[IDX]"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

READING GEnieLamp   GEnieLamp  has  incorporated  a  unique   indexing
"""""""""""""""""   system to help make  reading the  magazine easier.
To  utilize this system, load GEnieLamp into any ASCII  word processor
or text  editor.  In the index  you will find the  following  example:

                   HUMOR ONLINE ............ [HUM]
                    [*]GEnie Fun & Games.

   To read this  article, set your  find or search command to [HUM].  If
you want to scan all of the articles, search for [EOA].  [EOF] will take
you to  the last page,  whereas [IDX]  will bring you back to the index.

MESSAGE INFO   To make it easy for you to respond to messages re-printed
""""""""""""   here in GEnieLamp, you will find all the information you
need immediately following the message.  For example:

                    (SMITH, CAT6, TOP1, MSG:58/M530)
        _____________|   _____|__  _|O__    |____ |_____________
       |Name of sender   CATegory  TOPic    Msg.#   Page number|

    In this  example, to  respond to  Smith's  message, log  on to  page
475 enter the bulletin board and set CAT 6. Enter your REPly in TOPic 1.

    A message number that is surrounded by brackets indicates  that this
message  is a "target" message and is  referring  to  a "chain"  of  two
or more  messages that are following the same topic.  For example: {58}.

ABOUT GEnie   Effective July 1,  GEnie's non-prime time connect rate drops
"""""""""""   to $3.00 per hour, a reduction of 50% from the current rate.
The monthly fee has been restructured,  and moves from $4.95 to $8.95, for
which  up to four hours  of non-prime time access  to most GEnie services,
such as software downloads, bulletin boards, GE Mail, an Internet gateway,
multi-player games and chat lines, are allowed without charge.  To sign up
for GEnie service, call (with modem) 1-800-638-8369.  Upon connection type
HHH.  Wait for the U#= prompt.  Type: XTX99014,DIGIPUB and hit RETURN. The
system will then prompt you for your information.   Need more information?
Call GEnie's customer service line (voice) at 1-800-638-9636.
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""


        /////////////////////////////////////// GEnie_QWIK_QUOTE ////
       / "true story:  I was downloading a file the other day when /
      / my phone line was hit by lighting.  Just before it died   /
     / my modem said "*&^%$#@!"                                  /
    //////////////////////////////////////////////  G.MARON  ////


 
[EOA]
[FRM]//////////////////////////////
                 FROM MY DESKTOP /
/////////////////////////////////
Notes From The Publisher
""""""""""""""""""""""""
By John Peters
   [GENIELAMP]



FOR OVER A YEAR NOW...   Atarians have enjoyed graphics with their
""""""""""""""""""""""   GEnieLamp ST thanks to David Holmes and his
revolutionary text reader, TX2.  I am happy to announce that are now
offering similar graphics support for the IBM platform with a new viewer
called HyperRead by David Leithauser.  Like the ST/TX2 counterpart,
HyperRead uses keypresses or a mouse to quickly jump to various articles in
the magazine.  Also, again like the ST/TX2 viewer, HyperRead allows
graphics to be incorporated within the text.  Next month we will be
offering screenshots of the PD_Q and Mini_Byte reviews for the IBM issue
just as we do in GEnieLamp ST/TX2.  If you're interested in checking out
GEnieLamp IBM / HyperRead you can get your copy of GEnieLamp IBM with the
HyperRead viewer from the GEnieLamp menu located on page 515.

     Until next month...

                                                  John Peters
                                          GEnieLamp/DigiPub RoundTable



[EOA]
[DIR]//////////////////////////////
          A2PRO ROUNDTABLE STAFF /
/////////////////////////////////
By Matt Deatherage
    [M.DEATHERAGE]
                             ______________________________________________

                              APPLE II PROGRAMMERS & DEVELOPERS ROUNDTABLE
       _____  ______         ______________________________________________
      /_____|/______\
     /__/|__|  ___|__|       Head Sysop: Matt Deatherage  (M.DEATHERAGE)
    /__/_|__| /_____/        Assistants: Steve Gunn       (A2PRO.STEVE)
   /________|/__/       __ __ __         Greg Da Costa    (A2PRO.GREG)
  /__/   |__|__/______ /_//_// /         Todd P. Whitesel (A2PRO.TODDPW)
 /__/    |__|________//  / \/_/          Jim Maricondo    (A2PRO.DYAJIM)
                             ______________________________________________



NATHANIEL SLOAN NOW A2PRO.HELP!   Effective immediately, Nathaniel Sloan,
"""""""""""""""""""""""""""""""   who's starting a new RTC next week
on Friday nights (a week from tonight) here in A2Pro and is also helping us
spread the word about A2Pro's services in A2, will be using the name
A2PRO.HELP, the same as you've seen on our RoundTable door for several
months.

     We'd previously forwarded that mail to one of the staff (on a rotating
basis); we're pleased to have someone actually behind the mail address to
help folks with problems when they don't know where else to go.

     So if you see A2PRO.HELP posting in A2Pro and A2, don't panic, it's
just Sloanie.  If you want to reach him for personal matters, his personal
account is still C.SLOAN.



[EOA]
[HEY]//////////////////////////////
              HEY MISTER POSTMAN /
/////////////////////////////////
Is That A Letter For Me?
""""""""""""""""""""""""
By Jim B Couch
    [J.COUCH2]

     o   BULLETIN BOARD HOT SPOTS

          o   A2PRO ODDS & ENDS

               o   WHAT'S NEW?

                    o   THROUGH THE GRAPEVINE

                         o   PROGRAMMER'S CORNER

                              o   HOT TOPICS

                                   o   MESSAGE SPOTLIGHT



                      >>>BULLETIN BOARD HOT SPOTS <<<
                      """""""""""""""""""""""""""""""

   [*]  CAT5,   TOP5,  MSG{53}..........ProDev DDT8 & DDT16 debugging tool
   [*]  CAT9,   TOP18, MSG{1}.................Micol Advanced BASIC IIe/IIc
   [*]  CAT15,  TOP1,  MSG{45}................................Tool Locator
   [*]  CAT15,  TOP15, MSG{93}................................Menu Manager
   [*]  CAT15,  TOP34, MSG{32}..........................Text Edit Tool Set
   [*]  CAT16,  TOP2,  MSG{63}...........................Programmer's Cafe
   [*]  CAT17,  TOP5,  MSG{53}...............................AppleTalk-ing
   [*]  CAT29,  TOP36, MSG{1}.........System II - GUI for 8-bit Developers
   [*]  CAT30,  TOP5,  MSG{21}.......................Procyon Announcements
   [*]  CAT36,  TOP32, MSG{26}........................................Logo



                         >>> A2PRO ODDS & ENDS <<<
                         """""""""""""""""""""""""

FOR THE RECORD...     I am not in the Apple II engineering group.  I never
"""""""""""""""""     have been, I've never claimed to be.
     I've been in the same department at Apple since the day I started --
Developer Technical Support.  We help developers create software and
hardware products for Apple platforms.

     I don't know where this myth that I work in the Apple II group comes
from (I did work in the Apple II subgroup of DTS when we had one), but
folks won't let go of it.

     (It's worse on Internet, where they persist in thinking that everyone
who works on the Apple II is in DTS.)

--Matt (*new* graphics/sound programming RTC Thursdays @ 9:30 PM ET!)
          (M.DEATHERAGE [A2Pro Leader], CAT1, TOP3, MSG:78/M530)


INFORMATION ON EASYMOUNT FOR 6.0.1 NEEDED   ]['m looking for the current
"""""""""""""""""""""""""""""""""""""""""   format of EasyMount documents.
The System 6.0 format was documented in FTN.E2.FFFF in May, 1992, but it
has since changed for System 6.0.1.  The 6.0.1 release notes mention that
they now include an alias pathname at the end, but actually looking inside
a current EasyMount document shows a lot more data (about 20 bytes) tacked
on the end, after that.

     I haven't been able to figure out what these bytes are, myself. I'm
sure the new format will eventually be described in an updated FTN, but who
knows when the next batch of those will be?

     I'm currently working on a product that could greatly take advantage
of knowing what the current EasyMount document file format is.

-= Lunatic     (:
              (A2.LUNATIC [LEGO!], CAT11, TOP20, MSG:1/M530)


6.0.1 TASKMASTER BUG WORK AROUND   System 6.0.1 has a _slight_ bug in
""""""""""""""""""""""""""""""""   TaskMaster (but it's related to list
controls which is why I'm posting it here...)

     If you have a window with multiple lists controls that accept events
and can all be targetable AND you check the wmClickCount field when the
user double- clicks you'll have this problem.

The problem:

  - double click on a list member
  - (assume you go to a dialog or something)
  - exit the dialog to get back to the window
  - hit an arrow key or tab
  - bam! Your dialog is opened.

     Because the key down event doesn't clear the wmClickCount field it
will seem to your code that the user double-clicked (this is because
TaskMaster returns a wInControl code).

     The solution is to just zero the click count field before calling
TaskMaster.

Bryan
           (SOFTDISK.INC [Bryan Zak], CAT15, TOP28, MSG:87/M530)


IS THERE A TECHNICAL MANUAL FOR APPLETALK PROGRAMING?   Just a quick
"""""""""""""""""""""""""""""""""""""""""""""""""""""   question:  Is there
a tech manual somewhere that one would need to program for AppleTalk, or do
the technotes contain the complete documentation?

Dave
            (JUST.DAVE [m530 daily!], CAT17, TOP5, MSG:53/M530)


APPLETALK PROGRAMMING MANUALS   The Technical Notes don't even _begin_ to
"""""""""""""""""""""""""""""   cover how to use AppleTalk.
To understand the protocols and how they relate to each other, you'll want
"Inside AppleTalk" from Addison-Wesley.  (Second Edition is better.)

     For details of how to make those calls (addresses, parameter blocks,
etc.) on the Apple II, you need "AppleShare Programmer's Guide for the
Apple II" from Resource-Central (functioning as APDA).

     Don't try to do AppleTalk programming without these books; they're a
few hundred pages each.  :)

--Matt (Live programming help six nights a week!  We must be insane!)
          (M.DEATHERAGE [A2Pro Leader], CAT17, TOP5, MSG:57/M530)


HELP NEEDED WITH INTERFACE FOR ROTATING FUNCTION   I'm working on the
""""""""""""""""""""""""""""""""""""""""""""""""   interface design for an
object oriented drawing program. I want to include a rotate function that
allows the user to specify the point to rotate the selection about.  Is
there a clean way to implement "hey you--do this" with this sort of
function?

The best concept I've come up with is:

 1.  User selects the objects using any of the standard selection
     techniques.
    (click, drag box, lasso, etc.)
 2.  User selects the Rotate tool.
 3.  User clicks on the pivot point and drags out a rubber-band rotating
     line. The objects selected become "live" at this point and rotate in
     the same orientation as the rubber-band line.

     I visualize a similar implementation for a "Resize" tool.  In that
case the initial click would be the focal point of the expansion or
contraction.

     I'm not sure that this is very intuitive.  Does anyone have any
simpler suggestions.  All ideas are welcomed as I haven't written any code
yet.

Thanx! Curt
               (C.CLIFTON5 [Curt], CAT21, TOP3, MSG:53/M530)


HUMOR ONLINE PART 1   Chuck, a program is NEVER finished, it's just
"""""""""""""""""""   shipped. :)
Burger
                   (BURGERBILL, CAT5, TOP5, MSG:50/M530)


HUMOR ONLINE PART 2   > a program is NEVER finished, it's just shipped. :)
"""""""""""""""""""
but a programmer can be finished if it doesn't ship.
                (CHUCK.K [ProDev], CAT5, TOP5, MSG:52/M530)



                            >>> WHAT'S NEW? <<<
                            """""""""""""""""""

APPLE IIGS SSW V6.0.1 ARRIVES ON GEnie   As you've probably seen by now,
""""""""""""""""""""""""""""""""""""""   Apple IIgs System Software 6.0.1
is available here in A2Pro, as well as Apple II System Software 4.0.2.
Here's some information about the files available in the library.

     A2 and A2Pro have the same files, but only A2Pro has the release notes
describing technical changes between these and previous releases.  A2Pro
also has COMPLETE601.BXY, a 3 MB file that contains all six disk archives
and the release notes for 6.0.1.

     COMPLETE601.BXY _requires_ 3 MB of disk space on _one_ volume to
download successfully, so don't even try it unless you have one disk
partition or volume with well over 3 MB available (allowing some breathing
room).  It's for people who are going to download everything anyway -- it's
just one file instead of seven.  It takes a little over an hour to download
at 9600 bps using ZModem.  This is our current Blue Plate Special file.

                               [*][*][*]


     There is no update disk from 6.0.1 because all the executable files
have changed.  Apple used a new linker (not externally available) that
produces smaller OMF files, so everything that has code in it is different
from 6.0.

                               [*][*][*]


     The licensing package from Apple that all licensees received includes
a "GSBug" disk.  Our copy of that is in Overland Park at the Resource
Central offices and I have not seen it, but as far as I can tell _nothing_
on it is more recent than what we already have available in our libraries
(for example, it contains GSBug 1.6b20).  I expect actual new versions of
things within a few months, so to avoid people being unhappy by spending
money downloading something they really don't need, I've chosen at this
point not to put those things in our library.

     If I discover something on that disk that is newer than what we
already have available, we'll put it up immediately.

                               [*][*][*]


     This topic is closed for replies (as usual); it's just for
announcements about things in our library.

     If you have questions about 6.0.1, they probably already fit an
existing topic in our bulletin board.  You can type TOPics ALL at the
bulletin board prompt to get a nice list of all the bulletin board topics
if you don't know where the topic you want might be.

     Remember, if your question is "I own a program that's misbehaving
under 6.0.1," you need to ask about it in A2, our sister forum that's home
to all Apple II subjects _except_ programming.

     If it's "I _wrote_ a program that's misbehaving under 6.0.1," you're
in the right place.

     Apple has not yet released descriptions of the new tool calls in 6.0.1
(there are about 20 or so), so we'll be unable at this time to answer the
questions "How does this new call I read about in the release notes work?"
When the information is available, we'll be sure to let everyone know how
to get it.

                               [*][*][*]


     Credit where credit is due dept.:  We found out about 26 hours before
release that we could have 6.0.1 online at midnight EDT on August 12th.  At
that time, we had nothing prepared.

     I did a bunch of crunching and spent most of last night getting
everything uploaded to both A2 and A2Pro, but that's not suitable by our
standards to release the files.  Folks also had to download everything and
make sure it unpacked correctly.  Counting the COMPLETE601.BXY file, that's
about 6 MB of files to check out in one day just here in A2Pro, and Todd
had a work crunch he couldn't get out of on such short notice.

     I'd like to thank Steve Gunn for helping coordinate even though he's
on vacation, and Nathaniel Sloan and Tara Dillinger for downloading a few
disks each to verify everything was OK with the uploads.  Dave Miller got
the notices on the door set up on very short notice so you'd know it was
here when you entered the roundtable.

     _Special_ thanks go to Nate Trost who not only helped download and
verify files, he also made sure the descriptions and keywords matched
previous files, released everything, set the one-time files and generally
made things happen while Steve's on vacation and I was finally asleep.  :)

--Matt (Live programming help six nights a week!  We must be insane!)
          (M.DEATHERAGE [A2Pro Leader], CAT1, TOP8, MSG:16/M530)


APPLE II SSW LISTING   For those running offline sessions who'd like to
""""""""""""""""""""   download the files, here are all the 6.0.1 and 8-bit
4.0.2 files available in A2Pro:

  No. File Name             Type Address      YYMMDD Bytes   Access Lib
 ---- ------------------------ - ------------ ------ ------- ------ ---
 3495 COMPLETE601.BXY          X A2PRO.HELP   930811 3077760     11   5
      Desc: COMPLETE IIgs 6.0.1 -- all six disks
 3494 REL.NOTES.402            X A2PRO.HELP   930811    1920     10   5
      Desc: Release Notes for 8-Bit 4.0.2 SSW
 3493 REL.NOTES.601            X A2PRO.HELP   930811   61696     16   5
      Desc: Release notes for IIgs SSW 6.0.1
 3492 SYS402.8BIT.BXY          X A2PRO.HELP   930811  105344      9   5
      Desc: ProDOS 8 System Disk 4.0.2
 3491 SYSDISK.601.BXY          X A2PRO.HELP   930811  606336      6   5
      Desc: Main SYSTEMDISK of IIGS System 6.0.1
 3490 SNTHLAB.601.BXY          X A2PRO.HELP   930811  534400      6   5
      Desc: SYNTHLAB disk for IIGS System 6.0.1
 3489 FONTS.601.BXY            X A2PRO.HELP   930811  296448      7   5
      Desc: FONTS disk for IIGS system 6.0.1
 3488 STOOLS2.601.BXY          X A2PRO.HELP   930811  521984     12   5
      Desc: SYSTEMTOOLS disk #2 for system 6.0.1
 3487 STOOLS1.601.BXY          X A2PRO.HELP   930811  536192     10   5
      Desc: SYSTEMTOOLS disk #1 for system 6.0.1
 3486 INSTALL.601.BXY          X A2PRO.HELP   930811  520576      8   5
      Desc: INSTALL disk for IIGS System 6.0.1

--Matt (live at lunch)
          (M.DEATHERAGE [A2Pro Leader], CAT1, TOP8, MSG:17/M530)

                                 [*][*][*]


5TH YEAR OF APPLE ASSEMBLY LINE MAGAZINE AVAILABLE NOW!   After an
"""""""""""""""""""""""""""""""""""""""""""""""""""""""   inordinately long
delay (things have been really weird for me since just before KansasFest,
and I apologize), I've uploaded the fifth entire year of Apple Assembly
Line magazine.  It should be released by this weekend.

     These issues contain lots more on 18-digit math, a string searching
algorithm, lots of quick ways to turn two decimal or hex digits into binary
or vice-versa, a sample command for BASIC.System, putting both DOS 3.3 and
ProDOS on one disk, reading DOS 3.3 disks from ProDOS and lots, lots more.
As always, source code is included.

     I hope to get the sixth year and maybe more uploaded over the weekend
if I can get the descriptions written.  Trying to find one line of keywords
to describe all that's in each issue is getting more difficult!  :)

--Matt (Live programming help six nights a week!  We must be insane!)
          (M.DEATHERAGE [A2Pro Leader], CAT1, TOP19, MSG:12/M530)


DDT SOURCE CODE AND MANUAL AVAILABLE   I am uploading the source code,
""""""""""""""""""""""""""""""""""""   manual, and a description of the
hardware today. The latest version of the DDT16 is v1.7. The last version
was v1.3.1. The big jump in version numbers is just to get things back in
synch with the DDT8 code.

     V1.7 contains bug fixes for the "RT" command. In v1.3.1 the "RT"
command would not work correctly if system interrupts were active. Also in
v1.7 when the DDT hits a BRK instruction it traps it with "TRace" mode
active. This makes it easier to insert BRK instructions in your code and
then press the "down arrow" on the DDT to skip over them and get to the
next instruction.

     ***** BUG ALERT *****  I also found a bug that I have not had time to
track down. The "ET" Execution Time command reports times that are too high
if you use it in banks other than bank 0.
                (CHUCK.K [ProDev], CAT5, TOP5, MSG:53/M530)


DDT SCHEMATIC NOW AVAILABLE   I just uploaded the DDT schematic. It is in
"""""""""""""""""""""""""""   Library 17 (Debugging Tools) along with the
source and manual files. The file numbers are

     3477 DDT16.SRC.BXY - Complete source code for the DDT16 v1.7
     3476 DDT.MANUAL.BXY - Manual for DDT8/DDT16 in Appleworks format.
     3497 DDT.DRAWING.BXY - Schematic for DDT16.

     The schematic upload contains a postscript file and an AutoCAD DXF
file of the schematic.

     Please post your questions and modifications here so that we can all
benefit.

     Thank you, Chuck Kelly / ProDev, Inc.
                (CHUCK.K [ProDev], CAT5, TOP5, MSG:54/M530)



                       >>> THROUGH THE GRAPEVINE <<<
                       """""""""""""""""""""""""""""

MICOL SYSTEMS STILL DEVELOPING BASIC PRODUCTS   As far as I can tell,
"""""""""""""""""""""""""""""""""""""""""""""   Micol Systems is still
actively developing their BASIC products, but you never see them online.
Ron Lewin has previously stated that only a small percentage of their
customers are online, so they choose not to spend online time helping that
small percentage.

     We tried to get Micol to set up a company support category here like
the others you see in the #30-#36 range here in A2Pro.  We asked in
October, and in January they said they might be interested, but we never
could get a response out of them after that.

     I don't believe Micol Systems currently has a GEnie account.

--Matt (*new* graphics/sound programming RTC Thursdays @ 9:30 PM ET!)
          (M.DEATHERAGE [A2Pro Leader], CAT9, TOP18, MSG:4/M530)


RUMORS OF MICOL'S DEMISE ARE GREATLY EXAGGERATED!    I wrote to Micol
""""""""""""""""""""""""""""""""""""""""""""""""""   about a month ago,
asking them to comment on a rumor that they'd folded after the demise of
the Liberty card, and President Stephen Brunier replied in part:

     "I can assure you, that this is not the case.  Perhaps this is a rumor
  started by someone who would like to see us defunct.  I am currently
  working on version 5.0 of MAB for the GS and expect to release it in
  about a month."

     "I cannot speak with so much authority about MABUG as I have not
  spoken with the gentleman who operates it.  However, an associate of mine
  is in regular communication with him, and he has not told me of any
  changes. This is something he would have done if there were no more
  MABUG."

     MABUG may not be dead, either, but all I can say is that I'm having a
heck of a time raising them.

-Doug Cuff
 Editor, GEnieLamp A2
             (D.CUFF [GEnieLamp A2], CAT9, TOP18, MSG:6/M530)



                        >>> PROGRAMMER'S CORNER <<<
                        """""""""""""""""""""""""""

MICOL ADVANCED BASIC TIPS WANTED   I am looking to here from other people
""""""""""""""""""""""""""""""""   who use Micol Advanced BASIC for the
IIe/IIc. Pointers and tips on using the MAB environment are currently being
solicited. Who knows, maybe someday I'll have a question you could answer.

     Gerry (the Applesoft-aholic)
               (G.WRIGHT12 [Gerry], CAT9, TOP18, MSG:1/M530)


MICOL ADVANCED BASIC SOURCE EXAMPLES NEEDED   I have been interested in
"""""""""""""""""""""""""""""""""""""""""""   Micol Advanced BASIC as a
better way to teach  BASIC on the Apple IIe.  It seems to provide the only
complete compiled  BASIC package for this platform.  I am looking for info
on availability of  Source Code for examples and any teaching aides that
may have been  developed.
 ------John Buckley------
 Guilderland Apple Byters
                   (J.BUCKLEY6, CAT9, TOP18, MSG:2/M530)


ANOTHER USE FOR DDT HARDWARE   Using the DDT as an interrupt source for a
""""""""""""""""""""""""""""   profiler:  It is possible to use the DDT
hardware for other purposes besides debugging. For example: The 6522 one
the DDT card would make a very good interrupt generator for anyone
interested in making a code profiler. You would probably want to move the
IRQ output from the 6522 from the NMI to the IRQ pin on the card edge
connector to prevent NMIs from occurring during disk I/O. You could then
write a program that would initialize the 6522 and cause it to output
interrupts at regular intervals. At each interrupt you would then check the
program counter value pushed on the stack during the  interrupt to see
where your program was executing. By keeping track of where your program
spends most of its time you would have a code profiler.

     The feature about the 6522 that makes it very well suited for this
task is its internal counter and how it generates interrupts. When the
counter counts down to 0 it generates and interrupt and then proceeds to
continue counting down again from $FFFF. In this way you could accurately
time events even if you can not service the interrupt right away.
                (CHUCK.K [ProDev], CAT5, TOP5, MSG:55/M530)


PAGE ONE STACK GUARD TRICK   (I think this is too simple to be put in
""""""""""""""""""""""""""   "Optimeisters".)
Anyone guarding against a page one stack with something like:

   tsc
    and #$ff00
    xba
    dec
    beq


  just use
     tsc
      cmp #$200
      blt

     It is smaller and also guards against a page zero stack.

     (And thanks for the thanks in IR 2.0.2 Matt. :) I was quite pleased to
see it.)

Jay
                   (JAY.KRELL, CAT3, TOP19, MSG:65/M530)


CHECK FOR ROM 3 CONTROL PANEL DISABLE JUMPER   I finally figured out how
""""""""""""""""""""""""""""""""""""""""""""   Apple's SetStart control
panel checks  for the ROM 3 Control Panel disable jumper!

     First, a check is made to see if the ROM is version 3.

     Then data byte $E8 is read from the keyboard microcontroller  ROM or
RAM. If bit 6 is set, the jumper is present...

 Here is some Merlin source for it:

           ~FWEntry #0;#0;#0;#$FE1F
           ply
           plx
           pla
           pla
           cpy  #3            ;is ROM 3 ?
           bne  :noJumper

           ~ReadKeyMicroMemory #JumperByte;#MemoryLoc;#$0009
           lda  JumperByte
           and  #%01000000    ;is present?
           beq  :noJumper
 :isJumper
           etc...
 :noJumper
           etc...

 MemoryLoc adrl $E8
 JumperByte da  0


 That's all there is to it! :)

  |)     \    /
  |_)RIAN \/\/ELLS
  Internet: b.wells5@pro-magic.oau.org
               (B.WELLS5 [Brian], CAT3, TOP19, MSG:69/M530)



                            >>> HOT TOPICS <<<
                            """"""""""""""""""

WHY APPLE SAYS NO TO TOOLSETS   I was recently asked privately why
"""""""""""""""""""""""""""""   Apple's still telling people not to write
system toolsets, since it seems pretty obvious Apple's not going to make
220 more system tools for the IIgs.

     The answer is the same as the answer for anything in the system that
is currently reserved -- there's not enough for everyone, so individuals
shouldn't use them.

     A good example of this is using file types -- there are only 256 of
them, just like system tool set numbers.  However, over the past several
years, Apple has assigned more than 500 file type and auxiliary type
combinations, and that's not counting all the uses of $F1 - $F8 (which
aren't tracked) or all the uses of "standard" types like Text or Binary.

     If people had been stealing file types for these years, there would be
conflicts on nearly every user's system, and the file types would be
useless as a form of file content identification.  (Some UNIX types will
argue that this is how it should be, since other systems survive without
file types, but that's not the debate here.)

     Where things are reserved, they have to stay reserved because there's
not enough for everyone to have one.  Following compatibility rules is
still important even with Apple's releases of system software obviously
slowing down, because those same rules keep you compatible with other
people's inits, patches and desk accessories.

     There are ways to work around any reserved things, though they may
take a bit more programming.  You can make user tool sets for applications,
or inits that respond to IPC requests if you need your code accessible to
more than applications.

     If you insist on stealing things that are reserved, there _will_ be
conflicts and you _will_ be making the IIgs less useful faster.  If two
programs are available to do two things you need, but they both require
their own "TOOL105", the user has to do file manipulations just to launch
the other program.  That's not very acceptable.  Sometimes the user would
have to reboot, which is even worse.  The same applies for making your own
tool numbers in existing tool sets, or stealing system request codes, or
system resource types.  There are ways around _all_ of this without
creating incompatibilities on people's systems.

     Stealing any of these things is very much like stealing a file type --
it can easily create problems, and it simply tells your users that you're
not clever enough to figure out a standard way around a standard problem
without risking their compatibility.  I believe that if these things start
to happen, the market will probably reject those programs that are
incompatible due to programmer laziness like this.

--Matt (*new* graphics/sound programming RTC Thursdays @ 9:30 PM ET!)
          (M.DEATHERAGE [A2Pro Leader], CAT15, TOP1, MSG:45/M530)


HIERARCHICAL MENUS: HOW DO THEY DO THAT?   We've seen them out there
""""""""""""""""""""""""""""""""""""""""   before.  We KNOW that it can be
done on the IIgs. So my question is this: Does ANYBODY out there have any
experience with creating and/or maintaining hierarchical menus on the IIgs?

     Note that this is _NOT_ intended to be a discussion on whether Hmenus
are any good or not.  What I DO want, though, is some suggestions and
advice from people who have tried to do this before (and succeeded) with
the IIgs.

     Ultimately, I hope to create an add-on program (an INIT or a DA) that
will use hierarchical menus.  This will be a "power" feature that the user
will knowingly and deliberately add to their system.  Note that using
Hmenus is crucial to the success this program; without them, it will be
self-defeating.

ANY information will be extremely helpful!!  :)

--SnakeBytes
                  (SNAKEBYTES, CAT15, TOP15, MSG:93/M530)


USERS CAN'T ADD HIERARCHICAL MENUS TO THEIR EXISTING PROGRAM   Programs
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""   define and
use the menu items in their menus.  A user can't add hierarchical menus to
an application for the same reason you can't use Foundation to add a "Print
Desktop..." menu item to the Finder and expect it to work -- no matter how
they're accessed, the user can't add new menu items.  The best you could
hope for is rearranging existing menus.

     If you're interested in using them in your own applications, Seven
Hills has an init that provides hierarchical menu services to applications.
They don't support it here in A2Pro, but perhaps they could be convinced
to.  :)

--Matt (*new* graphics/sound programming RTC Thursdays @ 9:30 PM ET!)
         (M.DEATHERAGE [A2Pro Leader], CAT15, TOP15, MSG:94/M530)


SEVEN HILLS' INIT BUGGY   Not to start an argument (well, yeah, maybe I do
"""""""""""""""""""""""   want to start one ;-), but I simply would not use
Seven Hills' "Hierarchic" init in a commercial program

     It's just too darned buggy.

     I know of four developers that have already toyed with hierarchical
menus and now SnakeBytes will make five.  Lee has asked me a couple of
times what it would take (he'd like to see it used in our help system's
pop-up menu.)

     If we all write such an init, I pity the poor user trying to run our
software on his machine. With patch, upon patch, the poor Menu Manager will
be freaking out.

     This feature really should have been implemented by Apple. Regardless
of whether or not they approve of it, it would have resulted in more stable
system software for the USER -- the real goal of system software eh?

     It's not like they didn't make other concessions for poorly written
programs...

Bryan (stepping off the soapbox...)
           (SOFTDISK.INC [Bryan Zak], CAT15, TOP15, MSG:95/M530)


HIERARCHIC INIT MAY BE WAY TO GO, BUGS AND ALL    >>> M.DEATHERAGE (Matt)
""""""""""""""""""""""""""""""""""""""""""""""    > The user can't add new
 > menu items.  The best you could hope for is rearranging existing menus.

     That is _exactly_ what I had in mind! :)  I want to take an existing,
standard menu item (I could find the menu & item ID's pretty easily) and
brutally mutate it into a Hmenu, right under the main application's nose.
That is the theory, anyway.


 >>> SOFTDISK.INC (Bryan)
 >It's just too darned buggy

     I've heard that.  The Hierarchic INIT has become infamous because of
this. I was hoping that I could write my own Hmenu system instead, which
brings me to...


 >If we all write such an INIT...the poor Menu Manager will be
 >freaking out.

     You're right on this one, Bryan. Like you say, if every developer
creates their own Hmenu system for their own programs, the now-slick Menu
Manager will end up being patched to pieces and reduced to a pile of
spaghetticode.


 >This feature should have been implemented by Apple.

     What Apple did or didn't do here is not important.  Sure, SOME sort of
standard or system for supporting Hmenus would have been nice, BUT... the
fact remains that there ISN'T one, and there probably won't ever be one,
with the Apple II <-> Apple, Inc. situation being what it is. (It never
hurts to ASK, though!! :)

     As for making my "power user" add-on work:  What I might do is give
the Hierarchic INIT a shot anyway, (bugs & all) just too see if I can make
the thing work at all.  At least I'd be working with a Hmenu system that is
up & running already, and I wouldn't be adding even more confusion by
cobbling up a system of my own (which probably would be peppered full of
bugs anyway) :)

-SnakeBytes  :)=
                  (SNAKEBYTES, CAT15, TOP15, MSG:99/M530)


MAIN PROBLEM WITH HIERARCHIC IS THAT IT IS AN INIT   Isn't the main problem
""""""""""""""""""""""""""""""""""""""""""""""""""   with the Hierarchic
INIT simply that?! That it is an INIT!

     I don't like the idea that when you get a new program (purchase or
shareware) that I have to have a special INIT to run it. The thing then
sits in my machine doing nothing, chewing up RAM and boot time on the off
chance that it may be used.

     Wouldn't a link file be better? It's like the 209 FTA tool or whatever
number it is. Don't present a dialog saying it should be installed and then
quit, either load it yourself from your program's folder, or keep it in
your resource fork and install it on the fly. Applications shouldn't need
anything extra apart from the Apple tools and what comes with the program
itself!

- Richard
                  (RICHARD.B, CAT15, TOP15, MSG:100/M530)


THERE ARE A NUMBER OF GOOD REASONS FOR IT'S BEING AN INIT    >>> RICHARD.B
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""    > Applications
 > shouldn't need anything extra apart from the Apple tools and what comes
 > with the program itself!

     Different people have different philosophies on it.  NDAs can't use
user tools, and some would argue that linking in the hierarchical menu code
for every program that uses it wastes memory and disk space.

     Stealing system tools is a bad idea because everyone can't have one;
there will be conflicts.

     If you write a bunch of programs that use the same functionality,
making it globally available through IPC requests isn't such a bad idea.

     (We should probably start a new topic in Category 11 if we want to
continue this discussion, since it's not directly Menu Manager related.)

--Matt (Live programming help six nights a week!  We must be insane!)
         (M.DEATHERAGE [A2Pro Leader], CAT15, TOP15, MSG:101/M530)


INITS ARE ALSO MUCH EASIER TO UPDATE IN CASE OF BUG FIXES   One other
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""   advantage of
having the HMenu code in an INIT... if (God forbid) BUGS are ever found in
the HMenu code, the INIT can be updated instead of requiring users to
update every single app that uses HMenus.  Much easier.
                   (QUALITY, CAT15, TOP15, MSG:104/M530)


HIERARCHIC INIT DOCS AVAILABLE FROM SEVEN HILLS   OK, the Good News is that
""""""""""""""""""""""""""""""""""""""""""""""   I finally got some
developer docs on how to use the Hierarchic INIT by Seven Hills.  The Bad
News is that all the included source code is in Merlin-16+, and about the
only programming language I know is ORCA/Pascal.

     I've figured out that calls to the Hierarchic INIT appear to made by
some sort of entry-point and stack-based dispatch scheme (similar to the GS
toolbox).  The Message Center is also used somehow.  Beyond this, I can't
make heads or tails of it. :/  (why they didn't simply use IPC
communications or make the INIT a toolset instead is beyond be, IMHO)

     The calls themselves are pretty simple (and they are well described).
Its trying to figure out how to start up the INIT & make the calls from
within ORCA/Pascal that is going to be the tricky part.

     Does anyone have any experience with this?  I could post up some of
the Merlin source code that I have if anyone needs/wants to see what I'm
talking about.

     Any information would be extremely helpful.  Thanks!!

 -SnakeBytes :)=
                 (SNAKEBYTES, CAT15, TOP15, MSG:130/M530)


WELL MY GUESS IS...   I'm not familiar with the Hierarchic init, but from
"""""""""""""""""""   what you've said, it's my guess that you use the
Message Center (MessageByName?) to get the entry point of the init and then
you simply jsl to that location.

     I'm not sure exactly what is going on though. Chances are good that
you're not going to be able to do this in 100% assembly -- you're going to
need some kind of "DispatchTo" routine. And some glue code for the various
routines used by the init. You'll most likely have to write this in
assembly.

 > why they didn't simply use IPC communications or make the init a toolset

     Well, making it a toolset would be illegal and if they used IPC they
wouldn't be able to support 5.0.4. That's my guess.

Bryan
          (SOFTDISK.INC [Bryan Zak], CAT15, TOP15, MSG:131/M530)



                         >>> MESSAGE SPOTLIGHT <<<
                         """""""""""""""""""""""""
Category 16,  Topic 2
Message 63        Fri Aug 13, 1993
JIMZ [A2 JimZ]               at 05:35 EDT

I found this in the Borland Forum on Compu$erve.  I thought you all might
get a kick out of it.

 ================================
 SHOOTING YOURSELF IN THE FOOT
 ================================

 C: You shoot yourself in the foot.

 C++: You accidentally create a dozen instances of yourself and
 shoot them all in the foot. Providing medical assistance is
 impossible since you can't tell which are bitwise copies and
 which are just pointing at others and
 saying "That's me, over there."

 FORTRAN: You shoot yourself in each toe, iteratively, until you
 run out of toes, then you read in the next foot and repeat.
 If you run out of bullets, you continue anyway because you
 have no exception-handling abilities.

 Modula-2: After realizing that you can't actually accomplish
 anything in this language, you shoot yourself in the head.

 COBOL: USEing a COLT 45 HANDGUN, AIM gun at LEG.FOOT, THEN
 place ARM.HAND.FINGER on HANDGUN.TRIGGER and SQUEEZE. THEN
 return HANDGUN to HOLSTER. CHECK whether shoelace needs
 to be retied.

 LISP: You shoot yourself in the appendage which holds the gun
 with which you shoot yourself in the appendage which holds the
 gun with which you shoot yourself in the appendage which holds
 the gun with which you shoot yourself in the appendage which
 holds the gun with which you shoot...

 BASIC: Shoot yourself in foot with water pistol. On big systems,
 continue until entire lower body is waterlogged.

 FORTH: Foot in yourself shoot.

 APL: You shoot yourself in the foot, then spend all day figuring
 out how to do it in fewer characters.

 Pascal: The compiler won't let you shoot yourself in the foot.

 SNOBOL: If you succeed, shoot yourself in the left foot. If you
 fail, shoot yourself in the right foot.

 Concurrent Euclid: You shoot yourself in somebody else's foot.

 HyperTalk: Put the first bullet of the gun into left foot of you.
 Answer the result.

 Motif: You spend days writing a UIL description of your foot, the
 trajectory, the bullet and the intricate scrollwork on the ivory
 handles of the gun, When you finally get around to pulling the
 trigger, the gun jams.

 Unix: & Is foot.c foot.h foot.o toe.c toe.o % rm *.o: No such
 file or directory % Is %

 XBase: Shooting yourself is no problem. If you want to shoot
 yourself in the foot, you'll have to use Clipper.

 Paradox: Not only can you shoot yourself in the foot, your users
 can too.

 Revelation: You'll be able to shoot yourself in the foot just as
 soon as you figure out what all these bullets are for.

 Visual Basic: You'll shoot yourself in the foot, but you'll have
 so much fun doing it that you won't care.

 Prolog: You tell your program you want to be shot in the foot.
 The program figures out how to do it, but the syntax doesn't
 allow it to explain.

 370 JCL: You send your foot down to MIS with a 4000-page document
 explaining how you want it to be shot. Three years later, your
 foot comes back deep-fried.

--JimZ

                               [*][*][*]


    While on GEnie,  do  you spend most of your time  downloading files?
If so, you may be missing out some excellent information in the Bulletin
Board  area.   The messages  listed above  only scratch  the surface  of
what's available and waiting for you in the bulletin board area.
 
    If you are serious about your A2,  the GEnieLamp staff strongly urge
you to give the bulletin board area a try. There are literally thousands
of messages posted from people like you from all over the world.



[EOA]
[DEV]//////////////////////////////
              DEVELOPER'S CORNER /
/////////////////////////////////
News From The A2Pro Online Developers
"""""""""""""""""""""""""""""""""""""
By Jim B.Couch
    [J.COUCH2]



                      >>> ONLINE SUPPORT IN A2PRO <<<
                      """""""""""""""""""""""""""""""

     CAT  TOP  COMPANY
     ===  ===  =======
     29   INDEPENDENT DEVELOPERS ONLINE
           2   DYA/DigiSoft Innovations Online
           8   Simplexity Software Online
          14   Quality Computers Q-LABS Online
          20   DreamWorld Software Online
          26   METAL/FV Software Online
          32   Kitchen Sink Software Online

     30        PROCYON, INC.
     31        SOFTDISK PUBLISHING
     32        MORGAN DAVIS GROUP (MDG)
     33        GS+ MAGAZINE
     34        JEM SOFTWARE
     35        LUNAR PRODUCTIONS
     36        THE BYTE WORKS

     Each month this column feature highlights and news from various
developers who provide support via A2Pro.



               >>> NEWS FROM THE INDEPENDENT DEVELOPERS <<<
               """"""""""""""""""""""""""""""""""""""""""""

DYA/DIGISOFT TILL ALIVE AND WELL   Yes, we're still alive!
""""""""""""""""""""""""""""""""
     The summer has been very hectic for us.  I'll be away personally again
for the next week so I figured I'd catch up here now :-)  Things will be
back to normal come September!

     I will upload the Orca/C sample Twilight II module source (showing how
to use SOUND, color cycling, and setup in a T2 module!) when I get home.
Pascal and assembly source coming next!

     And yes, we're still working on finishing the IPC documentation as
well, so you can start writing true T2-savvy programs!

     Speaking of T2-savvy programs, Express 2.1 now supports T2 (it tells
T2 to background blank while something is spooling.)  Thanks to Seven
Hills!

     We will be starting work on T2 v1.2 very soon too!

The future holds a lot in store! :-)

 <<Jim [DYA:DigiSoft]

              (DYA [Jim:DigiSoft], CAT29, TOP3, MSG:14/M530)


WRITING TWII MODULES ARTICLE IN LATEST GS+   Well, it's here folks!  The
""""""""""""""""""""""""""""""""""""""""""   GS+ article on writing
Twilight II modules is in the latest July/August 1993 issue that just came
out.  Check it out.  We'll be uploading the source code to GEnie very soon.
(Yes, I know I've been saying that, but now there's really no reason to
keep the pascal and C module shells stashed away :) - assembly version
coming later on)

 <<Jim
               (DYA [Jim:DigiSoft], CAT29, TOP4, MSG:4/M530)


LAST CALL FOR METAL WINDOW/MANAGEMENT SUGGESTIONS   Remember a while back I
"""""""""""""""""""""""""""""""""""""""""""""""""   asked if anyone had any
ideas for window/menu management language extensions?  Well, if you have
any spiffy ideas, -now- is the time to speak up!  I'm starting to write the
interpreter for the Mac version (FV Pro), and I'll need to add these
commands in as a top priority. I've also got someone working on converting
the Metal source to GS/OS for me, so there will quite likely be a Metal GS
that would also benefit from the addition of these commands.
                  (J.THOMPSON1, CAT29, TOP28, MSG:8/M530)


NEW TOPIC FOR SYSTEM II DEVELOPMENT PACKAGE TALK   Just in the way of
""""""""""""""""""""""""""""""""""""""""""""""""   announcement for those
who are reading this topic, Kitchen Sink has created a new topic for the
discussion of the System II development package.  It is topic number 36 in
this category.

     Eric Bush, Kitchen Sink Software, Inc.
              (KITCHEN.SINK [Eric], CAT29, TOP33, MSG:2/M530)


SYSTEM II GUI FOR 8 BIT PROGRAMS COMING SOON   System II Kitchen Sink
""""""""""""""""""""""""""""""""""""""""""""   Software, Inc. has recently
announced a new developer package for 8-bit developers that gives the power
of a Graphical User Interface (GUI) to 8-bit programs.  System II uses
Applesoft, Machine Language, or a combination of both files.  It is 100%
ProDOS compatible. That means that it can be installed on hard drives, or
3.5" drives without a hitch.

     Some of the features of System II's developer package are:

     o Mouse/Joystick support
     o Pull-down/Pop-up menus
     o Musical noteso Custom Beeps
     o Buttons
     o Double Hi-Res graphics drawing commands
     o Custom screen copying, combining, inversing, etc.
     o Shapes that draw efficiently even at large scales (uses Applesoft
       shapes, too)
     o Programmable from Applesoft and/or Machine Language
     o And much more...

     This topic has been created to discuss the development features of
this package.  If you have any questions about what the package can do,
this is the place to ask.  If you attended the Kitchen Sink sessions at
KansasFest, then you may have started playing with the demo that was handed
out there. This is the place to ask questions about that as well.

     Now is also the time to ask for features since we haven't released the
full package yet.  It is easier to add features now than after release.

Eric Bush, Kitchen Sink Software, Inc.
              (KITCHEN.SINK [Eric], CAT29, TOP36, MSG:1/M530)



                      >>> NEWS FROM PROCYON INC. <<<
                      """"""""""""""""""""""""""""""

PROCYON ACCEPTING ORDERS FOR GNO/ME V2.0!   August 8, 1993 (Littleton, CO)
"""""""""""""""""""""""""""""""""""""""""   Procyon Enterprises announced
today that they are now accepting orders for the new version of their
GNO/ME UNIX system for the Apple IIGS.

     Jawaid Bazyar, Vice President of Procyon and lead engineer of the GNO
project, said "GNO/ME 2.0 represents a substantial improvement over the
original, which was in its own right a ground-breaking work. In the past
year since the original release, we've listened to customer's concerns and
addressed most of them. We brought even more UNIX power to the IIGS by
implementing the most powerful inter-process communication system available
for the IIGS".

     UNIX is quickly becoming the de-facto standard among operating
systems. Even operating systems which never claimed to be UNIX compatible
are rushing to provide POSIX compliance interfaces for their systems.
(POSIX is the International Standards Organization's UNIX standard).

     "This release reaffirms our commitment to the Apple IIGS, a very
capable computer that many developers abandoned", said Matt Gudermuth,
President of Procyon. "Some people ask if the IIGS is powerful enough to
run UNIX, and many used to answer with a resounding NO!. We answer these
people by pointing out that the first mainframe computers that ran UNIX
were far less powerful than the Apple IIGS. The IIGS is here to stay, and
we're going to keep supporting it with our powerful system software."

     GNO provides UNIX features in an application environment that runs "on
top of" GS/OS, so that the IIGS software everyone enjoys is actually
enhanced by using GNO. Included as standard with the GNO system are almost
one hundred standard UNIX utilities and some IIGS-specific ones such as
print spooling from text or desktop applications and a "shell-in-a-window"
New Desk Accessory. Full support for remote access to a IIGS via a modem,
and built-in ultra high speed serial communications means that GNO is the
perfect system for writing communications programs.

     "Communications is one of GNO's strong points," remarks Derek Taubert,
the individual responsible for the upcoming Internet access software for
GNO. "Because GNO does all the low-level work for me, and gives me a simple
interface to access it, I can concentrate on the task at hand instead of
worrying about writing things like interrupt handlers".

     GNO comes with comprehensive documentation covering all aspects of the
system, including programming the kernel, the shell, the C and assembly
libraries, and utilities.

     For more information, including information on upgrade pricing,
contact Procyon at:

Procyon Enterprises Incorporated
Apple IIGS Software Publishing and Development
P.O. Box 620334
Littleton, CO 80162-0334 USA
(303) 781-3273

---------------------------------------------------------------------------
GNO/ME 2.0 Upgrade Plan   To upgrade your copy of GNO/ME to 2.0, send a
"""""""""""""""""""""""   check or money order, along with your GNO serial
number, to the address at the end of this note.  At this time we cannot
accept credit card payments; we apologize for any inconvenience.

     It is very important that you include your serial number. If you have
lost your original disks or manual, and don't know your serial number, we
have records for almost everyone (the database we were using destroyed some
records. Hopefully we can fully restore the database during the update
process).

     If you purchased GNO before the final 1.0 release, but didn't receive
a real copy of GNO 1.0, subtract $10 from the upgrade price. No fibbing! We
know who got 1.0 and who didn't :-)

     A $3 shipping fee applies to all domestic orders (including Canada),
$8 for overseas shipping.

     Full GNO 2.0 system, including all printed documentation: $30 GNO 2.0
system with only user references (kernel overview and shell manual): $20.

     Do not forget to add in the shipping fee - we cannot ship orders that
do not include shipping charges.

Send orders to:
Procyon Enterprises Incorporated
P.O. Box 620334
Littleton, CO 80162-0334
---------------------------------------------------------------------------

GNO 2.0 New Feature List   This is not a complete list - there were
""""""""""""""""""""""""   obviously bugs corrected, but we didn't feel it
was important to list them here. Questions about fixed bugs are welcome.


Kernel   Now provides six Inter-Process Communication methods for
""""""   unprecedented power (signals, semaphores, pipes, pseudo-terminals,
messages, and ports).

     Named Prefix support. No matter what your hard drive partitions are
named, every GNO system has a /bin, /usr, /dev, /etc, and other standard
UNIX partition names.

     The serial drivers were completely rewritten to allow high-speed
throughput, up to 38400 baud, and hardware and software (XON/XOFF)
flowcontrol. They also implement the complete set of BSD control functions
that are applicable on a IIGS.

     Pipes are up to 30 times faster than in 1.0!

     Compatible with System 6.0.1 features and applications - all standard
System Software utilities (such as Finder) now run in GNO.

     Compatible with all of the ORCA 2.0 version languages, including
ORCA/C and ORCA/Pascal.

     New fork2() call makes it easy to fine-tune parameters of a new
process.

     Console driver now maps arrows and OA-sequences to ESC codes that can
be read through the GS/OS read call.

     GNO now sends SendRequest codes to indicate GNO start up and shut
down.

     Removed limit on number of user semaphores (screate)

     Code optimization means all these new features only take up 20K more
of memory!

     Support for TCP/IP and sockets is implemented inside the kernel


Shell   Directory stacks save typing when moving among many directories.
"""""
     Complete command, filename, and variable-name expansion - just hit TAB
to have the shell finish typing for you.

     Better support for running scripts in the background

     Command-line editor is now completely user-configurable. Don't like
the standard editing keys? Change them!

     More environment variables for customizing the operation of the shell.
More options in the PROMPT variable.

     New built-ins show all accessible commands.

     Can now invoke gsh with arguments to execute scripts and commands (for
use inside other programs).

     More built-ins can have output redirected or piped.


Environment   New installer automatically sets up a GNO system on any
"""""""""""   computer, and creates default configuration files. No more
fussing with "rc" files to get GNO up and running.

     Complete docs for programming the kernel, shell and programmer's
libraries; and documentation for the standard UNIX utilities. The
documentation is now indexed.

     All applicable utilities now use the termcap library for flawless
remote-access support. gsh, vi, less, more, etc. all use termcap.

     Print spooling utilities for both text files and GUI programs (like
AppleWorks GS).

     gsi - Graphical Shell Interface NDA allows you to run a shell in a
window while in a desktop program

     Suspend NDA allows the user to suspend a desktop application and
return to the shell. 'fg' resumes the desktop program.

     rz/sz - Utilities for sending and receiving files via X,Y, and ZModem
protocols; these all work in the background!

     copycat - a dumb terminal with some not-so-dumb features for quick
modem use.

     Password-protected logins with multiple user accounts, and library
routines to help programmers access user information.

     'ls' utility is restartable and much faster.

     'launch' command allows you to run a ProDOS 8 (or other incompatible)
program and return directly to GNO without going through another program
launcher.

     GNO Snooper CDA can now kill processes.

     Replacement C library that works better with all of GNO's features.

     Even better HFS and AppleShare support.

     More than twice as many standard utilities as version 1.0.

                  (PROCYON.INC, CAT30, TOP5, MSG:21/M530)


A COUPLE OF QUESTIONS ABOUT GNO/ME   I have a couple of question about the
""""""""""""""""""""""""""""""""""   new GNO/Me shell and kernal program
for the //gs one what is the cost of the new version? two what exactly are
the multitasking capabilities gained by using GNO/ME

thanks, Matt Tartaro
               (M.TARTARO [DoZer], CAT30, TOP1, MSG:16/M530)


HERE IS THE SCOOP ON THE NEW GNO/ME SHELL    >I have a couple of questions
"""""""""""""""""""""""""""""""""""""""""    >about the new GNO/Me shell
 >and kernal program for the //gs one what is the cost of the new version?

   $89, same as the previous version.

 >two what exactly
 >are the multitasking capabilities gained by using GNO/ME

     GNO uses preemptive multitasking; your programs don't have to be
specially  written to multitask properly (okay, there are a few things you
don't want  to do, but those same things tend to wreak havoc in standard
GS/OS, too).  Preemption provides the possibility of dynamic scheduling,
which  automatically assigns CPU time to the processes according to an
algorithm  that keeps user response times reasonable.

     GNO doesn't multitask desktop programs like The Manager does; GNO's
multitasking is far more controllable and is easily programmable.  GNO has
six forms of interprocess communication, so no matter what you're trying to
communicate there's a way to easily do it.

     GNO _does_ let you multitask one standard desktop application (this
can be  Switch-It!, for example) along with 32 shell applications;
basically, you  can have daemons running regardless of the 'mode' (GUI or
text) the machine  is in. Daemons range from print spoolers to shells on a
terminal to BBS's  to "run X at a certain time" systems.

     GNO supports remote logins (multiple users) through serial ports,
modems,  terminals, and soon, network connections.

     If you want more info, just let me know - everyone here knows I have a
big  mouth :-)

 Jawaid
                  (PROCYON.INC, CAT30, TOP1, MSG:17/M530)



                   >>> NEWS FROM SOFTDISK PUBLISHING <<<
                   """""""""""""""""""""""""""""""""""""


GSLIB TO BE RELEASED TO THE PUBLIC SOON!   In the next couple of weeks,
""""""""""""""""""""""""""""""""""""""""   I'll be pleased to finally
release GSLib to the public!!!

     We've hired a new guy to join our programming team and about 2 months
ago, my manager said that I needed to fully document our in-house
development tools so that his learning curve (and those that follow) can be
as short as possible.

     What is GSLib?

     Put simply: An extension to the GS Toolbox.

     Without going into a lot of detail, GSLib is a collection of routines
that can be linked into any ORCA or MPW IIGS language. There are around 350
routines spread among 32 "Managers" or "Tool sets" just like the IIGS's
toolbox.

Two examples:

     RMOpenResourceFile (in GSLib's Resource Manager). Very similar to the
Toolbox OpenResourceFile call except that RMOpenResourceFile checks to see
if the disk the specified file resides on is write-protected and the caller
has asked for read-write access. If so, it displays a dialog asking the
user to unlock the disk (if the disk can be unlocked!). If the disk can't
be unlocked, or the user cancels when asked to unlock the disk, a
write-protect error is returned.

     This makes it sooo much easier to trap problems before they can even
occur.


     BytesToString (in GSLib's String Tool Set). Takes a long integer value
and converts it to a string (eg, 50K, or 5.4MB, or 1.2GB). A flags
parameter controls the number of decimal points (from 0 to 3) and whether
or not the size suffix should be appended ("K", "MB" and "GB").

                               [*][*][*]


     While these routines don't seem that complicated (they're not!),
having them in one central library, along with hundreds of other, useful,
routines makes it much easier for us to get issues of Softdisk G-S
finished.

     If they can help us, they can probably help you too!

                               [*][*][*]


     So, why are we giving this away free? Especially when you realize that
we've invested hundreds of hours of our time developing it (and thus
thousands of dollars). Simple. If even _ONE_ person submits something to
Softdisk G-S because of it, we've gained. And if submitters are using
GSLib, it makes it that much easier for us to maintain and update.

     You'll be free to use GSLib in any of your programs, we do ask that
you include a copyright notice (Some portions of this program Copyright
1990- 1993, Softdisk Publishing) somewhere (either in the program itself,
or in its documentation), but that's it -- no money is involved (unless you
want to buy me lunch! ;-)


     Sometime in the next week or two, I'll be uploading GSLib along with
interface files for ORCA/M, ORCA/Pascal, ORCA/C, APW C, MPW IIGS C, MPW
IIGS assembler and MPW IIGS Pascal.

     There will also be complete toolbox-like documentation (I spent over
130 hours on this documentation!) in the form of Microsoft Word documents.

     I _personally_ will provide paper versions of the documentation at
cost (whatever Kinko's charges me for 400 double-sided pages and postage to
you).

     Along with the library, interfaces and documentation is sample code.
There will be a sample application and DA for MPW IIGS Pascal and MPW IIGS
assembler.

                               [*][*][*]


     I'm really excited about *finally* releasing this thing! I've been
building up to this for almost three years (GSLib actually grew out of
NDALib if anyone remembers that...)

Bryan

     PS: Wait until you see some of the cool routines, like TaskMasterPlus!
           (SOFTDISK.INC [Bryan Zak], CAT31, TOP9, MSG:67/M530)



                      >>> MORGAN DAVIS GROUP NEWS <<<
                      """""""""""""""""""""""""""""""

INTERESTED IN MD-BASIC FOR THE MACINTOSH?   If MDG were to port MD-BASIC to
"""""""""""""""""""""""""""""""""""""""""   run on the Macintosh, how many
of you would be interested in it?  With people snapping up IIe Cards for
their LC's, or who have powerful Quadras sitting next to their Apple IIs,
the Macintosh seems an obvious platform to utilize for Applesoft
development (just as MPW is for Apple II and IIGS application development).

     What do you think?
                 (MORGAN-DAVIS, CAT32, TOP3, MSG:63/M530)


REQUEST FOR MODEMWORKS SUGGESTIONS AND BUG REPORTS   We're working on the
""""""""""""""""""""""""""""""""""""""""""""""""""   next version of
ModemWorks, so we're interested in your suggestions (especially bug
reports, if you have any, on 3.0).
                 (MORGAN-DAVIS, CAT32, TOP4, MSG:19/M530)



                      >>> NEWS FROM GS+ MAGAZINE <<<
                      """"""""""""""""""""""""""""""

YES GS+ WILL PUBLISH YOUR PROGRAMS!   Well, after talking with a few people
"""""""""""""""""""""""""""""""""""   at KansasFest and after receiving a
few E-Mails, I believe it's time to announce that...

     YES, WE WILL PUBLISH PROGRAMS THAT YOU WRITE IN GS+ MAGAZINE!

     Actually, we have always had this policy, j.  :-)  It seems that a lot
of people really don't realize that.  If you've got a super-cool IIGS
program and you want to see your name in print, give us a holler.
                 (JWANKERL [Joe], CAT33, TOP2, MSG:2/M530)



                      >>> NEWS FROM GEM SOFTWARE <<<
                      """"""""""""""""""""""""""""""

THE WORKS 4.0 VS ULTRA 4. INQUIRING MINDS WANT TO KNOW!   Lately there has
"""""""""""""""""""""""""""""""""""""""""""""""""""""""   been a lot of
discusion over in A2 about The Works 4.0  update to Appleworks. I am
curious as to  what impact the new 4.0 Appleworks  will have on Ultra
programmers? Will our old macros work, or will they need  to be re-written.
Will Ultra 4 be included, or does it need to be installed  onto The Works
4.0. If so, will Ultra 4 work, or will there be a new  version. Perhaps you
could discuss some of the ultra programing specfics  here.

     Inquiring minds want to know.

-Jim Couch
             (J.COUCH2 [A2Pro Lamp], CAT34, TOP3, MSG:1/M530)


THE WORKS 4.0 WILL INCLUDE ULTRA 4.3 RUNTIME MODULE   Most old macros will
"""""""""""""""""""""""""""""""""""""""""""""""""""   work fine, unless of
course they're directly accessing addresses which move, or execute
keystroke sequences no longer valid. An Ultra 4.3 run-time will be
included, but a new Compiler and Debug will be needed to write Ultra 4.3
programs.
                 (BRANDT [Randy], CAT34, TOP3, MSG:2/M530)



                    >>> NEWS FROM LUNAR PRODUCTIONS <<<
                    """""""""""""""""""""""""""""""""""

HOW FAST IS NAMEOBJ   How fast is NameOBJ? I am wary of anything that adds
"""""""""""""""""""   to compilation time.

     I am currently using a hack that patches in debug names at runtime,
but it wastes space, doesn't currently work with debug code or routines
within #pragma databank 1, and requires recompiling to remove the names.

Jay
                   (JAY.KRELL, CAT35, TOP6, MSG:19/M530)


IT ONLY TAKES A SECOND    I use NameObj from time to time. It's a post
""""""""""""""""""""""   processing command file that  just munches your
OBJ files to add a GSBug compatible name entry.

     It only takes less than a second to munch your OBJ files. I highly
recommend it.

Burger..
                  (BURGERBILL, CAT35, TOP6, MSG:20/M530)



                     >>> NEWS FROM THE BYTE WORKS <<<
                     """"""""""""""""""""""""""""""""

BYTEWORKS RELEASES 3D LOGO FOR THE IIGS!
""""""""""""""""""""""""""""""""""""""""
 Product     : 3D Logo for the Apple IIGS
 Price       : $95
 Version     : 1.0
 Last Update : August 1993
 Discuss in  : Topic 32

     3D Logo is a multimedia language, perfect for a wide range of
programming. Logo is so simple to learn and use that it's taught to kids as
young as second grade, yet it's also a powerful list processing language
that is used for some of the same tasks as LISP.

     3D Logo adds some awesome multimedia features to the traditional Logo
language.  It sports a 3D turtle, which can turn right out of the screen.
Using special glasses, you actually see true 3D on your color monitor.
It's so real some of our second grade beta testers actually tried to grab
sapes they saw floating in front of the screen!

     The 3D turtle works great without the 3D glasses, too.  Logo's turtle
graphics are famous for making it easy to draw shapes.  Our 3D turtle makes
it just as easy to draw wire frame models, complete with perspective!

     3D Logo creates movies, too.  A few simple commands can animate a
shape, rotating it or propelling it across the screen.  With a little more
work, you can create cartoon-like movies.

If you add Talking Tools, 3D Logo can talk, too.  If you type

     Say "Hello.

     the computer actually reads the text and says, "Hello!"

     3D Logo comes with a 196 page manual that introduces you to Logo and
gives a complete reference to the Logo language.  Each command includes at
least a one-line example showing how it's used, and many commands are
illustrated with short programs.  You get a boot disk, a Logo program disk,
and samples.  Installer scripts make it easy to put Logo on your hard disk,
or even set up a Logo boot disk for one drive computers.  Logo comes with
one pair of 3D glasses; you can buy additional glasses for $2 per pair.
                   (BYTEWORKS, CAT36, TOP2, MSG:4/M530)


3D LOGO AND HYPERLOGO INTRODUCTORY SPECIAL   3D Logo retails for $95.
""""""""""""""""""""""""""""""""""""""""""   Later this year, we'll release
HyperLogo GS, which will also retail for $95.  During the introductory
special, we're offering either package for $50 plus shipping.  Shipping in
the U.S. is $5.

     We also are offering a bundle which includes both 3D Logo and
HyperLogo, but there's an obvious problem there:  one of the packages isn't
ready yet, but we don't want to cheat people who buy early.  For that
reason, you can buy the bundle now.  It's $85 plus shipping (still $5 in
the U.S.) If you buy the bundle, you'll be charged for 23D Logo now ($50 +
$5) and the balance when HyperLogo ships.  The bundle price won't get any
better then, and it might get a little worse.

     3D Logo comes with a 30 day money back garantee.  Unlike some
companies, if you return it, we _do_ want to know why -- we're curious
types -- but any reason is good enough.  We'll even refund the shipping you
have to pay to get it back, up to a maximum of $5.  We're that sure people
will like it.

     3D Logo is being printed now, and is due back Monday.  It will take
Jaccque a day or two to actually put the first batch of products together
and start shipping some, so the first ones will go out around the middle of
next week. As with any new product, we expect to get behind on shipping
pretty quick, so it does pay to order early.  With all of this in mind, you
can order now.

     You can order online.  Be sure to send your:

          Name
          Shipping address
          VISA or MC number
          What you are ordering
          What you expect to pay

     I'm pretty behind on e-mail, though, so I'd suggest calling or
writing. You can reach us at:

          Byte Works, Inc.
          4700 Irving Blvd. N.W. Suite 207
          Albuquerque, N.M.  87114
          (505) 898-8183

     If you order the bundle and pay by check, send two:  One for $55 and
one for $35.  We'll hold the $35 check until HyperLogo ships.

     If you'd like more information, in the form of a printed brocure, send
a mailing address to any of the above places with a reminder telling us
what you want information about, and we'll get a package off to you right
away.

-Mike Westerfield
                  (BYTEWORKS, CAT36, TOP32, MSG:26/M530)


3D LOGO SAMPLES AND INFO IN A2PRO LIBRARY   There are two new files in the
"""""""""""""""""""""""""""""""""""""""""   library that I hope you will
find interesting.

     File 3516 is a list of all of the commands in 3D Logo 1.0.

     File 3517 is a sample movie showing four molecules rotating in 3
dimensions. This movie shows off the graphics and list processing power of
Logo in general, and the 3D graphics capabilities of 3D Logo in particular.
Rotating molecules like the ones in this movie were the centerpiece in the
popular 3D Logo talk in KansasFest -- the one Steve Disbrow says was his
favorite in his summary of KansasFest in the July GS+.  Movies of rotating
objects are very easy to create with 3D Logo, as the people who saw that
session will tell you.

     If you don't have 3D Logo or some movie player, be sure to stop by A2
and download one of the Paintworks compatible movie players, too.

Mike Westerfield
                  (BYTEWORKS, CAT36, TOP32, MSG:37/M530)



[EOA]
[TEC]//////////////////////////////
                       TECH_TALK /
/////////////////////////////////
RTC Happenings
""""""""""""""
By Nate C. Trost
       [N.TROST]



                      >>> ON HARDWARE DESIGN <<<
                      """"""""""""""""""""""""""

<A2PRO.STEVE>    So Todd! I have a question on Hardware design!

<A2PRO.TODDPW>   ok, shoot.

<A2PRO.STEVE>    What's the difference between MOS/CMOS and TTL ?
                 TTL = Transistor to Transistor Logic right?

<A2PRO.TODDPW>   TTL is older, slower, but much more static resistant
                 than MOS.

                 TTL does stand for Transistor to Transistor Logic,
                 but the important side of it is really that the transistors 
                 are bipolar as opposed to MOS (metal-oxide-semiconductor)
                 transistors.

<A2PRO.STEVE>    Are they logic compatable?

<A2PRO.TODDPW>   They can be. Most devices have inputs and outputs
                 that are to a good extent compatible with both.

<A2PRO.STEVE>    So for instance the Apple II Bus logic is compatable with 
                 both MOS and TTL?

<A2PRO.TODDPW>   Within limits, yes. There is a basic parameter
                 (fanout) which you must worry about regardless of the logic 
                 family -- essentially it is the ability of each chip driving 
                 the bus to juice up the inputs of all the other chips on the bu

<A2PRO.STEVE>    AAAhhhh.. :-)

<A2PRO.TODDPW>   For example, the RamFast C has LS TTL drivers which
                 can handle almost anything, but the D has HCT drivers 
                 which are not as good at overpowering noise and such. That's 
                 why you "can't" use a Rev D on the //e.

                 Fanout as a term is the ratio of a chip's own outputs
                 and inputs (i.e. how many of its own inputs could it drive 
                 in the worst case and still meet timing specifications).

                 If you convert everything to currents, you can spot
                 lots of potential bus flakiness problems, including clock 
                 signal distribution and others.

<A2PRO.STEVE>    That's cool! That makes logic circuits that much easier to
                 understand!!!! I thought there was some big huge honking 
                 difference between TTL and MOS.

<A2PRO.TODDPW>   There IS a big honking difference between TTL and
                 MOS. But it is not the kind of inherent compatibility 
                 that would normally be implied by a statement like that...

<A2PRO.TODDPW>   For instance, the voltage levels are different, and
                 can be made compatible without too much trouble. It is another 
                 factor in a design however. That's why so many chips have 
                 "universal" inputs and outputs.

                 More specifically, TTL wants to see voltages below
                 about .8 volts for zero, and above roughly 2 for one. CMOS 
                 will take things above or below 2.5 volts (give or take a 
                 little) without too much sweat.

                 As for outputs, TTL drives about .4 volts for zero,
                 and 3.5 (I think) for one. CMOS will drive almost all the way t
                 +5 and Ground.

                 CMOS power consumption is also much less than TTL,
                 that's why it's so popular. CMOS power consumption is 
                 often related linearly to the frequency at which its 
                 inputs change.

<A2PRO.STEVE>    So what kind of rates can CMOS handle on average, or does that
                 vary...Rates of logic inputs changing..

<A2PRO.TODDPW>   easily above 1 mhz. state of the art CMOS runs at
                 100mhz and beyond, usually at exorbitant cost in power.

<[rob] R.SANT1>  ----------------  Thought to drop by and continue on the 
                                   questions regarding InvalRect, InvalRgn...

                                   Okay, I tried a short routine by Bryan, which
                                   said basically, GetPortRect, push the address
                                   of the Rect, and call InvalRect.  I get Zebra
                                   stripes whereever the cursor crosses the scre
                                   and can no longer access the menu bar.

<[A2Pro Leader] M.DEATHERAGE>  --  You're not doing this between BeginUpdate and
                                   EndUpdate, are you?

<[rob] R.SANT1>  ----------------  No, I did read #75...

<[A2Pro Leader] M.DEATHERAGE>  --  Are you sure the current port is set to the
                                   window in question?

<[rob] R.SANT1>  ----------------  Each pass through the MainScan loop calls 
                                   FrontWindow, and sets the ports...So, when I 
                                   call GetPortRect, it should be the port of th
                                   front window? 

<[A2Pro Leader] M.DEATHERAGE>  --  The current port is the last thing you passed
                                   to SetPort.

<[PseudoNate] N.TROST>  ---------  FrontWindow does not set any ports.

<[A2Pro Leader] M.DEATHERAGE>  --  If you called SetPort(FrontWindow), then it 
                                   will be.  Otherwise, who knows?

<[PseudoNate] N.TROST>  ---------  Are you calling SetPort with the results of  
                                   FrontWindow?

<[rob] R.SANT1>  ----------------  Sequence is...  Call FrontWindow, GetRefCon 
                                   (Handle to a series of pointers), Set the 
                                   pointers for location of text, various graph
                                   routines, etc.  Current port should be the fr
                                   window shouldn't it?

<[PseudoNate] N.TROST>  ---------  No. You can't assume front window will be the
                                   current port.

<[rob] R.SANT1>  ----------------  If I have only one window open, what else wou
                                   it be?

<[PseudoNate] N.TROST>  ---------  Rob--The desktop, menu bar, anything.

                                   ALSO.

                                   You should check to see if the Window is 
                                   YOUR Window.

                                   Compare the window pointer given to you by 
                                   FrontWindow with your window pointer.

<[Sloanie] A2PRO.HELP>  ---------  Or, just do a _GetWKind.

<[PseudoNate] N.TROST>  ---------  You don't want to call InvalRect on a NDA 
                                   window or something.  :)

<[rob] R.SANT1>  ----------------  When I call front window, I call GetWFrame, 
                                   and compare it to the params set on my graphi
                                   window (i.e. 100001111101).

<[A2Pro Leader] M.DEATHERAGE>  --  Rob, that's not a guaranteed way to know the
                                   window is yours.

<[A2Pro Leader] M.DEATHERAGE>  --  Someone else could have the same window frame
                                   bits.

<[Sloanie] A2PRO.HELP>  ---------  Use _GetWKind.

<[PseudoNate] N.TROST>  ---------  Or compare the window pointers.



                 >>> OFF THE DEEP AGAIN (again :-) <<<
                 """""""""""""""""""""""""""""""""""""

<[Sloanie] A2PRO.HELP>  ------  that's what we ought to do one RTC.. make all of
                                our questions and answers one-word
                                _Send/AcceptRequests calls.

<A2PRO.STEVE>  ---------------  tellJimILikedSloaniesIdea

<[Sloanie] A2PRO.HELP>  ------  sloanieSaysThankYou

<JIMZ>  ----------------------  jimzSaysSteveIsAnIdiot

<JIMZ>  ----------------------  srqGoAway, everyone!

<[Snow Crash] N.TROST>  ------  nateSaysWowDoesHeMissSpaceCharacters

<A2PRO.STEVE>  ---------------  tellSloanieYouCantHaveApostrophiesInSendRequestN

<A2PRO.STEVE>  ---------------  tellSloanieItWouldMessUpTheCompilerOrAssembler

<JIMZ>  ----------------------  tellNateJimzAgrees

<[Sloanie] A2PRO.HELP>  ------  tellSteveOkThenIWontUseThem

<A2PRO.STEVE>  ---------------  tellSloanieThankYou

<[LEGOLunat!c] A2.LUNATIC>  --  lunatic_Says_Well_You_Could_Always_Use_Underscor

<A2PRO.STEVE> Steve_Says_Then_We_Look_Like_NOVELL_API_Documentation

<[Snow Crash] N.TROST> Sloanie -- Error $0120 (reqNotAccepted)



                        >>> ON 3-D GRAPHICS <<<
                        """""""""""""""""""""""

<[SNS Ken] K.WRONKIEWIC>  --  Someone gave me a 3D rendering equation at another
                              RTC, but it doesn't work right..  The equation was
                              X(2d)= X(3d)/Z(3d) and Y(2d)= Y(3d)/Z(3d)..

<A2PRO.STEVE>  -------------  That was me..  (The scaling equation)
                              That's how you should do it for single objects...

                              That is the simplest 2d -> 3d Transform with High-
                              being a horizon "Into" the screen..

                              That's used for a "star field" you have to calcula
                              perpendicular to that for 3-d Rotations of complex
                              objects.

                              If you want to rotate an Object of "Objects" then 
                              need to have X,Y,Z all modify two actual parameter
                              for that equation.. have X modify X,Y Y modify Y,Z
                              Z modify Z,X Understand?

<[Nate] N.TROST>  ----------  Shawn Quick uploaded a 3D stars routine that does
                              that....  
 
                              File #976 is a demo with assembly source.
                              File #972 has C code with the algorithm.



                 >>> ON WINDOWS 'IN THE BACKGROUND" <<<
                 """"""""""""""""""""""""""""""""""""""

<[ToddM] T.MYERS4>  -------------  I want to write an 'event reminder' as an NDA
                                   and I was wondering if there is a tool call 
                                   that I can get a window up on the desktop
                                   from the background?

<[Bryan Zak] SOFTDISK.INC>  -----  Todd: nope. It takes a bit of work (I just we
                                   through this with Jay during developemnt of 
                                   Don't Forget).

<[A2Pro Leader] M.DEATHERAGE>  --  Not easily, Todd.  Trying to do notifications
                                   when you're not "in control" is a hassle.

<[Bryan Zak] SOFTDISK.INC>  -----  Todd: Depending on just how much control you 
                                   need.....the best, safest and easiest way to 
                                   do what you want is to use a RunQ item.

                                   But, keep in mind that's only applicable
                                   while the Desk Manager is up. If you want to 
                                   track time beyond that, you'll need a heartbe
                                   task. (Wherein you can set a flag so that the
                                   next time your RunQ is executed you can notif
                                   the user of past events...)

                                   systemSaysDeskStartUp and 
                                   systemSaysDeskShutdown are your friends 
                                   in this case.



[EOA]
[KFE]//////////////////////////////
                    KFEST REPORT /
/////////////////////////////////
Through the Bleary Eyes
"""""""""""""""""""""""
By Nate Trost
    [N.TROST]

 

                     >>> My Report of KFest '93 <<<
                     """"""""""""""""""""""""""""""
      (long, rambling and written Like It Happened....in a haze :-)

     To summarize KansasFest 1993 (in the beginning of the report no less
:-), it was a blast.  Words cannot accurately describe the experience.
There IS no substitute for being there.  However, some of the events do
deserve retelling....

     This was the fifth KansasFest (also known as the A2-Central Summer
Conference.  As my fourth visit (having only missed the first year), Avila
sure looked familiar.  All was quiet as I walked up.  There was slight
confusion on my part as I discovered that unlike previous years, there was
no dorm registration in the Marian Center.  Undaunted, I ventured out to
the Ridgeway dorm.  As I entered, I passed Dean Esmay, A2's head honcho.
Dean didn't recognize me at first.  Thanks Dean.  :-)

     Sure enough, I got my room key and some registration information
(which I promptly ignored :-).

     Now it was time to bring two boxes of computer junk, duffel bag full
of clothes, backpack full of A/V stuff, crate of manuals, and a cooler full
of Mountain Dew into the room.  Actually this was overkill since I didn't
really spend any time in my room and didn't use anything but the Mountain
Dew....but since everything was so heavy to bring in and out, I _had_ to
mention it here.  ;-)

     As I was carrying stuff in and out I ran into my first Crowd of
Talking People.  Dean, Tyler Weisman, Joe Kohn, Mike Westerfield, and
several other people I didn't know were standing outside Ridgeway.  After
chatting with them for a while I went in search of the A2Pro staff.

     The majority of the A2Pro staff (Matt, Steve, Sloanie, Dave and JimZ
from A2) had already left for Matt's hotel for the Hair Shaving Party.
Because of this I decided to experience the wonderful Avila Cafeteria
dinner. After four years, you kind of almost like the stuff.  :-)

     Inside I found the other attending members of the A2Pro staff, Jim
Maricondo and Todd Whitesel (who had both elected to keep their hair).
After grabbing the Avila equivalent of a personal 'pizza', I began to
table-hop.  Chatted with Lunatic, Tony Diaz, Andy McFadden (who I hadn't
met before), Jim, Todd, Michael Lutynski, and a bunch of other people.

     Things started picking up when I returned to Ridgeway.  More people
were slowly arriving.  I wandered the halls for a while, saying hi to
people I knew and finding the names of people I didn't.  Trying to
determine which A2 RTC Hostesses were which turned out to be quite a
challenge (well, not Tara ;-).  By the end of the evening I had Susan
MacGregor and GEna Saikin straight though.  :-)

     One fun event while I was wandering the halls was running into
Hangtime, who had possession of a Powerbook Dean had been using.  As Tara,
TomZ (and later Ellen Rosenberg plus one or two other people) and myself
watched, Hang logged in as Dean.  Much fun was had sending EMail to the
rest of the staff calling them names and fooling Susan (in a RTC from her
dorm room)...at least until Hang used one of his characteristic B-)>
smiles.  :-)

     A little later on, Softdisk showed up in the form of Jay Jennings and
Bryan Pietrzak.  I accompanied them on a food run in the mini-van they had
rented.  It was most interesting watching the interaction between the two
in the car.  Amazing they didn't kill each other on the way up..or while
they were working in the same office. :-)  (BTW, thanks for all the rides
guys!)

     More wandering, more chatting, more fun.  The gang that participated
in the Head Shaving party returned with gleaming heads and sporty
Apple/Newton baseball caps.  More wandering.  I think it was at around this
time that Susan (or GEna, can't remember which) snapped a picture of Mike
Westerfield, Marcus Staender (visiting from Germany), and myself sporting
nifty 3-D glasses (more on that later).

     Eventually, Bill Heineman showed up with some luggage and a load of
Focus hard drive cards.  After chatting for about half an hour, we actually
made it to his room to unload all his stuff.  He then proceeded to
enlighten me on what he had been up to.  This was good, since it was
something like 2am and the way things were going I knew I'd probably end up
dozing through the keynote and Bill's Avatar update.  :-)

     More wandering, finishing my source code handout for my session,
finding that Steve still wasn't quite ready for his session, dawn.

     Eek.  I had stayed up all night.  

     I grabbed breakfast and chatted with the rest of the early,
bleary-eyed crowd, grabbed my hard drive, and headed off to NOMDA with
Bryan and Jay in the Softdiskmobile.  I registered and realized I left my
handouts back at Avila.  Eek.  So, it's time for a quick trip back and
forth in Binary Bear's (known to some as Dave Ciotti) van.  Nice van.
Thanks Bear!

     Time for the keynote.  But first some fun!  Actually, I can't remember
if it was before the keynote or after...I hadn't slept.  :)  Since there
was a slightly smaller crowd this year, the beloved (and soon to be
roasted) Tom Weishaar took some time to recognize the souls who had been to
KansasFest all five years (and especially those who had PAID all five years
:-).  Then he went down the aisles with cordless mike in hand and conducted
a brief interview with virtually everyone in the auditorium (about 100
people).  It was most enlightening, educational, and entertaining.  Some of
the attendees should have been comedians instead of programmers (of course
some of them are comical programmers :-). Mike Westerfield started off the
sessions with his keynote address "Amateur Programming for Fun & Profit".
Taking into account the fact that the audience consisted of programmers
from all skill levels as well as non-programmers, Mike gave a nice keynote.
In addition to just talking about starting up with programming, he livened
up the speech with antidotes from 'the good old days' of mainframe and
minicomputing.  Good speech, although I kept nodding off.  The NOMDA
auditorium will do that do you!

     After the keynote, Bill Heineman gave his Avatar update.  I had
already heard everything from Bill the previous evening/morning, so I
mostly dozed during this session.  Since his session last year had been so
popular, he was the only session running for this hour.  In a nutshell, the
Avatar is on hold.  However, Bill and his partner, Steve Parsons, have
cloned the Apple IIGS System Software to a 6.0 level.  They are currently
working on designing a plug-in unit for the Super Nintendo Entertainment
System that will turn it into a low cost personal computer.  Since this
computer would run the cloned GS System Software, there was some confusion
over whether or not the machine was intended to be a GS 'add-on' for the
SNES.  Although it appears that some GS software will run on the machine,
it is not intended to be a GS in a SNES but simply a low cost personal
computer.

     Following the Avatar update was lunch.  Lunch was held in the NOMDA
dining room and, unlike last year, KansasFest attendees were not the only
people using the facility.  People from Sprint and other companies could be
seen milling around the room (and the rest of NOMDA).  Lunch consisted of
quiet chatting (on my part) with Dean, Bill Lynn, and Steve Gunn.

     After lunch I attended the "A Dieter's Guide to Hi-Speed Data
Compression" session given by Andy McFadden.  Andy, author of the
Hardpressed disk compression software from Westcode, _knows_ data
compression.  He did a good job of explaining ways to optimize compression
routines and did a nice explanation of the LZW compression algorithm.

     Next it was time for the session I was cohosting with Steve Gunn, "The
Latest and Greatest Advanced Sound Techniques with the Ensoniq 5503". No
further comment except that it would have been nice to have more time.  :-)

     I stayed in the room to attend Jim Maricondo's "Fun & Easy: Writing
Twilight II Modules" session.  It was nice to _finally_ get the docs and
sample source for T2.  It looks like it's a lot of fun, now I just need to
find some time to write modules.  I also got my first look _at_ T2.  By the
end of the conference I had bought my copy.  :-)

     Once again I decided to stay in the room I was in (even though the
other room had all the cool comfy chairs ;-) and watch Bryan Pietrzak's
"Intermediate Desktop Programming".  Bryan covered a lot of information on
effectively writing desktop applications.  I ended up dozing off and then
going to watch Jay finish his book.

     After returning to Avila, nothing much happened until the
dinner/roast.  Like last year, it was a stitch.  :-)

     Before the roast began, the Avila cafeteria filled with the attendees
(except for a few who ended up falling asleep in the dorm and missing the
whole thing, you know who you are!).  Everyone was milling around feeding
on the line of appetizers (including some very nummy meatball things),
chatting, and looking for a good seat.  I took this opportunity to compare
notes with a couple people, swap jokes, and guzzle some more Mountain Dew
to keep myself going.

     Once again, the host was hosted by Steve (Dishbrow) Dizbrow, editor
and publisher of GS+ magazine.  Steve has done a wonderful job of hosting
both roasts with his wisecracks, ability to make a complete fool out of
himself in front of a large audience (just kidding Diz, you were great :-),
and his ability to really rip on Roger Wagner and Tom Weishaar in a way
that isn't affected by being employed by them.  ;-) The roasters included
Dean Esmay, Hangtime, Dennis Doms, and Matt Deatherage. The roastee was
none other than the infamous, beloved, Uncle-DOS...aka Tom Weishaar.

     Highlights of the roast included a bunch of 'subtitle' signs used by
HangTime, lies, rumors and top-10 lists from Dean, and a intentionally and
unintentionally funny song by A2 RTC Host Tara Dillinger (known as the
A2.Goddess) featuring Matt Deatherage on piano.  The several little
glitches from not rehearsing beforehand made it all the more enjoyable
(what, piano solo HERE?  :-).

     After the roast broke up, people began to wander the dorms again.
Eventually, I found myself in the center TV room/lounge on one of the
floors. There was quite a crowd, with Roger and Pam Wagner, Ellen
Rosenberg, Tara, HangTime, Joe Wankrel, and a variety of others wandering
through.  After some idle chatter, people began tossing crumpled paper into
a wastebasket basketball style.  This soon became rather entertaining as
people began doing over the back shots, shots from across the room, shots
that pelted other people (dare ya to plonk HangTime! :-).....

     Then Roger asked if anyone had a big paper bag.  I went back to my
room to retrieve one of the grocery bags I had been using to carry stuff
and brought it back.  Then a new KFest activity was born: Bite the Bag.

     Roger proceeded to explain the rules of this simple game.  The paper
bag sits on the floor.  Each participant takes a turn in a series of
rounds.  The object of the game is to pick the bag up off the ground with
your teeth while touching the ground with only one appendage (foot, hand,
shin). After each round, the top of the bag is made shorter all the way
around.  This means you have to go down even LOWER <evil laugh>

     About three _hours_ later (at about 2am) the game was over.  The
finalists were (a name that escapes me, probably because he won :-), Randy
Brandt, Roger Wagner and Cullen (Johnson?). In my own personal opinion,
Bite the Bag ranks as one of the funniest, craziest, stupidest, most
pointless and most fun KFest activity ever.  Trying to Bite the
inch-off-the-ground saliva covered Bag is fun!  With at least three
camcorders running, talk about blackmail material....  :-)

     As the game broke up, a couple people were still trying to pick up the
BOTTOM of the bag (no sides, just the bottom) off the floor.  Since I
hadn't slept the previous night, I figured this would be a good time to get
some sleep before I got suckered into playing Bite the Carpet.  ;-)

     Somehow I managed to get up and drag myself to breakfast on Friday
morning. Discussion consisted mostly of Bite the Bag.  Then I hauled myself
over to NOMDA for Day 2.

     My first session of the day was "The Hitchhiker's Guide to Apple IIGS
Telecommunication", presented by Richard Bennett and Steve Gunn.  This
session had lots of good technical information on telecommunications
programming.  Richard Bennett, responsible for low-level routines in the
upcoming Spectrum telecommunications program from Seven Hills, talked in
detail about the low-level nitty-gritty.  Unfortunately, it was all way
over my head.  :-)

     The next session gave me an excuse to get in the room with the nice
chairs.  ;-)  Mike Westerfield gave a dynamite session on "Programming in
3D Logo".  Mike has been working on Logo for some time now.  It all when
Roger Wagner Publishing contracted with Byte Works to develop a Logo
language for use in the Mac version of HyperStudio.  Mike then turned it
into a standalone GS application and added 3D features.  There are even
more plans for a standalone Mac application and HyperLogo language add-on
for HyperStudio GS.  Not only does 3D Logo give Logo a neat new GS
interface, but it adds features such as movie creation (way cool!), and
_true_ 3D graphics (with a 3D turtle).  Mike had brought a couple dozen 3D
glasses and soon the crowd was all decked out like a drive-in.  :-)  It
really works!  Grab those geometric figures!  This was in my opinion the
coolest new program I saw at KFest, and the coolest session.

     Now it was lunch time again.  This time I munched the meal with Dave
Miller, Jim Zajkowski, and someone else...  Entertainment consisted of a
takeoff of the popular PBS program The McLaughlin Group.  This was, The
Deatherage group!  Mediated by Matt Deatherage, the panel included
Uncle-DOS, Steve Disbrow, Roger Wagner, Bill Heineman and Andy McFadden.
Questions ranged from "Avatar?  Where?"  to "Vaporware".  Basically the
questions were designed to put at least one of the panelists in the hot
seat at any one time.  Great fun.

     After lunch came the Great Session Rivalry.  Jay Jennings (Adventure
Game Design: The Internals) and Randy Brandt (Quadriga) had been in fierce
competition to have the most attended session.  Well, not fierce, more of
good-natured friendly "I'm going to get more people, nyah."  :-) Amazingly
enough both sessions TIED at 37 attendees.

     Not so amazingly, neither session was any good.   :-)

     Just kidding!

     I attended Jay's session.  He gave a nice talk on designing adventure
games, and gave out a real neato handout.  Also, he gave out an issue of
Softdisk G-S with a GAME!  Goodie!  :-)  Attendees also got a beta copy of
Skrypter, an adventure game builder for the Softdisk Adventure Machine 2.0,
so everyone could play with Jay's ideas and break his rules.  ;-)

     The rest of the afternoon at Avila consisted of listening to "Making
HyperStudio YOUR Platform: Writing NBAs & Transitions", "Maximizing
Shareware Profits", and "A View of the II and Eureka Symbolix" in the room
with the comfy chairs.  I was so tired and the chairs were so comfy, I
don't remember much else.  :-)

     Friday evening started when I went along with Bill Heineman, Tony
Diaz, the Guy with the Cool Car Stereo Who Gave Me a Ride But I Forget His
Name Argh, Michael Lutynski, Jim Maricondo and a couple others to see
Coneheads. Stupid flick, no plot, but it was fun in a group.  BTW, A2Pro
Non-Programming Tip #3215, don't use computer related pick-up lines in a
movie theater.  :)

     After the movie it was time for Deep Philosophical discussion with
Randy, Dean, Bryan, Steve and some others.....then Roger Wagner came by and
it was time to recklessly risk life and limb by Climbing with Roger.  Or
Watch _Roger_ Risk Life and Limb.  :-)  After two rock walls (Roger) and a
railing, we decided to scale the Avila dorm roof.  Unfortunately, even the
man who dared to write HyperStudio considered moving inch by inch hanging
on by the fingertips a little too risky.  Oh well, next year.  :-)

     More wandering, more talking, more Mountain Dew (notice a recurring
theme in this article? :), and finally, sleep, again!

     Saturday morning.  The unstructured day.  So unstructured I slept
through breakfast.  Oops.  Tracked down Bryan and Jay and rode with them to
McDonalds to grab some breakfast en route to The Resource Central Sale.
Resource Central essentially opened up their offices Saturday
morning-afternoon to host a big sale.  In addition to trying to get rid of
some of their stock, they were selling off a bunch of neat old stuff from
DTS at dirt cheap prices.  Was a lot of fun visiting R-C, poor Uncle-DOS
had someone asking him for a price quote every couple seconds!  :-)

     Afterwards, I took off with Matt Deatherage and Steve Gunn in search
of a cash station machine.  Amazingly enough Matt managed to navigate the
streets of KC like he does with the technotes....even after driving all
over the place we still made it back to Avila.  :)

     Now I wandered the dorms encountering little clusters of bored people.
Most of these groups were engaging in yet another KFest tradition...
throwing the Frisbee around in the dorm.  After a couple tosses, a couple
quick ducks, and a jammed finger or two I continued wandering and picked up
a little crowd.  These people (who shall remain nameless :-) just listened
to me babble for minutes on end.  By this time I was so tired I was doing
Emo impressions.  They listened to it.  They must have _really_ been tired.
;-)

     Next I took off for KC Masterpiece with Sloanie and Linda in my van
(wow, using _my_ vehicle for a change!) where we met up with Dean, Hang,
and a bunch of other A2 staff that didn't wait for us.  :-P This was my
first trip to KCM.  Yummy.  I can see why it's a KFest tradition.

     After KC, the A2/A2Pro sysops (and a few non-sysops) headed over to
Dennis Doms house for a little laserdisc party.  About two dozen people
packed into his living room to watch The Wizard of Speed and Time, Mant,
and the extended Abyss on LD.  Thanks Dennis!  Traveled back with Softdisk
and we stopped by a little convenience store...and bought Nitro Cola.  Wow,
fun stuff.  :)  Back to Avila, crash.  Wake up late next morning, pack up
and roll out to end another fun filled KansasFest.



[EOA]
[LIB]//////////////////////////////
             LIBRARY BIT BONANZA /
/////////////////////////////////
HOT Files You Can Download
""""""""""""""""""""""""""
By Nate Trost
    [N.TROST]



                    >>> WELCOME TO THE BIT BONANZA <<<
                    """"""""""""""""""""""""""""""""""
SEPTEMBER 1993
"""""""""""""""

SYSTEM 6.0.1 and 4.0.2 in A2Pro!   System 6.0.1 for the IIGS and 4.0.2 for
""""""""""""""""""""""""""""""""   eight-bit Apples are now available in
the A2Pro library!

The Release Notes!   You can get the information of all the changes and
""""""""""""""""""   bug fixes in the release notes files.  The 6.0.1
Release Notes are available in file #3493.  The 4.0.2 Release Notes are
available in file #3494.  Bo th files are plain ASCII text so you can
download them or just <L>ist them into your scrollback buffer.

6.0.1!   If you want _everything_ in the 6.0.1 package and have 3 megs of
""""""   free hard disk space, you can download it all in one big file!
File #3495 contains all six disks of System 6.0.1 and the release notes.
If you have the space and want it all, this is the easiest way to do it!


The individual disks are:

     INSTALL       - #3486
     SYSTEMTOOLS1  - #3487
     SYSTEMTOOLS2  - #3488
     FONTS         - #3489
     SYNTHLAB      - #3490
     SYSTEMDISK    - #3491

     Downloading all six disks is strongly recommended.  However, users
with only one floppy drive can just download SYSTEMDISK (#3491) for a
minimal 6.0.1 configuration.  Users of hard drives or larger me dia devices
must at least download INSTALL (#3486) and SYSTEMTOOLS1 and SYSTEMTOOLS2
(#3487 and #3488).


4.0.2!   There is a new system for eight-bit users too!  File #3492
""""""   contains ProDOS 8 System Disk 4.0.2.


A2 University FILES
"""""""""""""""""""

File #3484:  D.COMP.CRS.BXY (GS)
Uploaded on 8/10/93 by A2PRO.GREG
About 46K (d/l time approx. 4 minutes 30 seconds @ 2400 baud)

This file contains all of the messages, questions, answers and discussions
that took place during the recent A2U course hosted by Andy McFadden,
'Hacking Data Compression'.  These messages are archived here for easier
access.


Prodev DDT Files
""""""""""""""""

File #3497:  DDT.DRAWING.BXY (ALL)
""""""""""""""""""""""""""""""""""
Uploaded on 8/14/93 by CHUCK.K
About 70K (d/l time approx. 7 minutes @ 2400 baud)

This file contains the schematic for the DDT8, DDT16 debuggin cards for the
Apple II and Apple IIGS. There are two copies of the schematic, one is a
postscript file and the other is an AutoCadAD DXF file. Also included is a
short hardware description file.


File #3477:  DDT16.SRC.BXY (ALL)
""""""""""""""""""""""""""""""""
Uploaded on 8/7/93 by CHUCK.K
About 160K (d/l time approx. 16 minutes @ 2400 baud)

Complete source code for the DDT16 in Merlin 16+ format. Includes source
code for a simple Init and a brief description of the DDT hardware.  The
DDT is a debugging card for the Apple II.


File #3476:  DDT.MANUAL.BXY (ALL)
"""""""""""""""""""""""""""""""""
Uploaded on 8/7/93 by CHUCK.K
About 58K (d/l time approx. 6 minutes @ 2400 baud)

Complete manual for DDT8 v1.6 & DDT16 v1.7. All files are in AppleWorks
file format.  The DDT is a debugging card for the Apple II.


A2/A2Pro SPECIAL FILES
""""""""""""""""""""""

File #3472:  A2NDX9308DB.BXY (ALL)
""""""""""""""""""""""""""""""""""
Uploaded on 8/1/93 by A2.BILL
About 15K (d/l time approx. 1 minute 30 seconds @ 2400 baud)

An index of A2 bulletin board categories and topics as of August 1, 1993,
in AppleWorks database (ADB) form.


File #3471:  A2NDX9308TX.BXY (ALL)
""""""""""""""""""""""""""""""""""
Uploaded on 8/1/93 by A2.BILL
About 15K (d/l time approx. 1 minute 30 seconds @ 2400 baud)

An index of A2 bulletin board categories and topics as of August 1, 1993,
in plain text (ASCII) form.


UTILITIES
"""""""""

File #3483:  EPEEK.BXY (GS)
"""""""""""""""""""""""""""
Uploaded on 8/10/93 by A2PRO.STEVE
About 4K (d/l time approx. 30 seconds @ 2400 baud)

This is a simple CDA that lets you watch what is going on with the Ensoniq
in real time. Pretty Nifty!  You can see the current status of each
oscillator and view the contents of each register, see which operating mode
an oscillator is in, see interrupts as they are generated by the
oscillators, watch the A/D input register, and more!  An essential utility
if you program or are interested in the Apple IIGS sound hardware.


File #3480:  RCOMPACT.BXY (GS)
""""""""""""""""""""""""""""""
Uploaded on 8/8/93 by RICHARD.B
About 4K (d/l time approx. 30 seconds @ 2400 baud)

Uses the System 6.0.1 Resource Manager call _CompactResourceFile to compact
resource forks from the Merlin command line or link file.  Requires 6.0.1
and Merlin 16+.


File #3479:  COPYFORK.BXY (GS)
""""""""""""""""""""""""""""""
Uploaded on 8/8/93 by RICHARD.B
About 4K (d/l time approx. 30 seconds @ 2400 baud)

Replacement for Merlin's COPY EXE command. Allows you to choose which forks
(data or resource) to copy, and supports full GS/OS pathnames (ie. spaces,
commas etc.).


File #3462:  NULIB3.24.BXY (ALL)
""""""""""""""""""""""""""""""""
Uploaded on 7/29/93 by FADDEN
About 165K (d/l time approx. 16 minutes 30 seconds @ 2400 baud)

This is NuLib v3.24, a shell-based NuFX (ShrinkIt) archive utility.  It
does pretty much all of what ShrinkIt does, but it's slower and has some
minor brain damage.  This version has some new code for fixing MS-DOS
filenames.  This archive contains the C source code, which will compile
with APW C (**NOT** Orca/C -- different libc) on the IIgs, Microsoft C on
an IBM PC, and on just about all the UNIX platforms I know of.


File #3461:  MINITALK.BXY (GS)
""""""""""""""""""""""""""""""
Uploaded on 7/28/93 by RICHARD.B
About 19K (d/l time approx. 2 minutes @ 2400 baud)

Version 1.4.1 of this simple terminal program in a CDA.


File #3451:  IR2.0.2.BXY (GS)
"""""""""""""""""""""""""""""
Uploaded on 7/19/93 by M.DEATHERAGE
About 130K (d/l time approx. 13 minutes @ 2400 baud)

IR 2.0.2 is a Finder Extension that allows you to double-click inits, desk
accessories, some GS/OS drivers and other Finder Extensions from within the
Finder and install them without rebooting.  A full set of inter-process
communication (IPC) features makes it easy to add IR functionality to your
own program without including the code, which is kind of delicate.  FULL
SOURCE CODE INCLUDED in MPW IIgs Assembly, as well as a Nifty List module
(in Pascal) and interfaces.  Unpack to an _HFS_ disk.  Version 2.0.2 fixes
several bugs found over the past year.


File #3450:  SYNTHFILE11.BXY (GS)
"""""""""""""""""""""""""""""""""
Uploaded on 7/19/93 by D.TRIBBY
About 50K (d/l time approx. 5 minutes @ 2400 baud)

Synthfile version 1.1, a program for the ORCA or GNO shell will:  print a
description of the contents of MIDI Synth sequence, wave, and instrument
files and will also optionally play the sequence files.  Complete ORCA/C
source code is provided, with enough comments so a programmer can learn the
"secrets" of using the MIDI Synth toolset.  This version fixes a problem
that kept synthfile from running in the background under GNO.


SAMPLE SOURCE/LIBRARIES
"""""""""""""""""""""""
File #3499:  ARC3D.ALPHA.BXY (GS)
Uploaded on 8/15/93 by FADDEN
About 356K (d/l time approx. 35 minutes @ 2400 baud)

This archive contains the Arc3D library, some demos (Not Modulae and Not
Stellar 7), documentation, and some utilities.  It's a long- unfinished
project I started a while back.  Arc3D is a library of routines for 3D
graphics on the IIGS.


File #3473:  ZOUNDPLAY3.BXY (GS)
""""""""""""""""""""""""""""""""
Uploaded on 8/1/93 by N.TROST
About 45K (d/l time approx. 4 minutes 30 seconds @ 2400 baud)

ZoundPlay 3.0.  A simple GS/OS application that will play binary, AE,
HyperStudio, rSound, ASIF, AIFF and AIFF-C sound files.  Complete Merlin
source for using the sound toolset and for processing the sound file
formats is included.


File #3457:  FFTGS.BXY (GS)
"""""""""""""""""""""""""""
Uploaded on 7/27/93 by J.GRAHAM29
About 97K (d/l time approx. 10 minutes @ 2400 baud)

FFT GS v1.0 is a utility for converting data fromto/from Fourier transforms
using a fairly simple Fast Fourier Transform algorithm and plotting the
results on a simple graph. Includes source dcode, docs, and examples.


UPDATES
"""""""
File #3453:  REZSCGUPDAT.BXY (GS)
Uploaded on 7/24/93 by D.LEFFLER
About 2K (d/l time approx. 20 seconds @ 2400 baud)

An update to the Genesys REZ SCG so it will create rIcon and rVersion types
that are compilable with the REZ TYPES.REZ for System 6.


File #3452:  REZNAMESSCG.BXY (GS)
"""""""""""""""""""""""""""""""""
Uploaded on 7/20/93 by D.LEFFLER
About 4K (d/l time approx. 30 seconds @ 2400 baud)

This is a SCG for Genesys that will allow you to create a REZ file with the
rResNames you have entered in Genesys.  You may have noticed that after the
first time you compile and go back into Genesys, the equates have changed
back into the generic Resource ID number stuff.  Yuck!  This is a Source
Code Generator Script that replaces one of the "C" SCGs.  Includes
Documentation.


File #3449:  SYSTEMCALLS.BXY (GS)
"""""""""""""""""""""""""""""""""
Uploaded on 7/17/93 by BYTEWORKS
About 5K (d/l time approx. 30 seconds @ 2400 baud)

This file documents the various system calls used in the 2.0.1 versions of
the ORCA languages.  This information was not in some early releases of
ORCA/M 2.0.3.  You need this information if you want to write programs from
assembly language that read and write text using the new libraries, or if
you want to write an assembly language program that will call compiled
subroutines from the ORCA languages.



A2Pro Bulletin Board Archives
"""""""""""""""""""""""""""""

File #3468:  ORCA.C.BXY (GS)
""""""""""""""""""""""""""""
Uploaded on 7/29/93 by A2PRO.STEVE
About 58K (d/l time approx. 6 minutes @ 2400 baud)

This file contins archived messages from the A2Pro Bulletin Board Cat 36
Topic 11 'ORCA/C'


File #3467:  ORCA.PASCAL.BXY (GS)
"""""""""""""""""""""""""""""""""
Uploaded on 7/29/93 by A2PRO.STEVE
About 58K (d/l time approx. 6 minutes @ 2400 baud)

This file contins archived messages from the A2Pro Bulletin Board Cat 36
Topic 10 'ORCA/Pascal'


File #3466:  ULTRA.PGM.BXY (ALL)
""""""""""""""""""""""""""""""""
Uploaded on 7/29/93 by A2PRO.STEVE
About 40K (d/l time approx. 4 minutes @ 2400 baud)

This file contins archived messages from the A2Pro Bulletin Board Cat 34
Topic 3 'Ultra Programming'


File #3465:  PRINT.MGR.BXY (GS)
"""""""""""""""""""""""""""""""
Uploaded on 7/29/93 by A2PRO.STEVE
About 42K (d/l time approx. 4 minutes @ 2400 baud)

This file contins archived messages from the A2Pro Bulletin Board Cat 15
Topic 19 'Print Manager'


File #3464:  SHR.ANIM.BXY (GS)
""""""""""""""""""""""""""""""
Uploaded on 7/29/93 by A2PRO.STEVE
About 23K (d/l time approx. 2 minutes @ 2400 baud)

This file contins archived messages from the A2Pro Bulletin Board
Cat 11 Topic 5 'SHR Graphics and Animation'


File #3463:  ALGORYTHMS.BXY (ALL)
"""""""""""""""""""""""""""""""""
Uploaded on 7/29/93 by A2PRO.STEVE
About 40K (d/l time approx. 4 minutes @ 2400 baud)

This file contins archived messages from the A2Pro Bulletin Board Cat 11
Topic 8 'Programming Algorythms and Structures'



[EOA]
[SSW]//////////////////////////////
            SYSTEM SOFTWARE NEWS /
/////////////////////////////////
New System Software Examined!
"""""""""""""""""""""""""""""
By Jim B. Couch
     [J.COUCH2]


     The release notes published here were provided by Apple and are
available in the A2Pro library as file #3493 REL.NOTES.601 (for GSOS System
Software V6.0.1) and 3494  REL.NOTES.402 (for 8-Bit 4.0.2 SSW.)



             >>> APPLE IIGS SYSTEM SOFTWARE RELEASE NOTES <<<
             """"""""""""""""""""""""""""""""""""""""""""""""
VERSION  6.0.1, MAY 21, 1993   These release notes detail changes made from
""""""""""""""""""""""""""""   version 6.0 to 6.0.1 of the Apple IIgs
System Software.

     Much of the material here is intended for programmers.  For
information affecting users, read the Whats.New and Shortcuts files on the
SystemTools2 disk.

     This document does not describe new 6.0.1 toolbox and GS/OS features
in detail.  See the 6.0.1 addendum to Programmer's Reference For System
6.0.


                       >>> SYS.RESOURCES CHANGES <<<
                       """""""""""""""""""""""""""""
     Changed the rVersion resource ID=1 string to read "System Software"
instead of "System" (this is important for the Finder's reorganized About
box).

     Updated rErrorString resources to say "disk" instead of "volume."

     Fixed the standard window color table resource to have a white info
bar fill color (the byte at offset 8 is now $F0 instead of $00).

     The Icon Button control now supports "sticky" icon controls. If bit 4
of the ctlFlag field is set and the mouse button is released when the
cursor is inside the control, the control stays highlighted to show that it
is "selected."  The ctlValue field contains $0001 when the icon is in the
selected state, and $0000 when it is not.  An extra parameter, #12, has
been added to the control template to allow for an initial value word for
this type of control.

     Setting a thermometer control's value no longer draws anything if the
control is invisible.

     The Launcher now zeros the BUSY flag (this makes Option-Open work in
the Control Panels NDA).

     The Launcher sets the noResourceMgr bit in StartUpTools (to avoid a
duplicate startup, which StartUpTools now checks for).



                          >>> TOOLBOX CHANGES <<<
                          """""""""""""""""""""""
WINDOW MANAGER V3.4   TOOL014   Added a new call, UpdateWindow, to help
"""""""""""""""""""   redraw other people's windows safely.

     AlertWindow now uses UpdateWindow.

     DoModalWindow now uses UpdateWindow.  If the mwUpdateAll bit is clear,
it passes flags of $0000 for the dialog window, but $8000 (background
update) for other windows--so the other windows update only if it's safe
for them to background- update.  If the mwUpdateAll bit is set, it always
passes flags of $0000.  It returns an error ($0E05, cantUpdateErr) for a
background update of a System window, since System windows should always
get updated from inside SystemEvent.

     Changed DoModalWindow so it doesn't invalidate controls on an activate
if the window's fCtlTie bit is set, saying that the control states are
independent of the window state.

     After DoModalWindow does an LECut, LEPaste, TECut, or TEPaste, it
returns the ID of the control that was just edited.

     HandleDiskInsert duplicate-disk dialog now uses the Note alert icon
instead of the 3.5" disk icon, since the dialog also appears for disks that
look nothing like 3.5" floppies.

     HandleDiskInsert now treats error $51 (directory damaged) like error
$5A (damaged bitmap); it puts up "This disk is damaged and can't be used.
Eject/Initialize".

     Bits 31-24 of the updateProc to HandleDiskInsert are now honored even
if the rest of the pointer is NIL.  This way you can flag your window as
not needing GS/OS for its update.

     HandleDiskInsert never replaces a window's existing wContDraw
procedure, if it has one (we give it a wContDraw on the first call if it
doesn't have one).


MENU MANAGER V3.4     TOOL015   In AllocateCache, we now clip the menu
"""""""""""""""""     height to 200 for computing the size handle needed to
save the screen.  We were overflowing the computation for tall pop-up
menus.  See also TS3.

     When the pop-up control defproc handles a do_event message, now it
only sends keyDown and autoKey events to MenuKey, not any old event.  It
also preserves the menu bar around the MenuKey call, so we don't
accidentally leave the menu bar set to the pop-up menu control.

     DeleteMItem now properly shrinks the menu handle by twelve bytes (was
ten).  Not worth patching for ROM 3 (you get the bytes back when the menu
goes away anyway).

     Pop-up proc uses DrawStringWidth to draw non-popped-up pop-up controls
(it truncates long items in the middle).


CONTROL MANAGER V3.4   TOOL016   Added four new calls:  SetCtlValueByID,
""""""""""""""""""""""""""""""   GetCtlValueByID, InvalOneCtlByID, and
HiliteCtlByID.

     CtlStartUp removes the RefreshDesktop run queue routine, so the
desktop doesn't refresh an extra time when starting an application in a
different resolution from the one you used last (the scroll bars thought
they had to redraw in 6.0, even though they really didn't).

     The Static Text control now supports a new ctlFlag bit. If bit $10,
fSquishText, is set as well as fBlastText, the control will draw the text
with DrawStringWidth to compress and truncate on the right.

     Replaced one GetSysPrefs call and two SetSysPrefs calls with two
DoSysPrefs calls, which should significantly speed up every CMLoadResource
call.  (DoSysPrefs has lower overhead; it does not call GS/OS internally.)


QUICKDRAW II AUXILIARY V3.5    TOOL018   Added three new calls:
"""""""""""""""""""""""""""    DrawStringWidth, UseColorTable, and
RestoreColorTable.

     DrawStringWidth draws a string to fit in a specified horizontal width,
compressing and/or truncating the string as necessary.  The string can be
Pascal, C, or GS/OS, and you can reference it by pointer, handle, or
resource.  The truncation is an ellipsis on the left, on the right, in the
center, or no truncation.  Compression is optional.

     UseColorTable preserves SCBs and sets them to use a color table you
specify.  It also preserves the old contents of that color table and sets
the color table to the data you specify, or to a standard color table.
UseColorTable returns a handle that you later pass to RestoreColorTable to
put things back how they were.  Generally, you will call UseColorTable on
an activate event and RestoreColorTable on a deactivate event.

     Added several new icons to GetSysIcon:  text ($04), source file ($B0),
Applesoft BASIC program ($FC), archive ($E0), and binary file ($06).

     GetSysIcon now calls SendRequest with a new request code,
systemSaysGetSysIcon, to allow utilities and applications to provide a
replacement icon.


PRINT MANAGER V3.2     TOOL019   Fixed bad-parameter error code from
""""""""""""""""""""""""""""""   PMLoadDriver & PMUnloadDriver to be $1309,
as documented (was returning $1308 before).


LINE EDIT V3.4         TOOL020   Added a new call, LEClassifyKey, which
""""""""""""""""""""""""""""""   classifies a keystroke as some combination
of digit, letter, hex digit, editing key, and non-control-character.

     Added a new field to the Edit Line control template. Parameter number
9 is a word called keyMask.  The control accepts keys only if the
LEClassifyKey result has some bits set in common with the keyMask
parameter.

     Changed interpretation of the Edit Line template pwChar field:  A
value of $FFFF now means the control is not for password entry.
(Previously, the legal values were $0000 [default password character] and
$0001 through $00FF [specific password character].  The parameter's
presence implied that the control was for password entry, which is no good
with the new optional ninth parameter.)

     Made LESetText erase the gap between the destination and view
rectangles at the left edge of a scrolled field.


DIALOG MANAGER V3.5    TOOL021   Fixed a bug that caused a crash if you
""""""""""""""""""""""""""""""   made a SetDAFont to the FastFont handle
(returned by GetSysFont), and then caused the Dialog Manager to beep.
(This affected ROM 1 systems only.)


SCRAP MANAGER V3.2     TOOL022   Added one new call, ShowClipboard, which
""""""""""""""""""""""""""""""   creates a System window that takes care of
the clipboard display for you (it's used in Finder and Teach, for example).
It displays Text, Picture, and Sound scraps.  If you copy a Sound to the
clipboard (using the Sound control panel, for example), you can click on
the Speaker icon on the clipboard to hear the sound.  It also calls
SendRequest with a new request code, systemSaysDoClipboard, to allow
utilities and applications to customize or extend the clipboard display.

     PutScrap now changes the scrap count, as returned by GetScrapCount
(for polling to see if the clipboard contents changed).


STANDARD FILE V3.4     TOOL023   Uses DrawStringWidth to draw standard
""""""""""""""""""""""""""""""   items (allows compression and truncates on
the right with an ellipsis).

     Added three new key equivalents.  Command-Shift-UpArrow is the same as
a Command-D or a clicking the Disks button. Command-RightArrow is the same
as Command-Tab; it moves forward to the next drive in the list.
Command-LeftArrow moves backward to the previous drive in the list.

     SFReScan now makes a DInfo and Volume call on the volume in prefix 8
and updates all of the controls accordingly. SFReScan now works in the
volumes list as well as the files list.

     Fixed a hanging problem on SFGetFile (not SFGetFile2) when prefix zero
was empty.

     Fixed a bug when closing the dialog where if the prompt string was a
resource, it was being treated like a handle.

     Standard File windows now update behind modal windows and try to
update back windows using UpdateWindow.

     Changed the way Standard File handles multiple edit line items in
PutFile dialogs, so that there can be more than just the single edit line
item.

     Fixed a bug in the check that was trying to restrict the promptRefDesc
to values 0-2 but wasn't returning an error if it was out of range.  It now
returns badPromptDesc ($1701) as documented.

     Now passes a real auxiliary type to GetSysIcon (was always passing
zero in 6.0).

     Volume name comparison in NextDrive routine is now insensitive to
case, so if your prefix doesn't match the actual case of your disk,
Command-Tab now takes you to the next disk instead of staying at the same
one (but fixing the prefix).

     Simplified no-volumes message to read "No disks are available.  Please
insert a disk."

     Changed "volume" to "disk" in several messages.

     Now shows "zero K" instead of "0K" in space-on-disk messages (the guts
of this change are in Long2Dec in Integer Math).


FONT MANAGER V3.4      TOOL027   Expanded the size list in ChooseFont to 96
""""""""""""""""""""""""""""""   members.

     Added code to strip out duplicate sizes from the size list in
ChooseFont.  Duplicates of the same size would show up if two or more real
fonts in the same family had the same size (but different styles).


LIST MANAGER V3.4      TOOL028   CompareStrings flag bit 15 now makes it
""""""""""""""""""""""""""""""   compare GS/OS strings instead of Pascal
strings.

     ListKey takes Clear and Delete to mean "zap the prefix" (just like
waiting 2/3 of a second before typing).

     Fixed a bug affecting ListKey, CompareStrings, and SortList/SortList2
with compareProc of 1.  Characters $20 to $3F (including digits), and $60
were being accidentally "uppercased."  For example, in 6.0 "5" would map
into right- arrow, which moved down one item.

     The standard item-draw procedure uses DrawStringWidth, with flags
allowing horizontal compression and truncation on the right with an
ellipsis.


TEXT EDIT V1.4         TOOL034   TEPaintText now properly fully-justifies
""""""""""""""""""""""""""""""   text.

     Fixed a problem with non-targetable Text Edit controls.  They could
start out active (with a usable scroll bar for example), and then become
inactive when the window became inactive, but the control would not get
reactivated when the window came back to the front.

     FMStatus call now pushes pre-zeroed result space, in case Font Manager
is not loaded (the result is that you get an error reliably now, instead of
just sometimes, if the Font Manager isn't available).


RESOURCE MANAGER V1.3   RESOURCE.MGR   Added two new calls:
""""""""""""""""""""""""""""""""""""   OpenResourceFileByID and
CompactResourceFile.

     OpenResourceFileByID starts the Resource Manager for you if it isn't
already started under your ID (and it makes you the current resource
application if it was already started for your ID).  Then it uses
LGetPathname2 to find pathname for the specified ID and calls
OpenResourceFile for you on that file.  Returns errors from LGetPathname2
and OpenResourceFile.  oldResApp is valid even if you get an error.

     CompactResourceFile removes all free blocks (except the last special
EOF free block) from a given file by moving chunks around in the file.

     Added some error checking code to OpenResourceFile that absolutely
makes sure that the map was entirely read; if what is read doesn't equal
what we asked for, it returns a GS/OS eofEncountered error.

     Added a new bit to mapFlag. Bit 0 is now defined as fileReadWrite.
When a file is opened, it gets set to 1 if the file is opened read/write.
If it's opened with read-only access, then the bit is set to 0. This bit is
for examination only.

     AddResource, RemoveResource, WriteResource, and MarkResourceChange now
verify that the target file can be written to before actually doing
anything. They all return a GS/OS invalidAccess error if the file cannot be
written to. The exception to this is MarkResourceChange when the resource
in question is being marked unchanged; it is allowed as it won't eventually
cause a write.

     Fixed WriteResource to write the size of the resource as it appears on
disk, rather than the size of the resource's handle in memory. This
properly allows for converters to write resources that are smaller than
their in-memory size without destroying the file.

     CloseResourceFile returns error resFileNotFound ($1E07) instead of no
error, on a nonzero argument that doesn't match an open file ID.

     Fixed string-comparison bug in RMFindNamedResource (and
RMLoadNamedResource, which calls RMFindNamedResource). Sometimes in 6.0 you
could wind up loading a resource whose name began with the name you asked
for but was longer.


                            >>> TOOL.SETUP <<<
                            """"""""""""""""""
Tool.Setup contains patches that are needed for both ROM 1 and ROM 3.

TOOL LOCATOR   Optimized SendRequest (25% speed improvement in some cases).
""""""""""""   Optimized AcceptRequests and GetMsgHandle, too.

     StartUpTools now returns any error from ResourceStartUp. When we would
have returned garbage for the result, we return NIL.

     StartUpTools and LoadTools now skip the message "This application
needs ToolXXX" for tools that are present but too old (like ROM-based
tools!).  They still return an error code to the caller.

     ShutDownTools checks for a NIL input and behaves sanely.
ResourceShutDown is now in the error-exit path, so it shuts down the
Resource Manager even if you get some other error.

     ShutDownTools tolerates errors from SFShutDown (for compatibility with
errant NDAs that shut down Standard File during Desk Shutdown even if they
did not start it).

     ShutDownTools no longer calls HideCursor if QuickDraw is not active
(in 6.0, it can crash if an application calls ShutDownTools with QD
inactive).  If the new-for-6.0 "no resource manager" flag bit is set, there
is no problem (it was already skipping the HideCursor then).


MISC TOOLS   Added two new calls:  DoSysPrefs and AlertMessage.
""""""""""   DoSysPrefs clears and sets the specified bits in the GS/OS
system preferences word, and then returns the previous value (error $0301
if GS/OS is not the current OS).

     AlertMessage provides access to code inside GS/OS that is smart enough
to put an alert on either the text screen or the Super Hi-Res screen,
depending on the environment.

     SysBeep2 now sends a new SendRequest code, systemSaysForceUndim, for
all codes except $006x (screen blanking, screen unblanking).

     ShowBootInfo now "wraps up" to a new row if you have more than one row
of icons.  If you wrap off the top of the screen, it starts over at the
bottom left, without erasing the screen.  (It used to keep recycling the
bottom row, wiping it to periwinkle blue every time it filled up.)

DESK MANAGER   Setting bit 31 of an action procedure pointer (for NDA or
""""""""""""   system window) does stack-based dispatch.
     function MyActionProc(code: integer;
                           data: longint): integer;

     CDA menu checks ROM version before using ReadKeyMicroMemory to check
for the control-panel-disable jumper.  Was misbehaving on upgraded IIe ROM
1 machines.


                        >>> ROM 01 PATCH   TS2 <<<
                        """"""""""""""""""""""""""
     If Battery RAM byte $59 bit 7 is set, TS2 installs Memory Peeker and
Visit Monitor (just like ROM 3 does).

EVENT MANAGER   EMStartUp uses (26,17) (or (13,17) in 320 mode) for the
"""""""""""""   initial mouse position if there is no message #6 specifying
a position.  This prevents top-left screen dimmers from dimming right away.

INTEGER MATH   Int2Dec and Long2Dec return "zero " if the number being
""""""""""""   converted is zero, bit 31 of stringPtr is set, and the
buffer length is at least 5.



                        >>> ROM 03 PATCH   TS3 <<<
                        """"""""""""""""""""""""""
DESK MANAGER   DeskShutDown zaps $07FC if slot 4 is internal.  This stops
""""""""""""   the mouse from freezing in desktop applications after
visiting the CDA menu, when you have previously run an application that
left a nonzero value in $07FC.  This was a problem on ROM 3 systems only.

     OpenNDA sends reOpenAction to action routine of an already- open NDA,
to give the NDA a chance to do something other than just have the window
come to the front.

INTEGER MATH   Int2Dec and Long2Dec return "zero " if bit 31 of stringPtr
""""""""""""   is set and the buffer length is at least 5.

     Patched Multiply to fix Menu Manager bug:  AllocateCache was
multiplying the bytes-per-line by the menu height, without clipping the
height to 200 (screen height), as it does when it really uses the memory it
allocates.

MISC TOOLS   SysFailMgr now provides useful default messages for common
""""""""""   errors:
                       $27:   "Could not read or write disk.  The disk may
                               be damaged."
                       $201:  "Out of memory (or required memory area was
                               already in use)."
                       $308, $681, $682:     "Detected trashed memory.
                                              Software bug or (less likely)
                                              bad RAM."

SANE   Fixed a problem in the ElemNum call FXPWRI where the source integer
""""   exponent was never being classified (whether it was zero,
normalized, etc.), but we were still checking Src_Class to see if we should
proceed. This could make really strange things happen in some applications.
(For example, the AppleWorks GS spreadsheet could get stuck in an infinite
loop if certain values were left over in bank zero.)

SCRAP MANAGER   So that we can use the disk-based scrap later, undo what
"""""""""""""   the ROM-based ScrapBootInit did before GS/OS was available
(dispose all $4201 memory and set the Scrap Manager's WAP to NIL).

WINDOW MANAGER   Fixed TaskMaster to handle the tmNoGetNextEvent bit
""""""""""""""   correctly (it was treating the bit as reserved).  This bit
has existed since 5.0.3, but until now it worked only on ROM 1.

     Fixed a HandToHand call in WindStartUp which was copying data from a
small handle to a big handle, using the size of the big handle (this was
not harmful, but it was unclean).



                    >>> APPLETALK PORT DRIVER V3.2 <<<
                    """"""""""""""""""""""""""""""""""
     Reworked significant pieces of the driver to try much harder to
establish a connection without error, and to write data to the PAP
connection successfully.  Also made PAPStatus try harder to get a response.

     Changed PrDevOpen to wait forever for the PAPOpen to complete, or
until the user hits Command-Period.  It always retries on $0808 error
(server too busy to respond).  Retries ten times on $0805 error (name not
found).

     Changed PrDevWrite to wait forever for the PAPWrite to complete, or
until the user hits Command-Period.

     Removed some completely unused code (driver is now 6 blocks on disk
instead of 8).

     Changed the algorithm used to determine if AppleTalk is running.  It
used to check to see if a slot was set to "AppleTalk".  It now checks for
the presence of the AppleTalk main driver (which is the supported way
anyway).


                  >>> LASERWRITER PRINTER DRIVER V3.3 <<<
                  """""""""""""""""""""""""""""""""""""""
     The driver appears to work with the LaserWriter Pro 600 and 630, but
this combination has not been fully tested.

     Changed PostScript definition of /spf (the spotting function) to get
it defined correctly on level 2 printers, using a hard-coded default spot
function for when the dictionary isn't of HalfToneType 1.

     When we bypass the code that sets up the name tables and sends queries
to the printer (because we're creating a PS file), we now explicitly set
the LWType variable to 1, indicating a LaserWriter Plus or II.  Now the
code can find all the standard 35N fonts in the built-in name tables,
instead of just the four faces used in LaserWriters plus Sonata, Carta and
Shaston.  This means you can now dump PostScript files that work correctly
with the 35N fonts. (The "35N" fonts are included in the LaserWriter II and
later.)

     Changed drawing of job dialog to include a call to PrGetNetworkName so
we can draw the chosen printer's name in the job dialog.  If there is no
network printer (PrGetNetworkName returns NIL), it draws "No network - not
supported".

     Added 3 lines in CkPrinterStatus to avoid a possible infinite loop.
If our session timed out we start getting error $0806 from ReadLaser, but
we didn't care.

     When printing to a PostScript file, there may be no user name.  If
PMGetUserName returns NIL, we now cleanly don't put a user name into the
file.  It used to insert garbage from $00/0000 in the file.



                             >>> IWEM 1.6 <<<
                             """"""""""""""""
     The test for the Personal LaserWriter NT (in order to fix the smaller
imaging area) now checks that the product name contains the string
"Personal", so it will also match the Personal LaserWriter NTR. GS/OS
Changes:



               >>> PRODOS (THE BOOT STUB, NOT PRODOS 8) <<<
               """"""""""""""""""""""""""""""""""""""""""""
     If the user hits the "8" key before we run, then we load and run
System/P8 instead of System/Start.GS.OS.

     Added code to compensate for a ROM 3 bug where the RAM5 RAM disk does
not get created if you have 8 Megs of RAM.  The ProDOS file now creates it
for you and restarts the system (even if you hit "8" to boot into ProDOS
8).  This means you get an extra beep on boot IF you have an 8 Meg ROM 3
and a nonzero RAM5 size.



  >>> GS/OS (composed of the files GS.OS, GS.OS.Dev, and Start.GS.OS) <<<
  """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
SCM   Added code to put a $4C at $BF00 at the beginning of every GS/OS
"""   call, so the Vulcan without a loaded driver will be happy.

     Two changes in the interrupt dispatcher: * Returns CLC if and only if
at least one interrupt handler   claimed the interrupt (was previously
clearing carry when   the LAST handler claimed it). * Restores MSLOT after
dispatching to an IRQ.OTHER handler.

     OSShutDown was accidentally skipping the DeskShutDown call if flag bit
2 was clear.

     Changed SysBeep2 call in s_mount_msg to clean up stack on error (in
case Tool.Setup isn't loaded yet).  Was causing incoherent "yes/no/cancel"
text dialogs during boot, if it tries to ask for the boot disk before
Tool.Setup time.

     Restart no longer changes memory at $0300.

     GS/OS sends systemSaysForceUndim before deciding whether to put a
message on the text screen or the Super Hi-Res screen.


GLOADER/GQUIT   After you press a key to continue (from "pause mode"), it
"""""""""""""   erases the message so you know something happened.

     On a switch to ProDOS 8, instead of zeroing UNIT ($43), we store a $50
there.  Zero was doing horrible things when left in DEVNUM and later fed to
ON_LINE (returns much more data than expected).  This was only left at zero
in the somewhat strange case that you network-booted into GS/OS, and then
switched to P8 but have so many devices online that your boot volume wasn't
in DEVLST.


DEVICE DISPATCHER   Implemented a new driver characteristics bit to let us
"""""""""""""""""   add new subcalls to DStatus and DControl. Drivers have
always been required to validate all call requests that are sent to them,
and return an error if they do not support the call. This includes the main
driver commands as well as all subcalls. Unfortunately, some driver authors
didn't feel that the guidelines needed to be followed, and they do random
things if given a call they don't know about (some also crash). If this bit
($0010) is set in a device's characteristics word, the driver indicates
that it properly follows the driver guidelines in the GS/OS reference and
Device Driver reference. If this bit is not set, drivers will never receive
a call that is not documented in the GS/OS reference (except
device-specific calls, which are always passed on to the drivers).


INITIALIZATION MANAGER   Fixed a problem where supplying a non-editable
""""""""""""""""""""""   volume name for the Format or EraseDisk calls, and
the name was not syntactically acceptable to the chosen FST, the system
went to the GS/OS version of system death.

     Limited the supplied volume name to 32 characters to ensure that the
36-byte buffers used internally are not overflowed.

     Changed the default disk name from Untitled to untitled.


SYSTEM LOADER   Filetypes $0030 to $003F (all auxiliary types) are now
"""""""""""""   allowed for load files.  Filetype/auxiliary type
combinations must be assigned by Developer Technical Support, as usual.


SYSTEM ERROR MESSAGES   Added error message #66: "The selected AppleTalk
"""""""""""""""""""""   connection could not be found.  Be sure it is
installed and the slot settings in the Control Panel are correct."

     Added error message #67: "A driver for the selected AppleTalk
connection could not be found.  Be sure it is installed and then restart."

     Added error message #68 for the RAM5 driver (used on ROM 1 if the
minimum and maximum sizes are different).

     In Error.Msg, changed "volumes" to "disks" in the message "ProDOS 8
applications can only be launched from ProDOS and AppleShare disks."


SCC MANAGER   Added more error checking and two new error messages in case
"""""""""""   the AppleTalk hardware couldn't be found, or no drivers were
loaded.


SCSI HD DRIVER   Added support for the new Apple-defined DStatus subcall.
""""""""""""""   Call $4000, GetSCSITargetPriority, returns a word
indicating the SCSI ID of a given GS/OS SCSI device.


SCSI CD DRIVER   Added support for the new Apple-defined DStatus subcall.
""""""""""""""   Call $4000, GetSCSITargetPriority, returns a word
indicating the SCSI ID of a given GS/OS SCSI device.

     Changed default command bitmap to match the Apple CD-300, which does
not return a command bitmap in the Inquiry call.

     Compatibility with Apple CD 300 * With the 6.0.1 SCSI CD Driver, you
can read data, but you   can't play audio tracks, and you can't take
advantage of   the drive's ability to read audio tracks as data. * With the
6.0 SCSI CD Driver, you can read data if and only   if a CD was online when
you booted.  You can't play audio   tracks. * Under P8, the Apple CD 300
works just as well as the   previous models, for data.  Playing audio
tracks is not   supported.


SCSI TAPE DRIVER   Added support for the new Apple-defined DStatus subcall.
""""""""""""""""   Call $4000, GetSCSITargetPriority, returns a word
indicating the SCSI ID of a given GS/OS SCSI device.


SCSI SCANNER DRIVER   Added support for the new Apple-defined DStatus
"""""""""""""""""""   subcall. Call $4000, GetSCSITargetPriority, returns a
word indicating the SCSI ID of a given GS/OS SCSI device.


CONSOLE DRIVER   Fixed reset_trap to store the correct addresses in the
""""""""""""""   fast- I/O vectors; they don't work in 6.0.


APPLEDISK 3.5 DRIVER   Changed the SuperDrive case of
""""""""""""""""""""   DStatus(get_format_options) to behave better.  Now
it returns as much data as it can and returns a real transfer count.  It
used to return a transfer count of zero (and return no data) if the user's
buffer was not big enough.

     Driver no longer puts 'A', 'B', ... over the last character of its
device names during a warm start.  So now you can rename your 3.5 devices
and not get the names mutilated on return from P8.


APPLEDISK 5.25 DRIVER   During startup we now clear the internal/external
"""""""""""""""""""""   slot number in our DIBs as we scan each slot. On
return from ProDOS 8, the driver was looking for the Disk II card's ID
bytes at the wrong address, like $CE00 instead of $C600.  There was no
problem for the internal Disk Port, only for Disk II cards. The drives did
not show up in GS/OS after visiting ProDOS 8.

     Removed driver startup time check for drive being present. For some
people, it was deciding they had no drive when they actually did.


RAM5 DRIVER   New for 6.0.1.  Replaces the generated driver and is much
"""""""""""   faster.  On ROM 1, Minimum and Maximum RAM disk sizes must be
set to the same value.

     If the RAM disk has never been formatted, we now create an empty
ProDOS directory, like the ROM does.

     On startup, if RAM5 is an empty Pascal volume, we reformat it as an
empty ProDOS volume.  This covers a semi-obscure case where you have no 3.5
drives on the SmartPort, but the startup process scans past slot 5,
touching the RAM disk before a ProDOS-like environment is set up and
fooling it into formatting itself as Pascal.  If you have a nonempty Pascal
RAM5, we leave it alone.


A2.RAMCARD (AKA SLINKY) DRIVER   Added format options so if you have 1024K
""""""""""""""""""""""""""""""   on your card you can choose between 800K
and 1024K.  Formatting your RAM card to 800K means you can do block copies
between 800K floppies and the RAM card (block copies are generally faster
than file-by-file copies).


APPLESHARE FST   The 10-second volume change timer completion routine calls
""""""""""""""   the GS/OS system service vector os_event. However, this
really isn't legal since we're in an interrupt environment and GS/OS may
have been what we just interrupted. Since os_event modifies a few variables
on the GS/OS direct page, we now save and restore them around the service
call. This should fix random $4x errors during intensive file
manipulations.

     If we get a network error back from our SPWrite handler, it now loads
the protocol error word from its parameter block, rather than the SPCommand
one.

     Fixed an icky little bug in our panic completion routine. It was
incrementing its panic counter without setting its data bank. This caused a
semi-random byte in bank $E1 to be incremented by one each time the panic
timer completed. This also meant that our quarter-second interrupt handler
never knew when one or more of our volumes were in danger of being lost due
to missing tickle packets from the server.

     Shortcut the QDStatus and GetWAP calls to save doing one or two
toolbox calls on every call to the FST.

     If the arrows get drawn on the Super Hi-Res screen, they get UNdrawn
there, even if a screen dimmer kicked in & displayed the text screen.  (If
the SHR screen is off and non-linear, it doesn't touch the SHR screen.)

     Fixed volume-changed notification to pass correct device number
instead of garbage.

     Now we send volume-changed notifications even if there are no folders
open on a volume.

     Changed JudgeName syntax string to read "Disk names..." instead of
"Volume names...."


DOS 3.3 FST    Ignores zero-length filename entries (GetDirEntry does not
"""""""""""   count them and does not return them).  Internally, the FST
treats a filename field of all blanks (30 $A0 bytes) just like a deleted
catalog entry.

     Added an entry to the end of fcr_to_pblk so that Open will stop when
pcount is 15 instead of trashing a variable amount of memory past the end
of the parameter block.

     FST name (visible in Finder, etc.) is "Apple II DOS 3.3" instead of
just "DOS 3.3".  No change in file name.

     Changed Open, GetFileInfo, and GetDirEntry to return zero for
resourceEOF and resourceBlocks fields for non-extended files (when the
fields are present).  These values were previously undefined, and this was
confusing the Finder.


HFS FST    Added a STZ newline_flag to fix bug where Write stops
"""""""   prematurely after transferring 512 bytes, if the most recent Read
call stopped because it hit a newline character.

     Changed JudgeName string to say "Disk names..." instead of "Volume
names...."

     Optimized much of the computation-intensive code in the FST. Namely,
the B-tree register push/pop routines which use the pseudo stack are much
faster, and the multiply and divide routines handle common cases more
quickly.  An unaccelerated GS with fast hard disks should do large folder
copies between HFS volumes in the Finder about 18.4% faster.  Other
configurations will have less of an improvement.


PASCAL FST   Now recognizes RAM disks (device_id $000E).
""""""""""


HS.FST (HIGH SIERRA FST)   FSTSpecific map_enable and set_map_table now
""""""""""""""""""""""""   post volume- changed notifications for all of
our online volumes (High Sierra and ISO 9660).

     Changed volume control records to have a Memory Manager handle to the
path table, so we can allow path tables larger than 8K (the GS/OS Memory
Manager limit).


MS-DOS FST:    New for 6.0.1.

     The MS-DOS FST is a read-only implementation, similar to the existing
DOS 3.3, Pascal, and High Sierra FSTs.

     Added support for resource forks as defined and implemented by the
Macintosh PC Exchange Control Panel.  This is done by placing the resource
fork of a given file into a normal MS- DOS file of the same name as the
original file in a subdirectory named "RESOURCE.FRK" at the same directory
level as the original file.  The "RESOURCE.FRK" subdirectory will never
appear to an application during a directory search on the GS, though it
will appear normally on an MS-DOS platform. The calls affected are Open,
GetFileInfo, and GetDirEntry.


PRODOS FST   Fixed a bug in slow_read that made multiple-character newline
""""""""""   mode unreliable.  Each time it moved to a new block of data it
was forgetting about one more character off the end of the newline list.


PRODOS 8   VERSION 2.0.3   Updated the Thunderclock year table for
""""""""""""""""""""""""   1993-1998.

     When we don't have a 65C02, instead of saying "relocation /
configuration error" we put a message below the P8 version line so it looks
like this:


                                 Apple II
                       ProDOS 8 V2.0.3    06-May-93
                   REQUIRES ENHANCED APPLE IIE OR LATER

     Apple II Plus users will not be able to read the lowercase, but they
can read the REQUIRES part.

     Removed the message "**  Unable to find a ".System" file **".  We
always use the Quit code if there is no .System file.  The old check was
flawed anyway--it was invalid after running the ATINIT file.

     Changed copyright message at $BF40 to start with a $00, to prevent
applications from crashing when they remove the /RAM volume and the device
table is full.

     Changed NMI vector to be initialized to be BRK, $40, $00 rather than
JMP $FF59.

     Removed slot 3 drive 2 from the SmartPort remapping table, so the /RAM
disk can never be overwritten by a remapped device. (It was already the
last resort.)


CLOCK.PATCH (NEW ON SYSTEMTOOLS2)   Supports patching ProDOS 8 2.0.3, just
"""""""""""""""""""""""""""""""""   like 2.0, 2.0.1, 2.0.2.

     Uses 0 for 2000, not 100 (fixed off-by-one error in line 1560).



                          >>> CONTROL PANELS <<<
                          """"""""""""""""""""""
APPLESHARE CONTROL PANEL V2.1   Added range check on tracking checkboxes
"""""""""""""""""""""""""""""   next to items in the volume list.  If there
were fewer than 4 volumes listed, we were tracking checkboxes that were not
there.

     Now forces an arrow cursor on closing the Connect As dialog (you could
be left with an I-Beam in 6.0).


DC PRINTER CONTROL PANEL   Note that starting with System Software 6.0, DC
""""""""""""""""""""""""   Printer lets you choose LaserWriter, which is
potentially useful for "printing" to PostScript files.

     Apple tests and supports the LaserWriter driver using AppleTalk only.
If you can get useful results with other configurations, that's great, but
you're on your own.


MONITOR CONTROL PANEL V1.2   Rewrote the control panel in assembly.
""""""""""""""""""""""""""

     Made window wider and realigned the pop-up menus.

     Added "Smoother Mouse Cursor" checkbox that sets Battery RAM location
$5F bit 2.  It kills the cursor flicker that is especially noticeable with
a Video Overlay card or an accelerator.  This Battery RAM bit has been
present since 6.0, but there was no Apple-supplied human interface to set
it.


NAMER CONTROL PANEL V1.1   Made window 80 pixels wider.
""""""""""""""""""""""""
     Changed the Help text slightly.

     Removed custom listDraw routine, since the standard one now uses
DrawStringWidth.

     Set bit 30 to ModalDialog for I-beam cursor.

     Fixed Rename Printer... button to have a valid key equivalent
(Command-R).


NETPRINTER CONTROL PANEL V1.1   Made window 80 pixels wider (it's like
"""""""""""""""""""""""""""""   AppleShare now).

     The Printer pop-up now has a pop-down triangle.

     No longer uses a custom listDraw routine (the standard list draw proc
now uses DrawStringWidth).

     Removed some dead data (left over from when Namer was not a separate
control panel).

     Typing a colon or slash in the printer name gives
SysBeep2(sbBadKeypress) instead of just SysBeep.

     Changed completion routine to properly jump to the completion routine
return address (returned by the GetInfo call) rather than assume it can
just RTL.


NETWORK CONTROL PANEL V1.1   Added keyboard equivalents:  "P" for ProDOS,
""""""""""""""""""""""""""   "G" for GS/OS.


RAMDISK CONTROL PANEL V1.2   Rewrote the help text, mainly to mention that
""""""""""""""""""""""""""   the "Resize after reset" checkbox is only on
ROM 3.


SETSTART CONTROL PANEL V1.1   New checkbox: "Show icons during startup"
"""""""""""""""""""""""""""   (provides a human interface to the Battery
RAM bit that disables the ShowBootInfo icons...the bit has been there since
6.0).

     New checkbox: "Enable programmer CDAs" (does not show up if ROM 3
Control Panel disable jumper is present).  Provides a human interface to
the Battery RAM bit that asks for Visit Monitor and Memory Peeker to show
up in the CDA menu.  ROM 3 checks this bit, and 6.0.1 checks it during boot
for ROM 1 machines.

     Added a pop-down triangle in the menu.  Edited some error messages.

     Edited the help to say "This control panel lets you choose what
application will start up automatically when you start (boot) your Apple
IIgs.  The checkboxes let you control whether icons appear while the
computer is starting up, and whether Classic Desk Accessories such as Visit
Monitor and Memory Peeker appear."


SOUND CONTROL PANEL V2.1   Added a new request code, srqConvertRelPitch, to
""""""""""""""""""""""""   convert a relPitch value into a freqOffset.

     Sound control panel no longer gets confused on a redundant startup
(like if somebody installs a second copy of the Control Panels NDA, giving
us a second BootCDEV message).

     The Shutdown notify proc now checks a flag properly, so sounds don't
get cut off when the system shuts down (in 6.0 they get cut off sometimes,
because it accidentally loads the flag value from bank zero instead of the
bank the Sound CP permanent code is in).



                          >>> NDAS AND INITS <<<
                          """"""""""""""""""""""

CONTROL PANELS NDA V2.1   Command-Shift-Esc works while the Control Panels
"""""""""""""""""""""""   window or a control panel window is in front
(with and without Option). -- That is, you can use Command-Shift-Esc to
bring the main window to the front even if a control panel is already in
front, and you can use Option-Command-Shift-Esc to open (or bring to front)
the CDevs Finder window when the main window or any control panel window is
in front.

     Uses new calls OpenResourceFileByID and InvalOneCtlByID to save a few
bytes and exercise the new calls.

     Now accepts reOpenAction.  If Option is down when you open the CP &
it's already open, now it opens the CDevs window instead of bringing the
NDA window forward.

     When overwriting an existing CDev.Data file, the Control Panels NDA
now makes sure to unlock it first.  The old Control Panel created the file
with no Write access, so we were failing to overwrite it (added one
SetFileInfoGS call).

     When trying to open CDev.Data for writing, if we got an error we were
doing a Close with a stale reference number.  Fixed.

     Added WhooshRect to the main window opening and closing.

     Fixed a bug that would trash some memory if there were NO active
control panels available in the CDevs folder.

     Moved the code that handles color table switching into the new
QuickDraw II Auxiliary calls UseColorTable and RestoreColorTable.

     Made the color tables not be schizophrenic when you switch between
control panel windows in an application using nonstandard colors.

     Now checks daylight savings stuff whenever the user closes a control
panel.  This makes the right thing happen sooner if you turn on the Auto
Daylight Savings checkbox in the Time control panel.

     When calling HiliteMenu to highlight or unhighlight the Apple menu,
passes flag values of $8001 and $8000 instead of 1 and 0.  This makes the
highlighting work right even for a text- based Apple character with a weird
color table.

     Fixed cpOpenCDev request to work reliably.  In 6.0, it did not always
work.  (The handling of finderSaysBeforeOpen has always worked fine.)


EASYMOUNT V1.1   Loads even if an AppleTalk network is not available, since
""""""""""""""   it's useful locally now.

     Added support for folders and applications, and for local disks.  Yes,
you can make an alias for lots of things now! (You can't make aliases to
documents, or aliases to aliases, and you can't do anything helpful with an
alias other than open it...like drag things onto it.)

     Menu item now reads "Make Alias..." and has the keyboard equivalent
Command-M.

     On handling a redundant finderSaysGoodbye call, EasyMount does nothing
(as required in the 6.0 documentation).

     We now accept the srqGoAway request (in case somebody wants to remove
or replace us on the fly, with IR or a similar utility).

     Added the message "You can make aliases for disks, folders, and
applications only."

     Fixed srvNameBuff and zoneNameBuf to be large enough to hold
31-character GS/OS strings, so we can now deal with the longest server and
zone names.

     We now use UseColorTable/RestoreColorTable in QuickDraw II Auxiliary
when displaying the password dialog.  It swaps in the 640-mode colors so
the icon always looks correct.

     EasyMount now works correctly in 320 mode. The dialog was redesigned a
bit so it works equally well in both modes.

     Made srqMountServer work properly with the new 1.1 file format that
includes the alias pathname at the end.

     Crunched code a little by using the new calls OpenResourceFileByID,
HiliteCtlByID, and SetCtlValueByID.

     Changed many error messages for clarity and consistency.


FIND FILE NDA V1.1   Command-F opens Find File, if the application doesn't
""""""""""""""""""   use the Command-F for a menu item.  (Find File
installs a request procedure and watches for systemSaysMenuKey.)

     Excellently improved responsiveness by giving up control when
EventAvail shows there is a keypress or mouse click waiting to be
processed.

     Passes a real auxiliary type to GetSysIcon (was always passing zero,
so request procedures were unable to give different icons for files with
the same file type but different auxiliary types).

     Fixed intermittent $0201 error on going to P8 after clicking on a
found file.  It wasn't disposing the $53xx memory for the bottom list, and
sometimes it would wind up in special memory.

     Removed code that truncates disk names for the pop-up menu, since the
menu manager takes care of it now.

     Removed leading colons from volume names in the pop-up.

     Uses the new Control Manager call GetCtlValueByID.


CALCULATOR NDA V1.1   Disables the Undo item when the window is active.
"""""""""""""""""""


MEDIA CONTROL NDA   Changed version from 1.3a0 to 1.3.
"""""""""""""""""

VIDEOMIX NDA   Changed version from 1.3a0 to 1.3.
""""""""""""


                           >>> FINDER 6.0.1 <<<
                           """"""""""""""""""""

USER-LEVEL FINDER CHANGES   Changed the About box title and menu item to
"""""""""""""""""""""""""   "About This Apple IIgs".  Removed Finder
version and engineer names. (You can Get Info on Finder to see the version,
which should always match the System version anyway.)

     Keyboard Navigation implemented.  See Finder Help under "Selecting &
Coloring Icons."

     When you click on an icon, it starts renaming it only if you click on
the *name*, not if you click on the icon part. (Terribly handy for keyboard
navigation.)

     Removed "File Copy Alternatives" dialog.  Option-dragging a file to
another location on the same disk now forces a copy rather than a move.

     You can now click in the Name, Size, Kind, or Last Modified text in
the info bar of a list-view window to change the view.

     Icon Info Calculate button has key equivalent of Command-K. You can
use Command-period to stop the calculation.

     Added the display of SCSI IDs on the "Where" card of Icon Info
windows. If the device that the window comes from supports DStatus subcall
$4000 (GetSCSITargetPriority), then the ID will be displayed after the
device name.

     Dragging control panels, desk accessories, drivers, Finder extensions,
fonts, file system translators, sound files, initialization files, and
tools onto the System folder icon on the boot disk now does "magic routing"
after telling the user.  (Font files get special treatment only if bit 15
of their auxtype is clear, so that DTS can make font filetype assignments
for files that do not belong in the Fonts folder.)

     The rubber-band icon selection now actively highlights and
unhighlights icons, instead of waiting until you release the mouse button.

     Fixed rename with an Icon Info window open on the target file to work
for regular files. In 6.0 it only redrew the Icon Info name for devices and
folders.

     We now dynamically resize the long product name static text control
rectangle on Icon Info cards to account for the existence of the "Inactive"
check box. We also set the new control flag bit of the same control to use
DrawStringWidth to truncate and compact to fit the area.

     When running the Finder from an AppleShare file server, the Finder now
properly draws the server volume name in the writing a bundle status dialog
if the @:Desktop file is being written to. It used to always be blank.

     Fixed a bug in the info card recalculation code. If you had any Icon
Info windows open when you emptied the trash, the sizes of files would be
updated to match the disk that they came from. Now only disk Icon Info
windows get updated when the trash is emptied.

     Command-Option-O (tunnel open) no longer closes your current window if
there was nothing to open.

     Changed window-closing code so it always selects the icon the window
closes into.  In 6.0 it selected the icon only if there would be no other
selection, which was confusing.

     New untitled folders now have lowercase names (like untitled.a).

     Changing the Hide Invisible Files preference updates all windows, not
just the front one (it was trying to update them all, but it was getting
confused after the first one).

     Creates Trash icon and window even if device #1 fails to mount (you
could crash Finder 6.0 by booting from floppy, moving the floppy to some
other drive, re-entering the Finder with the boot device empty, and then
trying to leave the Finder).

     Re-fixed the "trash icon turns into the icon you dragged into it" bug
that was allegedly fixed in 6.0.  It was *almost* fixed in 6.0.

     Changed the "need an FType file" message to say "...the Icons folder
on your startup disk" instead of "the *:Icons folder."

     About box numbers now read "zero" when they would be "0", as in "0K".
For example, boot with Inits/DAs off & see "zero K" for DAs.

     Kind strings in list views now get compressed if necessary (the Finder
draws them with DrawStringWidth instead of DrawString).

     Files with HFS file type 'APPL' now show up with kind string
"Macintosh application".

     Inactive files no longer "miss" their specific Kind string & get the
generic-filetype kind.  (When mapping a filetype/auxtype to a kind string,
if the match is an any- auxtype entry that can be Inactive, and bit 15 of
the auxtype is in fact set, the Finder repeats the search with bit 15
cleared, getting a kind string that is at least as descriptive.)

     Added oneDocs in the Finder's resource fork for various Driver
auxiliary types, which now show up as Kinds:  GS/OS Device Driver,
AppleTalk Driver, Media Control Driver, Printer Driver, Printer Port
Driver, MIDI Driver.

     Added an icon for DiskCopy files.

     Dragging a different-sized disk (or option-dragging a same- sized
disk) onto an read-only-filesystem disk (like MS-DOS) now correctly
complains that you can't do that.

     Improved the Clipboard display (uses the new ShowClipboard call in the
Scrap Manager).

     The "Finder requires 6.0.1 and 300K" message now shows a hex error
code (from StartUpTools or other calls during startup, like LoadResource).

     Erase and Initialize on a disk now update the icon's file system.
Fixes bugs like:  Erase a DOS 3.3 disk to be ProDOS; when you drag
something onto the disk, it still complains that the disk uses a read-only
file system.

     Control works with Command-W and Command-Option-W.  (Control reverses
the save-finder-data setting.)

     Changed a lot of window parameter blocks to allow windows to update in
the background (like behind an AlertWindow).

     Changed preference to read "Check 5.25" drives on Finder start" (key
equivalent is now 5).  It used to say "When starting up, check 5.25
drives", but this was confusing (could be misunderstood as affecting what
device the system boots from).

     Finder no longer gets confused about the file system of an icon that
you drag to the desktop.  Fixes bugs like Locked boxes showing up for HFS
folders on the desktop, and not being able to launch ProDOS 8 applications
that were just dragged onto the desktop.

     Fixed a bug when shortening a disk name (rename RAM5 to RAM, for
example).  The Finder would get really confused about the pathnames of
existing icons on the disk that you renamed.

     DrawDesk uses full-screen rectangle, not just below the menu bar.
This way HideMenuBar works as expected in the Finder.

     Fixed up I-Beam handling (new code is smaller).  Fixed bug where IBeam
could mistakenly appear when the icon being renamed was in a window but
scrolled outside the visible area, and the mouse was over the desktop.

     When you change the system date/time format (for example, using the
Time Control Panel), the Finder now bothers redrawing all directory/trash
windows that have a Last Modified column.  (It used to notice the change
but not force a redraw, so windows could get half-updated.)

     Saved 1800 bytes by making menu resources string-based instead of
template-based (so far they're rCStrings).  This saves disk space and load
time and reduces the handle count.


DEVELOPER-LEVEL FINDER CHANGES   Finder uses Volume Changed events to
""""""""""""""""""""""""""""""   notice when windows need to be updated
because of GS/OS calls made by anything other than the Finder.  The
tellFinderAboutChange call now does nothing, since the Finder now notices
changes without special help.  Note that the Finder does not notice when it
should make changes to icons on the desktop (not even in 6.0 with
tellFinderAboutChange).

     Changed tellFinderSetSelectedIcons to not flicker an icon if it is the
sole selected icon and we've been asked to highlight it again.

     When Finder sends out multiple finderSaysBeforeOpen requests (when a
group of icons are opened), the modifiers are now correct for all of the
requests, not just the first one.  In 6.0, the modifiers were accidentally
zero for all requests other than the first.

     tellFinderGetSelectedIcons (extended) now returns the icon height and
width. This was broken in 6.0 (the workaround in the 6.0 documentation sees
that the Finder version is not 6.0 and automatically does nothing).

     Fixed the oneDoc match types matchCreateDateTime and matchModDateTime.
They did not work in 6.0.

     Finder no longer forgets what menu title to unhighlight if an Extras
menu handler calls tellFinderMItemSelected (even with no-highlight).

     We now send finderSaysBeforeOpen any time we launch an application,
not just when the user explicitly launches one. This means that you can now
properly trap the Finder any time it was about to quit to another
application.  (Finder 6.0 neglected to send a finderSaysBeforeOpen when the
user chose the application using Standard File.)

     Finder accepts the srqQuit request, handling it just like a
tellFinderShutDown with a selector of kQuit.

     When matching an icon by filename and using a leading "*", the "*" can
now match zero characters (it works like 5.0.4 again).  In 6.0, a leading
wildcard accidentally required at least one character to match.

     When matching an icon by filename, the case of the string in the Icon
file or in the rBundle resource no longer matters. Previously, a string
with a leading wildcard (like "*PAINT") would only work if all letters were
uppercase, regardless of the case of any actual files being matched
against.

     Added a tick count parameter (long) to finderSaysKeyHit.  The
parameter count is now three.

     The parameter count for finderSaysBeforeOpen and finderSaysOpenFailed
is now seven.  (It was accidentally only 6 in 6.0, but all seven parameters
were there.)

     For convenience, finderSaysIdle now passes the idle ticks (as would be
returned from askFinderIdleHowLong) as the dataIn value.

     Changed finderSaysHello pCount to 4 and added a word of flags, none of
which are presently useful.

     Fixed tellFinderSetSelectedIcons to handle bit 31 correctly (the 6.0
Finder documentation says not to set the bit; now it works as originally
intended, deselecting all icons before selecting the specified ones).

     tellFinderRemoveFromExtras validates the item number for $Exxx,
returns error fErrFailed if invalid.  (If you pass itemID 0 to Finder 6.0,
it happily removes the first (remaining) item from the Apple menu!)

     Implemented the geekPrefs option for Shut Down default.  Set the low
two bits of the X2 word to 0, 1, or 2.  (This word was semi-documented with
6.0, but it didn't do anything.)

     Fixed tellFinderAddBundle to use GetIndResource(1) instead of 0 when
you pass zero to grab the first available rBundle (this case always failed
with an error in 6.0).

     tellFinderSpecialPreferences now returns a valid finderResult ($0000).
In 6.0, it was returning the dragFlag value as the finderResult.


INTERNAL FINDER CHANGES   When we're network-booted, we now load the
"""""""""""""""""""""""   Desktop file from the user prefix ('@'). In 6.0,
the Finder wrote rBundles to the Desktop file there, but it forgot to read
them.

     Removed the new-for-6.0 server-specific copy code, because the code
that built the destination hierarchy tree was whacked in the head.  This
means that duplicating files or copying from disk-to-disk on a single
server now reads and writes file data instead of telling the server to do
it.

     LoadExtensions now tries to create @:FinderExtras. This way the folder
already exists in case you drag a Finder Extension into your System folder.
(If you're booting from a network, magic-routing a Finder Extension is not
helpful, because it will try to route into your *:System:FinderExtras
folder instead of @:FinderExtras.)

     Fixed CompareVols to be case insensitive in its comparison. Internally
Finder will always create icon objects and window names and pathnames in
the same case as they have on disk. However, if a window was opened via
tellFinderOpenWindow that used a different case, moving icons from/to that
window could previously result in files being copied instead of  being
moved.

     Fixed a fatal bug in the Icon Info size calculation code. If it
couldn't read the current size from the device for whatever reason, the
stack became unbalanced.

     Changed keyDown to ignore the event if systemSaysMenuKey ate it (if
the "what" of the event is zero).  For example, when Command-Ctrl-Esc opens
the Control Panels NDA, the Finder does not accidentally process the Esc
keypress and deselect all icons.

     Fixed the problem where a server disconnecting unexpectedly would make
the Finder hang if a server window was the current selection plane.

     During tellFinderSetSelectedIcons, we now bring each icon to the head
of the linked list as it is drawn. This fixes cosmetic problems when icons
overlap and get partially redrawn.

     Finder can now deal with 128 devices being online as opposed to the
old limit of 64.

     Fixed four incorrectly-coded 32-bit additions.  There were problems
when certain data structures crossed bank boundaries.

     Changed SizeToString to do "zero " instead of "0" (affects info bars,
icon info cards, & much more).

     When Finder gets error $46, $51, $5A, or $2D from a Volume call on a
newly-inserted disk, it no longer sets the hdiUnreadable bit to
HandleDiskInsert (that bit is only set for a real I/O error).

     Knowledge of what filetypes can be Inactive is no longer in the
Finder.  It comes from the Filetype Descriptor files instead.  Flag bit 0
in an index entry for an any-auxtype entry means files of that type can be
inactive.

     Finder now uses Filetype Descriptor files even if some of flag bits
0..7 are set.

     No longer calls SelectWindow on a non-window when you click on a
desktop icon or start rubber-banding on the desktop.

     The tellFinderGetWindowInfo call has a special case for the Clipboard
window, which is now created by the system. tellFinderGetWindowInfo
pretends it's a Finder window and gives you information about it anyway.

     Saved a few bytes by removing a redundant MessageCenter call for
deleting message $11, the long-pathnames-to-launch message (the toolbox
automatically deletes this message when the Finder deletes message 1, the
pstring-pathnames-to-launch message).

     Optimized main segment (AND #$7FFF becomes ASL LSR; use Zero constant
on direct page)

     Uses new Line Edit call LEClassifyKey to determine what control
characters to let through for editing when renaming an icon (saved a few
bytes; no user-visible change).

     Fixed the error-exit path when tellFinderOpenWindow gets an error from
ExpandPath.

     Various miscellaneous optimizations, including reserving one word of
direct-page space to always hold a zero.  Replaced many pea 0 with pei
<zero, lda #0 with lda <zero (saves one byte each).


FTYPE.APPLE   Latest database from Developer Technical Support.  Includes
"""""""""""   lots of new descriptors for shipping products.

     Note that the 6.0 Finder does not appreciate finding the 6.0.1
FType.Apple file in your boot disk's Icons folder.

     Header now has version $0101 and flags $8001.

     Bit 0 is set in generic filetype entries for filetypes that can be
Inactivated.

TEACH V1.1   Requires System 6.0.1 to run.
""""""""""
     Removed 128K limit on document size.

     Changed default window name to "untitled".

     Undo has Command-Z key equivalent.

     Added Show Clipboard to Edit menu (always enabled, so Edit menu no
longer dims).  This simply uses the new ShowClipboard call in the Scrap
Manager.

     Edited several messages to say "disk" instead of "volume."

     Updated StartUpTools MasterSCB to use shadowing and fastPort.

     Accepts srqOpenOrPrint (re-checks the MessageCenter for files to open
or print) and srqQuit (asks Teach to quit later, from its main loop; the
user can cancel if there are unsaved files).

     The window update routine now has flag bits set so it can update
behind alerts.

     Checks GS/OS version first on startup, so it doesn't get weird
"requires Tool003" message during StartUpTools under 6.0.

     Tries to re-allocate safety handle before complaining that you're
critically low on memory.

     The $7001(1) resources on Teach documents were being created with 4
extra bytes on the end.  Now they're 12 bytes, like they're supposed to be.

     Now calls InitCursor when closing a window and when quitting, so you
never see an I-beam cursor on the desktop (ick), even briefly.

     Uses the Caution icon in the save-changes dialog.  Reworded the alert
to be more standard.


INSTALLER V2.1   Easy Update and the "*System 6..." scripts always install
""""""""""""""   EasyMount, since it is now useful even without a network.

     Added RAM5 driver to Easy Update.  It will install if you have a RAM
disk at the time (Maximum size non-zero).  It will also update it if a copy
of the driver exists, even if the maximum size is currently zero.

     When installing to a non-ProDOS volume (the available space is not
determinable) the thermometer is hidden.  This is preferable to one that
confuses the user by never updating.

     New folder name defaults to "untitled" instead of "Untitled"

     Changed "Stand by..." to "Please wait..." in two messages.

     Added MS-DOS FST to Easy Update (it just re-copies the FST if you
already have it).

     Windows use lined title bars instead of black.

     Saved 16K of disk space by changing the link options.


INSTALLER SCRIPTS   Added "Read.Me", "Shortcuts", and "Whats.New" (new
"""""""""""""""""   file) to the Teach script.

     The scripts "System 6: Hard Disk or FDHD" and "System 6: No 'Start'
Update" now install EasyMount.

     New RAM5 driver script:  The script "Drive: RAM5" installs the RAM5
driver, which improves performance when using the "RAM5" RAM disk.

     The scripts "System 6: Hard Disk or FDHD" and "System 6: No 'Start'
Update" no longer install EasyAccess (but they update it if it's already
present).

     Added script "File System: MS-DOS FST" for MSDOS.FST.  It displays its
help as an alert when you try to install it: The script "File System:
MS-DOS FST" installs the files needed for reading MS-DOS disks.  Note:  To
read MS-DOS disks, you need an Apple SuperDrive connected to an Apple II
SuperDrive card, or other hardware that can read MS-DOS disks.

     Changed Help message for DOS 3.3 FST to specify Apple II DOS 3.3
instead of just DOS 3.3, to avoid confusion with MS-DOS.

     Quick.Logoff--changed "server volume" to "shared disk" in help
message.

     synthLAB--changed "startup volume" to "startup disk" in help message.



                        >>> SYSTEMTOOLS2 - DISK <<<
                        """""""""""""""""""""""""""
READ.ME FILE   Rewritten for 6.0.1.
""""""""""""

WHATS.NEW FILE   New file listing the changes in 6.0.1 for the user.
""""""""""""""

SHORTCUTS FILE   Lots of changes.
""""""""""""""

ADDED CLOCK.PATCH   (Applesoft program for patching ProDOS 8 Thunderclock
"""""""""""""""""   driver).


                     >>> APPLE II SETUP DISK V3.0 <<<
                     """""""""""""""""""""""""""""""""
     To boot Apple IIgs System Software 6.0.1 from an AppleShare file
server, you must install Apple II Setup disk v3.0 onto the server.  Earlier
versions of Apple II Setup do not work with 6.0.1.

     Includes Logon version 1.5 and ProDOS 8 2.0.3.

     In Logon, added a "Looking for AppleTalk zones" message. Also,
keyboard navigation is now insensitive to bit 7 of the first characters of
strings in the lists (since they are already sorted bit-7 insensitively).

     The Apple II Setup disk is no longer bootable.  There was no longer
room to put a current Macintosh System Folder and all of the installed
parts on one disk.  Installer version 3.2 is used, so you should just
double-click the Installer application.

     Note: For AppleShare 2.0 users, you'll need to get to the Finder to do
           this; just start up from a disk that includes the Finder (such
           as your System 6.x System Disk, or the AppleShare Admin disk).
           Hint: You can then select your server's boot disk and pick "Set
           Startup..." from the Special menu; set it to start up with
           Finder (or MultiFinder) and then restart.  This way, you'll boot
           into the Finder from your hard disk and won't have to swap
           floppies.  When you're done, you can set startup to the
           "AppleShare File Srvr" program in the Server Folder.



              >>> APPLE II SYSTEM DISK 4.0.2 MAY 13, 1993 <<<
              """""""""""""""""""""""""""""""""""""""""""""""

CONTENTS OF /UTILITIES (3.5" DISK)
""""""""""""""""""""""""""""""""""
/UTILITIES         Blocks
PRODOS             35       Updated to version 2.0.3
LAUNCHER.SYSTEM    16       No change from 4.0.1.
SYSUTIL.SYSTEM      3       No change from 4.0.1.
FASTCOPY.SYSTEM    41       No change from 4.0.1.
BASIC.SYSTEM       21       No change from 4.0.1.
UTIL.0             87       No change from 4.0.1.
UTIL.1             62       No change from 4.0.1.
UTIL.2              4       No change from 4.0.1.
SETTINGS            1       No change from 4.0.1.
COPY.ME             1       No change from 4.0.1.
CLOCK.PATCH        17       Revised.  Fixes ProDOS Thunderclock
                            date stamping past 1998.   17

CONTENTS OF /UTILITIES (5.25" DISK)
"""""""""""""""""""""""""""""""""""
Same as 3.5" disk, except CLOCK.PATCH is omitted because there is no room.



                              >>> DETAILS <<<
                              """""""""""""""

PRODOS   *     ProDOS 8 v2.0.3.
""""""   *     KVersion ($BFFF) is $23 for version 2.0.3.
         *     The Thunderclock year table now works for 1993-1998. To get
               past 1998 you need to run CLOCK.PATCH if youUre using a
               Thunderclock card.
         *     On an Apple II Plus or unenhanced Apple IIe, the message now
               reads "REQUIRES ENHANCED APPLE IIE OR LATER" instead of
               "relocation / configuration error".
         *     Removed the message "** Unable to find a ".System" file **".
               ProDOS 8 always does a Quit if there is no .System file to
               run.

BASIC.SYSTEM        *  Version 1.5 (same as Apple IIgs System Software 6.0
""""""""""""           and 6.0.1).

LAUNCHER.SYSTEM   *    Version 4.0. Unchanged from Apple II System Software
"""""""""""""""        4.0.1.

FASTCOPY.SYSTEM   *    Unchanged from Apple II System Software 4.0.1.
"""""""""""""""

CLOCK.PATCH   *     Updated to patch ProDOS 8 2.0.3 (as well as 1.9, 2.0,
"""""""""""         2.0.1, 2.0.2).
              *     Fixed handling of the year 2000.

COPY.ME   *    Unchanged from Apple II System Software 3.2.
"""""""

SYSUTIL.SYSTEM   Util.0
""""""""""""""   Util.1
                 Util.2
                 Settings
                 *     System Utilities version 3.1, unchanged from Apple
                       II System Software 3.2.



[EOA]
[RTC]//////////////////////////////
        NIGHTS OF THE RoundTable /
/////////////////////////////////
An Intro To The A2Pro RTC
"""""""""""""""""""""""""
By Nate Trost
    [N.TROST]



RTC HAPPENINGS   A2Pro Real Time Conferences (RTCs) provide an excellent
""""""""""""""   way to get programming help and information, learn tips
and techniques, help other programmers, and chat with other Apple II users
that have an interest in programming.  As the name suggests, RTCs are real
time, meaning no waiting for an E-Mail reply or for a response from the
Bulletin Board.  Surprisingly, a large percentage of A2Pro users have never
taken advantage of this powerful resource of the A2Pro Roundtable.

     A2Pro has regularly scheduled RTCs six nights a week.  During these
times you can expect to meet an A2Pro RTC host and will probably also see
several other A2Pro users in the RTC.  The current RTC schedule is (all
times Eastern):

     Sunday     - A2Pro Sunday Night Jam, hosted by Matt Deatherage  
                  8:30-10:00 PM

     Monday     - GS/OS and Toolbox Night, hosted by Dave Miller     
                  9:30-11:00 PM

     Wednesday  - HyperBar and Grill, hosted by HangTime             
                  9:30-11:00 PM

     Thursday   - Graphics and Sounds, hosted by Nate Trost          
                  9:30-11:00 PM

     Friday     - Beginners Night, hosted by Nathaniel Sloan         
                  9:30-11:00 PM

     Saturday   - Assembly Night, hosted by Brian Wells              
                  8:30-11:00 PM

     Note that the ending times of the RTCs are flexible, it isn't too
unusual for a RTC to run into the wee hours of the morning.  :-)

     Although RTCs can seem a bit daunting at first, they are really quite
easy to use.  In this next segment, we'll do a little walkthrough of a
sample RTC session outlining how things work and what the commands are.

     When entering a RTC, it is best if you set your telecommunications
program to a 'split-screen' or 'chat' mode.  This will keep what you type
and what others type separate on the screen and keeps the two from mixing
together.  If you don't know how to turn on such a mode, refer to your
manual or ask in the appropriate topic in the A2 Bulletin Board.

     When you select the Real Time Conference option from the A2Pro menu
the next prompt you will see will look something like this:

GEnie                         Page 530;2
    Apple II Program Developers RTC
              Version 3.15

Room   Users
   1        2


Address of <A.USER> will be used.
What ROOM (1-3), or <Q>uit?

     The RTC is divided up into several rooms.  The main RTC always takes
place in a single room, although some people may move to another room from
time to time for private discussion.  In general, you will want to enter
the room with the most people since that is probably where the action is!
If there are no users in the RTC you will get the message "No users in
RTC." instead of a Room/Users tally.

     At this point you may either type Q to return to the A2Pro Main Menu
or choose a room number and move into the RTC.

     When you first enter a room you will see something like:

     Room 1, The Apple II Programming Jam
Notice on door: Spend a hot Sunday afternoon helping cooking up some hot
code -- we can help!  Or just drop in and chat to beat the heat.  **

<A.USER> is here.

     You are now in the RTC!  The above Room name and door notice will be
different, this is just an example.

     The "** <A.USER> is here." is a message that is sent to all the users
in the RTC room you just entered telling them that a new person has entered
the room.  In this case, it is a our example A2Pro user, a person with a
EMail address of A.USER (maybe he is THE.USER?  :-).

     Now that you are in RTC, anything you type will be broadcast to the
other users in the RTC.  For example, if you type: Hi everybody! and hit
return you and everyone else will see:

<A.USER> Hi everybody!

     If a user with an EMail address of BARNEY.DSAUR says Hey A.USER,
what's up? you will see:

<BARNEY.DSAUR> Hey A.USER, what's up?

     That's all there is to talking in RTC!


RTC COMMANDS   There are several handy RTC commands that are used in just
""""""""""""   about every RTC session.  All RTC commands begin with a /.
Also, all RTC commands must start at beginning of the current line.


LEAVING THE RTC   To exit the RTC and return to the A2Pro Main Menu, type
"""""""""""""""   the /EXIT command.

     To exit the RTC and log off of GEnie, type the /BYE command.

GIVING YOURSELF A NAME   While EMail addresses are fine for sending EMail,
""""""""""""""""""""""   J.SCHMOE3 or A.USER aren't very personal or
convienient for general conversation.  To add a 'nickname', which can
consist of your first name, phrase, or whatever you want people to call
you, just use the /NAME command followed by the new nickname.  A nickname
can contain any character (including spaces) and may be up to twelve
characters long.  So if A.USER has a first name of Al he could type /NAME
Al and see:

** <[Al] A.USER> was <A.USER>.
Name is now [Al] A.USER

     Now whenever you say something, people will see your nickname to the
left of your EMail address.

SEEING WHO IS IN RTC   You can get a list of people in the current RTC
""""""""""""""""""""   room at any time with the /STATUS command.  The
list you will get has a format that looks like this:

Room 2, The Apple II Programming Jam
Job     City         Room Sta Mail-Address
  1 Trumbull,CT         2   N A2PRO.DYAJIM
  2 Naperville,IL       2   N [Nate] N.TROST
  3 Cupertino,CA        2   L [A2Pro Leader] M.DEATHERAGE
  4 New York,NY         2   N [Al] A.USER
  5 PBS,TV              2   N [Purple!] BARNEY.DSAUR

CHANGING ROOMS   You can switch RTC rooms with the /ROOM command.  To use
""""""""""""""   /ROOM just type /ROOM and the room number you wish to
move to.  Example /ROOM 1 would move you to room 1.


EXCHANGING PRIVATE MESSAGES   In order to send a private message to a
"""""""""""""""""""""""""""   person that can ONLY be seen by that person,
you can use the /SEND command.  You can select a target person in two
different ways, by EMail address or Job number.  The Job number appears in
the /STATUS list (see above) and you will see what it is if you /SEND by
EMail address.  Here are some examples:

/SEND N.TROST Hey, this RTC is cool!  Send me the secret plans for the
destruction of civilization!

     After typing this in you would see the message:

Message sent to Job 2

     And N.TROST (and ONLY N.TROST) would see this:

** <[Al] A.USER> (Sent by 4) Hey, this RTC is cool!  Send me the secret
plans for the destruction of civilization!

     Now that you know N.TROST's Job number you could just: 

/SEND 2 I need the secret plans now or all is lost!

     If N.TROST send you a reply back you would see something like this:

** <[Nate] N.TROST> (Sent by 2) Okay, the plans are in the case of the old
IBM PC in the basement of the Alamo.  Use your secret decoder ring to
descramble your EMail!


FORMAL RTC ETIQUETTE   During some RTCs (usually those with guest
""""""""""""""""""""   speakers) a 'formal' RTC is in session.  During
these RTCs the RTC Room is set to 'listen-only'.  This Means you can see
what the RTC Host and Guest Speaker are saying, but you cannot say anything
out-loud. (you can still /SEND to other people, however).  To ask a
question or make a comment, use the /RAISE command.  This will let the RTC
Host know that you want to ask a question and he will call on you when it
is your turn.  When it is your turn you will be able to speak.


GETTING HELP   To get a list of RTC commands and a description of each
""""""""""""   command, you can use the /HELP command.  You can also ask
the other users in the RTC for help.


RTCs Are Fun!   This concludes our Introduction to RTCs!  We hope you'll
"""""""""""""   give the A2Pro RTC a try if you haven't already, they are
a valuable resource and lots of fun!  If you have any questions just ask in
Category 1, Topic 9 (A2Pro Real Time Conferences) of the A2Pro Bulletin
Board.


    /////////////////////////////////////////////// GEnie_QWIK_QUOTE ////
   / "My [GEnie] bill went down roughly 30%... and I just got a raise, /
  /   too.  This should be enough to cover the new tax gouge..."      /
 /////////////////////////////////////////////////////  C.OINES1  ////
     
 

[EOA]
[LOG]//////////////////////////////
                         LOG OFF /
/////////////////////////////////
GEnieLamp Information
"""""""""""""""""""""

    o   COMMENTS: Contacting GEnieLamp

         o   GEnieLamp STAFF: Who Are We?



GEnieLamp Information   GEnieLamp is published on  the 1st of every month
"""""""""""""""""""""   on GEnie on page 515. You can also find GEnieLamp
on the main menus in the DigiPub (1395), ST (475),  Macintosh (605),  IBM
(615), Apple II (645),  A2Pro (530), Unix (160),  MacPRO (480),  Geoworks
(1050), BBS (610), CE Software (1005) and the Mini/Mainframe RoundTables.
GEnieLamp  is also  distributed  on CrossNet,  Internet,  America Online,
Delphi and many public and commercial BBS systems worldwide.

     o On Internet our address is: genielamp@genie.geis.com

     o GEnieLamp pays for articles submitted and published with online
       GEnie credit time.  Upload submissions in ASCII format to library
       #42 in the DigiPub RoundTable on page 1395 (M1395;3) or Email it to
       our Internet or GE Mail address listed below.

     o We welcome and respond to all GE Mail. To leave comments,
       suggestions or just to say hi, you can contact us in the DigiPub
       RoundTable (M1395) or send GE Mail to John Peters at [GENIELAMP] on
       page 200.
 
     o Talk to us live 9:00 p.m. [EDT] every Wednesday night in the
       Digi*Pub Real-Time Conference.

     o Back issues of GEnieLamp are available in the DigiPub RoundTable
       Library #2 on page 1395.


                        >>> GEnieLamp STAFF <<<
                        """""""""""""""""""""""

  GEnieLamp    o John Peters         [GENIELAMP]    Senior Editor/Publisher
  """""""""

   ATARI ST    o John Gniewkowski    [J.GNIEWKOWSK] Editor
   """"""""    o Mel Motogawa        [M.MOTOGAWA]   ST Staff Writer
               o Sheldon Winick      [S.WINICK]     ST Staff Writer
               o Richard Brown       [R.BROWN30]    ST Staff Writer
               o John Hoffman        [JLHOFFMAN]    ST Staff Writer
               o Al Fasoldt          [A.FASOLDT]    ST Staff Writer
  
 ATARI ST/TX2  o Cliff Allen         [C.ALLEN17]    Editor/TX2
 """"""""""""
 ATARI [PR]    o Bruce Faulkner      [R.FAULKNER4]  Editor/GEnieLamp [PR]
 """"""""""
        IBM    o Robert M. Connors   [R.CONNORS2]   Editor
        """    o David C. Leithauser [D.LEITHAUSER] HyperRead Editor          
               o Brad Biondo         [B.BIONDO]     IBM Staff Writer
               o Tippy Martinez      [TIPPY.ONE]    IBM Staff Writer
               o David Holmes        [D.HOLMES14]   IBM Staff Writer

  MACINTOSH    o Richard Vega        [R.VEGA]       Editor
  """""""""    o Tom Trinko          [T.TRINKO]     Mac Staff Writer
               o Bret Fledderjohn    [FLEDDERJOHN]  Mac Staff Writer

   APPLE II    o Doug Cuff           [D.CUFF]       Editor
   """"""""    o Phil Shapiro        [P.SHAPIRO1]   A2 Co-Editor
               o Mel Fowler          [MELSOFT]      A2 Staff Writer
               o Darrel Raines       [D.RAINES]     A2 Staff Writer
               o Gina E. Saikin      [G.SAIKIN]     A2 Staff Writer
               o Steve Weyhrich      [S.WEYHRICH]   A2 Staff Writer

       A2Pro   o Jim B. Couch        [J.COUCH2]     Editor
       """""   o Nate C. Trost       [N.TROST]      A2Pro Staff Writer
               o Jim Maricondo       [A2PRO.DYAJIM] A2Pro Staff Writer

       ETC.    o Jim Lubin           [J.LUBIN]      Add Aladdin
       """"    o Scott Garrigus      [S.GARRIGUS]   Search-ME!
               o Mike White          [MWHITE]       (oo) / DigiPub SysOp

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\////////////////////////////////////
 Material published in this edition may be reprinted  under the follow-
 ing terms only.  Reprint permission granted,  unless otherwise  noted,
 to registered  computer user groups and  not for profit  publications.
 All articles must  remain unedited and  include the issue  number and
 author at the top of each article reprinted.  Opinions present herein
 are those  of the individual authors and does not necessarily reflect
 those of the publisher or staff of GEnieLamp. We reserve the right to
 edit all letters and copy. Please include the following at the end or
 the beginning of all reprints:
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\////////////////////////////////////
 (c) Copyright 1993  T/TalkNET  Online Publishing and  GEnie.  To join 
 GEnie,  set your modem to 2400 baud (or less)  and half duplex (local
 echo).   Have the modem dial 1-800-638-8369.   When you get a CONNECT
 message, type HHH.  At the U#= prompt, type: XTX99014,DIGIPUB and hit
 the [return] key.  The system will then ask you for your information.
 Call (voice) 1-800-638-9636 for more information.
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\////////////////////////////////////
[EOF]
