Skip to main content

Full text of "Open Apple-Vol 7 No 02-MAR 1991"

See other formats


Al-Cmttal 



TM 



formerly 





it journal and exchange of Apple B discoveries 



Piien-Appfe 



March 1991 
VoL7, No.2 

ISSn 088540 17 
newstand price: $2.50 
photocopy charge per page: $0.15 



An Applesoft for the 1990s 

From the amount of mail we get regarding "fixes" to programs, it 
seems the majority of users have two desires for their computers: 
they want the computer to work the way they want it to and (in an 
increasing number of cases) they want this ability without having to 
learn technical details or a new language, specifically a programming 
language like Pascal or even BASIC. 

Obviously, the only way both of these objectives can occur (until 
mind-reading, self-prDgramming computers arrive) is if you hire some- 
one to write custom programs to do exactly what you want; that will 
be $100+ per hour, please. Given that an individual program can take 
weeks, months or years to write, paying a programmer isn't a viable 
option for most people. Even if you have unlimited funds, communi- 
cating what you want in such a way that another person can interpret 
and implement it isn't easy to do. 

For 8-bit Apple n systems, many users would bite the bullet 
and learn Applesoft to do the pro^amming that BASIC allowed. 
It wasn't unusual to see small specialized databases, or loan amoriii- 
zation programs, or other applications concerned with manipulating 
small to moderate amounts of data written in Applesoft. 

But as a computer matures, users expect it to be able to do more, 
and do it faster and better. For most users, homebrewed BASIC pro- 
grams eventually give way to commercial word processor, database, 
spreadsheet; and graphing packages that are written in assembly lan- 
guage to be fast and powerful. BASIC is still useful to do your custom 
programming in, but it has become more of a personal pastime. Look 
at the top selling programs for the Apple II and it's unlikely that any 
are written in Applesoft. The ante has gone up. 

The popularity of graphics interfaces resembling those on the Mac 
and Ilgs only widened the gap between the recreational and the pro- 
fessional programmer. Whether you are writing programs for the Mac, 
Ilgs, or MS-DOS Windows environments there is a lot of ground to 
cover beyond learning a programming language itself; several ttou- 
sand pages of information regarding user interface design and the 
tools provided in each of the environments to support it. 

The first wildly popular end-user programming language for the 
Macintosh was not BASIC; BASIC versions for the Mac pretly much fiz- 
zled as they were introduced. In 1986, Apple started bundling a pro- 
gramming envionment by Mac guru Bill Atkinson with new Mac sys- 
tems and that environment has spawned (by Apple's account) over 
200,000 applications since. Atkinson's brainchild was HyperCard, 
and, along with desktop publishing, it made the Mac viable. Hyper- 
Card sold Macintosh computers; people wanted the programming 
environment and the Mac was the only computer that had it. 

But no more. Apple took HyperCard 1.2.5, added color and other 
significant features, and made it run on the Apple Ilgs, The program is 
available to dealers now. It's called HyperCard Ilgs and it promises to 
change the Apple Ilgs computing experience. 

The HyperCard Dgs package consists of six 5*5 disks and 
three manuals. The package retails for $99 and includes all of the 
information you'll need to start creating your own simple stacks. 
Since it is a development environment, if an Apple dealer in your area 
isn't carrying it, you can order it direct through Apple's developer 
tools source, AFDA. (Or you can order it from us or other mail order 
outfits who are buying in bulk from authorized Apple dealers.) 



The three manuals include a tutorial, a reference, and an introduc- 
tion to programming HyperCard Ilgs. The disks include the HyperCard 
program, installation program, "tour" stacks to demonstrate features 
and capabilities, comprehensive help, and additional tools. 

HyperCard Ilgs requires a minimum of 1.5 megabytes of RAM mem- 
oiy (two megabytes is recommended) and a hard disk. Once installed, 
the program, including help files and tools, occupies close to four 
megabytes of disk space, not counting the spaciS used by GS/OS. 

HyperCard Ilgs joins two other Ilgs products that embody the 
concept of hypermedia, HyperStudio and ISexus. Multimedia is the 
integration of various audiovisual means of communication; hyper- 
media is multimedia plus user interaction (interactive multimedia is 
probably a more accessible term, but it takes longer to say and type). 
Hypermedia usually combines elements of text, graphics, sound, and 
other methods of communication under the control of a user commu- 
nicating with the various elements through a computer. 

Hypermedia grew out of a concept espoused by Ted Nelson (author 
of Computer Lib and Literary Machines) called tiypertexL Unlike "nor- 
mal" text forms such as books, which are primarily accessed linearly, 
hypertext allows the user to jump around among concepts in a non- 
linear fashion by defining linkages between the concepts. The Ilgs 
program Hexus (by DataSmith) is the Ilgs software product closest to 
true hypertext; although Hexus also deals with graphics and sounds, 
its ability to link a specific word within an editable text field to anoth- 
er object (and not have that link conrupted when the text is altered) is 
unique, hexus "stacks" are distinctly file oriented, not foltowing the 
card-based model of most hypermedia programs; links are estab- 
lished with a simple *point and click' mechanism. If you wanted to 
publish a hypertext-based manual where clicking on an unfamiliar 
word would take you to a glossary entry or (if you prefer more depth) 
an entire new discourse on the meaning of the word, fiexus is the 
tool you seek. 

The other prominent program is, of course, Roger Wagner Publish- 
ing's HyperStudio, which is the consummate hypermed/a program. 
HyperStudio uses the basic card-button-field model associated with 
most hypermedia programs; it's unique strength versus the other Ilgs 
hypermedia programs is the depth and breadth of the actions that can 
be associated with its buttons without requiring the user to learn 



BC)& VWS OE OF THt MW SUFFERERS 



OWGm\ ^JOW THE 



T 



nni 




7.10 Al'Central 



Vol. 7, No. 2 



dther scripting or programming. {hyperStudio does have a scripting 
capability, but it is used primarily for controlling external command 
enhancements rather than the hyperStudio program itself.) 

With these programs already available, HyperCard figs itself has 
been categorized by some as "wasted effort" by Apple. Given the 
amount of effort Apple had to commit to its development, one has to 
believe there is some aspect of HyperCard llgs that Apple felt made it 
"special". HyperCard's special talent isn't as easily discerned as that 
of Fiexus or HyperStudio, the strength of either of these programs can 
be demonstrated in a few minutes by sitting down and creating a few 
stacks. In conversations, Apple's engineers have been very compli- 
mentary of the other products, and have also been very careful to dis- 
tinguish the purpose of HyperCard llgs from these products. 

The impottance of HyperCard Ugs stems from its design as a 
programming environment. HyperCard's structure starts with an 
individual screen of information referred to as a card; a collection of 
these cards can be linked into an organized collection called a stack. 

A card also has a baciiground, which can contain the same ele- 
ments as the card itself; these elements can be graphics, buttons, or 
(text) fields. 

All of these items are combined in a layered hierarchy in the order 
of card buttons and fields, background buttons and fields, the 
card(picture), the background (picture), the current stack, the "Home" 
stack (a special stack used as "home base" by HyperCard), and the Hyper- 
Card program itself. Figure 1 shows a sample card with some of these 
items; you can see how card items obscure the background items 
where they overlap. The two "windoids" (detached windows) at the 
lower right are not card items but actually tool and paint pattern 
menus that can be moved around the screen as you work. The Fore- 
ground button at the lower center of the screen laps off the card pic- 
ture and extends over the background field and obscures part of it, 
just as the card picture blocks our vision of the lower right corner of 
the background field. But since all buttons and fields take precedence 
over card and background pictures, a background button can be acti- 
vated even if hidden by a card picture. For example, in our exam- 
ple,moving the HyperCard Browse cursor {the "hand" beneath the 
Foreground button) up to the tip of the arrow above the button and 
clicking will cause the background field to activate even though we're 
clicking on top of the card picture. 

This structure is one important concept of HyperCard Ilgs; but the 
most important feature is the way the integration of the items into the 
structure is accomplished. The component items of HyperCard Ugs 
are referred to as objects in the sense of a programming model 
known as object oriented programming, or (abbreviated) OOF. OOP 
refers to the way in which you approach designing programs rather 
than to a specific programming language you might use. Some lan- 
guages are associated more with object oriented programming, just 
as some are associated more with other distinct types of program- 
ming styles (Pascal and C versus BASIC or assembly language for 
structured programming, for example). 

Object oriented programming attempts to construct a pro- 
gram £rom smaller modules referred to as objects. Each object 




Figure 1 : A layered HyperCard screen 



contains the information it needs to perform it's designed task includ- 
ing internal data the object may need and any procedures that the 
object can perform. This set of data and procedures is "private" for 
each object. 

Anyone who has written a program of more than a few lines is 
familiar with the concept of modularizing their code; in BASIC mod- 
ules are usually implemented as subroutines. Obviously, a non-modu- 
larized form of a program to print the squares of ten numbers: 

10 PRINT 1^2 

20 PRINT 2^2 

30 PRim 3'^2 

40 PRINT 5^2 

50 PRINT 7^2 

60 PRINT 11^2 

70 PRINT 13^2 

80 PRINT 17'^2 

90 PRINT 19*2 

100 PRINT 23^2 

110 END 

is more difficult to revise than a version where the calculation is 
placed within a subroutine module: 

10 FOR I = 1 TO 10 
20 READ X 
30GOSDB50 
40 NEXT 
50 END 

60 PRIKP X^2 
70 RETDRN 

80]5&XM,2,3,5,7,U,13,17,19,23 

But when we modularize the BASIC program, we have to use a vari- 
able so that we can pass different values to a subroutine written to 
perform an operation on a "generic" variable ("X" in our example). 
Each time we invoke the subroutine we do so with X set to a different 
value. 

Applesoft doesnt distinguish between variables used in the main 
program and those used in subroutines. Some languages do; for 
example, in Pascal our subroutine and main program might look like 
this: 

program doSqtiares (Output); 
var 

ti Real; 

i: Integer; 

Data: array [1.. 10] of Real; 

procedure printSquare(ourX: Real); 
begin 



writeln {Output, sqr (ourX) ) ; 

end; 
begin 



Data[0] 


:= 1; Data[l] 2; 


Data[2| 


:= 3; 


Data[3] 


:= 5; Data[4] := 7; 


Data[5] 


:= 11; 


Data[6] 


:= 13; Data[7] := 17; 


Data[8] 


:= 19; 


Data[9] 


:= 23; 






for i 

X 


: 1 to 10 do begin 
^Data[i-1]; 







printSquare(X); 

end; 

end. 

In this example, X is passed from the main program to the subrou- 
tine printSquare which uses the local variable ourX as the argument. 
Since the value passed to printSquare by the main program is a real 
(floating point) value and printSquare expects a real value, 
printSquare happily copies the value in X into its local variable ourX 
for its internal use. This gives our main program an additional stage of 
isolation from having to know how printSquare operates; we dont 
have to know the name of the internal variable printSquare uses, we 



Downloaded fromwwwApple2Q11line.com 



March 1991 



A2 Central 7.11 



only have to pass the routine the proper number and type of argu- 
ments. 

With such non-OOP design, usually a subroutine is limited to han- 
dling a specific type of data (integer or real or text values). You define 
a common structure for variables in the main routine and subroutine 
for any data to be passed, then call the specific subroutine to be per- 
formed. 

Object oriented programming wants to take this isolation of 
specifics within the modules much further. OOF concepts include 
encapsulation of data and procedures within a module so that the 
module becomes a type of software "black box" that performs an 
operation at the behest of the programmer without requiring that the 
programmer know detailed specifics about the construction of the 
module. Using the module involves a process more like communica- 
tion than the "set up data and invoke subroutine" process used in 
"classic" programming. This communication is performed by sending 
a message to the object, which then interprets and acts upon the 
message {even relaying it's own messages if necessary) according to 
its design. 

HyperCard elements such as buttons, fields, cards, stacks, 
and the HyperCard program itself are all objects (in the OOP 
sense) that accept and relay messages according to their hehar- 
chy. This makes the mechanism of implementing a HyperCard stack 
substantially different than that for HyperStudio. 

To allow communication among its objects, HyperCard ligs 
includes an OOP language: a dialect Apple calls HyperTalk. If you've 
been intimidated by programming languages you've seen in the past, 
you may find HyperTalk to be much more "natural" in its form. You 
can probably guess that 

on DouseOp 

visual effect scroll left 

go to next card 
end mouseOt) 

waits for a mouseUp event (waits for the release of a depressed 
mouse button), defines a visual effect for implementing a leftward 
scroll, then moves to the next card in the stack using the specified 
effect. 

This script obviously can't operate in a vacuum; the mouseUp 
event message has to come from somewhere else. In HyperCard the 
script would be associated with a specific object as a handler for a 
mouseUp message. Every HyperCard object has a script, though the 
script can be empty. 

HyperCard's main program tracks the occurrence of events such as 
mouseUp and reports them as messages to affected objects, following 
the hierarchy. If the above script were assigned to a button on the 
current card and you clicked within the button, the button would 
receive a mouseUp message that would trigger the program and move 
you to the next card. If the button had no such script, the mouseUp 
message would be passed along to the next object in the hierarchy 
until it encountered a handler; ultimately the message would be 
returned to HyperCard itself if no other object contained a handler. 

HyperCard implements its stacks through this combination of 
objects and associated scripts. This makes it very distinct from 
tiyperStudlo, which is much more user-friendly in the way it allows 
you to add actions to its elements. 

To define a tiyperStudlo button that plays a sound, you ask Hyper- 
Studio to create a new button on your current card. After you position 
and size the button, HyperStudio presents a dialog box with many 
options that can be defined for the button. One of the options is "Play 
a sound"; you select this option and then decide if you want to add an 
existing sound from a file on disk or even record the sound at that 
time using HyperStudio's provided digitizer and microphone. Hyper- 
Studio gives you the option to add many such elements just as easily: 
sounds, animation, laser disc control {if you have the proper disc 
player connected), and so on. 

HyperCard iigs requires you to incorporate scripts to do anything 
other than simple card movements. You can add such a function by 
cutting and pasting an existing button that performs the desired 
action from another card; Apple has broken the "chicken and egg" 
cycle by supplying a selection of pre-made buttons as part of a Tools 
stack in the HyperCard Iigs package. But, from a user perspective, the 
incorporation of new elements into a HyperCard Iigs stack is less intu- 



itive than it is for HyperStudio or flexus, which primarily use mouse 
"point and click" methods to select actions. 

Why did Apple design HyperCard Iigs to work the way it 
does? The overriding consideration in the design of HyperCard Iigs 
was compatibility with the Mac version of HyperCard; HyperCard Iigs 
is essentially a lIgs version of HyperCard version 1.2.5 for the Macin- 
tosh, with some enhancements. Although some features had to be 
altered slightly for the Iigs environment where it differs from that of 
the Macintosh, in most cases those alterations are in favor of the llgs. 

Version 1.2.5 (rather than the new 2.0) for the Mac was chosen as 
the model for HyperCard Iigs since it was the most advanced existing 
standard at the time HyperCard ligs was being developed and almost 
all stacks currently available operate under that version. The cun-ent 
Macintosh HyperCard v2.0 added integrated sound capability for the 
new Mac LC and lisi (which include sound input as standard); 
although HyperStudio's digitizer demonstrates the iigs can easily and 
inexpensively support a similar capability, Apple hasn't made it stan- 
dard yet, however, and HyperCard Iigs doesn't currently support digiti- 
zation. Multiple windowing capability for all Mac systems was also 
added to v2.0; the llgs is limited to the single card per window design 
of previous Mac HyperCard versions. But the llgs version adds better 
printing support, also a concern of v2.0 for the Mac, and the llgs ver- 
sion supports color, which not even vl.O for tfje Mac lias. 

By far the most important feature of HyperCard iigs is it's pro- 
grammability through the HyperTalk language and the compatibility of 
that language with the Mac version of HyperCard. HyperCard 1,2.5 
and HyperCard llgs therefore become parallel development environ- 
ments for the two Apple product lines accessible to the end user. 
Unlike Apple's "parallel" development environment for programmers 
(MPW and MPW llgs) where all development is performed on the Mac 
side, there is a near-parity of HyperCard development techniques 
whether you use a Mac or a llgs to develop your stacks. 

HyperTalk integrates with the HyperCard environment by defining 
the terms and syntax that allow a script to react to and modify the 
HyperCard environment. Our eariy example showed both sides; our 
handler reacts to a mouseUp message by defining the type of transi- 
tion to use and then commanding HyperCard to move to the next 
card. But scripts in HyperCard Iigs can do much more. 

We can issue messages that will be passed to other objects. 
Any message not intercepted by another handler in the hierarchy will 
eventually find its way to the supervising HyperCard program; if the 
message corresponds to a valid HyperCard command it will be exe- 
cuted. For example 

doMenu ''n&xt" 

will cause HyperCard to examine its menus for an item name "Next" 
and execute that function (move to next card in the stack). 

If you want to re-define this function, you can do it by interposing 
an object with its own handler for the doMenu message. For example, 
we could add the following script to our card background: 
on doHenu neiuItenReq 
if menuItemReq is "Next" then answer "I'm sorry, Dave, but" && -i 
ntemilteiDReq && "is not available" 
else pass doHenu 
end doMenu 

and if you select "Next" HyperCard will throw up a dialog indicating 
that the menu item isnt available. (And you'd better remember to 
include the "pass doMenu" to pass otlier menu items or your menus 
will be disabled!) 

You can also see from this example that HyperTalk does have simi- 
larities to other programming languages. There are control structures; 
the above handler contains an if-then-else" construct. There are key- 
words and symbols: "answer" displays a text string in a dialog box, 
the "&:§;" characters are used to combine portions of the text (adding 
a separating space) to create the string, and the "n" character is used 
to indicate a "soft return" (an end of line that doesn't signal the end 
of our "if" statement). 

There are also portions of HyperTalk that are more like a "natural" 
language, such as allowing the use of the word "is" to indicate 



7.12 Al'Central 



VoK 7, No. 2 



(though we could have used '■=" instead). We can't get into all the fea- 
tures of HyperTalk here, but for the hardcore Apple has completed a 
HyperCard ligs Script Language Guide which is already in publication 
by Addison-Wesley. 

tlypeiTalk supports functions that return values. Just as 
Applesoft has a SQR(X) function that returns the square root of the 
value of X. HyperTalk has a sqrt(X) function. HyperTalk's functions 
are rich; in addition to including most basic math functions, financial 
functions (such as annuityO to calculate the return on an investment), 
functions to return the status of the environment (such as tool() to 
return the number of the currently chosen HyperCard tool), and oth- 
ers are included. 

Both commands and functions can be defined externally by writing 
a program module to interface to tiyperCard Ilgs and enhance it- 
Apple supplies some of these "XCMDs" and "Xrcris" as part of the 
"Tools" stack. The Language Guide includes a list of "callbacks" (entry 
points to tiyperCard ligs routines) that can be used in writing these 
modules. 

HyperCard objects have properties that can be read and 
altered via HyperTalk. For example, the location of the bottom right 
corner of an object is contained in its "bottomRight" property, which 
can be read or reset by a script. Each object has its distinct set of 
properties tracked by HyperCard; you can read or change them if you 
like, but most of the time you can ignore them and let HyperCard 
manage them. One of the properties of a HyperCard object is its asso- 
ciated script. 

It's confusing to talk about HyperTalk "programs" since HyperTalk 
scripts are not operable independent of a programming environment. 
There is no such thing as a "HyperCard runtime package"; in order to 
run a HyperTalk script, which can access every aspect of HyperCard, 
the HyperCard program must be used along with it. Therefore, in 
order to distribute stacks, you must assume your potential audience 
already has HyperCard ligs, or you must license the tiyperCard ligs 
program (sans the support stacks and manuals supplied in the user 
package)to distribute along with your stack, 

We expect HyperCard Ilgs and HypeiTalk to be the Applesoft- 
like environment Ilgs owners have been looking for. The big com- 
plaint about the Ilgs is that most of its feature enhancements over 
older Apple II systems haven't been accessible to those wanting to 
design their own programs. The learning hurdle for Ilgs ToolBox pro- 
gramming is high compared to being able to use Applesoft on an 
Apple lie, for example. tiyperCard ligs, like its Mac brethren, gives 
you a playground to access the graphics environment. Also like the 
Mac version, this doesn't give you the ability to write any program you 
want, but some classes of programs will be possible. We do hope to 



add HyperTalk to discussions of programming as the "everyperson's* 
language of the Ilgs, as Applesoft is for the 8-bit Apple ll's. 

One class HyperTalk makes accessible is data file programming. 
Part of HyperCard's command set allows for reading and writing files, 
and it's relatively easy to write a script that allows importing a tab- 
delimited stack into a set of cards: 

on ntouseUp 
ask ''File to iaport?" with Sources" 
if it is anpty then exit iDouseUp 
put it into fil^Kame 
open file filette 
repeat forever 
read from file fileNaioe until return 
if it is empty then 
go to first card 
close file fileNante 
exit mouselTp 
else doMenu ''New Card'' 
put tab into last char of it 
repeat with ipI to the number of fields 
put char 1 to offset {tab4t) of it into field x 
delete last char of field x 
delete char 1 to offset (tab, it) of it 
end npeat 
end repe&t 
end ]&ousetj|) 

This program looks somewhat more "English-like" than BASIC or 
Pascal. Even a neophyte may be able to follow it. 

When a mouse Up message is sent to the object that is assigned 
this script, the handler executes it (we assigned it to a button on a 
card that had been designed with the proper number of background 
fields). "Ask" puts up a dialog that allows you to input a line of text 
with the pathname of the text file you wish to import. In this case, a 
default pathname of "A2.Sources" is used, which you can accept (by 
pressing "Return", or using the mouse to select the "OK" button ask 
will provide in the dialog). The response is put into the variable "file- 
Name" and tiyperCard Ilgs attempts to open the file. 

Assuming all goes well (the file is there and can be opened), we 
enter a repeat loop that will be executed until "forever"; that is, until 
some condition occurs that causes the loop to abort. 

Each record is read by taking input from the file until we reach a 
"return" character. HyperTalk recognizes some common data 




Roger Wagner cailed last month with a com- 
ment regarding the failure of Apple monitors 
(see Tading Image/ February 1991, page 7. 6). 
Roger says he has two of the monitors that do 
the ''dimming' tricii and has discovered a 
magic procedure that "corrects'' it for about 6 
months. 

neither Roger nor I are very anxious to 
expound on his exact technique to others 



since an overexhuberance in application of the 
technique may result in bodily damage to the 
monitor or yourself But his treatment implies 
that the problem may be physical rather than 
electronic; one postulate is that the "yoke" 
controlling picture clarity may shift as the mon- 
itor ages (Roger didn't know for sure, having 
not opened the monitor, and we stay strictly 
away from sources of lethal voltage ourselves). 
Should that be the case, armed with a descrip- 
tion of the symptoms a knowledgeable televi- 
sion technician may be able to adjust the 
monitor. Given the cost of a new monitor, it 
may be a recourse worth investigating. 

I also need to issue myself a slap in the 
head. Last month in "Expectations versus reali- 
ty' (pp. 7. 7-8) I had two separate suggestions; 
one for increasing the word processor limit of 
AppleWorks v3.0 with Applied Engineering's 
expander software, another for adding Time- 
out Paint to add paint capability. Mark Munz 
from Beagle Bros wrote to remind me that Bea- 
gle does not not recommend combining those 
two enhacements due to some compatibility 
issues. AppleWorks v3.0's word processor 
does provide 1 6,250 lines of capacity (assum- 



ing you have enough expansion memory to 
hold a document of that size), so the built-in 
expansion may be sufrtcient. 

Last month's article on 'The need for 
speed" drew a few responses, including some 
ROM 01 Ilgs owners who have had problems 
using the ZipGSX with FroDOSS programs. 
Some problems have been traced to a ground- 
ing problem that can be corrected; if you're 
having these symptoms, contact Zip for 
details. 

There were also a few callers puzzled by the 
benchmark results, so let's open that can of 
worms... ~DJD 

Apples and oranges 

A past issue of nibble magazine had a ques- 
tion from a reader wondering if anyone had 
ever done a speed comparison between Apple 
and IBM computers. I could not remember evei 
seeing such a comparison, so 1 decided to dc 
some testing myself. I do not have the "scientif 
ic" benchmark programs that are often quoted 
in advertising (by vendors wanting you to bu> 



March 1991 



Al'Central 7.13 



constants, including the return character in this case, by name. 
HyperTalk also recognizes the special local variable "it" as referring to 
the object we are currently dealing with; in this case, a variable con- 
tainer which holds the text curently being read. 

If the record we read is empty {likely to happen at the end of the 
file), we jump back to the first card and exit our mouseUp handler. 

Otherwise, we create a new card to hold the record. "DoMenu" exe- 
cutes the named HyperCard llgs menu item that creates a new card 
using the current background, including any associated background 
buttons and fields. 

Next we change the last character of the record we read to a tab, 
from a return, in preparation for scanning the string. 

Another "repeat" loop scans the string; the "number of fields" 
property of the current card is used to identify how many times the 
loop must be repeated. For each field, we read the characters from 
the start of the record up to and including the first tab character 
encountered, copy that segment of the record into the corresponding 
field, delete the last character of the new field (the tab character at 
the end of the field), and then delete the information we just copied 
from the start of the record. 

All that's left is to continue copying records until reading a record 
into "it" results in an empty record (nothing was there to read), at 
which point we end our handler for mouseUp, and we have a stack of 
cards. 

You'll notice the indentation of the script illustrates the structure; 
HyperCard's editor enforces the formatting for you. Any lines that 
don't indent properly serve as an indication of a structural problem in 
your program (logical errors you still have to catch yourself, as we 
continually discover the hard way). 

HyperCard can be used for hypermedia, but it actually has 
some prominent weaknesses versus HyperStudio in this area, 
notably in ease of creating stacks consisting primarily of multimedia 
elements. HyperCard's scripting ability may help in some circum- 
stances, but MyperStudio has also been adding this ability with more 
of an eye toward its hypermedia design. 

But as an "Applesoft of the '90's", HyperCard may find it's niche. At 
last, writing simple programs is easy again.-DJD 

Miscellanea 

InWords is here! Combined with a Vitesse Quickie scanner, 
In Words gives you the ability to scan a page of printed text and pro- 
cess the scanned document into text that can be loaded into a word 
processor. 

InWords can be "trained" to recognize various font shapes. During 



a training session, a printed sample of the font is scanned and as 
InWords processes the scan it displays character patterns it can't 
identify and allows you to enter the corresponding sequence on the 
keyboard or (if the character seems ill-formed) skip to the next pat- 
tern. Once a font is trained, the font recognifion table can be saved 
for future use with the same font. InWords includes a few tables with 
the program. Multiple fonts can occupy a single table; such an option 
is handy for text such as Al-Central, where we use at least three 
fonts (Helvetica, Benguiat, and Courier) on a regular basis. 

Once you have the font table (either one supplied, or one you've 
trained), you can start scanning documents. InWords allows you to 
scan text in narrow columns (like this newsletter) and ignore the text 
to either side of a column. Or you can scan a text column wider than 
the scanner head in two passes (one for the left side and one for the 
right) and InWords will splice the two halves together into a document 
for processing. Once the scan is converted, the resulting text can be 
edited using InWords' own editor, or saved to a file on disk in severai 
formats for use with other programs. 

You can't expect perfection from optical character recognition soft- 
ware; occasionally "0" ("oh") will be confused with "0" (zero) and "1" 
(lowercase "L") with "\" (one). But you don't spend much time waiting 
for InWords to complete the conversion, and you can edit within 
InWords if you want to correct the text while the freshly scanned origi- 
nal is at hand. 

The good news for Apple He owners is that InWords will work on an 
enhanced lie with at least 512K of expansion memory (an accelerator 
is recommended); InWords is ProDOS-8 based. It also works on a llgs 
with at least 5 1 2K of expansion memory. 

It's tax time* We're not planning on reviewing tax programs, but 
users have recommended the old standbys: W40Work$ ($29.95 plus 
$3 shipping and handling, now distributed by riAUO, Box 87453, Can- 
ton, Mich. 48187, 313-454-1115), SwiftTax (TimeWorks, Inc., 444 
Lake Cook Road, Deerfield, 111. 60015, 800-535-9497), and Howard- 
Soft's comprehensive Tax Preparer (HowardSoft, 1224 Prospect 
Street, Suite 150, La Jolla, Calif. 92037, 619-454-0121). 

Weve also received (as far as we can recall) our first Canadian tax 
form templates (for AppleWorks's spreadsheet) from Granite Soft- 
ware, Box 105, Postal Station Toronto, Ontario, M6B 3Z9. The core 
template consists of a questionnaire, Tl General Tax Form, the tax 
schedules, and calculation tables for items such as the Federal Politi- 
cal Contribution Tax Credit, RRSP, Unemployment Insurance Benefit 
Payment, and so on. If you have TimeOut SpreadTooIs, independent 
templates can be linked to the main template with CelLink 

The current template is $34.99 plus ^ 7% GST (and 8% provincial 
sales tax for Ontario residents).— DJD 



their brand of computer) but then I also do not 
know anyone who does the type of computing 
that these tests are written to emulate. So, 
since Avteat i do have is access to several of the 
models of each type of computer, I wrote a sim- 
ple program myself. 

Most, if not all, of the tests that are run by 
the technical review publications are variations 
on mathematical calculations to fully exercise 
the processing features of the particular com- 
puter microprocessor. That is a wonderful way 
to test— if you have such a program available. 
The average person, on the other hand, is using 
a computer to do word processing, data man- 
agement, and to build a spreadsheet. All of that 
requires a computer that is reasonably fast both 
in its internal operations and in interactions 
with the user by means of the display monitor. 

I want to make a point of that distinction 
because it is possible to go out and spend a 
small fortune on the fastest computer you can 
buy and then be disappointed by the "appar- 
ent" speed of the computer when you really use 
it with your favorite program. Mow, if you will 
remember that idea for a few moments, on to a 
description of the test I wrote and the comput- 



ers that 1 used for testing. 

The test 1 used was actually very simple. The 
only common element that I had to make the 
test as near the same for each brand as possi- 
ble was the interpreted BASIC that comes with 
each of the appropriate operating systems. On 
an Apple II, that is currently the BASIC.System 
that comes with ProDOS. On an IBM or clone, 
that is the GWBASIC.EXE that comes with MS- 
DOS version 3.2 1 that 1 have. Since each BASIC 
was written by Microsoft, I called them equal, I 
wrote a small program and timed how long it 
took to run on each computer. For the IBM and 
clones 1 also ran the Tiorton Utilities's Si pro- 
gram. Since I do not have the equivalent of that 
measure for the Apple II, I will list the Apple 
clock speed in the results table. The program 
follows: 

1 FOR I = 1 TO 1000 

2 T = I 

3T= (T*I}/(T+I) 
4 PRINT T 
5NEXT I 
6 PRINT ^^Done" 

This is not a very complicated program, but it 



tests both the speed of the computer and how 
fast the results are displayed. 

Computer One is the Apple He that 1 used for 
several years and that is still good. I tested this 
computer two ways. The first was with the 
"stock" Apple 1 MHz clock. 

Computer Two is the same computer but 
with a 3.6 MHz TransWarp accelerator card 
installed. 

Computer Three is a true-blue IBM XT com- 
puter where I work. This computer runs at the 
4.77 MHz clock speed that is the original stan- 
dard of the IBM computer. One warning about 
clock speeds before you get to the test results 
table. The IBM uses the Intel 8088 processor 
and the Apple uses a 6502 processor designed 
by Western Design Center. Since the processors 
and the software are so completely different, 
you should be careful and not jump to the con- 
clusion that the 4.77 MHz IBM will automatically 
be faster than the 3.6 MHz (or 1 MHz) Apple 
computer. An old IBM PC/XT since it is the 
"standard" against which all MS-DOS computers 
are measured, had a 1.0 SI (system index) 



Vol. 7. No. 2 



rating when ! ran the riorton program. 

Computer Four is an AST Premium 286, also 
where I worK. I do not know the clock speed of 
this computer, since our central staff who han- 
dles hardware very thoughfully keeps all hard- 
ware manuals. (I think it is 10 MHz,) 

Computer five is my own ALR 386/2 comput- 
er. It has a 16 MMz clock and is based on the 
"AT-standard" data bus. so it is not as fast as 
some of the newer 80386 computers that fea- 
ture advanced bus design. It also does not cost 
as much as these more advanced computers, 
which was a very large consideration when I 
was shopping. 

Computer Six is a recent model Compaq 
Portable III, with a 20 MHz clock and the 80386 
microprocessor. This computer has one of the 
new motherboard data bus designs and is. In 
some operations, much faster than my ALR 
computer. It is also about twice as expensive as 
the computer 1 have. 

Here is the test results table; all times are in 
seconds: 

1 2 3.4 5 6 
Tine 38 20 67 25 14 14 
Iidtt UM 3.6 M 1.0 S3; 11 SI 13 SI 22 SI ' 

The stock Apple He, with Its lowly 1 Mttz 
clock, was not the slowest in my time trials. 
That honor was reserved for the IBM computer. 
It was not until the AST clone with the 80286 
processor was tested that an MS-DOS speed 
came in to beat the I MHz Apple He computer. 
It also took me a little while to figure out why 
the 3.6 MHz Apple was not 3.6 times as fast as 
the 1 MHz Apple. I finally decided that the sim- 
ple test I had designed was not only testing how 
fast the computer would run internally, but 
also how fast the results could be displayed on 
screen. (Remember my note about "apparent" 
speed, back a few paragraphs?) 

Another example of this difference between 
expected and actual speed, completely within 
the IBM-style computing world, is shown by the 
test results of my ALR and the Compaq. Even 
though the SI for the Compaq is neariy 70% 
higher than my ALR, their program test results 
were exactly the same. 

This means that a display intensive program 
is likely to be very little (if any) faster when run 
on the Compaq than when run on my slower, 
cheaper ALR computer. Of course, calculation 
intensive programs will run faster on the Com- 
paq. My new ALR "feels" faster than my acceler- 
ated Apple He when I run several equivalent 
programs, as verified by this test and the ALR's 
14 seconds versus 20 seconds for the fast He. 

While this is not a scientific test of every pos- 
sible feature of each type and brand of comput- 
er, I do not think it shows that the standard 
Apple computer does not compare all that 
badly to the standard IBM computer. Of course, 
I have completely switched over to using an IBM 
clone based on availability of software I need. 
There are just as many (or more) user programs 
available for Apple as there are for IBM, but the 
high-level language compilers that i use (Ci/p- 
per, COBOL, "etc) are just not there for the 
Apple II family. My wife, on the other hand, 
would not trade her AppleWorks for anything. 
So, before you brag too much about your IBM 
or clone, remember that clock speed is not 
everything... the program you use is the main 
reason to buy one type or brand of computer 
over another. 

I have no intention of ever going back to 
using my old Apple He, but that is not due to 



my IBM clone being some "super" microcom- 
puter. My decision also has nothing to do with 
the IBM computing standard being in some 
basic way "better" than the Apple H standard. 
Just as a Ford is not inherently better than a 
Chevy, an IBM or a clone is not automatically 
better than an Apple (or any other brand). When 
you are shopping for a computer the programs 
you want to use will determine the hardware 
platform that you buy. If you want to use pro- 
grams that are only available for MS-DOS (like 
me), or if you must buy an MS-DOS computer 
that is compatible with someone else's comput- 
er, then you should buy an IBM or clone. Other- 
wise, you may be better off buying an Apple II 
or an Apple Macintosh. 

Tom Smith 
Portland, Ore. 

Benchmark testing will often reach up and 
hite the person doing the testing unless the 
exact same code is being run on the exact 
same machine. But obviously, in most cases 
the interest that drives such testing is not an 
interest in comparing the speed of identical 
machines. 

You ve definitely pointed out some of the 
flaws of judging system speed by Mhz, but 
most benchmarks are also limited in what they 
reveal about the real speed of the system by 
their very nature. There are too many variables 
that can affect the scope of what a benchmark 
tests, and even how well it tests within tJiat 
scope. 

Your simple benchmark may not be much 
worse than some others at judging the speed 
of a system; indeed, taking the screen speed 
into consideration is certainly more realistic 
than ignoring it (how useful is a computer with- 
out input and output?). However, let me poke 
a few criticisms at it: 

Are the versions of BASIC really equivalent? 
Since your variables (land T) will default to 
floating point values, is the floating point preci- 
sion the same for ail of the versions of BASIC 
you tried? (rm willing to bet there is a differ- 
ence between Applesoft and the versions of 
MS-DOS BASIC you used). 

Assuming there are differences in the preci- 
sion of the BASIC versions in performing the 
calculations, this may also affect the accuracy 
of your video speed test (via PRINT), The more 
precise BASIC may print floating point values 
for T with more digits, which will change the 
throughput the video display is asked to han- 
dle. 

Finally, is BASIC really a good test for the 
types of programs most people use? Most com- 
puters are used to run pre-programmed appli- 
cations these days, and very few of these are 
written in interpreted BASIC. 

The problem with benchmarks is that most 
of them spit out a number that may naively be 
interpreted as the relative speed of thatma- 
chine. Under closer scrutiny, the number may 
be affected by system differences small 
enough to make application of the numbers to 
an individual computer (configured as the 
owner has chosen) less accurate. 

Even seemingly "foolproof" tests can get 
tricky; some compilers "optimize" code they 
generate in ways that can trap an unwary 
benchmark author. For example, one might 
suspect that a simple test of raw speed for a 
system would be an empty loop: 

IQR I = 1 TO 10QO0:iiE]£I I 

But some compilers are trained to look for 



such an 'empty loop" structure and skip past 
it recognizing that it does no useful work. In 
such a case, varying the size of the upper limit 
off won't affect the execution time of the loop; 
you can try using this to detect such optimiza- 
tion. 

As another example, Gilbreath's use of the 
Sieve of Eratosthenes in a series of Byte maga- 
zine benchmarks reportedly led some compiler 
manufacturers to use the same test them- 
selves. Obviously, knowing the speed of your 
compiler is good, but judging it primarily by 
the speed it performs a specific task is not 
good. Especially if the desire to have the 
fastest-rated compiler causes optimization for 
the specific benchmark at the expense of bet- 
ter overall speed. 

The closest one can come to getting a good 
sense of a system's performance is to design a 
benchmark that uses the same tasks the sys- 
tem will normally be used to perform, or to run 
a large variety of different tests in order to 
determine where the "average" performance of 
the system may He. Actually, a wide range of 
tests may be more useful in pinpointing weak- 
nesses; if the figures obtained by testing float- 
ing point math, integer math, moving blocks of 
memory, disk access, and so on are compara- 
ble between two systems, but the video display 
of one system is obviously slower, then it 
becomes obvious that its not necessary to 
invest in a "faster^ system if the video display 
of the slower system can be upgraded. Such 
upgrades are easier on MS-DOS machines, 
where there is a large selection of video dis- 
play cards, (however, the use of a peripheral 
display card may have some speed sacrifices 
over the use of a memory-mapped display like 
that of the Apple 11.) 

Thus I was wary of the implications last 
month when I listed the dhtystone results for 
the ZipGSX versus the TransWarp GS; I was 
quite serious about the fact that the results 
should not be considered a signiricant differ- 
ence unless all you ever plan to run on your 
computer is a dhrystone test (not a terribly use- 
ful application for the computer). Microcomput- 
er pioneer Adam Osborne published assembly 
language benchmark programs for most micro- 
processors, but cautioned that a difference 
less than a factor of ten might well be inconse- 
quential in many applications. 

Other considerations that outweigh the 
'judgment" of benchmarks are system fea- 
tures, reliability, and your own need for speed. 
It doesn 't matter how fast your system runs if it 
doesn't do what you want it to, or if it is only 
working 1 0% of the time, or if it is waiting on 
you (rather than vice versa). 

So what do benchmarks tell us? Bench- 
marks run on substantially similar hardware do 
give a rough idea of the relative speed of a sys- 
tem. A few percent difference may not matter, 
but an order of magnitude deFmitely does 
unless the extra speed costs more and is 
unneeded in your primary application (buying a 
33 Mtiz 80486 system to run a simple word 
processor is not economically wise). 

Or, as in your case, if you know that you are 
primarily working in a speciHc software envi- 
ronment such as interpreted BASIC, comparing 
that configuration on various systems is useful. 
From your timings, it doesn't look like buying 
an 80386 to run interpreted BASIC is that 



March 1991 



A2'Central 7.15 



much of a necessity unless other features of 
the environment (more BASIC commands, as 
an example) are desirable. If you run spread- 
sheet software 90% of the time you use your 
system, then timing a "representative" data set 
on the prominent spreadsheets on several dif 
ferent platforms is a valid way of comparing 
them. In this case, you're actually testing the 
combination of hardware and software to see 
what set synergistically works the best. 

Obviously, a part of the environment that 
the individual user can't easily control is the 
operating system software. If you open a win- 
dow under the Finder with ligs System Soft- 
ware 4.0 and compare the speed to the same 
action under System 5.0, it's obvious that the 
system performance was substantially 
increased solely by fmding and improving slow 
"subsystems" in the software. 

it would be very handy to have "standard" 
benchmarks for the Apple II family so that sys- 
tem enhancements could be compared, such 
as the IHorton SI and Landmark indices for 
MS-DOS systems are used to compare different 
configurations. Such tests should be conduct- 
ed as a "suite"; each member test focusing on 
a specific subsystem as much as possible, thus 
providing for an overall speed (for all tests) 
along with a "profiled" result for individual 
tasks. That would provide more diagnostic 
information about whether a speed limitation 
is the fault of the overall hardware or primarily 
located in a specific portion.— DJD 

New improved{?) drivers 

I have recently upgraded my lIgs System Soft- 
ware to 5.0.5. You mentioned in the December 
1990 issue that the 5.0.3 included a ''much 
faster ImageWriter driver". 

So far, 1 have discovered that my ImageWriter 
II now prints graphics much slower than before. 
(1 am using Acti vision's Draw Plus on a Sider 
hard drive.) What is going on?? 

Mike Barr 
riacogdoches, Texas 

...and so we launch directly into more test- 
ing, alas. 

I had noticed that the text printing is much 
faster; so I picked a text document (about a 
third of a page of lO-point Courier type, laid 
out in condensed mode) and a graphics docu- 
ment (a single StIR screen, laid out in normal 
mode) and printed a sample of each using 
AppleWorks GS under System 5.0.2 and 
^^0.4: -RatheiJhan making this an 8-hour pro- 
ject, I elected to stick to testing the "Better 
text" mode of the 5.0.2 ImageWriter driver ver- 
sus the Fast Standard, and Best modes of the 
5.0.4 drivers (5,0.5 timings were similar to 
those for 5.0.4). All times are in seconds: 



System/mode Tgjtt 
5.0.2 

Better text 

5.0.4 

Fast 
Standard 
Best 



Grqjhics 

UllU 

15/1536/43 

28/36151/172 

50/50135/160 



The great improvement in speed does 
appear to be for text printing. This is one 
series of tests with one appHcatiom assimi- 
late with caution. 

The numbers don't tell the whole story; the 
quality of graphics printing with the 5.0.4 
"Fast" mode is not as good as the "Better Text" 
mode of 5.0.2, but both the 5.0.4 "Standard" 



and "Best" mode seem to print better (darker, 
and with more resolution) which may offset the 
consideration that those modes print slightly 
slower. The "Fast" mode is much faster; fast 
enough to actually encourage printing test 
copies before jumping to a better quality mode 
for the final printout. 

In some cases with 5.0.4, the lIgs fmished 
printing and returned to use well before the 
printer was finished printing to paper; that's 
why there are two figures for 5.0.4 in the table. 
The first figure is the time for the llgs, the sec- 
ond is for the printer. 

5.0.3's drivers timed in about the same as 
those for 5.0.4, but there was reportedly a 
problem that could crop up in low-memory sit- 
uations (not a problem for our tests; we used a 
4 megabyte system), Apple didn't even get 
around to mailing 5.0.3 to its dealers before 
5.0.4 was coming down the pipe; 5.0.4 should 
be at the dealers at this time. 

If your program is printing slower than you 
think it should with the new system software, 
check to see if it uses the newer drivers (the 
new drivers display options using pop-up 
menus in the "Print.." dialog). Also, the drivers 
work faster if they have some excess memory 
available; if you are using a program that occu- 
pies almost all the memory on your llgs, try 
adding memory or reducing the size of memo- 
ry in use (by disabling any "extra" resident pro- 
grams such as nonessential desk acces- 
sories)~DJD 

Music and the llgs 

I have an Apple llgs, Yamaha FSR48 key- 
board, hard disk, 2 megabytes of memory and 
Apple MIDI interface. I need tips on good pro- 
grams for arranging four-voice (barbershop- 
style) music with lyrics, I have MusicStudio 
v2.0 (that I can't get to work) and Music Con- 
struction Set (simple version). 

Joe Lazar 
Hopewell, n.J. 

I've discovered two little tricks to using 
Music Studio v2,0: you need to have its 
"APPlEMIDr driver installed along with Apple's 
"APPLE. MIDI" driver (in your System/Drivers 
directory), and the WAVES subdirectory must 
be in the root directory of your hard disk. I 
consider both of these "features" to be poor 
planning, but sometimes you make conces- 
sions to get things to work. 

As far as doing composition and transcrip- 
tion above the hobbiest stage, the best alter- 
natiuve I have seen is I^lusicWriter (Pygraph- 
ics, P.O. Box 639, Grapevine, Texas, 76051, 
800-222-7536), which is available in versions 
for the older Apple II systems and for the llgs. 
There are three levels to the MusicWriter pro- 
grams, which differ primarily in the number of 
pads (staves) that they support. All support 
MIDI input and output The llgs demo version 
we've played with (I emphasize that we haven't 
spent endless hours with it) did a very credible 
job of transcribing from a MIDI keyboard, keep- 
ing up with moderately fast and complicated 
sequences.— DJD 

GS/OS error codes 

How about a listing of all the GS/OS error 
codes and what they mean? 1 know there are 
CDA/riDA's to give these errors but I try to keep 
my desk accessories to a minimum to avoid 
crashes. An AppleWorks data base file of these 
error messages would be a boon to all llgs own- 



ers. Surely you must have accumulated some 
background on these cryptic messages. 

Brian Sculley 
Kitchener, Ont. 

We keep our record of error codes scattered 
in the several pages of listings in the Apple llgs 
references. It might be possible to come up 
with an abbreviated listing if we knew what the 
most "popular" errors were. 

If you're looking for the codes in a text file, 
the AFW Tools and Interfaces from APDA 
includes a SYSERRS (Rez source) file that lists 
llgs error codes. You could adapt this file for 
your own use.— DJD 

Cool it 

I have a llgs loaded with cards and a 20 
megabyte Vulcan hard drive. It needed cooling, 
but the Applied Engineering fan isn't available 
here and in any case its the wrong voltage. The 
Apple fan blocks two slots and there is no room 
for it. 

So 1 built a wooden box that sits between the 
CPU and the monitor. It has no bottom, and 1 
cut a round hole in the top that accomodates a 
$19 240-volt fan, I glued foam strips to the bot- 
tom to make a seal with the CPU and the fan 
draws air through the computer from the back 
and underneath, and exhausts under the moni- 
tor, which also helps to keep the monitor cool. 

I can't find in any of the manuals just how 
much air is sufficient or if it's unwise to have 
too much air. The present fan draws 50 cubic 
feet a minute. 1 also wonder if this extraction 
method, if it's excessive, will cause interference 
with the Vulcan fan. 

Testing the system with a probe, the case 
appears to hover around room temperature. 
The whole thing cost less than $25, but then it 
surely doesn't look like it came from Cupertino. 

Richard Stephens 
Toowoomba, Queensland 

To our knowledge, internal fans don't match 
up well physically with the internal hard disks 
that replace the Apple lie or llgs power supply. 

If you've got the internal temperature hover- 
ing around room temperature, that's a good 
sign unless you are drawing (and depositing) a 
lot ofairborn dust into the computer and moni- 
tor, or unless the fan itself (or the air it is push- 
ing) is vibrating internal components of the 
computer enough to damage them. We aren't 
engineers, so we arent clear on how to gauge 
acceptable vibration levels; we work on the 
assumption that you shouldn't be able to feel 
any vibration from the fan being transferred to 
the computer. 

Assuming the air is not rocking the internal 
parts, the other risk is that the volume of air 
passing through the system may draw more 
dust through the system; dust likes to attach 
itself to electronically charged surfaces and 
your computer is very attractive in this regard. 
Especially considering that you apparently have 
air flow to spare, it would probably be wise to 
add some type of a filtering system to the side 
of the fan used for air intake and plan on 
cleaning the filter occasionally. This assumes 
that you are drawing air through the fan and 
blowing it into the computer. Of course, if the 
fan is between the monitor and computer, one 
of those items is going to get the dust drawn 
through it; given a choice, we'd pick the 



7.16 Al'Ceotral 



Vol. 7, Wo. 1 



computer since the exposed voltages (to 
attract the dust) are lower and it is easier to 
open and clean the interior of the Ugs (color 
monitors and televisions can retain some nasty 
voltages internally, and iVs not a good idea to 
pok^ about inside of them unless you know 
exactly what you are doing).— [KID 

CD-ROM for Apple 

i am interested in CD-ROMs for use with my 
Apple. Do you know of tlie availability of some? 
Most seem to require an IBM compatible sys- 
tem. 

Robert H. Fetner 
Lawrenceville, Qa. 

We've examined a few M^DOS CD-ROMs 
and many appear to be in the ffigh Sierra for- 
mat; 05/05 actually includes an f^T (file sys- 
tem translator) for accessing high Sierra discs, 
and we've been able to look at some of the 
files using the llgs with little or no problem. 

In some cases, the data appears to be 
stored in proprietary but otherwise "decipher- 
able" database formats. It's likely that hyper- 
Card llgs, with it's hypeiTalk file access com- 
mands, could be used to develop application 
stacks to access the data, Thou^ not as easy, 
given a high Sierra file reader for the lie, it may 
be possible to also write applications to access 
the data from FroDOS 8. That's the good news. 

The bad news is that some databases are 
apparently either condensed (compressed) or 
encrypted. This is reasonable given the intrin- 
sic value of some data, but it does mean that 



development of an access program will hinge 
on the manufacturer^ willingness to cooper- 
ate. 

Our suggestion is that, if you see a CD-ROM 
you think is of interest, that you write the man- 
ufacturer explaining your interest and asking if 
it would be possible for them to support devel- 
opment of access software. If they have Mac 
software to access the data, it may be hyper- 
Card based, which brings hyperCard Ilg$ to the 
fore. If they have only IBM software, then 
hyperCard //5s may still be an option, or it may 
be nece^ary to try and "port" the MS-IX}S 
access program to 05/05. 

The additional ability to provide f^oDOS 8 
support would be ideal but this step may be 
made more difficult by the paucity of high-level 
languages (C or Pascal) for ProDOS 8,—DJD 

Roll out the Apple 

I am president of an Apple user group in Eng- 
land; we c^l ourselves Midapple. Most of our 
member are Apple 11 users. 

One of my members is keen to find anyone 
out there who may know anything about using 
an Apple He to produce*wait for it!— punched 
rolls for barrel organs. I believe that reproduc- 
ing (player) pianos use a similar system. Per- 
haps one of your readers can help? 

William Watson 
Kingswinfdrd. West Highlands 
England 

Odd characters 

Regarding Ilgs font control character printing 
as discussed in Al-Centnd in May 1990 (page 
6.30, yeah,., I'm slow): 

To print the control characters $11, $ 1 2, 
$13, and $14 in the Chicago font use TimeOut 
Superfonts non-existent "<X0>'' {or *<X4>'') 
command: 

Chicago 12 Font: 

<Hl> Q R S T 

<H0> 36 ♦ i 

Beveriy Cadieux 
Kingwood Micro Software 
3 1 03 Lake Stream Drive 
Kingwood, Texas 77339 

Monitoring problems 

Do you have any recommendations as to a 
method of connecting the Apple lie and Ue to 
an Apple !!§s RGB monitor? 

It's an odd question, I know, but I find it hard 
to get answered. It's a query that comes up a lot 
in this area since the monitor here is veiy much 
cheaper than anywhere else, which is a first for 
the U.K. It's 220-240V only. 

Huw Price 
Bidmuthin Technologies, Ltd. 

The only option we can think of for the lie is 
a Video Overlay Card. In your case, you'd need 
the PAL version (AppleLink indicates it has 
been released through Apple Australia), but it 
would certainly not be an economical answer. 
Possibly a reader knows of altematives.-^XlD 

Portable non-Apple 

Tandy's WP-2 portable word processor is light 
(about one pound, inexpensive (about $300), 
and perfect for note-taking. It uses an 8-bit, 
Z80-type CPU, a 256KRONto store built-in 
telecommunications and word processing pro- 
grams (including spell-checker and thesaurus) 
and 32K RAM for files. It also includes parallel 



and serial ports. 

Here s the problem: is there any way that 
can download an ASCII file from the WP-2 to ai 
Apple lie? 

I've tried a direct cable connection and a nul 
modem connection at many settings, yet noth 
ing seems to work. As a stopgap, 1 use my Ma 
11 at work to transfer files. There 1 have tw( 
phone lines and lean use the Tandy an< 
modem to call the desktop Mac 11 and modem 
Once the file is on the Mac, 1 can use the Appl< 
File Exchange utility to make a file that's readi 
ble on my Apple lie at home. 

Isn't there a simpler way? 

Bob Varetton 
Bergenfield, fiJ 
hot having one of the WF-2% we don t know 
the answer, but maybe somone else out f/iere 
has gotten this combination to work—DJD 

Improved AppleWriter 

I am editing long books. I cun-ently have H 
books in progress, ranging in length from 25 t( 
200 pages. The editing is to condense then 
from outline form to paragraph form. Most 
the editing consists of multiple simple "fm 
and Replace" command routines, to reduce th( 
length to about half. The main routine 1 use fo 
all editing contains 27 such "Find and Replace 
commands. 

I have AppleWorks and UltraMacros. The] 
don't handle the job as easily, simply, and read 
ily, nor are they as powerful a word processo 
as AppleWriter and WPL For example 
AppleWriter allows storage of multiple com 
mand routines in a glossary that can be loadec 
into the word processor as needed. Also 
AppleWriter can use various wildcards am 
delimiters, etc. 

I have an enhanced Apple lie with a one met 
RamWorks III card and will add more RAM a! 
necessary. However, AppleWriter currently doe! 
not take advantage of RAM beyond 47K. 

Has, is, or will anyone develop a patch fo 
AppleWriter that will extend the desktop anc 
take advantage of larger RAM cards? We desper 
ately need such a patch. 

John W. Pankei 
St. Elmo, II) 

Tfiere is both hope and desperation here. 

As far as we know, there has been no con- 
tact with the author of AppleWtito' (Paul 
Lutus) in the attempt to make any further 
improvements. Those we knew who were look- 
ing for him independently in the^ hope of 
"licensing" AppleWriter have failed to locate 
him. The program itself has been out of publi- 
cation for many years, and those watting for its 
re-emergence should realize that the chance of 
that is vanishingly smalL 

There are some AppleWtit&r hackers out 
there who continue to work with the program; 
every once in a while something surfaces. 
Recently, we discovered a shareware patch on 
GEnie that supposedly extends the memory 
reach of ApplelSrHer, but it does have what 
many AppleWriter users will consider a limita- 
tion: it only works on an Apple llgs. if you are 
Interested ip fmding out details about the 
patch, or in asking the author about the possi- 
bility of support for other types of extended 
RAM, try contactit^ Chester h. Fag^, 1707 Mer- 
rifields Drive, Silver Spring, MD 20906.— DJD 



A2'Ceiitnd 




©Copyright 1991 by 
Resource-Centisd, Inc. 

MosI rights reserved. Ail ^^igms publi^ in Al-Centr^ are puMc 
ctomairt »id may be copied and distribUled wittiout cha^. Apple user groups 
and sjgtvficaflt otiiers may otiiain permission to reprint aiUdes from time to tiim 
by ^)edffc wHen request 

Publisher: Editor: 

Tom Welsh£W Dennis Doms 

wfth help from: 

Sally Dwyer Dean Esmay Joyce Hammond 

Jay Jennings Jeff Neuer Denlse Shaffer 

Tom Vanderpool Jean Weishaar 

A2-Centra/,— tifled Open-Apple tnrough January, 1989-4ias been pub- 
lished mwithly sirrce January 1985. Worid-wide prices [in U.S. dollars; airmail 
delivery included at no additional charge): $28 for 1 yean ^ for 2 years; $78 for 
3 years. AH back issues are currentty available tor $2 each; b(H^ 
tions of our Urst four volumes anfr $14.95 dach. flumes end with the January 
}ssi»; an index for tfffi prfor votunie is indixted wilh th^ 

Tlie full text of each issue of AS-Cnbal is available on 3.5 disks, aktng 
with a selection of the best new public domain and shareware files and pro- 
grams, for $34 a year (newsletter and ctek combined). Single disks are $1 0. 

Please send all corresporKlence to: 

A2''Central 
P.O. Box 11250 
Overland Park, Kansas 66207 U.S.A. 

A2-Central is sold in an unprotected format for your convenience, Vou 
are encouraged to make back-iip archival oopies or easy-tonread ^larged 
copies for your own use withotut cha^e. Ybu may alse copy A^^Cwtraf for 
distribution to othefs. The distribution fee is 15 cents per page per copy dis- 
tributed. 

WAWtWfTY Ai© UltrAIION OF UABILrTY. We warrant that most of 
the Information in vl2-Ceiilraf is useful and correct, although drivel and 
mistakes are included from time to lime, usually unintentionally. Unsatisfied 
subscribers may cancel ttteir subscription at any time and receive a full 
refund of their last subscription payment. The unfilled portion of any paid 
subscription will be refunded even to satisfied subscribers upon request. 
OUR LIABILITY FOR ERRORS AND OMISSIONS IS LIMITED TO THIS 
PUBLICATION'S PURCHASE PRICE. In no case shall our company or our 
contributors be liable for any incidental or consequential damages, nor for 
ANY damages in excess of the fees pakl by a subsaiber. 
tSSN 0885^7 GEnie matt: A^CENTRAL 

VBke: 91}4BH502 

ranted lntfieU^S.A. Fax: 9A^mssST