Text content (OCR)
THE NATIONAL APPLE USERS GROUP
ple20004
JUNE 1989 VOLUME 4(3)
uggs)
L gf
=
Khe torshiptul Company of Meredant Taylors
of the City of
f
L £
SCSI INTERFACE CARD
The Cirtech SCSI Interface is a standard slot card
for the Apple lIGS, //e or 64K II, which lets you use
an SCSI hard disk with ProDOS, DOS 3.3, Pascal
and CP/M based programs. ~
™@ Extends ProDos 8 to let you use up to two hard
disks of 128 Megabytes each!
1 Partitioning of your hard disks for up to four
different operating systems is easy with the
unique software support
NETWORKING — The SCSI Interface can also be
used in conjunction with the Cirtech Multi-User
Network System software which allows several
computers to simultaneously share and partition
SCSI hard disks.
The leading SCSI Interface at only £54.00
aay Se ee
( PLUSDISK SC
PlusDisk SC is a brand new concept in storage
media. Use it just like a normal disk drive BUT a drive
with the outright speed of a RAMdisk combined with
the safe storage of a hard disk — in fact, the very
best of both worlds!
With no mechanical or moving parts, PlusDisk SC
gives electronic performance, in total silence!
PlusDisk SC uses special low-power memory which
js easily user expandable. It comes complete with
its own power source and cable to connect directly
‘onto the back of your Mac Plus, SE or Il; or, via a
Cirtech SCSI Interface Card, to your Apple IGS, //e
or Il,
Sa
CHAMPION PLUS INTERFACE CARDS
Champion Plus cards are the most versatile
Interface cards available for the Apple Il, //e or IIGS,
combining serial (RS232) and parallel (Centronics)
Interfaces, together with 100% Apple Super Serial
Card & Parallel Printer Card compatibility.
®@ Champion Plus Dual (SSC/Champion)
Serial and/or parallel output. providing all the
features of Super Serial Card mode and
Champion Card mode. £78.00
Champion Plus Dual (SSC/PPC)
Serial and/or parallel output, providing all the
features of Super Serial Card mode & Parallel
Printer Interface mode. ie
Champion Plus Serial (SSC/Champion)
Serial only output, providing Super Serial Card
features and Champion card features in serial
output. 100% slot-in replacement for Apple
Super Serial Card
V
aS
Va
The new generation in storage technology
from only £348.00
we Ms
PlusRAM-16
plusRAM-16 is a standard slot RAMcard for your
Apple Il, //e or IGS which instantly gives you one
extra Megabyte of memory and can easily be user
expanded to FOUR and, ultimately, SIXTEEN
Megabytes!
@ Supported by more software than any other
RAMcard — ProDOS, CP/M, Pascal and DOS 3.3
@ Programs operate at electronic speeds!
Desktop expansion and a whole range of
enhancements far AppleWorks
Supplied with unique RamDesk Manager
software to divide the huge memory into
separate disks and change instantly between
them.
The best value standard slot RAMcard
ONE MEGABYTE far only £229.00
PlusDISK
PlusDisk is the only plug-in card for your Apple Il,
//e or IGS which operates with the lightning speed
of a RAMcard AND keeps its contents safe for
months, even when there's no power to your
Apple!
Using special, low-power memory, PlusDISK safely
stores any standard Apple operating system or
program (ProDOS, Pascal, CP/M or DOS3.3) ready
for instant start-up whenever you switch on your
Apple. The partitioning software supplied also lets
you divide your PlusDISK to create separate areas
for different operating systems.
PlusDisk is easily expandable right up to One
Megabyte. The back-up power source is contained
on the card — there are no bulky external power
supplies or batteries!
Ultimate speed from only £128.00
ee
PlusRAM-GS8 .. .
he special RAMcard for the Apple IGS memory
t
expansion slot and the only single card to expand
from ONE up to EIGHT Megabytes. Use the
superfast extra memory as a RAMdisk or directly
{or both}! plusRAM-GSB is fully compatible with
all IGS software like AppleWorks, and ProDOS,
DOS3.3, CP/M and Pascal 1.3 programs.
Add a PROMDisk or ROMDisk Adaptor to your
plusRAM.GSS8 to give up to 256K battery backed-
up static RAM or 512K ROM. This lets you boot
your favourite program instantly from the Adaptor
as soon as your GS is switched on!
plusRAM-GS8 — 1 Megabyte for only £249.00
Selkirkshire, TD1 2BP, Scotland
Telex: 9312130256 (CI G)
CIRTECH (UK) trd 1989. Apple t+
CIRTECH (UK) LTD, Currie Road Industrial Estate, GALASHIELS
Telephone: (0896) 57790
Mailboxes: 84:CPDOO1 (Telecom Gold)
AAHS555 (Source)
1@. IGS. AppleWorks, DOS3.3, ProDOS, are registered trademarks of
Apole Commuter Inc. CP/M is a registered trademark of Digital Research Inc
Apple2000
The All Apple
User Group
Committed to
All Apple Users
including Macintosh
June 1989
Apple2000.
CONTENTS
4k STOP PRESS - Apple/Mac 89 - See Page 33 ek
Chairman's Corner Ewen Wannop 2
Letter Box 3
C - the language Dave Miller 8
Controlling the Real World Bill Hill 12
Hardcore Pips John Sharp 16
DB Master - a review T.O, balisty 18
The Graphic Exchange - a review Peter Stark 20
Print Magic - a review Peter Stark 21
A tale of Eve and that Watchmaker Mike Tickle 22
Deepspace - a review Rober t Hornby 22
Rocket Chip - a review Dave Ward 24
Marble Madness - a review Richard Bradley 27
TransWarp GS - a review Ewen Wannop 28
Cool It! - a review Dave Ward 30
Amnesia - a review Dave Ward 32
Hot Line News Dave Ward 32
Apple/Mac 89 33
Applied Apple Spreadsheeting P F McMullin 34
SoftCat Corner Jon Gurr 37
The Nibbler 38
MacChat Norah Arnold 42
AnonWare MacLibrary 43
Nisus - a review Geoff Wood 44
PostScript Fonts from the UK Irene Flaxman 49
Apple and the Desktop Publishing Market _Irene Flaxman 49
Koala Source Book of Macintosh Software 49
The Care and Feeding of your Laser Printer Walter Vose Jeffries 50
N-Font MacLibrary 54
Learn Persuasion Irene Flaxman 55
Heraldry Ill John Armold 57
Network News 60
CheapColor MacLibi 64
TN # 227 Toolbox Karma ape 66
TN # 230 Macintosh SE/30 67
Club Business - AGM Minutes 70
Programmer's Online Companion - Mac John Arnold 73
MacLibrary 76
Local groups 78
Members’ Small Ads. 80
Advertisers’ Index 80
There are a number of
ways to contact
Apple2000.
Force users who have a query about
the service can contact the adminis-
trator, John Lee, directly for help
and advice. Call him on the number
opposite or send a message to his
box on the Force.
Ifyou wish to order goods or
services from Apple2000, call Irene
on (fll Sia 4s or (during office
hours) call Alison on 0732-740415.
Both have Ansafones, in case
they're not around. Alternatively
you can Fax, to (limi) elie) iiiF
write to the PO Box or (if you use
comms) you can leave orders on
TABBS addressed to the SYSOP,
If you are experiencing problems
with Apple hardware or software
Dave Ward and Tony Dart run the
Hotlines and will try and help you.
We are very interested in the
activities of local user groups, and if
you have any information which you
would like publicised John Lee
would like to hear from you.
Moans and Groans - We don't get
many of these, but the Editors have
broad shoulders, so send these to
them via the PO Box.
A little praise for a few of our
authors wouldn't go amiss. Send all
comments, and contributions, via
the PO box, especially suggestions
about what you would like to see in
your magazine.
Apple2000
P.O.Box 3,
Liverpool,
121 8PY
Fax. @81 S29 Ga?
Fe rea supports users
all the Apple computers.
The ITT 2020, I, II, I+, //e,
//e. //c+. Tgs. ///, Lisa, XL,
Mac 128, 512 MacPlus, SE,
SE/30, Mac Il, IIcx and Ikx
Contributions and articles
for the pe te are always
welcome. We can handle any
disk size or format. Please
send to the PO Box, L21 8PY.
NOTE:
In general the front half of
the magazine is for the Apple
ll, Apple ligs and Apple ///
The back half for the Macin-
tosh and Lisa. Look out for
the descriptive page icons.
Key:
Apple Il, //e and //c a
Apple /// zat
Apple llgs B
Macintosh, Lisa =)
Mi
NC lacintosh II a)
Contact
Points
The Force and
Local Groups
John Lee
Voice GiiRi meaizili
Administration
Irene Flaxman
(hl Sm wi ee
eek CD Soe Oy NIT
Adverts / Admin.
Alison Davies
Apple Il Hotline
lave Ward
(QED FRE Se
Mon-Fri 1900-2100
Macintosh Hotline
Tony Dart
(GHbSee SteeRiD
Mon-Fri 0900-17.00 1900-2100
June 1989
Apple2000
Chairman's Corner
May I start by making some com-
ments on behalf of the production
team at Apple2000, and espe-
cially the hard worked editors. We
produce the magazine in our
spare time. We need help from you
the members to make all this
possible. Please help by contrib-
uting articles and reviews on any
relevant subject.
We receive many letters for the
magazine, very few of these are
submitted on disk however. We try
to answer them all in due course
and often we would like to answer
the problems before the next
magazine arrives. The sheer vol-
ume of these letters, and the need
for considered replies, means
there may well be some time be-
fore you see your reply. We apolo-
gise to those who have waited
some time. We are not able with
the present level of expert help on
the editorial team to improve on
this time delay.
Please send letters if at all pos-
sible on disk, this saves many
hours of typing. Our team of typ-
ists are not able practically to help
with typing these letters and their
replies.
Another apology is need as well.
Many of you have contributed
material for the magazine. There
is simply not enough room to
publish it all. It may be some time
till you see your article published.
Please support the advertisers
in the magazine, and let them
know that you saw their adver-
tisement. We balance on a thin
edge of making the magazine as
we want. and getting sufficient
advertising to make it work. Ad-
vertisers will not come back to us
ifthey get no response. The maga-
zine will only suffer in the end if
this happens.
We shall be continuing our pol-
icy over the next year of trying to
improve the standard and content
ofthe magazine. I have mentioned
this already in Apple Slices, but it
does not come amiss to repeat this
now. We hold a unique position in
the market place, we must build
on that strength. You can help us
do that. Submit articles for the
magazine. and tell us what you
would like to see.
I hope that we shall see a com-
mitment from Apple UK over the
coming months to support the
end user. We all too often feel that
allthey are doing is 'shift boxes’. It
would be nice to see them plough
back some of those profits and
help the User who has bought
their machines, and who might
even buy another one in time!
Finally welcome to you all as
your new Chairman. I hope we
canmake 1989 agreat year for the
Apple Computer user.
Ewen Wannop é
Ring TABBS on ((
\
Ring John Lee on (fii
(- Apple2000 brings you two exclusive systems that will give you all you ever should need in
modern communications and messaging. National and International messages, Telex,
Software Downloading, Contacts, Problem Solving, Special Interest Groups, Teleshopping,
Databases, Telecom Gold and a host of features tailored for Apple2000 members
S)/7AIPI at any speed through V21 to V22bis 8N1.
TABBS is available 24 hours a day
) MiAe|| for details of The FORCE.
>)
(7-
The contents of this journal are copyright of BASUG Ltd
and/or the respective authors. Permission is granted for non-
commercial reproduction providing the author and source
are properly credited and a copy of the relevant journal is
sent. The opinions and views expressed are those of the vari-
ous contributors, and are not necessarily supported by
BASUG Ltd.
This journal is published bi-monthly by BASUG Ltd as a
benefit of membership in February, April, June, August,
October and December. The copy date is the 5th day of the
month preceding publication. Advertising rates are available
on request.
Apple™ and the Apple logo are trademarks of Apple
Computer Inc. Macintosh™ is a trademark of Macintosh
Laboratory Inc and used with the express permission of the
owner. Telecom Gold™ is a trademark of British Telecom ple,
The FORCE™ and Apple2000™ are trademarks of BASUG
tare
: \)
Annual subscription rates are £25.00 for UK residents, The Editorial team is:
£30.00 for E.E.C. idents and £35.00 for other overseas
iembers as a Apple II Macintosh
Apple2000™ is a trading name of BASUG Ltd, a non- Ewen Wannop Norah Armold
profit making independent company limited by guarantee. Irene Flaxman
Many thanks to all those who work behind the
scenes and who receive no personal credit. These
people are the stalwarts of Apple2000.
Additional thanks to Walter Lewis of Old Roan Press
(051-227-4818) for our printing service, and to Ian
Sharp of Sharp Studios (051-227-2788) for our cover
design. (Graphics for the cover design supplied by
Apple Computer UK Ltd, Adobe Systems Inc.,
Cricket Software.)
Apple2000 are Founder Members and Whole-
hearted Supporters of the
Apple User Group Council
)
2 Apple2000
June 1989
GENERAL LETTERBOX
Norbury
London
Dear Editor,
I would like to say how much I agree
with the sentiments expressed by
John Stanier, in the Feb issue of
Apple2000, regarding Apple's atti-
tude to the British user. Recent re-
ports of their heavy-handed attempts
to stop dealers purchasing directly
from the US also serve to re-inforce
the image of Apple as not caring for
the UK market.
Any retailer should be able toobtain
his stocks from any legal source in
any country of the world and sell them
anywhere else, provided they meet
the necessary safety standards forthe
country in which they are sold. Nei-
ther manufacturers nor wholesalers
should be allowed to refuse to supply,
nor to refuse to trade terms and dis-
counts, just because the dealer is ‘for-
eign’ or doesn't hold some sort of ‘ap-
oval’ from the manufacturer. Simi-
larly a seller should be allowed to set
his own prices and should not be
penalised if he chooses to trim his
is and lower prices.
It is, of course, quite legitimate for
manufacturers to ‘approve’ suppliers
for the purposes of carrying out war-
ranty repairs or to raise their profile
with the public, but such suppliers
should not be given more favourable
purchasing terms solely on account
of such ‘approval’; nor should the
‘approval’ be condittonal upon sup-
plies only from designated sources.
Purchasers should be entitled to
the full support of the manufacturer's
warranty in any country of the world
without regard to the source of the
oe Naturally, goods sourced from
foreign countries might not be fully
compatible with local custom and
practice, but that is a separate prob-
Jem between purchaser and retailer.
As evreyone knows, even products
from ‘approved’ suppliers far too often
ignore UK requirements for & signs
instead of $ and for dates in the dd/
mm/yy format.
The attitude of Apple Computer and
others towards ‘unapproved’ retailers
is an unwarranted interference in.
and restraint of, trade and it is about
time that our Government and the
European Commision took a firm
stance to outlaw this sort of discrimi-
natory behaviour.
CONSUMER PROTECTION ACT 1987
lam sure that many readers will be
pleased to know that the Consumer
Protection Act, which recently came
into force, makes it a criminal offence
to give consumers a misleading price
indication about goods, ete other
than for business use.
A consequence of the Act, and a
code of practice made under it, is that
advertising to consumers must now
quote VAT inclusive prices and must
not hide non-optional extras, like
P&P, away in illegible type some-
where, nor so word things that the
consumer cannot easily and simply
work out exactly what total sum of
money he will have to pay to acquire
the goods he wants.
Since Apple2000 is clearly a ‘con-
sumer’ mazagine. I hope that
Apple2000 will refuse any advertise-
ment which doesn’t comply with the
DTI's “Code of Practice for Traders on
Price Indications” and also ensure
that any prices quoted in editorial
matter (eg in Reviews and news of New
Products) include VAT.
Vernon Quaintance
Q The problem of restricted practice
from Apple Computer is an old one.
AppleCentres seem to be able to quote
prices that often are less than normal
dealers pay to purchase from Apple
direct. There are even rumours that
Apple UK will cease to supply anyone
other than AppleCentres in the near
future.
We will endeavour to see that we
keep to the Consumer Protection
guidelines, We shall ask all advertis-
ers to conform as well. However most
of their business is supplying bust-
ness customers who are unaccus-
tomed to thinking of VAT in the prices
they pay. Editor oe
MACINTOSH LETTERBOX
Harpenden
Herts
Dear Editor,
In connection with my letter toyou,
I saw an article which appeared today
in The Independant. Its author refers
at one point to writing from right to
left mare claims that it presents no
major problem. He must be right of
course,
I have now found that on your
Public Domain disk No 015 the He-
brew fonts have a DA device which
reverses the order of printing but it
does not work with other fonts. I hope
that either you or one of your readers
will be able to advise me how to
change the direction of printing for
Arabic fonts.
Bogumil W Andrzejewski @e@
APPLE II LETTERBOX
iDipaevatipasi Read) Ut)
(Lr eBtBn010) Weipessibpeeticre:
West Germany
Dear Irene,
Thank you very much for your
friendly reply to my letter, and the
sample magazine you sent me. I
would like to become a member of
Apple 2000 and am enclosing my
completed application form.
Some comments about the letter
from Margaret Audin in Paris (Octo-
ber 1988):
I bought Multiscribe just before I
heard that the Claris Corporation had
taken over StyleWare Inc. I sent offmy
registration cardandat thesame time
ordered a backup disc. This arrived
safely some time later. In January. |
read an article in Nibble magazine
about AppleWorks GS, which stated
an upgrade to AppleWorks from
Multiscribe was possible for the GS,
so I wrote to Claris to ask if this
parade ‘was also possible for the //e.
So far have had no reply whatsoever,
although as I only sent the letter two
months ago this may just mean that
they are taking their time, and not
necessarily that they don't care about
Apple //e users either.
I had some old AppleWriter files
which I converted to ProDOS using
Copy II Plus. It was then possible to
open the files from within Multiscribe
and convert them to Multiscribe files.
I didn't lose any data, but a certain
amount of reworking was necessary.
However, if Multiscribe files can be
recognized by AppleWorks (I assume
this Pa ih then iene tis
upgrade possibilty), then may is
en Be MORRIE for Margaret
Please submit all letters and articles to the magazine on disk wher-
ever possible. The disks will be returned to you when the magazine is
published. If you have a modem, send us letters, articles and Public
Domain programs either to BSG005 or to TABBS (RBH FARTS,
June 1989
Apple2000
@BBeemM 3
Audin's work.
1 also have The Print Shop, which I
thought was very good, and I used ita
lot until the end of last summer when
I bought a copy of Print Magic, from
Epyx, which is even better! However,
neither of them can cope with foreign
languages, and I don’t know how to
make them either. If! want to write to
my German friends I have two
choices: I can write the special Ger-
man characters out in full, i.e. instead
of a, 6, Q oHr §, I write ae, oe, ue or ss.
Although this is acceptable in Ger-
many, it makes the text difficult to
read and it looks messy. Or I can use
a modified font for Multiscribe that I
have made myself based on
Wordsworth font number 3. If | am
sending a birthday card or a short
note I usually write it in English as
most of my German friends can
understand English anyway, but this
is hardly a solution to the problem!
like Multiscribe a lot, but I find it
rather slow sometimes and I have to
be careful that I don't get words with
letters missing because I have typed
too fast. Two things I miss about
Multiscribe are a hyphenation func-
tion and a hard spate (to hold things
together that shouldn't really
separated, ¢.g. 120 kg or Mr Smith). If
anyone has any advice or hints about
using Multiscribe I'd be very pleased
to hear them.
Tam looking forward to the arrival of
the next Apple 2000 magazine.
June Baker
Sevenoaks
Kent
Dear Editor,
Doyou know if there is a driver todo
graphics dumps to my Centronics
739 from the //e.
¢ Tickle
Q There are various problems related
to making graphic dumps on the
Apple Il. First of all the printer must
be capable of Delo acarented with 8-
bit data that will be sent straight to
the print head, this rules out all but
dot matrix printers. Secondly, the
printer card must be able to pass 8-bit
data when requested. Thirdly you
need a routine that can dump the
screen data in the format the printer
wants.
No two printers are the same in my
experience, and most programe ex-
pect the ImageWriter to be at the
receiving end.
Apart from writing a custom driver,
probably the best thing you will be
able to do is to first dump the screen
to disk. Then output this picture us-
ing a suitable program.
Try Timeout Triple Dump or Printo-
grapher, both these will dump Apple
Il graphics to printers.
Perhaps someone else has a better
solution?
The Boffin a
Multilingual Services
22 Charing Cross Road
London
Dear Michael Corgan,
As a recent subscriber to
Apple2000 I was intrigued to come
across your letter in the October is-
suc.
We have four //e Apples here, with
varying amounts of AE RamWorks
memory. and we use AppleWorks, v.
1,3, together with AutoWorks. At
some stage we shall need to get a
couple of more machines so your
experience with the GS and Au-
toWorks is a timely warning.
I'ma bit late off the mark and I don't
know whether I can be of any help to
you, or any other business users who
may have contacted you. After all, it
would seem that you are the nized
ploneer with your GS venture while I
have stuck prosaically to what we
have found to work extremely well,
namely //e + RamWorks + Apple-
Works + AutoWorks. This is not tosay
that I have no problems at all: firstly,
I find the AppleWorks printing instal-
lation woe! ily inadequate as it won't
allow me to get all the (to us) essential
accents and continental characters
on the diasy wheel of my Olivetti inter-
faced typewriters; secondly I find ita
damned nuisance having to reboot
every time | have to send a telex via
Telecom Gold (despite noble assis-
tance from Steve Morrisby of
Bidmuthin I am still unable to load
both AppleWorks 1.3 and the Access
Il comms. program into RAM).
If you think I can be of any help in
any respect don't hesitate to get in
touch.
George Knapp
Q We reprint George’s letter to
Michael Corgan with his permission.
Barbican
London
Dear Sirs,
I have had a Brother HR- 15 Printer
for some years and it has given rell-
able service and required only one
repair. lam reluctant to replace it, for
the present anyway.
It Serves as a printer for an Apple /
/e computer and is serially connected
thus, the cable being provided by the
dealer who has since gone out of
business:
Printer Computer
Pin 1 Pin 1
2 2
3 3
4 20
5 5
6 6
7 kA
8 8
20 4
This configuration successfully
from AppleWriter Il (DOS 3.3), Quick-
file II (Pascal 1.1) and Microsoft Multi-
plan (Version 106, DOS 3.3) -via an
Interface Model 7710 of California
Computer Systems set at 9600 Baud.
I have recently purchased Apple-
Works marketed by Claris which is
ProDOS based, and am unable to
successfully print using the above
configuration. I do not get a garbage
output, but there is no line rationali-
sation and the format has random
line lengths. Also each printout is
preceded two lines earlier by all of
part of the Control Code AppleWorks
asks for configuring for a “Custom
Printer” ie one which is not already
listed in the programme.
Can you help? It has been sug-
gested ta new interface card may be
required and/or (b) the connection
should be changed to parallel. In that
case can you p indicate the pin
connections in a listing similar to that
above.
Further, will I still be able to print
the original three programmes after
the change? Any help or advice would
be much appreciated.
WP Goss
Q First of all apologies for taking so
long to print your letter.
Your CCS7710 card is a serial card.
You have been using it this way with
a serial connection to your printer, a
parallel interface which is something
quite different, would not in fact work
with your printer at all.
The problem lies elsewhere. The
CCS card normally issues a <CR>
after 255 characters. | suspect that
AppleWorks may be thinking that the
printer is operating quite differently,
and is sending line lengths that are
triggering off the ragged line ends.
A further clue may be in that you
see part of the printer initialising
string on each printout. I suggest re-
configuration of the printer in Apple-
Works. There should be no control
characters sent except for any men-
tioned in the Brother manual. Make
sure the platen width matches that of
the printer. From the <OA>0 configu-
ration menu, make sure the charac-
ters per inch again matches that of
the printer as AppleWorks normally
expects an ImageWriter which can
print many different widths,
If none of this works, please give
Dave Ward a ring on the Hotline. He
may be able to help further.
The Boffin
South Croydon
London
Dear Ewen,
Congratulations on the “Hardcode
Pips”. | bought my //e when others
were buying Lisa and I missed a lot of
the early ‘Pips' which the veterans
may know about. I didn’t know about
BASUG those days and relied on
‘Apple User’ magazine.
Some more would be welcome.
Michael Bass
4 @8
Apple2000
June 1989
Q We intend “Hardcore Pips” to be a
regular feature. Many of our newer
members are new themselves to the
Apple II.
Ed. e
Cheltenham
Gloucestershire
Dear Dave,
In response to your plea for Apple }[
repairers in Hotline News, the o1
possibility I know of besides those
who advertise in Apple2000 is ESCO
Compuer Systems of 115 Burring-
ham Road, Scunthorpe, South Hum-
berside DN17 2DF, phone 0724-
855795.
I have found the proprietor, Eric
Sausse, most helpful, knowledgeable
and sensible. His prices are reason-
able too. He readily admits he is not
an electronics expert and if he thinks
a solution is beyond his capabilities
he says so. If he thinks it is better to
throw something away and replace it
he recommends this. With prices
where they are it is often cheaper todo
this. On several occasions he has
made suggestions which have en-
abled me to solve the problem myself.
He seems to have a pretty good
supply of manuals at reasonable
prices too, and generally his prices for
cards and accessories are as low as
any. Incidentally, Eric had a plug
from another satisfied customer in
the March issue of Apple Slices.
Peter B Dyson
Amersham
Bucks
Dear Boffin,
I wonder ifyou can help me with any
of the fol :
1, With my recently acquired Apple
//e came the Apple Business Graph-
ies program (2 disks, PLOT: and
DATA:) and manual together with a
disk (CONFIG:) that claimed to enable
output from the program tobe printed
on an Epson printer. There were no
instructions with this disk and I have
not been able to work out how to
access it from the main program, nor
do I know which driver to use; conse-
quently although I can mun the pro-
gram Iam unable to print from it (my
printer is a Panasonic KX-P1081 that
seems to be fully Epson compatible).
I would like to be able to use this
program as in many ways It is more
powerful than Appleplt. *
2. Is there a patch for the bug in
AppleWorks 2.0 (and earlier versions)
that causes it to crash to the monitor
if you attempt to use OPEN-APPLE-S
to save a file to a disk on which there
is insufficient room?
3. Lalso acquired with the Apple an
Owl modem and card, and Owl Ap-
pletel colour card and a Decca TV-
style colour monitor (?type PN 781
RGB). There are manuals for the
modem and Viewdata editor but not
for theAgniete colour card, sol donot
know le settings for the dip-
switches. Is it possible for me to use
some combination of this gear to get a
colour display from Apple Business
Graphics, or games, on the monitor?
At the moment all I can get are green
and white.
David M.L. Morgan
Q1. The program is written in Pascal.
This requires that any printer should
be placed in slot 1, and that the
rinter interface card conforms to
‘al protocols. You do not mention
which printer card you are using, but
you should find that most normal
parallel cards will work with Pascal.
From the listing you enclose, I cannot
see any mention of a printer which is
similar to the Epson. Perhaps some-
one else could help on this one?
2. I have searched the Open Apple
magazines, the ‘bible’ of AppleWorks
and other Apple II poganmes: and
cannot find a patch for this problem.
3. If | remember, the Owltel colour
card is a Teletext chip driven card. If
this is correct, it can only display
Viewdata displays, and cannot
therefore display graphics as such.
Perhaps someone can help with the
dip-switch settings?
The Boffin e
Totland
Isle of Wight
Dear Editor,
A comms. link which I wished to
make, required DEC VTS2 terminal
eumlation. To this end I purchased a
Linnet/Gazelle combination, having
received a verbal assurance from the
vendor that it would suffice. Although
able to access Prestel and Microlink
easily, I have yet to see into the system
requiring the VT52 emulation. Is
there an obvious solution to the prob-
lem?
Finally, on boot-up from
Mousedesk, the Selector screen is
almost illegible, since the text com-
prises s: block of colour. Is there a
remed)
Malcolm Tait
QAs the author of Gazelle, I am sorry
to hear you were misled by the vendor.
The manual explains how to set the
oven a for VT100. VT52 was an
earlier and more limited version of
this protocol, and {s not entirely
compatible with VT100. It was incor-
rect of the vendor to say it was. You
will find VT100 more usually used on
most systems these days. Gazelle
cannot emulate fully VT52.
The solution to the second pro,
is easy. Go to the Control Panel, select
DISPLAY and change to Mono-
chrome. This default eettibg is to
make the normal hi-res graphic dis-
plays show as black and white rather
than colour. It will not affect the super
hi-res colour screen. Ifyou then runa
rogram that should be in colour, but
displays as black and white, simply
change this back to colour.
Ewen Wannop aA
Cameo Entertainments
Sherwood
Nottingham
Dear Sirs,
I'd like to ask if anyone can tell me
just how to discover what the
es available on the back of the
Apple2000 introductory disk actually
contain. It may be that they have lots
of things useful to me and my Arp /
/e, or maybe none of them woul of
interest to me at all. Do you have any
further details?
Also, I've just started using the very
good pro; e Print Magic to pro-
duce posters for the clubs & pubs for
which we supply acts. I also use Print
Shop and Print Shop companion. I
find that I can use P.S. Graphic disks
with Print Magic, but I couldn't use
the graphics from the Print Shop itself
until I transferred them to anew disk,
since when they work OK. I cannot
find any way bey of getting Print
Magic to accept fonts and borders
from Print Shop and Companion,
which fs annoying as I've customised
most of them to get a £ sign on the
fonts. | find the borders on the Print
Magic a bit dull and boring in com-
parison to Print Shop & Companion
too. I tried moving these on to a new
disk as I did with the graphics from
Print Shop, but Print Magic tetally
ignores them. Can anyone help wit
any suggestions?
Mavis Shardlow
OThe programs on the back of the In-
troductory disk are in fact Apple-
Works word processing files. These
were written under a large desktop,
and so will need AppleWorks runnin;
with at least a 256k memory card
you wish to read or print them. They
are normally read by the driving pro-
cant On the front or boot side of the
isk, there are various programs.
They are run when you boot the disk.
There is however a Merlin text file of
the actual program that will be of
interest to assembly language pro-
ers.
grammers.
I throw open the Print Magic discus-
sion to others who might help.
Ewen Wannop
APPLE IIGS LETTERBOX
Letchworth
Herts
Dear Sir,
I have many points to mention, but
first I feel some thanks is in order for
eve! who assists in the produc-
tion of the magazine: the layout is
good, the articles interesting and the
June 1989
‘Apple2000
@e@is
tips useful.
l have a 768K Apple IIgs, with one
disk drive and Revision 01 ROM. I
recently constructed the Ensoniq
input interface, for the Apple IIgs, by
John Kishimoto in volume 3(5) of
Apple2000, but have ienced
some problems with it and the associ-
ated software. The actual circuit
works and I can record and playback
sound using the Tapedeck ”
however, the quality of the recording
is very poor; although I used a coax
lead from the circuit to my input
connector, the noise on the recording
sometimes drowns out the music or
speech. Also, I cannot save the
samples with the Tapedeck program.
IfI select ‘Save As’ from the file menu,
the usual dialog box comes up. I select
the pathname (making sure the disk
has enough room to spare) and click
on save. The disk whirrs for half a
second, the dialog box disappears
and no data has been saved. I have
tried using the program from both
ProDOS and GS/OS, but neither
works. What do you suggest?
I am in the fifth year of a local
comprehensive, the Highfield School,
and you may be interested in the
events that have taken place there in
the last month or so. The education
standard computer in Hertfordshire
seems to be the RM Nimbus, and our
schoolis no different, having about 70
plus computers on two networks (we
have 777 pupils).
Personally, I don’t think very highly
ofthem, so es, fe my surprise when
I went into the library one day at the
beginning of March, and discovered 3
Mac SE's and 2 Mac II's there! A few
enquiries revealed that they were
there for a satellite link up with Ja-
pan. Here is a copy of the school press
release:
Highfield's Historic computer link
with Japan
First year students at Highfield
School are taking part in a unique and
historic computer link up with children
on the other side of the world.
Their faces and voices will be sent
via specially installed personal com-
puters, to aclass of children in Toyma,
on the northern coastline of Japan,
particularly in school, and telling the
Japanese children about life at
Highfield School.
The children of both countries will be
taking part in a Japanese television
programme, sponsored by Apple com-
puters, which aims to answer the
question: ‘When the children of two
nations meet through the computer
what do they talk about?"
The 38 minute program ts scheduled
togo out live onJapanese televisionon
March 21, a national holiday.
This week teachers and children at
the school have been busy preparing
Jor the broadcast, mastering thenewly
installed computers (on loan from a
British company) and compiling ques-
tions to be put to the Japanese chil-
dren,
The s director, who with
his crew have been filming in the
school and around Letchworth, bie a
this ts the first time youngsters in dif-
Jerent countries have been able to
‘speak to one another via a computer.
The ‘personal computers’ installed
are, of course, the Macs, with some
aapociated: hardware, namely an
Apple scanner, ImageWriter Il printer
and modem. Hypercards are being
used to transfer the data. I believe the
‘British company’ to be Apple UK, who
are likely to be getting a lot of publicity
out of the venture. which was ar-
ranged by a local hi-tech industry-
education body, with large resources,
called Education 2000. Rumour has
it that some of the computers will
remain at the school and I hope they
do.
I also have some more praise for
you, regarding the TML Pascal. After
following your advice in February's
issue, I phoned TML in Florida and
managed to obtain version 1.50, even
if it isn’t posted straight away.
Finally, I think a few book reviews in
the magazine would be quite useful.
as it is nice to know what's behind a
title. I look forward to hearing your
comments and suggestions.
Stuart Aitken
Dear Apple2000
Looking back through the last years
issues of Apple2000, I am convinced
that the magazine is fctting better
and better. Being a little wary of at-
tending the AGM at Luton, I was
plea: to see the workshop work well
and feel that it was well worth attend-
ing.
After talking to several people at the
AGM, Ihave decided to try and get into
comms. I read somewhere that you
sell the Linnet 1200 modem reviewed
in issue 3(3), which has hopefully not
expired. You said you would send
anyone who enclosed a large SAE a
free guide to comms and TABBS. I
have enclosed one, as I want to know
what V21 and V22bis etc. mean.
With regard to my earlier letter,
trying the DOC recording circuit from
issue 3(5) with Tapedeck, sometime
later, the problem of Tapedeck not
saving the sound data has miracu-
lously disappeared. In its place is a
further problem: The article suggests
using Sound Studio for editing
sound. The program runs OK, but the
sound from Tapedeck comes out to-
tally garbled, what ever the playback
cS |. Have you any ideas? The pro-
ram does work, as the sound file
from the init fle Startsound (the one
that goes “Startsound, by Guy T.
Rice”) comes out perfectly.
Foal, I too have to report that
many PD programs from the IIGS
library crash on quitting under GS/
OS. Is the only solution to wait for
updates that are GS/OS friendly?
Stuart Aitken
QThe praise ts overwhelming, thanks
a million ...
lam not sure what is going on with
your problems over using Tapedeck.
lowever, I might suggest that itis due
to you only having 768k of RAM. I
would assume that Tapedeck would
expect a full lmeg. It was one of the
very earliest programs written for the
llgs. The poor Bound ua ay using the
DOC circuit may be due to mismatch
of volume. The circuit that John de-
scribed is quite fussy about the input
levels, try putting a potentiometer
into the circuit and adjusting that.
As to the problem with Sound Stu-
dio, | do not know the answer to your
problem. You have tried using differ-
ent speeds. soit can't be that. Perhaps
it is also linked to the lack of memory
as well.
Many of the PD programs were writ-
ten in the early days. Most Program
mers were breaking new ground, and
they may well have not cleaned up
correctly on the ProDOS 16 exit rou-
tine. We shall all have to walt for
better versions,
Asanardent comms man, lam glad
you are considering getting into
comms. The Linnet 1200 is still avail-
able from Apple2000, and represents
one of the best buys in modems today.
The free guide we publish is a very
basic one. It may not answer all your
questions. V21 {s actually another
way of describing 300/300 baud
European style. V22 is 1200/1200
baud, and V22bis is 2400/2400
baud, both these are compatible with
US versions of the same speeds.
We have no book reviews in the
pipeline, but if anyone out there has
read a book recently that they would
like to comment on. we would wel-
come a review of it. Reviews need not
be long, but they should be submitted
on disk (or modem) if possible.
Ewen Wannop
Thirlmere Drive
Liverpool
Dear Ewen,
Belated thanks foryour letter. I took
the plunge and bought an Apple 20
mb hard disk and topped up the
memory card to its full complement of
1 mb. Having no prior rience of
using a hard disk, I thought it advis-
able to stick to the Apple version fora
first purchase,
Cirtech are now marginally cheaper
for the memory chips.
As you advised me, everything now
runs a great deal better than before. 1
have put the SCSI card in slot 7 on the
GS, and moved the PlusDisk (which
contains AppleWorks) into slot 2. Bi
leaving the startup slotas 7 {although
scan would probably be just as good)
I can start up from the hard disk by
simply switching it on before I boot
the system, from AppleWorks on the
PlusDisk card by leaving the hard
disk off, or froma disk placed in either
6 &@
Apple2000
June 1989
the 3.5" drive or the first 5.25" drive.
The only problem now Is where to put
the Mastercard if I decide to use the
modem again!
By the way, even with my enhanced
setup, I cannot get a peep out of the
sound demo program I mentioned in
my last letter and the “moving land-
scape” demo still hangs up in the
middle of part of the Finder screen,
even after pressing Control-Reset as
recommended. Perhaps some of the
earlier programs just don't work with
the new ROMs.
I have been very impressed with
Jumpstart and am seriously consid-
ering sending off the fee and installing
it as my startup program. As you say,
it does read text files much better.
One odd that appears to
happen when I use any of the library
programs to print anything Is that the
ImageWriter does odd things if! try to
print multiple copies from Apple-
Works. What us' happens is that
it prints part of it and starts printing
the second copy without formfeedi
etc. It took me a while before I foun
that the printer setting in the control
panel had been changed to enable a
pen buffer. Changing back to “No
juffer” instantly solves the Apple-
Works problem. I can only assume
thatJumpstart and at least one or two
of the other library programs with
printing facilities must change the
setting to allow for a print buffer, as I
have now had to change the setting
back to unbuffered several times.
Publishing this warning might save
someone else the wasted time and
concern that their ImageWriter has
gone faulty!
The FontDoctor font editor only
works with GS fonts and will only
display fonts that have been installed
in the System/Fonts folder. The au-
thor does say that he plans to en-
hance it to include. iter alia, the facil-
ity to edit Publish-It! fonts, so I will
probably send off the fee and ask him
if he has done this yet.
I have taken the opportunity to
examine some fonts with the charac-
ter swapping program, and was dis-
appointed to ‘dnd that the Publish-Itt
fonts donot appear to containa £s\;
at all. Interestingly enough, I cola
not find a hash sign in the library
fonts that I examined in this way,
although there is a £ sign. My next
ste] be to swap the £ sign in one
of the library fonts you sent me to the
data occupied by the hash sign in
¢ Publish-It! fonts, change the file
type and then see if it works. Ifit does,
T will let you know as the information
will doubtless be useful to others.
Did you see John Molloy’s enthusi-
astic review of AppleWorks GS? He
mentions that it will not printa£sign,
but seems to consider this to be a
minor point. Frankly, lam at a loss to
understand that view as this failure
renders the program useless to me.
He hints that the problem concerning
the £ sign has its origin in the GS/OS
itself. He did have partial success in
persuading the program to display a£
sign on the screen, but could'nt print
it. Anyway, I can save £200 and stick
to AppleWorks 2.0 for the time being
in the paler hope uae one oy, Claris
might luce an icised version.
it John. Maloy centioned the
problem, the two reviews of Publish-
It! I read before purchasing the pro-
did not see fit to comment on the
ck of the £ sign. I must admit that I
still feel conned into buying a pro-
gram that. as it stands. is really onl
suitable for the American market. uf
I wonder what slot I could use a PC
Transporter card? At least there is a
wealth of UK-written software which
will run on that!
Alan Willey
QI am glad that you are finding the
Hard Disk useful, it has almost got to
the point with the IIgs that a Hard
Disk ts essential to make the system
work properly. The Macintosh is
impossible to use without one, and in
fact some programs for that machine
are now too large to fiton a 3.5 floppy!
If you are not going to use the
Mastercard and the Printer together,
then put the Mastercard into slot 1
and simply switch the from the Con-
trol Panel as needed between ‘Your
Card’ and ‘Printer Port’.
Sound on the IIgs seems to be a
variable event. I have heard of a few
people having problems with it,
whereas I have had none so far! There
are indeed some of the early pro iS
that will not work under GS/OS, I
think we just have to accept that.
However, JumpStart is not the on!
program to alter the Control Panel.
This is going to be a continuing prob-
lem. Soualy Pepe 8 programs
like AppleWorks cannot know they
are running on a IIgs, and so will not
know things might have changed.
oa programs that change the Con-
trol Panel should first save the para-
meters they find, and restore these on
exit. Programmers please note!
The font problem will not go away
easily. There is a legacy we have to live
with in that the Fonts owe their struc-
ture to that of a Macintosh Font. The
Macintosh uses 256 character posi-
tions, and puts all the ‘funnies’ into
the top 128 with the ‘hi-bit’ of the
word set. This means that any word
Hehe must be able to handle 8-
it data. In transferring these fonts to
the Ilgs, the £ sign and other useful
characters will be in these top 128
positions, It is usual in ProDOS word
processors to only handle 7-bit data,
thus hiding these characters from
view. The Font editors simply redraw
or swap these characters to make
them visible. However, unless the
printing is done by means of a bit
map image, the characters will
si elusive. The ImageWriter will
print them for instance where the
LaserWriter will not.
Some of the Font Editors and char-
acter swapping programs are decid-
edly flaky, and should be used with
caution.
We have not given a review of Apple-
Works GS yet for various reasons. It is
very slow, it cannot see the full font
set as you mention, and it needs 3.5
mb to be able to load large files you
may already be using in stan
AppleWorks. For the meantime, I do
not think it is a viable alternative.
Ewen Wannop
Arlesey
Beds
Dear Sir,
My Ilgs currently does not have the
Version 01 ROM. Can you supply this
ordo you know of somebody who can?
Colin Staple
QI have had quite a bit of correspon-
dence on this matter and the SCSI
ROM upgrade. Malcolm Tait was
quoted £90 to exchange his system
ROM and R. H. Devitt was actually
charged around £57 for upgrading
his SCSI ROM by his local dealer.
The upgrades are necessary if you
are to use the current GS/OS operat-
ing system for the IIgs.
The ition is this. Apple will re-
place the VGC and system ROM ofa
IIgs free of charge to the current revi-
sion level if necessary. You should
also have a free upgrade to revision
2.0 (C ROM) ofa SCSI card. It is up to
you to pay any charges involved in
getting the machine to your dealer. He
is entitled to make a charge for la-
bour, but this is unusual. Apple sell
the ROM upgrade kits to the dealers,
but credit the dealer on return of the
old ROM's. For this reason, it must be
an Gee a oe cannot get the
ROM'’s in a ce.
However, Apple UK have failed to
tell many of the dealers how the ex-
change operates. Consequently, they
are charging for this service. There
should be no charge whatsoever ifyou
fo back to the dealer you bought the
machine from. Persevere, and make
sure you are not charged for the
upgrades.
After bh to Apple themselves,
R.H. Devitt got his money back from
his local dealer.
Apple UK are not being very helpful
over the Ilgs. Apart from the total lack
of advertising, they are not for in-
stance providing the GS/OS system
disks for existing users. It has been
left to the User Groups to distribute
these disks to their members. OM-
cially we have not received these disks
from the UK, we have had to obtain
them from the States. Ifyou are not a
member of Apple2000, you will have
to rely on adealer who may or may not
have these disks. and may or may not
give you a copy!
Come on Apple, wake up to the Ilgs.
it does exist you know!
Ewen Wannop e
June 1989
Apple2000
@e
Dave Miller continues with his
definitive series on languages
In this instalment I shall cover C, an
See ecinctipaa thant eeryenss
mu in the few years
but dates from the mid-70s. Reference
is made to ALGOL and Pascal and the
relevant articles in Apple2000 Maga-
zine should be consulted where neces-
aebcsng the ten years following the
publication of the “Revised Report on
the Algorithmic Language ALGOL-60'
by P Naur, in 1963, several new lan-
guages were devised, among them were
ALGOL-68, Pascal (both cov-
ered in ean 2000 Magazine) and CPL
(Combined Programming Language -
so called because it was intended to be
applicable to all types of problem:
numeric, textual, logical, etc). CPL was
a joint venture between the University
London Institute of Computer Sci-
enceand Cambridge University Mathe-
matical Laboratory. It was never fully
implemented buta reduced form, called
CPL1, was implemented on the Atlas
computer. CPL led to the development
of several systems programming lan-
, the most notable of which are
CPL (Basic CPL), B and C,
All the languages developed from CPL
share ALGOL's main concepts and the
resemblence can be easily recognised.
Another common feature is that these
languages generally produce highly
optimised machine code. Features are
provided for the programmer to specify
statements in the most efficient man-
ner. Thus these languages are id
suited to systems programming wor!
where efficient code and the benefits of
a high level langauge are required.
C was designed by Dennis Ritchie as
the language for the UNIX
operating system. In fact much of the
operating system is actually written in
C. Although many implementations of
C now exist outside of the UNIX envi-
ronment (e.g. versions for the Apple //
) most implementations are still under
UNIX. The nearest thing to an official
definition of C is The C
Lan e’ by Kernighan and Ritchie,
Fung .
SOURCE FORMAT
Like Pascal, C adopts free-format
source files and spaces are used to
delimit rds and variable names.
C differs from Pascal in two major
8 BBs
respects: C is case sensitive - so“Fred",
“FRED” and “fred” are all regarded as
different. Also the semicolon is a state-
ment terminator in C, and not a state-
ment seperator, as in ALGOL and
Pascal. Thusall statements should end
inasemicolon inC. This last difference
has caused many an upset program-
mer to tear his/her/ (its?) hair out
because it is easily forgotten when
using. say. C and Pascal!
Comments in C are delimited by /*
and */.
BLOCKS
Blocks, as defined in ALGOL. are
fully supported in C. The braces, ‘(and
y, are used to delimit blocks in the
same way as the keywords ‘begin’ and
‘end’. nei brarss) were adopted is be-
yond me use they are most inap-
propriate: they can easily be overlooked
when inspecting source code. A block
counts asa whole statement, including
a terminator, and so does not have to
end with a semicolon.
VARIABLES
C is a typed language. Two main
types are supported: Integer numbers
and real numbers. Integers are split
into ‘char’, ‘short int’ and ‘long int’
which are usually 8, 16 and 32 bits
long. Since all these are integers, they
can be freely mixed in expressions (yes,
even ‘char). Integers can also be la-
belied as being ‘unsigned’ which allows
all the bits in the variable to be used to
store a value (i.e. the most significant
bitis notasign bit). Soa ‘char’ canstore
numbers in the range -128 to 127 (7
data bits plus one sign bit) whereas an
‘unsigned char’ can store numbers in
the range 0 to 255 (8 data bits). Reals
are split into ‘float’ and ‘double’ which
ae nee 32 and 64 bits long respec-
e.g. some simple variable definitions:
long int 11, 12;
/* two variables 11 and 12
defined */
char es
float f;
double = d;
int i, 3. ke
/* short int */
STORAGE CLASSES
Allvariables have an associated stor-
class. This indicates the way in
which the variable is stored in memory.
Unless otherwise specified, variables
are automatic. This means that they
are local to the block in which are
defined and only exist while that block
is being executed. Otherstorage classes
are:
static
Static variables are constantly main-
tained. Thusa static variable will main-
tain its value after the block in which it
was defined has been exited. Static
variables are initialised to zero by de-
fault.
external
Externalvariables are defined in other
blocks or modules (by definition they
are also static). Thus variables from
one block/module can be access by
another.
register
This is a optisation feature. A vari-
able can be explicitly bound to one of
the CPU's registers if allowable. Obvi-
ously this is a machine-dependent
feature.
With prudent application this can
speed up the execution time of a pro-
gram considerably. By definition regis-
ter variables are automatic.
typedef
This ts, effectively, a type definition.
©.8
typedef unsigned char byte; byte c;
The above two statements define the
variable “c" as a “byte” which is an
“unsigned char” (i.e. an 8-bit number
without a sign bit).
VARIABLE INITIALISATION
Static variables may be initialised
when defined:
static float x = 3.5;
static int i= j= 23
static char c= ‘a’;
eg
float vector [20];
int matrix[10) (10);
Here “vector” is defined as a floating
array dimensioned from 0 to 19 (.¢. 20
elements long) and “maxtrix” is defined
from [0]{0] to [9}[9). Note that the array
always starts at index 0. ce
Apple2000
June 1989
Bi hin’ L
TransWarp-GS
More than double the speed
of your GS
AppleWorks-GS
Full Colour DTP and More
TOGETHER -
£499.00 + VAT
eidnennin n Technologies s Ltd.
BrentHouse ==
Harrow :
Middlesex -HA3 3 aBT
Telephone 01-907 8516
The array identifiers are actually
pointers which address the first ele-
mentofthe array. The index specified is
an offset to be applied to this pointer
(hence arrays start at index 0).
Arrays be initialised (they are
zeroed by default): aA
int n[3) = (1, 2, 3)
int matrix[2] [3] ={
{1, 2, 3}
{4, 5, 6)
}
In the second example matrix(0][0] is
1, matrix [0][1] is 2, etc.
character arrays
ee
char str[10], text[] = "this is
a text string";
Note that ‘text’ is defined without a
length - this is taken to be the length
ofthe text si . Text strings are delim-
ited by DOUB QUOTES. No length
information is stored - the end of the
string is marked by a nul (zero value)
thus there is no theoretical maximum
string length (although different imple-
mentations may impose some practi-
cal maximum size). Non-printable
control codes may be included in the
string using the following editing char
acters:
\n new line (carriage return
and line feed)
\b backspace
\f form feed
\r carriage return (without
line feed)
\t tabulation
\xn n = hexadecimal
character code
\n n = octal character code
(e.g.\7 = CHRS(7) in BASIC)
\e escape
also
\' includes a singe quote in
string
\" includes a double quote in
string
\\ includes a back-slash in
string
cg
char example[] =
"test\n\'test\'\ntest\rr";
ifthis were printed then the following
would be output:
test
‘test’
rest
STRUCTURES
Structures are C’s equivalent to
Pascal's records. A structure has
members. For instance, a payroll rec-
ord may have the following members:
the employee's name, his/her payroll
number and the date of his/her joining
the company.
This could be defined in C as:
typedef unsigned char byte;
struct payroll
{
char name (20);
long int paynumber;
byte —_ joiningyear;
byte joiningmonth;
byte joiningday;
}
struct payrollperson_id(20];
/* array of 20 structures */
struct payroll id = {"Fred",
112039, 88, 3, 30};
Here two variables have been de-
fined: ‘person_id’, a 20-element array
of structures and ‘id’, a single record
which is initialised. Accessing the
members ofa record is achieved by ap-
the member's name to the
structure's name with a full-stop be-
tween: in the above example accessing
‘id.fred’ returns “fred”.
ASSIGNMENTS
These are pretty straight-forward
(note the use of ‘='):
xy?
Some special assignments are pos-
sible:
at=b; /*->asatb */
even:
xtmyt=3; /*>yenyt3rx=
x+y+3*/
Note the different meanings of‘="and
‘==’: the former ass! values
and the latter only tests for equality.
SUBPROGRAMS
C, like ALGOL-68, only has functions
which return a value. Certain func-
tions are of type ‘void’ which indicates
that no value may be returned (the
nearest equivalent to a procedure).
Parameters are specified in parenthe-
ses which must be specified even if
there be no parameters required.
e.g. the following integer function
sums ‘a’, ‘b’ and ‘c’ and returns the
result:
int sum (a, b, c) /* calculate
the sum of the three para
meters */
int a, b, ¢;
{
return a+b +c;
}
This ts called thus:
int result, a, b;
result = sum (a, b, 4);
If a function is not invoked in an
expression returned result is discarded,
Cg
sum (a, b, 4);
This call to ‘sum’ would call the func-
ea and then ignore any returned re-
sult.
STATEMENTS
C has the usual set of statements:
goto statement
This is an unconditional jump:
label :
goto label;
Note that alphanumeric labels are
supported.
conditional statement
This allows conditional branching:
if (expression) statement;
or:
if (expression) statement; else
statement;
Note that there is no ‘then’ keyword.
Alsonote the semicolon before the ‘else’.
Looping is performed via three t
pl perform ree types
of loop:
while (expression) statement;
Here the expression is tested before
the statement is executed, so there isa
chance of not executing the statement
at all. Looping ends when the expres-
sion returns zero (false).
do statement while (expression) ;
Here the expression is tested after
the expression so the statement is
always executed once. Looping ends
when the expression returns zero (false).
for (expl; exp2; exp3) statement;
exp] is executed only once when the
loop is started, exp3 is executed repeat-
edly after the controlled statement while
o ge
Apple2000
June 1989
exp2 remains true (i.e. non-zero)
This is equivalent to the following
while loop:
expl;
while (exp2)
{
statement;
exp3;
}
eg
for (j= 1; j<11; j++) /* j++
increments j */
dosomething (3)7
The Pascal equivalent is:
for j :=1 to 10 do dosomething
1a))
The'break’and continue’ statements
can be used with loops: ‘break’ exits the
loop and executes the first statement
past the end of the loop whereas ‘con-
tinue’ jumps to the position just before
the evaluation of exp3.
Each of the expressions may be
omitted:
for (; j< limit;)...;
/* loop while j < limit */
for (53) «++. be:
/* loop forever £/,
switches
Switches provide C’s equivalence of
Pascal and ALGOL's case statement:
switch (exp)
{
case 1 : exp_is_l:
case 2 : exp is 2;
till 2;
default :
If the default prefix is omitted then
the switch is exited on no match. Note
the use of ‘break’. This causes the
switch to be exited after the statements
)_is_2'and‘exp_is still 2'havebeen
executed. The previous match (with 1)
lacks a ‘break’, this a ei
on continues unim|
remainder of the switch after state-
ment ‘exp_is_1" has been executed.
STATEMENT EVALUATION
Like ALGOL-68 all statements can
‘yield’ a value. Hence ‘x = 2' act
yields the value 2 (this is why x=y =
is valid: ‘y=2' cesighed eve
the value 2 which is assigned to ‘x’.
This ts why all subprograms are func-
tions.
The *' is an indirection operator and
forces C to interpret the contents of the
associated integer as a memory ad-
dress and not as a value. The ++
increments the associated variable, if
placed before the variable, it is incre-
mented before its value is examined, if
placed after the variable, it is incre-
mented after it is examined:
a=2;
betta; /*a=3 andb=3*/
an-2;
batt; /*a=3andb=2
since a incremented after
assignment to b */
The while loop is equivalent to:
{register int val; /* val
is register variable */
loop:
val = *t; /* get value
of location addressed
tty
if (val != 0) [* Sime
means not equal to */
{
’s = val; /* save
in destination loca
tion */
s=st+l; si
select next locations
#/,
tett+1;
goto loop; /* loop
again */
Not only is the first example far more
succinct, but the code produced is
more efficient since ‘val’ will always be
a register variable but it may be allo-
cated store in the second example if
ithe co storage mode is not allowed or
panne thinks that no registers
MACROPROCESSOR
One of C’s most powerful features is
the compilation-time macroprocessor
which it shares with languages like
CORAL-66. This allows macrodefint-
tions (like abbreviations) to be defined
on undefined during compilation.
jus:
#define pi 3.14159265358979
fundef pi
In between the define and undefine
compiler directives any reference to ‘pi’
is substituted by the string
*3.14159265358979". Note that semi-
colons are not used since these are
compiler directives and not C program
statements,
for (j = 1; 3 != 20; 4++)
begin
do_something () >
end
This looks far neater than:
for (j = 1; j != 20; j++)
{
do_something () ;
}
(eae te It lacks
Cisarather ie.
some of Pascal's (for some
reason virtually all C listings appear
messy to me no matter how much
attention the programmer has paid to
source code layout! - I blame the adop-
tion of braces as the compound state-
ment delimiters). C is, though, a real
language, designed from the outset for
programming work in real en-
vironments, not for teaching, and it is
supremely suited for this task.
Cis and has many
advanced features such as bit manipu-
lation, expression yielding and special
function evaluation facili
these features come from CPL an iz
low C to produce optimised machine
code for applications solving many dif-
ferent types of problem.
‘The powerofC isindicated by the fact
that many of the latest C compilers, if
given suitably written code, will pro-
duce machine code almost as good as
a competant programmer using as-
sembler. Bs
C also has an almost uniform set of
library routines which provide such
facilities as file handling and trigono-
metric functions.
ers are be; touse C
for more general applications and, with
the spread of UNIX systems, the popu-
larity of C willincrease. It looks
that C will displace Pascal but itshould
some a major rival.
In the next installment I shall be
Bon igbackoarcs in time and covering
favourite, BASIC.
DAVE MILLER «
Die dic net pave rooemin tile sastie:to
pul us programming ex-
ample provided by Dave Miller.
OThe full set of articles by Dave Miller
published in Apple2000 so far covers:
Full use if this feature can produce One useful application is toredefine _ Introduction August 1987
very efficient (but sometimes rather _ those pesky braces to ‘begin'and ‘end’: Fortran October 1987
obscure) code. The pibwing while loop Cobol December 1987
copies data fromone partofmemoryto — ¢define begin { Algol June 1988
another until a zero item is met: #define end } Algol-60 August 1988
Algol-68 Oc! 1988
while (*st+ = *tt+); Thus the following would be valid: Pascal February 1989
June 1989 Apple2000 BeMun
Controlling
the Real World
Bill Hill tells us how to automate
the central heating system and
keep the baby warm
INTRODUCTION
Before you dismiss the Apple II+ or
//e as obsolete, think for a moment
about what the Apple 2 series is: a
simple, highly expandable computer.
Where am I leading? Well, since the
software and hardware of my //e are
much less sophisticated than those of
the fancy 16 and 32 bit machines on
the market today. I thought I would
not have too much trouble convertin;
itintoa smart central heating control-
ler for my house. This article de-
scribes how I did it, and I hope that
you will be convinced that it is not all
that complicated. An added benefit is
that the hardware and software that I
describe here can very quickly be
modified for use in controlling many
other things, e.g. motors, lights etc.
Before I launch into describing the
hardware and software that I pro-
duced, I will explain a bit about my
central heating system and the rea-
sons why I wanted to improve the
existing control scheme.
My house has an old gas-fired cen-
tral heating system. It is the sort
where you cannot have just hot water:
the radiators upstairs warm up
whether you like it or not (unless you
turn them off at the valve, of course!).
An electric pump, controlled by a
wall- mounted thermostat, is used to
circulate water round the radiators.
The wall thermostat is in the living
room, so all 1 could do was control the
ambient temperature in that room to
any degree of accuracy.
The boiler was controlled from the
typical wall-mounted time clock; the
usual old fashioned sort, with knob to
select the mode (e.g. water + radiators
two times a day) and two sets of on/off
tabs, The only means of controlling
the water temperature in the hot
water tank was by adjusting the boiler
thermostat. The only means of con-
trolling the ambient temperature was
by the wall thermostat (which
switches 240V mains).
Parents among you will know that
some thought has to be given to get-
ting the room temperature just right
for a new baby. I therefore want
see if! could come up with a good way
of controlling the temperature of the
baby’s room. I also wanted to control
the temperature of the hot water tank
- the boiler seemed to fire far too often
for my liking. | wanted to achieve both
these aims but still be able to switch
back to the old control system when-
ever I desired.
Tocontrol the ambient temperature
in the baby’s room, one could fit a
thermostat in that room and/or fit
thermostatic valves to individual
radiators. To control the hot water
tank temperature better, one could fit
a thermostat directly to the hot water
tank. (In fact, one could fit an electri-
cally controlled valve to isolate the hot
water circuit from the radiator circuit
in order to get hot water without
heating the house, and vice-versa. A
suitable control box would of course
be needed.)
I did not want to go to the trouble of
fitting an electrically controlled valve
to isolate the space and water healing
circuits, so that ruled out independ-
ent control of baby room temperature
and hot water. Still, there was nothing
to stop me fitting thermostats to both
and selecting which one to control at
any given time. However, I was not
sure how fine a level of controll would
et using the standard bimetal
ermostats available from plumbers
merchants; mains wires all over the
place was not an attractive proposi-
tion, and I didn't fancy the palava of
having to use transformers. Also, I
wanted a controller that would allow
me to have all sorts of time settings,
and perhaps a few other features as
well: a max-min thermometer would
be nice since my main concern would
be to control the temperature accu-
rately in the baby’s room.
So there you have it. To sum up, I
wanted to control the ambient tem-
perature in the baby’s room. control
the hot water tank temperature, and
have a controller with max-min read-
ings, lots of programmable on-off
scree and plenty of flexibility. Oh,
and I didn't want to add any new elec-
tric valves to my pipes or do any
rewiring of the existing system. The
latter was very important since I
wanted to be able to take the new
controller with me if I moved house,
and still leave a working central heat-
ing system. Now perhaps you can see
why I thought about using the old
Apple!
I therefore decided to use the Apple
as a ‘supervisory controller’, te. it
would switch the power on oroff tothe
existing control system, rather than
replace it. The Apple is thuseffectively
acting as my proxy - it keeps an eye on
either the baby room temperature or
the hot water temperature and takes
the appropriate action. I still have use
of the wall-mounted thermostat in the
living room, which cah be adjusted
(‘tuned’, to use the jargon) to produce
the desired overall performance with
the new control system, or used as it
was originally intended, i.e. to regu-
late the temperature in the living
room.
REQUIREMENTS
I needed three things in order to use
the Apple as a central heating con-
troller. Firstly, ameans of measuring
the temperatures, secondly a means
of calculating whether to turn the
heating on or off, and thirdly a means
of actually switching the mains to the
boiler and pump. The first task can be
done with transducers (also known as
sensors), the second by software. and
the third using a relay. Most of the
hardware can be mounted on proto-
cards that can be plugged into
ie Apple's slots, as you will see.
Since the system works in real time
(Le. I want to be able to tell it to come
on at, say, 6 am), then a clock card is
also needed since the Apple 2 does not
have a built-in real time clock.
MEASURING TEMPERATURES
Now. as it happens, there are cheap
solid state temperature transducers
widely available. Not only that, but
they are linear, unlike thermo
couples. That is to say, the Hea
they produce Is linearly related to the
temperature (crudely put, if the tem-
perature doubles, the voltage
doubles). The particular variety that I
decided to use was the LM35DZ,
which produces 10 millivolts per
degree Centigrade rise, over the range
© to 100 degrees. In my case the
working range would be, say, 0 to 25
degrees for the baby’s room and 0 to
70 degrees for the hot water tank.
Thus, the temperature transducers
would produce up to 25 mV and 70
mV respectively.
The voltage from the transducers
needs to be converted to a binary
number that the computer under-
stands. This process is termed ‘ana-
logue to digital conversion’, A-D for
short. These days you can buy cheap
A-D converters on a single chip. They
usually only need a small amount of
ancilliary electronics to give you a
working system. What's more, they
often have more than one channel
eight is usual - 1.e. you can convert
eight separate analogue inputs to
eight separate digital values.
T opted for the ADC0808, a cheap 8
channel. 8 bit A-D converter chip. By
‘8 bit' I mean that the chip will convert
an analogue voltage into an 8 bit
2 24s
Apple2000
June 1989
integer number. Since the range of
integer numbers that can be repre-
sented by eight bits is 0 to 255, and
the ADC0808 expects inputs in the
range 0 to 5 volts, zero volts into the
converter will produce binary
00000000 on its output data lines
while 5 volts will give binary
11111111 (Le, 255). Figure 1 shows
the complete A-D converter circuit.
The ICs are as follows:
NUMBER TYPE +5V GND +12V
Icl ADCO808 see figure 1
Ic2 74LS00 pe Meanie
Ic3 LM301 4 7
Ica 74Ls02 14 7
IcS 74LS30 14 nil
Icé 74LS04 14 r
Since the output from the
transducers is in millivolts, I needed
something to boost their voltage to the
0 to 5 volt range needed by the A-D
converter. This is done using opera-
tional amplifiers (op amps’ for short).
An op amp, in conjunction with a
couple of resistors, can be configured
to give a gain of your choosing. The
idea was thus to make two amplifiers
with different gains in order to boost
the the two transducer voltages to fit
into the range 0 to 5 volts.
I decided on the LM324 chip which
actually contains four op amps, so
two were unused. The only problem
was that the LM324’s output voltage
saturates at about 3.8 volts. This
limited my range into the A-D con-
verter to 0 to 3.8 volts. Ideally it would
have been better to get an op amp that
would allow me to boost the
transducer voltages such that their
maximum likely outputs would be
amplified to 5 volts, but the hardware
limitation of 3.8 volts was not too bad.
At 50 pence for the LM324 I was not
going to grumble too much!
1 mounted the A-D circuitry on a
Vero prototype Apple card, which can
be plugged into any slot (you can buy
these aie protot cards from
Verospeed, MGA Softcat. etc.). The op
amps and the digital switching cir-
cultry are on anot! oe ara card
which can be plugged into another
Apple slot. The two transducers are
connected to the amps by. long leads
laid under the carpet so that they are
unobtrusive. The leads have three
wires: one for ground, the second for
the 5 volts to supply the transducer,
and the third for the transducer out-
put voltage. Since the A-D converter
has eight channels, I connected the
amplified baby room output to four of
the A-D inputs, and the amplified hot
water tank output to the other four. I
could then average the four readings
in software. “A program can use
PEEKs to read the converted voltages.
SWITCHING THE MAINS
So I had sorted out how to get the
temperatures converted into num-
bers in the correct range for the Apple
to understand. The next stage was to
work out what hardware would be
needed to switch the 240 volt mains
needed by the boiler and the pump.
Since the Apple's circuits use 5 volts
to represent logic 1, and zero volts to
represent logic 0, you will appreciate
that you don't want 240 volts any-
where near the inside of the machine!
I therefore decided to switch a low DC
voltage inside the Apple, which would
then switch a mains relay in a sepa-
rate box well away from the computer.
Since the Apple is upstairs and the
boiler is downstairs, this also allowed
metosleep: at night knowing that
my two year old daughter would not
electrocute herself if she decided to
cut the flex with her “snissors” (al-
though I have gone to the trouble of
hiding the flex anyway, both for safety
and for aesthetic reasons). The
switching circuitry in the Apple is
mounted on the second Vero proto-
card,
You may have heard of ‘solid state
relays’. These act just like old fash-
ioned relays, but instead of energising
a coil to open/close the switch, the
solid state relay does the job elec-
tronically, using light would you be-
lieve. They also have additional inter-
nal circuitry designed to reduce noise
on the mains when you switch some-
thing on (I won't bore you with the
details!). These ‘opto-isolated solid
state relays’ are very safe, can switch
high currents at mains voltages mil-
lions of times without failure, and are
cheap. I opted for the FR Electronics
ZRA 6010A which will switch 240V at
ten amps (way above the 2 amps that
I needed, but I like a nice beefy piece
of equipment with plenty of s;
capacity!). This little {cost about
eleven pounds. A DC voltage of any-
thing between 3 and 24 volts will
cause the relay to switch the mains
on.
I used a different relay to switch 6
volts DC to energise the external
power relay. This relay was mounted
on the same card as the two op amps.
I could have gone for another,
smaller, solid state relay. However,
there is a cheap reed relay available
that is directly TTL compatible, that is
to say, it can be driven by the Apple's
binary Bek ieee of 5 or 0 volts.
This relay (FX88V from Maplins) only
costs a couple of pounds and also has
a long life. The 6 volts DC that I use it
to switch is produced by one of these
dirt cheap (about two pounds) power
supplies that can be bought for use
with cassette recorders etc. This
power supply !s housed in the same
boxas the power relay. The box is alu-
minium so that it can double asa heat
sink, although in fact the heat gener-
ated by the relay and the DC
supply {s very small. They are bolted
to the inside of the box to increase
heat transfer, and I have drilled ven-
tillation holes in the box. I hasten to
add that the box is of course very well
earthed, fused, and the wiring inside
1s carefully laid out and soldered onto
isolated terminal blocks so that there
is no risk of a wire baring denne
The safety aspect of these things has
to be well thought out when dealing
with mains voltages.
The final pieces in the electronic
digsaw are a 74LS04 logic invertor
chip and a 74LS74 flip-flop. These are
mounted on the same card as the op
amps and the reed relay. I use these to
latch a binary signal from the Apple's
bus in order to switch the reed relay
on and off. | won't bore you with the
details, but basically I use the DE-
VICE SELECT line and address line
AO on the bus. By pene or
POKEing to an odd num ad-
dress in the I/O range for the slot that
Tuse, I close the relay. By PEEK-
ing or POKEing to an even numbered
address I open the reed relay. This
method is by no means the only way
of doing it, but it is simple. I could
even have used the games port to
drive the reed relay, but decided that
things would be neater all laid out on
a card in a slot.
Figure 2 shows the circuit diagram
for the second Vero prototype card
with the op-amps, reed relay and the
address decoding logic. Figure 3 is a
schematic diagram of the overall
switching circuit.
CHOOSING A CLOCK CARD
The only other hardware that I
needed was a real time clock card. Not
having one, I decided to purchase the
U-CCT card that U- Micros were sell-
ing cheaply to get rid of their stock
(they no longer make this card).
However, when I tried to write a gen-
eral purpose ‘suspend for time’ rou-
tine, I discovered that this card has a
bug in the firmware which affects the
decade digit of the seconds field. It is
the sort of thing that would not cause
any problems for 99.9% of users, but
for the particular job I had in mind it
was annoying. I could have ‘coded
around’ the problem. but after point-
ing out the problem to U-MICROS
they offered me my money back and I
bought a secondhand TimeMaster
HO. This isa super card and has given
me no problems at all.
THE SOFTWARE
The final hurdle was to write the
control software. Since the program
was going to be relatively long, I de-
cided to use Apple Pascal rather than
BASIC. This was partly to force me to
learn Pascal, and p: cause
Pascal is by far the better language
and would increase the likelihood of
me being able to understand the pro-
gram in six months time! Because of
the size of the Posen T have had to
make some of the procedures into
‘include’ files. The main program is
CONTROL.TEXT and the separate
‘include’ files are SETUP. .
READCLOCK.TEXT, DISPLAY.TEXT
and TIMEDELAY.TEXT.
Rather than use interrupts. I opted
to write a simple ‘suspend for time’
June 1989
Apple2000
ae 13
t of procedure, i.e. a procedure
that I could call with a parameter
speci a time delay and which
wo! only return after the time had
elapsed. Basically, the program reads
the temperatures, calculates whether
they are above or below the set-points
and switches the mains on or off ac-
cordingly. It then waits for five min-
utes and repeats the process. | have
built some hysteresis into the pro-
so that it is not constantly
switching the mains on and off.
For fun, I have added a few bells and
whistles to the program. Since there
is some noise in the measurements,
the pro; filters the noise digitally
using the Kalman filter algorithm
(why use a Metro when a Ferrari will
do?). Ihave also added 0.1 microfarad
capacitors across the op amp inputs
to filter the measurement noise,
which is quite large for long lengths of
lead. Since I am using four channels
to read one voltage, the program aver-
ages the four values. To make thin,
more interesting, the program chec!
the four values to see how close to
each other they are. If one is signifi-
cantly different from the other three
then the program excludes it from the
erage. The program uses a slick
method called the ‘degree of inconsis-
tency’ to do this. If the degree of
inconsistency is ater than a
threshold value for the four measure-
ments then the program sounds an
alarm to indicate that there has been
an input failure of some sort.
The program stores all the current
set-points and time settings (up to
twelve on/off settings per day are
allowed) on disk. If the power fails and
comes back on later. the program will
run automatically and, if no key is
pressed within a given time, will read
the data off disk and carry on as be-
lore.
Since the Pascal software supplied
with the clock card didn’t do quite
what I wanted, I have written my own
driver. You may find this useful in
other applications. Likewise, the
PEEK function and POKE procedure
in the program are generally useful if
you don’t already know how to do this
in Pascal.
I have not bothered with any error
trapping of user inputas yet, andl am
toying with the idea of adding various
other functions to the program, time
permitting.
RESULTS
Well, does it work? The answer ts:
yes! The pyetem has been running for
six months now without any prob-
Jems. Afler some initial scepticism,
my wife now uses the system quite
happily, changing the set-points and
selecting either control of the tem-
perature in the baby’s room or the hot
water temperature. The performance
so far indicates that the new system
will cut down the gas bills during late
Autumn and early Spring when out-
side temperatures are not ultra low.
During Winter months when the
temperature is particularly ‘brassy’,
the new system does no better than
the old system since the boiler needs
to work full tilt to keep the house
warm and provide hot water. I will be
monitoring my gas bills over the next
year to see how much | have saved.
Since the overall cost of the project
has been about one hundred pounds
(including clock card), I'm sure that it
will take a couple of years to pay for
itself. However, it was great fun to
make, and a good learhing exercise.
You may have realised that, as the
hardware stands, it is simply a com-
puter-controlled electric switch. With
the appropriate software it could
therefore be used to switch anything
on and off. The design also allows for
expansion; an extra reed relay could
be added on the same prototype card,
and this could be used to control
another remote power relay box.
Finally, 1 would just to say
thanks to the following people: Sim-
eon Manners for his advice on the
solid state relay and aluminium box
idea, to Craig Powers for advice on op
amps, and to Roddy MacKenzie for his
comments on my misuse of Pascal!
Bill Hill
Q The Pascal text file listings were too
large too include in the magazine.
They can be found however on TABBS
for downloading. Anyone who wantsa
copy of the original disk should send
a blank 5.25 disk with return postage
marked "PROGRAM HEATING CON-
TROL" to Apple2000, PO Box 3, Liver-
pool, L21 8PY.
Figure 1
ala
Co
DS ich
o> ee
€ ico bed SS! ] Awatogue
Be one h 7) INPUTS
o—Te pb fey 7 a}-————_3 hbo
3% 3 Pa SF
5 ee +a
Ss | st . s}+———-a” a
Ei
‘
+ 1c4
17
a
shre py ao A M3298
eo
14
Apple2000
June 1989
+Sv
747 FROGV
as Cee? ee To Box
ia Ll DOWNSTAIRS.
. +
Messen sy —_W einem
+5Sv
+5v
2yOv AC MAINS IN
al le
> > ° E
b> = yi ene
u N Swirtted
Ps L MAINS
ouT
fon. io sse
UPSTAIAS ©
DIECAST ALUMINIUM Box
Te A-D +Sv
T4LSog
+Sv 45v
Iso
me | roo
oa a z by
}-— fH 16s fa)
[7}+—}—{a] 74.574 [aH E) Fxssv fy
f=) p+] oe g o
pl ld oh I
ua 3] q gre?
June 1989
Apple2000 15
Hardcore Pips
We continue our dip into the BASUG
archives with more cuttings from 1981
There are, according to Microsense,
three kinds of Apples.
First, there is the ITT 2020, manu-
factured under license by ITT and
although based on and to a large
extent compatible with the Apple II,
utilizing different video display cir-
cultry, Race apres (in the sense at
least of higher density) resolution.
Second, there are American ma-
chines imported directly, either by
individuals or by companies, and
converted to U.K. standards.
Thirdly there are the genuine Euro-
plus Apples, manufactured to
U.K.standards by Apple Inc., and sold
via Microsense and their approved
dealer network.
Microsense are a commercial or-
ganisation and, not unreasonably,
want to promote the sales of the third
kind of Apple at the expense of the
other two kinds. It follows, unfortu-
nately, that Microsense do not sup-
rt or help owners of either the ITT
020 or of directly-imported ma-
chines.
Owners, and on their behalf the
Apple Systems User Group, must
look for support from ITT in respect of
the first kind of machine and from the
importing dealer or direct from Apple
in Cupertino for the second kind.
But what if the persistent rumours
that ITT will pull out of Micro-com-
uters should eventually turn out to
true? One could perhaps hope that
in this situation, Microsense’s (and
Apple Inc's) war having been won,
they would rally round and help the
innocent victims of their commercial
power-struggle.
And for users of directly-imported
machines who haven't got a dealer or
who cant get support from one? Well,
ifenough pressure were put on Apple
Inc, then perhaps they would ask
their U.K. distributor (Microsense,
would you believe?) to sort out the
mess for them.
In the last resort it looks to be down
to Microsense who, after all, are eflec-
tively Apple-U.K. - and from our side
of the fence that looks to bea pleasant
and profitable position to be in. If in
return they have to take on a little
extra responsibility than the legal
situation demands, so be it.
ANON
Beginners Page
By John Sharp
There have been a number of begin-
ners writing in requesting help with
binary files. so this month let us begin
with a look at what porn files you
might have on a disk.
If you catalog a disk you will get
something like this:-
A 002 HELLO
I 020 DRAGON MAZE
A * 004 PROGRAM 1
B* 002 FILE 1
T 003 TEXT FILE
R * OOS ANOTHER FILE
You may not get all these on one
disk, and indeed you may not even
have seen a T or R or even B on your
disks. Leaving aside the first column
of AI,R,T,B for the moment, what
does the rest mean. Well the * tells you
if a file is locked. If it is locked, you
cannot write to the disk with the same
program name. That is you cannot
wipe out your program on the disk by
overwriting it. i¢ number is the
number of sectors the program takes
upon the disk. As a rough guide each
sector is 0.25K. The name to the right
is just that, the name of the file. I say
file because it is that rather than a
program. It is only when entered cor.
rectly into the Apple that it becomes a
program, if it indeed is. A file with a T
in the first column, is not a program.
It might be a TEXT file to EXEC or it
might be as the prefix suggests a
TEXT file. A TEXT FILE is a bunch of
data ready to be read into a program,
¢.g. a set of records, such as a set of
names and addresses. If you want to
see what is in a TEXT file then type:-
MON I,0,C <RETURN>
EXEC XXXXXXX <RETURN>
where XXXxxxx is the name of the
TEXT FILE you want to look at. As
each bit of data is printed, since you
are doing the equivalent of typing in
directly from the keyboard and press-
ing return, you will get SYNTAX
ERROR, just as you would if you
typed a command the APPLE does not
understand. You can slow down the
screen printing by using CTRL-S. It
tends to be a little noisy because of all
the beeps and syntax errors, but can
be a very useful tool. You could use
the READ TEXT program on the
master disk.
The Aand I program file names are
fairly straightforward. They corre-
spond to APPLESOFT and INTEGER
program files respectively. Unless you
are only running disks that boot and
take over the machine, you will be
familiar with both of them.
The problem arises, however, with
B (and R) files. B stands for BINARY
FILES. R stands for RELOCATABLE
FILES which are a special type of
Binary file. You will see some on the
DOS 3.3 TOOLKIT disk. They are
produced from the APPLE ASSEM-
BLER on this same disk. So apart
from a slight difference, they are
basically the same type of file, a sav-
ing of a batch of machine code to disk.
This can have various functions once
it is in memory and this causes the
problems for beginners.
The first type of file it can be is a
pro; . wrilten in machine code to
make it run faster. A program ex-
ample is a FID, MUFFIN or MASTER
CREATE (on DOS 3.3 MASTER), and
UPDATE 3.2.1 (on the DOS 3.2 MAS-
TER). In order to get these to run as
programs, simply BRUN FID or what-
ever the program name Is.
Before going further, the number
034 or whatever is the number of
sectors the file takes up on the disk. It
only helps you (and the DOS) to keep
track of how much of the disk you are
using. This is dealt with in the DOS
manual so! will not go into it here. For
those mebers with tape only it wil help
to explain waht these numbers mean
in the software library lists. As a
rough guide, four sectors equals 1K of
program.
The next of file is a Hi-Res
Picture that has been saved. The
length of memory taken by a Hi-Res
Picture ts 34 sectors; so if you see :-
B * 034 BASUG LOGO
on a disk catalog, you can be fairly
confident that it is a picture. There
may be other binary files coinciden-
tally 34 sectors long which are not
pictures, but the name usually tells
you they are not . Alternatively, there
are now ways of compressing pic-
tures, soa picture can be less than 34
sectors. You then need a special pro-
gram to put Shen back on the Hi-Res
pages correctly. If you to BRUN a
BitRes sissies arything could hap-
pen. Normally you will just halt in
Monitor. Try a few and see. You will
not do the Apple any harm, just con-
fuse it.
The third type of binary file is a set
of data used in a program. It Is a little
bit like a text file except that it is
totally machine code and wouldn't
mean anything except to the program
16 OB
Appie2000
June 1989
that uses it. The best example is a
shape table which is a set of points
and directions. If looked at other than
a shape table by the program you are
using, it is totally meaningless. A
good programmer will put some indi-
cation such as MARTIANS.OBJ or
MARTIAN.SHAPE to let you know it is
used in another program. The DOS
3,3 TOOLKIT fonts for example are
labelled BYTE.SET, ROMAN.SET etc,
to make this clear. It is as important
as putting REM statements in if you
wish to let others know what is going
on. On some of the software libra: snd
disks there are binary programs wil
just a single letter or a pair of letters;
these are fairly obviously used by
another program, and the author has
made them too short to make
think to run them: the name
doesn’t mean ai ben
Another type of set o! ‘machine code
might be data as for example in the
copy program on the 3.3 Master disk.
The copy programs look like this:-
just
* I 009 COPY
* B 003 COPY.OBJO
* A 009 COPYA
There are versions for you to use for
copying disks if the BASIC you are
using is INTEGER (the first one) or
APPLESOFT (the last one, which has
an A tagged on the end since two
programs cannot have the same
name on the same disk otherwise
there would be confusion when it
came to running them.) In between Is
a machine code set of data for the
other programs (both of them) to use.
Ifyou list these programs you will see
a line that has a print"BLOAD
COPY.OBJO"at line .. Why no
D$=CHR$(4), well there is an invisible
CTRL-D. You could see this if you
used something like The APPPLE-
SOFT PROGRAMMERS ASSISTANT
on the DOS 3.3 TOOLKIT, or the
PROGRAM LINE EDITOR.
The most confusing programs on
the 3.3 Master it would seem are
cataloged as:-
B * 050 FPBASIC
B * 050 INTBASIC
They are in fact APPLESOFT (or
Floating Point BASIC) and INTeger
BASIC, respectively. If you have a
language or RAM card, then these
files be loaded onto the language
card and the card locked so that it
appears to be an INTEGER CARD or
APPLESOFT ROM CARD. If you have
an APPLE II PLUS, look at the HELLO
program, by just loading it. LINE 210
has “BLOAD INTBASIC,A$D000".
Again there is an invisible CTRL-D.
The A$D000 means load it at position
DOO in memory, which is on the
language card.
en a bin: file is saved, It is
necessary to tell DOS the start and
ending locations of the program. This
information is saved onto the disk.
When you load the program back, it
will be loaded into the same position,
unless you tell it otherwise. The
A$DOO00 in this BLOAD statement
tells itnot to load it where itwas saved
from. This is in fact.in the middle of
memory and it will load there if you
{ia BLOAD INTBASIC. If you try to
RUN INTBASIC, then since it is not
written to run in this location, but on
the language card, it will cause you to
think your machine has developed a
fault.
If there are any more problems,
lease write in and we will see what
lp we can give.
John Sharp é
Q It {s interesting to see the piece
about Microsense fine forerunner of
Apple UK) in the light of the present
lack of interest in the Apple II series
from Apple worldwide. Many people in
fact are still using DOS 3.3. <«
Apple Il
GS
Macintosh
You can add a Ile/liclike second G4K
bank of memory to an Apple Ii-Pius by
lugging in an accelerator card. Neither
the memory is there, But programs that
check for the memory,
From our fan mail:
Despite its small size, Open-Apple is
the best Apple information source ve
‘ever found. Creating a forum for the glab-
al Apple It user community is a noble pur-
Jerry Kindall, Grove City, Ohio
Let me add ation to the cho-
mus of Apple Il users who have come to
i
i
i
I
I
H
can access For more information, se ScPurate:reahstic, ed dountoeasth
|
!
!
I
H
I
I
I
“RAM found in accelerators’ in the information available
|
H
H
H
iE
I
H
H
!
| footed into thinking the machine is a lle,
H
H
H
H
|
i
i
i
i
December 1986 Open-Apple, page 2.88, Nevin Diener, Neezietown, Va.
& Try two months free!
$ Otter good one time only Try Opem-Apple at our expense. Cut out or photo-
Q rm csomattmintraie nore
i WAR GAMES, ADVENTURE GAMES
. SIMULATORS & SPORTS
- }
> Strategic Plus Software
3 PO Boxe Hampton, Middx TW12 3XA ,
x 8, Hampton,
mi: Telephone 01 $79 2967 SOFTWARE
IO BE Le. SCs Send £2.50 for Exiensive Catalogue. &S
June 1989 Apple2000 pes 17
DB Master
Terry Cymbalisty reviews this
sophisticated database
Hardware Requirements
Enhanced //e with extended 80
column card or //c or //GS or Laser
128.
2 off 5 1/4" disk drives or 1 off 3 1/
2" disk drive or 1 any floppy disk drive
plus ProDOS compatible hard disk .
ARAM disk is highly desirable, as is
Backup and Restore from Glen Bre-
don’s Prosel.
Review System
128k enhanced //e 1Mb Cirtech
PlusRam RAM card in slot 5 3 1/2”
800k Unidisk in slot 7 Grappler +
printer interface card in slot 1 Epson
FX80 clone printer. Glanmire Time-
Kit clock board in 16 pin games
socket DB Master Version 5 Pre-Re-
lease #5
Introduction
I would like to assume that most
readers are familiar with Appleworks
and as such I would like to use the
database module within Appleworks
as the program to compare DB Master
(hence forward referred to as DBM)
against. DBM goes a lot further than
Appleworks being a far more sophis-
ticated product. This is not to be seen
as detracting from Appleworks as I
feel that the two programmes are
aimed at different audiences.
The Package
DBM consists of the following: 1 off
3 1/2" floppy 4 off 5 1/4" floppies 1 off
reference/tutorial manual The man-
ual supplied is a 9" x 8" 3 ring binder
500 page affair. Note also that one
either uses the 3 1/2" disk or the 5 1/
4" disks depending on what s of
drives the owner possesses. The first
part of the manual ts a Sey, good
tutorial. This leads the owner through
the various stages involved in creat-
ing an estate agent's database and
also using an existing database pro-
vided on the floppy disks. Also reports
are dealt with quite extensively within
the tutorial as reports are one of the
scone points of DBM. DBM Is Prodos
and the supplied disks are
unprotected.
Bad Points
The package is very sophisticated
and as such is not as immediate as
Appleworks. Appleworks is easy
enough to learn without referring to
the manual (I lost mine a long time
ago!). DBM on the other hand really
benefits froma good understanding of
its features. In fact the tutorial only
glosses over some of its features and
its more advanced features must be
learnt from the good reference section
ofthe manual. DBM constantly refers
back to the program disk. Usinga3 1/
2" disk eliminated constant disk
swapping if | were to have used DBM
on 5 1/4" disks. Also 3 1/2" disks are
a lot quicker than 5 1/4" disks. But
DBM gets over this problem because
when the program is first booted, if it
finds a ram-disk it prompts the user if
he wants to have DBM loaded into It.
It quite happily recognised my
PlusRam card and then proceeded to
copy itself into it. This process, al-
though only a one-time operation,
was quite slow because it copied itself
file by file. I then used the ProSel
Restore program which did the task
far quicker. Ofcourse ifone was using
the ram-disk to store data then the
Prosel Backup program would be
used. DBM always seems to write
back to the database on disk when
ever a modification is made. This
slowed things down a lot. This is why
I stored my data on the ram-disk (as
mentored: in the last point). Having
done this, DBM flew along with no
problems what so ever (and when my
Zipchip finally arrives...). 1 found, at
least what I thought, was as serious
bug or at least a drawback. From the
main menu it ts possible to perform
some ProDOS commands, one of
which is rename. I was not happy with
a name I had given one of the data-
bases I had created. I tried to use the
aforementioned rename command
and DBM told me that it was not
possible to rename a database. Not to
be put off, I then tried Copy ][+, which
worked quite nicely. When I next tried
to access the renamed database file
using DBM, I got the reply that the
data was no longer recognised! My
database was now corrupt. It was
quite lucky that the database did not
contain too much data. The method of
going back a level in the menu system
was not consistent and meant that
one constantly had to refer to the on-
screen menu. In some places the
escape key was required, in other
cases control Q was required. There
were other key combinations in other
situations as well. There is on-line
help available. On expecting to see
some useful sentences on screen
when this function was called up, in
fact all I got was a page number
referring to the relevant section of the
manual! DBM comes with one of
those silly license agreements which
state:
“Stone Edge makes no warran-
tles.....-. Stone Edge licenses this
software on an “AS IS” basts..... The
entire risk as to the quality and per-
formance and its appropriateness for
your needs is with you.....”
In otherwords, what in the hell are
you getting and does the manufac-
turer have any faith in the product?
DBM Is not as disk space efficient as
Appleworks. An Appleworks data-
base occupied 53 kbytes on disk but
when It had been converted into DBM
format, it occupied 106 kbytes. In
otherwords twice as much space.
Perhaps not a drawback for those
with hard-disks or 3 1/2" drives, but
end cause some problems for those
with only dual 5 1/4" drives.
Good Points
DBM is ve strong on field
types.Note also that the date format is
ae flexible too. There are nineteen
ifferent formats! DBM’s handling of
formulas for computed fields is quite
impressive too. For instance such
functions as:
+-.%/
=, <>, >, <, =>, <=,
parentheses
constants
AND and OR
NOTI)
INT()
ABS()
SGN()
exponents
Note also that the above are usable
in the database and not only in re-
ports as in Appleworks. Multi-line
comments are allowed in DBM data-
3s DB
Apple2000
June 1989
bases. This is a great drawback in
Appleworks as far as I am concerned.
DBM can read into its own database
Appleworks databases. What one
does is to create a DBM database
making quite sure that the field
names are EXACTLY the same as
those used in the Appleworks data-
base (note that it is case insensitive).
This is obviously a good feature if one
is upgrading from Appleworks. The
manual is very good (far better than
the Applewo! manual). The glos-
contains all the functions sorted
aiphabetieally. The function is de-
scribed in a clear non-technical
manner making the program easy to
learn, considering the complexity.
Primary/Secondary fields are used
to index the fecurusiohabning them to
be quickly found during sort opera-
ben al ao a Her tae Pri-
mary fields then Secon ‘ids may
be specified. It is important that all
records have unique Primary or Pri-
mary/Secondary fields. In actual
fact, this point was brought home
when I tried to convert my Apple-
works database for my music LP col-
lection I had problems at first. Ini-
tially I used the “Artist Name” field as
the ary field without using a Sec-
ondary field. On conversion problems
were encountered. When I specified
the “LP Title” field as a secondary
fleld, the database converted quite
nicely.
Summary
All in all, probably the best data-
base product available for the Apple
// range of computers.
TO Cymbalisty ¢
info
Product: DB Master 5
Publisher : Stone Edge
Available from :
MGA Softcat
P
Showing the first 100000 of 388037 characters.