

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

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


                     ~ WELCOME TO GENIELAMP A2Pro! ~
                       """""""""""""""""""""""""""
               ~ What's in a Credit Card? ~ Easy Patching ~
           ~ PSGS File Format ~ Reading the Command Line in C ~
              ~ THE KANSASFEST REPORT: A Programmer's View ~
                  ~ HOT NEWS, HOT FILES, HOT MESSAGES ~

 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\////////////////////////////////////
  GEnieLamp A2Pro      ~ A T/TalkNET Publication ~       Vol.5, Issue 29
 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 Publisher.................................................John F. Peters
  Editor....................................................Tim Buchheim
 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\////////////////////////////////////
          ~ GEnieLamp IBM ~ GEnieLamp Atari ~ GEnieLamp PowerPC ~
         ~ GEnieLamp A2Pro ~ GEnieLamp Macintosh ~ GEnieLamp TX2 ~
          ~ GEnieLamp Windows ~ GEnieLamp A2 ~ LiveWire (ASCII) ~ 
             ~ Member Of The Digital Publishing Association ~
  GE Mail: GENIELAMP                       Internet: genielamp@genie.com
 ////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

             >>> WHAT'S HAPPENING IN THE A2Pro ROUNDTABLE? <<<
             """""""""""""""""""""""""""""""""""""""""""""""""
                            ~ August 1, 1995 ~

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

 A2PRO ROUNDTABLE STAFF .. [DIR]        DEVELOPERS CORNER ....... [DEV]
  Directory of A2Pro Staff.              News From Online Developers.

 LIBRARY BIT BONANZA ..... [LIB]        RTC WATCH ............... [RTC]
  HOT Files You Can Download.            Real Time Information.
  
 THE KANSASFEST REPORT ... [K95]        LOG OFF ................. [PUB]
  A Programmer's View                    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)
        _____________|   _____|__  _|___    |____ |_____________
       |Name of sender   CATegory  TOPic    Msg.   Page number|

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

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

ABOUT GEnie   GEnie's monthly fee is $8.95 which gives you up to four hours
"""""""""""   of non-prime time access to most GEnie services, such as
 software downloads, bulletin boards, GE Mail, an Internet gateway,
 multi-player games and chat lines.  GEnie's non-prime time connect rate is
 $3.00 an hour.  To sign up for GEnie, just follow these simple steps.

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

2.  Call (with modem) 1-800-638-8369.

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

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


[EOA]
[FRM]//////////////////////////////
                 FROM MY DESKTOP /
/////////////////////////////////
Notes From My Desktop
"""""""""""""""""""""
by Tim Buchheim
 [A2PRO.GELAMP]


    o TOP OF THE PAGE



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

THE FUTURE   Lately I have been thinking about the future of the Apple II,
""""""""""   and this year's KansasFest has only increased this.  Quite a
bit has happened in the Apple II world recently, some of it negative, but
much of it positive.  As I have recently discussed in this column, many
new products have come out this year, most of which I have bought.  All of
these programs (at least the ones I have) are of great quality.  They're
some of the best Apple IIgs programs (not much 8-bit development,
unfortunately) I've ever seen.  Yet people go on and on about how the Apple
II is dead.

Well, in some ways it is.  Few people use it, there is little software
being developed for it, and many people have forgotten that it ever
existed.

It can't be truly dead, however, as long as there are those of us who
continue to use it.  Especially while there are still some of us who know
how to program it.  We programmers especially know how wonderful this
machine is, and we love programming it.

If we didn't love this machine, we wouldn't still be here.  Really, no one
is in it for the money.  Only an idiot would expect to become rich selling
Apple II software.  But there is a select group of people who just can't
give up this machine for a newer platform.  Why?  Because it is still one
of the best personal computers ever made.  It is definitely the best
machine for those who want to write software quickly and easily for no
reason but to have fun.

Let those who want to make money go on to other machines.  Real Apple II
programmers will stick around, writing the software which users need to
enjoy their Apple IIs.  Many of us make a living writing software for other
platforms.  There's nothing wrong with that, it's reality.  It's nice,
though, when those who program other machines take a look at their Apples
every once in a while and write some code for them, or at least use them.

I'm sure those who left the Apple II long ago still have fun when they
find an old Apple IIe with a dusty monitor and aging Disk ][ drives.
I bet the first thing they do is turn the machine on and hit control-reset,
ending up at familiar Applesoft prompt.  They probably write some little
program, amazed that they still know how.  The more adventurous types will
type CALL -151 and start recalling monitor commands from long ago.

Booting DOS 3.3 or ProDOS 8 will probably bring a tear to the old
programmer's eye, as he remembers what fun the Apple II was.

The Apple II is fun, that's why we like it.  I'm sure people have more fond
memories of Integer Basic and AppleWriter than whatever they use on their
Windows or Mac OS machines.

Nothing will bring these people back, though.  It's too late for that.  The
future of the Apple II belongs to those who have stayed around through the
difficult parts.

Likewise, the future of software development on the Apple II is not big,
powerful programs emulating everything available on other platforms, but
rather short, simple programs which truly fit the Apple II.

We don't need Doom, Netscape, and Microsoft Word.  Use another machine for
that.  The Apple II was created for Lemonade Stand, ProTERM and FrEdWriter!

I guess what I'm saying is not to complain that Program X and Program Y
aren't available for the GS, but instead to look for software that really
fits the machine we've all grown to love.

Go ahead, write the GS/OS version of your favorite program on the Mac or
PC.  I'll probably buy it.  But stop all the whining about the lack of
software; I've got everything I need, why don't you?



                                              -- Timothy Carl Buchheim
                                                 Editor, GEnieLamp A2Pro



                              [*][*][*]


    Do you have something  to say about  GEnieLamp A2Pro?  Please
    post  any questions or  comments you  may have in Category 1,
    Topic 15 in A2Pro's BB (m530;1).  Or, feel free to talk to me
    (A2PRO.GELAMP) anytime you see  me in a Real Time Conference.

    Readers out there on the Internet:   feel free to email me at
    a2pro.gelamp@genie.com     When writing, please tell me where
    you got your copy of  GEnieLamp,  if it wasn't on GEnie.  I'm
    always interested to see how many places GEnieLamp ends up :)

    By the way,  the  current  issue  and  most  back issues  are
    available online in  many  places.  GEnie users  should check
    Library #2  in the  DigiPub libraries  (DIGIPUB, page 1395;3)
    Those of  you not on  GEnie  should  use  gopher  software to
    connect to gopher.genie.com for issues; all recent issues and
    most older ones are there.


                              [*][*][*]




[EOA]
[DIR]//////////////////////////////
          A2PRO ROUNDTABLE STAFF /
/////////////////////////////////


                          ______________________________________________

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




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


    o   BULLETIN BOARD HOT SPOTS

         o   WHAT'S NEW
           
              o   PROGRAMMER'S TIPS

                   o   MESSAGE SPOTLIGHT                             




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

 [*]  CAT1,  TOP2,  MSG{210}.........Let's Introduce Ourselves!
 [*]  CAT8,  TOP7,  MSG{117}.........Programming with ProDOS 16 and GS/OS
 [*]  CAT11, TOP4,  MSG{2}...........File Encryption
 [*]  CAT11, TOP8,  MSG{108}.........Programming Algorithms and Structures
 [*]  CAT12, TOP6,  MSG{100}.........Programming the IIGS Modem port
 [*]  CAT12, TOP26, MSG{127}.........General Hardware Questions
 [*]  CAT15, TOP4,  MSG{132}.........QuickDraw II
 [*]  CAT16, TOP2,  MSG{249}.........Programmer's Cafe




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

ANNOUNCEMENT   Members of A2Pro,
""""""""""""
Recently, there has been some confusion about the new EMail address
"A2PRO".  This message is intended to do something about that.

The EMail address "A2PRO" is for official correspondance regarding the
A2Pro FileType Project, A2Pro Technical Notes, and related topics.

The EMail address "A2PRO.HELP" should be used in all other situations
where you need to converse with the A2Pro staff in an official capacity.
This includes requesting access to the Apple IIgs Front End Beta Test, for
one thing, as well as help using the bulletin board, RTC, or library, or
just general questions, comments, or complaints.  Your message will be
routed to an appropriate staff member for action.

Please, do _not_ use the A2PRO account for general A2Pro comments or beta
test information.  You'll get a faster response by going directly to
A2PRO.HELP, and it will make our life a little easier.  :)


Thank you.

A2Pro Staff
                    (A2PRO.HELP, CAT1, TOP2, MSG:210/M530)





                         >>> PROGRAMMERS' TIPS <<<
                         """""""""""""""""""""""""


LUDICROUS SPEED SERIAL COMMUNICATIONS   The 8530 itself won't be able to
"""""""""""""""""""""""""""""""""""""   handle that rate. Neither will
older Macintoshes. LocalTalk does 230.4 Kbps itself, and pretty much hogs
the entire machine during transmit/receive.

Besides, 2Mbps (synchronous) is 250 KB/sec, which is one out of every four
1 Mhz bus cycles. You're talking DMA or a ZipGS at the very least.

Todd Whitesel
                    (A2PRO.TODDPW, CAT12, TOP6, MSG:100/M530)



>>>>>   Todd, do you have any idea if there is a serial card available for
"""""   the GS that could handle this rate?  Or what it would take to build
one? The problem is the communication rate between the GS and the hardware;
significant amounts of the information can be safely ignored, but I have to
be able to listen at the correct burst rate!

Mike Westerfield
                    (BYTEWORKS, CAT12, TOP6, MSG:101/M530)



<<<<<   Usually when people want Mbps bit rates they just use ethernet, and
"""""   we all know how available _that_ is.

Every so often on the net somebody tries to get going on a coprocessed
high-speed multi-port serial card (ostensibly for BBSs). So far none of
these has become real. Something like them would be what you'd need, unless
there's more to it. All existing serial cards that I know of are designed
for modem-level baud rates.

As for how hard it would be to build one, that depends on the exact format.
If your 'burst' of interesting data is easy to detect and is not too long,
then some stock UARTs might be able to recognize it and a FIFO could be
used to hold the incoming data until the IIgs reads it. Are we talking
RS-232 style bit patterns but at a high baud rate, or something more
synchronous looking (i.e. LocalTalk or other HDLC derived protocols) ?

Todd Whitesel
                 (A2PRO.TODDPW, CAT12, TOP6, MSG:102/M530)



>>>>>   A UART on an Apple II card would be REAL NICE. :-)
"""""
The Turbo ASB attachment for the SSC will do around 130K (haven't got the
doc handy), but it still has the ACIA internal limitations. ie. no
buffering.

Harold had a neat idea a while back when we were discussing possible Apple
II serial enhancements. Using a printer buffer for comms. I won't go into
detail here, but opens up quite a number of interesting ideas.

Regards,
 Richard
                    (RICHARD.B, CAT12, TOP6, MSG:103/M530)




WHAT'S IN A CREDIT CARD?   I've seen a few electronic companies offering
""""""""""""""""""""""""   "credit card readers."  Some of these devices
can read "track 2" of any credit card.

I need a little education here...

How many tracks are there on credit cards?  What type of information is
kept on each track?

Erick
                    (E.WAGNER10, CAT12, TOP36, MSG:127/M530)




>>>>>   There are three tracks on the magnetic strip on credit cards.
"""""
Track 1 is the credit card track.
Track 2 is the bank/ATM track.
Track 3 is a read/write scratchpad track.

(As I recall -- it's been a couple months since I learned this stuff in my
cryptography class :)

Eric Shepherd
[Team PPCPro]
                    (SHEPPY, CAT12, TOP26, MSG:128/M530)



<<<<<   Thanks for the info about the number of tracks and their purpose.
"""""
I wonder on which track, the person's name is stored?

Do you happen to have any more info (from your class notes) on the amount,
format, order of the info stored on each track?  I may need to take these
questions to one of the electronics newsgroups...

Erick
                  (E.WAGNER10, CAT12, TOP26, MSG:129/M530)



>>>>>   Yeah, my notes include the complete format for the credit card
"""""   track (Track 1), but I don't have the notes here -- they're in
storage in California.  Sorry. :(

I CAN tell you that the name, account number, PIN number, and more are all
encoded on track 1, though.

 Eric Shepherd
 [Team PPCPro]
                    (SHEPPY, CAT12, TOP26, MSG:130/M530)



>>>>>   If the PIN number is encoded on the card, how come you can change
"""""   it without getting a new card?

Wouldn't that also be kind of dangerous?  Someone who knew how to read the
cards could get the pin number just by using their own swiper and then go
to an ATM machine and get money.

Most ATM machines I've seen won't tell you that you screwed up the PIN
number until you've finished entering all the information about your
desired transaction and it puts up the "Processing your transaction"
screen.  I assume this means it's actually getting your PIN number off the
ATM network.

Dave
                    (JUST.DAVE, CAT12, TOP26, MSG:132/M530)



>>>>>   Dave,
"""""
>> If the PIN number is encoded on the card, how come you can change it
>> without getting a new card?

Because the mag track can be re-recorded very easily.

>> Someone who knew how to read the cards could get the pin number just by
>> using their own swiper and then go to an ATM machine and get money.

I would ass-u-me that the data is encrypted in some manner (now if you had
a reader, and felt like hacking whatever type of encryption is used, yes,
you could indeed read someones card and then go get money with it... this
has been done)

>> Most ATM machines I've seen won't tell you that you screwed up the PIN
>> number until you've finished entering all the information about your
>> desired transaction and it puts up the "Processing your transaction"
>> screen.

Makes the "perp" waste time at the machine. As most perps tend to be
nervous, they're more likely to be caught. (or give up)

-Harold
                    (HAROLD.H, CAT12, TOP26, MSG:133/M530)




>>>>>   Yeah, the PIN can be rerecorded at the ATM; I assume a
"""""   "change-of-PIN" message comes in when you use the card.

It is encrypted. Pretty good encryption, too; I don't remember the
specifics, but it's not an easy crack.  However, Harold's right -- the real
point is to make it difficult enough not to be worth a thief's time to try
to break.

Sheppy
[Team PPCPro]
                    (SHEPPY, CAT12, TOP26, MSG:134/M530)




PSGS GRAPHICS FILE FORMAT   I don't know if this is the right topic for
"""""""""""""""""""""""""   this, but here goes. :) I'm looking for some
info (ala a File Type Note) on the SHR graphics files that PSGS uses (type
$F8, aux $C323), so I can convert them into a standard QuickDraw image
format (either an icon, DrawPicture format, or raw screen data).  I've
poked around a bit, and have came up with nothing so far. Also, any sample
source that converts this format into QuickraIwul be useful.  _ANY_
information would be appreciated!


Thanks in advance.
  --Greg Betzel

                    (SNAKEBYTE, CAT15, TOP4, MSG:132/M530)




>>>>>   From my May 1988 issue of Scarlett BRCC publication:
"""""
A regular ps graphic is 572 bytes long. Each bit is a dot on the screen if
set. The graphics is 88 dots wide by 52 dots tall.

A IIgs PS graphic is similar. There are 3 bit maps for the graphic. The
first is yellow, the second is magenta and the third is cyan. The other
colors are from combinations. Yellow and magenta is orange. Yellow and cyan
is green. Magenta and cyan are purple. All three is black.

 - James - [IMAGE]
                   (J.GRAY38, CAT15, TOP4, MSG:135/M530)






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

EASY PATCHING   Anyone interested in writing Nifty List modules or GS/OS
"""""""""""""   patches in C, check out files 4783 and 4784 once they are
released. They attempt to hide all the low level details, so that you might
get away without knowing 65816 or dispatching details. I, for one, hope to
use this stuff for a disk image mounter.

 - Jay
                    (JAY.KRELL, CAT8, TOP7, MSG:117/M530)




NOT BINSCII, NOT UUENCODE, BUT SOMETHING NEW   Ok folks, I've been thinking
""""""""""""""""""""""""""""""""""""""""""""   some again (shaddap youse in
the peanut gallery ;)

One of the things that bugs me is software that runs much slower than need
be due to poor coding, poor selection or implimentation of algorithems,
etc. Things like UU, Binscii, gsCII+, etc. happen to fall into this
category for me... while the conversion of 8 bit data to/from a subset of
ASCII can be done very rapidly, typically it isn't. (and things in the Mac
world seem to suffer the same way... sigh)

Anyway, I was thinking about this, and decided that if one were to throw
out all existing standards, and start from scratch, it might be possible to
come up with a codec that would blow the doors off current methods. Faced
with such a situation I decided to give it a try :)

I've just uploaded an archive to Lib 11 (should be file number 4785 when
released) that contains the Merlin source (and obj, for those w/o Merlin :)
for such a codec. (the source is heavilly commented (as is typical for me)
and there is a teach ReadMe as well)

My method uses the same character set as Binscii, so I know the output
would be able to pass thru Unix boxes unscathed. The bitwise manipulation
is done in a manner very closely related to the pre/post nybblize routines
found in DOS 3.3's RWTS, and is blazing fast.

I'd like some commentary about the general methods used (not the actual
implimentation, as that's 6502 code, anything coming out of this would be
recoded in 65C816 (or at least 65C02))

-Harold
                    (HAROLD.H, CAT11, TOP4, MSG:2/M530)




ERROR CORRECTION CODING   Could someone here hopefully suggest where I can
"""""""""""""""""""""""   find some reasonably easy to understand
documentation on Reed-Soloman ECC implimentation? (Error Correction Coding)

I don't exactly have ready access to any hardcopy libraries, so URL's or
web addresses would be preferable (gota love that GEnie Inet access :)

 -Harold
                    (HAROLD.H, CAT11, TOP8, MSG:108/M530)



>>>>>   Harold: good luck... R-S requires the full-blown version of the
"""""   binary polynomial stuff used in CRC's. I've got source code
somewhere that I did for a class once, if you want to look at it. Fair
warning: it's in C :)

Todd Whitesel
                    (A2PRO.TODDPW, CAT11, TOP8, MSG:109/M530)




<<<<<   Todd,
"""""
>> R-S requires the full-blown version of the binary polynomial stuff used
>> in CRC's.

I have one word to say...

ICK!

>> Fair warning: it's in C :)

Thanks for the offer, but I don't speak "C" (well... I can =sometimes=
manage to wade thru C source, but not often... (if I ever get off these
blasted painkillers; so my mind (whazzat? ;) starts to work half way right
again (again??!! ;) then; learning C is one of my hopefull goals)

I think I'm just going to go for two 6 bit checksums in my code... one
would be a simple EOR type checksum, and the second would be that same
value EOR'd with $3F (quick and simple validity checking on a checksum :)

-Harold
                    (HAROLD.H, CAT11, TOP8, MSG:110/M530)




PROGRAMMERS' HUMOR   I found this over in Chat (page 400) the other day and
""""""""""""""""""   thought you all might get a kick out of it...


              THE SOFTWARE DEVELOPMENT PROCESS

    1) Order the T-shirts for the Development Team
    2) Announce product availability
    3) Write the code
    4) Write the manual
    5) Hire a Product Manager
    6) Spec the software
        (writing the specs after the code helps to ensure that
         the software meets the specifications)
    7) Ship
    8) Test (the customers are a big help here)
    9) Identify bugs as potential enhancements
   10) Announce the upgrade program


    (Borrowed from an overhead slide used by a
     major workstation manufacturer)
    [Why does the work Microsoft come to mind??]


Thanks Henry Cate  via Jack Kolb

                    (A2.TONY, CAT16, TOP2, MSG:249/M530)



                               [*][*][*]


    While on GEnie,  do  you spend most of your time  downloading files?
If so, you may be missing out some excellent information in the Bulletin
Board  area.   The messages  listed above  only scratch  the surface  of
what's available and waiting for you in the bulletin board area.

    If you are serious about your Apple II, the GEnieLamp staff strongly
urge  you to  give the  bulletin  board area a try.  There are literally
thousands of messages posted from people like you from all over the world.


                               [*][*][*]



[EOA]
[DEV]//////////////////////////////
              DEVELOPER'S CORNER /
/////////////////////////////////
News From The A2Pro Online Developers
"""""""""""""""""""""""""""""""""""""
By Tim Buchheim
 [A2PRO.GELAMP]



    o   ONLINE SUPPORT IN A2Pro

         o   GNO HELP

              o   READING COMMAND LINE PARAMETERS IN C

                   o  PASCAL HELP: USING UCSD UNITS

                        o   APPLE II REFERENCE BOOKS AT THE BYTE WORKS




                      >>> ONLINE SUPPORT IN A2Pro <<<
                      """""""""""""""""""""""""""""""

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

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

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




                           >>> GNO HELP <<<
                           """"""""""""""""

BUT IT IS INSTALLED!!   After ignoring it for some time, I tried to use the
"""""""""""""""""""""   GNO by going to my nda's and trying the nda (which
came with my version of GNO) to bring up GNO as a window in my Apple IIGS
system. Despite the fact that I DO quite definitely have GNO (Version 2,
kernel version 2.04) the only thing my that nda did was to inform me that I
needed to have GNO.

I've also downloaded the other facility here on Procyon's BBS, tnterm. This
basically did the same thing, but added to the message some  instructions
on how I could buy GNO.

If either of these are to be of any use at all, I must somehow be able to
run them. Can anyone tell me how I can change my system to be able to do
that?

   Thanks muchly,
    Thomas Donaldson

                 (T.DONALDSON2, CAT30, TOP3, MSG:172/M530)



>>>>>   Hi Thomas,If I understand what you are saying, it sounds like you
"""""   have the purpose of the NDAs backwards. The NDAs don't let you
bring up GNO, they let you access GNO when you have launched a desktop
program from GNO.

For instance, this is how I use TMTerm:


 1.) launch GNO

 2.) from the GNO command line, lauch a desktop program (I seem to be
     inside AppleWorks GS or GraphicWriter III when I use the NDA's).

 3.) while you are in the desktop application (which is running as a
     process under GNO) pull down the Apple menu and select TMTerm.

 4.) TMTerm allows access to the GNO shell inside of window of your
     desktop program.

The details may not be exactly right but the point is you must be running
your desktop program as a process under GNO by launching it from the GNO
shell.


Hope that helps!

Regards,
Eric Heim
(brought to you by a Supra 2400 because lightning ate my Supra 288 :(

                     (E.HEIM3, CAT30, TOP3, MSG:173/M530)



                >>> READING COMMAND LINE PARAMETERS IN C <<<
                """"""""""""""""""""""""""""""""""""""""""""

HEY, THIS IS TOO EASY!!   I want to (initially) create an ORCA shell EXE
"""""""""""""""""""""""   program that will take a filename from the
command line and perform an action on it and then dump the modified file to
disk with the second term in the command line as the destination filename,
like this...

 PROGNAME <filename1> <filename2>

From my initial reading of the ORCA/C 2.0 manual, it implies that I merely
use the passes values in my Main()  of argc and argv (? from memory here).
Is it really that simple? (BTW, when I learned C, you couldn't pass
parameters to Main, or at least it was not mentioned in the texts I used,
which were admittedly pathetic.)

I have a question relating to the installation of ORCA/C: I assume that the
.CONSOLE patch mentioned in the docs was taken care of in 6.0.1, so the
ORCA patch is no longer necessary? :)

 Joat
                   (A2.TIM, CAT36, TOP11, MSG:528/M530)



>>>>>   Yes, Tim, it really is that simple. main() with no arguments is how
"""""   a shell-less environment must invoke C programs.

In your case, argv[0] is "PROGNAME", argv[1] is "filename1", and argv[2] is
"filename2".

Todd Whitesel
                    (A2PRO.TODDPW, CAT36, TOP11, MSG:529/M530)



<<<<<   Gawd! and all this time I have been worrying about how to implement
"""""   some things from the shell that I never did because I thought they
were too hard.  Talk about a wasted life! :/

 Joat
                     (A2.TIM, CAT36, TOP11, MSG:530/M530)



>>>>>   hehehehe.  Surprisingly easy to read parameters off the command
"""""   line in ORCA, isn't it? :)

                   (A2PRO.GELAMP, CAT36, TOP11, MSG:531/M530)



<<<<<   Yeah, once I know the code, it is very easy. :/ TO think of the
"""""   years I've wasted. <sigh>

In any case, it seems I have forgotten more C than I care to admit. I will
have to find my old C textbook. The Microsoft Qucik Reference Guide I have
been trying to use today has been no help at all.

 Joat
                   (A2PRO.GELAMP, CAT36, TOP11, MSG:531/M530)



>>>>>   Hi Joat,
"""""
You're right; the .CONSOLE driver patch is not needed under System 6.0.1.

Mike Westerfield
                    (BYTEWORKS, CAT36, TOP11, MSG:533/M530)



>>>>>   Um, of course its easy to get to the command line. It's ANSI
"""""   sanctioned and an older mechanism than many of us here. You all do
have half decent C books, right? Hm..I do tend to presume too much, like,
if I know it, it is easy and everyone must know it...

Mike, btw, I think the command line parsing is broken in that you can't
quote the first word.

 > main() with no arguments is how a shell-
 >less environment must invoke C programs.

Todd,
  I have yet to look how ORCA/C handles stripping the arguments from main,
but I've been under the strong impression that an S16 would still get argc
and argv, but argc would be zero and argv either undefined or argv[0] == 0.
Shelllessness can also be found out by calling system(). It wouldn't be a
bad idea for argc==1 and argv[0] == like, gs2cstr(LGetPathname2) (and
argv[1] == 0 of course). Basically, I think the standard nearly forces main
to be special cased on callee strips parameters implementations so that int
main() and int main(argc, argv) work. They also allow int main(argc, argv,
env).  Besides special cased object code to deal with all forms, the
compiler _could_ output a different .root depending on what sort of main it
finds, but I tend to doubt Mike did it that way, since, for one, it means
your .root and main have to come out of the same source file. I really ought
to just pay attention to the main call and return code I've trace past so
many times...

 - Jay
                    (JAY.KRELL, CAT36, TOP11, MSG:534/M530)



>>>>>   Mike's code after main() returns doesn't require anything higher on
"""""   the stack (or it restores the stack pointer explicitly, I'm not
sure). In any case it does not rely on knowing how many arguments main()
will remove from the stack.

The library routines called from the .root file will set argc==0 if GS/OS
launched the program. I have a .root replacement I call "FinderMain" that
uses this to automatically query the MessageCenter in that case and create
a reasonable argv containing all the selected filenames. This is how LHG
runs from both a shell and from the finder just by changing its filetype.

Todd Whitesel
                  (A2PRO.TODDPW, CAT36, TOP11, MSG:535/M530)



>>>>>   Clever! This should be standard.
"""""
                (ANIMASIA, CAT36, TOP11, MSG:536/M530)






                >>> PASCAL HELP: USING UCSD UNITS <<<
                """""""""""""""""""""""""""""""""""""

HELP WANTED   *#^$%@$&* !  !    !   !!
"""""""""""
Why can't I be smart like everyone else?   :)

Please excuse if this is the wrong topic,  feel free to shift it.

I have a case of the dumb@$$ that I can't seem to shake.  This weekend I
tried to sit down to whip out a quick little (ORCA) Pascal (2.1) text
program, and thought to myself, "Hey, this is a good chance to try using
'units.'"   So I read the appropriate portion of the manual.  I looked for
help in the "Learn to Program Pascal" book. I looked in the "Learn to
program the Toolbox" book.  I couldn't find what I needed.

The book explains how the source file for a unit is constructed, and gives
an example.  So far, so good.  I write up a little source code file called
"mylibrary.pas".  It tells me that the compiler will look in the "current"
directory for the unit file. Ok, but what do I do with the unit source file?
Do I compile it separately?  I tried that, and it compiled ok. But what
should I put in my _main_ program?

  uses mylibrary;

  uses mylibrary.pas;

  uses mylibrary.exe;    -or-

  uses mylibrary.a;      ?????

When I try to _Run_ the mainprogram.pas file, I get an error that says
there was a label without a reference.  There is one such error for each
procedure in the unit.

As a side note;  This all came about because I thought it would be useful
to create a unit based on the appendix in the back of the manual that deals
with Console Control Codes and Mousetext. Perhaps this was already done and
I should look in my sample files somewhere?  I did look through them, but
most of the sample files seemed to deal mostly with desktop and graphics progra
ms.

While I'm on the subject, has anyone ever tried to come up with a "text"
toolbox, (in the form of a unit or units) to make it easier to develop
text-based menu-driven programs, (with an interface like ProTERM) ?

 ________
  |homas
                    (T.COMPTER, CAT36, TOP21, MSG:22/M530)



>>>>>   Thomas,
"""""
You need to compile the unit separately.  It should create a file called
"myLibrary.int" in the current directory.  This is the file your main
program will look for.  The line you want in the main program is this:

   uses myLibrary;

NOTE:  If the myLibrary.int file is not created, check the structure of
''''   your unit.  Every unit needs the words "unit", "interface",
"implementation" and "end."

...Sloanie
                    (A2PRO.HELP, CAT36, TOP21, MSG:23/M530)




            >>> APPLE II REFERENCE BOOKS AT THE BYTE WORKS <<<
            """"""""""""""""""""""""""""""""""""""""""""""""""


GET THEM WHILE THEY LAST   For the record, here's the Addison-Wesley books
""""""""""""""""""""""""   we have this second:

     AW-01  Apple IIGS Toolbox Ref. v1                     $28.95
     AW-05  Prog. Intro. to the IIGS                       $32.95
     AW-06  Technical Intro. to the IIGS                    $9.95
     AW-12  ImageWriter LQ Reference                       $22.95
     AW-20  Assembly Language for Applesoft Programmers    $18.95
     AW-22  Applesoft BASIC Toolbox (DOS 3.3)               $9.95

Addison-Wesley destroyed their copies of TBR 3 last summer because they
didn't want to "waste" the warehouse space.  Lots of luck getting a copy...

Mike Westerfield
                    (BYTEWORKS, CAT36, TOP34, MSG:24/M530)



>>>>>   Hi Byte Works,
"""""
I have a couple of questions regarding APDA (and other) stuff in the new
green flyer you sent to me:

  1.) APDA-15 GSBug and Debugging Tools Ref. - Is this the same info as in
      chapter 16 of the ORCA/M manual or is there more to it? (iow, what
      does this product offer that didn't come with ORCA/M?)

  2.) APDA-25 Desktop Toolkit (ProDos) - what is this?

  3.) GS-13 ORCA/SubLib Source - what is in this?

  4.) GS-15 Utility Pack #1 - what is in this? 

Thanx!

Eric Heim
                  (E.HEIM3, CAT36, TOP34, MSG:25/M530)




>>>>>   1.) APDA-15 GSBug and Debugging Tools Ref
"""""
This would be a complete manual for GSBug -- but an older version.  Useful
but not 100% essential.

        2.) APDA-25 Desktop Toolkit (ProDos) - what is this?

A beta product from Apple -- a set of utilities and the like for producing
GUI software on the double high resolution screen in 8-bit software.

        3.) GS-13 ORCA/SubLib Source - what is in this?

This is complete source code for the ORCA libraries.

Sheppy
[Team PPCPro]
                    (SHEPPY, CAT36, TOP34, MSG:26/M530)




<<<<<   Eric, the GSBug manual also documents a few programmer utilities
"""""   besides GSBug.  I can send a complete tech sheet if you like; send
me your mailing address and remind me what you want.

Utility Pack #1 is a set of shell utilities.  It includes these:

 CAL    - perpetual calendar
 CHECK  - check a disk for bad blocks
 CMP    - binary file compare
 LOWER  - convert a file to lowercase
 SORT   - sort the lines in a text file
 STRIPC - remove control characters from a text file
 STRIPW - remove trailing whitespace from lines in a text file
 TCMP   - text file compare (resynchronizes after differing input)
 TEE    - split a file to standard and error out
 UNIQ   - find unique lines in a file (works nice in combination with SORT
 UPPER  - convert a file to uppercase
 WC     - count characters, words and lines in a text file

All of the filters (like SORT, LOWER) accept input either from a file or
standard in, and use techniques to process the file faster than if it came
directly through standard in.

Personally, I think the whole package is worth the money just for TCMP.

Mike Westerfield
                    (BYTEWORKS, CAT36, TOP34, MSG:28/M530)



                               [*][*][*]




[LIB]//////////////////////////////
             LIBRARY BIT BONANZA /
/////////////////////////////////
HOT Files You Can Download
""""""""""""""""""""""""""
By Tim Buchheim
 [A2PRO.GELAMP]



    o   RAMFAST PROGRAMMING INFORMATION

         o   IWM PROGRAMMING INFORMATION
           
              o   PROGRAMMERS' UTILITIES

                   o   SOURCE CODE                             





                 >>> RAMFAST PROGRAMMING INFORMATION <<<
                 """""""""""""""""""""""""""""""""""""""


File #4817  RFMEDIA.SRC.BXY  (GS)
Uploaded on 8/2/95 by HAROLD.H
About 43K (d/l time approx. 5 minutes @ 2400 baud)

Source for the RamFast Media drivers, as found at HTTP://Hypermall.Com
(and following the hardware link to Sequential's area)
Unpacked and repacked so it will unpack into a folder
Some assy, some 'C'



File #4816  RF.API.DOCS.BXY  (ALL)
Uploaded on 8/2/95 by HAROLD.H
About 19K (d/l time approx. 2 minutes @ 2400 baud)

This is the RamFast API docs, as found on Internet at HTTP://Hypermall.Com
(and then following the hardware link into Sequential's area)
Unpacked and repacked to unpack into a folder
Some assy, some 'C'





                >>> IWM PROGRAMMING INFORMATION <<<
                """""""""""""""""""""""""""""""""""


File # 4798  IWM.INFO.BXY  (ALL)
Uploaded on 7/17/95 by HAROLD.H
About 17K (d/l time approx. 2 minutes @ 2400 baud)

This archive contains some info I found while 'net surfing. It covers
the IWM chip quite well. Originally compiled by Neil Parker and
uploaded here with no editing.
PAY ATTENTION TO THE WARNINGS! :)
(yes, this covers the elusive IWM Mode and Status registers :)
Also covered is how to access 3.5" drives by direct twiddling of
the IWM hardware. Note that the required nyblization methods are
NOT covered here! (see late //c tech ref, rom listings for examples)




                  >>> PROGRAMMERS' UTILITIES <<<
                  """"""""""""""""""""""""""""""


File # 4805  IPC.SPY.2.0.BXY  (GS)
Uploaded on 7/21/95 by WANKERL
About 67K (d/l time approx. 7 minutes @ 2400 baud)

This is IPC Spy v2.0.  It is a great leap forward from v1.3.2, with
an improved user interface, the ability to view captured requests
from within IPC Spy, and plug-in modules which let IPC Spy explain
new requests by just dropping in a module file!  And there's much,
much more.  Freeware.  Distribute to everybody you know, but don't
sell it.



File # 4800  GZIP1.2.4.BXY  (GS)
Uploaded on 7/20/95 by A2.TONY
About 114K (d/l time approx. 12 minutes @ 2400 baud)

This is a port of the UNIX "gzip" for the IIgs. It works great under GNO and
I see no reason why it wouldn't work with other shells. "gzip" will compress
and uncompress .gz type archives. It will NOT reliably unpack .z archives, so
be careful if you decide to try it (use "uncompress" instead.) Documentation,
history, algorithms and man pages are included.



File # 4787  MACMERLIN.BXY  (ALL)
Uploaded on 7/4/95 by J.L.WALTERS
About 54K (d/l time approx. 6 minutes @ 2400 baud)

Huge Merlin source files cannot be loaded into memory and assembled. Instead,
the source file must be broken up into a series of files which are linked
together by a control file which the Merlin manual refers to as a "Master
source file." This leads to a major problem when it comes to commenting &/or
changing the source for items referenced in more than one file segment since
each file segment must be loaded into the Merlin editor and modified one at a
time. An error prone process at best. These macros solve the problem by
automatically loading all of the segments (including the Master source file),
into a single AppleWorks WP file where global editing changes can be made.
Once complete (perhaps days later) you can then save the segments




                      >>> SOURCE CODE <<<
                      """""""""""""""""""


File # 4813  DISPCLIP.S.BXY  (GS)
Uploaded on 7/27/95 by HAROLD.H
About 4K (d/l time approx. 1 minute @ 2400 baud)

Some apps (notably PaintWorks Gold) fail to make the scrap manager avail
yet they try to support NDA's. Ick!. This source is for a tiny NDA that
simply displays the clipboard under System 6.0.1, but with a difference...
If the scrap manager isn't available it's loaded, thereby preventing crashes.
System 6.0.1 =specific= (NO other versions supported!)
Keywords: NDA,Source,Merlin,Scrap,PWG,Clipboard



File # 4792  MSCSRC.BXY  (ALL)
Uploaded on 7/11/95 by HR.MCKAY
About 28K (d/l time approx. 3 minutes @ 2400 baud)

This is the source code for MSDOS.COPY, an 8 bit assembler program
that will read files on MSDOS 1.44M and 720K diskettes and copy
them to an Apple disk.  The program is written in 6502 assembler
and assembled with Merlin 16+.  A superdrive and superdrive
controller, or a floptical drive, or a Bluedisk are required to
read MSDOS 1.44M and 720K diskettes.  The executable version of
this program is in the Apple user libraries, keyword superdrive.



File # 4791  PROSRC.ZIP  (MS-DOS)
Uploaded on 7/10/95 by HR.MCKAY
About 9K (d/l time approx. 1 minute @ 2400 baud)

This is the C source code for PROCOPY 1.4.  THIS IS AN MSDOS PROGRAM.
This program will read 1.44M ProDOS diskettes and copy the data to
an MSDOS disk.  ProDOS 1.44M diskettes require a Superdrive and
Superdrive controller card, or a floptical disk, or a Bluedisk
to be created.  This file is compressed with PKZIP 2.04G.  The
executable version of this program is in the Apple II User libraries
with a keyword of superdrive.



File # 4790  DIS.LAUNCH.BXY  (GS)
Uploaded on 7/9/95 by J.GRAY38
About 4K (d/l time approx. 1 minute @ 2400 baud)

Run ORCA text disassembler with ORCA 2.0 Shell for ORCA/Disassembler 
v 1.2. This is an ORCA/M version of the qasm source version in file
DIS.FIX.BXY (2545).



File # 4785  HEX2TXT.01.BXY  (ALL)
Uploaded on 7/3/95 by HAROLD.H
About 7K (d/l time approx. 1 minute @ 2400 baud)

This is some sample Merlin source to spark some discussion on efficient
ways to encode 8 bit binary data using a subset of the ASCII character set
(as is needed to send files thru INet newsgroups, etc)
Please see discussion in Cat 11, Topic 4 of A2Pro (once it gets started :)



File # 4784  CGSOSPATCH.BXY  (GS)
Uploaded on 7/2/95 by JAY.KRELL
About 56K (d/l time approx. 6 minutes @ 2400 baud)

A library/"framework" for writing GS/OS patches in ORCA/C. Includes an
example, in a Nifty List module.



File # 4783  NLISTCMODS.BXY  (GS)
Uploaded on 7/2/95 by JAY.KRELL
About 29K (d/l time approx. 3 minutes @ 2400 baud)

An incomplete library and "framework" for writing Nifty List modules with
ORCA/C. Includes an example.




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


     o   A2Pro WEEKLY RTC SCHEDULE

          o   LEAVE MY RESOURCES ALONE!



                     >>> A2Pro WEEKLY RTC SCHEDULE <<<
                     """""""""""""""""""""""""""""""""
      _______    __________   _________
     /_______|  /_________/  /________/     SEVEN days a week!!
    /__/__/__/     /__/     /__/
   /________/ EAL /__/ IME /__/ ONFERENCES in A2Pro!!
  /__/  /__|     /__/     /__/_____
 /__/  /__/     /__/     |________/      WEEKLY SCHEDULE
 
  Stop in and say "Hi!" at one of these conferences.  We've been giving
away quite a few GEnie usage credits (free time) at these conferences,
and you may just win the next one! :)
 
 Day      Time        Event                                Host
 --- ---------------  -----------------------------------  -----------
 Sun  8:30pm-11:00pm  Weekly Programmers' RTC              Sloanie
 Mon  9:30pm-11:00pm  GS/OS and Toolbox Calls              Dave Miller
 Tue  9:30pm-11:00pm  8-bit Programming                    Russ Nielson
 Wed  9:30pm-11:00pm  HangTime's HyperBar & Grill          HangTime
 Thu  9:30pm-??:??    Informal - Q&A, chat, whatever       A2Pro Staff
 Fri  9:30pm-11:00pm  Getting Started with Programming     Tim Buchheim
 Sat  8:30pm-10:00pm  Assembly Language Programming        Brian Wells
 
           NOTE: All times are in Eastern Daylight Time.




                   >>> LEAVE MY RESOURCES ALONE! <<<
                   """""""""""""""""""""""""""""""""

<Greg B.>    When I close a window, all of it's resources get kicked out of
             memory (but I WANT them to stay loaded!).  Is there anyway to
             make them hang around, besides manually loading them???

<Sloanie>    Uh...  lock them?

<Tim!>       will that stop them from being unloaded?  or just from being
             moved..

<Greg B.>    hmm...hold on..
             I had the preload flag set...can't remeber if the resources
             were locked also

<Sloanie>    _AlertWindow has a flag bit saying "leave resources around,"
             but CloseWindow doesn't.

<Tim!>       right

<Sloanie>    You could detach the resources.  :)

<Greg B.>    hmm :)

<Tim!>       the Window Manager probably wouldn't appreciate that ;)

<Sloanie>    No, but, who cares?  :)

<Tim!>       hmm.. maybe just call HideWindow on the window instead of
             CloseWindow?  Then when the user "opens" it again, call
             ShowWindow

             <shrug>

<Greg B.>    Tim- hmmmmmmmm.......

<Sloanie>    You know, that's a pretty good solution there Tim.  :)

<Greg B.>    that IS a good idea :)

<Tim!>       you could create the window at the start of the app (have it
             created with the invisible bit set) and close it when the app
             quits

<Sloanie>    Tim's idea now clears the way for Greg to suck up large chunks
             of memory in his resources.  :)

<Tim!>       right :)   but that's what he wants to do ;)

<Sloanie>    Oh, well, if he -wants- to do it, then it's OK.  :)

<Greg B.>    it's for 2 small windows...I don't think the system will miss
             a few kilobytes of RAM :)




                               [*][*][*]


    Join  us  any  night  of  the week  for  quick  and  friendly
    programming help!  The staff  of A2Pro is always available to
    answer your questions, or  to sit  and chat about whatever is
    on your mind!

    This month's RTC section  came from A2Pro's Sunday night RTC,
    hosted  by  Sloanie [A2PRO.HELP].  His RTC  is generally  the
    most  popular RTC in  A2Pro, with many  people showing  up to
    ask  questions, provide  answers,  or just  hang out and  see
    what's going on in the Apple II world.   All or nearly all of
    the A2Pro  staff  shows  up  each  week,  along with  several
    regular visitors, including some famous Apple II programmers!
    Don't be intimidated by the large crowds, though; Sloanie and
    the  rest of the A2Pro staff are  always ready to answer your
    questions.  Feel free  to  jump in,  even if  there's another
    conversation already happening; we can multitask!!  :)


                               [*][*][*]




[EOA]
[K95]///////////////////////////////
           THE KANSASFEST REPORT //
//////////////////////////////////
A Programmer's view
"""""""""""""""""""
By Tim Buchheim
 [A2PRO.GELAMP]



BEFORE KFEST   I had to go through a lot to go to Kfest.  At first I didn't
""""""""""""   think I would be able to go this year, because I had other
plans for the summer.  At the last minute, however, those plans changed, so
I was able to attend KansasFest '95.

I sent in my registration form as soon as I knew I'd be able to go, and a
few days later I got a tentative schedule for the conference in snail mail.
I was happy to see that I was able to get a dorm room; renting a hotel room
and traveling to/from Avila College would be troublesome for someone who is
only 17. :)

At this point I used Eaasy Sabre on GEnie to find flight numbers, and told
my uncle what flights I wanted.  He booked the flights for me, because he
had a few thousand frequent flyer miles saved up. :)

I didn't know, however, what flights I actually had until the weekend
before Kfest, when I got the tickets from him.  At this point I learned
that I had a very strange return trip.  Flying to Kansas City, I would
stop in Dallas/Fort Worth for an hour.  But on the return trip, I was
scheduled to stop off at Chicago on my way back to LAX!!


DAY ONE - THURSDAY, JULY 27TH   At 12:30 AM, I took off from Los Angeles
"""""""""""""""""""""""""""""   International Airport.  I had a rather
boring flight to Dallas, where I had to wait about an hour for my flight
to Kansas City.  The American Airlines terminal in Dallas is interesting;
there's a rail service called TRAAM connecting the 44 gates.  Reading all
the signs and warning stickers on the doors and stuff is fun, especially
the one talking about how if you open the emergency door the train is sent
to a special security area.  I wasn't quite bored enough to open it ;)

I watched CNN Airport News for a while, and had a large Pepsi.  Then I
boarded my flight to Kansas City, which was just as uneventful as my other
flight.  Upon arrival in Kansas City, I was greeted by the QuickSilver
driver and I picked up my luggage.  He drove me to Avila, while we had an
interesting conversation about old computers.

At Avila, I went to the Marian Center, as indicated on the schedule of
events I had received in snail mail.  This was the first problem at this
year's Kfest.  There was no one at Marian Center who knew anything about
KansasFest :)

Eventually I found someone who directed me to Ridgway Hall (mispelled on
all of the KansasFest schedules as "Ridgeway", btw :) to which registration
had been moved.  I signed in, picked up my room key, door code, and updated
schedule.  I also paid for my two KansasFest 95 T-shirts.  The shirts are
of good quality, although I can't say much about the design.  A small
picture of a GS on the front, but not much else.

Next I put my stuff in my room (which I shared with Nate Trost, former
editor of GEnieLamp A2Pro :) and met up with some friends in the hall.

We talked for a few hours then went to lunch (Second problem with the
schedule showed up here: the schedule said 12:00, but then they told us
that it was at 11:00.  THEN they rescheduled it to 11:30.  Fun :)

Lunch was typical Avila food.  Some of it was edible, some wasn't.  The
desserts (as always) were good, though :)

After lunch was Apple Computer's "Demonstration of New Products."  I can't
say much about it (I signed a non-disclosure agreement) but I will tell
you that you should search backissues of MacWeek for information about new
Macintosh models if you want to know what we spent several hours hearing
about. :)

At this session we also received new schedules (of course:) which
(surprisingly) lasted until the end of KansasFest.

I skipped the rest of the sessions that day, because Richard Bennet,
Sloanie (J. Nathaniel Sloan), and I had to work on the presentation we
were giving the following morning.  Our presentation involved the new
front end for GEnie, but we needed an Apple IIgs on which to run the
program.  We had all flown in, and had thus not brought ours with us.
Russ Nielson, however, was happy to loan us his computer.

We worked for several hours finding and squashing some last-minute bugs in
the program, taking a break for supper (typical Avila food) and the pizza
party.  We only stayed at the pizza party long enough to grab some pizza
and Pepsi, before heading back upstairs to work on the program (and our
presentation) some more.  A little while later we were told that Russell
Nielson had won the "Bite the Bag" contest.  If you don't know what Bite
the Bag is, then go to KansasFest next year.  If you want to talk to the
winner, then come to the A2Pro RTC any Tuesday night, between 9:30 and
11:00 PM Eastern Time :)

I took a shower, and went to sleep around 12:30 AM.  The others went to bed
around the same time, and I remember Sloanie being the last to leave.


DAY TWO - FRIDAY, JULY 28TH   I woke up at 6:10 AM to the sound of Nate
"""""""""""""""""""""""""""   coming in to go to bed.  He had stayed up all
night talking with "Burger" Bill Heineman about the video game industry and
other things I can only guess about.  I went back to sleep and woke up at
7:00 when my alarm went off.

I got up and went to breakfast, meeting up with Sloanie and Richard on the
way.  We went through the tunnels, of course, (Avila has a really cool set
of tunnels linking some of the main buildings) but when we arrived at the
Marian Center, we were stopped by a member of the Avila staff who told us
not to use the tunnels anymore.

We came up with some ideas for our presentation while we ate (or not; Avila
doesn't have real great breakfast food.  Plenty of Pepsi, though:) and then
hurried back to the dorms, where we had to move Russ's computer to the area
set aside for telecommunications presentations.

At 8:45 AM  (Who would schedule something that early?  If they do that to
us again next year, then I'm gonna.. well, you don't want to know..)

Let me try that again. :)

At some insane hour of the morning when normal people [programmers] would
never be up, we gave a presentation.  Sloanie started it off by announcing
the name of the program we were presenting. :)

The Apple IIgs front end for GEnie is now officially known as Jasmine.

That name actually came in fourth in the "Name the GS Front End" contest,
but the top 3 names were not usable because they all contained the word
"Apple" or "GEnie", both of which are trademarks and thus could not be
used by us.  

We demonstrated the program, and even though it crashed into GSBug once,
and we got busy signals from the Kansas City GEnie node for a while, the
presentation was well received.  Joe Kohn was especially excited..  I think
the part he liked best was when we showed how Jasmine supports GEnie's
Internet services.  I don't think Joe had realized before then that GEnie's
version of Lynx, unlike many others, supports ANSI color codes, rather than
plain old VT100 :)

After the Jasmine presentation, I went to Mike Westerfield's "Inside
Morphing" session, in which he told us all how to write our own versions of
Quick Click Morph. :)   Mike did a great job of explaining the mathematical
theories behind morphing, along with some ORCA/Pascal sample code (some of
it taken straight from QC Morph) to demonstrate the techniques.  He passed
out a free disk labeled "KansasFest '95 Quick Click Morph Demo Disk" with
the source code and a PaintWorks animation file generated by the actual
program.  This was one of my favorite Kfest sessions.  Great job, Mike!!

Next was lunch, same story as always regarding the quality of food.  I
think we had burritos or something that day.  They weren't too bad. (Until
later that day, if you catch my drift.:)  Sloanie, Richard Bennet, Mike
Westerfield, and I (and any others I've forgotten) stayed around for quite
a while after lunch was officially over, discussing lots of programming
stuff.  We spoke for several hours, about more things than I can list here.

Afterwards, I saw the end of Tony Diaz's session about how to build a tower
case for an Apple IIgs.  I missed most of it, but I saw the best part: he
brought along his "Apple oddities" including a DuoDisk 3.5" drive (two
UniDisk 3.5" drives stacked one on top of each other in a single case) and
a strange AppleDisk 5.25" drive which has two daisychain ports and no cable
coming off of it.  I've heard of one other DuoDisk 3.5" drive, but I've
never heard of a 5.25" drive like the one Tony had.

At this point I should mention another Apple oddity I saw:  Lunatic's
Newton 110 (I think it was a 110) with transparent case.  "Makes it easier
to reprogram the EPROMs," was one person's comment upon seeing it.  (Sorry,
I forget now who said that.)

Next was Greg Templeman's session concerning GSLib.  GSLib is a library of
routines started by Bryan Pietrzak back when he worked at Softdisk.  A very
early version is available online, in A2Pro's libraries.  After Bryan left
Softdisk, Greg Templeman took over GSLib, including the enormous taks of
documenting the hundreds of routines.  He's still not sure what all of the
original routines did, and warned us that some of the documentation
uploaded with the old version is inaccurate.  Greg has added many new
routines to the library, and has received permission from Softdisk to
continue development even though he no longer works there.

Some of the more interesting routines are those involving 3200 color
pictures.  One can use his 3200 color graphics routines within any program,
even one written in a high level language, like Pascal.  The 3200 color
display routine even allows for passing the address of a subroutine to call
during the VBL period, when GSLib isn't updating the 3200 graphics display.

Other useful routines include an all-in-one print subroutine.  Just pass
your window update procedure to the print routine, and it will handle
everything, including errors and user-interaction.

That night was the banquet, which was MUCH better than last year's.  We had
an all-you-can-eat pasta bar and good brownies for dessert.  This year's
roast was of Steve Disbrow, at EGO Systems (publisher of GS+ Magazine).
It was hilarious, especially when Roger Wagner and Tom Weishaar spoke.

Following the roast was the tie contest, easily won by Sheppy (Eric D.
Shepherd, or "The ShiftyList Guy" to some of you :)

That night, Russ Nielson, Sloanie, and I worked on a Top Secret program :)
No, we won't say what it is.  Don't worry, it's nothing much (only 3 pages
of assembly) and probably nothing you want installed on your GS anyway.

Several people went to see Waterworld, but working on secret software was
more fun :)  (Apparently Waterworld isn't all that great ;)

Russ, Sloanie, and I snuck out (we didn't want Cindy Adams aka A2.Mom after
us!:) and Russ drove us down to the local gas station, where we bought
Pepsi, chips, pretzels, M&Ms, etc.  That was cool.  Oh, except that the
only pretzels they had were Rold Gold Fat-free Pretzels.  Sloanie bought
some anyway, though.


DAY THREE - SATURDAY, JULY 29TH   I didn't get much sleep that night, we
"""""""""""""""""""""""""""""""   were having fun getting our program to
work.  (GS Technical Note #34 is cool:)  By about 5:00 AM, I figured I
should get an hour or two of sleep.  Well, Nate and Bill had been talking,
and both had fallen asleep, Nate on his bed, and Bill Heineman on mine.

So I slept on the floor for about 2 hours.  <shrug>  Was better than Avila
mattresses.

Then I got up, packed, and helped Russ take apart his GS system so he could
pack too.  I think I skipped breakfast, choosing instead to talk with my
friends.  Later I headed over to the place where people were selling stuff.
I bought some stuff from the Byte Works (had to order QC Morph - it sold
out before I got there :) and Sheppy.

After that I ate lunch, and then hung out with my friends.  We played
frisbee with a CD-ROM for a while.  (Yes, I'm sure it scratched the CD. So?
It was just a Windows/Macintosh signup disk for Another OnLine service :)

This was the final problem with the schedule. (I bet you forgot that, huh?)
The tentative schedule we got in the mail said Kfest would end at 4:00.
Well, it actually ended at 1:00.  So many of us had to wait several hours
before our flights home.  At 4:15 Sloanie and I were picked up by
QuickSilver and taken to the airport.  I think I rambled about how much
California sucks..  I don't remember.  Anyay, Sloanie, sorry I didn't take
your advice and get more sleep.  I don't think I made much sense when we
were on the way to the airport. :)  (But you were right.. they really
SHOULD have a "you're not in Kansas anymore" sign when you leave Kansas. :)

I boarded my plane to Chicago, and had another uneventful flight.  Third
flight on the trip, third bag of Rold Gold Fat-free Pretzels.  (yuck!  give
me peanuts!  or at least pretzels with fat! :)

In Chicago I had to wait an hour before my flight to Los Angeles.  But they
kept it interesting: they switched gates shortly after I got there, so I
got to walk quite a bit.  How nice of them. :/  Then the flight was delayed
and I had to wait an extra twenty minutes.  Oh joy.

When we finally boarded, they gave us, you guessed it, Rold Gold Fat-Free
Pretzels.  ::sigh::

Finally got to LAX, only about five minutes late.  Apparently that flight
is always delayed, and they had scheduled in extra time. :)


And that's it.  Not as good as last year's, in most respects, but actually
better in a few. (Don't ask me to name anything specific, because I won't.)

What can I say?  It was KansasFest.  If you've never been to one, then go
to KansasFest '96!  If you've been before, then, well, I don't need to
convince you, you'll be there. :)



                               [*][*][*]


BTW:  EGO Systems made a KansasFest video.  So as soon as it's for sale,
buy it!!!! :)   You need to see Kfest to believe it :)  (even that's not
good enough, so, let me say it again, GO NEXT YEAR!


                               [*][*][*]




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

   o   COMMENTS: Contacting GEnieLamp

        o   GEnieLamp STAFF: Who Are We?



GEnieLamp Information   GEnieLamp is published on the 1st of every month
"""""""""""""""""""""   on GEnie page 515.  You can also find GEnieLamp on
the main menus in the following computing RoundTables.


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



    GEnieLamp is also distributed on CrossNet and many public and
commercial BBS systems worldwide.

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

    o Back issues of GEnieLamp are available in the DigiPub RoundTable
      Library #2 on page 1395 (M1395;3).  Internet users should use
      the GEnie gopher (gopher.genie.com) which has most back issues
      (but might be missing a few of them).

    o GEnieLamp pays for articles submitted and published with online
      GEnie credit time.  Upload submissions in ASCII format to library
      #31 in the DigiPub RoundTable on page 1395 (M1395;3) or Email it to
      GENIELAMP.  On Internet send it to: genielamp@genie.com

    o We welcome and respond to all E-Mail.  To leave comments,
      suggestions or just to say hi, you can contact us in the DigiPub
      RoundTable (M1395) or send GE Mail to John Peters at [GENIELAMP] on
      page 200.

    o If you would like to meet the GEnieLamp staff "live" we meet every
      Wednesday night in the Digi*Pub Real-Time Conference at 9:00 EDT
      (M1395;2).

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


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

 GEnieLamp  o John Peters         [GENIELAMP]    Publisher
 """""""""  o Mike White          [MWHITE]       Managing Editor

  APPLE II  o Doug Cuff           [EDITOR.A2]    A2 EDITOR
  """"""""  o Gina E. Saikin      [A2.GENA]      A2 Staff Writer
            o Charlie Hartley     [A2.CHARLIE]   A2 Staff Writer

     A2Pro  o Tim Buchheim        [A2PRO.GELAMP] A2Pro EDITOR
     """""
     ATARI  o Sheldon H. Winick   [GELAMP.ST]    ATARI EDITOR
     """""  o Bruce Smith         [B.SMITH123]   EDITOR/TX2
            o Mel Motogawa        [M.MOTOGAWA]   ST Staff Writer
            o Richard Brown       [R.BROWN30]    ST Staff Writer
            o Al Fasoldt          [A.FASOLDT]    ST Staff Writer
            o Timothy V. Steed    [T.STEED1]     ST Staff Writer

       IBM  o Sharon La Gue       [SHARON.LAMP]  IBM EDITOR
       """  o Tika Carr           [LAMP.MM]      MULTIMEDIA EDITOR
            o David Leithauser    [D.LEITHASUER] HyperRead Editor
            o Bob Connors         [DR.BOB]       IBM Staff Writer
            o Susan M. English    [S.ENGLISH1]   Multimedia Graphics Artist

 MACINTOSH  o Richard Vega        [GELAMP.MAC]   MACINTOSH EDITOR
 """""""""  o Tom Trinko          [T.TRINKO]     Mac Staff Writer
            o Bret Fledderjohn    [FLEDDERJOHN]  Mac Staff Writer
            o Ricky J. Vega       [GELAMP.MAC]   Mac Staff Writer

  POWER PC  o Ben Soulon          [BEN.GELAMP]   POWER PC EDITOR
  """"""""

   WINDOWS  o Bruce Maples        [GELAMP.WIN]   WINDOWS EDITOR
   """""""  o Marlene Gaberel     [M.GABEREL1]   Windows Staff Writer

      ETC.  o Jim Lubin           [J.LUBIN]      Add Aladdin Scripts
      """"  o Scott Garrigus      [S.GARRIGUS]   Search-ME!
            o Mike White          [MWHITE]       (oo) / DigiPub SysOp
            o John Peters         [GENIELAMP]    DigiPub SysOp
            o Al Fasoldt          [A.FASOLDT]    Contributing Columnist
            o Phil Shapiro        [P.SHAPIRO1]   Contributing Columnist
            o Sandy Wolf          [S.WOLF4]      Contributing Columnist
            o Lloyd E. Pulley     [LEPULLEY]     Contributing Columnist


\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\////////////////////////////////////
 Opinions expressed herein are those  of the individual authors, and do
 not  necessarily  represent  opinions of  GEnie Information  Services,
 GEnieLamp Online Magazines, or T/TalkNet  Online Publishing.  Bulletin
 board messages are reprinted verbatim, and are included in this publi-
 cation with permission  from GEnie Information Services and the source
 RoundTable.   GEnie Information Services,  GEnieLamp Online Magazines,
 and T/TalkNet Publishing  do not guarantee the accuracy or suitability
 of any information included herein.   We reserve the right to edit all
 letters and copy.

 Material  published in  this edition may be  reprinted under the  fol-
 lowing terms only. Reprint permission granted, unless otherwise noted,
 to  registered computer  user groups and  not for profit publications.
 All articles  must remain unedited  and include  the issue  number and
 author  at the top of each article reprinted.  Please include the fol-
 lowing at the end of all reprints:

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////////////////
 The  preceeding article  is reprinted  courtesy of  GEnieLamp  Online
 Magazine.  (c) Copyright 1995 T/TalkNET  Publishing and  GEnie Infor-
 mation Services.  Join GEnie  now and receive $50.00 worth  of online
 credit. To join GEnie, set your modem to 9600 baud (or less) and half
 duplex (local echo).  Have the modem dial 1-800-638-8369.  At the U#=
 prompt, type:  JOINGENIE  and hit the  RETURN  key.  When you get the
 prompt  asking for the signup code, type DSD524 and hit RETURN. GEnie
 will  then  prompt  you  for   your  signup  information.   For  more 
 information call (voice) 1-800-638-9636.
////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
[EOF]
