

     |||||| |||||| ||  || |||||| ||||||
     ||     ||     ||| ||   ||   ||
     || ||| ||||   ||||||   ||   ||||               Your
     ||  || ||     || |||   ||   ||
     |||||| |||||| ||  || |||||| ||||||             GenieLamp Computing

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


                    ~ WELCOME TO GENIELAMP APPLE II! ~
                      """"""""""""""""""""""""""""""
                ~ FILE BANDWAGON: Top 10 Files for February
                       ~ PD_QUICKVIEW: Change-A-File
          ~ BEHIND THE SCENES: With _Juiced.GS_ and the SIS Team
                   ~ HOT NEWS, HOT FILES, HOT MESSAGES ~

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\////////////////////////////////////
 GenieLamp Apple II     ~ A T/TalkNET Publication ~     Vol.6, Issue 62
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Editor...................................................Ryan M. Suenaga
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\////////////////////////////////////
          ~ GenieLamp IBM ~ GenieLamp ST ~ 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 APPLE II ROUNDTABLE? <<<
           """"""""""""""""""""""""""""""""""""""""""""""""""""
                             ~ April 1, 1997 ~


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

 A2/PRO_ductivity ........ [A2P]        FILE BANDWAGON .......... [BAN]
  A2Pro Bits & Bytes.                    Top 10 files for February 1997.

 PD_QUICKVIEW ............ [PDQ]        BEHIND THE SCENES ....... [BTS]
  Change-A-File.                         With the SIS team and _Juiced.GS_

 REAL WORLD APPLE .........[RWA]        LOG OFF ................. [LOG]
  A Temperature Sensor                   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 reprinted
""""""""""""   here in GenieLamp, you will find all the information you
need immediately following the message.  For example:

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

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

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

ABOUT Genie   Genie has pricing plans to fit almost any budget.  Genie's
"""""""""""   services include email, software downloads, bulletin boards,
chat lines, and an Internet gateway included at a non-prime time connect
rate of $2.75.  Some pricing plans include uncharged online connect time.
As always, prices are subject to change without notice.  To sign up for
Genie, call (with modem) 1-800-638-8369 in the USA or 1-800-387-8330 in
Canada.  Upon connection wait for the U#= prompt.  Type:  JOINGENIE and hit
RETURN.  The system will then prompt you for your information.  Need more
information?  Call Genie's customer service line (voice) at 1-800-638-9636.

GET GENIELAMP ON THE NET!   Now you can get your GenieLamp issues from
"""""""""""""""""""""""""   the Internet.  If you use a web browser,
connect to "gopher://gopher.genie.com/11/magazines".  When using a gopher
program, connect to "gopher.genie.com" and then choose item 7 (Magazines
and Newsletters from Genie's RoundTables).

                        *** GET INTO THE LAMP! ***
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""



       ///////////////////////////////////////// Genie_QWIK_QUOTE /////
      /                "I typo, therefore I am."                     /
     ////////////////////////////////////////////////// A2.TONY /////



[EOA]
[FRM]//////////////////////////////
                 FROM MY DESKTOP /
/////////////////////////////////
Notes From The Editor
"""""""""""""""""""""
by Ryan M. Suenaga, M.S.W., L.S.W.
                          [A2LAMP]



                       >>> EVERYBODY GO SURF!!! <<<
                       """"""""""""""""""""""""""""

     "Surfing the Internet" was a catchphrase, and now it's a cliche, but I
still don't understand it.  Not the Internet; that I have a grasp on.  It's
the surfing part.

     Being someone who spent many a weekend (and a good amount of
schooldays) jumping on a board and catching waves in the middle of the
Pacific Ocean, I just can't make the connection.  Real surfing doesn't
require a computer, a modem, or a phone line; just some decent weather, a
fiberglass board, and some rolling waves.  Having spent a lot of hours in
front of a computer display, I realize jumping from site to site on the
World Wide Web requires a certain amount of knowledge, but I can't imagine
practicing web surfing for years and years.  On the positive side, I also
can't imagine drowning because I got caught by a bigger wave of HyperText
Markup Language than I was prepared to deal with.

     Right now, it doesn't look like the accuracy of the analogy matters,
because the news for Apple IIgs users wishing to browse the World Wide Web
is the best it's ever been.  The Spectrum Internet Suite, aka SIS, from
Seven Hills Software is the first Apple II Web browser available, coming
from one of the most reputable developers of Apple II software.  The
software that people had been waiting years for is finally here (or should
be by the time you read this).  And it doesn't require a fancy Internet
connnection; a simple Unix shell account or your plain old Genie account
will do just fine.

     Apple II users who have waited for years to check out the Internet
finally have their chance.  And while we may not have all of the bells and
whistles of the hulking Web browsers that frequent other platforms, it's
clear that an elegant, simple Apple II solution has again been found.  Once
more, we find out when someone says, "You can't do that on an Apple II,"
they really mean, "You can do something better on an Apple II."

     In the meantime, I wait for SIS to show up in my mailbox, still trying
to figure out how surfing and Web browsing relate.

                                 [*][*][*]

     If you've decided to become a SIS-sy and cruise the 'net, or you
already have some form of Web access, here's a hot new URL to add to your
collection:

                      http://www.syndicomm.com/a2web

     That's where to find The Mother Of All Apple II Web Sites, A2-Web.
Hosted by Syndicomm, managers of the A2 and A2Pro areas on Genie and
Delphi, and webmeistered by A2's own Dangerous David Kerwood, A2-Web has
been months in the making.  You can find links to virtually every Apple
II-related company on the Web at A2-Web, as well as links to Apple II user
home pages, Apple II user groups, Internet resources, and virtually
everything you can imagine on the World Wide Web.  A2-Web is optimized for
use on Apple II-usable Web browsers (SIS and Lynx) as well as looking great
with graphical Web browsers on other computer platforms (like Netscape
Navigator).  If you have your own contribution to make to A2-Web, be sure
to let David know by sur. . . uh, browsing A2-Web and dropping a note in
his emailbox.

                                 [*][*][*]

     My good buddy Tim Kellers told me at the 1996 Kansasfest that, "KFest
is better than real life."  I've expanded that to, "The Apple II is better
than real life," and as such I try not to get too serious about writing
about it.  Unfortunately, some of my lapses have been too serious to joke
about.

     Currently, I'm running close to on schedule with the actual content of
_GenieLamp A2_ usually showing up right around the first of the month.
Unfortunately, there's more to life than just the content.  There's also
the hype; in this case, the HyperStudio and Hypercard versions of
_GenieLamp A2_.

     On a monthly basis, I've been trying to get these done so I can learn
how to do them and I've simply been running out of time.  Editor Emeritus
Doug Cuff has come to the rescue each time by putting out both of the
HyperLamps, and I owe him a great debt for this.

     Now to see if I can find a few hours to figure out how to do these on
my own. . .

                                 [*][*][*]

     As I've said before, it's common for _GenieLamp A2_ to have uncommonly
good writers, and this issue is no exception.  We are again joined by the
editor and publisher of the world famous Apple II periodical _Juiced.GS_,
Max Jones, as well as our own Editor Emeritus, Doug Cuff.  And Peter
Brickell is back as well, making this not only the largest issue of
_GenieLamp A2_ under my tenure, but also the current issue of all Apple II
periodicals with the most diverse set of writers.  Max brings us up to
speed on how three of the SIS-sies got involved in the development of the
Spectrum Internet Suite, Peter continues his real world escapades, and Doug
has a pair of articles to share with us.

     _GenieLamp A2_'s more than five years old now, and like any five year
old, there are new plans in place.  I'm hoping to get a home for the 'Lamp
up on the World Wide Web in the next month or so.  In fact, I already have
a site picked out; it's just a matter of finding the time.  And of course,
that's the limiting element.

     Still, I'm hoping to have a URL for you in the coming issue, and a
preliminary site up, just so when you go and sur. . . uh, cruise the Web,
_GenieLamp_ will be right there with you.


-- Ryan

Genie Mail:  A2LAMP                           Internet:  a2lamp@genie.com



        __________________________________________________________
       |                                                          |
       |                   REPRINTING GENIELAMP                   |
       |                                                          |
       |   If you want to reprint any part of GenieLamp, or       |
       |   post it to a bulletin board, please see the very end   |
       |   of this file for instructions and limitations.         |
       |__________________________________________________________|



                                                           ASCII ART BEGINS

       _____            _      _                              ___  ___
     / ____|          (_)    | |                            / _ \|__ \
    | |  __  ___ _ __  _  ___| |     __ _ _ __ ___  _ __   | |_| |  ) |
    | | |_ |/ _ \ '_ \| |/ _ \ |    / _` | '_ ` _ \| '_ \  |  _  | / /
    | |__| |  __/ | | | |  __/ |___| (_| | | | | | | |_) | | | | |/ /_
     \_____|\___|_| |_|_|\___|______\__,_|_| |_| |_| .__/  |_| |_|____|
                                                           | |
                                                           |_|

                                                             ASCII ART ENDS


[EOA]
[HEY]//////////////////////////////
              HEY MISTER POSTMAN /
/////////////////////////////////
Is That A Letter For Me?
""""""""""""""""""""""""
by Ryan Suenaga
       [A2LAMP]

     o BULLETIN BOARD HOT SPOTS

          o A2 POT-POURRI

                    o HOT TOPICS

                         o WHAT'S NEW

                              o THROUGH THE GRAPEVINE

                                   o MESSAGE SPOTLIGHT



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

     [*] CAT  5, TOP 14 ....... A Few Words about Gus
     [*] CAT  8, TOP 18 ....... Even More Postscript and PublishIt!
     [*] CAT 13, TOP  5 ....... Sheppy Speaks, People Listen
     [*] CAT 17, TOP 25 ....... Appleworks 5 vs. Appleworks 3
     [*] CAT 42, TOP 17 ....... Everyone wants to be a SIS-sy


                           >>> A2 POT-POURRI <<<
                           """""""""""""""""""""

GUS, MEET EDDI. . . UH, BERNIE   Hi Kids -
""""""""""""""""""""""""""""""
The following is a message I've recieved from Andy Nicholas at Apple
Computer, one of the creators of Gus, the Apple IIgs emulator for the Power
Macintosh. Andy is looking for more people to be involved in the testing
and evaluation of Gus, specifically in education, and is soliciting
volunteers to help test the emulator. Read on for the details...



Forwarded Message:


To: All users of Apple Computers
From: Andy Nicholas, Apple Computer

"Gus" is the name of an Apple IIGS emulator for Power Macs developed by
some engineers at Apple in their spare time.  Gus is not and will not be an
official Apple product.  Gus runs Apple II and IIGS software from "disk
images" created from original Apple II and IIGS disks.  Creating the disk
images is relatively straightforward; however, Gus does not run copy
protected software at this time (this may change depending on your
responses).

Aside from the obvious benefit of using Apple II and IIgs software on Power
Macintosh computers, Gus can also serve a very useful purpose in helping
schools transition to using (and buying) Power Macs from their Apple II and
IIGS's.

If you know of a school district whose "computer coordinator" or
"technology czar" wouldn't mind signing a non-disclosure agreement and
would be interested in having their school district evaluate Gus please
have them contact us at gus-feedback@apple.com.  We appear to already have
some interest in this direction.

We need the following information from a school's computer coordinator in
order to non-disclose them:

(1) Name

(2) School district & school affiliation

(3) USMail address where we can send a non-disclosure form

(4) Email address where notifications of new versions can be sent

(5) Do you have web access?
    If you don't have web access, do you have FTP access?


Please do not contact Apple's support lines with questions regarding Gus.
The only way right now to receive information is to subscribe to
gus-news@apple.com and send questions regarding Gus to
gus-feedback@apple.com.

Thanks,

Andy Nicholas
Apple Computer
                   (A2.DAD, CAT5, TOP14, MSG:274/M645;1)

>>>>>   Gus, and Fast Ed. . . er, Bernie II the Rescue also made the
"""""   Macintouch site on the World Wide Web today.  Check out
http://www.macintouch.com.

Ryan
http://www.keystroke.net/~rsuenaga
"There's no shortage of windmills to tilt at."--Logan
ANSITerm and CoPilot v2.55
                   (A2LAMP, CAT5, TOP14, MSG:275/M645;1)


MORE PUBLISHIT!4 PATCHES   PublishIt!4 Patch Update:
""""""""""""""""""""""""
Two improvements:

First, please disregard the prior method I posted about modifying the
Laserprep file so that PI4 PostScript print-to-disk files could be made to
print correctly from outside of PI without any prior printer
initialization.

Yea, this method worked, but, there is a much better way. The better way
involves removing some of the unnecessary lines from the Laserprep file
Yea, this method worked, but, there is a much better way. The better way
deleted with no apparent problem. One line inside the 'md' area must be
modified though. These changes make the whole process work much better.

When this is done, there is no need to add the persistant download lines of
Serverdict Begin Exitserver to the beginning of the Laserprep file and no
need to imbed the CTRL-D at the end of the file. This is important because
it will no longer change the permanent 'state' of whatever printer you may
wish to send the file to, whether it is hooked up to a PC, Mac, or other
computer. In other words, the PublishIt job will be a completely self
contained, encapsulated (and portable) file.

I'll post the mods and would like some of you with PostScript printers to
try printing some PI PostScript print-to-disk files from _outside_ of
PublishIt (preferably on Mac's or PC's) and let me know if you run across
any problems.

Second, I've finally shade tree hacked a way to patch PI4 so that we can
install and use the ZapfDingbats font and then have it use the internal
PostScript ZapfDingbats font when printing.

The patch is to the DTP.MAIN file in PI4, and works by replacing the built-
in Avantgard-for-Northbrook swap with a ZapfDingbats-for-Northbrook swap.
Also, the patch disables the Laserprep font re-encoding that keeps the
Dingbat character names (eg  A4, A5, etc...) from being encoded.

Most of you probably aren't Dingbat fans. I have wanted, though, for a long
time, to use the shadowed check box, the scissors, the telephone and the
pencil symbols on some of the forms I construct. This will allow that. You
will need to download (from A2 is fine) the bit-mapped Dingbats fonts.
Note, you won't be printing bit-mapped fonts; you will use the full-formed
built- in PostScript fonts. The bit-mapped fonts are necessary only for
'place holding' and for PI's print preview mode. I did find, however, that
using (and renaming) the bit-mapped 14 point font as either a 10 or 12
point font gave the best results.

Finally, I think a patch to allow PostScript printing via the parallel card
is very doable. This could speed printing up as well as allow use of some
PostScript printers that don't have a serial port.

Hugh...
                   (H.HOOD, CAT8, TOP18, MSG:166/M645;1)


A2-WEB OPENS   Possibly lost in the aura of the SIS release was the
""""""""""""   announcement of the opening of The Mother of All Apple II
Web Sites, A2 web.  The webmeister is our own David Kerwood, and the url
is:

http://www.syndicomm.com/a2web

Ryan
http://www.keystroke.net/~rsuenaga
"There's no shortage of windmills to tilt at."--Logan
ANSITerm and CoPilot v2.55
                   (A2LAMP, CAT13, TOP17, MSG:53/M645;1)

>>>>>   I didn't miss it. It was right there on page 18. Not to mention the
"""""   screen shot on page 5. ;)

 --
Carl Knoblock - Telephone Tech
cknoblo@delphi.com
cknoblo@novia.net
                 (C.KNOBLOCK, CAT35, TOP8, MSG:31/M645;1)

>>>>>   Great! I just saw it for the first time today (in Juiced.GS, I
"""""   mean).  A2-Web is, in fact, SIS-enhanced - you will see things
there on the page  that you will ONLY see if you view the pages with SIS.
Of course, all the  pages of A2-Web are fully functional with the more
primitive browsers as  well. :)

Use the feedback button and tell me how to make it better!

David K. - A2-Web!   Get tangled at http://www.syndicomm.com/a2web/
                   (A2.DAD, CAT35, TOP8, MSG:32/M645;1)


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

A WOLF UPDATE   It's still in the works... but the going is slow.  I'm
"""""""""""""   working on putting in all the new art I just got. :)

Sound-wise, things have kinda stalled for the time being.  I still am
working on getting access to the equipment and people I need to get the
voices rerecorded.

Sheppy
                   (SHEPPY, CAT13, TOP5, MSG:93/M645;1)

>>>>>   Sheppy,
"""""
I was wondering if you were losing interest in this project, or just busy
with other things.  Appreciate the update.

And I should add that the W3D beta is just flat-out awesome!



Ed Staib / Bugman
Delivered via Warped 8 meg GS Rom-01 Tower
Proterm 3.1 till Spectrum/SIS bundle arrives :)
                   (E.STAIB, CAT13, TOP5, MSG:94/M645;1)

<<<<<   I'm just busy with other things, I assure you.  Wolf 3D is
"""""   basically acharity project for Logicware, and is therefore the
absolute lowest priorityon my schedule.  As such, I can only spend personal
time on it, and I don'thave a lot of that left after working 12-16 hours a
day on the money-making stuff at work.

And to be honest, now that I'm married I like to spend as much of my free
time with my wife as I can. :)

I've gotten the new art, and am working gradually on getting it all in. :)

Sheppy
                   (SHEPPY, CAT13, TOP5, MSG:95/M645;1)


SHIFTY LIST 2.0: AN UPDATE   I've been extremely busy lately.  But I assure
""""""""""""""""""""""""""   you, I'm still here.  I admit I haven't read
the BB other than this topic for several months though. :)

At any rate, I'm looking at the best way to get Shifty List 2.0 done in the
shortest possible time.

Sheppy
                   (SHEPPY, CAT13, TOP18, MSG:63/M645;1)

<<<<<   BTW... I'm putting reasonable effort into Shifty List 2.0, and
"""""   expect to be finished with it this spring (possibly within a month
or so).  I don't know for sure yet how it will be distributed, but it will
be vastly superior to the original. :)

Sheppy
                   (SHEPPY, CAT13, TOP18, MSG:64/M645;1)

>>>>>   Sheppy, is it too late to ask for something on that?  Is it
"""""   possible to make it so that it could be launched by PROSel?  ie. an
application, in addition to a Finder Extra?   Or I guess you could assure
me that PROsel's init manager within the Utilities is fully compatible with
ShiftyList.  Someone somewhere told me that mixing init managers
(ShiftyList, Initmaster, PROSel) was dangerous.

Thanks!
 _________
   | homas
                 (T.COMPTER, CAT13, TOP18, MSG:65/M645;1)

<<<<<   Shifty List isn't an init manager; it's a totally different tool
"""""   for allowing you to shift-boot and still get some items loaded up.

There won't be an application version of the Shifty List Finder Extension
for Shifty List 2.0 (the features list for Shifty List 2.0 is final), but
I'm already working on a Shifty List 3.0 features list, and I'll consider
it for that version.

Sheppy
                   (SHEPPY, CAT13, TOP18, MSG:66/M645;1)


KEYBOARD KAOS   Somebody (I forget who) pleaded for assistance:
"""""""""""""
>I fell into a Rom 3 //gs, now I need a //gs keyboard.  Can anyone help?

The absolute best keyboards for the IIgs are the genuine Apple Extended
Keyboard, also known as the Mac SE keyboard, family number M0115, or the
Apple Extended Keyboard II, family number M3501. Either one of these in
combination with Bill Tudor's free Extended Keyboard Init (in the A2
Library) really makes heavy duty typing on the IIgs a whole lot nicer. Call
Sun Remarketing and see if they have any of these. They ain't cheap, but if
you spend a lot of time actually _doing_ stuff with your IIgs, they are one
of the best investments you can make. These keyboards will work on all Macs
as well, even PowerBooks and Duos, and are still the best keyboards
available.

David K. - A2-Web!   Get tangled at http://www.syndicomm.com/a2web/
                   (A2.DAD, CAT12, TOP28, MSG:54/M645;1)

>>>>>   David -
"""""
      >...the genuine Apple Extended Keyboard,

I've grown so accustomed to the placement of keys on the GS keyboard, I'm
wondering how the AEK compares - such as the Esc, Tab, control, Option and
Open apple keys?

 - Joachim
                 (J.NELSON56, CAT12, TOP28, MSG:56/M645;1)

>>>>>   Extended keyboards usually have all their keys in the same places.
"""""   The GS keyboard is the one that's different because it's so small.
Here are the differences between the GS keybaord and the AppleDesign (which
I think is layed out the same as the Apple Extended II):

GS Keyboard
===========
        [RESET]
[ESC] 1 2 3 4 5 6 7 8 9 0 - = [DEL]
[TAB]  Q W E R T Y U I O P [ ]  [RET]                              Numeric
[CTL]   A S D F G H J K L ; ' [RETRN] <-- "L" shaped Return key    Keypad
[SHIFT]  Z X C V B N M , . / [SHIFT]
[CAP][OPT][CMD] ` [SPACE] \ [ARROWS]

AppleDesign
===========
[ESC]   [Function Keys F1-F15]                                    [RESET]
    ` 1 2 3 4 5 6 7 8 9 0 - = [DEL]      [HELP][HOME][PGUP]
[TAB]  Q W E R T Y U I O P [ ] \          [DEL][END][PGDN]        Numeric
[CAP]   A S D F G H J K L ; ' [RETRN]                             Keypad
[SHIFT]  Z X C V B N M , . / [SHIFT]        Inverted-T
[CTL][OPT][CMD] [SPACE] [CMD][OPT][CTL]     Arrow Keys

The numeric keypads are the same except the "+" and "-" keys are reversed.
I hope my ASCII art is legible.

 - Tony
                  (A2.TONY, CAT12, TOP28, MSG:57/M645;1)

<<<<<   Tony - in a terrific display of hard work and expended effort
"""""   (which made everyone sit up and take notice - not something that
happens every day) did this for the Genie A2 subscribers:

>Here are the differences between the GS keybaord and the AppleDesign
>(which I think is layed out the same as the Apple Extended II):

It is. Super effort, Tony.

Just a clarification. The AppleDesign keyboards are not at all the same as
the Apple Extended keyboards, apart from the fact that they are, uh,
keyboards. The Apple Extended and Extended II keyboards are big, heavy,
solid keyboards with great tactile feedback on the keys. No rubbery typing
with these. The AppleDesign keyboards are good enough for most people,
lightweight but not flimsy, though the keys are more squishy than I
personnally prefer.

David K. - A2-Web!   Get tangled at http://www.syndicomm.com/a2web/
                   (A2.DAD, CAT12 ,TOP28, MSG:58/M645;1)


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

SEVEN HILLS ANNOUNCES SIS   Seven Hills Software is proud to announce
"""""""""""""""""""""""""   Spectrum Internet Suite:

Now you can access the World Wide Web directly from your Apple IIGS!

Using Spectrum 2.1 and its expandable XCMD/XDisplay technology, Seven Hills
Software has developed the Spectrum Internet Suite - a combination of
XCMDs, XDisplays and scripts designed to put you on the World Wide Web,
right from your Apple IIGS - all without the need for GNO/ME, TCP/IP, or
other programs.

All you need is Spectrum 2.1, Spectrum Internet Suite, and a UNIX shell
account or a Genie account!

Building on the power and strength of Spectrum and its associated plug-in
XCMDs and Displays, Spectrum Internet Suite combines an XDisplay with a new
XCMD and powerful Spectrum scripting to provide a one-stop solution to the
Internet.

Features include:

===== NAVIGATION =====
- Optional Toolbar for quick access for frequently used commands
- Proxy server support
- Progress bar reports download status
- Bookmark facility for visting favorite sites
- Perform Basic Authentication security
- History list maintained to return to a visited page
  in the same session
- Browse files on local/network disks as well as the web
- Type in URLs without the need of http://
- Automatic URL completion (for standard www. and .com addresses):
  type "apple" and it will load "http://www.apple.com/"

===== WEB PAGE GENERATION =====
- Supports the HTML 3.2 standards
- "Netscape Navigator Client Pull" Dynamic Updating
- Frame cells are accessed by links (like Lynx 2.6)
- Exclusive Spectrum specific HTML tags: play Apple IIGS sound
  effects and speech from a web page! (the computer viewing
  the page must be running Spectrum Internet Suite and have
  appropriate sounds/speech software installed for these tags to work)
- Color text
- Multiple fonts and styles
- Emedded IMG tag translation
- Anchors and <base href=..> tags

===== OTHER FEATURES =====
- Display HTML source code
- Save HTML source code to disk
- Save formatted web page to disk or system clipboard -
  you can even use it for HTML to Teach conversion!
- Print web page contents or HTML source code
  to any Print Manager supported printer
- Using a UNIX shell account allows sending (only) of Email
  via Spectrum Internet Suite (email does not work from Genie)

System requirements:

- Spectrum v2.1
- An Apple IIGS running System 6.0.1 with 4Mb of RAM
- A hard disk and an accelerator highly recommended
- A modem with correctly wired hardware handshaking cable
- A Genie account or a dial-up Unix shell account from your
  Internet Service Provider (no files are placed on the shell
  system, so no filespace is needed on your shell account).

  Note: Spectrum v2.1, running with its full complement of XCMDs
  and the Spectrum Internet Suite, requires at least 4Mb of memory
  to browse the Web. A great deal of processing also needs to be
  done to build an HTML display, so an accelerator is virtually a
  must. It is also advisable to run Spectrum from a hard disk for
  speed and maximum storage capacity.

Retail price $25.

SIS REQUIRES SPECTRUM VERSION 2.1
If you received v2.1 through the mail, you're ready!
If you received v2.1 *AT* KansasFest and did NOT receive
  an update via email, you need to request a free update
  when you order SIS.
If you own v2.0 you need to order the update to v2.1 for $25.
If you own v1.0 you need to order the update to v2.1 for $30.

If you don't own Spectrum, order SPv2.1 with SIS for the special
 price of $95.

Add 7% tax if in Florida. Add $3.50 s&h (per order, not per item).
Email Visa/MasterCard/Discover orders to sevenhills@genie.com
  or FAX them to 904-575-2015 any time,
  or phone 904-575-0566, M-F, 9am-5pm (leave order on voicemail)
Mail checks/money orders to 1254 Ocala Road, Tallahassee, FL 32304.

For more information, visit the Spectrum Internet Suite Home Page:
     http://www.netally.com/shss/iigs/sis/
                 (SEVENHILLS, CAT43, TOP15, MSG:50/M645;1)


BRAND NEW JUICED   Announcing ...
""""""""""""""""

===== Juiced.GS, Volume 2, Issue 1 =====


The Winter, 1997 edition of Juiced.GS, the Apple II world's premier
IIGS-specific magazine, is now arriving in subscriber mail boxes in the
U.S., Canada, Mexico, and other points around the world.

This issue is being mailed to 230 paid subscribers in 42 states and 12
foreign countries.

Here's what you'll find in this issue:

============

Cover Story: A "Suite" Arrival ... A team of dedicated programmers, with
the support of Seven Hills Software, has produced the first and only Web
browser for the Apple IIGS. Spectrum Internet Suite will be available to
users of Spectrum v2.1 in March.

Snap Shot: An Interview with Bret Victor ... Juiced.GS got together via
e-mail with the creative and versatile IIGS programmer in late December and
chatted about all sorts of stuff.

Desktop Publishing: Making a Good First Impression ... A closer look at the
art of desktop publishing and its importance in capturing your intended
audience. Also included is some of what you need to know about desktop
publishing on your IIGS.

Desktop Publishing Bonus: Working with Fonts ... Dave Bennett, an associate
professor of journalism, explains how the desktop publisher should approach
the use of fonts in documents.

Shareware Spotlight: Defender of the World and Calendar Crafter GS are the
featured programs in the spotlight this issue.

DumplinGS: Still crazy ... A sizable helping of newsy bits from around the
Apple II world, including the unveiling of the "Mother of all Apple II Web
Sites!"

II Be Named Later: A Personal Ad ... Our columnist, Ryan Suenaga, writes
about life and love around a personal computer.

============

Juiced.GS is a quarterly, printed publication available by subscription.

A subscription for 1997 is $14 in the U.S., Canada or Mexico, $20 elsewhere
To subscribe, send a check or money order U.S. funds to:

Max Jones
Juiced.GS
2217 Lakeview Drive
Sullivan, IN  47882

Makes checks or money orders payable to Max Jones. Sorry, no credit cards
or purchase orders can be accepted.

A complete set of 1996 issues is also available for $14. If you would like
to purchase only a specific single copy (or copies) of 1996 issues, they
are available for $4 each. An index and brief description of articles
published in 1996 are available on the Juiced.GS web site. See URL below.

Apple II Forever!


Max Jones
Juiced.GS
Genie: M.JONES145 -- Delphi: JuicedGS
Internet: m.jones145@genie.com -or- juicedgs@delphi.com
Wolrd Wide Web:  http://users.ids.net/~kerwood/juiced.gs
                 (M.JONES145, CAT13, TOP43, MSG:43/M645;1)


NEW HYPE!
"""""""""            Apple Blossom Publishing
                        in cooperation with
   Hangtime of Script Central and Gareth Jones of Apples B.C. News
                             presents

                 H Y P E R    Q U A R T E R L Y

Beginning in April we will begin shipping a new disk-based subscription,
with new issues appearing every three months. Each issue (two disks) will
contain innovative new stacks and scripts, XCMDs and XFCNs, icons, art,
news and tutorials.

HyperCard IIGS, which is part of the Apple IIGS System Software, is an
invaluable resource for Apple IIGS owners. But many folks don't know how
useful and fun it can be. Sign up for Hyper Quarterly and you'll find out.

In addition to the talents of Hangtime and Gareth Jones, we will be joined
by Josh Calvin, Brian Gillespie and Ryan Suenaga in presenting stacks and
info for your use and pleasure. Other IIGS HyperCard users are welcome to
submit stacks for publication (yes, we'll pay!).

The first issue is shaping up now and includes the following stacks:

A.La.Carte by Hangtime, An innovative stack for rapidly creating
                        custom menus for stacks. Type in the menu
                        names, assign command key equivalents and
                        menu item actions and install.

TZ.Rolodex by Hangtime,  HyperCard ships with an address book, but
                         Hangtime's effort, aside from having the
                         polished look he is famous for, lets you
                         keep notes, view the correct time for the
                         individual you're currently looking at, and
                         lets you sort the stack by name.

PostScripter by Gareth Jones, Want fantastic looking graphics for
                         your desktop publishing efforts, but stymied
                         by a lack of good conversion tools for 320
                         color images. No longer! Just print a 320
                         image to disk as a postscript file with the
                         LaserWriter driver, and use this stack to
                         re-size and re-position the image anywhere
                         on the page, then download to your PostScript
                         laser printer with your favorite app (dlps,
                         LaserBeam, SendPS, ProTERM).

HC.Word by Steve Cavanaugh, Need to dash off a quick note while work-
         & Gareth Jones  ing in HyperCard? This text editor stack lets
                         you do that, but can also read and write text
                         files, encode with HTML, let you perform fast
                         Finds for words in any documents you have in
                         the stack, and can GSify text by automatical-
                         adding in the ligatures, em dashes and other
                         "high ASCII" characters.

Other stacks likely to appear include a Lynx bookmark manager, an updated
version of Quarknet from Brian Gillespie that works seamlessly with Delphi,
a stack with scripts and scripted buttons for copy and paste into your own
projects, and more.

If you don't already have HyperCard IIGS, you can of course download it
from Apple's ftp site. If you don't have the ability or time to do that,
you can purchase the disks from us with your subscription for $12.00
(HyperCard IIGS version 1.1 comes on 6 disks).

To subscribe, send a check or money order for $35.00 ($47.00 if you are
also ordering HyperCard IIGS) made out to "Apple Blossom Publishing" to

 Steve Cavanaugh
 Apple Blossom Publishing
 P.O. Box 120434
 Boston, MA 02112-0434

Sorry, neither credit cards nor purchase orders can be accepted. Please
send any questions you might have to one of the email addresses below.

Regards,

Steve Cavanaugh                                     Hyper Quarterly
Apple Blossom Publishing                          The Apple Blossom
http://members.aol.com/newblossom/      Apple II Modem Starter Disk
                   (A2LAMP, CAT13, TOP17, MSG:53/M645;1)


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

EVEN MORE SPECTRUM TRICKS   I also am working on a Master Command Center
"""""""""""""""""""""""""   for Spectrum 2.1 users.

It will access Delphi, Genie, CIS, the Delphi Messenger, Genie Copilot, and
a mini CIS BB Reader all from one convenient Hitzone Menu.

It's nowhere ready yet, but give me time.  ;-)
                 (K.GRAHAM16, CAT3, TOP36, MSG:61/M645;2)


THE NEW SSII   The next issue of Shareware Solutions II is finally nearing
""""""""""""   completion.

Unlike the last issue, where there were many short (1-2 page) articles,
this upcoming issue has two very long feature length articles. My feature
length article is all about Spectrum Internet Suite, and Steve Disbrow's
feature length article is all about networking.

Of course, there's also the usual Grapevine news column (with some
interesting Easter Egg discoveries), some "killer" Such A Deal offerings,
the usual mix of freeware/shareware coverage in the Shareware Solutions II
columns, and a second look at the the IIGS Emulator from our good friends
in Switzerland.

Soon....real soon now...

Joe
                  (JOE.KOHN, CAT28, TOP4, MSG:46/M645;1)


SSII'S NEW HARMONIE   I have zero details to offer at the moment, but there
"""""""""""""""""""   will soon be an updated version of Harmonie available
from Burger Bill and Shareware Solutions II.

In addition to fixing bugs in the current versions (AWGS colors, full
justification), there will be direct support for a number of newer HP ink
jet printers, and on those printers that offer 600 x 300 dpi, you'll
finally be able to take full advantage of that increased resolution.

Joe Kohn
                  (JOE.KOHN, CAT28, TOP4, MSG:78/M645;1)

>>>>>   If the Burger-meister is taking Harmonie suggestions, I'd like to
"""""   make a couple:

1) Make the Deskwriter drivers work via Appletalk.

2) Do a conventional (non-networked) driver for the Laserwriter, that
   converts TrueType fonts on the fly :)

3) Do some for the newer Canon and Epson printers.

Okay, I know I ask for a lot :)

Ryan
http://www.keystroke.net/~rsuenaga
"There's no shortage of windmills to tilt at."--Logan
ANSITerm and CoPilot v2.55
                    (A2LAMP, CAT28, TOP4, MSG:90/645;1)


SSII BRINGS BACK A2-CENTRAL   Coming Soon...to an Apple II screen near
"""""""""""""""""""""""""""   you...

For the first time ever, every word that appeared in every issue of
Open-Apple, A2-Central, and A2-Central-On-Disk will be available in a
special 12 disk (3.5" only) collection that will be soon be available from
Tom Weishaar and Joe Kohn. That's 8.8 megabytes of Apple II information,
hints, tips, and humor from some of the sharpest minds to ever write about
the Apple II.

In addition, all 73 back issues of A2-Central-On-Disk will also be
available.
                  (JOE.KOHN, CAT28, TOP4, MSG:79/M645;1)


                         >>> MESSAGE SPOTLIGHT <<<
                         """""""""""""""""""""""""
Category 13,  Topic 43
Message 36        Sat Mar 08, 1997
M.JONES145 [MaxJ]            at 12:49 EST


Oh, what a night ....

For those of you who missed it, the Apple II Saloon hosted a "New PRODUCT"
celebration Friday night in the A2 RTC, and the turnout was fabulous! When
Dave Hecker made the announcement about Spectrum Internet Suite, the first
and only IIGS Web browser, there were no fewer than 32 poeple in the room.

As the night went on, some folks left, others joined in, and there was
still about a dozen people in the Saloon when I finally signed off a little
after 2 a.m.

There were even Genie users in the RTC Friday night who said they had NEVER
been in an RTC before.

Oh, what a night ...

We'll be working on a transcript of the session in the next day or so. Look
for it to be uploaded later this weekend.

I want to express my appreciation to the SIS development team -- Ewen
Wannop, Geoff Weiss and Dave Hecker -- for being our guests for the RTC
celebration. Ewen had to get out of bed at 4 a.m. to attend, and Geoff came
in on a guest account and was still in the RTC when I left. What a trooper!

Thanks also to Cindy for helping get the guest account arranged for Geoff.
Thanks also to Dave Miller for setting up the Simulbot so our friends on
Delphi could participate.

And, of course, thanks to all those who attended and made this celebration
a memorable one.

Apple II forever,

Max

                                 [*][*][*]


    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]
[A2P]//////////////////////////////
                A2/PRO_ductivity /
/////////////////////////////////
By Ryan M. Suenaga, M.S.W.
                  [A2LAMP]



                        >>> A2PRO BITS & BYTES <<<
                        """"""""""""""""""""""""""

UUENCODING IN C MINOR   I need some help deciphering the following C code.
"""""""""""""""""""""   It is supposed to be code to decode UUencoded
files. Anyone who feels led to comment this code and/or point out problems
with it will receive my undying gratitude (well, at least a big thank you
;).

Charlie

 --**--

 if (msgtype == 'U')
 {
      FILE *f;

      char c1, c2, c3;
      int cnt, csum;

      f = fopen (buf2, (i== 1) ? "w" : "a");
      if (f)
      {
           if (i != 1)
           {
           cnt = *buf - ' ';
           csum = 0;
           for (c = buf+1; cnt>0; c += 4)
           {
           c1 = ((c[0] - ' ') & 0x3f) << 2 | ((c[1] - ' ') & 0x3f) >> 4;
           c2 = ((c[1] - ' ') & 0x3f) << 4 | ((c[2] - ' ') & 0x3f) >> 2;
           c3 = ((c[2] - ' ') & 0x3f) << 6 | ((c[3] - ' ') & 0x3f);

           if (cnt-- > 0)
                fputc (c1,f);
           if (cnt-- > 0)
                fputc (c2,f);
           if (cnt-- > 0)
                fputc(c3, f);
           }
           }

      while (prevline = ourbuf,
           sgets (buf, 1024, &ourbuf) &&

 (i = check_uue (buf)))
           {
           cnt = *buf - ' ';
           csum = 0;
           for (c = buf+1; i>0 && cnt> 0; c += 4)
           {
           c1 = ((c[0] - ' ') & 0x3f) << 2 | ((c[1] - ' ') & 0x3f) >> 4;
           c2 = ((c[1] - ' ') & 0x3f) << 4 | ((c[2] - ' ') & 0x3f) >> 2;
           c3 = ((c[2] - ' ') & 0x3f) << 6 | ((c[3] - ' ') & 0x3f);

           if (cnt-- > 0)
                fputc (c1,f);
           if (cnt-- > 0)
                fputc (c2,f);
           if (cnt-- > 0)
                fputc(c3, f);
           }
           }
           fclose (f);
           p += sprintf (p, "  Got %s to %s\n",bu

 f1, download_path);

           }
      }
                  (A2.CHARLIE, CAT4, TOP2, MSG:83/M530;1)

>>>>>   Roughly translating the c code, first a file "f" is opened for
"""""   writing. I'm not sure what "i" is used for but assuming it's not 1
you go into a loop to decode a line of uucode.

Evidently, the line of uucode has previously been stored in in a buffer
pointed to by "buf".

             cnt = *buf - ' ';

takes the first character in the buffer (the line count) and subtracts an
ascii space (32) from it.  Thus cnt now holds the length of the line (in
bytes when decoded). Assuming the line starts with "M" that is 45.

             csum = 0;

"csum", the checksum is set to zero.

            for (c = buf+1; cnt>0; c += 4)

next comes a loop that decodes the line od uucode.  c is probably declared
somewhere previously as a pointer of type char (char *c). It is initially
set to point to the second character in "buf" (c = buf+1;). The loop is set
up so that it will continue to loop while the "cnt" is greater than zero
(cnt>0;), and each time thru the loop c is incremented by 4 (c += 4). Each
time thru the loop four uucode characters are translated.

Remember that four uucode characters translate to three real bytes. c1, c2
and c3 are variables that hold the three resulting bytes. They are not
related to the variable c which is a pointer and c[n] which is the nth
character past where c is currently pointing. Remember, at the start of the
loop c is pointing to the second character in the buffer, the one past the
line length character.

            c1 = ((c[0] - ' ') & 0x3f) << 2 | ((c[1] - ' ') & 0x3f) >> 4;

This line decodes the first byte. c[0] is the second ascii character in the
uucode line, and c[1] is the third.  The part ((c[n] - ' ') & 0x3f) takes
an uucoded character and subtracts 32 (an ascii space) from it and ANDs it
with $3F to mask off the two high bits that aren't used. the << 2 shifts
the first result two BITS to the left and the >> 4 shifts the second result
four bits to the right. The | operator ORs the results together.  Let's say
the line starts off M3F.... "M" is the line length, c[0] = '3' and c[1] =
'F' in ascii code '3' = $33 and 'F' = $46.  Following the  equation above:

         Left half                               Right half
 $33 - $20 (a space) = $13                $4F - $20 (a space) = $2F
 ANDing with $3F     = $13                ANDing with $3F     = $2F
 2 bit left shift    = $4C                4 bit right shift   = $02
                     OR the two halfs and c1 = $4E

c2 and c3 are derived the same way, except the shifts are different to
extract the three bytes.

  if (cnt-- > 0)
                 fputc (c1,f);
            if (cnt-- > 0)
                 fputc (c2,f);
            if (cnt-- > 0)
                 fputc(c3, f);
            }                  <== brace that ends loop

This code writes c1, c2 and c3 to the output file. as long as there are
still bytes to be output (ie. cnt-- > 0) the -- after the "cnt" decrements
"cnt" by one AFTER the comparison test is made.

Then the loop is tested, and if cnt>0 is still true, the loop starts again,
this time with c pointing to the 6th uucode character in the line. The
looping continues until the last byte is decoded and "cnt" becomes zero.
This completes one line of the code.

I'm not sure how the remaining code and the "check_uue (buf)" function work
as parts of that code are missing. It is safe to bet that it gets the next
line into buffer and checks the checksum of the processed line, so I'll
stop here. The remaining code is repetitive to what I listed above.

Charlie, I did this in a hurry, I think it is accurate, but typos may have
slipped in.  I hope this gives you some help.

Where did you get this code? Is in the library or can it be posted in its
entirety?

   \ ___\ ___\
    \   !\    \
        A        Bob,
        H        AF6C
                 (R.ECKWEILER, CAT4, TOP2, MSG:84/M530;1)

<<<<<   The code was posted to me on Delphi. I retyped it here and may have
"""""   made some typos. Here is the original text...

 --**--

 if (msgtype == 'U')
 // want UUE file?
 {
     FILE *f;
 // UU decoded output file
     char  c1, c2, c3;
     int   cnt,
           csum;
      f = fopen (buf2, (i == 1) ? "w" : "a");
     if (f)
     {
             if (i != 1)
 // a body line?
             {
                     cnt  = *buf - ' ';
                     csum = 0;
                     for (c = buf+1; cnt > 0; c += 4)
                     {
                             c1 = ((c[0] - ' ') & 0x3f) << 2
                                | ((c[1] - ' ') & 0x3f) >> 4;
                             c2 = ((c[1] - ' ') & 0x3f) << 4
                                | ((c[2] - ' ') & 0x3f) >> 2;
                             c3 = ((c[2] - ' ') & 0x3f) << 6
                                | ((c[3] - ' ') & 0x3f);
                             if (cnt-- > 0)
                                     fputc (c1, f);
                             if (cnt-- > 0)
                                     fputc (c2, f);
                             if (cnt-- > 0)
                                     fputc (c3, f);
                     }
             }
             while (prevline = ourbuf,
                      sgets (buf, 1024, &ourbuf) && (i = check_uue (buf)))
             {
                     cnt  = *buf - ' ';
                     csum = 0;
                     for (c = buf+1; i > 0 && cnt > 0; c += 4)
                     {
                             c1 = ((c[0] - ' ') & 0x3f) << 2
                                | ((c[1] - ' ') & 0x3f) >> 4;
                             c2 = ((c[1] - ' ') & 0x3f) << 4
                                | ((c[2] - ' ') & 0x3f) >> 2;
                             c3 = ((c[2] - ' ') & 0x3f) << 6
                                | ((c[3] - ' ') & 0x3f);
                             if (cnt-- > 0)
                                     fputc (c1, f);
                             if (cnt-- > 0)
                                     fputc (c2, f);
                             if (cnt-- > 0)
                                     fputc (c3, f);
                     }
             }
             fclose (f);
             p += sprintf (p, "   Got %s to %s\n", buf1, download_path);
     }
 }

 --**--

Charlie
                  (A2.CHARLIE, CAT4, TOP2, MSG:85/M530;1)

>>>>>   Thanks Charlie, the added code didn't help much, there's still a
"""""   lot missing.  I hope the translation I gave you is enough to get
you started. Be sure not to write the decode part in AppleSoft. Bit
shifting can be a challenge in basic unless there is an integer divide. In
either case it is a lot slower than "C" or assembly.

If you ever come across a better example of how the checksum is calculated
please pass it along.

Happy St. Patty's Day to you Mr. O'Charlie,

Bob O'Eckweiler
                 (R.ECKWEILER, CAT4, TOP2, MSG:86/M530;1)

MORE UUENCODING   I'm interested in learning how encoding and decoding in
"""""""""""""""   UU is done.

I've read a bit of stuff on the Internet, but I haven't found any
information on exactly how the algorithm works that changes the 3 eight-bit
characters into 4 six-bit characters.

Anyone around here able to explain it to me?

Charlie
                 (A2.CHARLIE, CAT23, TOP19, MSG:1/M530/1)

>>>>>   Hmmm...  I'm not real familiar with the inner workings of UUencode
"""""   or Binscii, but I do know Base64 inside and out. :)   Base64 is
actually a pretty simple encoding scheme when you look at it.

Dave
                  (JUST.DAVE, CAT23, TOP19, MSG:2/M530;1)

>>>>>   I have source code around here somewhere for sciibin, a UNIX
"""""   program that handles Binscii decoding. If you're interested, I
could upload it here. It's C source code, BTW.

I'm sure I could dig up similar UU source code, if I had some time...

 - Tony
                   (A2.TONY, CAT23, TOP19, MSG:4/M530;1)

>>>>>   Base64 is really very simple in concept, but it's a bear to
"""""   actually implement. :)

Imagine you have two trays that are 24 bits long.  One is divided in 3
pieces, each slot is 8 bits wide.  Your second tray is divided into 4
pieces, each 6 bits wide.  You just line the bits up in the 8 bit tray,
hold it over the six bit tray, and drop the bits straight down. (see the
diagram)

   _______________________ _______________________ ______________________
  |7  6  5  4  3  2  1  0 |7  6  5  4  3  2  1  0 |7  6  5  4  3  2  1  0|

   |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
   v  v  v  v  v  v  v  v  v  v  v  v  v  v  v  v  v  v  v  v  v  v  v  v

  |5  4  3  2  1  0 |5  4  3  2  1  0 |5  4  3  2  1  0 |5  4  3  2  1  0|
   ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~

The resulting 6 bit values are used as a simple table lookup to the valid
characters we can use for base64.

     Table 1: The Base64 Alphabet (graciously swiped from RFC 2045)

     Value Encoding  Value Encoding  Value Encoding  Value Encoding
         0 A            17 R            34 i            51 z
         1 B            18 S            35 j            52 0
         2 C            19 T            36 k            53 1
         3 D            20 U            37 l            54 2
         4 E            21 V            38 m            55 3
         5 F            22 W            39 n            56 4
         6 G            23 X            40 o            57 5
         7 H            24 Y            41 p            58 6
         8 I            25 Z            42 q            59 7
         9 J            26 a            43 r            60 8
        10 K            27 b            44 s            61 9
        11 L            28 c            45 t            62 +
        12 M            29 d            46 u            63 /
        13 N            30 e            47 v
        14 O            31 f            48 w         (pad) =
        15 P            32 g            49 x
        16 Q            33 h            50 y

When you hit the end of the data, if you don't have exactly 3 bytes to
convert, then just drop what you have into the six-bit "tray" from the left
side, and fill with 0-bits on the right to fill the current six-bit slot.
Any empty slots on the right hand side can be filled with '=' characters.

You can use a maximum of 76 characters per line.

The "official" documentation on this encoding scheme begins on page 24 of
RFC 2045, which can be found at <http://www.internic.net/rfc/rfc2045.txt>

You can also request a copy of it in email by sending mail to
"mailserv@ds.internic.net".  The subject can be whatever you want.  In the
BODY of the message, put "document-by-name rfc2045" (without the quotes
obviously :)

I'm not REAL familiar with UUencode, but I think it's pretty similar,
except instead of using a table lookup, it just adds 32 to the 6-bit value
(and some implementations replace spaces with back-apostrophes (`)).  The
problem with this (and why base64 was created) is that some mailservers
choke on certain characters that are legal in UUencode.  The alphabet used
in the lookup table for base64 was carefully chosen so that every character
in it would safely pass through all known mail server software.

Dave
                  (JUST.DAVE, CAT23, TOP19, MSG:5/M530;1)

<<<<<   Thanks! If I understand the concept then the following is true:
"""""
    Hi-Bit A = 193          Hi-Bit B = 194          Hi-Bit C = 195
    _______________________ _______________________ ______________________
   |7  6  5  4  3  2  1  0 |7  6  5  4  3  2  1  0 |7  6  5  4  3  2  1  0|

    1  1  0  0  0  0  0  1  1  1  0  0  0  0  1  0  1  1  0  0  0  0  1  1

   |5  4  3  2  1  0 |5  4  3  2  1  0 |5  4  3  2  1  0 |5  4  3  2  1  0|
    ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~
          48                28                11                 3
           w                 c                 L                 D

Is that right?

Charlie
                  (A2.CHARLIE, CAT23, TOP19, MSG:6/530;1)

<<<<<   Tony,
"""""
Thanks. :)  It never hurts to have sample code available.

BTW, Alan [STARFALL] gave me the following information in the INTERNET RT
BB:

 "You can get C source code for UUencode/decode from the GNU project.
 Go to ftp://gatekeeper.dec.com/pub/GNU/sharutils-4.2.tar.gz to get it.
 You'll need gunzip to uncompress it, and a tar utility to extract the
 files."

Any chance that you could grab that and put it here in a form that I can
read?

Charlie
                 (A2.CHARLIE, CAT23, TOP19, MSG:7/M530;1)

>>>>>   If I understand Dave's explanation, it means that for every four
"""""   character string in BASE64, there is a corresponding 3 character
string in REAL (i.e., the original document). Is this a correct
interpretation?

A brute force method would be to simply encode the possible combination of
6- bit characters (4 each) and use a translation table to the 3x8-bit sets.
It would be horrendous, but it would work. Or, one would have to use a
64-entry table, convert the characters to the bits, concatenate them, and
then break into 8-bit groups, and reconvert to ASCII.

Is the above correct?

It also sounds like UUENCODE can't use the control characters. If it adds
32 to the value, it means that values less than 32 to start, when
subtracted from, would give an encoded value less than zero.

 Joat
                   (A2.TIM, CAT23, TOP19, MSG:8/M530;1)

>>>>>   Charlie:
"""""

 > Is that right?

Yes. :)

>>> Joat

 > If I understand Dave's explanation, it means that for every four
 > character string in BASE64, there is a corresponding 3 character
 > string in REAL (i.e., the original document). Is this a correct
 > interpretation?

Almost.  If the 4-character string in base64 ends in = signs, then there
are less than 3 characters in the that spot in the original document.  This
can only ocurr at the end of the data though.

 > A brute force method would be to simply encode the possible
 > combination of 6- bit characters (4 each) and use a translation table
 > to the 3x8-bit sets. It would be horrendous, but it would work. Or,
 > one would have to use a 64-entry table, convert the characters to the
 > bits, concatenate them, and then break into 8-bit groups, and
 > reconvert to ASCII.

Well, yeah, except that brute force translation table would take
approximately 64 megabytes of RAM to store, which makes it a little painful
to use. :)  So unless you're working on a machine that actually has that
much memory available, you're pretty much stuck with splitting apart and
reconcatenating the bits and using the 64-entry table.

 > It also sounds like UUENCODE can't use the control characters. If it
 > adds 32 to the value, it means that values less than 32 to start, when
 > subtracted from, would give an encoded value less than zero.

No, you missed part of it.  I think you still split the bits apart using
that "tray example" method I showed you.  The resulting 6-bit values have
32 added to them.  Which makes it pretty identical to base64 except that 64
entry table being used is actually a subset of the standard ASCII table
starting at ASCII 32.  I think the first character of the line is also a
count of how many characters are on that line in UUencode.

Hmmm...  waitasec...  if you mean in the encoded data, then no, neither
base64 nor uuencode uses control characters in the encoding.  UUencode
depends on the end-of-line characters for a crosscheck, since it has a
length byte on each line.  base64 just ignores any whitespace.

Dave
                  (JUST.DAVE, CAT23, TOP19, MSG:9/M530;1)

>>>>>   A2.CHARLIE
"""""
If you're just looking for theory, it's simple enough.  (Note:  Some of the
details may not be completely accurate.)  You process the file to be
converted in chunks of three characters (padding with zeroes at EOF?).  Say
you have the following three values in a particular chunk of data (shown
here in binary):

 10110101   11010010   01101101

To convert them, you take the top two bits off of each number, concatenate
them together to make a fourth six-bit byte:

 10110101   11010010   01101101
 ||         ||         ||
 ------>----------->------------> 00101101

So you end up with:

 00110101   00010010   00101101   00101101

Then you add 32 ($20) to each resulting value to get a number in the range
of 32 to 96 (ASCII value of printable characters).  For each line of
output, put the line length (normally 77 characters? - an uppercase 'M')
followed by the encoded characters.  A zero length line terminates (?).

Hope it helps.

 ...Chris
                  (K.FLYNN, CAT23, TOP19, MSG:11/M530;1)

<<<<<   Chris,
"""""
I've just become interested in this subject, and I'm wondering about
creating a utility for the Apple II (8 bit) that will encode/decode UU
and/or Base64.

From what I've seen of Base64 (Dave's explanation), this shouldn't be a
major problem. However, I've gotten at least two different takes on how UU
does it's coding, so I'm not sure how to proceed there.

Andy, over in the Internet RT, said that UU is done this way (which is
similar to Dave's description of Base64):

 | 7  6  5  4  3  2  1  0| 7  6  5  4  3  2  1  0| 7  6  5  4  3  2  1  0|
   |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
   v  v  v  v  v  v  v  v  v  v  v  v  v  v  v  v  v  v  v  v  v  v  v  v

 | 5  4  3  2  1  0| 5  4  3  2  1  0| 5  4  3  2  1  0| 5  4  3  2  1  0|

While you say...

 1 1 0 0 1 0 0 1    0 1 0 0 0 1 1 0    0 0 1 1 1 1 0 1
 ---                ---                ---

 0 0 0 0 1 0 0 1    0 0 0 0 0 1 1 0    0 0 1 1 1 1 0 1    0 0 1 1 0 1 0 0
                                                              --- --- ---
Is there more than one way to do UU?

Charlie
                 (A2.CHARLIE, CAT23, TOP19, MSG:12/M530;1)

>>>>>   Charlie,
"""""
  For some years now, I have been receiving earthquake reports off of
packet radio that are uuencoded.  I use a standard decoder that I think I
got off of AOL back when Apple //s were legal there.

Being an inquisitive fellow, I also remember downloading a file or two that
included the format for uuencoding and some source code (in C).  If you
like, and if I can find it - which I think I can, I'd be glad to upload it
for all to see.

Bob, AF6C
                (R.ECKWEILER, CAT23, TOP19, MSG:16/M530;1)

>>>>>   UUENCODE was developed to allow sending binary files over digital
"""""   communication links.  Many of these links allowed only the
transmission of the standard printable ascii characters.  Control codes
were used for other functions.  Also, many of these links truncated spaces
and blank lines.

UUENCODE expands the file to be transmitted by 33% (plus overhead) by
converting the binary file into one of 64 printable ascii characters
<space> thru <underscore>.  Also, since the space can be truncated on some
systems, later versions of UUENCODE further translate the space into the
back apostrophe (`) ascii 96.

Three 8 bit bytes are encoded at a time. The 24 bits are separated into
four six-bit 'bytes' and 32 is added to each of these 'bytes' to make it a
printable ascii character.

Let's convert $AB CD EF:

   10101011 11001101 11101111              <= $AB CD EF in binary (3 bytes)

   101010 111100 110111 101111             <= group into 6-bit "bytes"

   00101010 00111100 00110111 00101111     <= put it in 8 bit byte form
                                              by adding two leading 0
                                              bits. ($2A 3C 37 2F)

   01001010 01011100 01010111 01001111     <= add 32 ($20) to each byte
                                                    ($4A 5C 57 4F)

       J        \        W        O        <= equivalent ascii

Before going any farther, here is a two line text file and how it appears
after UUENCODING.  Of course UUENCODING a text file is kind of a waste, but
it makes a good example.

Here's the test file (each line ends with a <carriage return>):

Now is the time for all good men to come to the aid of their party!
The quick brown fox jumps over the lazy dog.

And here's that file UUENCODed:

 begin 644 testfile.txt
 M3F]W(&ES('1H92!T:6UE(&9O<B!A;&P@9V]O9"!M96X@=&\@8V]M92!T;R!TG
 M:&4@86ED(&]F('1H96ER('!A<G1Y(0U4:&4@<75I8VL@8G)O=VX@9F]X(&IU<
 7;7!S(&]V97(@=&AE(&QA>GD@9&]G+@U46
 ``
 end
 size 113

The "begin 664" tells the decoder that uuencoded data follows and the
"testfile.txt" is the filename that the file will be given.

The encoded data then follows. Each line starts with a line length
character and optionally ends with a checksum character.

Notice that each of the first two lines start with a capital "M".  This is
a line-length character. "M" = ascii 77 minus the 32 offset = 45. But if
you count the characters on one of those lines there are 62 characters. (61
characters if there is no checksum.)  The 45 refers to the number of 8-bit
bytes in that line prior to encoding. Forty-five bytes corresponds with 60
characters + one length and one checksum character adds to 62.

Likewise the 7 line length character on the third encoded line refers to 23
bytes. If the number of bytes on the list line is not divisable by three
the last group of four characters may only partially used.  Some programs
seem to pad zeros and others leave garbage. Since the number of bytes on
the line is known this is not a problem. In the example above the last four
ascii characters (+@U4) decode to $2E 0D 54 which is the ending period for
byte 112 and a carriage return for byte 113 (the last byte) followed by "T"
which is ignored garbage.

The next line just contains two back apostrophe characters, which marks the
end of file (Line length of zero). The "end" is a marker to tell the
decoder that it is finished.  Sometimes more than one file is encoded and
another "begin" is encountered instead of the "end".  UUENCODE allows for
more than one file to be transmitted.

The "size 113" is generated by the program I use and is not used by the
decoder. It is just ascii information and in usually not present when sent.

The checksum presents a problem across different versions of UUENCODE.
Most programs have a feature to allow ignoring the line checksum.  Richard
Marks in his program uses the sum of all the encoded characters, before
adding the mapping, modulo 64 as the checksum.  This appears to be the
correct method (according to information I've read - but I'm no expert).
The version written by Mark Horton and ported to the IIgs by Jeff Noxon
uses a different scheme; he uses the sum of the original, not the encoded
characters.  The version I used to encode the short text message above is
the Horton/Noxon version.

The Norton/Moxon version of UUENCODE and UUDECODE is available in the A2PRO
library as file 4926.

Hope this helps some,

   \ ___\ ___\
    \   !\    \
        A        Bob,
        H        AF6C
                (R.ECKWEILER, CAT23, TOP19, MSG:17/M530;1)

>>>>>   A2.CHARLIE
"""""
||  Andy, over in the Internet RT, said that UU is done this way...:
||
||  While you say...

Don't listen to me.  :)  I just pulled that off the top of my head from
some point in time from the ancient past.  That means more than a couple of
weeks ago.  :)

I double-checked and you're correct.  Three eight-bit bytes at a time are
packed into a bit stream and chopped back up into four six-bit bytes.  The
order of the bits does not change.

The actual format appears to be:

begin <filename> <filemode> <encoded line> <encoded line> end

Each encoded line consists of a length byte followed by up to 60 encoded
(45 unencoded) characters.  The length byte is the ASCII value represented
by 32 plus the number of unencoded characters in the line.  Any encoded
value that would be a space character (including the length byte) is
replaced by the back tick character (`).

...Chris
                  (K.FLYNN, CAT23, TOP19, MSG:19/M530;1)

<<<<<   Hmmm...
"""""
Somewhere in the last few days I've seen that mentioned as the backslash
(\). I did see that you put two back ticks (``) on the line following the
last encoded line, and then on the next line you put the word "end".

Am I confused (probably)?

Charlie
                 (A2.CHARLIE, CAT23, TOP19, MSG:20/M530;1)

>>>>>   A2.CHARLIE
"""""
|| Somewhere in the last few days I've seen [`] mentioned as the backslash
|| (\).

Nope, it's definitely a backtick according to the source code I saw.


|| I did see that you put two back ticks (``) on the line following the
|| last encoded line, and then on the next line you put the word "end".
||
||  Am I confused (probably)?

Yep, but only about me showing two backticks.  I didn't say that, though it
looks fine to me.

 ...Chris
                  (K.FLYNN, CAT23, TOP19, MSG:21/M530;1)

>>>>>   Yes, the last line (before the END, which is optional - it could be
"""""   another BEGIN for another file) has one or two back ticks (could I
have said backslash by mistake?).  The back tick is SPACE which is 32 which
decodes to zero. Thus the line length of the last line is zero.  The second
back tick is the checksum, also zero.

   \ ___\ ___\
    \   !\    \
        A        Bob,
        H        AF6C
                (R.ECKWEILER, CAT23, TOP19, MSG:24/M530;1)



[EOA]
[BAN]//////////////////////////////
                  FILE BANDWAGON /
/////////////////////////////////
Top 10 Files for February
"""""""""""""""""""""""""
by Douglas Cuff
       [D.CUFF]



     This feature lists the ten most popular files for the month.  To give
files a chance to seek their own levels, no files will be added to the list
until they've been in place at least a month.  This month, we look at the
files uploaded 1-28 February 1997.

     This isn't the Academy Awards ceremony, folks; it's more like the
People's Choice Awards (both of which are trademarked, by the way).  The
Top 10 doesn't necessarily tell you what's new and interesting--what files
_you_ might find interesting--it simply tells you what files have been
downloaded a lot--what other people found interesting!

     This month, GenieLamp A2 occupies four spots on the list, but we're
just counting that one file.  We hope this explains why there are 13 files
on the Top 10 list.

File #  Filename          Bytes  DLs  Short description
------  ---------------  ------  ---  -------------------------------------
28342   A2.DOM.9702.BXY  416640   82  A2 Disk of the Month, Jan/Feb 1997
28307   MEGABOX201.BXY    19840   61  MegaBox 2.0.1 - NDA Music Player
28302   ALMP9702TXT.BXY   64896   53  GenieLamp A2 February 1997 Text
28301   ALMP9702AWP.BXY   72192   51  GenieLamp A2 February 1997 AWP
28313   PATCH.INFO.BXY    10368   36  AppleWorks 5.1 Patcher Information
28336   ALMP9702.HS.BXY   95360   25  GenieLamp A2, Feb. 1997 (HyprStudio)
28309   BESTMODS.01.BXY 1272704   25  Best MODs Collection Number 1
28304   A2.JAN.ADB.BXY     3228   24  ADB Update of A2 Library Index - JAN
28334   BESTMODS.06.BXY 1064448   21  Best MODs Collection Number 6
28305   FEB97DESK.BXY    467484   21  Desktop background INIs for Feb. 97.
28300   ALMP9702.ASC     119992   20  GenieLamp A2 February 1997 ASCII
28321   BESTMODS.04.BXY 1086592   18  Best MODs Collection Number 4
28339   BESTMODS.08.BXY  908544   16  Best MODs Collection Number 8

A2.DOM.9702.BXY   Genie's A2 Disk of the Month has moved to a bi-monthly
"""""""""""""""   schedule.  This edition begins with the Dean's List and
two issues of GenieLamp A2 (January and February 1997).  In the directory
for all Apple II's, there's AutoMenu, a BASIC program selector to run only
the executable files on your drive, and Fresh.It.Patch, instructions to
patch AppleWorks v5.1 so that the desktop does not shrink each time you
re-run it. In the Apple IIgs folder, there's FontViewer, v2.0 of the
genealogy program Pedigree, and two picture-viewing utilities, Eye (a
Finder extra that needs to be placed in System:FinderExtras) and GIFview, a
quick 'n' dirty program for GIF graphics.  Freeware and shareware.

MEGABOX201.BXY   MegaBox v2.0.1 by Rolf Braun is a music-player in an NDA
""""""""""""""   that can handle SoundSmith, Midi Synth, and NoiseTracker
GS music files.  The program hasn't changed since v2.0; only the
documentation and some supplementary files, which are now included. Either
public domain or freeware; the documentation isn't clear.

ALMP9702TXT.BXY   Four editions of the February issue of GenieLamp A2 grace
"""""""""""""""   our Top 10 list this month--in order of popularity, the
standard text file edition, the AppleWorks word processor edition, the
HyperStudio edition, and the "linefeeds added" unshrunk text file edition.
All four editions feature the same great articles--the reinstatement of
A2Pro RoundTable coverage, a review of Quick Click Morph, and a profile of
software author Bret "Slixter" Victor.  Freeware.

PATCH.INFO.BXY   Here are two files detailing the AppleWorks patches made
""""""""""""""   available in Bev's Free Patcher v6.5, available from
Beverly Cadieux of Kingwood Micro Software / TEXAS II.  The lion's share of
the approximately 130 patches are for the most recent version of
AppleWorks, v5.1.  These two files are freeware.

BESTMODS.01.BXY   Part 1 of a series of "Best MODs" (music modules)
"""""""""""""""   uploaded by Russell Nielson.  These 9 Amiga music modules
may be played using favorite MODule player--Nielson suggests Deskplay:
Captive 2, Dirty Mary 2, FunkySong, Kingdom of Pleasure, Leave Me Alone,
Living Proof, LK (Lizard King), Pelforth Blues, Spacedweeb, Taproot, The
Code of Pulse, and Walking in the Space.  Freeware.

A2.JAN.ADB.BXY   An AppleWorks data base file of all the uploads to Genie's
""""""""""""""   A2 library during the month of January 1997--42 files in
all.  Freeware.

BESTMODS.06.BXY   These 9 Amiga music modules may be played using favorite
"""""""""""""""   MODule player:  Acid Jazz, Clairvoyance, Decibel
Overload, Fury Forest, Glutturale, Love Anarchy, Nitabrowski, Odyssey Part
1, and Street Jungle.  Freeware.

FEB97DESK.BXY   A collection of 61 pictures in .INI format, to allow the
"""""""""""""   graphics to be used as the background for desktop programs
(replacing the standard periwinkle blue).  Almost all of these pictures
focus on Valentine's Day--cupids, hearts, flowers, and the like--and as
usual, there are many variations on some of the graphics (larger and
smaller versions, mirror images, different backgrounds).  Of the Valentine
graphics, the best in my opinion are HEART3.INI (showing candy hearts with
messages on them, or "conversation candies") and HEARTS2.INI, a nice
pattern of large and small red hearts on a white background.  There are a
few graphics not on the Valentine theme:  GRHOGDAY.INI, concerning
Groundhog Day (February 2); PRESDAY.INI, concerning the American holiday
President's Day (February 17); and RED.DRAGONa.INI, concerning a holiday I
confess I am in ignorance of.  (Readers?)  Two graphics which may appear to
be exceptions are the series CHRSTY3A.INI, CHRSTY3b.INI, CHRSTY3c.INI,
which are very abstract representations of a heart pattern (and therefore
not limited to use at Valentime) and the series VAL1.INI, VAL2.INI,
VAL3.INI, which are sirds, or hidden three-dimensional pictures.  (Avoid
the last one, VAL3.INI, which has been imperfectly translated.)  Freeware.

BESTMODS.04.BXY   These 9 Amiga music modules may be played using favorite
"""""""""""""""   MODule player:  CPLX TaiPan Preview, Hmmmmma, Let there
be Funk 2, M0rk Sone 2, Rubicon, So What, Tan, Technomania, and
Tranzeseven.  Freeware.

BESTMODS.08.BXY   These 9 Amiga music modules may be played using favorite
"""""""""""""""   MODule player:  Enigma, Entity, Gratitude, Herald, It's
Phenomenal, Klisje Paa Klisje, Macnormalia, Mandelforce, and Marek
Bilinski.  Freeware.



[EOA]
[PDQ]//////////////////////////////
                    PD_QUICKVIEW /
/////////////////////////////////
Yours For The Asking
""""""""""""""""""""
by Douglas Cuff
       [D.CUFF]



          Program Name:      Change-A-File
          Filename:          CF.4.22.BXY
          Program Number:    24287
          File Size:         27392
          Program Type:      utility
          Author:            Harold D. Portnoy
          Version Reviewed:  v4.22
          File Type:         freeware & shareware
          Requirements:      Apple IIe, IIc, IIgs


FROM THE AUTHOR   CHANGE-A-FILE is a batch file utility that reads
"""""""""""""""   AppleWorks Word Processor (AWP) and text (TXT) files;
converts AWP files to TXT files, TXT files to AWP files, and AWP 3.0 (AWP
4) files to AWP 2.x files; restores damaged AWP and ADB (data base) files
(including AW4); change file or auxiliary type codes, and strip or insert
line feeds.  Up to 88 files in a directory or subdirectory can be altered.
This program uses the ProSel format.  CHANGE-A-FILE is particularly useful
to the AppleWorks (AWKS) user and to prepare files for uploading or alter
files after downloading.

                                 [*][*][*]

                     .                       __
                    (^)        <^>         /~  ~\
                     \-=======_/"\_======-/     \)
PD_Q RATING          "\.        1       ./"
"""""""""""             "\._    _   _./"
 .                       __  (_____) .                       __
(^)        <^>         /~  ~\       (^)        <^>         /~  ~\
 \-=======_/"\_======-/     \)       \-=======_/"\_======-/     \)
 "\.        2       ./"              "\.        3       ./"
    "\._    _   _./"                    "\._    _   _./"
         (_____)                             (_____)
 .                       __          .                       __
(^)        <^>         /~  ~\       (^)        <^>         /~  ~\
 \-=======_/"\_======-/     \)       \-=======_/"\_======-/     \)
 "\.        4       ./"              "\.        5       ./"
    "\._    _   _./"                    "\._    _   _./"
         (_____)                             (_____)

                            FIVE LAMPS                       (1-5)


PD_Q COMMENTS   Change-A-File is a utility that comes in two parts.  The
"""""""""""""   first part is free--three commands for manipulating text
files, one command for typing text and AppleWorks word processor files (to
the screen or printer), and one command for altering file types--five
commands in all.

     The three commands for manipulating text files--

          L-  Strip Linefeed
          C-  Strip Control Character
          I-  Insert Linefeed

--are not unique to this utility, but I like the batch implementation here.
You can choose to strip or insert linefeeds, which is value to those who
know that Apple, IBM, and UNIX all use different "newline" (or "end of
line") sequences.  Apple uses the carriage return online.  IBM uses the
carriage return plus linefeed.  UNIX uses the linefeed only.  You begin to
see why inserting and removing linefeeds are important.  If you the World
Wide Web a lot, you'll probably find yourself with a lot of UNIX text
files.  Change-A-File not only lets you strip the linefeeds, but optionally
lets you change the linefeeds to carriage returns--very useful indeed.

     To be sure, there are other utilities to handle the insertion and
stripping of linefeeds--AppleWorks can now handle this internally with a
simple macro, for instance--but I've found none so handy as Change-A-File.
The ability to strip _any_ control character is also handy, even if the
interface is slightly counter-intuitive--it sends me diving for the
documentation file every time.  To strip Control-Z, for example, press Z
(not Control-Z) and then Return.

     The utility to view TXT and AWP files is nice, too, but it can only
scroll forward, not back, as File-A-Trix does.  On the bright side, it
handles AppleWorks centering and indenting commands properly, which is more
can do.  To be honest, I keep forgetting about the ability to change the
file type, auxiliary type, and the eight bits of the access code--so many
other utilities offer similar capacity with a similar interface.

     All five commands I've described so far are absolutely free, and make
the program well worth having because of its handy interface.  If you pay
author Harold Portnoy a mingy $10, you'll get a password to unlock
Change-A-File and will get six more commands.  When unlocked, Change-A-File
really comes into its own.

          W-  AWP File to TXT File
          T-  TXT File to AWP File
          X-  AWP 3-5 to 2.x File
          E-  Exhume AWP File
          D-  AWP File Doctor (AW 2-5)
          R-  Repair ADB File (AW 2-5)

     The ability to change AppleWorks files into text files is nothing
new--AppleWorks now handles the matter perfectly adequately--but again,
this program makes it even easier.  It's actually worth the hassle of
quitting AppleWorks and launching the Change-A-File program--praise doesn't
get any richer than that.  For starters, you can be sure that your centered
and indented text will be treated properly.  You can translate a slew of
files at one time, and you can easily choose to have each line end with or
without a hard return.

     The routine to change TXT files into AWP files isn't quite as good--it
doesn't always update the screen display properly when you first load the
file--but it's still an appreciable time-saver.  You can start working with
a large pre-converted file more quickly than you can a text file.  The
latter has to be loaded onto the desktop and then converted for the word
processor module once you enter the file.  The second stage takes time.

     The file recovery and repair utilities are life-savers.  I don't
suppose I've had to use them more than half a dozen times in the last three
years, but each time they've come through for me.  "Exhume AWP" is the
first command to try on word processor files that won't load, and if that
doesn't work, you move onto the "AWP File Doctor".  (You can sometimes
benefit from trying both commands.)  "Repair ADB File" does much the same
thing, except--obviously--for data base files, and for that reason is even
more valuable.  With a word processor file, there are always alternatives,
but a data base file is much trickier to resurrect, making the final of the
six commands useful indeed.

SUMMING UP   If I had to list the two utilities I use most on a daily
""""""""""   basis, Change-A-File would come third, after the File-A-Trix
Classic Desk Accessory (Apple IIgs only) and Cat Doctor (part of the
commercial ProSel package, available in separate Apple IIe/IIc and IIgs
versions).  It keeps growing with me as I want to send out text or collect
it, and I wouldn't want to be without it.


RATING SYSTEM
"""""""""""""

          5 LAMPS.........What? You haven't downloaded this program YET?
          4 LAMPS.........Innovative or feature rich, take a look!
          3 LAMPS.........Good execution, stable program.
          2 LAMPS.........Gets the job done.
          1 LAMP..........A marginal download.
          0 ..............GenieLamp Turkey Award!



[EOA]
[BTS]//////////////////////////////
               BEHIND THE SCENES /
/////////////////////////////////
With _Juiced.GS_ and the Spectrum Internet Suite development team
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
by Max Jones
[M.JONES145]

(C) 1997, Max Jones, Juiced.GS
All rights reserved



     The Apple II world has been buzzing since early March when it was
greeted with the news that Spectrum Internet Suite, a full-featured World
Wide Web browser, had been developed for the IIgs.

     Final production details are being worked out by SIS publisher Seven
Hills Software. If all goes well, SIS could begin shipping during the first
week of April.

     The product announcement, first made in the Winter '97 issue of
Juiced.GS and a day later in a Genie Apple II Roundtable Real-Time
Conference, may go down as one of the most stunning project developments in
Apple II history. While common wisdom dictated that TCP/IP, the complex set
of protocols that drive telecommunications on the Internet, would be needed
for the IIGS before a Web browser could be developed, Spectrum Internet
Suite was designed so that it did not need it.

     In fact, the basic requirements for running SIS include only Spectrum
v2.1,  either a Unix shell or Genie account, and a fairly robust hardware
configuration with extra RAM, hard drive and high-speed modem. An
accelerator is highly recommended.

     The development of SIS represents an intensive, seven-month project
begun last July during Kfest '96 in Kansas City, Missouri. It was then that
Spectrum author Ewen Wannop, Seven Hills partner Dave Hecker, and Apple II
programmers Richard Bennett and Tim Buchheim, met up with Geoff Weiss, a
systems administrator for an East Coast Internet service provider.

     Discussions among this small group planted the seeds that have now
blossomed into a product many thought would never be possible on an Apple
IIgs. Wannop wrote the Spectrum add-ons, Weiss wrote the powerful scripts,
Hecker guided the development team, and Bennett and Buchheim served as
consultants. Also joining the team within weeks of its formation was Ken
Lucke, a master Spectrum scripter in his own right who has been involved
with Spectrum development since its early days.

     I had the pleasure of being asked in mid-January by the SIS team and
Seven Hills to become a beta tester for the final phase of development. I
used what I learned to prepare my article for the Winter issue of
Juiced.GS. As it turned out, that article was the first to be published
about the project.

     While doing exhaustive testing on SIS, I also had the opportunity to
interview Wannop, Weiss and Hecker about the project. I have compiled major
portions of those interviews and am pleased to share them with _GenieLamp
A2_ readers this month.

                                 [*][*][*]

     Following are portions of an interview conducted in early February
with Spectrum author Ewen Wannop.

Juiced.GS>  How did Spectrum Internet Suite come to be?
"""""""""
Ewen>  When I got to Kfest last year, the one thing I was hoping to see was
""""   Derek Taubert's Internet Tools and TCP/IP in action. Accessing the
Internet in my opinion was the last big frontier for the IIgs to break
through. If it was not able to join the Net revolution soon, then I felt
the IIgs was unlikely to survive into the next millenium.

     Unfortunately, Derek was unable to get to Kfest, and nobody had been
authorized to show his work in progress.

     This left me very frustrated. I had not even started to do anything
along Net lines, as I had made assumptions that it would be necessary to
have TCP/IP in order to do anything with the Net. Also, I had been very
busy right up to the day before I flew to Kfest, getting Spectrum v2.1
ready.

     During Kfest I met face to face with those who had only been names up
to that time. I had been introduced to Geoff Weiss quite early on, as I had
borrowed his IIgs and enormous screen for my Spectrum demonstration. It was
not until the last night of the fest, after we had got back from Jess and
Jim's steak extravaganza, that a small group of us got together in Geoff's
dorm room and SIS was born.

Juiced.GS>  Could you share with us some of what happened that night?
"""""""""
Ewen>  Geoff had his Mac connected to the Net, and many of us had been
""""   browsing with it over the three days of the fest. That fateful
night, Richard Bennett, Tim Buchheim, Dave Hecker, Geoff and myself started
talking. We all lamented the fact that Derek Taubert had not finished his
TCP/IP, and that this was really holding us all up in getting connected to
the Net with the IIgs.

     Geoff then dropped a bombshell. He said that you did not TCP/IP to
access the Net, and that there was another route that anybody with an ISP
provider could use. Geoff asked us to give him a Web URL, and then he then
proceeded to type a few commands into his Mac. Lo and behold, HTML poured
onto his screen!

     I think all our mouths just dropped in unison as the implications of
this struck home. Richard and myself were aghast. If we had known about
this sooner, I am sure we would have been showing working browsers and
other Internet goodies at Kfest last year!

     We quickly realized we now had some very important information, and so
a working group was instantly set up with those who were grouped in that
dorm room. Seven Hills was to mastermind the project, and they agreed to
publish it. The moment I got back home to England, I started working on the
browser. Within a month or so, I had the first Beta version available for
testing.

Juiced.GS>  But wasn't SIS a combined effort?
"""""""""
Ewen>  Until I had a working browser, or at least one that could interpret
""""   HTML and display it meaningfully, nothing much else could happen
with the project. I had decided quite early on that the quickest way to get
anything working was to use the existing power of Spectrum. There was no
point in reinventing wheels.

     For this reason the browser was built as a drop-in Spectrum Online
Display. In order to control the special display, I made it also conform to
XCMD structure. This meant it was a new kind of hybrid display and XCMD, so
I simply called it an XDisplay.

     With the first test version, I had prepared a very simple script that
could at least tell me that it was working, and could load in HTML text
files to test the display. I uploaded this to the testers, and concentrated
from there on on the actual display itself. Geoff Weiss and Dave Hecker
started working on the scripts straightaway, but very soon Geoff, with his
amazing knowledge of how the Net works, took the scripts on, and has worked
on them ever since.

     The scripts are really the core of SIS. The browser actually
interprets the HTML and displays it, but apart from a few functions that
were better done in assembler, the main part of SIS is achieved by the
controlling scripts. It only goes to show that we really do have a very
powerful scripting language in Spectrum!

     The beta testing team grew over time, and their contributions were
invaluable, not only in reporting bugs, but in helping us decide what
should and should not be included in the browser. The title 'Spectrum
Internet Suite' or SIS, was coined quite early on.

Juiced.GS>  What has your life been like over the last seven months since
"""""""""   SIS was born?

Ewen>  Well, that is an easy one. It has really been no different from the
""""   previous five years or so during Spectrum develop. Oh, and I suppose
my e-mail count has risen somewhat. One day, I think I counted over a
hundred messages whizzing around the testers.

     Apart from the unfortunate need to go to work every so often, my days
are filled from morning till late at night, debugging, testing and
developing. The one thing that has changed though, is that work on the
browser, and its various parts, has taken precedent over Spectrum itself. I
have an increasing list of things that need to be done for any future
versions of Spectrum, but have just not had the time to tackle them.

Juiced.GS>  Where do you see SIS going from here?
"""""""""
Ewen>  We are very pleased and excited to have made the IIgs access the Web
""""   through SIS. There are some limitations with the access method we
currently use, and if Derek Taubert ever gets his TCP/IP finished, then I
would hope that we could link into that, and give SIS more flexible access
to the Net.

     The scripts can be further developed to provide even more of the
features that are normally expected from Net access. Geoff had not done
much Spectrum scripting till he tackled this project, and I think he was
suprised how powerful and flexible Spectrum scripting was. If we can keep
him at it, I am sure we might see even more SIS features in the future.

     We were not able to provide onscreen graphics as part of the display.
Fast as the IIgs may be, it was just not up to the speed required, or the
screen resolution needed, to show pictures. Perhaps we could do something
with showing graphics on demand, but this will depend on some other key
features being resolved first.

Juiced.GS>  What are your plans for the future?
"""""""""
Ewen>  I shall have much more time on my hands after the beginning of
""""   April.  I plan to spend a great deal of it in front of the keyboard.
There are still many projects that I would like to tackle, which I have
just not had time to even start until now. The IIgs is definitely not dead
as we have just proved. It has a great deal of life left in it yet!

                                 [*][*][*]

     Following is an edited transcript of an interview conducted in early
February by Juiced.GS with SIS scripter Geoff Weiss.

Juiced.GS>  How did you come to be involved with the birth of Spectrum
"""""""""   Internet Suite at Kfest '96?

Geoff>  Dave Hecker and Ewen Wannop tended to hang out in the area near my
"""""   room. I stumbled into a conversation with two other people and
learned that Seven Hills was given a suggestion of how to possibly design a
Web browser for the IIgs without using TCP/IP.  I was in disbelief how easy
the network connection worked and wanted to test it out immediately.  We
used my roommate's local (Kansas City based) ISP to connect to my work.
The commands we initially tried did not work.  All of a sudden, I
recognized the commands as something I had seen in operating our Web
server.

     After a few minutes in getting to the right file, I figured out what
we were doing wrong.  We went through the set of commands and lo and
behold, the entire contents of my company's home page was displayed in its
pure HTML form.  I remember being stunned thinking that was incredibly
simple and couldn't believe a Web browser couldn't have been developed for
any Apple II in four years. After a little more work, I figured out how to
access pages besides the home page of a site.

     I remember this being an incredible day and saw that my IIgs could
last a few more years as my sole computer.  It was decided that since
Spectrum is a WYSIWYG IIgs telecommunication program, a Web Browser could
be easily developed using much of the built-in macro functions.  The
display that generates the Web page would be written in assembly langauge
by Ewen.  Just about every other Web Browser in existance is based on a set
of C library routines, but this GS Web browser would use assembly for the
quickest page generation possible.

Juiced.GS>  At what point did you become part of the development team?
"""""""""
Geoff>  Roughly six weeks after KansasFest, Dave (Hecker) gave me the
"""""   option to be a beta tester for the browser.  Of course I accepted
since I wanted to be one of the first people to browse the Web on a IIgs.
The script I received was written to work only on Genie.  I rewrote the
network connection so it worked with my ISP.  In less than an hour, I could
load my Web page on my IIgs.  This was very exciting.

     But, the user interface was very, very simplistic.  After the browser
started, one had to select a menu item to bring up a window to enter a Web
server on one line and the Web page on another line.  I found this
interface to be very, very clunky since I use Lynx and Netscape
Navigator all the time.  I spent a bit of time modifying the interface to
make it "feel" more like the Netscape Navigator.  The winow to select a
Web server and page was changed to follow the normal URL syntax.  More
modifications included support for relative URLs and a complete redesign of
the menus so it was more intuitive.  It wasn't until Thanksgiving when the
browser actually started to look like Netscape Navigator with buttons and
an URL entry line on a toolbar.  A common Netscape Navigator feature like
going forward and backward in the History List wasn't added until
mid-December.

Juiced.GS>  What has your life been like the past seven as SIS development
"""""""""   intensified?

Geoff>  Since I have a full time job as a system administrator for a small
"""""   ISP in Washington, D.C., IIgs development is done on a part time
basis.  I mostly considred writing the browser as "fun."  I have to
consider this as fun since I'm not going to make any money on the browser
(well, I will get some financial compensation based on sales, but any money
I make will not cover the time I actually spent on development I put in).

     There was a time at the first two weeks of November when our system
had a major server crash and I couldn't do any work on the browser.  It was
understood by Dave and Ewen that my priorities were at work and browser
development had to wait.

     At the beginning of January, I was getting frustrated since our
network connection started having problems accessing certain Web sites.  I
was at a point where I thought we had to give up the entire project.  There
were only a few of us who knew about the browser.  I was thinking we could
keep it a secret and be the only ones who had Web access on a IIgs.  I
don't remember when my pessimism wore off, but a few development specs were
changed to get around the problems I was facing.

Juiced.GS>  Now that SIS has been completed and is such an excellent piece
"""""""""   of software, you must be happy you stuck with it in tough
times.

Geoff>  Over the course of seven months, there were some weekend mornings
"""""   that I didn't get to sleep until 6 a.m. working on the browser.
There were weeks when I got nothing done just trying to resolve a stupid
bug.  But looking back at it all, it is incredible that a fully functional
Web browser could be developed for the IIgs in the spare time of a few
dedicated individuals in only seven months.

                                 [*][*][*]

     Following is an edited transcript of an interview conducted with Seven
Hills Software partner Dave Hecker in early February.

Juiced.GS>  Please trace for us the steps leading up to the discovery of
"""""""""   the Web access method used by SIS and the decision to develop a
browser.

Dave>  Shortly before Kfest I had some exposure to servers, ports, and
""""   other networking issues that got me wondering if there wasn't a way
to retrieve web pages without requiring TCP/IP.

     At the Kfest roast I sat between Richard [Bennett] and Ewen, and by a
stroke of luck Tim Buchheim was sitting across from me. I was asking
Richard and Ewen, "How does this work" and "How does that work", and
eventually I put it all together. "So if I did X and Y (without a TCP/IP
connection), could I retrieve the HTML code for a web page?"

     Here's where the luck comes in: While Richard was pondering, Tim pipes
in, "Sure! You just do X and Y, then A and B, and you'll get the HTML
code."

     Back in the dorm that night, we were talking again and really wanting
to do a little testing of our newly-assembled knowledge. Luck visits again,
and Richard asked Geoff Weiss if we could borrow his Unix account.
"Sure!"

     Geoff pounds out some commands. Close. A few more. Closer. A few more.
Bingo! There's the full text of a Web page! Disbelieving what he just
saw, Geoff tries another site. Bam! Then another.

     I asked Richard a few more questions, and Geoff offered some answers.
Turns out he administers a Web server and knows a LOT about a missing piece
of the puzzle!

     From there the idea just took off. Within a few short weeks after
Kfest we were actually cruising the web! On a IIGS! Without the "required"
TCP/IP! AMAZING!

Juiced.GS>  Amazing, indeed. But the method of getting to that point turned
"""""""""   out to really be quite simple?

Dave>  For what it's worth, the solution to not needing TCP/IP had existed
""""   all along ... it just took some luck to ask the right questions of
the right people at the right time! In hindsight, the solution was so
obvious we could not believe no one had thought of it before.

                                 [*][*][*]

                          >>> ABOUT JUICED.GS <<<
                          """""""""""""""""""""""

     _Juiced.GS_ is a quarterly printed magazine dedicated to the people
and products that keep the Apple IIgs going strong.  In 1996, the
magazine's inaugural year, _Juiced.GS_ went out to 295 paid subscribers in
42 states and 11 foreign countries.

     SUBSCRIPTION INFORMATION:

     A 1997 subscription is available for $14 in the U.S., Canada and
Mexico; $20 elsewhere in the world.

     A set of the four 1996 issues is also available for $14 in the U.S.,
Canada and Mexico; $20 elsewhere.

     Renewals:  If you were a 1996 subscriber, your subscription expired
with Volume 1, Issue 4, Fall '96. If you have not yet renewed your
subscription, or did not also subscribe for 1997 when you purchased your
1996 subscription, now is the time to renew. The Winter '97 issue (Volume
2, Issue 1) was published the first week of March.

     New subscriptions and renewals should be addressed to:

     Max Jones
     Juiced.GS
     2217 Lakeview drive
     Sullivan, Indiana  47882

     Send checks or money orders in U.S. funds payable to Max Jones. Sorry,
no credit cards or purchase orders can be accepted.

     _Juiced.GS_ has a home page on the World Wide Web. Pay us a visit the
next time you're cruising the web. The URL is:

     http://users.ids.net/~kerwood/juiced.gs

     E-mail to _Juiced.GS_ should be directed to:

     Genie:  M.JONES145
     Delphi:  JuicedGS
     Internet:  m.jones145@genie.com  -or-  juicedgs@delphi.com



[EOA]
[RWA]//////////////////////////////
            THE REAL WORLD APPLE /
/////////////////////////////////
Connecting to the World Outside
"""""""""""""""""""""""""""""""
by Peter C. Brickell
        [P.BRICKELL]



         >>> PART 3B:  BUILDING AN APPLE II TEMPERATURE SENSOR<<<
         """"""""""""""""""""""""""""""""""""""""""""""""""""""""

     In this installment I will be carrying on from my previous discussion
of the theory of using thermistors as temperature sensors for the Apple II.
I'll give some specific information on building a practical thermistor
circuit for the Apple game port.

     First though, I'll review the last two installments.  In Part 2 I
talked about how timing delays can be programmed into the Apple to do
elapsed time measurements.  I gave some simple examples in Applesoft.
Machine language can also be used for greater accuracy of timing.

     In Part 3a I described how the Apple's paddle input lines are used to
indirectly measure resistance using a built in timing routine.  The usual
type of resistance which is measured by these lines is the variable
resistors in a set of paddles or a joystick.  In these cases, the value of
the resistance is directly related to the position of the paddle or
joystick.

     I discussed how a temperature sensitive resistor (thermistor) can be
substituted for the paddle or joystick resistor to allow the Apple to
crudely measure temperature with the PDL() command from Applesoft.  I also
stated that for better accuracy of measurements with a thermistor that a
machine language routine, a larger capacitor in the circuit, and some form
of calibration program are needed.  Now, on with the show!


                              >>>SOFTWARE<<<
                              """"""""""""""

     To measure temperatures accurately you will need a machine language
program which can accurately time the charging of the larger external
capacitor used in this design.  The project is taken from the book "Chaos
in the Laboratory" by Vernier Software, and a program disk is included with
the book.  The book (which contains many other Apple II interfacing
projects) is priced at $25.95 according to their 1997 catalogue.  It has a
suitable temperature measuring routine on the disk and an Applesoft output
program which can be easily modified to suit the user.

     You will also require a calibrating program.  This is also included on
the disk that I mentioned above.  Enterprising programmers who feel up to
writing their own routines will not need these.  The general idea is that
three variable values must be established to accurately describe the
thermistor temperature response.  This means setting up and solving three
simultaneous equations (which is more programming than I was prepared to
take on)  Using the Vernier software I have been able to read temperatures
accurately to about 0.2 degrees Fahrenheit.

     I will describe some project modifications at the end of this article
to allow crude use of a thermistor probe without the software I mentioned
above, but for accurate temperature measurements, you will need these
programs and the following design.

                              >>>HARDWARE<<<
                              """"""""""""""

     You will need only three parts to build the thermistor sensor for the
Apple, other than some wire and your soldering equipment and skills.

     You will need:

1) A thermistor with a negative temperature coefficient (i.e. resistance
   goes down as temperature goes up).  The room temperature resistance
   should be about 10 k ohms.  These are available at Radio Shack and
   electronics shops.  They should cost less than a dollar a piece.

   To start with, a plain bead type is satisfactory.  I will get into some
   of the variations later.

2) A 4.7 microfarad capacitor rated at 10 volts or more.   Some are much
   better than others at keeping their capacitance constant over a range of
   temperatures.  The best are the metalized plastic caps (polyester,
   polypropylene, polycarbonate).  The least stable (but cheapest) are
   electrolytic and tantalum types.  Note: these last two types are
   polarized.  You must install them with the correct polarity.

3) A 16 pin DIP (Dual Inline Package) plug to fit into your Apple's game
   I/O port.  If you are using a //c for this, you will need a DB-9 "D"
   style male connector to plug into your game port.  Again, Radio Shack or
   an electronics supplier should have these.

     The only other materials are some thin, insulated wire and some
insulating tape.  For those who may not wish to hunt around for components,
Vernier Software at one time sold a parts kit for this project.  I don't
know if it is still available, but it may be worth asking.


                              >>>ASSEMBLY<<<
                              """"""""""""""

     Once again I am assuming that you know how to use a soldering iron and
have some familiarity with electronics assembly.  Even though you are not
working directly on your computer, a mistake in assembly could damage your
Apple once you connect the sensor to the computer.  If you aren't sure
about how any of this is done, have a friend who is familiar with
electrical work give you a hand or check your work over before plugging it
into your computer.

1) Decide how long a lead you want for your temperature sensor and cut two
   wires this length.  Solder one to each lead of your thermistor.  At this
   point you should insulate the bare leads of the thermistor.  If you
   don't, they may touch and short out during use.  This won't cause any
   damage, but will give erroneous temperature readings.

2) Connect one thermistor wire to the +5 volt line on your game port plug.
   On the 16 pin DIP plug, this is pin #1.  If the pins are not numbered,
   the end of the plug with the #1 pin will be indicated with a notch or
   some other marking (see the following ASCII schematic).  Looking at the
   top of the plug, the #1 pin will be at the top left.  On the DB-9 plug
   for //c users, the +5 volt line is pin #2.  These pins will usually be
   marked.

3) Connect the other wire from the thermistor to the PDL 0 line.  On the 16
   pin connector it is pin #6.  On the DB-9 connector, PDL 0 is pin #5.

4) Solder a shorter wire to each lead of your capacitor.  Mark the positive
   wire if you are using a tantalum or electrolytic capacitor.  Otherwise
   the two leads are interchangeable.  You may want to mount the capacitor
   on a small circuit board or in a plastic box to protect it and keep it
   out of the way.

5) Solder one capacitor wire to the PDL 0 line as you did in (3) above with
   the thermistor wire.  If you are using a polarized capacitor, this MUST
   be the positive (+) wire from the capacitor.

6) Solder the remaining capacitor wire to the ground (GND) pin of the game
   port plug.  On the 16 pin connector this is pin #8.  On the DB-9
   connector, the GND line is pin #3.

                                                           ASCII ART BEGINS


16 PIN I/O CONNECTOR (from above):
                _________      __________
               |         \____/          |
         +5 V  | 1 X                 16  |
               |                         |
               | 2                   15  |
               |                         |
               | 3                   14  |
               |                         |
               | 4                   13  |
               |                         |
               | 5                   12  |
               |                         |
        PDL 0  | 6 X                 11  |
               |                         |
               | 7                   10  |
               |                         |
         GND   | 8 X                  9  |
               |_________________________|



THERMISTOR CIRCUIT SCHEMATIC:

    +5 V  ________________
                          |
                          |
                         / \
                        ( T )      Thermistor
                         \ /
                          |
    PDL 0  _______________|
                          |
                          | +
                      ____|____
                        _____      Capacitor
                       /  |  \     (+/- apply if polarized)
                      /   |   \
                          | -
     GND  ________________|
                                                             ASCII ART ENDS

     That's it!  You now have a thermistor temperature sensor for your
Apple.  Before you plug it in, check your work carefully to be sure that
nothing is incorrectly wired, shorted, or incompletely soldered.

     This project can even be built without soldering if you use a small
breadboard for assembly and a crimp-type 16 pin plug.  I don't recommend
this approach for any type of permanent installation, and the accuracy may
be slightly affected by the built in capacitance of the breadboard itself.
However, for experimentation it is a very easy and quick way to work.

     To test out your work, check the resistance between pin #1 and pin #6
(pins 2 and 5 on the DB-9).  It should read approximately 10 k ohms (the
same as your thermistor).  The resistance should also decrease as you warm
up the thermistor with your fingers.  Pins #1 and #8 (2 and 3 on the DB-9)
should have an infinite resistance, as should pins #6 and #8 (3 and 5 on
DB-9), although you may get a momentary low resistance reading as the
capacitor charges up.  If all this checks out, you are ready to proceed.

     To use the sensor is very simple.  Turn off your computer and plug in
the Game Port plug into the appropriate socket (16 pin socket inside a ][
Plus, //e, or //GS, or the external DB-9 socket for a joystick on the //c).
With the 16 pin connector, make absolutely sure that you plug the pin 1 end
of the plug into the pin 1 end of the socket.  Very bad things can happen
if you do this backwards!  Both the plug and the socket will have some type
of marking or notch to indicate which is the pin 1 end.  Also, be careful
not to mis-align any pins when putting in the plug.

     Start up the computer and run the temperature measuring software.  It
will allow you to continuously display timing counts to start with.  These
should vary as you touch the thermistor and warm it up.  Once everything
appears to be working properly, you can calibrate the thermistor using the
calibration routine that is part of the program for making temperature
measurements.

     The calibration routine requires you to put the thermistor in three
different regions of known temperature and input the actual temperature.  I
put my thermistors inside a plastic bag and immerse them in 3 beakers of
water at different temperatures.  From then on the program can calculate an
unknown temperature by itself and you're in business!


               >>>MODIFICATIONS FOR SIMPLE APPLESOFT USE<<<
               """"""""""""""""""""""""""""""""""""""""""""

     If you don't want to bother with getting special software to try out
the thermistor sensor, you can use it in a simplified form with only the
PDL command to read a crude temperature.  As I described in an earlier
installment, you are limited to one of 256 values (0-255) with this
command, so it is not really suitable for much more than experimenting.

     To use a thermistor in this mode, you do not use the 4.7 microfarad
capacitor or the connection to the GND line.  You also must use a
thermistor which has a resistance of approximately 150 k ohms at the
minimum temperature that you will want to use it at.  This may take a
little hunting to find, but most large electronics houses have a fair
selection of thermistors.

     To use such a thermistor, connect the leads to the PDL 0 and + 5 volt
lines of your computer directly (see above discussion for pin numbers).  In
this way it will mimic the action of a game paddle resistor, and you should
be able to make readings using the Applesoft PDL(0) command.   A simple
routine is:

          10 HOME
          20 VTAB 10: HTAB 15
          30 X = PDL(0)
          40 PRINT X
          50 GOTO 10

     This will give you a continuous display of the PDL value on your
screen.  You will have to make up your own calibration table for the
thermistor, and as I mentioned before, it won't be a straight line.
Nevertheless an enterprising Apple user can probably make good use of this
simple temperature measurement system.

                            >>>MODIFICATIONS<<<
                            """""""""""""""""""

     Some substitution of components can be done in the thermistor sensor
circuit and still achieve the same results.  I found a very cheap supply of
thermistors with a room temperature resistance of about 30 k ohms (about
three times the recommended resistance).  So I substituted a smaller
capacitor (1.5 microfarads - 1/3 of the recommended value) and the system
works perfectly.  What is important is that the value of capacitance times
resistance remains roughly the same as that given by the components listed
above.

     You can also substitute different physical types of thermistors,
depending on where you plan to use them.  There are some which come encased
in glass or resin for submerged use, or use in corrosive chemicals.
Remember that if the leads get wet, you will short out the thermistor and
it will not read properly.

     I use one of mine to measure the temperature of aquarium water.  To
avoid having to hunt around for the right resistance of thermistor in a
coated design, I just slipped mine inside a small glass tube and sealed one
end.  This is partially submerged in the water and thus the probe is
protected from moisture.  The response time of the probe is slower than
with a naked thermistor, but aquarium water temperature changes gradually,
so it is not important.

     Thermistor size will affect how quickly it correctly reads the
temperature surrounding it (its equilibration time).  The smaller the
thermistor bead, the faster it will come to equilibrium and read the
correct temperature.  I use a small bead thermistor (about 2-3 mm in
diameter) for measuring room temperature.  It responds so fast that I have
enclosed it in a sandwich bag to avoid having draughts adversely affect the
reading.

     It should be apparent that you can connect more than one temperature
sensor to an Apple, as there are four PDL lines.  With modification of the
temperature reading program, machine language counting routine, and
calibration program this is possible.  I have built a system which can read
temperatures from thermistors connected to all four PDL lines.  It wasn't a
trivial programming exercise, but it can be done.

     So this concludes the section on temperature measurement.  The ability
to measure resistance via the PDL lines is a great tool for interfacing the
Apple.  You can get resistors which vary their resistance in response to
light, moisture, and other parameters.  With suitable design and
programming it is possible to use that old ][ Plus to do all these things!

     Next installment:  Reading buttons and switches.


                        >>>APOLOGIES AND EXCUSES<<<
                        """""""""""""""""""""""""""

     I must offer my sincere apologies to any readers who have been
patiently waiting for this installment of the Real World Apple to appear.
Such a long gap will not happen again.

     As the gracious editors of _GenieLamp_ pointed out I was indeed
exploring the real world.  Although, after returning to the snows of March
at home in Toronto, I'm not sure just how "real" the South Pacific actually
was!

     I would have written this article during the four months that I was
away, but I was informed by my new bride (who apparently has known me for
far too long) that if she spotted a computer in my possession on the
islands of Rarotonga (Cook Islands) or New Zealand, that I would be single
again so fast it would make my head spin.  Ahhh, the joys of marital bliss!
(I think the only reason that I am allowed to keep a computer around is so
that I can send her email while she is teaching overseas!)

     See you next month (promise!).











           //////////////////////////////////////// Genie_QWIK_QUOTE ////
          /           Indiana's a good place to be FROM.               /
         /////////////////////////////////////////////  J.DWYER8  /////



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

    o   COMMENTS: Contacting GenieLamp

         o   GenieLamp STAFF: Who Are We?


GenieLamp Information   GenieLamp A2 is published on the first of every
"""""""""""""""""""""   month in library 55 of Genie's A2 RoundTable (page
645;3).  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 or to
      reach GenieLamp _A2_, send mail to a2lamp@genie.com

    o Back issues of GenieLamp A2 are available in the A2 RoundTable
      Library #55 on page 645 (m645;3).

    o We welcome and respond to all E-mail.  To leave comments, suggestions
      or just to say hi, you can contact me in the A2 RoundTable (Category
      3, Topic 3) or send GenieMail to Ryan Suenaga at [A2LAMP] on page
      200.


                          >>> GENIELAMP STAFF <<<
                          """""""""""""""""""""""

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

   APPLE II  o Ryan M. Suenaga     [A2LAMP]       Editor
   """"""""  o Doug Cuff           [D.CUFF]       Editor Emeritus

      A2Pro  o Tim Buchheim        [A2PRO.GELAMP] Editor
      """""
      ATARI  o Sheldon H. Winick   [GELAMP.ST]    Editor
      """""
        IBM  o Sharon Molnar       [SHARON.LAMP]  Editor
        """
  MACINTOSH  o Richard Vega        [GELAMP.MAC]   Editor
  """""""""
   POWER PC  o Ben Soulon          [BEN.GELAMP]   Editor
   """"""""

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\////////////////////////////////////
 Opinions expressed herein are those  of the individual authors, and do
 not  necessarily  represent  the  opinions  of  Genie Online Services,
 Yovelle  Renaissance Corp.,  GenieLamp Online Magazines, or  T/TalkNet
 Online Publishing.  Bulletin board messages are reprinted verbatim and
 are included  in this  publication with  permission from  Genie Online
 Services and the source RoundTable.  Genie Online 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  preceding  article  is reprinted  courtesy of  GenieLamp  Online
 Magazine.  (c) Copyright 1996 T/TalkNET  Publishing and Genie  Online
 Services.  To join Genie, set your modem to half duplex (local echo).
 Have  your  modem  dial  1-800-638-8369  in  the  United  States   or
 1-800-387-8330 in Canada.   When you get a CONNECT message,  wait for
 the  U#=  prompt, type: JOINGENIE and hit the RETURN key.  Genie will
 then  prompt  you for  your signup information.  If the signup server
 is  unavailable,  call (voice)  1-800-638-9636  for more information.
////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
[EOF]

ýý