

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

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


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

                  ~ A few small(?) changes around here ~
            ~ NL from a shell ~ Jumping to dynamic segments ~
           ~ Rez SCG for Genesys ~ Where's _DisableControl?? ~
                  ~ HOT NEWS, HOT FILES, HOT MESSAGES ~

/////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
 GEnieLamp A2Pro   ~ A T/TalkNET OnLine Publication  ~  Vol.4, Issue 23
 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 Editor.....................................................Tim Buchheim
  Publisher.................................................John Peters
   Copy-Editor............................................Bruce Maples
 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\////////////////////////////////////
  ~ GEnieLamp IBM ~ GEnieLamp ST ~ GEnieLamp [PR] ~ GEnieLamp Windows ~
        ~ GEnieLamp A2Pro ~ GEnieLamp Macintosh ~ GEnieLamp TX2 ~
          ~ GEnieLamp A2 ~ LiveWire (ASCII) ~ GEnieLamp MacPRO ~
                 ~ Solid Windows ~ Config.sys ~ A2-Central ~
              ~ Member Of The Digital Publishing Association ~
  GE Mail: GENIELAMP  Internet: genielamp@genie.geis.com   FTP: sosi.com
 ////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

          >>> WHAT'S HAPPENING IN THE APPLE A2Pro ROUNDTABLE? <<<
          """""""""""""""""""""""""""""""""""""""""""""""""""""""
                            ~ February 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.
  
                       LOG OFF ................. [PUB]
                        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 or 2400 baud.

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

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

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


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

     o TOP OF THE PAGE


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


CHANGES   Many changes have been made in the A2Pro staff over the last
"""""""   few months, but the most recent is the most obvious.  Nate
Trost, who has been editing this publication for quite some time in
addition to being a sysop in A2Pro, is currently on a trip to Scotland,
where he does not have access to GEnie.

In his absence, I, Tim Buchheim, will be editing the GEnieLamp A2Pro.
You're probably asking yourself, "Who is this guy?"  Well, if you have
read the credits for GEnieLamp carefully, you will have noticed my name
listed as Nate's assistant editor for the past year or so.

   <blatant plug mode on>
Also, for nearly a year I have been hosting an RTC in A2Pro on Friday
nights, 9:30-11:00 PM Eastern.  Join us for solutions to any programming
problems you have!  Or, if you don't need any programming help, feel free
to drop by and chat about programming, current events, life, the universe,
the number 42, or whatever you feel like discussing.
   <blatant plug mode off>

It will take a while before I really get used to doing this, but I hope
you'll put up with me for the next few issues. :)

Another change worth noting is that this issue is actually on time!  If
everything goes right, that will be true _every_ month!  (I can dream,
can't I? :)

Due to requests from several people, three versions of GEnieLamp A2Pro
will be uploaded to the DigiPub libraries each month. For example, the
three files this month are:

  APLP9502.TXT - uncompressed, no linefeeds (for Apple II text editors)
  APLP9502.ASC - uncompressed, with linefeeds (for MS-DOS text editors)
  APLP9502.BXY - compressed with ShrinkIt, no linefeeds

The GEnieLamp item on the A2Pro menu contains the .BXY version.  All
three editions can be downloaded from the DigiPub library (m1395;3).

Until next time...

                                                Tim Buchheim
                                               GEnieLamp A2Pro

(BTW, for those of you who are wondering where the January issue went,
well, it never left the launch pad..  by the time Nate decided that I
should take over for him, it was too late to put out a January issue.)


[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,   TOP16, MSG{54}..........A2Pro Contests!
 [*]  CAT3,   TOP4,  MSG{99}..........The Merlin 16+ Assembler       
 [*]  CAT3,   TOP5,  MSG{108}.........Using assembly from other languages
 [*]  CAT4,   TOP16, MSG{20}..........C Language (on Apple IIs)
 [*]  CAT10,  TOP4,  MSG{113}.........Genesys, by SSSi
 [*]  CAT19,  TOP3,  MSG{8}...........Development Environment Standards
 [*]  CAT30,  TOP3,  MSG{149}.........GNO Utilities
 [*]  CAT30,  TOP10, MSG{1}...........The Indexer
 [*]  CAT36,  TOP9,  MSG{127}.........ORCA/M 16-bit Macro Assembler



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

APPLE IIGS FRONT END FOR GENIE   Dear Apple IIgs User,
""""""""""""""""""""""""""""""   
    Some time ago, the A2 and A2Pro RoundTables on GEnie announced their
intentions to release a graphical front end for the Apple IIgs.  It was
thought that this project would be ready by the end of 1994.
Unfortunately, we have found that this date was a bit premature.
    GEnie is continually upgrading its software and expanding its
services, and, unfortunately, some of these upgrades have caught the
programmers off-guard.  Our Apple IIgs Front End Team Leader explains
that "GEnie has promised full Internet access, and we need to be sure
that when GEnie is ready, so is our product.  Also, GEnie is planning a
major internal system upgrade.  Now, I can't give any details of this
upgrade except to say that while there will be few changes in what users
actually see, there will be large changes in the way the program
interacts with GEnie. We expect to have the front end in open beta-
testing by March 1st, and we hope to have a final product by the first of
June."

    The staff of the A2 and A2Pro RoundTables would like to apologize for
the inconvenience.

Please post any responses in topic 27, and leave this topic for official
announcements.  Thank you.

                    (A2PRO.HELP, CAT1, TOP26, MSG:1/M530)



RECOMMENDED SOFTWARE  A suggestion, and nomination, from a user...
""""""""""""""""""""
I think it would be neat if, on a yearly basis (starting this year of
course :), there was a contest for the most usefull programmers aid /
debugging tool that was developed by, and uploaded to, A2Pro by one of
the users.

If such a contest were to exist, I would submit the following as my
nomination for most usefull debugging / tweaking / snOOping aid, for
1994:

===

Number: 4244  Name: TTRAPPER.BXY  V1.0
Address: RICHARD.B                Date: 940806
Approximate # of bytes: 4992
Number of Accesses: 37  Library: 20
Description:
Traps tool calls YOU select, and breaks into debug with all registers
valid. Allows match criteria for up to 26 bytes of parameter data pushed
before the call, with validity masking at the nibble level. This CDA is
really cool!
Keywords: RJB,TOOL,TRAP,GSBUG,DEBUG,CDA

===

If you have used this CDA, you don't need any convincing, if you haven't
then you don't know what you're missing. This is right up there with
NiftyList and GSBug (having all three makes for a very powerful debugging
/tweaking enviroment)

An (hacking / tweaking) example of how usefull this can be... Lets say
that you want to find where in a program a given window is being closed.
You can run the program till that window is displayed, then pop into
NiftyList and issue a _FrontWindow call. Now that you have the window
pointer, you can stuff that into the stack paramaters in TTrapper, and
set up to trap the _CloseWindow call. Now when that window (and no
other!) is finally closed, you'll find yourself in GSBug, and be able to
start following program code at that point, with all registers
undisturbed. Once you've satisfied your curiosity (eg: done your dirty
deeds ;) you can turn off tool trapping, resume the program, and continue
on as if nothing had happened.

Richard - I owe ya a cold one! :)

-Harold

                      (H.HISLOP, CAT1, TOP16, MSG:54/M530)


<<<<<   Harold,
"""""
Thanks for the kind words about TTrapper. I consider it one of the most
underrated uploads in the library. But I kept my mouth shut because I
wrote it. :-)

Regards,
 Richard

                    (RICHARD.B, CAT1, TOP16, MSG:55/M530)


>>>>>   Hehehehe... I haven't downloaded it because it was a minor blow
"""""   to my psyche when you finished yours first. :D

Eric Shepherd (Sheppy)
[Team PPCPro]

                   (POWERPC.PRO, CAT1, TOP16, MSG:56/M530)


NL FROM A SHELL   Starting to disassemble the Integer Math toolset with
"""""""""""""""   Nifty List and painfully transcribing by remembering a
few lines at a time gave rise to a new program:

nl lets you use Nifty List from a shell, using the shell's stdio
redirection. The small feature set is a built-in "tee" feature and a built-
in filter to grok the output towards source code. The idea is to use Nifty
List as a disassembler and capture its output in a file. A side effect is
the ability to "script" Nifty List, but I haven't experimented with that.

I uploaded it to the library tonight.

(I really should use ORCA/Disassembler, the right tool for the job.)

 - Jay

                    (JAY.KRELL, CAT3, TOP5, MSG:108/M530)

<<<<<   Excellent!  I was just poking around in Nifty List a couple of
"""""   nights ago to see if there was a way to write its output to a
file, but didn't find anything.  This is exactly what I was looking for.
Looking forward to its release, Jay.

Mike

                    (M.HACKETT, CAT3, TOP5, MSG:112/M530)


>>>>>   Last night I just about completed a much better Nifty List ->
"""""   ORCA/M source filter than is contained in "nl". I'll hopefully
finish it tonight or tomorrow. Also, unfortunately, all input falls to
stdin, so you lose Nifty List's history. I don't think it is possible to
get its output without having to do its input too.

I almost wrote a disassembler from scratch. All it takes is printf and
some simple tables. Large, repititive tables that quickly bored me though.

I also tried redirecting the monitor via the zero page vectors but didn't
get it to work before checking out the Nifty List docs.


 Jay


ps- Dave Lyons is really to thank here. There is an nlExecCmdLine service
call in Nifty List, and you use nlSetSession to pass a routine to do i/o.
They've just been waiting to be used. I think the "Writing.Modules" doc
file is dated '91.

                  (JAY.KRELL, CAT3, TOP5, MSG:114-115/M530)

<<<<<   I remember talking to Dave Lyons a long time ago about a Nifty
"""""   List in a NDA kinda program.  He said he'd actually been working
on one (or thinking about it or something along those lines, I don't
remember; it was so long ago) and those hooks are there just for this
kind of thing.  :-)

                    (WANKERL, CAT3, TOP5, MSG:116/M530)

<<<<<   Dave Lyons actually showed me an NDA running Nifty List (in a
"""""   window). It was REAL slow, so I don't think he did anything else
with it. However it was running, and it worked fine.

                    (RICHARD.B, CAT3, TOP5, MSG:117/M530)


REZ SCG FOR GENESYS   I just uploaded file 4504 to the library, and when
"""""""""""""""""""   it's released you can download it.  What is it?  A
new Rez source code generator for Genesys that knows a lot about 6.0.1
and will generate most resource types found in the Types.Rez file.  (I
use genesys to create most of my resources, so I use the Rez SCG a lot!)
There are only a few types that the SCG doesn't do.  If you need one of
those to be handled, let me know and I'll try to put it in. (Writing the
SCG code isn't fun, but it's not too difficult.)

                    (WANKERL, CAT10, TOP4, MSG:113/M530)



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

JUMPING TO DYNAMIC SEGMENTS   I seem to be in Merlin hack mode at the
"""""""""""""""""""""""""""   moment, so I better document a change I
made about 18 months ago before I forget.

Merlin has a restriction where only JSL instructions can access jump
segments with dynamic segment destinations. Basicly, if you try and JML
into a dynamic segment, Merlin will give an error during the link process
and abort. This is a feature. Well, I don't like features too much. ;-)

To bypass the checking, search for $A7 $1A $C9 $22 $D0 $42, and change
the $D0 $42 to $38 $EA. In Merlin 16+ v4.08, the offset for the $D0 $42
is +$BA84. For v4.12, it is +$BC21. Any other versions, just look for the
string I mentioned above.

Regards,
 Richard

                    (RICHARD.B, CAT3, TOP4, MSG:99/M530)


<<<<<   Richard, before you get too gung ho about bypassing Merlin's
"""""   restrictions on dynamic jump tables, you might want to take a
look at the Loader. Merlin is doing the sensible thing, since the Loader
won't work correctly if you JML to a dynamic segment.

Mike Westerfield

                    (BYTEWORKS, CAT3, TOP4, MSG:100/M530)


>>>>>   Mike,
"""""   
My understanding of the system loader doesn't conflict with my usage of
the patch. While others may wish to crash on other instructions, I
believe that JSL and JML will work just fine.

I believe I know how the system loader works, and in particular how
dynamic and jump table segments work. However I could be wrong.

Those who believe the loader will not work "correctly" with JML, should
therefore not use my patch.

Regards,
 Richard

                    (RICHARD.B, CAT3, TOP4, MSG:101/M530)


<<<<<   Richard, Mike,
"""""   
Umm, I'm confused. Maybe I don't understand the Loader well.

Is the issue 1) the loader doesn't behave well when it can't load a
dynamic segment due to memory/disk/other problems, 2) the loader patches
the jsl into loader code to a jsl into the loaded dynamic segment and so
needs a return address on the stack that points to the right place, or
3) something else.

 - Jay

                    (JAY.KRELL, CAT3, TOP4, MSG:102/M530)


>>>>>   Jay,
"""""   
The jump table segment contains a number of intersegment records,
appended with a JSL instruction which points to the loader. When calling
a dynamic segment, the loader has resolved your JSL (or JML) to point to
the loaded jump table segment. When the dynamic segment is loaded, the
jump table segment simply contains a JML to it. When unload (not in
memory), it is a JSL to the loader. The loader uses the JSL return
address to index the record to which the JSL is appended. It does not
look any further up the stack, and the return address IS popped before
dispatching the dynamic segment. So for all intents and purposes, the
loader does not care how control gets to the jump table segment, and does
not care if you crash on the way back.

As to what Mike is referring to, I have no idea. Perhaps my understanding
of the loader is incorrect. I hope not, because my code may start
crashing! ;-)

Regards,
 Richard

                    (RICHARD.B, CAT3, TOP4, MSG:103/M530)

<<<<<   The original design for the loader did not support any mechanism
"""""   for jumping through a dynamic segment table.  The patching
mechanism that was designed and encorporated into the object module
standard depends on doing a JSL, and _only_ a JSL to dynamic segment jump
tables.

It's possible that:

  1.  Something was added later, in which case it should be documented in
the GS/OS reference manual, Prog. Ref for 6.0 or 6.0.1, or one of the
tech notes.  I didn't search for such an addition, so if you want to use
a feature like this, you should look to see if something was added.  (To
my knowledge, nothing was.)

  2.  The loader happens to not crash with a JML.  That doesn't make it
legitamate to use one.  Other people (me included) have written loaders
from time to time, and there are some projects I'm still considering that
would cause me to either write a loader or dust off my old one.  If I
found documented differences between the old OMF and what was now needed,
I'd make changes.  If someone is using an undocumented accident, like I
think substituting JML for JSL in the jump table is, I'd frankly ignore
their problems & gripes.  People who deliberately use "features" that
happen to work when the documented methods say not to use them deserve to
have their programs crash--and the sooner and more severe the crash is,
the better!  And, again without doing reserach to see if there have been
changes, my recollection is that the OMF only allows for JSL to a dynamic
segment.

  3.  I just remembered wrong, and JML was allowed all along.  Again, I
didn't check the docs.  If you're going to patch something the assemblers
& linkers don't support, though, you should check to docs. If they don't
say you are allowed to use JML, whatever happens is your own fault.

Mike Westerfield

                    (BYTEWORKS, CAT3, TOP4, MSG:104/M530)

>>>>>   Mike,
"""""   
Although I haven't checked any early loader specifications (they're
buried under garbage in my office), the current GS/OS reference does not
specifically refer to a JSL restriction, although it could be contrued as
being so.

As far as I can tell, there is no documented restriction.

FWIW, MPW LinkIIGS 1.1, 1.2 and 1.3 (latest) all allow JMLs. Likewise
every version of GraphicWriter (the latest version, 1.1, runs under
System Disk 3.2, which was the latest system version at the time), makes
extensive use of JMLs in this context.

I believe the problem is the documentation, which COULD be interpretted
as meaning a JSL is required. On closer reading, it does not. Whether
early ERS docs are any better, I'm not to sure, because I just plain
haven't checked.

Like I said, as far as I can tell, there is no documentation currently
available which states that a JSL is mandatory. My disassembly of the
loader and the operation of MPW, GW3 and other examples I have seen, seem
to confirm this.

I'll repeat my disclaimer. If anyone doesn't trust my patch, don't use
it.

Regards,
 Richard

                    (RICHARD.B, CAT3, TOP4, MSG:105/M530)


<<<<<   > There is no documentation available which states that a JSL is
"""""   > mandatory.

Understood.  And if it works, great.  I know the original design was not
intended to handle JML, though.  There were specific stems taken at that
time not to allow any access through any mechanism but JSL. These issues
apparently didn't make it into the documentation or loader, which is
interesting.  On the other hand, the absense of a flat statement that you
can't do something doesn't make it a good idea.  There is no particular
advantage to using a JML to the jump table, so I would recommend never
doing so.

Mike Westerfield

                    (BYTEWORKS, CAT3, TOP4, MSG:106/M530)



ANOTHER MERLIN PATCH   For those who have used the Merlin "COMMANDS"
""""""""""""""""""""   command and wondered why you have so few EXEs,
then the following may be of interest.

In certain circumstances, "COMMANDS" doesn't always show ALL the
available EXEs, and it has been annoying me for the last couple of years.
But today I bit the bullet and decided to take a look. Well, little did I
realise that the source code for COMMANDS is actually included on the
Samples Disk!

The problem is line 257 as follows:

   DIRBUF    DA  $10

It should read:

   DIRBUF    DA  2+2+$10

Whenever a filename of 15 characters was read, it wouldn't fit into the
buffer, and COMMANDS would exit, thinking it was the end of the
subdirectory.

For those without the Samples Disk, you can patch COMMANDS at +$1AB,
change from a $10 to a $14.

Regards,
 Richard

                    (RICHARD.B, CAT19, TOP3, MSG:8/M530)
 
 

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


8-BIT C?   Hi folks,
""""""""
I got a desperate call from a fellow trying to do some C coding on an 8 bit
Apple II computer.  I told him about Aztec C, and gave him their number. 
Are they still in business?

Anyway, if you have a working copy of Aztec C you are willing to part with,
give him a call.  I think you'll be able to sell it for at least what you
paid.

Contact:   Carl Foster
           913-334-0508

He said the phone has a 24 hour message service, so if he wasn't in you
could leave a message.  He's working under ProDOS, so that's the version
he'll want if you have it.

Mike Westerfield

                    (BYTEWORKS, CAT4, TOP16, MSG:20/M530)


<<<<<   Mike,
"""""   How about ORCA/Small C?

-Jay

                    (JAY.KRELL, CAT4, TOP16, MSG:21/M530)


>>>>>   Small C is out of print.  It also isn't much of a C (nor was it
"""""   intended to be).  Specifically, it doesn't have stdio.h, which is
one of the main things he wanted.

Mike Westerfield

                    (BYTEWORKS, CAT4, TOP16, MSG:22/M530)


<<<<<   ORCA/Small C? Was this for real? What was it?
"""""
 -=Joat=-

                      (A2.TIM, CAT4, TOP16, MSG:23/M530)

>>>>>   ORCA/Small C was, as far as I know, the only compiler installed
"""""   under the 8 bit ORCA/M.  It was a slightly extended version of
the original Small C, generating macro source files that were piped
through the assembler automatically, a lot like the way C Front worked
under MPW.

It was integer only, didn't have structs, had virtually non of the
standard I/O libraries, and was slow as elephant snot in December, but it
did what I intended it to do.  :)

It was also the first GS compiler.  APW C was way behind schedule, and
Apple insisted that we write the linker in C (over our objections). Since
APW C wasn't available, the first APW linker was written in  Small C.
Apple promised they would never release that version, fathfully
garanteeing that they would either recompile it with APW C or let us
translate the linker to assembly before the commercial release--so of
course, the first release of the linker was the Small C version.  :/

The APW Small C was never commercially released, but it, too, did the job
it was needed for.

Mike Westerfield

                    (BYTEWORKS, CAT4, TOP16, MSG:25/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   NEWS FROM PROCYON, INC.

                o   NEWS FROM THE BYTE WORKS
           
                      o   FGREP HELP

                            o   CALLING C ROUTINES FROM ASSEMBLY


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

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

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

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



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

THE INDEXER   Introducing a great new shareware programmer's tool...
"""""""""""   details to follow soon.

You may be wondering what this is. Well, keep wondering. :-) It's not
quite done yet, but when it is, it will be a $10 shareware program that
any sane Apple II programmer will fall in love with immediately.

Jawaid The Tease

                    (PROCYON, CAT30, TOP10, MSG:1/M530)


<<<<<   Indexer?  Hmmmmm... sounds like some kind of programmer reference
"""""   utility to me.  (Did I guess it? :-)

                    (WANKERL, CAT30, TOP10, MSG:4/M530)

>>>>>   Hmm, why would you think that?!
"""""
                    (PROCYON, CAT30, TOP10, MSG:5/M530)



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

NEW CATALOG   Hi folks,
"""""""""""   
Our new catalog is out, and it triples the number of products you can get
from the Byte Works!  In addition to our own programming and productivity
software, we also carry all of the Apple II APDA products and many hard
to find Apple II books.

If you haven't gotten our catalog yet, and would like to get a copy, all
we need from you is an address!  You can request a catalog by e-mail,
snail-mail, phone, carrier pigeon, or any other method.  Just send your
mailing address and remind us that you want our catalog.

But don't wait _too_ long.  Some of the books are out of print, and once
we sell the ones we have, we can't get more.  We've already sold out of
some titles.

If you would like a copy of our catalog, you can reach us at:

   Byte Works, Inc.
   8000 Wagon Mound Dr. NW
   Albuquerque, NM  87120

   Phone:  (505) 989-8183
   GEnie:  ByteWorks
   AOL:    MikeW50
   Internet: MikeW50@AOL.COM


                    (BYTEWORKS, CAT36, TOP31, MSG:49/M530)



                            >>> FGREP HELP <<<
                            """"""""""""""""""

SEARCHING AW3 DATABASES   I didn't get any replies to this in the
"""""""""""""""""""""""   Appleworks topic of the A2RT so I'll try here.

Sometimes before I launch Appleworks I use the FGREP program to search my
database files for the particular string I'm interested in. Then I can
launch Appleworks 3.0 and place on the desktop only those ADB files that
contain the search string. Because the FGREP search lets me know which
files contain the goods I don't have to spend time loading & searching
desktop files that could contain or might contain the information I seek.

When I use FGREP to search the A2 library index file that I downloaded
from GEnie I get the message

"Fatal error processing:/ram7/zapw/A2.LIB.NDX".

The file doesn't exhibit any problems in Appleworks itself though. IOW,
if I didn't use FGREP I wouldn't even perceive a problem. Is there
something special about GEnie's A2 library index file (the big one)?
Anyone out there using the FGREP program find that it will properly
search that library index?  Thanks.

Nez

                    (L.JIMINEZ, CAT30, TOP3, MSG:149/M530)

<<<<<   I've never heard of a problem in FGREP like that. ADB files
"""""   aren't ascii text, and FGREP was designed to work with ASCII
files. Try the following:

"strings file | fgrep string"

Strings takes a binary file, and spits out anything resembling ascii data.

Jawaid

                   (PROCYON.INC, CAT30, TOP3, MSG:250/M530)

>>>>>   >"strings file | fgrep string"
"""""
As you suggested I played with this command. It's not gonna serve my
needs.

> ADB files aren't ascii text, and FGREP was designed to work with ASCII
> files.

Agreed....for if I do 'fgrep A2PRO.LIB.NDX' the function is indeed
quirky. However, the actual command that I use, 'fgrep -il A2PRO.LIB.NDX'
works fine. In fact it works for my other ADB files also (KULA.NDX,
STAR.TREK.BXY, etc). I guess didn't fill you in on one of the specifics.
The A2.LIB.NDX file is the *only* ADB file I have that FGREP refuses to
search!

I've asked a couple of times over in the A2RT if anyone could get FGREP
to search the ADB library file. I've not got any replies. I guess I ask
one last time before giving up.

Nez
                    (L.JIMINEZ, CAT30, TOP3, MSG:151/M530)

<<<<<   Nez,
"""""   
I ran fgrep on the AppleWorks Data Base file of A2 files and found like
you that it chokes on the file.  To get around that problem, I printed
the data base to a text file.  I separated the individual categories with
'-' and the records ended in a return.  The search command would then
come up with the entire record for study and not just the name or file
info category.

When fgrep did print out some records from the AW Data Base, some of the
characters in the data base were interpreted as screen command characters
and 'ruined' the screen anyway.

 Your command just checks to see if the given string is anywhere in the
data base and so screen output wouldn't matter.

 This doesn't explain why it is choking, but shows a way around.

 - James - [IMAGE]

                    (J.GRAY38, CAT30, TOP3, MSG:152/M530)


                  >>> CALLING C ROUTINES FROM ASSEMBLY <<<
                  """"""""""""""""""""""""""""""""""""""""

HELP!   I have an object module that was created by ORCA C that I need to
"""""   use as a part of a program I'm working on.  Unfortunately,
I don't have ORCA/C. Since it's an object module and not a executable,
I assume I can write my glue code for using it in ORCA/M and let the
linker put them together, is that right?  If so, how do I do it?

Dave

                    (JUST.DAVE, CAT36, TOP9, MSG:127/M530)

<<<<<   Dave,
"""""
I have ORCA/C & there are a few paragraphs on calling C from assembly.

Push the parameters on the stack, starting with the last parameter in the
C function, and then do a jsl to the function. Push right to left.

2 bytes are returned in the A reg
4 bytes are returned in the A (least) & X (most) regs
structs, arrays and unions are 4 byte pointers

The order of pushing the parms on the stack would be different if the
object module was compiled with the pascal qualifier:

extern pascal long func(long V1, long V2)

Then they would be pushed left to right. This is the way calls to the
toolbox are declared.

The C function called has to remove all parms before returning.

C is case sensitive, but with the pascal qualifier, all caps are used so
Variable and VARIABLE would be the same, but not in regular C.

Use Case On at the top of your assembly code.

I haven't actualy called C from assembly, but the other way around.

- James - [IMAGE]

                    (J.GRAY38, CAT36, TOP9, MSG:129/M530)

>>>>>   Thanks guys.  :)   I knew the push the parameters and JSL bit,
"""""   but the parameter order, and how stuff was returned, is what I
was looking for. :)

Always get great service in here :)

Dave

                    (JUST.DAVE, CAT36, TOP9, MSG:130/M530)



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

     o   DEBUGGING TOOLS

           o   SOURCE CODE

                 o   SHELL UTILITIES

                       o   TEXT FILES

                             o   MISCELLANEOUS



                         >>> DEBUGGING TOOLS <<<
                         """""""""""""""""""""""

File # 4548  MITEMCHECK.BXY  (GS)
Uploaded on 1/25/95 by RICHARD.B
About 4K (d/l time approx. 20 seconds @ 2400 baud Ymodem)

Traps a number of Menu Manager calls if they were issued with invalid
itemIDs.
If invalid, MItemChecker displays debugging information such as the caller
name and location.


File # 4497  NEXUS.BXY  (GS)
Uploaded on 1/2/95 by T.MORALES
About 6K (d/l time approx. 35 seconds @ 2400 baud Ymodem)

This archive contains an external module for NiftyList.  When installed,
you can dump files in hex output, lock/unlock files, delete files, get
and set any of the GS/OS prefixes, obtain information on the devices
GS/OS recognizes, and much, much more.  These commands make NiftyList
even more powerful by allowing you to do common operations without
leaving the command-line.  Packed with GSHK v1.1.


File # 4468  NL.BXY  (GS)
Uploaded on 12/14/94 by JAY.KRELL
About 29K (d/l time approx. 3 minutes @ 2400 baud Ymodem)

nl lets you use Nifty List from a shell, using the shell's stdio
redirection. The small feature set is a built-in "tee" feature and a
built-in filter to grok the output towards source code. The idea is to
use Nifty List as a disassembler and capture its output in a file. A
side effect is the ability to "script" Nifty List, but I haven't
experimented with that. It isn't 100% robust but it isn't bad.
Unbuildable source is included. Let me know if you find it useful
and/or really want the libraries to build it.



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

File # 4528 RFMEDIASRC.BXY  (GS)
Uploaded on 1/17/95 by PROCYON
About 46K (d/l time approx. 4 minutes @ 2400 baud Ymodem)

SOURCE code to v1.2 of the RamFAST Media Control drivers package.
You'll need ORCA/C 2.0.X, ORCA/M 2.0.X to build these drivers.
If you just want the drivers to use (not to modify), then get
_A2_ file #23924


File # 4502  GSOSGLUE.BXY  (GS)
Uploaded on 1/4/95 by JAY.KRELL
About 33K (d/l time approx. 3 minutes @ 2400 baud Ymodem)

This is a library for making calls to GS/OS from a high level language
listing the parameters 'inline' to be pushed on the stack, like
uint error= GSRead(uint file, void *buf, ulong request, ulong *actual);
The included files are very geared toward ORCA/C and it would be
difficult indeed to use them from ORCA/Pascal.
Source, headers, object code, and a library are included.



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

File # 4494  RJB.MERLINS.BXY  (GS)
Uploaded on 12/31/94 by RICHARD.B
About 43K (d/l time approx. 4 minutes @ 2400 baud Ymodem)

All my Merlin 16+ EXE commands as of 31-Dec-94.


File # 4492  NOTE.BXY  (GS)
Uploaded on 12/30/94 by RICHARD.B
About 4K (d/l time approx. 24 seconds @ 2400 baud Ymodem)

Merlin EXE to display text. Best use is for link files to display
comments during the link process. ie. LST ON is not a linker command!



                        >>> TEXT FILES <<<
                        """"""""""""""""""

File # 4489  T2.IPC.DOX.TXT  (GS)
Uploaded on 12/23/94 by DIGISOFT
About 10K (d/l time approx. 1 minute @ 2400 baud Ymodem)

Info on most of the Twilight II IPC requests your programs can make to
be more friendly on systems with T2 installed.


File # 4487  KF94.A2.IO.BXY  (ALL)
Uploaded on 12/22/94 by E.WAGNER10
About 17K (d/l time approx. 2 minutes @ 2400 baud Ymodem)

This ShrinkIt archive contains two text files which cover
the materials presented during my 1994 ICONference
(KansasFest) session on "APPLE II INTERFACING: HOW TO
CONTROL REAL-WORLD DEVICES VIA THE GAME PORT"



                         >>> MISCELLANEOUS <<<
                         """""""""""""""""""""

File # 4507  RSOUNDER.BXY     V2.1  (GS)
Uploaded on 1/6/95 by HANGTIME
About 340K (d/l time approx. 34 minutes @ 2400 baud Ymodem)

Okay, a new version is here.  This version includes some bug fixes such
as when a sound fills the disk or the disk is write protected (oops).
Another fix is when Kwik convert is being used the names were not properly
erased.  I also added the feature to save as binary sounds and also
rSounder no longer requires the Sound Control Panel to play sounds.  This
is shareware, $5, and is a GS application.
[editor's note: this isn't actually new, the file was imported from the A2
library, and this description came with it:)]


File # 4504  APWREZ.SCG.BXY  V1.2B10  (GS)
Uploaded on 1/5/95 by WANKERL
About 20K (d/l time approx. 2 minutes @ 2400 baud Ymodem)

This Rez source code generator for Genesys will generate
Rez source code for every type in the Types.Rez file except
for three types I don't remember off-hand.  YES, it will
generate rBundle source and knows about rectangle and
thermometer controls and all that 6.0.1 stuff.  :-)


File # 4472  SPLASHER.BXY        V2.7  (GS)
Uploaded on 12/15/94 by A2.GUEST
About 91K (d/l time approx. 9 minutes @ 2400 baud Ymodem)

                          Splasher and Editor version 2.70
Splasher is a method to easily add a splash screen to the program you are 
writing.  You can have a graphic image and music playing when your programs
starts.  Included is a dynamic segment LNK file that displays the graphic,
Clays.MTool to play the music and a demo in Merlin 16+ to show how to link
dynamic seqment to your code.
Clay


                               [*][*][*]


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


     o   A2Pro WEEKLY RTC SCHEDULE

           o   WHERE'S _DisableControl?



                     >>> 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 Standard Time.



                      >>> WHERE'S _DisableControl? <<<
                      """"""""""""""""""""""""""""""""

<Rob>        Programming question.  Is it possible to "dim" controls
             assigned to a window by NewControl2? (i.e.  a person selects
             the "Computer" radio button, so the "Name" function can be
             disabled or re-enabled if he selects "Human" again)?

<Brian>      Rob - Yes. You can dim the control by disabling it.

<Rob>        Brian - enlighten me.  I cannot find a "_DisableControl" tool.

<Brian>      There isn't one, Rob. You need to use the _HiliteControl call :)

<Tim!>       Rob: Use HiliteControl(255,controlHandle)
             255 means inactivate control

<Brian>      0 to activate it again.

<Rob>        BINGO!  Found it!  Thanks!

<Tim!>       use HiliteControl(0,Controlhandle) to activate it


                               [*][*][*]


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

    o   COMMENTS: Contacting GEnieLamp

         o   GEnieLamp STAFF: Who Are We?


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


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

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

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

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

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

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

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

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

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

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


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

  GEnieLamp    o John Peters         [GENIELAMP]    Publisher/Editor
  """""""""
        IBM    o Bob Connors         [DR.BOB]       IBM EDITOR
        """    o Nancy Thomas        [N.NOWINSON]   MultiMedia Editor/Writer
               o Brad Biondo         [B.BIONDO]     IBM Staff Writer
               o Tika Carr           [T.CARR4]      IBM Staff Writer
               o Dave Nienow         [D.NIENOW]     IBM Staff Writer
               o Don Lokke           [D.LOKKE]      Cartoonist
               o Sandy Wolf          [S.WOLF4]      Contributing Columnist

    WINDOWS    o Tippy Martinez      [WIN.LAMP]     WINDOWS EDITOR
    """""""    o John Osarczuk       [J.OSARCZUK]   Asst Editor/Columnist
               o Rick Ruhl           [RICKER]       Windows Sysop/Columnist
               o Brad Biondo         [B.BIONDO]     Windows Staff Writer
               o Rick Pitonyak       [R.PITONYAK]   Windows Staff Writer
               o Ed Williams         [E.WILLIAMS24] Windows Staff Writer
               o Dave Nienow         [D.NIENOW]     Windows Staff Writer

  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

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

 ATARI ST/TX2  o Cliff Allen         [C.ALLEN17]    EDITOR/TX2
 """"""""""""
 ATARI [PR]    o Bruce Faulkner      [R.FAULKNER4]  EDITOR/GEnieLamp [PR]
 """"""""""
   APPLE II    o Doug Cuff           [EDITOR.A2]    EDITOR
   """"""""    o Phil Shapiro        [P.SHAPIRO1]   A2 Staff Writer
               o Darrel Raines       [D.RAINES]     A2 Staff Writer
               o Gina E. Saikin      [A2.GENA]      A2 Staff Writer
               o Charlie Hartley     [C.HARTLEY3]   A2 Staff Writer

      A2Pro    o Tim Buchheim        [A2PRO.GELAMP] EDITOR
      """""
       ETC.    o Jim Lubin           [J.LUBIN]      Add Aladdin Scripts
       """"    o Scott Garrigus      [S.GARRIGUS]   Search-ME!
               o Mike White          [MWHITE]       (oo) / DigiPub SysOp
               o Susie Oviatt        [SUSIE]        ASCII Artist
               o Al Fasoldt          [A.FASOLDT]    Contributing Columnist
               o Phil Shapiro        [P.SHAPIRO1]   Contributing Columnist
               o Sandy Wolf          [S.WOLF4]      Contributing Columnist


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

  Material published in this edition may be reprinted  under the follow-
  ing terms only.  Reprint permission granted,  unless otherwise  noted,
  to registered  computer user groups and  not for profit  publications.
  All  articles must  remain unedited and  include the issue  number and
  author at the top of each article  reprinted.  Opinions present herein
  are those  of the individual  authors  and do  not necessarily reflect
  those of the publisher or staff of GEnieLamp.  We reserve the right to
  edit all letters and copy.  Please include the following at the end or
  the beginning of all reprints:
 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\////////////////////////////////////
  (c) Copyright 1995  T/TalkNET  Online Publishing  and  GEnie.  To join
  GEnie,  set your modem to 2400  baud (or less)  and half duplex (local
  echo).   Have the modem dial 1-800-638-8369.   When you  get a CONNECT
  message, type  HHH.   At the U#=   prompt, type: JOINGENIE and hit the
  [return] key. When you get the prompt asking for the signup code, type
  DSD524  and hit  RETURN.  The  system  will then  prompt  you for your
  sign-up information. Call (voice) 1-800-638-9636 for more information.
 ////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
[EOF]
