💾 Archived View for mirrors.apple2.org.za › archive › ftp.gno.org › doc › genie › a2pro › genielamp … captured on 2024-12-18 at 06:44:45.

View Raw

More Information

-=-=-=-=-=-=-



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

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


                       ~ WELCOME TO GENIELAMP A2Pro! ~
                         """""""""""""""""""""""""""

                          ~ Foundation Rereleased ~                   
                   ~ KFest 1994 ~ Evil Toolbox Patching ~
              ~ Listing /RAM Directory ~ Tour of 8/16 Central ~
                    ~ HOT NEWS, HOT FILES, HOT MESSAGES ~
                        
////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
 GEnieLamp A2Pro   ~ A T/TalkNET OnLine Publication  ~  Vol.4, Issue 17
 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 Editor.......................................................Nate Trost
  Publisher.................................................John Peters
   Copy-Editor............................................Bruce Maples
 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\////////////////////////////////////
  ~ GEnieLamp IBM ~ GEnieLamp ST ~ GEnieLamp [PR] ~ GEnieLamp Windows ~
        ~ GEnieLamp A2Pro ~ GEnieLamp Macintosh ~ GEnieLamp TX2 ~
          ~ GEnieLamp A2 ~ LiveWire (ASCII) ~ GEnieLamp MacPRO ~
                 ~ Solid Windows ~ Config.sys ~ A2-Central ~
              ~ Member Of The Digital Publishing Association ~
  GE Mail: GENIELAMP  Internet: genielamp@genie.geis.com   FTP: sosi.com
 ////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

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

 FROM MY DESKTOP ......... [FRM]        HEY MISTER POSTMAN ...... [HEY]
  Notes From The Editor.                 Is That A Letter For Me?

 A2PRO ROUNDTABLE STAFF .. [DIR]        TOUR OF 8/16 CENTRAL .... [TOU]
  Directory of A2Pro Staff.              Great Programmers Magazine.

 LIBRARY BIT BONANZA ..... [LIB]        DEVELOPERS CORNER ....... [DEV]
  HOT Files You Can Download.            News From Online Developers.

                      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   GEnie's monthly fee is $8.95 which gives you 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.  GEnie's non-prime time connect rate is
 $3.00 an hour.  To sign up for GEnie, just follow these simple steps.

1.  Set your communications software to half duplex (local echo) 8 bits, no
 parity and 1 stop bit, at 300, 1200 or 2400 baud.

2.  Call (with modem) 1-800-638-8369.  Upon connection type HHH.

3.  Wait for the U#= prompt.  Type:  JOINGENIE and hit RETURN.  When you
 get the prompt asking for the signup/offer code, type: DSD524  and hit
 RETURN.

4.  Have a major credit card ready, as the system will prompt you for your
 information.  If you need more information, call GEnie's Customer Service
 department at 1-800-638-9636.

SPECIAL OFFER FOR GEnieLamp READERS!   If you sign onto GEnie using the
""""""""""""""""""""""""""""""""""""   method outlined above you will
 receive an *additional* six (6) free hours of standard connect time (for a
 total of 10) to be used in the first month.  Want more?  Your first month
 charge of $8.95 will be waived!  Now there's no excuses!
                        *** GET INTO THE LAMP! ***
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""



[EOA]
[FRM]//////////////////////////////
                 FROM MY DESKTOP /
/////////////////////////////////
Notes From My Desktop
"""""""""""""""""""""

     o TOP OF THE PAGE


                          >>> TOP OF THE PAGE <<<
                          """""""""""""""""""""""

FOUNDATION HITS A2PRO   As if HyperCard IIGS wasn't enough, A2Pro has
"""""""""""""""""""""   now obtained permission to release Foundation
1.0.2 (now freeware) into its libraries!  Just about any IIGS programmer
who uses resources can benefit from Foundation, be sure and check out
the details in this issue!

As I write this, ICONference 1994 (known as KFest) is less than three
weeks away.  This will be the sixth KFest (and my fifth trip down to KC)
and I'm really getting excited!  For those of you who will be down there,
be sure and stop and say hello to the GEnieLamp A2Pro staff and the
rest of the A2Pro regulars.  :-)  We'll have complete coverage of KFest
94 in the next issue of GEnieLamp!

Enjoy the issue!



                                                 Nate Trost
                                               GEnieLamp A2Pro
                     


[EOA]
[DIR]//////////////////////////////
          A2PRO ROUNDTABLE STAFF /
/////////////////////////////////
By Nate Trost
 [A2PRO.GELAMP]
                          ______________________________________________

                           APPLE II PROGRAMMERS & DEVELOPERS ROUNDTABLE
       _____  ______      ______________________________________________
      /_____|/______\
     /__/|__|  ___|__|         
    /__/_|__| /_____/         Your Sysops: Greg Da Costa    (A2PRO.GREG)
   /________|/__/       __ __ __           Todd P. Whitesel (A2PRO.TODDPW)
  /__/   |__|__/______ /_//_// /           Nathaniel Sloan  (A2PRO.HELP)
 /__/    |__|________//  / \/_/            Nate Trost       (A2PRO.GELAMP)

                                 [*][*][*]



[EOA]
[HEY]//////////////////////////////
              HEY MISTER POSTMAN /
/////////////////////////////////
Is That A Letter For Me?
""""""""""""""""""""""""
By Nate Trost
  [A2PRO.GELAMP]

     o   BULLETIN BOARD HOT SPOTS

           o   WHAT'S NEW
           
                 o   PROGRAMMER'S TIPS

                       o   MESSAGE SPOTLIGHT
                             


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

 [*]  CAT10,  TOP15, MSG{23}............Foundation from Lunar Productions
 [*]  CAT11,  TOP22, MSG{19}.............Patching The Apple IIgs Tool Box
 [*]  CAT15,  TOP1,  MSG{84}.................................Tool Locator
 [*]  CAT15,  TOP14, MSG{128}..............................Window Manager
 [*]  CAT15,  TOP15, MSG{84}.................................Menu Manager
 [*]  CAT36,  TOP11, MSG{230}......................................ORCA/C



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

FOUNDATION RERELEASED   As you're probably heard, Foundation is now 
"""""""""""""""""""""   freeware; the source should be available on GEnie 
soon, as soon as I can get my hands on all of it.

      However, I've JUST moments ago received permission from Marc Wolfgram 
to modify the existing Foundation v1.0.2 slightly and release it online.
I've begun the necessary alterations, and, if all goes will, will have
it ready to be uploaded sometime tomorrow.  In particular, I need to add
conspicuous freeware notices and some form of documentation.  I've
managed to add some freeware notices even though I can't recompile the
code, and will write some simple documentation tomorrow afternoon.  I
hope to upload it very soon, so keep your eyes peeled.

      The first freeware release of Foundation will be, aside from the new 
freeware notices, identical to the 1.0.2 release previously available
commercially.  Once the source is released, it will be uploaded, and
after that, future changes will be made available.

      The icon/bundle editor source has been made available.  I may attempt 
to compile it as well.  Er, I may even post that source very soon.

             (POWERPC.PRO [Sheppy], CAT10, TOP15, MSG:23/M530)


<<<<<   Foundation v1.0.2 has been uploaded to the A2Pro library.  Should 
"""""   be file #4174 when released.

      This version is identical to the commercial version except for the 
addition of freeware notices, a small readme, the inclusion of the
Foundation Developers' Toolkit, and the addition of a script for
rProgramInfo resources.

             (POWERPC.PRO [Sheppy], CAT10, TOP15, MSG:27/M530)


>>>>>   I noticed something with the hex editor; this was probably 
"""""   documented somewhere, but maybe not.  :)  I don't think I actually 
read any of the docs (wait; I remember a Read.Me file of some sort.  :) 
Anyhow, to toggle insert and overstrike in the hex editor, you use
Cmd-E, which seems to be a standard (thankfully I figured this out
before I retyped the entire resource.  :)

            (A2PRO.HELP [ Sloanie ], CAT10, TOP15, MSG:44/M530)


<<<<<   I've just finished uploading a rather small file (about 6k), 
"""""   containing a replacement Foundation.Data file, etc. to library 14.

Here's the long description for this file...

      This archive contains a replacement Foundation.Data file for 
Foundation version 1.0.2.  This supplies editors (ScriptEdit editors) for
rProgramInfo, rWindParam1 and rRectList (used by Finder 6.0x) It also
has had the rResourceName resource cleaned of orphaned strings.  There is
a ReadMe file as well (teach format) which details how to install this,
what to watch out for, and lists some hints and tips for working with
the ScriptEdit editor.  It also covers some other topics related to
Foundation.  Packed with GSHK.  This is a Must-Have item for Foundation
users :)

 Keywords, comma separated.
 Foundation, ScriptEdit, editor

The file number (when released) will be 4177.

      I should mention to all (Sheppy especially!!!!) that I have had
Foundation hang (lock up) on me on occasion while working in the
ScriptEdit editor.  The details are in the Read.Me.NOW file in this
archive.

      Also, this archive CAN be safely unpacked _directly_ to your
Foundation.User folder as the replacement Foundation.Data file is named
"NewFoundData", so it won't "toast" anything for you. :)

Back to Merlin now... :)

 -Harold
 CornerStone - Watch for it!

             (H.HISLOP [CryptKeeper], CAT10, TOP15, MSG:46/M530)



FILETYPE LIST UPDATE   ][ am currently working on a new version of my list 
""""""""""""""""""""   of "Official and Unofficial File Types."  Since the 
most recent official list of file types is in the FType.Apple file that
came out a year ago, I'm sure there are many more new types that have
been assigned since then.  If you have been assigned an official file
type by Apple in the past year to year and a half, could you please post
that file type/aux type combination and it's description string here?  I
could then release the most up to date list possible.  Thanks.  (BTW,
I'll be creating a new FType.Lunatic.# file once my file type list is
ready for release, as well.)

                                                         -= Lunatic     (:

                   (A2.LUNATIC, CAT11, TOP20, MSG:3/M530)


<<<<<   Music Composer document( music sequence file).
"""""

   File type:        MUS($D5)
   Auxiliary type:  $8006

Clay

             (C.JUNIEL, CAT11, TOP20, MSG:4/M530)


>>>>>   Oh, geez.  I'll probably forget some.  Here's a few, though:
"""""

   FT    Aux    Use
   --    ---    ---
   B0    0110   Modula-2 source code
   B0    0112   Logo Source Code
   B0    0C12   Logo "Finder Launchable" program
   5E    8008   ORCA/C symbol file
   5E    8009   ORCA/Pascal .int file

Mike Westerfield

                   (BYTEWORKS, CAT11, TOP20, MSG:5/M530)



A2PRO CONTEST & RESULTS   Here's the problem:  A woman shows you three 
"""""""""""""""""""""""   shells with a Pea under one of them.  You pick 
one that you think might have the Pea under it, and she shows you that
there's nothing under one of the OTHER shells.  Now there are two shells
left, one with the Pea under it.  She gives you the option of sticking
with the one you already picked, or switching to the other ... what do
you do?

      The laws of probability say that if you switch you're more likely to 
win the game!

      Here's YOUR challange, write a short program in ANY language that 
will play the game a bunch of times and record the number of times won
when "standing pat" and the number of wins when switching.  Applesoft is
the PERFECT language for this, however you may use any language you
desire.

      The first person to U/L the program and source code to the A2Pro 
library and post the code in this topic (it SHOULD be very short) will
win two hours of Non-Prime Time GEnie credit (i.e. a $6.00 credit to
your bill).

Good luck gang!  --HangTime

               (HANGTIME [Tyrant], CAT11, TOP25, MSG:1/M530)


<<<<<   OK, here's a program that will show the results of 100 games where 
"""""   the player does NOT switch once the empty one is shown.  Of course, 
to find out what the results would have been if the player HAD switched,
just swap the totals for right and wrong.

It is presented here in a form ready for saving to a text file and EXECing.

 NEW
 10 RIght = 0
 20 WRng = 0

 90  HOME
 100  FOR GAme = 1 TO 100

 110 PEa =  INT ( RND (1) * 3) + 1
 120 CHoice =  INT ( RND (1) * 3) + 1

 130  IF CHoice <  > PEa GOTO 170
 140 SHow =  INT ( RND (1) * 2) + 1
 150  IF SHow >  = CHoice THEN SHow = SHow + 1
 160  GOTO 210

 170 SHow = PEa + 1
 180  IF SHow > 3 THEN SHow = 1
 190  IF SHow = CHoice THEN SHow = SHow + 1
 200  IF SHow > 3 THEN SHow = 1

 210  VTAB 10:
 220  PRINT

 230  FOR I = 1 TO 3
 240  IF I = SHow THEN  PRINT " Shown  ";: GOTO 270
 250  IF I = CHoice THEN  PRINT " Chosen ";: GOTO 270
 260  PRINT "        ";
 270  NEXT I
 280  PRINT

 290  PRINT "  ___     ___     ___"
 300  PRINT " /   \   /   \   /   \"
 310  FOR I = 1 TO 3
 320  PRINT "| ";
 330  IF PEa = I THEN  PRINT "Pea";
 340  IF PEa <  > I THEN  PRINT "   ";
 350  PRINT " | ";
 360  NEXT I
 370  PRINT

 380  PRINT
 390  IF PEa = CHoice THEN RIght = RIght + 1: PRINT "     A Winner!  "
 400  IF PEa <  > CHoice THEN WRng = WRng + 1: PRINT "     Try Again! "
 410  PRINT
 420  PRINT " Totals: ";RIght;" RIght  "
 430  PRINT "         ";WRng;" wrong  "

 440  GET X$
 450  NEXT GAme

 460  PRINT " out of 100 games"
 470  PRINT
 SAVE SHELL

 ...Chris

               (K.FLYNN [ Chris ], CAT11, TOP25, MSG:5/M530)


>>>>>   Congratulations!!
"""""

      After downloading your code, turning it into an executable BASIC 
program, and executing it several times, I've decided that... it works! 
:) You are hereby awarded a $6 GEnie usage credit for winning the Shell
Game Contest.

      By the way, the executable BASIC program is available in our library 
as file #4179, if you still don't believe the results.  :)

             (A2PRO.HELP [ Sloanie ], CAT11, TOP25, MSG:6/M530)



KFEST 94 INFO
"""""""""""""

                Y:  "It's that time again!"
                W:  "Time to change our socks?"
                D:  "Time to annoy FOX's censors?"
                Y:  "No!  It's time to start discussing KansasFest!!"

(Thank you, Warner Brothers).

      This year is #6 for KansasFest, that conference (in Missouri, of 
course) which comes but once a year.  The idea is that people go, hang
out for a couple of days with other computer users, stay up till 5 AM in
the dorms, and basically have a good time.  :-)  This years' dates are
July 21-23.

The pricing information is as follows:

                            Before 7-15             After 7-15

 Registration & lunches:    $200                    $250
 Private room, 2 meals:     $45/night               $50/night
 Double room, 2 meals:      $35/night               $40/night

      Note that the 2 meals is "two meals per day", dinner the night of 
your stay and breakfast the next morning.

Contact ICON here on GEnie (or call 913-469-6502) for more information.

You may ask:  Why are you telling me this?

      Simple.  A2Pro staff will be heavily in attendance in KC, and we'd 
like to meet the people who make this roundtable what it is.  :-)  Also,
we have tentative plans for a debugging lab (like in years past)
somewhere in Avila where attendees will be able to bring their
software-in-progress and get instant help from other attendees and A2Pro
staff.

      Don't forget, also, that A2Pro will be providing news updates from 
KansasFest as well as live RTCs from Avila!  (Rumor has it that one or
possibly more RTCs will actually be held in one of the Avila dorm
elevators.  But, that's just a rumor).

      Anyhow, KC is _the_ place to be next month for computer users and 
programmers.  Hope to see you there!  :)

             (A2PRO.HELP [ Sloanie ], CAT16, TOP21, MSG:1/M530)



                        >>> PROGRAMMER'S TIPS <<<
                        """""""""""""""""""""""""

THE BEAGLE COMPILER   Hey there...  I was wondering (rather desperately :) 
"""""""""""""""""""   what the latest version of the Beagle Compiler is, if 
anyone might know.  I have version 2.6 (copyright 1986 :) and it seems to
have a few real nasty bugs, that cause my program to do weird things
that it shouldn't be doing or occasionally crash into the monitor...  
Does anyone know if there were any updates since the Compiler was put
out, and how I could get my hands on them?

              (B.VICTOR1 [> Vic <], CAT9, TOP10, MSG:20/M530)


>>>>>   I have version 3.2, Copyright 1986-1990.  It seems pretty stable 
"""""   except for occasionally changing from the 80-col. to 40-col. screen 
when I make an inappropriate keypress.

Dunno where you could get it, unless QC still sells it.

TomZ

                  (T.ZUCHOWSKI, CAT9, TOP10, MSG:21/M530)


<<<<<   Of course QC still sells it.  B)  Call 1-800-777-3642 for upgrade 
"""""   info.

             (JERRY.K [SyndiComm PR], CAT9, TOP10, MSG:23/M530)



LINKING IN WITH MERLIN   Are there any Merlin 16+ hackers who may know if 
""""""""""""""""""""""   this is possible...

      I would like to either assemble Merlin source into ORCA/C compatible 
OBJ modules OR use a utility to convert one to the other!

      I want to experiment with some GNO/ME utility source which is mainly 
written in C but usually with some ASM routines.  I don't really want to
pay the $90US (+ 42% exchange) just to experiment so I'm looking for
alternatives first.

      I have succesfully converted complete ORCA/M programs to Merlin 16+ 
on several occasions, its just the OBJ's which have me slowed.

Any help would be appreciated.

                                                           Thanks,
                                                           Doug M.

               (D.MITTON [Doug], CAT3, TOP4, MSG:92/M530)


<<<<<   I believe that Merlin 16+'s 4th linker outputs OBJ files.
"""""

-G.T. Barnabas

             (BARNABAS [G.Templeman], CAT3, TOP4, MSG:93/M530)


>>>>>   Yep, the 4th linker (ie. LKV $03) spits out stanard OBJ files. I've 
"""""   used these successfully with MPW link files, so I assume they'll be 
fine with ORCA/M.

               (RICHARD.B [Richard], CAT3, TOP4, MSG:94/M530)


<<<<<   Thanks for the information about Merlin 16+ 'lkv $03' producing 
"""""   ORCA friendly OBJ module format files.  After I read the manual 
again now it makes sense.  Of all the places it mentions ORCA conversions
it wasn't really clear here.

      Two additional queries; are current ORCA OBJ's OMF2??  Do I have to 
use the Merlin 'ver $01' command still??

      Will Merlin produce EXE's that are compatible with GNO/ME shell? 
(Now I'm really pushing it!! ;-) )  Some of the utilities are ASM only.

      I am converting the source to Merlin format so I haven't actually 
tried it (lkv $03) yet.

Thanks again for the information.

                                                       Doug M.

               (D.MITTON [Doug], CAT3, TOP4, MSG:95/M530)


>>>>>   The current versions of the ORCA languages all produce OMF 2, but 
"""""   object files from older versions of the compilers may produce older 
versions of OMF...

             (T.BUCHHEIM [] Tim 'pi' [], CAT3, TOP4, MSG:96/M530)


<<<<<   Yea, if you have Orca 2.0 then let merlin lkv 3 linker create the 
"""""   OMF 2.0 files and Orca's linker will handle it.  Also, if you have 
LinkIIGS that handles OMF 2.0 as well.

                  (W.TUDOR, CAT3, TOP4, MSG:97/M530)



TAIL PATCHING TECHNIQUE   Goodness knows I don't read up on messages as 
"""""""""""""""""""""""   often as I should, and as a result, I have too 
many to wade through right now <GRIN>.  Let's get this tail patching
thing discussed first.  I know the TNs say that tail patching is bad to
do, so don't tell me that it is--I already know this.  However, tail
patching is a very useful and powerful thing, and I've probably figured
out a method that is about as safe as is possible.

      There are two return addresses on the stack, 99% of the time.  The 
top one, (the one that's put on first), is put on when you JSL to
$E10000, and is checked by a few functions, (like GetNextEvent), to fix
bugs in big tools like the Dialog Manager.

      The bottom return address is generally, and supposed to be, put on by 
the tool dispatcher before it dispatches to the particular function.  This
address is how I tail patch.  I simply replace this address with the
tail patch part of the function, and wait patiently until it's called. 
The system never tests this address, as it's different if you call
$E10000 or $E10004.

Below is a very simple piece of code that demonstrates how I tail patch:


function  START
          PHB
          PHK
          PLB
          PHA
          PHX
          PHY
          LDA 8,S              ;Get 2nd rtl addr from stack,
          STA return           ;and save it.
          LDA 9,S
          STA return+1
          LDA #functionEnd-1   ;Swap in our tail patch part.
          STA 8,S
          SEP #$20
          LONGA OFF
          LDA #^functionEnd-1
          STA $A,S
          REP #$20
          LONGA ON
          PLY
          PLX
          PLA
          PLB
          JMP doFunction ;JMPs to the orig. addr of call
functionEnd PHB
          PHA
          PHP
          PHB
          PHK
          PLB
          PHA
          PHX
          PHY
          LDA return ;put rtl addr in space we've alloced on stack.
          STA 9,S
          LDA return+1
          STA $A,S
          BCS getout ;don't do our stuff if error
getout    PLY
          PLX
          PLA
          PLB
          PLP
          RTL
return    DS 3
          END

      I am patching 27 calls in an Init right now, more than half of them 
tail patches, and everything works for me--and it should work for you,
too.  We first save the second return address from the stack, and fill it
with the address of our tail patch.  When this gets control, we make
room on the stack, and put the old address back so we can call it when
the tail patch RTLs.  Simple as can be, eh!

 Tony Morales AKA. Hexman

               (T.MORALES [Hexman], CAT11, TOP22, MSG:38/M530)



COLORING WINDOW GROW BOXES   I was fooling around with the appearence of 
""""""""""""""""""""""""""   windows, the color of title bars and such.  
The window was created with a _NewWindow call.  Bits 7 - 0 of the fourth
word of the color table pointed to by wColor, set the color of the
interior of the grow box, according to p.25-17,TBR 2.

      While setting the bits of the other four words all work for me, 
setting these don't seem to affect the grow box in any way.  Not that I
really _want_ to change the color of the grow box, but I'd like to know
why I can't.

Oh yes, I'm running GSOS 6.0.1 if that has any bearing.

 Mark Wade
 
                (M.WADE7 [Mark], CAT15, TOP14, MSG:125/M530)

 
<<<<<   When I rewrote the Softdisk G-S Shell, my solution for making a 
"""""   window with scroll bars but no grow box (and no "grow-box hole" in 
the window) was to set the colors so the grow box would be all white, and
ignore clicks in it.  However, I discovered that the color table didn't
work.  I stepped through a lot of Window Mgr. stuff to determine that,
sure enough, the system does NOT (and never has) supported the grow box
color-table stuff for the standard window-frame grow box.

      My solution was to write a routine to fix the color table of the 
grow box after the fact (but before the window drew).  I may move this
code into GSLib if others are interested in doing this sort of thing.

-Greg Templeman, GS Software Engineer
 Softdisk Publishing

             (BARNABAS [G.Templeman], CAT15, TOP14, MSG:126/M530)



READING /RAM IN BASIC.SYSTEM   Since the beginning of time, BASIC.SYSTEM 
""""""""""""""""""""""""""""   has not been able to handle using
OPEN/READ/INPUT to read the /RAM disk.  The code in BASIC.SYSTEM that
handles it expects the disk to have exactly 51 directory entries in its
root directory, and that isn't the case for the /RAM disk (which has
fewer directory blocks to leave more room for data).

      When the code to handle INPUTting from the CATALOG hits the end of 
the root directory way before it expects to, it returns an END OF DATA
error because it's too stupid to know any better.

      There are patches floating around out there that fix the problem, but 
I haven't seen one for ages, and not since BASIC.SYSTEM 1.1 or so.

             (POWERPC.PRO [Sheppy], CAT9, TOP7, MSG:132/M530)


<<<<<   Here is the routine that the Eamon Master uses to read a Catalog 
"""""   into a string array:

 1102 ONERR GOTO 1125
 1105 PRINT D$"OPEN"CX$",TDIR": PRINT D$"READ"CX$: INPUT A$: INPUT A$:
      INPUT A$
 1110 INPUT B$: IF B$ = "" THEN 1125
 1120 IF MID$ (B$,18,3) < > "DIR" THEN 1110
 1121 X = X + 1:B$(X) = MID$ (B$,2,16)
 1122 IF RIGHT$ (B$(X),1) = " " THEN B$(X) = LEFT$ (B$(X), LEN (B$(X)) -
      1): GOTO 1122
 1123 GOTO 1110
 1125 POKE 216,0: PRINT D$"CLOSE"

 This seems to work OK with /RAM volumes of 64K and 3MB; at least I've
 never seen a crash with it.
 I've tried it with maxed 64K /RAM directories with no problems.

 Thanks to Dennis Doms for giving me this routine "way back when".

 TomZ

                 (T.ZUCHOWSKI, CAT9, TOP7, MSG:133/M530)
 


NIL, ZERO, NULL AND ZILCH   I couldn't find the Inane Questions category so 
"""""""""""""""""""""""""   I thought I would post this here.

      I have noticed references to setting fields to 0, nill, and null.
Specifically TBR 3, pg 28-79;

 horzBar  must be set to NIL.
 maxLines  must be set to 0.
 maxCharsPerLine Must be set to NULL.

      If nil, null, and 0 all equal zero, then why the distinction?  I can 
see a difference between nil and zero; nil is the absence of anything and
zero is the absence of quantity, I guess, and null, well, that seems a
lot like nil to me.  Please, I am in need of elucidation.  Okay, maybe I
don't need it, but I would like it.

      Oh yeah.  If zero is the absence of quantity, then why is 
maxCharsPerLine null rather than zero as is maxLines?  I know, Why ask
why.

 Mark Wade

             (M.WADE7 [IamtheWalrus], CAT1, TOP21, MSG:81/M530)


<<<<<   Apple's documentation is full of inconsistent uses of 0, NULL, and 
"""""   NIL.  Personally, I use "0" when referring to the value zero, 
"NULL" when referring to a 16-bit pointer of value zero, and "NIL" when 
referring to a long pointer.

But that's just me. :)

             (POWERPC.PRO [Sheppy], CAT1, TOP21, MSG:83/M530)


>>>>>   In assembly, the distinction between NULL, nil and 0 is, well, nil.  
"""""   :)  That's assuming you mean a long (4 byte) 0, that is.

      The real source for all of the names is couched in today's most 
popular programming languages.  The Mac, and by inheritance the  GS, was
designed for Pascal compilers.  Sure, C has largely taken over on the
Mac, and is popular on the GS, too, but historically, the Mac toolbox
was designed for Pascal.  When Apple came out with the GS, they
contracted with us for an assembler, Megamax for C, and some other
company (I don't remember the name anymore) for Pascal.  The Pascal
folks got in trouble, and never delivered--so Apple decided the GS was
designed for C.  Doncha love marketting types?  :)  Of course, since the
GS is a C machine, we use Pascal strings throughout the toolbox, which C
can't handle well.  :O

      Anyway, in Pascal, the name of the constant for a pointer that 
doesn't point to anything is nil.  In C, by tradition and in some .h
files, it's NULL.  In most computers, location 0 can't be used for
anything productive, so the convention grew up to use 0 for  the
internal binary value for this kind of pointer.  C even makes this a
standard; Pascal doesn't say what the value actually is, but all of them
I've used use 0.

      So, NULL is C-speak, nil is Pascal-speak, and 0 is the number they 
both use-- sort of assembly-speak.  They all mean the same thing.

Except Rez.  As covered.

Mike Westerfield

                   (BYTEWORKS, CAT1, TOP21, MSG:85/M530)



REQUEST PROCEDURE NAMING   I need some help with 
""""""""""""""""""""""""   SendRequest/AcceptRequests.  The info I need,
(while probably in the docs), is unclear, so hopefully someone can
straighten things out for me.  I am designing an application which will
load a variable number of modules from disk at start-up time and then
execute each.  These modules, in turn, will each install a Request
Procedure, so that the main application can keep track of them, and
communicate with them later.

      I think I will be using InitialLoad2 to grab each from disk, as they 
will be OMF load files.  I think I will need to allocate different IDs
for each, which I will probably allocate in the $Axxx range, like the
Finder does for Finder Extensions.

      My question is this.  How should I form the NameString of both the 
main application and the external modules?  The thing that confuses me is
the fact that you can send application-specific request codes to certain
Request Procedures only, by specifying a prefix string.

      The docs say you should form your string like, "Name~Product~," but 
if others make their own modules, this won't work, as everyone's name is
different.  Maybe for the main application, I can follow this example,
but what about the modules?  That is what is confusing me.

Thanks in advance!

 Tony Morales AKA. Hexman

              (T.MORALES [Hexman], CAT15, TOP1, MSG:84/M530)


<<<<<   Well, you can name them however you want, but I'd use this:
"""""

   nameofyourprogram~modulename  or  
   hexman~nameofyourprogram~modulename 
   
Of course, you could replace "hexman" with whatever you want...the only
purpose would be to make your thing work even if someone else wrote a
program with the same name...

           (T.BUCHHEIM [] Tim 'pi' [], CAT15, TOP1, MSG:85/M530)


>>>>>   There -is- a logic to all of this.  :)
"""""

      The idea is that you will make a program, called Foo.  Your program 
will install a request procedure.  You have a company named Bar.  You'll
format your name string as follows:   Bar~Foo~

      All request codes greater than $8000 are defined for a name string 
only; that is, $8001 for Apple~Finder~ is different than $8001 for
Bar~Foo~.

      Your modules should install things like:   Bar~FooModule1~ or 
something.  Then, they can make requests to your main procedure by sending
them to Bar~Foo~.

      Bar~Foo~, on the other hand, can communicate with its modules in 
different ways.  It can send request codes to everything installed (with
sendToAll), with an appropriate procedure accepting the call and acting
on it.

      Or, it can optionally send the code to specific modules, by name, if 
you know every module which will be installed ahead of time.

Hope that clears things up a bit; if not, ask more questions.  :)

             (A2PRO.HELP [ Sloanie ], CAT15, TOP1, MSG:87/M530)


<<<<<   I don't think I explained my situation to the best of my abilities, 
"""""   so I will try a bit harder.  For the main application, "Foo," 
created by, "Bar," the NameString for the Request Procedure will be,
"Bar~Foo~." This makes sense, and anyone can send requests to this if
they wish.

      Now the hard part.  I will have a number of external modules, which 
the main application will need to communicate with, kind of like how the
Finder talks to Finder Extensions.  I'm not sure how Finder does it,
since Finder Extensions can have any NameString.  Anyhow, I will have no
idea of knowing which modules are installed.

      At start-up time, I will traverse a subdirectory and load in the 
modules one at a time with InitialLoad2.  At this point, the modules will
install their Request Procedures.  I am undecided on how I will
communicate with them.

      If I made it a point to give each module a NameString of,
"ApplicationName~CompanyName~ModuleName~," would this be bad?  How does
Finder do it?  I'm sort of getting this stuff--in a few days, I will get
it.

 Tony Morales AKA. Hexman

               (T.MORALES [Hexman], CAT15, TOP1, MSG:88/M530)


>>>>>   What Finder does is send its requests to all procedures installed, 
"""""   with SendRequest parameters of sendToAll and stopAfterOne.

(there are several exceptions, BTW; finderSaysHello, for one is sent to
all procedures, but doesn't stop after one, so everybody gets a chance
to look at it).

You have two options.

   #1)  Do what Finder does.

   #2)  Cache a list of the user IDs of your modules, as you install them.
        Whenever you need to communicate with them, send a request using
        the parameters sendToUserID and stopAfterOne.  (with this method,
        you'd have to send a separate request to each prodedure).

Hope this helps...

             (A2PRO.HELP [ Sloanie ], CAT15, TOP1, MSG:89/M530)


<<<<<   If the modules are loaded separately, I would give each of them a 
"""""   namestring of "yourcompany~yourapplication~modulename~".  This 
would be the best way to do it, and, in fact, is the way the PR6 suggests
doing it.

             (POWERPC.PRO [Sheppy], CAT15, TOP1, MSG:90/M530)



FLOWCHART FUN   Another humorous tidbit courtesy of The Chatlines' 
"""""""""""""   Jokemaster.


                        ANATOMY OF A FLOWCHART

                    -------------------------------
                   |                               |
                   |   D O E S   I T   W O R K ?   |
                   |                               |
                    -------------------------------
                          yes|           |no
                             |           |
                             V           V
                   ------------         --------------
                  | Don't mess |       | Did you mess |
                  | with it!   |       | with it?     |
                   ------------         --------------
                    |                 yes|          |no
                    |                    |          |
                    |                    V          V
                    |         ------------      -------------
                    |        | You idiot! |    | Will you    |
                    |         ------------     | catch hell? |
                    |          |                -------------
                    |          |              yes|         |no
                    |          |                 |         |
                    |          V                 |         |
                    |         ------------       |         |
                    |        | Did anyone |      |         |
                    |        | see you?   |      |         V
                    |         ------------       |     ---------
                    |        no|        |yes     |    | CAN IT! |
                    |          |        |        |     ---------
                    |          V        V        V         |
                    |      ------      -----------         |
                    |     | Hide |    | You poor  |<---    |
                    |     | it!! |    | b*stard!! |   |    |
                    |      ------      -----------    |    |
                    |         |         |             |    |
                    |         |         |             |    |
                    |         |         V             |    |
                    |         |    ---------------    |    |
                    |         |   | Can you blame |   |    |
                    |         |   | someone else? |   |    |
                    |         |    ---------------    |    |
                    |         |      yes|       |no   |    |
                    |         |         |       |     |    |
                    |         |         |        -----     |
                    |         |         |                  |
                     -------  |         |  ----------------
                            | |         | |
                            | |         | |
                            | |         | |
                            V V         V V
                     ---------------------------
                    |                           |
                    |  N O   P R O B L E M ! !  |
                    |                           |
                     ---------------------------

             (A2.TONY [A2 Librarian], CAT16, TOP2, MSG:199/M530)



                        >>> MESSAGE SPOTLIGHT <<<
                        """""""""""""""""""""""""

      This is how I implemented enabling or disabling rBundle icons for my
program Music Composer.

      I don't do anything to the rBundle in the program itself.  I locate 
the DeskTop file in the icons folder(I search every volume till I find
the correct one).  When the program is launched for the first time the
rBundle is copied to the DeskTop file in the icon subdirectory of the
volume that the program was launched from.  The next time the program is
launched the finder checks the rVersion to see if it is in the DeskTop
file.  If it is it doesn't copy the rBundle again.  From then on the
finder uses the information in the rBundle in the DeskTop file to choose
which icons to display.  So this is the file that needs to be changed.

      The matchflags in the onedoc structure should be set to %11(decimal 
3) to match the file type and auxiliary type.  If you change them to
%111(decimal 7) to also match the file name, the match will fail because
there is no name to match.  There will be no icon created.

Clay

P.S.
      I am thinking of writing a program that will allow a user to disable
icons from any program that uses rBundles using the same method.  It
would only write to the DeskTop file.  If that got to bunged up, you
could just delete it and have programs recreated it each time they
launch.

                  (C.JUNIEL, CAT11, TOP8, MSG:54/M530)

                                          

                               [*][*][*]


    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 Apple II, 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 Nate C. Trost
[A2PRO.GELAMP]



                      >>> 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
          38   EdIt-16 (Bill Tudor)

     30        PROCYON, INC.
     31        SOFTDISK PUBLISHING
     33        GS+ MAGAZINE
     34        JEM SOFTWARE
     35        PRODEV, INC.
     36        THE BYTE WORKS

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



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

GNO 2.0.5 NEWS   This area has been quiet for a spell so I thought I'd post 
""""""""""""""   a question and a 'nag'....

      I just obtained MuGS (the mail reader) but it required MicroEmacs, 
any idea where I may find it?  I've not heard of it and I don't know what
it is.

And now the 'nag'....

      Any idea when the version of GNO/ME with the Super Serial driver may 
be available?

Thanks for any input you (or anyone else) may have!!

                                                              Doug M.

               (D.MITTON [Doug], CAT30, TOP1, MSG:52/M530)


<<<<<   MicroEmacs is a mini version of a venerable UNIX text editor.  It 
"""""   was ported to the IIGS by Morgan Davis, and it's probably in Morgan's 
library here on GEnie.

   >Any idea when the version of GNO/ME with the Super Serial driver may be
   >available?

      It's much closer than before; I seem to have one bug left in it (the
Super Serial driver, that is :), and GNO/ME 2.0.5 is in the works - I'm
bug busting furiously.

      So, now's the time to bug me about any specific _new_ features you 
want in 2.0.5.

 Jawaid

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


>>>>>   Ideas for the V2.0.5 update:
"""""

   1) A good functional Super Serial card driver for any slot!
      (I know, a smart 'butt'!! :-) )

   2) Some kind of user file security system.  I've seen others suggest
      this so I'm just adding my vote.

   3) Reliability!  I know this is broad but I've been having a couple of
      problems and maybe if I explain them you'll know what I mean.

      - There appears to be race conditions when writing files to disk.
        If I have just multiple file copies being done in the background
        some of them will not copy.  The task terminates OK but the copy
        is not done.

      - Quite often GNO/ME locks up on login.  When I am on the console I
        just access GnoSnooper and kill GSH.  I can then generally login
        normally.  BUT when I'm remote this is a real pain.

      If it is a matter of reliability over speed of task switching, please
allow an option so that I can decide which on my system.  I'm not up on
the technical aspects BUT if GNO/ME can decide that during a disk access
(write) to suspend task switching I would prefer it.

   4) A full-fledged scripting language for GSH.  It would be nice to be 
      able to use some of the scripts I read about while learning 
      GNO/ME/BSD.

   5) Fix the remote login problem where the garbage is displayed on the
      screen before the login: prompt.  Someone here in A2Pro mentioned it
      was the fault of GETTY.  This isn't a problem for me as my remote
      system uses modified character mapping so that it all looks good
      BUT anyone else I have dial in really gets an eye full.  I know its
      just cosmetic but sometimes looks mean more than function to the
      casual (read non-technical) user.  (And there are a lot of surprised
      people when they see UNIX running on a TOY computer!)

      Just as an aside I really like the multi-user environment simply 
because I can login under different IDs and be in a specialized
environment just for the task I want to do. (ie. programming, 
maintenance, read downloaded messages, remote file transfers, etc, etc,
etc.)  All other reasons aside, this is very handy.

      Thanks for for a 'really neat' system for my 'poor old and decrepit'
Apple //.  I hope we can see 2.0.5 real soon (hint-nudge-wink)!!

                                                        Doug M.

               (D.MITTON [Doug], CAT30, TOP1, MSG:54/M530)


<<<<<   >1) A good functional Super Serial card driver for any slot!
"""""   >   (I know, a smart 'butt'!! :-) )

That will be in there.

   >2) Some kind of user file security system.  I've seen others suggest
   >   this so I'm just adding my vote.

      This is problematic.  I.E., it would be a huge amount of work, and I
haven't been sold on it yet.

   >   - There appears to be race conditions when writing files to disk.

      This is more likely a bug in the 'cp' program, which is known to have
other odd quirks.

   >   - Quite often GNO/ME locks up on login.  When I am on the console I
   >     just access GnoSnooper and kill GSH.  I can then generally login
   >     normally.  BUT when I'm remote this is a real pain.

      Not sure what causes this, but other users have reported it (it's a 
gsh bug).

   >   If it is a matter of reliability over speed of task switching,

      Just so you know, it's not :-) The actual GNO Kernel, which handles 
the task management and all that, as far as I know, has exactly 1 bug
that occasionally causes FPNum to crash when intensive floating-point
calculations are going on.  There are no bugs that cause programs to
subtly work incorrectly.

   >4) A full-fledged scripting language for GSH.  It would be nice to be 
   >able to use some of the scripts I read about while learning GNO/ME/BSD.

      I've been looking into this, and while it probably won't make 2.0.5, 
it probably won't be long after that (people are bugging me to release
2.0.5 for the bug fixes).

Thanks for your comments, suggestions, and *gasp* bug reports!

 Jawaid

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


>>>>>   How about more Unix system calls, like popen(), pclose(), 
"""""   waitpid(), select(), etc.

                (S.REEVES2 [Steve], CAT30, TOP1, MSG:55/M530)


<<<<<   Ahh, yes. select() was quite a bit of code, but it's in 2.0.5. 
"""""   waitpid() is another large chunk of code, and probably won't make 
it.  popen() and pclose() can probably be done.

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



GNO & ORCA EDITOR   I am using GNO 2.0.4 and do have troubles with the 
"""""""""""""""""   ORCA editor 2.0.?  The symptom is, that the shell (or 
kernel) is "stealing" keypresses from the editor, and diaplays them on
the shell.  This happens randomly, but at a rate of about every 3 to 30
characters typed and independent of the typing speed.  Besides
disturbing, it has the bad sideeffect, that the "garbadge" transfered to
the shell is executed when a return is "stolen".  The editor is the only
task at that time BTW.  Any cure to it?

 Alex

                (A.CORRIERI [Alex], CAT30, TOP8, MSG:6/M530)


<<<<<   Set the auxtype on the editor to $DC00 and everything will be fine.
"""""
 
              (POWERPC.PRO [Sheppy], CAT30, TOP8, MSG:8/M530)



65816 ASSEMBLER IN C   Okay, I have this 65816 assembler that's written in 
""""""""""""""""""""   C, and is somewhat ORCA/M compatible.  Trouble is, I 
haven't managed a port to ORCA/C yet (I developed it with GCC to speed
the process), and I'm much too busy to do it myself.  If anyone wants,
I'll upload it to the Procyon library and whoever wants to can port it.

 Jawaid

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



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

ADDRESS CHANGE FOR EGO SYSTEMS   Effective June 15th 1994, EGO Systems and 
""""""""""""""""""""""""""""""   GS+ Magazine have moved!

Our new phone numbers are:

Technical Support and Inquiries (new):  615-332-2087 
                            FAX (new):  615-332-2634
                   Orders (unchanged):  1-800-662-3634

Mail Address (unchanged):

EGO Systems/GS+ Magazine P. O. Box 15366 Chattanooga, TN 37415-0366

      Please make a note of our new numbers, and remember to use them, and 
not our old numbers, in the future.

Steven W. Disbrow Publisher of GS+ Magazine

              (S.DISBROW [GSPlusDiz], CAT33, TOP5, MSG:41/M530)



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

LATEST ON ORCA UPDATES   A while ago I mentioned that the next update was 
""""""""""""""""""""""   going to include fixes to all known bugs.  Well, 
it's not working out that way.  It's taking longer to find & fix them,
and enough have been fixed that I think it's worth updating our
production disks.  So, here's what I'm going to do:

   1.  The next update will ship this month.  It will include a number of 
       bug fixes, including a few that are not yet in the private 
       libraries, but will not include all of the bug fixes, and will not 
       include any major new features.

   2.  This update will be as free as I can make it.  If you have 
       ORCA/M 2.0.3, ORCA/Pascal 2.0.1, ORCA/C 2.0.1, or ORCA/Modula-2 1.0, 
       you'll be able do to download the updates from GEnie.  They will be 
       free.  If you want a copy on disks, you can order them.  If you 
       order the disk update with another product, so I cover shipping, it 
       will still be free.  Otherwise, it will cost you the normal update 
       fee.

   3.  I'll continue working towards the original goal of fixing all 
       reported bugs and adding some of the cool features that have been 
       discussed in this category.  The goal has not changed--it just seems 
       worthwhile to release an update along the way!

Mike Westerfield

                    (BYTEWORKS, CAT36, TOP3, MSG:204/M530)



BYTE WORKS SPREADS OUT   I heard a rumor from a reliable source - 
""""""""""""""""""""""   well, a great guy, anyway :) - that the Byte Works 
was working on a spreadsheet for the GS.  I would just like to say that
I'd be   V E R Y   interested in such a program.  I use the spreadsheet
in AppleWorksGS a lot, but find it hard to navigate around in.  It would
sure be nice to have something with fewer rows & columns (ideally, I'd
like to be able to set the number of these myself).  It would also be
nice to have top & bottom and/or side by side windows (as are available
in AppleWorks Classic).

      Could you please let me know if something like this is really in the
works?  As I said, I would be very interested.

 Thanks,
 Mark
 
                   (M.KLINE1, CAT36, TOP3, MSG:207/M530)


<<<<<   Yes, something like this is really in the works.  It's called Quick 
"""""   Click Calc, and will be out this month.  (More on that in a 
moment.)  I'm working with the GEnie staff now to get a Byte  Works
support area set up in A2, which seems a little more appropriate for a
spreadsheet.

   > I use the spreadsheet in AppleWorks GS a lot, but find it
   > hard to navigate around in.  It sure would be nice to have
   > something with fewer rows and columns (ideally, I'd like to
   > be able to set the number of these myself).

      Did that.  :)  The max row/column in QCCalc is 32767 in each 
direction.  The default is ZZ columns and 999 rows.  You can set the size
of a spreadsheet, though, so the scroll bars will make sense in your
program.

   > It would also be nice to have top & bottom and/or side by
   > side windows...

      Does that.  In the desktop world, it's called split screen.  As far 
as I know from personal experience, QCCalc is the 2nd GS program to
implement true split screens.  The first was PRIZM. (There are, no
doubt, others, but I have not used them.)  You can split the screen
verically, horizontally, or both.

      There will be a more comprehensive & detailed list in A2 once I make 
the official announcement, but here's a quick list of some of the more
prominent features:

   1.  Publish & subscribe
   2.  Optional encryption
   3.  Date, time & grade (as in (A- + B)/2 = B+) formats
   4.  Lots of formatting options, including cell by cell:
       a.  Font & background color
       b.  Font size, family & style
       c.  Borders in 3 sizes
   5.  Change the width or height of cells (to accomodate
       various font sizes)
   6.  Charts:
       a.  Pie charts (3 styles)
       b.  Bar charts
       c.  Line graphs
       d.  Bar & Line graphs support more that one data set for
           comparing data
       e.  Bar & Line graphs in 2 or 3 dimensions (as in surfaces
           and rows & columns of bars)
       f.  Stacked or side by side bars
       g.  Up to 3rd order least squares fits to data
       h.  Data legends automatically included in the chart

That sort of hits the high points.  There's lots more.

Mike Westerfield

                   (BYTEWORKS, CAT36, TOP3, MSG:208/M530)



LOGO Q&A   Thanks for the fix to LOGO.  I tried the _GO_ statement and it 
""""""""   worked fine.  Since then, I've come up with a couple of other 
questions.

      First, I haven't had any luck playing animation files.  When I open 
one, a movie window opens and the light on the disk drive flickers, then
the computer just sits there with the wait cursor showing and the FILE
menu hilited.

      Also, I tried several statements which I thought would be ok, but 
LOGO would not accept them.  Could you tell me if I'm doing something
wrong, or if they're just not legal?

  1.       WHILE :n > 0 [MAKE "r FIRST ITEM :n :cL IF PntInRect MOUSE :r
              [GetCtlRec ITEM :n - 1 :cL OP "TRUE] MAKE "n :n - 2]

      where _PntInRect_ returns TRUE or FALSE.
      I got the following error:

                  IF doesn't like [MAKE "n :n - 2] as input

      If I use _TEST_ and _IFT_ it will run, so it seemed to me it should 
      run like it is.

  2.  IF EQUALP :domPos "HORIZ [IF :moveDir = 2 [MAKE "newCol :newCol - 1]
           IF :moveDir = 3 [ChangeDomPos] IF :moveDir = 4
                 [ChangeDomPos MAKE "newRow :newRow - 1]]

    gives the error message:

     IF doesn't like [IF :moveDir = 3 [ChangeDomPos]
         IF :moveDir = 4 [ChangeDomPos MAKE "newRow :newRow - 1]] as input

      If I add extra brackets to explicitly show what to do for false
conditions it will run, but again I don't understand what's wrong with
the original form.

      Since I can correct the problems I guess they don't really matter, 
but I am curious about them.       
                          Thanks,   Jack

               (AJ.WILSON [Jack], CAT36, TOP32, MSG:133/M530)


<<<<<   I don't know why you're having trouble with animations.  It could 
"""""   be anything from not waiting long enough to not having enough 
memory to a bug in Logo to a bug in something else that is affecting
Logo.  Before I can tell, I'll need enough information to see the
problem on my own computer.

The IF statement has this format:

   IF condition true-list false-list

      In your example, you didn't give the false-list, so Logo tried to use
MAKE... It didn't like it, and said so.  If you code a false portion,
things should work better.  Adding the extra set of brackets does that--
you're adding an empty false condition.  The second example is the same
problem in a different statement.

Mike Westerfield

                   (BYTEWORKS, CAT36, TOP32, MSG:134/M530)


>>>>>   When I was in a RTC the other night I mentioned I was using Wings 
"""""   to launch my programs, and someone said it has been known to cause 
memory conflicts.  That may be my problem with animation files not
loading.  I've tried loading them after starting LOGO from the finder and
so far it's worked every time.  When I use Wings, loading an animation
file hangs about half the time.

      I was looking at the LILYPADS program from the library and noticed 
two commands, _SETRWRECT_ and _SETRWPROMPT_, that are not in the manual.
Are there any other undocumented commands, and will you be documenting
them sometime?

      Finally, has anybody mentioned a quirk with the cursor when LOGO is 
started? It apparently is initialized to the upper left corner, but
doesn't get redrawn there so it appears to be wherever it was when I
launched LOGO.  Then when I start to move it, it jumps to the upper left
corner and moves from there.  Not a serious problem, but a little
disconcerting.

Jack

              (AJ.WILSON [Jack], CAT36, TOP32, MSG:135/M530)


<<<<<   I can't think of any other undocumented commands.  Those slipped in 
"""""   when I moved a Mac version back, and I forgot to put them in the 
release notes file.  I 'll correct that oversight.

      I'll also look into the cursor jump.  I had not noticed it myself 
until you pointed it out, even though I must have seen it happen lots of
times.

Mike Westerfield

                   (BYTEWORKS, CAT36, TOP32, MSG:136/M530)



GS LOGO CALLBACK LIBRARY   In the CALLBACK file on the GS LOGO disk the 
""""""""""""""""""""""""   CALLNBA callback shows three paramteters 
required; NBAname, param and CallType.  In the reference manual only
NBAname and param are explained.  Is  CallType the same as type (but ton,
text field or graphic object)???? 

Thanks RayR

              (R.RATTE1 [RAYR], CAT36, TOP32, MSG:137/M530)


<<<<<   I'm working from memory here, so if this does not work out, be sure 
"""""   and let me know.  In that case, I'll look things up for you when 
I'm back in the office on the 27th.

      NBAs can be called with several messages indicating what is 
happening, more or less like an NDA is called with an even type to tell
it what to do.  The last parameter is a number indicating what the NBA
is supposed to do.  These are listed in the information send out by RWP
for writing NBAs, and should have been listed in my manual.  You can get
the numbers from RWPs programmer information if I really left them out.
Look for a table of numbers under the call.

Mike Westerfield

                   (BYTEWORKS, CAT36, TOP32, MSG:138/M530)


>>>>>   Since Mike is working from memory (a very dangerous thing at his 
"""""   age), and I'm not, here is his post from last November on AOL:

--------------------------------
There is a bug in the CallNBA file.  The header line for the CallNBA
procedure (located in the file CallBacks) is:

   TO CallNBA :NBAName :param :CallType

 It should be:

   TO CallNBA :NBAName :param
--------------------------------

Hey, Mike.  Are you vacationing somewhere without a computer? (bummer)

 Cheers... Bill Lynn

             (BILL.LYNN [Studio City], CAT36, TOP32, MSG:139/M530)



MACRO STRANGENESS   Here's a weird problem.
"""""""""""""""""

This file is buggy.macs

  &l bugmac
  &l anop
   aif t:abc="G",.exists
  abc equ 0
   mexit
  .exists
   nop
   mend

  Then, try compiling this:

  mcopy buggy.macs
  list on
  trace on
  gen on

   aa start

  bugmac

   bb anop

  end

      I consistently get an addressing error on the line bb anop. 
Sometimes, instead of saying "error bugmac.asm" it would say error
followed by just one letter.

The bug happens w/o the list, trace, and gen statements too.

This is, btw, a stripped version of a problem with real code.

 -- Jay

The formatting is off. aa and bb are labels.

                   (JAY.KRELL, CAT36, TOP9, MSG:70/M530)


<<<<<   It's not a bug, it's a feature.  :)  When the macro is evaluated on  
"""""   pass 1, abc has not been defined, so t:abg="G" is false.  On pass 
1, the macro defines abc and exits.  On pass 2, the label exists, the
expression is true, and the macro generates a NOP instruction.  A macro
that generates a different number of bytes on pass 1 and 2 will cause
addressing errors in subsequent labels.

      This is obviously a test case, not a full macro, so I don't know if 
it makes sense to generate a NOP instruction in one situation, and an
equate in another.  Certainly, there are cases where the existance of a
label will determine whether you want to generate code or not -- a debug
macro is a good example.  I'll assume you really want the macro to work
this way.  In that case, try testing for the existance of the label with
c:abc, rather than t:abc="G".  This will give the same result on both
passes.

Mike Westerfield

                   (BYTEWORKS, CAT36, TOP9, MSG:71/M530)
 


[EOA]
[TOU]///////////////////////////////
             TOUR OF 8/16 CENTRAL /
//////////////////////////////////
The Great Programmers Magazine
""""""""""""""""""""""""""""""
Chris Budewig
    [K.FLYNN]



      A full directory of all files on each issue of 8/16 and 8/16-Central 
can be found in file #3382 (ESC.INDEX.BXY).  A condensed directory of the
contents of this issue is included below.  The code letters in
parentheses next to each item mean:

  S : Source code -- what you need to create a program
  X : Executable program -- you can run this directly!
  D : Documentation -- tells how the program works and what to do with it
  A : Article -- explains a subject and probably the source code that
      demonstrates it



               >> 8/16-Central - September, 1991 - File #3447 <<
               """""""""""""""""""""""""""""""""""""""""""""""""

/ES.CENTRAL.9109/
 ..About.This.Disk    Introduction to this issue
 ..Columns/
 ....WhatsNew         The latest in the world of Apple II - Total Control
 ....DBMaster         (A) DBMaster Tutorial, part 2 - creating an
                          accounting system (includes sample DBM files)
 ..Q.And.A
 ....KansasFest       Tour of the Apple Central Expo at KansasFest '91
 ....AOL.TT           America Online TechTalk - Ethernet connections and
                                          loading GS code into bank zero
 ....GE.TT            GEnie TechTalk - RTC on the Complete Pascal 2.0
                                       resource editor
 ..Apple.II
 ....Dungeon          (SXA) Adventure game programming, part III -
                            searching for hidden items, picking up and
                            dropping items, and saving an adventure
 ....AmperPrint       (SXA) Print a portion of an array to the screen
 ..Apple.IIgs
 ....SHR.Text         (XSA) A SuperHires Character Generator - handles
                            drawing text in different colors, scrolling,
                            and screen/color fading; includes the entire
                            text mode character set and draws on an
                            80 x 25 screen matrix
 ....ZOUNDS           (SXA) Unleashing the 'S' in the GS - how to play
                            sounds


      The last issue had an article by Randy Brandt that sped DLT8 up at 
its weakest point, the scrolling file picker.  It was a machine language 
routine that would scroll any portion of the screen up or down.  This
month  Karl Bunker submits his solution to the same problem.  Instead of
scrolling  the screen faster, his ampersand routine will print a portion
of an array  to the screen, one element per line, with one call!

      Nate Trost begins a series of articles on playing sounds.  In this
installment, he describes the sound hardware of the Apple IIGS, gives
examples of how to play digitized sound using the Sound Toolset, and 
teaches how to create sounds by accessing the sound hardware directly.



              >> 8/16-Central - October, 1991 - File #3448 <<
              """""""""""""""""""""""""""""""""""""""""""""""

/es.central.9110/
 ..About.This.Disk    Introduction to this issue and obituaries
 ..Contents           Table of Contents
 ..Columns/
 ....WhatsNew         The latest in the world of Apple II - Reviews of
                      File Detective 1.0 and Second Chance 2.0
 ....HyperLab/        (A) A preview of HyperStudio 3.0
 ....VaporWare        Murphy Sewall's Industry Snapshot
 ..Q.And.A/
 ....GE.TT            GEnie TechTalk - The advent of GNO/ME and
                                       discussion on burning EPROMs
 ....AOL.TT           America Online TechTalk - Requests for System 6
                                                additions
 ..Apple.II/
 ....TEFH/            (SXA) Text Editor From the Hot place - A simple
                            (functionwise) text editor
 ....Dungeon/         (SXA) Last in the series on adventure game design -
                            Non-player Characters--talking & fighting,
                            shining light in the darkness, and using &
                            consuming items
 ..Apple.IIgs/
 ....FileFind/        (SXA) A program to search for files on disk by
                            filename, filetype, auxtype, size, locked
                            status or creation/modified dates -- it's
                            even _flowcharted_
 ....Menus/           (SXA) Using custom menus in desktop programs - how
                            to make a Colors menu like Finder's
 ..GOODIES/
 ....supermagic.bxy   (SXD) An animation routine library - gradient
                            palette, full or partial color cycling, screen
                            fonts, shape plotting and animating, pixel
                            plotting, line drawing, Sound Smith music
                            playing, etc.


      In this (final) issue of 8/16 Central, Jerry Kindall shares the 
ins and outs of editing text.  His editor, the Text Editor From H...
er.. the Hot  place, will let you move the cursor up/down/left/right,
toggle between  insert and overstrike mode, and insert & delete
characters (word-wrapping  as needed). All those other Appleworks
features were left as an exercise  for the reader [grin].

      On the 16-bit side, I've always wondered how to implement custom 
menus, but never bothered to crack the manuals to research it.  Lane
Roath shows how it's done by creating a 'Color' menu similar to the one
in Finder's menu  bar. It's surprisingly simple!



[EOA]
[LIB]//////////////////////////////
             LIBRARY BIT BONANZA /
/////////////////////////////////
HOT Files You Can Download
""""""""""""""""""""""""""
By Tim Buchheim
    [T.BUCHHEIM]


                         >>>  Foundation  <<<
                         """"""""""""""""""""

File # 4174  FDN1.0.2.BXY  (GS)
Uploaded on 6/17/94 by POWERPC.PRO
About 270K (d/l time approx. 23 minutes @ 2400 baud)

      The long-awaited freeware release of Foundation, the popular 
resource-editing tool.  This archive contains a version of Foundation
identical to the commercial release v1.0.2, except for the addition of
freeware notices, the inclusion of the Foundation Developers' Toolkit,
and the addition of a script for the rProgramInfo resource type.  Source
code for a sample editor module is included; however, the Foundation
source code is not.  For information on the source code to Foundation
iteself, see the Fdn.ReadMe file in this archive.


File # 4177  FOUND.DATA.BXY  (GS)
Uploaded on 6/21/94 by H.HISLOP
About 7K (d/l time approx. 42 seconds @ 2400 baud)

      This archive contains a replacement Foundation.Data file for 
Foundation version 1.0.2.  This supplies editors (ScriptEdit editors) for
rProgramInfo, rWindParam1 and rRectList (used by Finder 6.0x) It also
has had the rResourceName resource cleaned of orphaned strings.  There is
a ReadMe file as well (teach format) which details how to install this,
what to watch out for, and lists some hints and tips for working with
the ScriptEdit editor.  It also covers some other topics related to
Foundation.  Packed with GSHK.  This is a Must-Have item for Foundation
users :)



                         >>>  Source Code  <<<
                         """""""""""""""""""""

File # 4181  W6.SRC.BXY  (ALL)
Uploaded on 6/22/94 by HANGTIME
About 106K (d/l time approx. 8 minutes @ 2400 baud)

      Source code for Warp Six BBS public domain version 2.5.  Requires
Merlin 16 or Merlin 16+ to assemble.  Includes XModem send/receive,
YModem send, and IIgs modem port driver written in assembly language
that can keep up with XModem 4K uploads at 9600 bps with LAPM and
hardware handshaking and supports up to 38400 bps.  Written by Jim
Ferr, for the public domain.


File # 4168  MC.RBUNDLE.BXY  (GS)
Uploaded on 6/13/94 by C.JUNIEL
About 2K (d/l time approx. 12 seconds @ 2400 baud)

      This is a sample source code for the rBundle used the program Music 
Composer.  It Icons for the program, an alias, and Music composer
sequencer file, SynthLab sequence file, and Standard MIDI file


File # 4143  CNF.SRC.BXY  (ALL)
Uploaded on 5/31/94 by RICHARD.B
About 23K (d/l time approx. 2 minutes 18 seconds @ 2400 baud)

      Merlin source code to a text adventure (CODE NAME: Firefly) that I
wrote in 1983 (AppleSoft), and recently (March 1993 :-) converted to
assembly.  The adventure is available in A2 (page 645).



               >>> Information about Matt Deatherage <<<
               """""""""""""""""""""""""""""""""""""""""

File # 4163  MATT.6.4.TXT  (ALL)
Uploaded on 6/7/94 by E.MUELLER
About 8K (d/l time approx. 48 seconds @ 2400 baud)

      This file contains updated information on Matt Deatherage, as of 
6/4/94. VERY IMPORTANT - PLEASE READ!


File # 4158  MATT.4.94.TXT  (ALL)
Uploaded on 6/7/94 by E.MUELLER
About 17K (d/l time approx. 1 minute 42 seconds @ 2400 baud)

      In addition to reading this file, PLEASE read the file 
"Matt.6.4.txt" for more updated information.



                          >>> Miscellaneous <<<
                          """""""""""""""""""""

File # 4180  COPYFORK.BXY  V1.6  (GS)
Uploaded on 6/22/94 by RICHARD.B
About 11K (d/l time approx. 1 minute 6 seconds @ 2400 baud)

      A replacement for Merlin's COPY command.  Supports full GS/OS
pathnames and switches for selective fork copying, and rResName
an high bit stripping.  High bit stripping is handy for batch copies
to ORCA or MPW environments, or for input to text editors.


File # 4179  SHELL.BXY  (ALL)
Uploaded on 6/21/94 by A2PRO.HELP
About 2K (d/l time approx. 12 seconds @ 2400 baud)

      This is Kevin Flynn's winning entry to the A2Pro RT "Program the 
Shell Game" contest.  It's an Applesoft BASIC program which runs 100
trials, making a random choice each time (and _not_ switching, when
offered the choice).  See A2Pro BB Category 11, Topic 25 for background
information on the contest and the shell game problem itself. 


File # 4152  INFORM.BXY  (GS)
Uploaded on 6/3/94 by K.FLYNN
About 268K (d/l time approx. 26 minutes 48 seconds @ 2400 baud)

      This archive contains version 4.0 of the Inform story compiler 
complete with documentation.  Inform is a compiler that allows you to
produce Infocom style adventure games which can be run using a ZIP (Zork
Interpreted Processor?) program just like any other Infocom game (see
InfocomPro elsewhere in this library for details on acquiring a ZIP
program).  The original program was written in C which I ported to
ORCA/C for the Apple IIGS.  


File # 4149  RWRITER4.BXY  (ALL)
Uploaded on 6/2/94 by BRANDT
About 54K (d/l time approx. 5 minutes 24 seconds @ 2400 baud)

      This archive converts your existing TimeOut ReportWriter to a version
compatible with AppleWorks 4.  Distribute freely.


File # 4148  FADEIN.BXY  (ALL)
Uploaded on 6/2/94 by BRANDT
About 1K (d/l time approx. 6 seconds @ 2400 baud)

      This FadeIn module for AfterWork (AppleWorks 4 only) fixes a bug 
which caused FadeIn to waste desktop memory each time it was accessed.
Distribute freely since it's useless unless you already have AfterWork.



[EOA]
[RTC]//////////////////////////
                   RTC WATCH /
/////////////////////////////
Bits and Pieces from A2Pro Real Time Conferences
""""""""""""""""""""""""""""""""""""""""""""""""
By Tim Buchheim
    [T.BUCHHEIM]


                >>>  Creating GS/OS strings in ORCA/M  <<<
                """"""""""""""""""""""""""""""""""""""""""

<T.MORALES>    Hang, Tim.  Either of ya know if there is a macro in the ORCA
               libraries to generate a GS/OS string?

<T.BUCHHEIM>   There should be..let me look

<T.MORALES>    I can't find one, and I've looked and looked and ... looked.

<T.BUCHHEIM>   I'm looking for one now...ahh, found it
               DOSIN makes a GS/OS input string, DOSOUT makes a GS/OS output
               string

<T.MORALES>    What's the difference?

<T.BUCHHEIM>   GS/OS output strings have a buffer length word followed by an
               input string.  and input string is a length word followed by 
               the string itself

<T.MORALES>    Oh yeah--that's right.  Does it say what library they're in?

<T.BUCHHEIM>   It's in the miscellaneous macro chapter of the manual
               umm...it's M16.ORCA in the ORCAInclude folder



                >>>  Figuring out those pesky softswitches  <<<
                """""""""""""""""""""""""""""""""""""""""""""""

<T.MORALES>    If you access $C08B twice, you r/w enable the language card 
               RAM, right? I looked for the disk my //e tech ref was on, but
               couldn't find it.

<T.BUCHHEIM>   here it is, in the GS ref....reading C08B twice read-enables
               RAM, write-enables RAM, and uses $D000 bank 1

<T.MORALES>    OK, Tim.  What happens if you only hit that switch once.

<T.BUCHHEIM>   once? umm...it doesn't say

<T.MORALES>    Yuck!



                   >>>  NDAs showing startup icons?  <<<
                   """""""""""""""""""""""""""""""""""""

<A2.TONY>      In an NDA's Init routine, I want to grab an icon from the 
               rFork for ShowBootInfo.  First of all, is this a legit thing 
               to do?

<T.MORALES>    Your Init routine doesn't get called until DeskStartUp, and 
               by that time, the boot is already 99% over.

<A2.TONY>      Okay, so I can assume the Resource Manager is available, if 
               not already started, so I can just go ahead and use it?

<T.MORALES>    Make your an Init that calls InstallNDA--that way you can 
               call ShowBootInfo when your Init gets control.

<T.BUCHHEIM>   For DeskStartup, QDII is already active, so ShowBootInfo 
               won't do anything

<A2.TONY>      I already have the NDA showing a boot icon, but the icon 
               image is in the code.  Now I want to move it to the rFork.

<T.MORALES>    How long can the image be displaying if it's being shown at
               DeskStartUp time?

<T.BUCHHEIM>   I think a technote covers using resources from NDAs..

<A2.TONY>      It gets put right in line with all the other boot icons.

<T.MORALES>    Tim, #71, or 53.

<T.MORALES>    Yeah--but how long until RefreshDesktop wipes out the splash
               screen?

<A2.TONY>      Yeah, #71 covers using resources in the open/close routines, 
               but it doesn't cover Init.

               I used that technote to put my window in a resource ;)

<T.MORALES>    How 'bout making this thing a CDev--that way you'll receive a
               message at boot time.

<A2.TONY>      The NDA icons are shown after all Inits, so how long it's on 
               the screen depends on how many NDA's you have that use 
               ShowBootInfo.

               I have 3 NDAs that have boot icons.  I sorted mine so it's 
               first (so I can see it the longest :)

<T.MORALES>    But the Init routine doesn't get called unless DeskStartUp or
               DeskShutDown are called, and I believe these are called when
               the application starts up--not during the boot process.

<A2.TONY>      Tony, this wouldn't really qualify as a CDev.  It could 
               really be an application, but I want to learn how to write an 
               NDA.

<T.BUCHHEIM>   Hmm..I think something must have changed, because I, too,  
               have NDAs which show icons

<T.MORALES>    Hmmm, this goes against everything I know about the start
               process.

               Unless these NDAs are installing themselves from Inits.

<T.BUCHHEIM>   no, they aren't

<T.MORALES>    Does GS/OS call the NDA as soon as it's loaded or something?

<A2.TONY>      DeskStartUp is apparently called during the boot process long
               enough before RefreshDesktop to that boot icons can be
               displayed.

               Either that, of GS/OS cals the NDA init routine as soon as 
               it's loaded.  I can't find this in any manuals or technotes 
               though.

<T.MORALES>    Not according to my request proc or IPCSpy.

<T.BUCHHEIM>   Tony: but if DeskStartup has been called, then that means 
               QDII is active.  and if it's active, then ShowBootInfo does 
               nothing

<A2.TONY>      True Tim.  GS/OS must call the NDA Init routine when it's
               installed then.  All I know is that it works. :)

<T.MORALES>    Isn't DeskShutDown called before DeskStartUp?

               ShowBootInfo don't work if QD is active?

<T.BUCHHEIM>   nope, it doesn't.  I don't think so, I can check

<T.MORALES>    Didn't know that one.

<A2.TONY>      Right, otherwise it might try to draw an icon on an already
               existing desktop.

<T.MORALES>    This is definately weird.

               I'll have to reexamine PR6.0 later.

<T.BUCHHEIM>   page 177 of the 6.0 ref: "ShowBootInfo takes no action if
               QuickDraw II is started.  This way if the call is made from a
               program being installed after boot time, the icon will not
               interfere with an application's use of the desktop."

<A2.TONY>      PR 6.0, page 177.  GMTA Tim :)

<A2.TONY>      Tony, you ever notice that the Control Panel NDA calls
               ShowBootInfo to show the CDev icons?  There's an NDA that uses
               it.

<T.BUCHHEIM>   hehe, good call

<H.HISLOP>     Real good call :)

<T.MORALES>    Oh gees--don't I feel lame right now. You are right. :(

<A2.TONY>      I also assume that those icons are in the rFork.  Now, how do 
               I do that? :)

<T.MORALES>    That only works from CDevs.
               ShowBootInfo don't work with resIDs--the CDev NDA gets them 
               from the resfork itself.

<A2.TONY>      Tony, it works from other NDAs too.  Mine already does it.

<T.MORALES>    I know that now.

<H.HISLOP>     You place your icon in an rIcon resource, then when you want 
               to display it you load it, deref the handle, call 
               _ShowBootInfo, then dispose of the handle

<T.BUCHHEIM>   It should be easy, just startup the resource manager with 
               your ID, then LoadResource, then ShowBootInfo, then shut down 
               the resource manager...at least, that's what an INIT I wrote 
               does, and works fine



[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 page 515.  You can also find GEnieLamp on
 the main menus in the following computing RoundTables.


RoundTable      Keyword  GEnie Page     RoundTable      Keyword  GEnie Page
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 DigiPub         DIGIPUB      1395        Atari ST        ST          475
 Macintosh       MAC          605         IBM PC          IBMPC       615
 Apple II        A2           645         Apple II Dev.   A2PRO       530
 Macintosh Dev.  MACPRO       480         Geoworks        GEOWORKS    1050
 BBS             BBS          610         CE Software     CESOFTWARE  1005
 Mini/Mainframe  MAINFRAME    1145        Programming     PROGRAMMING 1445
 Data Comm.      DATACOMM     1450        Windows         WINDOWS     1335

    GEnieLamp is also distributed on CrossNet, Internet, America Online,
 Delphi and many public and commercial BBS systems worldwide.

     o To reach GEnieLamp on Internet send mail to genielamp@genie.geis.com

     o Our Internet anonymous FTP address is: sosi.com.  All current
       versions of GEnieLamp are available in the ~/pub/GEnieLamp
       directory.  Due to the added expense involved, we ask that when you
       get GEnieLamp via the anonymous ftp for GEnieLamp, that it _not_ be
       ftp'd during the hours of 9AM and 5PM Eastern Standard Time.  We
       appreciate your cooperation in this matter.

     o Current issues of all versions of GEnieLamp are File Requestable
       (FREQable) via FidoNet (Zones 1 through 6) from 1:128/51 and via
       OURNet (Zone 65) from 65:8130/3.  SysOps should use the following
       "magic names" to request the current issue of the indicated
       GEnieLamp platform:

                    Platform                    Magic Name To Use
                    """"""""                    """""""""""""""""
                    GEnieLamp IBM .................. GLIBM
                    GEnieLamp ST ................... GLST
                    GEnieLamp A2Pro ................ GLA2PRO
                    GEnieLamp Macintosh ............ GLMAC
                    GEnieLamp TX2 .................. GLTX2
                    GEnieLamp A2 ................... GLA2
                    GEnieLamp Windows .............. GLWIN

    o Back issues of GEnieLamp are available in the DigiPub RoundTable
      Library #2 on page 1395 (M1395;3).

    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
      GENIELAMP.  On Internet send it to: genielamp@genie.geis.com

    o We welcome and respond to all E-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 If you would like to meet us "live" talk to us every Wednesday
      night in the Digi*Pub Real-Time Conference, 9:00 EDT (M1395;2).

    o The Digital Publishing RoundTable is for people who are interested
      in pursuing publication of their work electronically on GEnie or via
      disk-based media.  For those looking for online publications, the
      DigiPub Software Libraries offer online magazines, newsletters,
      short-stories, poetry and other various text oriented articles for
      downloading to your computer.  Also available are writers' tools and
      'Hyper-utilties' for text presentation on most computer systems. In
      the DigiPub Bulletin Board you can converse with people in the
      digital publishing industry, meet editors from some of the top
      electronic publications and get hints and tips on how to go about
      publishing your own digital book.  The DigiPub RoundTable is the
      official online service for the Digital Publishing Association.  To
      get there type DIGIPUB or M1395 at any GEnie prompt.


                          >>> GEnieLamp STAFF <<<
                          """""""""""""""""""""""

   GEnieLamp  o John Peters         [GENIELAMP]    Publisher/Editor
   """""""""

         IBM  o Bob Connors         [DR.BOB]       EDITOR
         """  o David C. Leithauser [D.LEITHAUSER] HyperRead Editor
              o Brad Biondo         [B.BIONDO]     IBM Staff Writer
              o David Holmes        [D.HOLMES14]   IBM Staff Writer
              o Nancy Thomas        [N.NOWINSON]   IBM Staff Writer
              o Don Lokke           [D.LOKKE]      Cartoonist

     Windows  o Tippy Martinez      [WIN.LAMP]     EDITOR
     """""""  o Brad Biondo         [B.BIONDO]     Windows Staff Writer
              o John Osarczuk       [J.OSARCZUK]   Windows Staff Writer

   MACINTOSH  o Richard Vega        [GELAMP.MAC]   EDITOR
   """""""""  o Tom Trinko          [T.TRINKO]     Mac Staff Writer
              o Robert Goff         [R.GOFF]       Mac Staff Writer
              o Bill F. Martin III  [W.MARTIN3]    Mac Staff Writer
              o Ricky J. Vega       [GELAMP.MAC]   Mac Staff Writer

    ATARI ST  o John Gniewkowski    [GENIELAMP.ST] ST EDITOR
    """"""""  o Mel Motogawa        [M.MOTOGAWA]   ST Staff Writer
              o Sheldon Winick      [S.WINICK]     ST Staff Writer
              o Terry Quinn         [TQUINN]       ST Staff Writer
              o Richard Brown       [R.BROWN30]    ST Staff Writer
              o Al Fasoldt          [A.FASOLDT]    ST Staff Writer
              o Fred Koch           [F.KOCH]       ST Staff Writer
              o Sandy Wolf          [S.WOLF4]      ST Staff Writer

ATARI ST/TX2  o Cliff Allen         [C.ALLEN17]    EDITOR/TX2
 """"""""""""

  ATARI [PR]  o Bruce Faulkner      [R.FAULKNER4]  EDITOR/GEnieLamp [PR]
  """"""""""

    APPLE II  o Doug Cuff           [EDITOR.A2]    EDITOR
    """"""""  o Tara Dillinger      [TARA]         Co-Editor
              o Phil Shapiro        [P.SHAPIRO1]   A2 Staff Writer
              o Mel Fowler          [MELSOFT]      A2 Staff Writer
              o Darrel Raines       [D.RAINES]     A2 Staff Writer
              o Gina E. Saikin      [A2.GENA]      A2 Staff Writer
              o Steve Weyhrich      [S.WEYHRICH]   A2 Staff Writer

       A2Pro  o Nate Trost          [A2PRO.GELAMP] EDITOR
       """""  o Tim Buchheim        [T.BUCHHEIM]   Co-Editor

        ETC.  o Jim Lubin           [J.LUBIN]      Add Aladdin/Scripts
        """"  o Scott Garrigus      [S.GARRIGUS]   Search-ME!
              o Bruce Maples        [B.MAPLES]     Copy Editor
              o Mike White          [MWHITE]       (oo) / DigiPub SysOp
              o Susie Oviatt        [SUSIE]        ASCII Artist



\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\////////////////////////////////////
 Bulletin  board messages  are reprinted verbatim,  and are included in
 this publication with permission from GEnie and the source RoundTable.
 GEnie, GEnieLamp Online Magazines,  and T/TalkNet Online Publishing do
 not guarantee the accuracy or suitability  of any information included
 herein.   Opinions expressed are  those of the individual,  and do not
 represent opinions of GEnie,  GEnielamp Online Magazines, or T/TalkNet
 Online Publishing.

 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 do  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 1994  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: JOINGENIE and hit the
 [return] key. When you get the prompt asking for the signup code, type
 DSD524  and hit  RETURN.  The  system  will then  prompt  you for your
 information.   Call (voice) 1-800-638-9636 for more information.
////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
[EOF]