  

     |||||| |||||| ||  || |||||| ||||||
     ||     ||     ||| ||   ||   ||
     || ||| ||||   ||||||   ||   ||||               Your
     ||  || ||     || |||   ||   ||
     |||||| |||||| ||  || |||||| ||||||             GEnieLamp A2Pro

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


                    ~ WELCOME TO THE A2Pro GENIELAMP! ~
              ~ NEW GENIE RATES INFORMATION & BREAKDOWN ~
            ~ NOTES ON ORCA/PASCAL V2.0 ~ FORTRAN ON THE GS? ~
  ~ NATE C. TROST HOLDS GRAPHICS AND SOUND RTC ~ WHO IS THIS LARRY GUY? ~
          ~ LITTLE SMALLTALK ~ JIM MARICONDO JOINS A2PRO STAFF ~
                  ~ HOT NEWS ~ HOT MESSAGES ~ HOT VIEWS ~

 ////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  GEnie Lamp A2Pro  ~ A T/TalkNET OnLine Publication  ~  Vol.1, Issue 05
  """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
   Publisher.................................GEnie Information Services
    Senior Editor..........................................John Peters
     Editor.................................................Jim Couch

  ~ GEnieLamp IBM ~ GEnieLamp ST ~ GEnieLamp [PR]/TX2 ~ GEnieLamp A2 ~
      ~ GEnieLamp MacPRO ~ GEnieLamp A2Pro ~ GEnieLamp Macintosh ~ 
                ~ GEnieLamp Newswire ~ LiveWire Online ~
            ~ Member Of The Digital Publishing Association ~
 GE Mail: GENIELAMP                  Internet: GENIELAMP@GENIE.GEIS.COM
////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

          >>> WHAT'S HAPPENING IN THE APPLE A2Pro ROUNDTABLE? <<<
          """""""""""""""""""""""""""""""""""""""""""""""""""""""
                             ~ June 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.

 RTC WATCH ............... [RTC]        A2U CAMPUS GREEN ........ [A2U]
  A2Pro RTC News.                        Your GEnieLamp guide to A2U.

 LIBRARY BIT BONANZA ..... [LIB]        RAMBLINGS................ [RAM]
  HOT Files You Can Download.            Ramblings of a Wannabe Programmer.

                     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 ////
          / "Yikes, I stay offline for 4 days and rates change, /
         / the topics go nuts, and I run out of coffee!"       /
        ///////////////////////////////////////  P-DIRECT  ////



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



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

TOP OF THE PAGE   If you haven't heard, the flagship issues of GEnieLamp
"""""""""""""""   (GEnieLamp IBM, Mac, ST and A2) has split into two
issues, released on the 1st and the the 15th of every month.  The issue on
the 1st will concentrate on message highlights, news and general
information.  The second issue will bring you the latest greatest programs
from the libraries and recent press releases as well as other GEnie bits &
pieces of information.


WHAT, YOU MISSED THE MID-MONTH ISSUE?
"""""""""""""""""""""""""""""""""""""
[IN THE DIGIPUB RoundTable / M1395;3]

               1358 SLP9305B.ASC             GEnieLamp ST
               1357 ILP9305B.ASC             GEnieLamp IBM
               1351 MLP9305B.ASC             GEnieLamp Macintosh
               1349 ALP9305B.ASC             GEnieLamp A2


NOTE TO SCRIPT USERS   For Aladdin readers we have included the new
""""""""""""""""""""   GET_THE_LAMP script in this issue of GEnieLamp IBM
and ST.  With this script Aladdin will log on to the GEnieLamp page,
capture one (or more) of the issues and then either hang up or go on and do
an autopass 1 or 2.  See ADD ALADDIN [ADD] in this issue for details.  For
Macintosh readers a new version of GEnieLamp Module v3.01e has been
released that will allow you to download any and all issues of GEnieLamp
Mac/MacPRO and the other platforms -- up to 8 at a time -- from page 515
and the new DIGIPUB RT library at 1395.  This module is available in the
DigiPub Library.  (File #1384 GENIELAMP MODULE 3.0.2)



AND THE BIG NEWS IS...         GENIE ANNOUNCES NEW PRICING:
""""""""""""""""""""""   SIMPLER, MORE AFFORDABLE AND, AS ALWAYS,
                                   THE BEST VALUE ONLINE

Rockville, MD, May 24,1993 -- GEnie, GE's consumer online services, today
announced a new pricing stucture that reduces hourly connect rates by 50%.
Since its inception in 1985, GEnie has led the industry in value and its
new pricing structure continues to reflect this.
 
     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, email, an Internet gateway, multi-player games
and chat lines, are allowed without charge.  There will, however, no longer
be free unlimited non-prime time access to a core of basic services.
 
     According to GEnie General Manager, John Barber, "Consumers are
demanding greater value in virtually all services they purchase.  Computer
online services are no exception.  Several of our competitors have
addressed this market trend earlier this year.  On new pricing gives
customers the best value for a wide array of services."
 
     GEnie subscribers have access to 150,000 software files for
downloading, the largest selection of any online service in the industry.
Further, GEnie offers unparalleled selection in world-class multi-player
games, making it the online service of choice for avid players.
 
     "We used to offer only a small portion of services at our best price
level.  Now the customer can sample almost everything we have, from
downloads to games, bulletin boards to an Internet gateway," said Barber.
"The four hours included in the monthly subscription fee will cover all the
monthly usage of more than 85% of our members and the low hourly connect
rate beyond that is within reach of virtually everyone."
 
     GEnie in the online information service of GE Information Services
(GEIS), a division of General Electric Co., USA.  GEnie and GEIS are
headquartered in Rockville, MD.


An Open Letter to GEnie Subscribers   From John Barber, General Manager of
"""""""""""""""""""""""""""""""""""   GEnie: On July 1st, a new pricing
structure goes into effect at GEnie.  It's a big day for us -- the result
of months of planning, number-crunching, monitoring and maneuvering around
the competition.
 
     And once again, we're looking forward to showing the online community
that no one offers a better value than GEnie.
 
     We have to admit that over the last few months, it's been difficult to
watch the other major online companies, one after another, proclaim that
their new prices make them "the ultimate value."
 
     But rest assured, we do not intend to give up our leadership position
as the best value online.
 
     GEnie has always offered its subscribers the best combination of
sophisticated services, information, entertainment -- and affordability.
 
     And we've done it once again.  Starting July 1st, GEnie will offer you
the lowest hourly connect time of all the major online services; combined
with a highly-competitive monthly subscription fee; and credit each month
for up to four hours online.
 
Effective July 1st, this is GEnie's new U.S. pricing structure:
 
     - Our monthly subscription fee becomes $8.95 a month.
     - Our standard hourly connect rate drops to $3.00 an hour.
     - And every month, you'll get a credit for up to 4 hours of
       standard $3.00 connect time.
 
     It's about that simple.  For our Canadian and international PDN
customers, a complete price chart follows at the end of this letter.  It
also contains the fine print regarding prime time, baud rates, etc., so
it's worth taking some time to look over.
 
 
SIMPLY BETTER   You might notice one more important benefit to our plan.
"""""""""""""   We kept it simple.  It's easy to understand, easy to live
 with.
 
     For starters, we've simplified the pricing.  All the services formerly
in GEnie*Basic and in GEnie Value are now treated equally, and available at
the same low price -- $3.00 an hour in non-prime time.
 
     Multi-player games, downloading, computing bulletin boards, real-time
conferences -- they're all just $3.00 an hour. (Half what you've been
paying for GEnie Value services!)
 
     GEnie*Basic services, yes, they're now included in the $3/hour group,
too.  GE Mail -- it's $3.00 an hour, with no limit to the number of
messages.  Internet Mail is now $3 an hour, with no registration fee.  And
don't forget.  You also get a credit for up to four hours of $3/hour time,
every month.
 
 
OK, NOW WHAT DOES IT MEAN TO MY MONTHLY BILL?   Let's cut to the chase.
"""""""""""""""""""""""""""""""""""""""""""""   This is what everyone
really wants to know.  The answer is -- for the majority of our users, it
means very little change at all, or a change for the better.
 
     When we started working on the price change, we studied the usage
patterns of our active members to see who would be affected, and to what
extent.  We concluded that more than 85% would see about the same or lower
bills at the end of the month.
 
     For the people who like to keep to a strict budget each month, this
plan offers a lot of flexibility and a broader range of services than
before.
 
     You have a set subscription fee.  And for that fee, you get a credit
for four hours of standard connect time to spend just about anywhere on
GEnie.
 
     There's no asterisk-chasing to make sure you haven't strayed into
Value services.  Less worry of credit card shock.  You can even explore
areas of GEnie you thought you couldn't afford before.
 
     For the active users who spend significant hours a month on GEnie,
especially in the former GEnie Value services, you should see a tremendous
savings.  The hourly rate is half what it was before -- and the best in the
business!
 
     Now -- who will see prices rise under the new system?  Generally
speaking, anyone who's accustomed to making unusually heavy use of
GEnie*Basic services will have to change his or her usage to keep monthly
bills down.
 
 
SO WHY CHANGE?   Maybe you're wondering why we're bothering to change the
""""""""""""""   rate, if so few people are affected.  After all, GEnie
has had flat fee pricing for three years now.
 
     Well, we did it for a couple of reasons.  With our new pricing, we can
continue to stay competitive in the marketplace, and we can continue to
improve our service to you.
 
     We found that, under the former pricing, a small number of our
customers were making heavy demands on our service -- demands which began
to outpace our infrastructure and capacity. The result was a level of
performance that pleased no one.  Not you.  Not us.  And yet, while other
companies were eliminating or reducing their flat-rate access, we were
holding to ours.
 
     Something had to change.  And a price restructuring was the best
solution for the majority of our users.
 
     Now, with the new rates, no one group of members is unduly favored;
GEnie can continue to stay highly competitive among online companies; and
we can continue to improve our service to you.
 
 
OTHER IMPROVEMENTS IN THE WORKS   There are other changes involved here
"""""""""""""""""""""""""""""""   besides our prices.  "Staying
competitive" means offering you better products, better service and better
system performance.
 
     Right now, we have a number of improvements in the works.  We're
developing new front-end software packages for Windows and Macintosh
systems -- look for more on that over the coming months.  We're making
technical improvements to enhance our performance and speed.  We'll be
adding new services soon, along with new bulletin boards and of course,
we'll continue to update our software libraries with more valuable files.
 
 
SOME THINGS NEVER CHANGE   GEnie has always been the very best service for
""""""""""""""""""""""""   people who really enjoy being online, and who
expect great products and the best value for the time they spend with us.
 
     That's not going to change.  In fact, this new pricing structure
should make it even easier for you to enjoy everything we have to offer.
We're looking forward to seeing you online.
 
                                                       Sincerely,
 
                                                       John Barber
                                                  General Manager, GEnie   
 
 
 
                   >>> G E n i e   P r i c i n g <<<
                   """""""""""""""""""""""""""""""""
                        (Effective July 1, 1993)
 
                               +-----------------+----------------------+
  GEnie Services               | U.S. (U.S.$) [5]|    CANADA (CAN $)    |
 +-----------------------------+-----------------+----------------------|
 |Monthly Subscription Fee     |   $8.95/month   |    $10.95/month      |
 +-----------------------------+-----------------+----------------------+
 |Hours Credited Per Month [1] |  Up to 4 hours  |    Up to 4 hours     |
 +-----------------------------+-----------------+----------------------+
 |Hourly Connect Charge        |   $3.00/hour    |    $4.00/hour        |
 +-----------------------------+-----------------+----------------------+
 |GEnie Premium Services       |Prices vary per individual service.     |
 |                             |These include: Charles Schwab Brokerage |
 |                             |Services (not available in Canada), Dow |
 |                             |Jones News/Retrieval (R), The Official  |
 |                             |Airline Guides Electronic Edition (R)   |
 |                             |Travel Service, QuikNews clipping       |
 |                             |service, Telebase Investment            |
 |                             |ANALY$T (SM),ARTIST (R) gateway.        |
 +-----------------------------+----------------------------------------+
             Additional Charges (where applicable) [4]
 +-----------------------------+----------------+-----------------------+
 |Prime Time Surcharge [2]     |   $9.50/hour   |     $12.00/hour       |
 +-----------------------------+----------------+-----------------------+
 |9600 Baud Surcharge          |   $6.00/hour   |     $8.00/hour        |
 +-----------------------------+----------------+-----------------------+
 |Communications Surcharge:    |                |                       |
 |    800 Service [3]          |   $6.00/hour   |         --            |
 |    Extended Network         |   $2.00/hour   |         --            |
 |    SprintNet                |   $2.00/hour   |         --            |
 |    Datapac                  |        --      |      $6.00/hour       |
 +-----------------------------+----------------+-----------------------+
 | [1] Credit for up to 4 hours of standard $3.00 U.S. ($4.00 CAN$)     |
 |     connect time. Hours credited apply to current month only.        |
 | [2] Prime-time: 8 a.m. - 6 p.m. local time on weekdays only. The     |
 |     prime-time surcharge is in addition to $3/hour charge. Prime-    |
 |     time surcharge is waived for selected holidays. Residents of     |
 |     Hawaii, Alaska, Indiana, Arizona and Puerto Rico, please verify  |
 |     hours with GEnie Client Services.                                |
 | [3] "800" Service surcharge waived at 9600 baud.                     |
 | [4] State taxes will apply in some areas.                            |
 | [5] International PDN subscribers billed in U.S.$ at U.S. rates.     |
 +----------------------------------------------------------------------+
 
 
Canadian Rates   GEnie Services subscribers in Canada will also enjoy a
""""""""""""""   substantial price reduction.  A new monthly rate of
$10.95 CAN$ with 4 hours of free non-prime time access to most GEnie
serives is being established by the Canadian distributor of GEnie Services.
The hourly non-prime time connect rate in Canada is also being reduced to
$4.00 CAN$ per hour.


  
                        >>> THE BOTTOM LINE <<<
                        """""""""""""""""""""""
                  ~ Information Services Comparison ~

WHAT ABOUT EVERYBODY ELSE?   GEnie is now a better deal then ever.  But
""""""""""""""""""""""""""   just how good of a deal is it?  Let's take a
By Jim Lubin                 quick look at how GEnie stacks up against the
   [J.LUBIN]                 other major online players.


ASCII Text-based Services
"""""""""""""""""""""""""
    o General Electric Network for Information Exchange (GEnie)
    o Compuserve Information Service (CIS)
    o National Videotex Network (NVN)
    o Delphi

Graphic Front-end Required
""""" MS-DOS or Macintosh Only
      """"""""""""""""""""""""
    o Prodigy
    o America Online (AOL)



                 >>> Comparison of Non-Prime Usage <<<
                 """""""""""""""""""""""""""""""""""""

            +---------------------------------------------+
 Service    | $/month | Hrs incl.| 2400 baud | 9600 baud  |
            |---------+----------+-----------+------------|
   GEnie    |   8.95  |    4     |   3.00    |   9.00     |
     CIS #1 |   2.50  |    0     |  12.80    |  22.80     |
     CIS #2 |   8.95  |    *[1]  |   8.00    |  16.00     |
     NVN    |   5.95  |    *[2]  |   5.00    |   5.00     |
  Delphi #1 |  10.00  |    4     |   4.00    |   4.00     |
  Delphi #2 |  20.00  |   20     |   1.80    |   1.80     |
 Prodigy #1 |   7.95  |    2     |   4.80[4] |   4.80[4]  |
 Prodigy #2 |  14.95  |    2[3]  |   4.80[4] |   4.80[4]  |
     AOL    |   9.95  |    5     |   3.50    |    ?       |
            +---------------------------------------------+

    [1] - includes unlimited connect-time in 30+ basic services
    [2] - includes unlimited connect-time in 70+ basic services
    [3] - includes unlimited connect-time in 170+ core services
          and 2hrs of plus service
    [4] - 0 to 3hrs $4.80/3+ to 6hrs $4.20/6hrs+ $3.60

         +---------------------------+
         | 10hrs/month | 20hrs/month |
         |-------------+-------------|
   GEnie |  26.95      |  56.95      |
     CIS |  48.95[5]   |  88.95[9]   |
     NVN |  35.95[6]   |  60.95[a]   |
  Delphi |  20.00[7]   |  20.00[b]   |
 Prodigy |  29.35[8]   |  43.75[c]   |
     AOL |  27.45      |  62.45      |
         +---------------------------+
    [5] - plan #2, 5hrs basic/5hrs extended service
    [6] - 5hrs basic/5hrs premium service
    [7] - plan #2
    [8] - plan #2, 5hrs core/5hrs plus service

    [9] - plan #2, 10hrs basic/10hrs extended service
    [a] - 10hrs basic/10hrs premium service
    [b] - plan #2
    [c] - plan #2, 10hrs core/10hrs plus service


Additional Notes On Services
""""""""""""""""""""""""""""

                    GEnie   - rates effective 7/1/93
                    CIS     - rates current 5/26/93
                    NVN     - rates current 5/26/93
                    Delphi  - rates current 5/26/93
                    Prodigy - rates effective 7/1/93
                    AOL     - rates current 5/26/93

                               [*][*][*]

 
  o GEnie & AOL include sending & receiving of Internet mail at no
    additional cost.

  o CIS basic does not include bulletin boards, software libraries
    or real-time conferances.

  o Prodigy does not offer software libraries or real-time
conferances.

  o NVN basic does not include software libraries, real-time
    conferances or computer related bulletin boards.

                               [*][*][*]


     On a closing note, are you are as confused about Internet as I am?
Since we will all soon have access to Internet, it's now time to jump in
with both feet and find out just what all the excitement is about.  Watch
for our special report on Internet in the July 1st issue of GEnieLamp.

     until next time...                          John Peters
                                                 [GENIELAMP]

                               [*][*][*]

 
          ___________________________
         / /////////////////////// / \     TITLE : Don't Falcon's
        / /////////////////////// //_/             EAT Mice?
       / _______________         // / \    MEDIA : Phospor
      / '--------------'        /  /   |   ARTIST: Rod Martin
     / ############### ### ### /  /    /
    / ############### ### ### /  /   _/
   \___________________=___=__\_/   /
                          /        /
                         (__      |
                            \_____/



[EOA]
[DIR]//////////////////////////////
          A2PRO ROUNDTABLE STAFF /
/////////////////////////////////
By Jim B. Couch
     [J.COUCH2]
                             ______________________________________________

                              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)



A2PRO WELCOMES NEW STAFF MEMBER   There's a new name on the A2Pro door
"""""""""""""""""""""""""""""""   tonight!

     We're pleased to welcome Jim Maricondo (A2PRO.DYAJIM) as a new
addition to our staff, helping to support those who support you here in
A2Pro (the companies who have categories in the thirties, and the folks
doing beta- testing in private, hidden categories).

     Many of you know Jim through the Twilight II screen saver and from
America Online, where he continues his work as an assistant sysop in the
Apple II Developers forum (ADV).

     Jim will be by to say "hi" in just a bit.  :)

--Matt (I speak for myself, not for Apple)
          (M.DEATHERAGE [A2Pro Leader], CAT1, TOP17, MSG:88/M530)



[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    PROGRAMMER'S CORNER

                         o    HELP WANTED

                              o    HOT TOPICS

                                   o    MESSAGE SPOTLIGHT



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

   [*]  CAT9,   TOP7,  MSG{63}.............Applesoft BASIC help please!
   [*]  CAT10,  TOP21, MSG{1}.....................GEM's 5th Anniversary
   [*]  CAT14,  TOP8,  MSG{1}..........................Little Smalltalk
   [*]  CAT15,  TOP30, MSG{49}.........................Resource Manager
   [*]  CAT22,  TOP22, MSG{1}...............Weekly Graphics & Sound RTC
   [*]  CAT34,  TOP3,  MSG{93}........................Ultra Programming
   [*]  CAT35,  TOP1,  MSG{16}............Foundation General Discussion
   [*]  CAT36,  TOP3,  MSG{34}.............Rumors, Wishes and Vaporware



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

RVERSION QUESTION   Are we free to use rVersion's above ID 1? My control
"""""""""""""""""   panel has an rVersion it wants to put in prefs files it
creates. Good idea? Bad idea? (In the prefs it would be 1, but in the
control panel it would be something else.)

     After AddResource, the resource manager owns the handle. Am I right,
therefore, that copying a resource (LoadResource from one file, AddResource
to another) requires making a copy of the handle?

jayk
                (J.KRELL1 [Jay], CAT15, TOP30, MSG:49/M530)


AND ANSWER   Apple IIgs Technical Note #76, "Miscellaneous Resource
""""""""""   Formats," page 3 of 8:

     "Files may include a version resource with ID=1 for display by
programs such as the Finder.  All rVersion resource IDs other than 1 are
RESERVED for future definition."  (Emphasis in the original.)

     Therefore, it's a bad idea.  :)

 > After AddResource, the resource manager owns the handle. Am I right,
 > therefore, that copying a resource (LoadResource from one file,
 > AddResource to another) requires making a copy of the handle?

     Only if you don't detach the resource first, which is what most people
do when copying the little puppies.

--Matt (I speak for myself, not for Apple)
                 (M.DEATHERAGE, CAT15, TOP30, MSG:50/M530)


ANOTHER RESOURCE QUESTION   I really am not sure of what category I
"""""""""""""""""""""""""   should have put these questions into, but since
they are mainly about resources, I decided to put them here.

     First, I wanted to use different colors in a thermometer, so I added a
rCtlColorTbl resource.  When I compiled this in Rez it said that there was
no template for this resource.  I looked in Types.rez and sure enough there
was no definition of rCtlColorTbl.  I copied  rWindColor, renamed it and
removed the last data line (since  rWindColor has five entries and I only
wanted four).  Is this what I should have done?  Will this cause me any
problems further down the road?

     Second, while doing the above, I noticed for the first time (okay, so
I'm slow and unobservant) that some of these resource definitions have a
comma after the last data entry and others do not.  Since Rez has  kicked
out several of my attempts because there was a comma where there shouldn't
have been, my questions are:  is there some reason why some are different?
is there some way of telling (short of looking at the definition) which
will need a comma and which will forbid it?

     Just looking for information on the last because I'm curious.

David Pierce
                  (D.PIERCE8, CAT15, TOP30, MSG:54/M530)


AND ANSWER   Basically, you can use a comma after the last field only when
""""""""""   that field is part of a list or array (eg, rMenuBar menus,
rMenu items, rControlList controls, etc).

     In general, the best practice is not to include the last comma.

     There's no definition for an rCtlColorTbl because the structure is
radically different for different controls. As long as the structure you
created has the correct number of bytes you'll be fine.

And in fact, I usually use the "data" statement instead of creating a
type/resource pair when doing control color tables.

Bryan
           (SOFTDISK.INC [Bryan Zak], CAT15, TOP30, MSG:55/M530)



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

GEM 5TH ANNIVERSARY SPECIAL ANNOUNCED!   May 1, 1993 will mark the 5th
""""""""""""""""""""""""""""""""""""""   anniversary of the release of
GEnie  Master v1.0.  GEnie Master v1.0 was developed, tested and released
within one month of initial conception -- at a time when many on  GEnie
were stating that a GEnie-specific offline message manager was an
impossibility.  The release of GEM proved these statements wrong,  as GEnie
Master became the _FIRST_ offline message manager for  GEnie!  (This became
yet _another_ item on the long list of "1sts"  for the Apple II series of
computers!)

     In celebration of GEM's birthday, I am offering a special promotion
during the month of May.  I am offering a package that will allow  you to
see the progression that GEM has made during these past 5  years.

     The promotional "package" will consist of an 800k diskette, cram-
packed FULL of the following:

  1.  A copy of the _original_ GEM .bqy file that constituted the  first,
      full release of GEM v1.0 (includes SOURCE code!).

  2.  The SOURCE code to the current GEM release, version 4.21!

  3.  And, as much SOURCE code for the interim versions as I can fit  onto
      the disk!


     This package will benefit all of the following people:

  1.  UltraMacros "programmers" will enjoy perusing the UltraMacros
      "source" code to increase their knowledge of UM programming, as well
      as _using_ many of the sub-routines in their own programs. You will
      be able to see and use many of the UM "tools" (subroutines and
      ampersand routines) that were written during GEM's development.

  2.  BASIC programmers will enjoy the MD-Basic based "source" code  to the
      GEM installation programs, and a couple of neat "tricks" and
      techniques that they contain.

  3.  Talk-is-Cheap, Point-to-Point, and ProTERM "script  programmers" will
      benefit from the extensive "source" code that is  included.

  4.  GEM "users" should enjoy viewing the "history" of GEnie  Master, and
      how it has progressed over the last five years.


     Since this is copyrighted material, I will require that each
purchaser sign a license agreement.  The agreement will detail how  the
material may be used by the purchaser...in a nutshell, the  purchaser will
not be able to build an entire application, etc,  based on a large portion
of the source code, but will be able to use  individual sub-routines in
their own programs, as long as proper  credit is given.

     Orders will only be accepted during the month of May, and all
"packages" will be shipped on June 1, 1993.  If you wish to  participate in
this promotion, you must act now!

     Send email to Tom-Hoover for a copy of the required license agreement,
and complete details of this offering (including pricing).

           ...Tom
           (TOM-HOOVER [Rom 1:16-17], CAT10, TOP21, MSG:1/M530)



IIGS LITTLE SMALLTALK LANGUAGE NOW AVAILABLE   I decided to create this
""""""""""""""""""""""""""""""""""""""""""""   topic for discussing Little
Smalltalk on the IIGS.

     There isn't a lot of documentation for it, except for the book which
is 2 versions out of date! Since I have a copy of the book (and it still
took me _hours_ to adapt some of the examples to version 3), I thought that
this topic would be the best way to help each other explore Little
Smalltalk and create new class definitions for it.

     Questions are welcome!

Allan
             (A.BELYEA [Wintermute], CAT14, TOP8, MSG:1/M530)

                                 [*][*][*]



GRAPHICS AND SOUND TOPIC OPENED   Groovy, Cat 22, Topic 22.  Nice and easy
"""""""""""""""""""""""""""""""   to remember.  :)

     This topic is for discussion about the weekly Graphics and Sound RTC,
which happens every Thursday at 9:30 Eastern in the A2Pro RTC (option 2 on
the menu).

     Since memories can be short, examples can't be uploaded in the RTC,
some things are too long to try and type out 'live', butter is better, and
since we need a topic for general graphics and sound chitchat...this topic
exists.

     Feel free to jump in....

Nate A2Pro Lamp Writer and G/S guy
              (N.TROST [65Nate16], CAT22, TOP22, MSG:1/M530)



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

BASIC HELP NEEDED   Hi! I came here for help before, let me try again. I'm
"""""""""""""""""   using a IIGS, system 6.0. I'm programming in Applesoft.
when I launch from finder, and am done with my program, what can I do to
get back to finder (on my ramdisk)? Some of the basic programs I've
downloaded do it; so it can be done.  Also, is there a way to send output
to my printer (imagewriter II) AND my screen simultaneously? I've seen this
done too. Thanks.

  Kris
                   (K.PEABODY1, CAT7, TOP4, MSG:97/M530)


BASIC ANSWER PART ONE   PRINT CHR$(4);"BYE" will get you back to Finder.
"""""""""""""""""""""
     As for your second question, I'll let someone with more experience
than I answer! :)

Bryan
            (SOFTDISK.INC [Bryan Zak], CAT7, TOP4, MSG:98/M530)


BASIC ANSWER PART TWO   Here you go! Get into BASIC, set your screen to 80
"""""""""""""""""""""   columns (type "PR#3" or  Escape-8), enter this
program, turn your printer on and run that puppy!

  110  FOR I = 768 TO 788
  120  READ A: POKE I,A
  130  NEXT I
  140  POKE 48688,0: POKE 48689,3
  150  PRINT "You must be in 80 column mode!"
  160  LIST
  170  PRINT  CHR$ (4);"pr#a$c307"
  180  END
  190  DATA 32,240,253,72,173,123,5,141,21,3,104,32,0,193,173,21,3,
                   141,123,5,96

     Lines 110-130 enter a small machine language program into memory (the
program is stored in the DATA statement in line 190.) Line 140 tells BASIC
to use our machine language program for printing and displaying. Line 150
reminds you to be in 80 column mode. (I can make this work in both 40 and
80 column mode, now that I think about it. I was just lazy!) Line 160 gives
you something to look at/print. Line 170 reconnects the default output
routines in BASIC. (If you use a "PR#3" instead of a "PR#A$C307", you will
get the same effect AND your screen will be cleared.) Line 180 just tells
BASIC it's all done.

     If you are doing real simple stuff, this will work just fine. If you
doing  a lot of fancy machine language add-ons to your Applesoft program,
then  this routine will probably need some slight modifications to prevent
memory  conflicts.

 - Jim (A2Pro Beta-Test and Company Support)
             (A2PRO.JEA [Jim Adams], CAT7, TOP4, MSG:103/M530)


BASIC ANSWER PART TWO, A TIP    > 140  POKE 48688,0: POKE 48689,3
""""""""""""""""""""""""""""
     You can do this more compatibly by saying PRINT CHR$(4)"PR#A$0300".

     Note also that $C307 is the normal output routine in Apple's 80-column
firmware, and it _might_ not work with third-party 80-column cards.  The
good news is that there are very, very few of these still out there, and
they're mostly in Apple II+ machines.

--Matt (I speak for myself, not for Apple)
                 (M.DEATHERAGE, CAT7, TOP4, MSG:104/M530)


CAN APPLESOFT RECOGNIZE IMBEDDED TABS?   Is there any way to make Applesoft
""""""""""""""""""""""""""""""""""""""   recognize an imbedded tab when its
reading an ASCII file from a disk?  -Socher
                     (SOCHER, CAT9, TOP7, MSG:63/M530)


NOT WITH THE STANDARD INPUT STATEMENT   Socher, I don't believe there's a
"""""""""""""""""""""""""""""""""""""   way to make the standard INPUT
statement do this, but custom things like ampersand commands can do so, or
you can do it yourself with GET (one character at a time) instead of INPUT.

--Matt (I speak for myself, not for Apple)
                  (M.DEATHERAGE, CAT9, TOP7, MSG:64/M530)


THE GET STATEMENT SHOULD DO THE TRICK   For your purposes (and since speed
"""""""""""""""""""""""""""""""""""""   probably isn't the most important
issue) I would say that processing would be better suited with the GET
statement. I say this for a couple of reasons.  A string can only be 256
characters in length.  So, if your database record has more data than 256
characters, you lose some of the information.  Also, it is easier to start
a string with a ", then read some data until you get a tab character,
quickly replace that with a "," sequence and your out- put file is
completely re-written the way you want it.  The whole program shouldn't
take more than 10 or 15 lines of code.

     That is if you don't want to put in routines for selecting files, etc.
:)
-Eric
                  (KITCHEN.SINK, CAT9, TOP7, MSG:69/M530)


ULTRA 4 DESKTOP INDEX READING   Does anyone know how to read the DeskTop
"""""""""""""""""""""""""""""   index into $1 to $12 (with or  without an
OA-Q)? I don't like using screen or .menuitem. Surely there  must be a
better way to do this ------- .Desklist ?

 Labels
 .Read.DeskTop.Index
 \SA-A          Read Desktop Index            // Must be a better way
 Start
 A:<all oa-q
      clear 255                               // Snapshot desktop index
      for r=5 to 22:                          // R is the Row
      $(v)=screen 33,r,15:                    // Read the screen
      $(v)=.stripchar $(v),32,2:
           $0=mid $(v),1,2 :
           if $0="--":v=0:t=1:endif:          // Reset V to 1, flag t
           if $0="__":and:t=1:endmacro:endif:      // We're done; End
      v=v+1:
      Next r:
 >!

 Thanks for any help.
            (B.CADIEUX [ TEXAS II ], CAT34, TOP3, MSG:93/M530)


TRY, TRY...   This one's almost as bad. Can I do this without the screen?
"""""""""""

 start
 b:<all clear 255 oa-q print "1" : del :
                v=1: .deskcount 7   display 0:
                ($(v)=.menuitem:$(v)=left $(v),15:
                $(v)=.stripchar $(v),32,2:
                down v=v+1:) z display 1 debug>!


 Thanks for any help.
            (B.CADIEUX [ TEXAS II ], CAT34, TOP3, MSG:94/M530)


...TRY AGAIN!   Never mind, I got it in the save files list.
"""""""""""""

 start
 c:<all display 0 oa-q esc>3<rtn :                      // Save files
                .deskcount 7: (up) z :v=1:
                ($(v)=.peekstr $21ce:down: v=v+1) Z:    // Read them
                display 1: >!


 Thanks! Sometimes it just helps to talk things over.. ;-)
            (B.CADIEUX [ TEXAS II ], CAT34, TOP3, MSG:95/M530)


MORE ULTRA 4 QUESTIONS   Thanks Bob. I do appreciate the help. Even though
""""""""""""""""""""""   there doesn't seem  to be much going on right now,
I do know there are a lot of macros being written.

     Now......... can someone please explain to me the logic of this ??

 b7 ba  =  5/23/93   (or,   183 186 )
 b4 ba  =  5/20/93   (or,   180 186 )
 a6 ba  =  5/06/93   (or,   166 186 )
 78 b9  = 11/24/92   (or,   120 185 )

     How are these dates to values arrived at (and vice versa)?

     Thanks for any help (e-mail is fine).

-Bev
            (B.CADIEUX [ TEXAS II ], CAT34, TOP3, MSG:98/M530)


AND ANSWERS   AppleWorks stores the date in ProDOS format as a two byte
"""""""""""   integer. It must be "unpacked" to decode it.

     Run sa-A then cursor through the file list and run sa-H to get the
date in unpacked and ProDOS format for each file.


 start

 A:<all: oa-q esc >5< rtn>2< rtn sa-H >!// go to list files

 H:<all:

     X = peekword $21c4 : { date in ProDOS format }:

     Year = X / 512 :    { calculate Year }

     Z = Y * 512 : M = X - Z :

     Month = M / 32:     { calculate Month }

     F = M * 32 : D = Z + F :

     Day = X - D :       { calculate Day } :

     msg ' ' + str$ M + '/' + str$ D + '/' + str$ Y + " hexvalue = $" +
.hexword X >!

 sa-N shows how to pack a date.

 N:<all:

     Year = 93 : Month = 5 : Day = 24:  // date is 5/24/93

      A = Y * 16 + M * 32 + D : msg$ A >!// pack it up and display result

               (S.BEVILLE [Steve], CAT34, TOP3, MSG:99/M530)



                            >>> HELP WANTED <<<
                            """""""""""""""""""

SNES, NES OR IIGS PROGRAMMERS NEEDED   There's a company in Las Vegas
""""""""""""""""""""""""""""""""""""   looking for SNES, NES, or IIgs
programmers. They need people who are good at 65816 assembly language.
You'd be doing SNES products if you got the job.

     Chris Yates at Westwood Studios is the man to call. 702-368-4850. If
you call and are good, tell him you heard about the job from me (I always
like to keep on the good side of people I might need in the future :).

 Jay Jennings
                   (PUNKWARE, CAT13, TOP8, MSG:55/M530)



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

DO YOU WANT A IIGS FORTRAN COMPILER/CONVERTER?   It looks like I'm going to
""""""""""""""""""""""""""""""""""""""""""""""   get the chance to publish
another new language for the Apple IIGS.  I'd like to get your opinions and
comments about it.

     The language is a FORTRAN to C converter which could serve in either
of two modes.  As a converter, you would be able to convert FORTRAN 77
programs to C, then optimize the C or move it to any computer that has a C
compiler.  As a compiler, it would work as a slow FORTRAN compiler, but the
intermediate step would be invisible to you.

     What follows is not a commitment; it's just my best guess.

     The product would consist of a manual (about 100 pages) that would
describe how to use the program as a converter and as a compiler.  There
would be two disks; the compiler and libraries, and a samples disk.

     The compiler supports FORTRAN 77.  It works just like any other ORCA
language, including supporting PRIZM, the source-level debugger, and
toolbox access.  In fact, the only real difference is that the compile step
is slow.

     You will need ORCA/C 2.0, a hard disk, and 1.75M of memory to use the
compiler.

So here's the questions:

  1.  Are you interested in FORTRAN on the GS?  If so, does this compiler
      sound like a product you would buy?

  2.  What do you like about what I described?

  3.  What do you dislike about what I described?  Are your dislikes
      severe enough that you would have bought a "true" compiler for
      FORTRAN 77, but would not buy this one?

  4.  Our retail price for ORCA/Pascal and ORCA/C is $150, and most people
      pay $80-$90 from mail order houses.  What do you think is a fair
      price for this product?

  5.  To a large degree, the low number of sales I would expect for this
      program are driving our plans.  I need to make money to do the
      product, and even though there isn't as much work involved for me
      as for other languages, I have to get the money back with fewer
      sales.  So, seriously, how much would you be _willing_ to pay for
      this program, assuming FORTRAN was a language you were interested
      in?

Mike Westerfield
                   (BYTEWORKS, CAT36, TOP3, MSG:34/M530)


IT WOULD BE NICE FOR PORTING CODE   =I= would like to see it happen merely
"""""""""""""""""""""""""""""""""   for the ability it will give us to port
some of the literally gigabytes of Fortran source code out there.
-Tim Tobin
                    (A2.TIM, CAT36, TOP3, MSG:36/M530)


OTHERS AGREE   Yes.  It definitely is worth more in my book as a converter
""""""""""""   than a compiler.  No one I know uses Fortran anymore except
college students who are required to in 100 level classes.  However, there
is a lot of source code floating around in Fortran.
            (JUST.DAVE [m530 daily!], CAT36, TOP3, MSG:37/M530)


SOME WOULD RATHER SEE EXISTING PRODUCTS IMPROVED   Personally, I'd rather
""""""""""""""""""""""""""""""""""""""""""""""""   see C bugs get fixed
faster then all these new languages. I don't mind paying upgrade fees as
long as it pays for the extra time that went into smoothing out the
product.

     The way things work now, bugs (riding along with new features) get
added almost as fast as they get squashed back out. The rampant Orca
bashing on Internet is not just the idle time of disgruntled college
students -- it is the frustrated screams of people who trusted Orca/C to
let them do their schoolwork at home, and they lost time accommodating the
compiler because of bugs. I was one of these people during the C 1.0-1.2
era, and even with 1.3 I did not trust the optimizer because it meant
instant death for my program. As a result I learned a very paranoid
programming style, which I have only recently broken out of because I am
exposed to industrial strength compilers daily at work. With C 2.0, things
have improved A LOT but the product still cannot be considered Done.

     As for FORTRAN, it is a truly evil language that has long outlasted
its usefulness to society :)  Like COBOL, the only thing it really has
going for it is the sheer mountains of existing programs written in it. I
agree with Tim that if it were capable of porting this code (what about VMS
Fortran extensions? DOD extensions?) it would be a valuable thing for
college IIgs owners to have.

-Todd Whitesel
             (A2PRO.TODDPW [growf?], CAT36, TOP3, MSG:38/M530)


AND SOME AREN'T INTERESTED AT ALL!   After taking two classes in FORTRAN
""""""""""""""""""""""""""""""""""   programming, I'm not interested.
                   (PROPTOSIS, CAT36, TOP3, MSG:39/M530)


MARKET WOULD PROBABLY BE LIMITED   Another thought on the Fortran thing...
""""""""""""""""""""""""""""""""   Your market is probably going to be
limited to college students...  and them, only because it's still a
required language at many schools.
            (JUST.DAVE [m530 daily!], CAT36, TOP3, MSG:41/M530)


FORTRAN, IT AIN'T DEAD YET   As a personal note, I've been hearing that
""""""""""""""""""""""""""   assembly/FORTRAN/COBOL were dead for years.
Quite aside from any issues of whether we need or will get FORTRAN on the
GS, anyone who thinks FORTRAN is dead hasn't spent much time around a large
variety of scientists and engineers lately. They finally seem to be
breaking out of the rut of believing that  FORTRAN is the _only_ language,
but it's still far from dead.  :)

     That's not a comment on whether it _should_ be dead, mind you, just a
counter-observation.  :)

     Todd, C bug fixes have priority over any prospective FORTRAN product.
Beyond that, all I can truthfully say is that I put as much time into
testing and bug fixes as I can afford to.

     As for C++, if someone wants to come to me with a C++ compiler or
preprocessor that I can legally sell, go for it.  I didn't pick Modula-2 or
FORTRAN in preference to C++, these languages were brought to me by outside
authors who, for various reasons, want to see these languages available.  I
would be far more interested in C++ myself, and I know there are more GS
programmers who want C++ than the next several languages combined.  I just
haven't had time to do one... yet.

     I would still welcome comments about the usefullness, viability, and
pricing of the FORTRAN converter/compiler.

-Mike Westerfield
                   (BYTEWORKS, CAT36, TOP3, MSG:45/M530)


FORTRAN IS STILL WIDELY USED IN THE REAL WORLD   I program on a VAX all day
""""""""""""""""""""""""""""""""""""""""""""""   long. The language I work
with: Cobol. There are a huge number of systems out there that were
originally developed in Cobol or Fortran that still serve their function
and are therefore maintained (our complete package of over 500 separate
programs consists of over 600,000 lines of code, all of it Cobol).

     However, this kind of package will never see its way to a micro - the
size of the files and the use don't allow them to be ported to a micro.

     My boss, who is our "system programmer", works mostly in Fortran, with
small, very specialized, Assembler subroutines.

     Some of the programs I used in collage while studying engineering
(Fortran programs) might be applied on a micro - I wish I had a GS back
when I was in school to put them on.

     Fortran and Cobol may be "dead" languages from the standpoint of being
on the cutting edge of technology, but they are still widely used in the
"real" world.

     If I had a choice on the VAX, I'd have learned C a long time ago (we
don't even have the compiler for the VAX), or at least would use Pascal
(also don't have the compiler). C is considered too hard to maintain for
the financial package I work on, and the original source that we began with
in 1979 was in Cobol ported from an IBM 370 - to rewrite it would have
taken too long in the beginning - and now would require too much
"non-productive" time to convert.

Jim Brandt
                   (J.BRANDT1, CAT36, TOP3, MSG:47/M530)



                         >>> MESSAGE SPOTLIGHT <<<
                         """""""""""""""""""""""""
     Lately there have been a number of discussions regarding "object
oriented programming". Fortunately for those of us who have had a little
trouble understanding exactly what this phrase means Mike Westerfield
offered this fine post:

Category 36,  Topic 10
Message 53        Wed Apr 21, 1993
BYTEWORKS                    at 17:42 EDT

"What is object oriented programming?"

Wow.  That's a big one.

     Object oriented programming is a new way of thinking about how you
write and maintain programs.  There are two major, key concepts, with a
host of not so obvious consequences and correlaries.

     The first key concept is turning programs inside out.  First, rather
than thinking about a program as a set of subroutines that manipulate data,
you think of it in terms of a set of data that you can do things to.  You
design the data -- say, a record to hold one element of information in a
database -- then you add the subroutines that work on the data as part of
the record. They aren't called subroutines or procedures or functions,
anymore, though, they're called methods.  And you don't "call a
subroutine," you "send a message to an object."  It's the same thing,
really, but the new terms help you shift gears, so you think about your
program in a different way.

     The next key concept is reusability, which has lots of implications.
Let's say you are setting up your database, and need to record the name,
address, and products some one owns.  The name and products fields would be
the same throughout your database, so those go in your original object.
Countries present a number of problems, though.  Ideally, you want one
version for the U.S, where you need a street address, city, state and Zip
code, and another for, say, France, where you don't need a state, and still
another for Canada, where the postal code has both letters and numbers, as
opposed to just numbers.  And, when you get a new guy from Brazil, you want
to take care of any differences without changing the entire database
structure. Object oriented programming handles this very well.  It lets you
reuse the original object.  Your new object "inherits" all of the old
fields and methods.  You can add new ones, and you can create modified
methods or use the old ones, if they will still work.  A modified method
can even send a message to the old method to do anything that hasn't
changed.  This makes it easy (or easier) to keep a program up to date, and
it also makes it a lot easier to reuse pieces of old programs -- sort of
like libraries gone wild.

     You've noticed that I haven't mentioned toolbox programming at all.
It's not that object oriented programming is bad for writing toolbox
programs -- just the opposite, in fact -- but it's so good at that one job
that a lot of folks have started to associate the two, thinking that
toolbox programming implies object oriented programming (it doesn't) or
that object oriented programming is only good for writing toolbox programs
(not!).

     Still, for one of the more successful examples, I'd suggest MacApp.
It's a collection of objects and example that tame the toolbox, to some
degree.

-Mike Westerfield



[EOA]
[RAM]///////////////////////////////
                        RAMBLINGS /
//////////////////////////////////
Ramblings from a 'Wannabe' Programmer
"""""""""""""""""""""""""""""""""""""
By Larry E. Elseman
       [L.ELSEMAN



              >>> AUTOBIOGRAPHY OF A 'WANNABE' PROGRAMMER <<<
              """""""""""""""""""""""""""""""""""""""""""""""

     Ever since my uncle, who worked for Motorola, showed me a prototype
for a 'Pong' type game (this was before 'Pong') in the late 60'es or early
70's, complete with plastic tv overlays, I have been hooked on video games.

     To this day I think Space Invaders is the definitive video game. It
was simple to play, but it got you so involved and was so exciting, with
the heart-pounding music, that you didn't realize how many quarters you
were pumping into the machine. Definitely a classic.

     My days of digging for quarters came to an end when I bought an
Intellivision. I found myself spending the wee hours of the morning trying
to eclipse my high scores in BurgerTime and Q-bert. But when I caught
myself humming the background music to Bump'n Jump at work I realized that
I was beginning to live my life as a sprite in a video game. In fact, I
thought it would be the ultimate fantasy to compete inside a video game
with other sprites, ala 'Tron', only this was before 'Tron' was a reality
(as I recall, but then my memory seems to be fading :) ). Too bad for me
that I didn't write a book or send my idea to Disney :(.

     Well, before my wife had a chance to pack her bags, I bought a
computer keyboard attachment for the Intellivision and discovered
programming, and returned to reality. Intellivision BASIC did not teach me
structured programming, but it did teach me how much fun programming was.
Soon I had outgrown the 2k limitation and longed for a more powerful
platform to expand my programming horizons.

     Enter the Apple IIc. My wife surprised me for Christmas in 1985  by
giving me a IIc (after I spent most of the year whining about wanting a
IIc). I have been in computer heaven ever since.

     I quickly bought all the AppleSoft/ProDos programming manuals and
started subscribing to Nibble magazine. I typed in every program I could
get my hands on, whether I needed the program or would ever use the
program, I typed it in just to have something to run on my computer and to
learn AppleSoft. After I had the programs up and running, I would
experiment and change them to suit my whims or my needs. I began to write
small programs on my own, and wrote a few for friends and a user group.

     In 1988 I sold the IIc and bought a GS. And that brings us to the
present.

     I am enrolled in the Computer Programming program at Des Moines Area
Community College in Ankeny, IA, where I have been spending my weeknights
for the last 6 semesters. At the current rate of 2 classes a semester, I
will be half way to my degree when this semester is completed. My only
regret is that the program teaches mainframe business programming and I
would prefer to learn microcomputer programming, but it is not offered
locally... sigh.

     Currently I am_trying to learn Orca Pascal and Orca M, but I find that
I don't have the time necessary to learn them. Seems that I just learn
something worthwhile and then forget it by the time I get a chance to get
on the computer and learn something new.

     I look with wonder and amazement (and jealousy) at programmers who've
learned to program the GS. I admire their skill, perseverance and I share
their love for the GS. I hope that someday I will become as skilled at this
craft we call programming, as they obviously are.

     A close friend of mine, Dan Cross, has helped inspire me to become a
programmer with the following anonymous quotation:

"The future belongs to those who believe in the beauty of their dreams."



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



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

     CAT  COMPANY
     ===  =======
     29   Independent Developers 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 <<<
               """"""""""""""""""""""""""""""""""""""""""""

T2 MODULE SAMPLES COMING SOON!   Full sample source and documentation for
""""""""""""""""""""""""""""""   T2 modules are coming soon! We're still
rather busy getting out all the copies of 1.1.  We're also contemplating a
few minor changes to the specifications we will be releasing.  And we want
to release full sample module source (showing how to use sound, resources,
and setup, among other things) in both C and assembly. So all this is gonna
take a bit while longer, but it should be comprehensive enough to settle
most of everyone's questions.. :-)

Thanks,

 Jim Maricondo
 DigiSoft Innovations
               (DYA [DigiSoft:Jim], CAT29, TOP4, MSG:3/M530)


SOME HOPE FOR METAL-GS   It looks as if there may be some hope for a
""""""""""""""""""""""   Metal-GS after all.  Read on...

     Tc Wilson has graciously given me his blessing for allowing FV Pro (my
in- development Macintosh product) to compile and execute Metal code.  In
other words, I'm writing Metal-Mac (or McMetal, as we used to call it).

     So what does this have to do with Metal-GS?  It means that there's a
chance I can port FV Pro to the GS since it's written in C and is designed
to be semi-portable (I do have plans for a PC version, so my code is going
to be written with that in mind).  The result of FV Pro for the IIgs would
mean that we'd have a fully-functional -multiline- 16-bit Metal platform.

     Now, don't take this as a definite "Yes, I'm going to write Metal-GS."
There are two major obstacles:

(1). Time.  Unless someone out there has a brilliant plan for slowing the
     Earth's rate of rotation on its axis, I only have 24 hours a day to
     work with.  Since I have to sleep for at least eight of those, and
     work nine of them, that doesn't leave a lot of time to work on FV Pro
     and Metal-GS, let alone continuing to develop FV 5.0 (an essential
     part of FV Pro) and Metal-8 2.0.

(2). Money.  It costs me at least $200 a month just to work on Metal-8 and
     operate this support BBS.  That doesn't include the thousands of
     dollars invested in programming tools and manuals (GS and Mac).  In
     this respect FV Pro gets ultimate priority since it is a definite
     commercial product and have high hopes of making a decent profit from
     it.  No matter what I do with Metal-GS (freeware, shareware, or
     commercial), it stands little chance of even breaking even.  There
     just isn't a GS market anymore.

     So, now is the time to influence my decisions.  I am willing to let
others help create Metal-GS (and some help with Metal-8, ala the transfer
packages, wouldn't hurt either!), so if you are a qualified programmer, let
me know. I basically need to know if it's worth my time.

     Now, Tc tried this twice before, and both times there was little or no
response.  I hear a considerable amount Metal-GS wishes, but when it's time
to commit, there's no response.  Unlike Tc I am -not- accepting any kind of
advance payments : not only do I not know how much Metal-GS would cost or
what its state would be (shareware, etc.), but I'm not even 100% sure I can
deliver the product.

     And so it goes...
                 (J.THOMPSON1, CAT29, TOP27, MSG:14/M530)


METAL EXTENSIONS TOPIC OPENS   To start of this new topic, I'd like to ask
""""""""""""""""""""""""""""   for your input on designing a set of
extensions to the Metal language for manipulation of the local console user
interface.

     My reason for needing these extensions stems from FV Pro and
(possibly) Metal GS.  These will be primarily desktop-based programs, and
I'd like to be able to have BBS utilities in the menu bar (edit user,
validate new users, etc.) without forcing the desktop shell to be
FV-specific.  The idea - I- came up with was threefold:

1.   Create a set of standard Metal language extensions to allow creation
     and manipulation of dialog boxes and dialog items.

2.   Allow Metal programs to add menus and/or menu items to the menu bar
     and assign those menus to Metal subroutines.  Thus selecting "Edit
     User" would trigger a special EditUser subroutine that would create
     and manage the user editing dialog box.

3.   Finally, to maintain compatibility with what could end up as -three-
     Metal implementations, each with different capabilities, I'd like to
     create some compiler directives to provide conditional compilation
     based on the type of platform.  I already am planning some conditional
     compilation in Metal-8 2.0, so this could be easily extended with
     C-style "ifdef" directives and having the compilers predefine
     constants like CPU_8BIT, CPU_GS, CPU_MAC, etc.

Comments, suggestions, flames?
                  (J.THOMPSON1, CAT29, TOP28, MSG:1/M530)


GREAT IDEA, AND HERE ARE SOME MORE IDEAS   Hey, I like this idea...  It
""""""""""""""""""""""""""""""""""""""""   gives me another one I had
thought about before, but not really given much thought to.  With the
emergence of desktop based telecom programs (Spectrum, and one of these
days when I get GTerm done, and even Mac and Windows programs) what if we
were to create a new BBS/telecom standard (like ANSI, or PTSE) that would
create and manipulate dialog boxes, menus, etc. on the local terminal?  The
telecom program would have no built-in routines to do anything with the
menus, boxes, etc, except to create them, and report back to the host what
the user did with them.

     With the current FV setup, this might be difficult to implement
without creating a totally separate program to run under this emulation,
but that might be able to be changed...  the menus are coded in FV.  The
way Prime works (user defined menus) would be easy to add this into.  With
a "menu interpreter" that has menu items and commands defined in it, you
would simply run a different menu interpreter on the same menu in each
emulation. For ANSI, or TTY, you would print the menu as text (maybe in
color if it were ANSI) and let the user press a key.  For DTE (DeskTop
Emulation?) you would add each item to a menu, or possibly a dialog with a
mass of buttons.

     If they want to use a fullscreen editor, and they're in DTE, throw a
textedit box at them (it would have to send a "still working" code every
once in a while to keep the BBS from timing out), then upload the result
when they hit the "Done" button...

     This is just throwing ideas from the top of my head, and who knows if
it's even rational, :)  but what do you think?
  _
 |_)ave |\/|iller  (A2Pro Promo Guy)
            (JUST.DAVE [m530 daily!], CAT29, TOP28, MSG:2/M530)



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

GNO 1.1 IN BETA   In case anyone's been wondering, YES we're still here and
"""""""""""""""   YES GNO 1.1 is now in beta-testing.

     Once I add a few more features and fix a few more bugs, it should be
ready to gno, er, go.

     Hold on to yer hats, this thing is _sweet_ (if I do say so myself :-)

-Jawaid
                  (PROCYON.INC, CAT30, TOP5, MSG:11/M530)



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

SOFTDISK GUIDELINES AVAILABLE   Just a reminder that we have Submitter
"""""""""""""""""""""""""""""   Guidelines as well as Programming
Guidelines for both Softdisk and Softdisk G-S.

     If you plan on submitting something to Softdisk Publishing you really
should check these out.

     For now, you can download them from the A2Pro library (search on
uploads by SOFTDISK.INC), or you can leave your name and address here (or
in e-mail, but be sure to specify which platform since we get e-mail for
PCs, Macs, etc) and I'll send the latest revisions of the guidelines to
you.

     It's easier than you think to make an extra five or six hundred bucks
folks!

 - Bryan Pietrzak
   Softdisk Publishing
            (SOFTDISK.INC [Bryan Zak], CAT31, TOP6, MSG:2/M530)


GSLIB CONFIG FILE MANAGER EXPLORED   OK folks, I didn't think too many
""""""""""""""""""""""""""""""""""   people would appreciate a 400 line
message so I decided that I'll post GSLib "managers" one or two at a time.

     Tonight I'm doing the Config File Manager and Console Manager:

 Config File Manager
 ===================
 MakeConfigPath(@fileName):pathNameH
 InitConfigFile(@fileName,ftype,atype/4,reserved/4)
 OpenConfigFile()
 CloseConfigFile()
 LoadConfig(rType,rID/4,@buffer,numBytes/4)
 SaveConfig(rType,rID/4,@data,numBytes/4)

 o MakeConfigPath(@fileName):pathNameH
   takes a pointer to a Class 1 GS/OS string representing a file name (for
   example, MyProg.settings) and returns a handle containing the full
   pathname to the file. Network-savvy. Useful for DAs, Inits, Control
   Panels, etc that need to deal with the @ prefix in an intelligent way.
   Not very useful for applications, they can just use 9:filename.

 o InitConfigFile(@fileName,ftype,atype/4,reserved/4)
   This routine tells the Config File Manager about your config file. It
   does NOT create the file at this time if it doesn't exist, that is done
   in OpenConfigFile (or in LoadConfig).

 o OpenConfigFile()
   Opens the config file and makes it the current resource file. The search
   depth is also set to 1. This routine =MUST= be balanced with a
   CloseConfigFile call. If the file does not exist, this routine creates
   it, using the file and auxtype specified in the InitConfigFile routine.

 o CloseConfigFile()
   Closes the config file and restores the Resource Manager state. This
   routine should be called even if OpenConfigFile returns an error.

 o LoadConfig(rType,rID/4,@buffer,numBytes/4)
   Loads data from the specified resource directly into a buffer. This
   routine does all the config file handling directly (in other words,
   it calls OpenConfigFile and CloseConfigFile). An example of this is the
   loading of a prefs resource: LoadConfig(1,1,@prefs,SizeOf(prefsRec));

 o SaveConfig(rType,rID/4,@data,numBytes/4)
   Similar to LoadConfig except that it writes the specified data. Any
   existing resource is removed.


 Proposed enhancements:
 ---------------------
 GetConfigResource(rType,rID/4):handle
 AddConfigResource(resH,resAttr,rType,rID/4)

     The Config File Manager routines have a lot of history behind them.
Almost three years worth! Back in 1990 I was contracted to write some NDAs
for a company and almost all of them had preferences. Rather than have 10
separate files, I decided they'd all share one file, but each would simply
use different resources. Back then, I copied and pasted the code from DA to
DA, but about 18 months ago I was working on an NDA for Softdisk (Minstrel)
and decided it was time to "abstractify" these routines and put them into
my library. And thus the above routines. Anything I've written in the past
18 months that has a config file uses these routines.

Bryan
           (SOFTDISK.INC [Bryan Zak], CAT31, TOP9, MSG:51/M530)


GSLIB CONSOLE MANAGER EXPLORED
""""""""""""""""""""""""""""""
 Console Manager
 ===============
 ConsoleStartUp()
 ConsoleShutDown()
 CWriteCString(@theString)
 CWriteString(@theString)
 CWriteText(@theText,textlen/4)

 o ConsoleStartUp()
   Opens the console driver. Uses OSGetConsoleName to find out which device
   needs to be opened. Should be called before any other Console Manager
   routine. MUST be balance by a ConsoleShutDown call.

 o ConsoleShutDown()
   Closes the Console driver.

 o CWriteCString(@theString)
   writes the specified cString to the console driver

 o CWriteString(@theString)
   writes the specified pString to the console driver

 o CWriteText(@theText,textlen/4)
   writes the specified text block to the console driver

 Proposed enhancements:
 ---------------------
 So many that I can't list them all here. Basically to fold most of my
 CODD (Console Driver Demo) stuff in here. In others routines for drawing
 boxes, doing windows, etc.

     The Console Manager routines were written when I updated my calculator
CDA to version 2.0. Previous versions had used the text tools and were
annoying me with the 2 seconds it took to draw the calculator on the
screen. So, version 2.0 uses the console driver if running under GS/OS and
now all the screen updates are more or less instantaneous.

Bryan

           (SOFTDISK.INC [Bryan Zak], CAT31, TOP9, MSG:52/M530)



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

MISCLIB LIST ROUTINES DOCUMENTED   Well, I noticed that someone had asked a
""""""""""""""""""""""""""""""""   List Manager question elsewhere in
A2Pro, so I thought that it'd be a good idea to give the basic stuff behind
the list section of the Miscellaneous Library.

     So, here's the excerpt from the documentation :

     I've always been perplexed as to why the List Manager has never
included routines to add and subtract members from a list.  The List
Manager requires the application to manage its own memRec structures.
Since I use the List Manager fairly frequently, I found myself writing the
same code over and over again.  I finally decided to put all this code in a
generic form. Using the list routines in MiscLib is fairly easy, but there
is one major restriction:  the list of memRec structures must be maintained
by handle. If you want to use pointer memRec structures, you cannot use the
MiscLib routines. Note that this restriction only applies to the memRec
list structure.  Your memPtr field can actually be a pointer if you wish.


AddMemRec   The AddMemRec routine adds a new memRec to a list of memRecs.
"""""""""   AddMemRec takes four parameters:  the item to insert after, the
current memRec list handle, a pointer to the memRec to insert, and the size
of a memRec entry in bytes.  AddMemRec will resize the memRec list, take
the memRec entry, and insert it in the memRec list in the appropriate
position. To insert a memRec at the beginning of the list, pass $0000 for
the item to insert after.  To insert a memRec at the end of the list, pass
$FFFF for the item to insert after.  You must always pass a valid handle
for the memRec list handle parameter, even if its size is zero (no items in
the list).  If you are using a list control, you must make the NewList2
Toolbx call in order for the changes to actually be recognized by the
control.


FindMemRecPtr   The FindMemRecPtr routine returns a pointer to the memRec
"""""""""""""   entry within a list of memRecs.  You pass the item number
you want a pointer to, the handle to a emRec list, and the size of a memRec
entry in bytes, and FindMemRecPtr does the rest of the work.


GetMemRecSize   The GetMemRecSize routine returns the number of items in a
"""""""""""""   memRec list.  It simply divides the size of the memRec list
handle by the size of a single memRec.


NextMemRec   The NextMemRec routine performs the same function as the
""""""""""   NextMember2 Toolbox call except that instead of passing a
handle to a list control, you pass a handle to a list of memRecs and the
size of a memRec entry in bytes.


DeleteMemRec   The DeleteMemRec routine removes a memRec from a list of
""""""""""""   memRecs.  If you remove the last entry from a list of
memRecs, the size of the handle to the memRec list will become zero (no
items in the list).  If you are using a list control, you must make the
NewList2 Toolbox call in order for the changes to actually be recognized by
the control.


ResetMemRec   The ResetMemRec routine performs the same function as the
"""""""""""   ResetMember2 Toolbox call except that instead of passing a
handle to a list control, you pass a handle to a list of memRecs and the
size of a memRec entry in bytes.  Also, ResetMemRec differs from
ResetMember2 in that you pass a starting point to start searching for a
selected memRec just like NextMemRec.  If you are using a list control, you
must make the NewList2 Toolbox call in order for the changes to actually be
recognized by the control.


SelectMemRec   The SelectMemRec routine performs the same function as the
""""""""""""   SelectMember2 Toolbox call except that instead of passing a
handle to a list control, you pass a handle to a list of memRecs and the
size of a memRec entry in bytes.  If you are using a list control, you must
make the NewList2 Toolbox call in order for the changes to actually be
recognized by the control.


AddSelectMemRec   The AddSelectMemRec routine performs a similar function
"""""""""""""""   as the SelectMember2 Toolbox call except that any
previously selected memRecs will remain selected.  This is useful if you
need to select multiple items in a list control which can contain multiple
selections.  This routine differs from SelectMember2 in that instead of
passing a handle to a list control, you pass a handle to a list of memRecs
and the size of a memRec entry in bytes.  If you are using a list control,
you must make the NewList2 Toolbox call in order for the changes to
actually be recognized by the control.


SortMemRec   The SortMemRec routine performs the same function as the
""""""""""   SortList Toolbox call except that instead of passing a handle
to a list control, you pass a handle to a list of memRecs and the size of a
memRec entry in bytes. SortMemRec follows the same rules as the SortList
Toolbox call for System v6.0 in that you can pass $00000000 and $00000001
for compare procedure pointers.  The only restriction is that you must be
sorting pascal strings. If you want to compare C strings, you must write
your own custom compare procedure.  If you are using a list control, you
must make the NewList2 Toolbox call in order for the changes to actually be
recognized by the control.


NoCaseCompare   In order to make the SortMemRec procedure work properly
"""""""""""""   with a $00000001 compare procedure pointer, I had to write
a case insensitive compare routine.  This routine will return with both the
carry flag set or clear and the stack word set or clear.  Note that there
is no stack frame diagram for this call since it's calling procedure is
defined in the Apple IIGS Toolbox Reference, Volume 1.  This call is not in
the C or Pascal interface files since it is not directly accessible from
high level languages.


StandardCompare   In order to make the SortMemRec procedure work properly
"""""""""""""""   with a $00000000 compare procedure pointer, I had to
write a case sensitive compare routine.  This routine will return with both
the carry flag set or clear and the stack word set or clear.  Note that
there is no stack frame diagram for this call since it's calling procedure
is defined in the Apple IIGS Toolbox Reference, Volume 1.  This call is not
in the C or Pascal interface files since it is not directly accessible from
high level languages.


FindRealPtr   Both the NoCaseCompare and StandardCompare routines call
"""""""""""   FindRealPtr to turn the memPtr field of a memRec into an
actual pointer to a string.  FindRealPtr examines the reference bits of the
memFlag byte and, based on the flag bits, loads a rPString resource (if the
bits say the field is a resource ID), dereferences the handle (if the bits
say the field is a handle), and finally returns the pointer to the actual
member name string. You should never have to call this routine unless
you're writing a custom sort procedure and want a nice way to get access to
pascal strings based on the memFlag byte.
                (JWANKERL [Joe], CAT33, TOP7, MSG:14/M530)



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

FOUNDATION WORK CONTINUES   I want to let everyone know that we are
"""""""""""""""""""""""""   currently working on Foundation version 1.0.3,
including a native rIcon and rBundle editor, as well as a couple of bug
fixes and a few minor feature additions to the shell.

     This is the ideal time for any of you to add any comments or
suggestions on Foundation.  We plan on 1.0.3 being the last 1.0 series
release and will not return to the shell until after we complete the
massive window, control, menu editors.

     No suggestion is too bizarre - no request to strange ... just hop
right in and let us know what you'd like included before it's too late.

     After all, the worse that can happen is we'll say "no" :)

 Marc Wolfgram
 Lunar Productions
           (M.WOLFGRAM2 [Lunar Host], CAT35, TOP1, MSG:16/M530)


WHAT IS ALREADY INCLUDED?   Well, let's start with the basics.  You've got
"""""""""""""""""""""""""   a native rIcon and rBundle editor coming --
what else?  We wouldn't want to ask for things you've already decided to
include?

--Matt (I speak for myself, not for Apple)
          (M.DEATHERAGE [A2Pro Leader], CAT35, TOP1, MSG:17/M530)


EDITORS INCLUDED WITH VERSION 1.0.3:   Good question, Matt.  The
""""""""""""""""""""""""""""""""""""   Icon/Bundle editors will be included
in version 1.0.3.  After that we will be providing the editors for:

   Windows (rWindParam1 resources), Window Color (rWindColor),
   Control Lists (rControlList), all 14 Control types (rControlTemplate)
   and all Menu things (rMenuBar, rMenu, rMenuItem and rItemStruct).

     The above will NOT be in 1.0.3 as the Window/Control/Menu suite will
be about as large as the shell itself :)

     The kinds of things we're looking for right now are minor interface
annoyances, suggestions for improvements in the shell itself, maybe a
reproducable bug or two.  For example, one user suggested multiple selects
in the lists for things like deleting more than one resource at a time.
We'll be looking into how feasable this is for 1.0.3, but it's a good idea
and will end up in Foundation sometime if not now.  We're also tracking
down a silly list bug at the moment that didn't show up in any of the beta
testing:

     Copy a resource that is the only one of it's type to the clipboard,
then paste it back into the file with Paste OVER existing items.  The way
the shell handles this is to delete the original item, causing the item
window to close, the it adds the resource back in from the clipboard.  The
next time you open the item window the list is pretty well filled with
junk, although the data and resources are quite fine.  Closing and
re-opening the window cures the aberrant behavior.  Go figure?  That's top
on our list of 1.0.3 shell things.  The rest are enhancements.

     If you've got any ideas for the shell itself, let us know.

 Marc Wolfgram
 Lunar Productions
           (M.WOLFGRAM2 [Lunar Host], CAT35, TOP1, MSG:18/M530)


NATIVE EDITORS FOR 'SIMPLE' STRINGS WOULD BE NICE   I'd like to see native
"""""""""""""""""""""""""""""""""""""""""""""""""   editors for the
"simple" resource types in 1.0.3:

  strings (all types)
  AlertStrings
  ErrorStrings
  rTwoRects
  rComment
  etc

     Some of these are simply variations of the rPString editor and should
be a snap for you to spit out (easy for me to say eh? ;-)

     Also, when you guys do the native control editor, keep in mind custom
controls -- it'd be nice if Foundation didn't choke on them like Genesys
(ever double-click on a rectangle control by accident :)

Bryan
           (SOFTDISK.INC [Bryan Zak], CAT35, TOP1, MSG:19/M530)


CURRENT PRIORITIES FOR FOUNDATION   Bryan:  I agree that the rPRsting
"""""""""""""""""""""""""""""""""   editor could be used as a base for the
other simpler resource formats ... that's why we included it in the dev.
kit (hint - hint :).

Here is the priority of items for Foundation:
   Foundation shell (1.0 series is pretty well complete)
   Provide Hex/ASCII editing (solid gold here)
   Provide editing via scripted templates
     (80% now, 100% will end 1.0 series)
   Native editors:
     PString sample (done)
     Icon/Bundle (will be in 1.0.3)
     Window/Control (will be in 1.1)
     Menu (will be in 1.1)
     Other editors (dependent on third party effort TBD).

     We will provide editors for Alert and Error strings IF nobody else
jumps into the fray.  I'd feel pretty miserable if nobody used the
developer docs :)  Generally, with the exception of the LETextForTextBox2
and the two alert types, ScriptEdit does a great job with the other string
types.

     BTW, Jeff Paquette (who has recently departed the GS world) had
started a LEText editor for Foundation... if anyone else is interested in
doing any stuff along these lines, let us know!

 Marc Wolfgram
 Lunar Productions
           (M.WOLFGRAM2 [Lunar Host], CAT35, TOP1, MSG:22/M530)


MORE SUGGESTIONS   I sincerely hope full script editors will be functional
""""""""""""""""   for controls, menus, etc.  I looked at a beta version in
which these items were functional (though buggy as a result of changing
pCounts and the like) and I was really disappointed when I found them
missing in 1.0.2.

     I really can't wait for the WYSIWYG editors... Is it going to take a
LONG time to complete them?

     Foundation is really a great _foundation_ for resource
editing/creation on the GS.  I appreciate the work you are putting into a
great machine.

Rick Adams

                   (R.ADAMS48, CAT35, TOP1, MSG:25/M530)



WHAT'S HAPPENING AT LUNAR   Hi all... sorry it took me this long to post
"""""""""""""""""""""""""   this!  Here's what's been happening at Lunar in
the last month or so:


APPLE EXPO WEST:   We were there of course!  It was great meeting those of
""""""""""""""""   you that stopped by our booth... although the crowds
didn't appear to be beating a path to Brooks Hall, we did have a good time.
At the show we officially released two new products, Edit-16 version 2.0,
and NameOBJ version 1.0.


EDIT-16   is Bill Tudor's most excellent programmer's editor, which is a
"""""""   direct plug-n-play replacement for the APW and ORCA editors.
Lunar has exclusive publishing rights for Edit-16 now, and you can expect
to see active support for this wonderful editor.  2.0 works with APW, ORCA,
GNO and Merlin, and it also runs just fine from the Finder.  Included is an
all new manual and a host of new features and enhancements.

Edit-16 v2.0 - $49.95  1.x Upgrade - $25.00 + original disk.


NAMEOBJ    is a neat utility written by Andy Wells.  It post-processes
"""""""    object files created by compilers (ORCA, APW, TML) and
assemblers (ORCA, APW, Merlin, QuickASM) to add imbedded function names for
debugging tools.  If you're using a C or Pascal compiler and spend more
than two minutes in GSBug(tm) "walking" your code, you should think about
getting NameOBJ.  If you want to know more about imbedded names, check out
Apple IIGS Tech Note #103 - Inline Procedure Name Format, available in the
GEnie A2Pro Library. NameOBJ come complete with Dave Lyons' Nifty List desk
accessory (share- ware fee paid!) and Apple's GSBug, and it includes an
in-depth manual for all three utilities.  Requires APW, ORCA, GNO or
Merlin.

NameOBJ v1.0 - $39.95 (including GSBug and Nifty List) (GSBug is a
trademark of Apple Computer, Inc.)


FOUNDATION 1.0.3    is in the works... Mark Collins is currently wrapping
""""""""""""""""    up an all new Icon and Bundle resource editor for it.
Stay tuned for more information.  If you already own Foundation, make sure
that you get your registration forms sent in because 1.0.3 is a free
upgrade!

Foundation v1.0.2 - $79.95


 Marc Wolfgram
 Lunar Productions
 1808 Michael Drive
 Waukesha, WI 53186
 414/549-9261
 MasterCard and Visa accepted
           (M.WOLFGRAM2 [Lunar Host], CAT35, TOP4, MSG:35/M530)



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

HOW TO REACH THE BYTEWORKS   You can reach us through a variety of
""""""""""""""""""""""""""   channels:

             Here: BYTEWORKS
   America Online: use keyword ByteWorks
            Phone: (505) 898-8183, M-F, 8AM-5PM mountain
                   (with an irregular lunch hour)
             Mail: Byte Works, Inc.
                   4700 Irving Blvd. N.W. Suite 207
                  Albuquerque, N.M. 87114

     With apologies, I do not return customer service calls.  If you have a
question or problem, I leave it up to you to call me.

Mike Westerfield
                   (BYTEWORKS, CAT36, TOP31, MSG:7/M530)


ORCA AND THE MANAGER COMPATIBILITY   Tim, my decisions regarding PRIZM were
""""""""""""""""""""""""""""""""""   based on customer comments.  I'll take
yours into account.

     As for The Manager, I have not ever, nor do I expect to, spend any
time worrying about whether ORCA will work with it or not.  It won't.  ORCA
is a text program, even when you run PRIZM.  ORCA also runs as many as
three programs at a time itself, and isn't likely to work with other
programs trying to run multiple programs, even if it were a desktop
program.  To even stand a _slight_ chance of running with The Manager, the
entire development environment would have to be replaced with one that was
entirely desktop based, and I don't expect to have the time to work on any
changes of that nature.

Mike Westerfield
                  (BYTEWORKS, CAT36, TOP19, MSG:54/M530)


PRIZM COMPATIBILITY QUESTION   Mike - I just ordered the 2.0 upgrade and it
""""""""""""""""""""""""""""   sounds great.  I can't wait!   I'm curious
about one thing.  Will the older version of the C compiler   work with the
new version of prizm?  I haven't upgraded my C compiler   yet (I'm waiting
for a check from Softdisk first).

Thanks!

  - Dave Hallwas (GEnie: D.Hallwas, America Online: Xevad)
               (D.HALLWAS [Dave], CAT36, TOP10, MSG:62/M530)


AND ANSWER   Dave, you can use C 1.3 with PRIZM 2.0, but you cannot just
""""""""""   install Pascal 2.0 and C 1.3 together.  The problem is that
the 1.x compilers use a different I/O mechanism from the 2.x compilers.  As
a result, you must use 2.x libraries with the 2.x compilers, and 1.x
libraries with the 1.x compilers.  In a nutshell, that means you'll have to
keep two separate library folders, one for C and one for Pascal, and set
the correct library folder before you start to use the language.  That's
not outrageously hard, but it might just be easier to keep two separate
systems until you upgrade.

Mike Westerfield
                  (BYTEWORKS, CAT36, TOP10, MSG:64/M530)


IS THERE A NEW SET OF ORCA/PASCAL TUTORIALS?   I noticed that you're
""""""""""""""""""""""""""""""""""""""""""""   bundling ORCA Pascal 2.0
with the "Learn To Program..." & "Toolbox Programming" tutorials in your
new ads. Are these the same old tutorials or have they been updated (or do
they need to be) for Pascal 2.0?

Cheers... Bill
           (BILL.LYNN [Lost in '60s], CAT36, TOP22, MSG:4/M530)


NO NEW TUTORIALS NEEDED FOR PASCAL 2.0   They are the "same old tutorials."
""""""""""""""""""""""""""""""""""""""   And no, they don;t need to be
updated for Pascal 2.0.  There are new things I _could_ do, but there is
nothing new that _needs_ to be done.

Mike Westerfield
                   (BYTEWORKS, CAT36, TOP22, MSG:5/M530)



[EOA]
[RTC]///////////////////////////////
                        RTC WATCH /
/////////////////////////////////
A2Pro Real Time Conference News
""""""""""""""""""""""""""""""
By Nate C. Trost      _______    __________   ________
       [N.TROST]     /_______|  /_________/  /________/
                    /__/__/__/     /__/     /__/
                   /________/ EAL /__/ IME /__/ ONFERENCES in A2Pro!!
                  /__/  /__|     /__/     /__/_____
                 /__/  /__/     /__/     |________/         SCHEDULE:

   Date         Time   Event
 -------------- -----  ----------------------------------------------------
 Every Sunday   20:30  Weekly Programmers' RTC.  Talk about programming, or
                       just chat.

 Every Thursday 21:30  ** NEW!! ** NEW !! ** NEW !! ** NEW !! ** NEW !! **
                       Graphics and Sound Programming RTC, hosted by
                       GEnie Lamp A2Pro writer Nate.Trost (N.TROST)!


                     >>> WELCOME TO THE RTC WATCH <<<
                     """"""""""""""""""""""""""""""""

     These excerpts are just some of the conversation that takes place
during A2Pro RTCs!  You can join other Apple II programmers, professional
and hobbyist, in regular A2Pro RTCs every Sunday night at 8:30 PM Eastern.
NEW!  A2Pro Graphics and Sound RTC, every Thursday night at 9:30 PM
Eastern.


ON PHANTASM BLANKERS
""""""""""""""""""""

<[] Tim pi [] T.BUCHHEIM>  Anyone around here ever write a Phantasm
                           effect?

<[Beethoven] J.SALZ> ----  There's a file in the library here on that, Tim.
                           It's called MONDRIAN.EF.BXY (file #3255).


ON DISK PROMPT DIALOGS
""""""""""""""""""""""

<[Bill] W.TUDOR> -----------  Suppose you write a system extension, and
                              your request procedure is the only litle
                              piece of code remaining in memory, and it
                              loads code resources as it needs them...  How
                              can I ensure I will get  the "Please insert
                              the disk.." message? Do I have to set system
                              prefs before the LoadResource call each time
                              and then restore it?

<[A2Pro Leader] M.DEATHERAGE> Either that or leave the resource file open.


ON READING THE GS BEAM POSITION
"""""""""""""""""""""""""""""""

<[Nate] N.TROST>  waitloop   sep   #$20
                             lda   >$e0c02f
                             asl
                             lda   >$e0c02e
                             rol
                       (you now have the SHR line the beam is on)


ON THE LOCATION OF THE SHR SCREEN
"""""""""""""""""""""""""""""""""

<[A2Pro Leader] M.DEATHERAGE>  Jim, this is how it basically works:

                               If shadowing is on, a new port has a
                               ptrToPixImage of $012000.

                               If shadowing is off, it normally has a
                               ptrToPixImage of $E12000.

                               If in either case it's _not_ that value,
                               I would strongly suspect CloseView is on.
                               That includes returning $012000 if shadowing
                               is not on.


LISTS AND LINEEDITS WITH STANDARD FILE
""""""""""""""""""""""""""""""""""""""

<[Bill] W.TUDOR> -----------  Can you add a list to a Std File dialog box?

<[Jim] DYA> ----------------  Or how about another line edit?

<[A2Pro Leader] M.DEATHERAGE> I'm not sure.  You can add another Line
                              Edit item in 6.0.1, but a separate list
                              would be a different thing.

<[Bill] W.TUDOR> -----------  I figured it was a hard one to answer.
                              I have been trying to do it with no luck
                              so far.....The best I could do was to get
                              the control to draw, but I can't get it to
                              become the target.

<[A2Pro Leader] M.DEATHERAGE> You can't get anything to be the target in
                              6.0 because Standard File assumes that it
                              has the only target.  That's why you can't
                              add a Line Edit item -- it never gets any
                              keys.
                              If you've got it done except for that,
                              then you should be set with 6.0.1.

<[Hi Mom!] MURPH> ----------  However, the Dialog Manager still thinks it
                              owns all of the controls in a dialog, and it
                              knows a lot about the control records.

<[Bill] W.TUDOR> -----------  Murph, I assume I should be saving/restoring
                              control refCon fields per tech note #34
                              (I think it was 34). Hey, maybe it will work
                              under 6.0.1 :-)

<[Hi Mom!] MURPH> ----------  Bill yep, you should do that, but there's the
                              problem that the Dialog Manager may not like
                              extended controls (it knows about the
                              original control record structure but not the
                              extended ones).


USING 'OLD' HYPERSTUDIO XCMDS
"""""""""""""""""""""""""""""

<[Airship] J.GRAHAM29>  I need an example of how to use SS.XMCD from HS
                        v3.1.

<[Dean] A2.DEAN> -----  Uh-oh.  Okay, that one's come up before.
                        To use an XCMD, you select MiniScript.
                        But first, you have to make sure you have a
                        copy of the NBA in the same folder as the
                        stack you're running.  Have you done that?

<[Airship] J.GRAHAM29>  The NBA, or the old .XCMD?

<[Dean] A2.DEAN> -----  The XCMD.  It doesn't matter where the NBA is.

<[Airship] J.GRAHAM29>  Yep, the stack, XCMD, Song, and Tool69 are all
                        in the same folder.

<[Dean] A2.DEAN> -----  Tool 69 has to be in your *:SYSTEM:TOOLS folder.

<[Airship] J.GRAHAM29>  It's there too, plus 2 or 3 other places.

<[Dean] A2.DEAN> -----  Okay, when you use MiniScript, the appropriate
                        syntax should be SSMITHPLAY SONGNAME.

                        It depends on what you've got the XCMD named,
                        of course.  The important thing is that the
                        XCMD MUST, absolutely MUST, be named
                        "XCMD.WHATEVER".  Then you invoke it in
                        MiniScript by typing "WHATEVER".


ON $C2 PAINTWORKS ANIMATION FILES
"""""""""""""""""""""""""""""""""

<[Nate] N.TROST> -----------  Matt: Are PaintWorks animations an official
                              file format?

<[Mike] BYTEWORKS> ---------  Paintworks is listed in the file type notes.

<[A2Pro Leader] M.DEATHERAGE> $C2 won't be reassigned for anything else as
                              far as I'm concerned, but I have no official
                              file format.  If it's published in "About
                              File Type Notes" it's official.

                              We don't publish file formats that don't come
                              from the requesters.  Sorry.  Apple has not
                              published a $C2 FTN and will not unless
                              Activision
                              submits the format and asks for it.

     (NOTE: Example $C2 PaintWorks Animation playback source with
            a description of the file format can be found in the A2Pro
            library, file #3306, C2VIEW.BXY)



[EOA]
[A2U]//////////////////////////////
                A2U CAMPUS GREEN /
/////////////////////////////////
Your GEnieLamp A2Pro guide to A2U
"""""""""""""""""""""""""""""""""
By Nate C. Trost
       [N.TROST]

                >>> INTRODUCTION TO RESOURCES CONCLUDES <<<
                """""""""""""""""""""""""""""""""""""""""""

     Marc Wolfgram has finished the final classes of the Introduction to
Resources class.  The classes are now available in the A2Pro library.  This
six part class covers resources on the Apple IIGS.  The course starts by
introducing the concept of resources and explains what they are and how to
use them.  Even non-programmers will find this course valuable since
resources provide an easy way to customize popular Apple IIGS applications.

LESSON 1: FILE #3173
       2:      #3186
       3:      #3203
       4:      #3211
       5:      #3277
       6:      #3278



                 >>> APPLE IIGS GRAPHICS AND SOUND RTC <<<
                 """""""""""""""""""""""""""""""""""""""""

     A BB topic for discussion about the Apple IIGS Graphics and Sound RTC
has been created in A2U CAT 22, TOPic 22.  This topic is the place for
further discussion of anything that comes up during a G&S RTC, and is also
a place to put your suggestions, ideas, and comments about the RTC.  If you
are interested in graphics and sound programming, check this topic out!
The Graphics and Sound RTC is held every Thursday in the A2Pro RTC at 9:30
Eastern.



              >>> PREVIOUS A2U COURSE LIST: PART II OF II <<<
              """""""""""""""""""""""""""""""""""""""""""""""

     This month we wrap up our list of previous A2U courses!

ULTRA 4 TO THE MAX! (Will Nelken)   This recent course covers the new
"""""""""""""""""""""""""""""""""   enhancements and features added to
Ultra 4.0, the ultimate TimeOut: Ultramacros upgrade from JEM Software.  If
you have Ultra 4.0 and are looking for more information on how to harness
its power, or if you have UltraMacros and are wondering what Ultra 4.0 is
all about, this is the course for you!

     All of the Ultra 4 lessons are available in one file: #3107

     The archived messages from the Ultra 4 To the Max topic in the A2Pro
BB are available in file #3207.


ULTRAMACROS (Will Nelken)   This course covers the TimeOut: UltraMacros
"""""""""""""""""""""""""    package.  TimeOut: UltraMacros adds advanced
macro power to AppleWorks.  If you have UltraMacros and/or Ultra 4.0 and
are looking for a course to teach you how to unleash the power of these
programs, check out this course!

     All of the lessons in the UltraMacros course are available in one
file:  #2716


APPLE IIGS ASSEMBLY LANGUAGE (Steve Gunn)   This is an course for those
"""""""""""""""""""""""""""""""""""""""""   wishing to learn how to program
the Apple IIGS in assembly language.  If you've always wanted to learn how
to program your IIGS in assembly, but need a tutorial, download this
course!

COURSE INTRODUCTION: File #2403

                    LESSON  1: FILE #2404
                    LESSON  2:      #2512
                    LESSON  3:      #2531
                    LESSON  4:      #2553
                    LESSON  5:      #2632
                    LESSON  6:      #2680
                    LESSON  7:      #2688
                    LESSON  8:      #2692
                    LESSON  9:      #2701
                    LESSON 10:      #2711
                    LESSON 11:      #2713
                    LESSON 12:      #2715



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



                    >>> PROGRAMMING EXAMPLES/SOURCE <<<
                    """""""""""""""""""""""""""""""""""

File #3306:  C2VIEW.BXY (GS)
Uploaded on 5/16/93 by N.TROST
About 4K (d/l time approx. 30 seconds @ 2400 baud)

     This archive includes the source to the C2View $C2 (Paintworks)
animation playback routine.  Source is in Merlin 16+ assembler format.
Commented with reference to $C2 file format included.  This routine is free
for use in original or modified form in any program.


File #3294:  W6SRC22.BXY (ALL)
Uploaded on 5/10/93 by M.DEATHERAGE
About 105K (d/l time approx. 10 minutes @ 2400 baud)

     Source code for Warp Six BBS public domain version 2.2. Requires
Merlin 16 or Merlin 16+ to assemble. Includes XModem send/receive, YModem
send, and an excellent IIgs modem port driver written in assembly language
that can keep up with XModem 4K uploads at 19200 bps with LAPM and hardware
handshaking. Written by Jim Ferr, for the public domain.  The Warp Six BBS
package is available in the A2 Libraries on page 645 option 3 on the menu.


File #3289:  GIFVIEW.SRC.BXY (GS)
Uploaded on 5/8/93 by A2.LUNATIC
About 50K (d/l time approx. 5 minutes @ 2400 baud)

     ORCA/M 65815 assembly source to the latest version of GIFview.
Includes routines for LZW decompression adjusted for GIF, color scaling,
and implementing a pseudo-256 color mode. The GIFView executable program is
also included.


File #3268:  VCRPLUS.BXY (ALL)
Uploaded on 4/28/93 by W.BRADFORD6
About 8K (d/l time approx. 1 minute @ 2400 baud)

     This archive contains a conversion of a BASIC program that converts
VCR+ codes. The original code, uploaded as file #3250, was written in
Commodore BASIC. This archive contains Applesoft BASIC code.



                      >>> A2/A2Pro SPECIAL FILES <<<
                      """"""""""""""""""""""""""""""

File #3283:  MAY.IND.TXT.BXY (ALL)
Uploaded on 5/8/93 by A2PRO.GREG
About 11K (d/l time approx. 1 minute @ 2400 baud)

     May 1993 Index of Topics in the A2Pro Bulletin Board.
Topic list is in Text format.


File #3282:  MAY.IND.ADB.BXY (ALL)
Uploaded on 5/8/93 by A2PRO.GREG
About 11K (d/l time approx. 1 minute @ 2400 baud)

     May 1993 Index of Topics in the A2Pro Bulletin Board.
Topic list is in AppleWorks Database format.



                           >>> A2University <<<
                           """"""""""""""""""""

File #3305:  A2U.REZ.MSG.BXY (GS)
Uploaded on 5/15/93 by A2PRO.GREG
About 19K (d/l time approx. 2 minutes @ 2400 baud)

     This is the archive of A2Pro BB Messages from the A2 University Course
"Introduction to Resources" by Marc Wolfgram.  See Campus Green in this
issue of GEnieLamp A2Pro for a list of all the "Introduction to Resources"
lessons available in the A2Pro library.


File #3278:  A2URESINTR6.BXY (GS)
Uploaded on 5/6/93 by A2PRO.STEVE
About 8K (d/l time approx. 1 minute @ 2400 baud)

     Lesson #5 of the A2 University 'Introduction to Resources' by Marc
Wolfgram.  This is part five of a six part course on what resources are and
how to use them on your Apple IIGS.


File #3277:  A2URESINTR5.BXY (GS)
Uploaded on 5/6/93 by A2PRO.STEVE
About 8K (d/l time approx. 1 minute @ 2400 baud)

     Lesson #6 of the A2 University 'Introduction to Resources' by Marc
Wolfgram.  This is part five of a six part course on what resources are and
how to use them on your Apple IIGS.



                             >>> UTILITIES <<<
                             """""""""""""""""

File #3272:  TOOLBOX.BXY (GS)
Uploaded on 5/2/93 by L.PIILONEN
About 27K (d/l time approx. 3 minutes @ 2400 baud)

     File #3272 contains a complete set of toolbox macros, including all of
the new calls in the Programmer's Reference for System 6.0. These macros
allow you to call the IIgs toolbox from assembly language just like you
would from any high-level language such as C or Pascal, including all input
and output arguments, all legal 65816 addressing modes for arguments,
automatic stack manipulation, and error handling.


File #3273:  TOOLBOXMAN.BXY (GS)
Uploaded on 5/2/93 by L.PIILONEN
About 120K (d/l time approx. 12 minutes @ 2400 baud)

     File #3273 contains a set of 34 AppleWorks WP files describing the
enhanced toolbox macros for IIgs assembly language programming.  The first
file, MAN.INTRO, is a general descriptionof the package.  The remaining
files are tool call descriptions for the 33 tool sets in the macro package.
The macro package and documentation are freeware.


File #3270:  LOTTO.BXY (ALL)
Uploaded on 5/1/93 by I.LEV
About 11K (d/l time approx. 1 minute @ 2400 baud)

     This archive contains a lotto program written in basic that can
generate and check lotto numbers on a weekly or daily basis. The program
has been tested on a IIgs and IIe. Works best when compiled using the
Beagle Compiler.


File #3269:  TEXTCMDS.BXY (ALL)
Uploaded on 4/30/93 by B.WELLS5
About 23K (d/l time approx. 2 minutes 30 seconds @ 2400 baud)

     TEXTCMDS will add commands to AppleSoft BASIC for Loading, Saving, &
Printing Text screens from ProDOS. Low-Res pictures can also be loaded and
saved!  An editor for designing your screens is included, along with fully
commented source code in Merlin format. Freeware.


File #3267:  SUPERBASIC.BXY (ALL)
Uploaded on 4/27/93 by T.ZUCHOWSKI
About 235K (d/l time approx. 24 minutes @ 2400 baud)

     Matt Wachowski's Shareware Applesoft extension set. Super BASIC is a
set of extensions to Applesoft basic. These extensions allow Applesoft to
handle super high resolution graphics animation and digitized sound.
Version 4.0 makes the following improvements over version 3.2:
  1) Full GS/OS compatibility / Super BASIC now uses mem manager
  2) Master disk can be run in a subdirectory
  3) small bug fixes
  4) a sound extension is now included


File #3265:  WAVELAB0.1.BXY (GS)
Uploaded on 4/26/93 by D.TRIBBY
About 95K (d/l time approx. 10 minutes @ 2400 baud)

     waveLAB is a companion program to Apple's synthLAB. Version 0.1 lets
you:
   - create MIDI Synth waveforms
   - load individual waveforms from MIDI Synth wave data (".wav") files
   - create MIDI Synth instruments (similar to Apple's synthLAB program)
   - load individual instruments from  MIDI Synth instrument (".bnk") files
   - plot graphs of an instrument's waveforms or envelopes
   - save the instruments and waveforms you have created

     Included in the archive are  descriptions of the contents of MIDI
Synth instrument and wave data files.


File #3260:  COPYCAT.BXY (GS)
Uploaded on 4/18/93 by PROCYON.INC
About 22K (d/l time approx. 2 minutes @ 2400 baud)

     Copycat is a program that copies I/O back and forth between two GNO
TTYs. In this sense it can be used as a little term program.  The author
uses it to connect a vt100 terminal to his modem (though his IIGS) so he
can be online his UNIX system and use his IIGS at the same time. If you've
copied the GNOCON termcap entry to your UNIX system, you can use copycat as
a terminal program.


File #3258:  CD.BXY (GS)
Uploaded on 4/17/93 by A2PRO.TODDPW
About 10K (d/l time approx. 1 minute @ 2400 baud)

     Possibly the last ORCA cd command you will ever need. Features:

 - fully restartable, automatically uses prefix 8 if 0 is null
 - arbitrary ".." support (or else it's a bug you should email me)
 - support for HOME shell variable (for when you type "cd" by itself)
 - uses raw command line ("cd :get real:museum o' code:ziptalk" is legal)
 - small (7K) and fast

     ORCA/C 2.0 Source and executable file included with archive.



                         >>> A2Pro BB Archives <<<
                         """""""""""""""""""""""""

File #3288:  ULTR4.QUES1.BXY (ALL)
Uploaded on 5/8/93 by A2PRO.GREG
About 20K (d/l time approx. 2 minutes @ 2400 baud)

     This file is a collection of messages from the A2Pro Bulletin Board,
Cat 34 Topic 2, 'Ultra 4 General Questions   '.


File #3287:  TEXTEDIT.04.BXY (GS)
Uploaded on 5/8/93 by A2PRO.GREG
About 35K (d/l time approx. 3 minutes 30 seconds @ 2400 baud)

     This file is a collection of messages from the A2Pro Bulletin Board,
Cat 15 Topic 34, ' Text Edit Tool Set        '.


File #3286:  WINDOW.MGR3.BXY (GS)
Uploaded on 5/8/93 by A2PRO.GREG
About 47K (d/l time approx. 5 minutes @ 2400 baud)

     This file is a collection of messages from the A2Pro Bulletin Board,
Cat 15 Topic 14, ' Window Manager            '.


File #3285:  PG.BAS.SYS1.BXY (ALL)
Uploaded on 5/8/93 by A2PRO.GREG
About 47K (d/l time approx. 5 minutes @ 2400 baud)

     This file is a collection of messages from the A2Pro Bulletin Board,
Cat  7 Topic 4, 'Programming with Basic.System'.


File #3284:  PDOS.QUES1.BXY (ALL)
Uploaded on 5/8/93 by A2PRO.GREG
About 35K (d/l time approx. 3 minutes 30 seconds @ 2400 baud)

     This file is a collection of messages from the A2Pro Bulletin Board,
Cat  7 Topic 2, ' ProDOS Questions ...       '.



                     >>> INFORMATION/DOCUMENTATION <<<
                     """""""""""""""""""""""""""""""""

File #3304:  PRIZMCONFIG.BXY (GS)
Uploaded on 5/14/93 by BYTEWORKS
About 4K (d/l time approx. 30 seconds @ 2400 baud)

     This file describes the configuration file format used by PRIZM 2.0
and PRIZM 2.0.1.  This format is used to save preferences and to save and
restore the desktop when an S16 file is executed from PRIZM.  The file also
describes how these files are used, and gives some tips about how to use
the information to trick PRIZM into doing useful things at startup.


File #3302:  OBJECTS.BXY (ALL)
Uploaded on 5/14/93 by BYTEWORKS
About 10K (d/l time approx. 1 minute @ 2400 baud)

     This file is a brief, mechanically oriented introduction to Object
Pascal as implemented in ORCA/Pascal 2.0.  While it doesn't tell you how to
organize programs to take advantage of object oriented design goals, it
does teach you the vocabulary and syntax used in Object Pascal, and shows
some simple examples of how objects can be used.


File #3263:  MAC.RES.BXY (ALL)
Uploaded on 4/21/93 by A2.TIM
About 21K (d/l time approx. 2 minutes @ 2400 baud)

     Here is a complete definition of the storage format for Macintosh
resources. This download contains two files, both in AppleWorks GS format.
Contained in the first file is a breakdown of a Macintosh Resource file
given in an AWGS PL format. The second is an AWGS graphics file with two
figures that go with the text. With this information it is possible to
write a resource editor (ala ResEdit) or, more simply, a font converter
that directly reads Macintosh resource files for its fonts. (I've included
an AppleSloth Font Munger and a Res Lister)


File #3262:  DWS.FTN.BXY (GS)
Uploaded on 4/21/93 by S.CHIANG4
About 5K (d/l time approx. 30 seconds @ 2400 baud)

     Description of the DreamGrafix graphics file format, type $C0, aux
$8005



                             >>> LANGUAGES <<<
                             """""""""""""""""

File #3299:  GRAFORTH.BXY (ALL)
Uploaded on 5/13/93 by A2.TIM
About 63K (d/l time approx. 6 minutes @ 2400 baud)

     This file contains GraFORTH, reference sheets for the GraFORTH
commands, the Editor commands, and the Lost Classics Press Release.
GraFORTH is a DOS 3.3 graphics-oriented FORTH compiler/interpreter. This
should run on any Apple II with at least 48K RAM. Sample code is included.
GraFORTH is a mid-level language with assembly level animation
capabilities. Sound and music capabilities are built in. Paul Lutus has
given permission for people to copy and distribute freely as long as no
charge is levied for the program. Check out the GraFORTH.ReadMe file
included for more information.


File #3290:  LST.V3.BXY (GS)
Uploaded on 5/9/93 by A.BELYEA
About 330K (d/l time approx. 35 minutes @ 2400 baud)

     This is the Apple IIGS version of Little Smalltalk, a text-based
subset of the Smalltalk object-oriented language. It implements objects,
methods, classes, inheritance and overriding. It comes with complete class
definitions for basic classes, magnitudes, collections, multi- processing,
files, and tty interface. The complete C source code for the underlying
primitive system is included. Little Smalltalk is public domain software.
Requires ORCA or GNO shell.


         ////////////////////////////////////// GEnie_QWIK_QUOTE ////
        / "How could I have overlooked the config?  We would be in /
       / deep doodoo without GEnie & Aladdin."                    /
      ///////////////////////////////////////////  K.OLSON10  ////


[EOA]
[LOG]//////////////////////////////
                         LOG OFF /
/////////////////////////////////
GEnieLamp Information
"""""""""""""""""""""

    o   COMMENTS: Contacting GEnieLamp

         o   GEnieLamp STAFF: Who Are We?

               o ASK DOCTOR BOB!


GEnieLamp Information   GEnieLamp A2Pro is published once a month on the
"""""""""""""""""""""   1st on page 515.   You can also find GEnieLamp on
the main menus in the ST (475), Macintosh (605), IBM (615), Apple II (645),
A2Pro (530), Unix (160), Mac Pro (480), Geoworks (1050), BBS (610), CE
Software (1005) and the Mini/Mainframe RoundTables.  GEnieLamp is also
distributed on CrossNet, Internet, America Online and many public and
commercial BBS systems worldwide.

     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 send it to our GE Mail
address, GENIELAMP.

     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.

     On Internet: GENIELAMP@GENIE.GEIS.COM


U.S. MAIL
"""""""""
                       GEnieLamp Online Magazine
                           Atten: John Peters
                       5102 Galley Rd. Suite 115/B
                       Colorado Springs, CO  80915



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

  GEnieLamp    o John Peters        [GENIELAMP]    Senior Editor
  """""""""
   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 Peter Bogert       [P.BOGERT1]    IBM Staff Writer
               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 James Flanagan     [JFLANAGAN]    Editor
  """""""""    o Richard Vega       [R.VEGA]       Mac Co-Editor
               o Dan "Remo" Barter  [D.BARTER]     Mac Staff Writer
               o Tom Trinko         [T.TRINKO]     Mac Staff Writer
               o Bret Fledderjohn   [FLEDDERJOHN]  Mac Staff Writer
               o Bill Garrett       [BILL.GARRETT] Mac Staff Writer
               o Chris Innanen      [C.INNANEN]    Mac Staff Writer
               o Paul Collins       [P.COLLINS]    Mac Staff Writer

   APPLE II    o Darrel Raines      [D.RAINES]     Editor
   """"""""    o Phil Shapiro       [P.SHAPIRO1]   A2 Co-Editor
               o Mel Fowler         [MELSOFT]      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         [M.WHITE25]    Cowlumnist/Asst. SysOp

ASK DOCTOR BOB   Do you have a question about operating systems, GEnie or
""""""""""""""   _anything_ concerning computers?  If so, you can get your
questions answered here in GEnieLamp by Doctor Bob.  Any question is fair
game...and if the good Doctor Bob doesn't know the answer, he'll find
someone who does.  Stop wandering around in the dark and send your question
to Doctor Bob via GE Mail to GENIELAMP or R.CONNORS2.

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\////////////////////////////////////
   Material  published in this  edition may  be reprinted  under  the
   following  terms  only.   All articles  must remain  unedited  and
   include  the issue  number and author  at the top of  each article
   reprinted.  Reprint permission granted, unless otherwise noted, to
   registered  computer user groups and not  for profit publications.
   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.
   Include the following at the end or the beginning of every reprint:
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\////////////////////////////////////
   (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]
