Loading…
Text content (OCR)
@ APPLE - Bus
The Newsletter of APPLE-—-Q: the Brisbane Users’ Group
Post Office Box 72] - South Brisbane Qld. 4101
{ SEPTEMBER 1987 i
[ In this issue J
Editorial < > Vice President’s Notes
Secretary’s Notes < > BBS Notes
Software Library <-> Page Right
Feature Article <-> Programming Languages
Advertisements ¢-> Trading Table
Nomination Forms <-> Membership Renewal Form
NEXT MEETING: - 20th September 1987
<<< CREDITS >>>
Tony Truscott < > Away on Holiday
Graham Black <-> He typed it all in
Vince Crosdale <-> He typed some too
The Members <-> For their contributions
ZARDAX II <¢ > Word Processing
EPSON LQ-1500 <> Typesetting
The Hooper Centre <> Printing & Distribution
The APPLE Computer <-> The reason for it all
Registered by Australia Post Publication No. QBG 3485.
APPLE -BUG 2s September 1987
[ Executive Committee |
Terry Sweetser President Ph. (07) 203 4210
Bernie Benson Vice President Ph. (07) 345-1545
Vince Crosdale Secretary Ph. (07) 351 3090
Eric Conolly Treasurer Ph. (07) 261 1860
Graham Black Registrar Ph. (07) 883 1525
Tony Truscott Editor Ph. (07) 266 4795
Peter Lane: Collett Assistant Editor Ph. (07) 398 9282
Richard Egglesfield Hardcopy Librarian Ph. (07) 349-8888
Bob Godbehere Software Librarian Ph. (07) 808 3292
[ Bulletin Board System (BBS) i}
Apple-Q BRS : online 24 hrs
Telephone : (07) 284-6145 (DATA)
: (07) 883 1525 (VOICE)
Baud Rates : 300, 1200/75, 1200 and 2400 (CCITT and RELL)
Data Specs : 8 Data bits 1 Stop bil No Parity (Full Duplex)
Sysops : Graham Black & Vinee Crosdale
BBS equipment : Apple //e 128k
: | x 5meg Profile Hard Disk (Cit finally arrived)
1 x 800k 3.5" drive
1 x lmeg Ram Card
: NetComm 1234A Smartmodem
: Epson LX-80 Printer
Calls to the system : 6049
Registered Users : 293 (as of noon 3rd September }
SYSOP stands for: SYStem OPerator
BBS stands for: Bulletin Board System
{C What’s When ]
at the Hooper Education Centre Kuran Street. Wavel! Heights
Sunday 20 September 1987 Monday 2I]st September 1987
Open Day Committee Mect ins,
Hours: 9.00.am. till 4.30.pm. Starts: 6.30.pm,
Sunday 18th October 1987 Monday 19th October 1987
AGM - Birthday Party - Open Day Committee Meet ing
Hours: 9.00.am. till 4.30. pm. Starts: 6.30. pm.
C Membership Fees |
Joining Fee: $10 Adults/Family: $20
Students/Pensioners: $12 Corporate Membership: $50
Associate Membership: $ 5 plus $5 Joining Fee. (Pro rata till MAY 88)
(Students under 21 years - Pensioners on production of Pensioner Card)
( at the discretion of the Executive Committee )
APPLE-BUG <3> September 1987
{ Editorial ]
The Annual General Meeting and Apple-Q’s birthday are only one month away. In
keeping with our ‘traditions’ we will have our Apple ice cream cake, apple
pie and cream and Apple Cider (non-alcholic of course). Very little serious
computing is to be done on the day and wives, children and friends are all
invited to share the festivities. The formal portion ~ election of committee
is timed for around 12:30 immediately followed by ice cream cake and cider.
To round out the day it is hoped there will be no shortage of volunteers to
clean up the area so that the Hooper Centre will get a good impression of the
new committee.
If you are interested in becoming involved with the running of the club, then
please fill out one of the Nomination Forms in the back of this newsletter,
indicating which position you would like to hold. The committee would like to
see more members take an active part in the running of the club. There are
two Nomination Forms, and others will be available at the Hooper Centre on
Open Day.
Please take note:
Members are required to display their membership cards on their equipment so
as to allow identification of visitors using club facilities and causing
inconvenience to bona- fide club members. Also, all club members and visitors
should try to make the effort to sign the book placed near the door to the
Hooper Centre.
Once again I find it necessary to remind the members that. the rooms are being
left in a frightful mess each month. The coffee machine seems to be the major
target for people bent on this course of action. The Hooper Centre allows us
to use the coffee machine for a minimal charge, and we have to pay for the
ingredients that are used or wasted each month. This includes the plastic
cups, coffee and sugar. Unfortunately, the major offenders in this case are
the numerous children brought along to the meetings by parents and left
unattended to find their own methods of amusement. Therefore, we would make a
request to all parents to please ask their children to steer clear of the
coffee machine, and to all members using the machine to be more conscious of
the wastage factor. We are not singling out one group in particular, instead
this message is made necessary by a number of complaints about the amount of
materials being wasted.
{ Vice—President’s Notes ]
by Bernie Benson
We have reached the end of the club year, and il is this time of the year
that you as a member of the club should be considering whether you are
prepared to give some of your time for the benefit of the club. Most of the
positions involve some extra effort on your part. However, the old excuse
that you cannot spare the time doesn’t standup because if you are fairdinkum
enough you will find the time.
The present committee does not have any exclusive hold on their positions and
all jobs are up for nominations.
Think about what you can do or would like to do so as when nominations are
called for the coming year you will be prepared to accept a nomination.
If you are not prepared to accept a position on the committee at least cast
your vote for those members who are nominated.
APPLE-BUG <4> September 1987
{[ Secretary’s Notes ]
by Vince Crosdale
Well, after last month’s mighty effort by yours truely, it feels great
to back to familiar ground and to have something to tell you good people.
Last month’s lack of correspondance seems to have been something of a freak,
if I compare it with this month. We have recieved numerous letters and calls
from places distant to ours, including Perth and Tasmania. It just goes to
show how far we spread our wings.
Mail this month has consisted of a number of letters from people making
enquiries about the club and the usual magazines. For those of you who are
not as yet aware, we are now recieving the newsletter from the Tasmanian
Apple Users Group in Hobart. Theirs is an excellent magazine, and contains a
lot of little tips that we have not seen up here as yet. I recommend anyone
using our library to have a look at this worthy addition to our ever growing
collection.
Also, thanks must go out to Jim Fraser, Secretary of TAUC. Jim’s son
decided to build the auto-fire circuit which was contained in our newsletter
last month, and discovered that there appeared to be some sort of problem
with the circuit as displayed. Not to be beaten by this, Jim then rang Graham
who placed him in touch with myself. I had only the circuit diagram I was
supplied with to go on, and eventually we decided it would be easier to ring
the author of the article. So then Jim rang the author and found the solution
to his problem. We hope to get hold of this solution and print the errata for
you in the next edition. Thanks Jim, for making us aware of that one, but I’m
glad I don’t pay your phone bill!
Another matter of interest that has come to light. As most of you will
be aware, we have placed a minimal charge on the copying of the club
software. There is more about this elsewhere in the newsletter, but I will
add this. The proceeds from this endeavour have been placed to good use for
you, the members. We have taken out a subscription to the International Apple
Core (IAC). Included in this deal, is a monthly disk of software for the
Public Domain Bank, and also a copy of NIBBLE magazine for the library. The
money taken in from this copying, plus a proportion of the club funds will
now be spent upon magazines and software for the Club. The software library
has fallen rather out of date, and we are now attempting to rectify this
situation. On the matter of the Public Domain bank, thanks must go out to
Sheryl Mann for having kept copies of a few of the disks in the bank. The
originals became corrupt for some unknown reason, and luckily Sheryl] had
copies of the bad disks that we were able to copy back. Thanks Sheryl.
There is just one other matter. I hate to end on a_ sour note, but
unfortunately, it has become necessary. After the meeting last month, a quick
tally of the figures at the Trading Table was made, and it suddenly became
apparent thet we were short a packet of disks. Now, after much recounting of
numbers and retallying of monies, we are still in the same boat. We cannot
accuse anyone of this theft nor can we prove that a theft was actually
committed, but we do know that we are a box of disks down. The Trading Table
is run for the advantage of the members, and if items are stolen from the
Table then it is to the detriment of all concerned. Now I would like to think
that this sort of thing does not happen at our Open Days, but I may have to
rethink my stance on this one. So we would just like to tell all members,
that if this sort of thing happens again, then we will be forced to have a
long think about the Trading Table and the displaying of items.
Well, that’s about it for this month. Please remeber that contributions
for the newsletter are always gratefully recieved and thanks to all members
who have taken time to contribute articles to us. All articles for the
newsletter may be forwarded to us cither on disk or typed. Articles may be
APPLE-BUG <5> September 1987
handed to us at the Open Day, and if you submit on disk, then all care will
be taken and your disk returned.
So until next month, Good computing.
{[ BBS Notes: 1]
by Graham Black
A new file transfer section has been purchased for the Club’s BBS following
last months Committee meeting and the resolutions passed are outlined below.
This was due to the necessity of a credit type system for the uploading and
downloading of files onto the BBS. With this new set-up, it has become
exceedingly easy for the Sysops of the system to perform a re-configuration
of the file transfer area, and incorporate into it a section allowing use of
the Club’s vast bank of Public Domain Software. With the previous segment, it
was difficult to allow for the continual changing of the files contained in
the Public Domain areas, but this problem has now been overcome. We will be
placing a new volume on-line each week. It has taken a great deal of time and
effort to achieve this, and as the new volumes nre prepared, they will take
their turn on the system. All members should note that if they intend to
download files from the Public Domain areas on the system, then we recommend
that you first take the three files contained in the area designated
*Associated Public Domain Files’. These files are necessary to allow for the
renaming of the files contained in the four Public Domain areas, as all of
the files operate under DOS 3.3 and the BBS operates under ProDOS. If anyone
is having any trouble with the downloading and renaming of the Public Domain
software, then please get in contact with Vince at the next meeting or at
home during reasonable hours.
A Resolution was passed at the August Executive Committee Meeting. Here are
the results of that resolution, as posted on the BBS, and viewed by everyone
when they logon for the first time:
New User Information
USER ACCESS to the BBS will be $5 per Annum, with a $5 joining fee. The
Financial Year for the BBS will be from June, to May of the following
year.The Fee will be PRO-RATA. There are three categories of User to this
system. These are as follows:
NON-PAYING USER : You will be allowed access to the Public Boards only
Limited File Transfer (on the credit system)
30 minute time limit
ASSOCIATE MEMBER: ($5 joining Fee & $5 per Annum)
Access to the Public Boards
Games
File Transfer (the General section only)
50 minute time limit
AVPLE-Q MEMBER : Access to the Public & Members Boards
GAMES
Full File Transfer
60 minute time limit
APPLE-BUG <6> September [987
APPLE-Q MEMBERSHIP FEES:
:$10 Joining Fee and
:$20 Adults
:$12 Student/Pensioners per annum
:$50 Corporate Membership
(at the discretion of the Executive Commil lee)
Please note that only Financial Members of Apple Q will have FULI, ACCESS
to this system. Apple-Q members are reminded that if they are found to be
UNFINANCIAL, their MEMBER ACCESS will be reduced, and they will only be able
to access the Public Boards, with no access to the games.
( Software Library ]
By resolution of the Executive Committee, there is now » copying fee for the
Public Domain Software. The fees are being used to raise funds to purchase
more software for the Library, and some disk drives for the copying of these
disks. At the moment, the Software Librarian’s drives are being used, and
worn-out. The fees are as follows:
50 cents per side, with a minimum charge of $2.00 (4 sides)
I.A.C.Volumes: (15-20)
The files are divided into sections, and the files in cach section are
required for the particular applications. The Prefix before each file name
represents the file type. i.e. B=Binary T=Text A: Applesoft. I-Integer. Each
section is seperated by a string of -’s and each volume is seperated by a
string of =’s.
Volume # 015 - Disk | : FREE SECTORS 9 (2.25)
A TULSA MENU B MENU. 1
B MENU.2 A ARITHMETIC TAC DOUGH
I AWARI I DECISION
B COMPUTERS. DECSN A HERB’S CALCULATOR
B HERB’S CALCULATOR DISPLAY A INVERSE FIELD INPUT
B INV. INPUT. INST T LIFE EXEC
I LIFE (LOMEM-3072 HIMEM-8192) I MADLIB
I OTHELLO A SCREEN PRINT INSTRUCTIONS
B SCR. PRINT. INST B SCREEN PRINT
A SCREEN WRITE INSTRUCTIONS B SCR.WRI.INST.1
B SCR.WRI. INST.2 B SCR.WRI.INST.3
B SCREEN WRITE 2.1 A SCREEN EDIT
I STATE CAPITALS A TEXT EDITOR INSTRUCTIONS
B TEXT.ED.INST A TEXT EDITOR.50
T I
TEXT EDITOR TESTFILE TOWERS OF HANOI SOLVED
Volumne # 016 - Disk 1 : FREE SECTORS - 148 (37K)
A THE GREEN APPLES A MEMORY GAME
A PRODUCTION OF LIGHT A SPELLING TEST
T SPELLING LIST A TOM’S TRASH COMPACTOR
A RUTHER A TOM’S MATH DRILL
A
B
A
A
A
A
B
TWO DRIVE COPY
DOS POINTERS
DAN’S OPTION WRITER
SIMON
SHIP CAPTAIN CREW
STATIC ELECTRICITY
TEXT. APNOTE-B2
A
A
A
B
A
A
September 1987
RWDISC
DAN’S SWITCH
ALGEBRA |
GAMBLER
H-DICE
APPLEWRITER READER
TOM’S DISK MODIFIER
Volume # 017 -- Disk 1 : FREE SECTORS - 89 (22.25K)
ono ee non orn
HELLO
DATA DISPLAY AND SAVE
STATES AND CAPITALS
AUTOMATIC BINGO
TITLE DEMO
BEGINNING
WINGS(TYPE GR FIRST)
PHILA. PINBALL
SLOW MEM TEST
CRYPTOGRAM
INSTRUCTIONS
RANDOM LINES
HANGMAN
STARWARS RESCUE
SKUNK
LAS VEGAS SLOT MACHINE
COLOR MATH
OM et
LIFE
NJ LOTTERY
BINGO
BINGO CARD
TWINE (TYPE GR FIRST)
COMPUTER ART
TWO CIRCLES
FAST MEM TEST
PHILA. COLOR ORGAN
MUSIC
SLOTTS
THE HART PIANO
BLACKJACK
HANGMAN 2
MOON LANDER
NEVADA CRAPS
BATTLE OF NUMBERS
Volumne # 018 - Disk 1 : FREE SECTORS = 187 (46.75K)
THE PROGRAMS ON THIS DISK ARE FROM W.V.A.C.C. 535 HIGHLAND DR
WENATCHEE WASH. DAVID HOFFMAN
A
A
A
A
A
A
A
A
A
A
A
I
A
A
B
A
HELLO
SPACE MUSIC+ INTRO
JOYSTICK/PADDLE TESTER
APPLESINE
TUNNEL VISION
PLAY THAT TONE AGAIN SAM!
SNAKE ARCADE GAME
AMPERSAND LIST UTILITY
TWIRLING CURSOR
TRICK FILE NAME UTILITY
HI-RES SOLAR SYSTEM SIMULATOR
WENATCHEE APPLESTAND (GAME)
*“*255 HI-RES COLORS DEMO~~
BILLBOARD DISPLAY DEMO
BSOUND MAKER
GREETINGS FROM W.V.A.C.C.
THE FOLLOWING FILES CAN BE ‘BRUN’
*CALL’
B
B
B
THE ADDRESS
SOUND 1 (CALL2921 )
SOUND3 (CALL2571)
SOUND4 (CALL3293 )
>>> > re > err T> >> >>
wow
PIC. #] (HI-RES PG.2)
UP & DOWN THE SCALE
SOME WHERE OVER THE RAINBOW
ASCII SUkniN DISPLAY
TWO 3-D SHAPES
GRAPHING FUNCTIONS IN HI-RES
SNAKE LOGO
AMPERSAND RUN UTILITY
LIST THIS FILE REFORE IT’S RUN
AMPERSAND KILL-CATALOG UTILIT
FILE ARRANGER UTILITY
LOAN AMORTIZATION TABLE
PAUSE (WORKING) ROUTINE
SOUND BY WAGNER
MUSIC NOTES WITH OCTAVE NOS.
ABE PIC.
OR YOU CAN *BLOAD’ THEM AND
SOUND2 (CALL3091 )
SOUND6(CALL3631 )
SOUND7 (CALL5159)
Well this is the third issue for this
column and it is obvious that the Editor
is still short of contributions as he has
accepted these ramblings without so much
as a wimper. I usually leave them until
the last minute before presenting the
column to him and at such a late stage he
is happy to accept anything. My request
for some input for this column has fallen
on deaf ears so you will have to put up
with this lot.
Instead of using the common signs such as
underline, dash and equals to define an
area on printed text lets use the printer
to do something a little more creative to
produce a more impressive layout. The
following lines indicate what I am on
about.
E ——___—__—____ ay
I
eee 6
The fancy lines have been printed using a
simple Print statement. Unfortunately most
printer manuals don’t seem to go into a
lot of detail as to what their printers
are capable of doing or maybe no one is
interested in such trivia. Hopefully the
following will be of benefit if you like
to print lines.
These lines have been created using codes
ceferred to in my manual as ‘Line-Oriented
Graphics’. I use an Apple DMP = and
parallel card so if you don’t use the same
equipment go and buy it - Apple dealers
will love you - and you will be able to
follow what I amon about. Or else it may
be cheaper to look up your manual and
figure it out yourself. .
The lines are produced by sending a
control code to your printer that causes
it to repeat a single vertical dot pattern
up to 9999 times horizontally. The code
TESC) "Vannn"(ASCII character) is used.
The ‘nnnn’ is a four digit number which
specifies the length of the printed line.
The following code will produce the first
line in the group above.
38 PRINT CHR$(4) ;"PRMI"
48 PRINT CHR$(27) ;"V8158";"-"
‘5@ PRINT CHRS(4) ;"PRWB"
It is not obvious in the above example
without comparing the print to the second
group of lines that in each set there is
an extra line printed each time which is
not controlled by the ASCII character. To
stop this it is necessary to pass the data
through a short machine language routine
which deletes this line.
£_]_]———_—=_-
1
The ASCII character printed at the end of
the line identifies the character used to
produce the pattern and has been added for
clarity only. Try some other characters to
get the result that suits your
requirements.
To delete the extra unwanted row of dots
the following code is required:
0388-
6382-
A? 88
28 ED FD
Because the routine is so short it is easy
enough to Poke it im using one Basic
line.
28 POKE 76B,169:POKE 769,8:
POKE 778,32:POKE 771,237:
POKE 772,253:POKE 773,96
To use this new method of printing, line
48 above would have to be changed to read
as follows:
48) © PRINT) §=—-CHR8¢27) ;"V8158" 5 :POKE
769, 45:CALL 768
Note that the decimal value of the
character is Poked into location 769 in
line 48.
APPLE-BUG
B SOUND8(CALL2230 )
B SOUND10(CALL5472)
B SOUND12(CALL5334)
B SOUND14 (CALL4827 )
B SOUND16(CALL4993)
B
B
B
B
<9> September 1987
SOUNDS (CALL5548)
SOUND11 (CALI4307)
SOUND13(CALL4661 )
SOUND 15 (CALL3969)
Volumne # 019 - Disk 1 : FREE SECTORS = 0 (OK)
T ADDRESS INDEX ***#44442444%
A ADDRESS INDEX.LC
A CONVERT APPLEWRITER
A CRAE/APA
DISK SECTOR MAP
DISPLAY ASC PAGE BY PAGE. INST
HELLO
HUFFIN
JOYSTICK €####4KHKEEERE
JOYSTICK. INFO
LC-KILLER soo
LC-KILLER. OBJ
MEMAP (EXEC)
PORE 33 eee ERK
POKE 33.0BJ
POKE 33.SOURCE
PUF. INSTRUCTIONS
PUF. SOURCE
SECTOR LIST
TEXT TO APPLEWRITER. X
TRACK 35 **###4 444444
TRACK 35.0BJ
TRACK 35.SOURCE
UN-NEW. INSTRUCTIONS
UN-NEW. SOURCE
Oe ee rer
ora
Volume # 020 Disk 1 :
A ADDRESS SEARCH. INSTRUCTIONS
BK ADDRESS SEARCH.O8J0
T APPRINT
A BENCHMARK
A DISK FREE SPACE
B DISKSCAN.OBJ1
A BRROR HANDLER
B FAST.RWTS
T GETFILE
GETFILE.OBJ
GETSECT. OBJ
HELLO CRAE/APA
LAPLACE INVERSION
LISTING
MENU MAGIC
MORSE CODE
PRETTYPRINT
SPACE CANYON
U> >> >>> ow
HOAX wWr> Orr vos rr> eye > PP TeHTI>4A>>
ADDRESS INDEX. INSTRUCTIONS
BIRTH/ANNIVERSARY LIST
CRAE/AP 00H OO
CRAE/APA. INSTRUCTIONS
DISPLAY ASC PAGE BY PAGE ¥*x*
DISPLAY ASC PAGE BY PAGE.OBJ
HUFF IM 4000444444
HUFFIN. INSTRUCTIONS
JOYSTICK WIRING DIAGRAM
JOYSTICK. INSTRUCTIONS
LC-KILLER. INSTRUCTIONS
LOAN PROGRAM
PADDLE TEST
POKE 33. INSTRUCTIONS
POKE 33.0BJ0
PUF 38K
PUF.OBJ
RAM TEST 48K
TEXT TO APPLEWRITER
TEXT. JOYSTICK. INFO
TRACK 35. INSTRUCTIONS
TRACK 35.0BJ0
UN-NEW eco Oo
UN-NEW. OBJ
X--- > DISK FULL
FREE SECTORS = 0 (0K)
ADDRESS SEARCH. OBJ
ADDRESS SEARCH. SOURCE
APPRINT FILE MAKER
CANYON RUN COLOUR
DISKSCAN
DISKSCAN. OBJ2
FAST. LOADER
FASTBOOT CREATE
GETFILE INFO
GETSECT
HELLO
HYBRID HUFFIN
LAPLACE INVERSION. DOCUMENT
LOWERCASE ASSEM LIST.TEXT
MOONLAND ING
MORSE CODE.OBJ
SHUFFLE
X-> DISK FULL
APPLE-BUG <10> September 1987
{ FEATURE ARTICLE ]
Terc Basic Enhancements
by Sean Nolan
The TERC BASIC Enhancement package has been released FORK
into the public domain. The TERC BASIC Enhancements * *
add over 50 additional BASIC commands to Applesoft * Product. *
which follow: * *
* *
* Mixing text and graphics anywhere on the screen. * Terc Basic *
* Labeled subroutines with parameter passing and * *
local variables. * *
* Improved INPUT commands which simplify catching * Price *
catching user errors. x *
* IF/THEN/ELSE * $5.00 *
%* Hi-Res SCRN and XPLOT commands. * *
* Non-destructive pop-up menus and windows. * p&p $1.00 *
* Debugging and diagnostic commands. x x
* An optional ’compiler’ (term used with blatant x x
blatant inaccuracy) which allows you to write BASIC poss sites esse sed
programs on a word processor.
No conflict with most Ampersand or USR libraries.
Expandability and documented entry points for machine language
programmers.
ead
The TERC BASIC Enhancements were written for in-house use at Technical
Education Research Centres (TERC), in Cambridge Massachusetts, by myself,
Steve Beardslee, Steve Hunt, and Steve Bannasch. TERC is releasing the
Enhancements into the public domain for non-commercial use only. The
Enhancements may be ordered through Apple-Q (with documentation on disk) or
through myself (with printed documentation).
The Enhancements are ProDOS based, and thus require 64K of RAM. At present
they are not compatible with the Laser 128 nor any other Apple clone. The
core of the Enhancements use 6K of memory ($800-$1FFF). Some commands, such
as the automatic MENU routine and pop-up windows, require more memory.
The BASIC Enhancements do not use Ampersand, but use the single quote (’)
instead. All Enhancements commands begin with this character. By avoiding the
use of Ampersand, the Enhancements are able to add both new procedures and
new functions to Applesoft (Ampersand lets you create procedures, but not
functions). Procedures are commands which are meant to be executed at the
beginning of a BASIC statement, such as the Applesoft commands
HPLOT,HOME,PRINT,and their ilk. Functions are called from within a numeric or
string expression and return some value back to BASIC. Applesoft examples of
functions are SCRN,PDL,RND,SIN,COS, and PEEK.(see quick reference sheet
listing for all Enhancements commands) .
Standard Goodies
The Enhancement commands can be separated loosely into four groups. First
there are the standard goodies, commands which any self-respecting Applesoft
extender should have. Next, the unusual commands, which make the TERC
Enhancements unique. Third, the obscure technical commands. And then there
are the commands which add no additional capabilities to BASIC but make it
more readable.
APPLE BUG <¢1]1> September 1987
The standard goodies include an ELSE to go along with IF and THEN, a
rudimentary PRINT USING command for formatted numeric printing (yawn), and an
improved INPUT anything routine. 'XPIOT draws Hi: Res lines in the complement
of the background. A high resolution graphics SCRN function has been added,
allowing you to read whether any Hi-Res pixel is on or off. A
position-in-string function allows you to tell if any character or string is
to be found within a second string. Three additional mathematical functions
allow you to do genuine bitwise AND, OR, and XOR operations on numbers.
The two most important standard goodies, however, are its use of labeled
subroutines and a Hi-Res character generator.
Labeled Subroutines
The Enhancements allow you to refer to subroutines by name rather than by
line number. Instead of:
100 GOSUB 8045
which might call say, a help prompt. subroutine, you can write
100 ‘*GOSUB HELP
If you wanted to pass a particular prompt string to the HELP subroutine, you
could do it with
100 ’GOSUB HELP [A$]
or
100 ’GOSUB HELP ["Put the disk back and press a key."]
This is officially known as parameter passing. Along with the use of local
variables (which the Enhancements support), this allows you to write
structured code and use recursion. The latter is illustrated with a sample
program on the enhancement disk. Called ’HILBERT’,it draws a recursive curve.
I translated it directly from the Pascal original (in the Call-A.P.P.L.E.
JULY 1984 article "Hilbert and the Alligators") without having to change the
recursive structure of the program.
Because of the ability to refer to subroutines by name instead of by line
number, you can now write BASIC without the use of line numbers at all. At
TERC, we write our programs with a word processor. The Enhancements come with
a utility for translating word processor text files into runnable BASIC
programs. You can, if you wish, not use it and write BASIC programs the
normal way.
Mixing Text and Graphics
The Enhancements contain a full fledged Hi-Res character generator. This lets
you put text characters anywhere on the Hi-Res display screen. Unlike many
other Hi-Res character generators (yes, there are many of them), ours does
not let you scroll text on the Hi-Res page. But there are compensating
features: with the Enhancements you can draw characters at any pixel position
you like, it is done like this:
*VTAR 11.5: ’HTAR 31.2:PRINT AS
Most character generators restrict characters to a rigid 40 by 24 matrix. Our
Character generator also supports underlining, variable character and line
spacing, and three ways of combining the characters with their background.
APPLE-BUG (12> September 1987
The Enhancements don’t provide Mac-like pull down menus, but do have their
alternative. Pop-up windows containing text or menus can be placed anywhere
on the screen; later they can be removed, leaving the background undamaged.
One enhancement function,’MENU, causes a menu in a pop up window lo be
displayed, interprets user keypresses, and returns with a number indicating
which menu choice was chosen. You can even define a RASIC subroutine as @
background process for 'MENU. As ’MENU waits for a keypress, the background
subroutine will be called over and over. This gives the appearance of your
BASIC program doing two things at once.
Our Sleary Replacement for Virtual Memory
By now we've drifted into the second group of commands, those which make the
TERC BASIC Enhancements unique. Pop-up windows, a Hi Res display, graphics
buffers, and the Enhancements altogether take up a good deal of memory.
Fortunately, ProDOS has added a CHAIN command to allow RASIC programs to be
broken into pieces. The Enhancements go one step further with the ’DISK GOSUB
command. This treats a BASIC program on disk as if it were a subroutine. For
example, Program A might contain the statement:
*DISK GOSUB "SUBPROGRAM"
This runs the program SUBPROGRAM. When SURPROGRAM ends, program A is
automatically re-loaded, and resumes execution at the line following the
"DISK GOSUB statement. BASIC variables survive the tumultuous journey
unscathed. If you’ve got a 128K machine, you can run al! the pieces off the
RAM disk with no noticeable delay.
Debugging Commands
The Enhancements contain built-in hex to decimal and decimal to hex
converters. You can use them at the BASIC prompt or in your programs; this
lets you use hex (base 16) instead of base 10 anywhere you like. For
example:
HIMEM: $9200 or Q = PEEK(’$C000)
Are you tired? Depressed? Are your integer arrays being overwritten? Use
"STOP WHEN to find out where. ’STOP WHEN single steps through your BASIC
Program (at sub-glacial speed), continuously testing to see if a particular
variable is being trashed, erased, or whatever. For example:
10 ’STOP WHEN (W=7)
20 FOR W= 0 To 10
30 = =PRINT W
40 =NEXT W
The above program will crash with the message "RHEAK IN 40" after the seventh
trip through the FOR-NEXT loop.
"STOP WHEN is made possible by the way the Enhancements get control from
Applesoft: we patched CHRGET. CHRGET is a little machine language subroutine
that lives down in page zero. The BASIC interpreter calls it every time it
needs to look at the next character in your BASIC program (for a full
description of CHRGET, see Call A.P.P.L.E. March 1982). The patched CHRGET
acts exactly as the original one does except that it gives the ENHANCEMENTS
control whenever it parses a single quote (which transfers control to the
Enhancements command parser) or a zero (which signals that the end of a BASIC
line has been reached).
APPLE BUG <13> September 1987
Input Trapping
Error trapping and bomb-proofing a program often requires as much attention
as writing the real guts of the program. The Enhancements make error trapping
easier in two ways with improved INPUT and GET commands and with
additional error trapping commands. The Enhancements INPUT routine allows you
to specify ahead of time the maximum length of the string, allows all
printable characters and only printable characters’ to be included (this
allows commas, but not control characters), and tells you whether the user
finished by pressing RETURN or by pressing ESCAPE. The new GET command takes
a string parameter. It waits for the user to press one of the keys in the
string, and returns the character position in the string of the matching
character. For example:
A = 'GET FN (“QWERTY”)
will wait for a "Q","W","E","R","T" OR "Y" to be pressed. If "Q" was
pressed, A will be set to 1. If "W" was pressed, A will be set to 2, and so
on. Any keypresses other than "Q","W","E","R","T" or "Y" will be ignored.
Applesoft Error trapping is improved three ways. First of all, the
Enhancements have optional control-C trapping ~ it is not necessary to write
an ONERR GOTO routine to trap these. ONERR routines, if used, can be referred
to by label rather than by line number, and can be nested. This allows an
error trapping routine to monitor errors in another error trapping routine -
something I’ve actually needed to use when trapping the labyrinthine
possibilities of desk access errors.The Enhancements also provide a_ third
path to ONERR enlightenment. Normally, either of two things happen when an
error occurs: either your program stops or it jumps to an error trapping
routine. If you wish, you can cause errors to be simply ignored. This feature
is useful in programs that save files to disk. If the file already exists,
the traditional thing to do is install an error trapping routine and try to
VERIFY the file. With the third path, you simply do the VERIFY and then check
afterwards if it was successful.
Opening the Floodgates of Abuse
We now come to the Technical Enhancements commands. Most. of these give you a
better control over your BASIC variables. There is a function which returns
the address of a variable, you can POKE at it or BSAVE it. You can create
strings which point anywhere in memory, even into the softswitches. You can
undimension an array. The Enhancements let you do lots of silly or dangerous
things. Used foolishly, or with malice, they could scramble your Apple's
memory.
The technical commands include some obscure trivia. There is a command,
believe it or not, for retrieving half of the last random number seed as of
the last ProDOS CHAIN executed. Why? Because we needed it at TERC to solve a
particular problem. The Enhancements were developed for in-house use, and so
contain only those commands which we needed. If the Enhancements had been
written as a commercial product for sale, they would be less _ idiosyncratic.
Instead of absurdities such as retrieving half of an old random number seed,
there would be a command for drawing Hi-Res circles. It just so happened that
we didn’t need any circles. So you don’t get circles... life is cruel.
The last group of Enhancement commands make BASIC more readable while adding
no capabilities. ’DBI. POKE, for example, POKEs a 16-bit word into memory. You
can do it without the enhancements with two regular POKE statements. ’PI
replaces 3.14159. ’BELL replaces PRINT CHR$(7), and so on. Need I go on?
APPLE-BUG <14> September 1987
flow to Get the Enhancements
I’ve covered the major Enhancements commands. Any commands which I haven't
discussed are either self-explanatory or rarely used. As one of the
Enhancements programmers, I can not remain impartial; yet 1 feel that the
Enhancements, at either $5.00 or $US15.00 (take your pick) is an unbeatable
bargain.
The Enhancements are available from APPLE-Q for five dollars. It comes with
documentation on disk as ProDOS text files. The Enhancements are also
available from yours truly (68 Roseland St., Sommerville Mass. 02143) for
$US15.00, including a 50-page printed manual and one free upgrade disk (which
will be sent to you later, or maybe never - how’s that for a guarantee?).
Future upgrades may include Double-Hi-Res graphics support or Laser 128
compatibility.
[Published in the June, 1987 issue of Call-A.P.P.L.E.]
C Programing Languages jj]
by: Mark Ritchie.
Not a lot of people know much about other languages other than that they
exist and they might be behind their favourite arcade game. This month I have
writen an article on a programing language called ’C’.
You might call C a ‘middle class’ language, since it is easier to write
and comprehend than machine language, but it lacks some of the features of
higher languages. C was created by the Bell Lab’s in the early 1970's where
it was first used to transport the UNIX operating system from a DEC
minicomputer to other computers.
Today, C is used to write everything from arcade games to business
software. It is a favourite of commercial software programmers for a couple
of reasons.
A) C programs compare favourably with machine language programs’ in
performance.
B) C is not tied to any particular operating system, making it suitable for a
veriety of computer systems. This makes it suitable for programs that must be
translated for several different computers.
C) There are aiso a _ number of reasonably priced compilers that have made
their way into the home computer market. Due to this reason, C has become
popular with hobby programmers, too.
As far as keywords go, C has fewer than 30, and about half of them are
used to declare variables and other data objects. The most important keywords
are, else, cas, switch, default, for, do, while, break, continue, return,
goto
You might ask how useful a language is, that has so few words but unlike
BASIC which has 50-200 keywords, depending on the version. The answer lies in
the fact that C never uses two words where one will do. For example, where
BASIC uses FOR and NEXT to create a FOR loop, C dispenses with NEXT. The
occurance of ’for, while, or do’ is sufficent to identify a loop in C.
Another reason for few keywords is that one can have multiple meanings,
depending on where it is placed in a program. For instance, ‘int’ means ’I
plan to use an integer varible with the following name,’ if used in varible
declaration. When it occurs before a function, it means ’The following
function returns an integer value.’
APPLE BUG <15> September 1987
Another powerful data object is the pointer, a variable that points to
some other variable. A common use for it is to access individual elements of
an array. They can also be used to include direct manipulation of the
computer’s memory.
An array in C is a collectin of data objects of the same type under one
name. In BASIC, it would be the same as, NAME$(1) and NAME$(2). C data types
may be combined quite freely, allowing you to create arrays of pointers,
pointers which point at pointers, arrays of structures, pointers to
structures, self-referential structures, and so on.
The C language is easily trapable. It does not provide input/output (1/0)
functions in the language itself but every compiler includes a so called
standard library of 1/0 functions to do tasks such as printing to the screen,
reading and writing files and so on. A program that uses nothing but standard
I/O functions should be transportable, with little changes, from one computer
to another for which there is a C compiler. However, this is not usually the
case, except for very plain programs, since most programmers wil] take
advantage of special features unique to the host computer.
0000000000000
{ Advertisements ]}
FOR SALE -> Contact: Graham Black at the Trading Table or ph. (07) 883-1525
Speed Demon (speeds up the apple 3.6 times faster than normal) $ 500
Roland DXY-800 Plotter (8 colour) includes many pens and paper $1050
Alf Synthesizer + amplifier + approx. 30 disk of music ....... $ 400
DIGITEK Serial Interface DK 24-4 : . ; 15
//e Mouse + $ 225
//e numeric keypad ....... . $ 75
PASCAL Reference manuals . $ offers
Microfazer 64k printer buffer. serial in/parallel out - $ 195
MCP printer/plotter (plus pens) .....---.++e-++ ee eeee . $ 390
APPLE /// Softcard III by MICROSOFT (2 only) ... + $ 300
Assorted APPLE /// software (incl. Visicale ITI) . . $ offers
Price-tag gun (2 only) ....... as a rates a a . $ offers
Telex rolls .......-.- -$ 4
ZARDAX (DOS 3,3) ... - $ 165
ZARDAX II (ProDOS) - $ 165
RS-232 Inline Switch Box. (male to female) - $ 20
FOR SALE -> Contact: Vince Crosdale at the Trading Table or ph. (07) 351-3090
Enhanced Apple //e 128k, two disk drives, monitor, parallel card, RGB card,
manuals many disks included. $2000 ph.(07) 351 3090
FOR SALE -> Contact Bob Karlsson at the club or phone (07) 208 7855
16k Rem card for Apple ]{+ (increase RAM to 64k)
PAL colour card
Make an offer.
APPLE-BUG <16> September 1987
{ TRADING TABLE j
During a recent discussion, it has come to our attention that a number of the
members are under the wrong impression when it comes to the profits made from
the Trading Table. Apple--Q owns and operates the Trading Table. ALL PROFITS
go towards the routine maintenance of the club and towards maintaining the
software bank and the library. Apart from membership fees, this is the only
source of income for the Club and therefore a vital key to our continued
operation. The profits from each meeting help offset the cost of producing
the newsletter, purchasing disks, purchasing of software and magazines for
the libraries, paying the rent and the cleaning of the club rooms. Items
offered for sale at the Trading Table are initially purchased from the
cheapest source available AT THE CURRENT TIME, and a small percentage of the
original purchase price is added to the resale price to allow the Club to
keep its head sbove water, so to spesk. We offer this service as a
convenience to members, and it is only through the members that the Club can
continue to operate in its present format. Jf anyone has a source of supply
for items for the Trading Table thet would appear to be cheaper than our
present source then please let us know, as it is you, the members of Apple Q,
that benefit from this operation.
PRICE LIST - as. 2nd_AUGUST_1987
Description Details ____ Price
5.25in disks (singles) : 2.50
5.25 DS/DD DISKS (PKT.10) : 12.00
3.5inch SS/DD DISKS (per) : 4.00
BASIC PROGRAMMING (book) : 15.00
WORKSHOPS VOL. 1 (book) H 16.50
WORKSHOPS VOL.2 (book) : 16.50
COMPUTER CONNECTION (book ) : 10.00
WP WITH ZARDAX (book) ' 15.00
EPSON LX/GX-80 RIBBON CARTRIDGE H 9.25
EPSON MX80 RIBBON.CARTRIDGE : 11,00
DISK DRAWERS 5.25in (100) H 15.00
FD30 MINI DISK TRAY (30) : 9.90
DISK LABELS. FanFold (1000pk) : 20.00
6-RING BINDER. HARD COPY ‘ 7.50
MAILING LABELS fanfold (12 sheets of 8) : 2.00
ZERO-FORCE SOCKETS I/O H 27.00
MISC. SOFT/HARDWARE ‘ -50
ASSORTED BOOKS ' -50
1i x 9.5in. cleancut paper (box 2000 sheets): 42.00
EPSON LX~800 PRINTER : 510.00
The nbove prices are correct at the time of printing and
are subject change without notice.
It is not always possible to have every single item in the price list
available at each meeting, so if there is anything in Particular that you
would like to see, then phone me on (07) 883-1525 after mid-day, at least two
working days before the meeting and I will attempt to get it for you. Also
you can place an order for any of the above items along with your deposit of
at least 25%, at the meeting.
We will have CREDIT CARD facilities available in the very near future.
Bankcard - Mastercard ~ Visa.