Text content (OCR)
_Open-Apple
Releasing the power to everyone.
January 1988
Vol. 3, No. 12
ISSN 0885-4017
newstand price: $2.00
photocopy charge per page: $0.15
To the stars through the Apple II
It was a hotel breakfast and my wife and 1, as usual, each ordered a large
orange juice, small for the kids. The waitress soon came back with huge 16-
ounce glasses for my wife and I, and the kids got the 8-ounce glasses we
expected for ourselves. “Toto,” I mumbled, “we're not in California anymore.”
And, in fact, we weren’t We were in the Sun Dome Best Western on the
outskirts of Hutchinson, two hours east of Dodge City, an hour northwest of
Wichita, or four, hard, two-kids-in-the-back-seat hours southwest of Overland
Park. We were in Hutchinson to spend Thanksgiving at my sister's house.
Hutchinson is no Big Apple, of course, but neither is anyplace else
outside of Manhattan borough. Manhattan Kansas calls itself the Little Apple,
but Hutchinson, perhaps wary of the trademark police, doesn't claim to be
any kind of apple whatsoever. In fact, if you don’t count my sister's house,
Hutchinson has just three major attractions.
First of all, Hutchinson is the world-wide headquarters for Dillons stores.
Possibly only a few of you can appreciate the spiritual renewal a grocery store
connoisseur feels on a pilgrimage to this Mecca. A visit to any Dillons, to
browse the wide aisles lined with everything from apple pies to zwieback
toast, always makes me feel close to heaven. In Hutchinson, that's the only
kind of grocery store they have.
Secondly, every summer Hutchinson is the site of the Kansas State Fair.
Things are kind of quiet over at the fairgrounds Thanksgiving weekend,
however. No amazing snake women, no cowboys on horseback, and no road
apples.
The third and greatest attraction of Hutchinson is the Kansas Cosmosphere
and Space Center. This is one of the world’s handful of major aerospace
museums, jutting from the plains of Kansas just where you'd least expect to.
find it The museum has over $100 million worth of space artifacts on display.
For example, in the center of the main hall is a complete hmar lander.
Outstanding exhibits trace the evolution of space flight from man’s first
liguid fuel rockets to actual spacecraft from the U,S, Mercury, Gemini, and
Apollo programs.
The space capsules are displayed in such a way that you can get up close
and see into the cockpits. Hands-on computerized exhibits letyou experience
such things as the sounds and window view during your choice of several
lunar landings or ascents. A computerized Astronaut Data Bank answers
questions and displays a digitized image of your favorite astronaut, A
computerized display explains the functions of the controls in the Apollo
command module. A computerized hmar geology exhibit displays your
choice of videodisk photographs of the moon’s surface.
During the summer, the space center runs seven one-week sessions of a
summer camp called the Future Astronaut Training Program. Any student
about to enter the 7th, 8th, or 9th grade can attend. At the camp, each
student gets a chance to fly a variety of computerized trainers and
simulators, including a full-size Manned Maneuvering Unit (jet pack), a light
trainer, and an 80 per cent scale Falcon Space Shuttle flight deck. Each of
these simulators is big enough to sit in, and each is connected to computer
and mechanical equipment that makes it raise, lower, tilt, and roll in
response to student commands. The kids in the shuttle simulator are even
directed by other kids in a computerized Mission Control simulator. (For
more information about the center or the camp write to 1100 N. Plum,
Hutchinson, KS 67501 or call 316-662-2305.)
But why do you suppose f'm doing a museum review here in Open-
Apple? That's right,.,. every computer in the museum is an Apple H.
From the Omnimax wrap-around theater's reservation system, which is
builtinto a counter in the lobby, to the accounting and administration offices,
tothe computers controlling the equipment that tilts and rolls the simulators,
to the lunar geology videodisk display—computers are everywhere, and
each one isan Apple II.
Many of the computers are in central equipment closets, to make servicing
easy, and are hooked to the exhibits by long keyboard and video wires.
Displays that have just a few buttons are actually connected to game paddle
ports via resistor arrays so that when a button is pushed what the Apple II
actually “sees” is a game paddle movement According to the centers
computer specialist, Ron Bloss, such an arrangement is immune to noise
and allows the computers to be connected to the displays with hundreds of
feet of cable,
1 asked Bloss whether they were using any accelerators with their Apples.
“No;’ he said, “we haven't seen a need for that yet, except maybe in
accounting”
Even though the space center uses nothing but Apple IIs and is a high-
technology education-based institution, Apple Computer doesn’t appear on
the long list of corporate supporters just inside the door. “We've tried to get
some recognition from Apple,” Bloss said, “but haven't gotten any response
from them. They did finally let us purchase equipment through their
education program, but other than that they've just ignored us.’
And what about the future of the Appie II at the center? “As a matter of fact,
‘we are about to decide whether to start using MS-DOS based machines,”
Bloss said. “When you can get an XT turbo clone with a hard disk for about
half the price of a IIgs without a hard disk, it becomes very difficult to justify
Apples to the board of directors. Besides, we needa network, and while we've
heard rumors of AppleTalk on the Apple II, we can’t make plans based on
rumors,
No, Toto, this sure isn’t Cupertino. You can’t smell Apple's marketing
smoke out here on the plains of Kansas and you can’t see Apple’s vision. But
you can get a taste of what life's really like in the Apple II kingdom. You can
shake hands with people who have built themselves a small Smithsonian-
quality museum (and the largest tourist center in Kansas) on the back of the
Apple II. And you can hear the crunching jaws of the clones, eating their way
into Apple’s markets.
“T TELL YA T'M_STILL_GETTING NG, INTERFERENCE —
~ COOKIE, RAGS? RAGS INANNA
THERE IT GOES AGAIN.” oe
3.90 Open-Apple
Claris and its cash cow
Claris, Apple’s infant software company, was featured in the November
issue of Outside Apple, Apple's newsletter for third-party developers. Apple
has seeded Claris with four Macintosh programs and AppleWorks. According
to independent reports of retail software sales, AppleWorks by itself outsells
the four Macintosh programs combined by a ratio of 3 or 4 to 1. You'd never
know AppleWorks was so important to the company, however, based on its
public statements.
For example, Kyle Mashima, Director of Product Development for Claris,
notes in the Outside Apple article, “Adding one more significant publisher is
a aps deal. There aren't that many on the Macintosh side” Well, for starters
there's Microsoft and Lotus, while on the Apple II side we have...well, we
have...
Will Claris do anything at all in the Apple II market? “An Apple Il product
would have to be really exciting, have broad appeal, and be a menu-driven,
integrated package for us to consider it” Mashima says, “But would we?
Sure.” Do you think Mashima has ever booted up AppleWorks? It's already an
excellent example of a really exciting, broadly appealing, menu-driven,
integrated package. Or by "menu-driven” does he mean “Xerox interface”?
Do you suppose Claris will limit itself to integrated packages in the
Macintosh market as well?
Apple itself has taken most of the profit out of the productivity portion of
the Apple II software market for the last three years. In the process it has
decimated Apple Il productivity developers, Into this wasteland enters Claris
with the intention of soaking the remaining profit out of its AppleWorks cash
cowand wasting it trying to compete with insignificant Macintosh developers
like Microsoft and Lotus. The only thing | don’t understand is where Apple
and Claris think new Apple Il productivity software will come from.
Apple has won on all the chips on the Apple Il software table and nowwants
to leave the game. This would make sense if Apple didn’talso own the casino.
ligs system disk 3.1 available
Apple dealers have had a new system disk for the Ilgs for weeks
already, and they'll let you copy it for free. However, the new disk, called
system disk 3.1, still isn’t shipping in the box with new machines. Dealers
don't have the documentation that goes with this disk yet, either.
I haven't discussed the IIgs system disk in Open-Apple before, so let's go
over a few basics. First of all, learn to distinguish between disks that have the
volume name /SYSTEM.DISK, disks that have the potential to be system
disks, and disks that really are System Disks.
Here in Open-Apple, the “System Disk” (capitalized) is the disk you
booted from. This could be a ProDOS 8 disk, such as the AppleWorks startup
disk, ora ProDOS 16 disk, such as the new /SYSTEM.DISK your dealer will let
you copy. (It could also be a DOS 3.3, Apple Pascal, CP/M, or MS-DOS disk.) If
you boot the IIgs with a ProDOS 8 disk, you cannot run ProDOS 16 programs
without rebooting, {fyou boot the IIgs with a ProDOS 16 disk (that has all the
right files on it), you can run either ProDOS 8 or ProDOS 16 programs.
Important —ProDOS 16 works best when the System Disk (again, the disk
you booted from) is “online” at all times. ProDOS 16 applications look on the
System Disk for such things as fonts, desk accessories, RAM-based tools, and
various kinds of drivers. If you take the System Disk out of the drive you'll
frequently be prompted to reinsert it Anyone who ever used an original, one
drive, 128K Macintosh will tell you how frustrating this is.
Thus, it takes at least two drives to use ProDOS 16 programs efficiently—
and if you have a Ilgs with two 3.5 drives, one of them is pretty much always
going to have your System Disk in it when you run ProDOS 16 programs. Now,
3.5 drives are nice storage devices, but they are relatively slow for this kind of
use.
{recommend you buy a RAMdisk and just one 3.5 drive instead. Move all
the needed /SYSTEM.DISK files over to the RAMdisk and boot from it. Your
computer will operate much faster and you'll spend less money if you buy
and install the RAM chips yourself. Now all you need is an easy way to load the
RAMdisk in the morning, I'll get to that after we discuss exactly which system
disk files you'll need to put onto your RAM-based System Disk.
(You have two options for a RAMdisk. One is to add lots of memory to the
tIgs memory expansion slot and use a portion of it for a RAMdisk. To run
ProDOS 16 programs well, however, you need a minimum of 512K of
“desktop” memory; 1 megabyte is better. Any memory you use for a RAMdisk
is in addition to this. Thus, you need L5 to 2 megabytes of gs memory if you
Vol. 3, No. 12
want to use the built-in RAMdisk. In addition, if you want to be able to boot
from this disk after booting from a 3.5 you have to fiddle with the control
panel. A second option is to use a standard slot-based RAM card, such as a
RamFactor. The problem with this is finding a slot to putitin. Slot 7 works well
unless you need it for AppleTalk or a hard disk; choices after that become
very difficult.)
(And speaking of a hard disk, that’s another good place to putyour System
Disk. But the hard disk, obviously, must be your boot device for this to work.)
Here are the files that are in the root directory of the new system disk 3.1:
Filenane Blocks Typs Date
RODS I] SYS 14-JUL-87 PQUIT, cparating system loader
S¥STEN 1 DIR 23-SEP-27 tocls, fonts, and much sore
S¥S.uTILS 1 DIR 5-NOV-87 disk utilities
BASIC. SYSTEM 1 SYS 1B-JUN-04 old faithful, V1.2
ASIC-LAUNCHER 3° SYS 12-JUL-87 it tekes longer to load than to run
APPLETALK 1 DIR 23-JUL-B7 AppleTalk support: softuars
CONS 1 DIR 23-JUL-B7 put Icon files in this subdirectory
DTALOG..1CONS B SOR 3-APR-E7 what is this and uhy is it here?
COPY ME 1 GAS 16-JUL-B7 @ do-ncthing file used by tutorials
FINOCR.DATA 1 503. S-NOV-37 the Finder created these to remaster
FINGER. ROOT 1 S09. S+NOV-B7 desktop colors and positions
The PRODOS file ona IIgs system disk, as we've explained before, is quite
different from the PRODOS file on a Ile or IIc system disk. The equivalent of
the Ile/IIc PRODOS is actually in a file called P8 on the ligs, which we'll see
later in the SYSTEM subdirectory. On the Ilgs, the PRODOS file is an
“operating system loader.” First it relocates a part of itself called PQUIT into
an afea of memory (the upper reaches of banks $E0 and $E1) where it will
reside permanently. Next it loads ProDOS 16. Then it executes the stuffitfinds
ina subdirectory called SYSTEM.SETUP, which we'll find later in the SYSTEM
subdirectory. Finally, it figures out what program it should run next and
Passes control to PQUIT. It's PQUIT, not PRODOS, that actually loads and runs
the selected program and the operating system it requires.
The rules for “figuring out what program it should run” are these, First
choice goes toa ProDOS 16 application program in the SYSTEM subdirectory
called START. If there is no such file, the rules say to look in the main, or root,
directory for a file that either is a ProDOS 8 system program (type $FF) with a
filename that ends in SYSTEM, or a ProDOS 16 application program (type
$83) with a filename that ends in SYS16. Whichever is found firstis selected.
Ifno suitable files are found, the user gets a sliding apple screen and has to
reboot with another disk. If you try to boot a ProDOS 16 system disk on a Il-
Plus, He, or IIc, you'll get a similar error message saying you can’t do that.
Now, back to the /SYSTEM.DISK root directory. The second file shown is the
SYSTEM subdirectory. We'll look inside it in a moment. It holds a number of
disk-based program and data files that are needed to run ProDOS 16
applications.
The SYS,UTILS subdirectory holds the newest version (3.0) of Apple's 80-
column, 64K, ProDOS 8 system utility program. This is the program you use if
you want to convert files between ProDOS, DOS 3.3, DOS 3.2, or Apple Pascal.
(It will also catalog CP/M disks, but cannot convert CP/M files.) The file
conversion process is quite easy— just use the normal COPY FILES option to
copy a data file from a disk of one operating system to a disk of another
(program files, of course, will be converted only in a “disk file” sense; they
usually won't run on the different operating system). The System Utilities
program also performs all the standard file and disk manipulations such as
formatting and copying disks and copying, deleting, and renaming files.
What | like best about this program is the interface. Its finally a true
assembly language “magic menu’ with windows (notice what happens when
you ask for help) that conforms to Apple’s Human Interface Guidelines for
the Apple Hf. Apple talks about its guidelines all the time in reference to the
Xerox interface but has all but abandoned its own “magic menu” design; it's
good to see it in use on an Apple product here. But it's too bad Apple's
guidelines are frozen in the days of DOS 3,3 rather than ProDOS. These
utilities include no support for subdirectories, other than memorizing them
and typing them in. Its amazing that neither AppleWorks nor these utilities
offer the choice of choosing subdirectories by pointing at them and pressing
retum. Does anyone at Apple use ProDOS subdirectories? Is anyone at Apple
aware of how third-party programs such as Copy I Plus support subdirectories?
‘There are a few other things these system utilities don’t do. The most
important missing feature is the ability to convert files between ProDOS and
Macintosh formats. Apple has written a Macintosh program called Passport
that will do this, but there are far more Apple IIs than Macintoshes in the
world—an Apple II version makes more sense for a utility like this. The
January 1988
program also lacks the ability to format DOS 3.3 disks, which earlier versions
could do.
The new IIgs system disk also includes a new program called FAST-
COPYSYSTEM that uses IIgs and standard-slot RAM for copying disks. Its
faster and requires many fewer disk swaps than anything Apple has offered
before, although products from Glen Bredon and Bill Basham have been
doing this for months already, (If you've ever tried to copy a 3.5 disk with
Apples older utilities and a single drive, you'll understand where this
program is coming from —you have to swap disks literally dozens of times.)
Ifyou have a Ile or IIc (or an 80-column 64K II-Plus, for that matter), you'll
find the newsystem utilities run on those computers too, although the Il-Plus
and unenhanced Iles will show strange characters where there should be
MouseText. Ile and IIc buyers nowadays get a system disk with their
machines that includes version 2.11 of the system utilities.
The BASIC.SYSTEM that comes on the new IIgs system disk is still version
11. The date shown in the directory listing indicates how long it's been since
an update. This is the program that would execute if there were no START file
in the SYSTEM subdirectory.
BASIC.LAUNCHER is part of one of the world's few programs that takes ten
times longer to load than to run. I cannot tell you the exact function of this
file. If you try to run it it tells you not to do that. | assume it is used by
LAUNCHER. which is in the SYSTEM subdirectory.
The APPLETALK subdirectory holds a number offiles that you'll need if you
want to use AppleTalk on your Iigs. Apple has still released no AppleTalk
documentation for the Apple II that | can find, however, Don Lancaster has
been taking ligs AppleTalk apart and writing up what he's found in his “Ask
the Guru” column in Computer Shopper. The December 1987 issue shows
how to build the $130 AppleTalk cables for about $10 and the January 1988
issue shows how to send PostScript commands to the LaserWriter over
AppleTalk, among other things. Ifyou're using AppleTalk or LaserWriters, you
should be reading Lancaster's column.
The ICONS subdirectory on the new system disk holds graphic images for
various kinds of files. These images appear on your screen when you use a
program called FINDER, which we'll look at later. Some commercial software
comes with its own icon files; for best results, move these into the ICON
subdirectory on your SYSTEM.DISK,
Logically, both APPLETALK and ICONS should be in the SYSTEM subdirectory,
rather than cluttering up the root directory. [ haven’tyet had time to figure out
if they work correctly if moved, however. The root directory of a ProDOS disk
has a maximum capacity of 51 files. Subdirectories can officially have any
number offiles (although many programs, such as AppleWorks and FINDER,
have definite limits to the number of files they can handle In a single
subdirectory.) Whoever decided to put these files in the root directory isn’t
showing enough consideration for 20-megabyte hard disk users, who really
need to have nothing but PRODOS, SYSTEM, and their own subdirectories in
the root directory.
DIALOG.ICONS is a rogue file. No one seems to know exactly what it's for or
why it's in the root directory. COPYME is a file that Apple's system disk
tutorials use. It does nothing and has no other purpose. FINDERDATA and
FINDERROOT are data files created by the FINDER program to remember
how you arranged, colored, and positioned this disk’s icons the last time you
had it on the FINDER desktop. These two don’t appear on a virgin
/SYSTEM.DISK, but will appear as soon as you manipulate the disk with
Finder.
Now let's look in the SYSTEM subdirectory:
Filename Blocks Type Cate
Systen 1 DIR 23-SEP-87
PB 32 SYS 17-APR-E7 ProDOS 6, V 1.4
PLS 25 SPS 14-JK-G7 ProO0S 16, V1.3
= START 2 $83 13-JUL-B7 boot-up PLS application program
-»SYSTEN.SETUP 1 DIR 27-AU3-87 all Files in this dir execute at boot
-TOOL.SCTUP 68 $86 15-JW-87 required
-ATINIT 16 S£2 G-MAY-G7 required with AppleTalk only
LOAD.0 1 586 B-HAY-87 required with AppleTalle only
-SOUND. INIT 1 386 27-AUG-87 required
+-TOOLS I DIR 27-AUG-B7 this directory holds RAN-based tools
»-DESK.ACES 1 DIR 23-JUL-B7 no desk accessories are supplied
+ DRIVERS 1 OIR 23-SEP-87 P16 programs need these to print
«+ APPLETALK 6 S86 i2-JUL-87 required uith PppleTalk only
SIMPECURITER 48 -$86
-LASERPREP 86 TXT raquired with Lasoriri ter only
VLASERWRITER 53. $88 12-JUL-B7 required with Laserkriter only
= -HODEN 5 $88 13-NAy-67
OpenApple 3.91
cos sPRINTER 5S $89 13-mAy-a7
see PRINTER. SETUP L BIN 23-SEP-87
«FONTS: 1 DIR 23-JUL-87 fonts for P16 programs
«FINDER 1@2 $83 22-JUL-87 Macintosh emulator, needs 512K IIgs
= «LAUNCHER 12 $83 (12-JUL-B7 world’s slowest program selector
CLAPBOARD 1 $0 23-SEP-87 disk-based clipboard for PLS prograns
P8 and P16 are the true ProDOS 8 and ProDOS 16 files. On the new system
disk 3.1, ProDOS 8 is version 14 and ProDOS 16 is version 13. P8 is the file
you use to replace PRODOS on Ile and IIc ProDOS disks so that they'll use the
Tigs clock. Delete PRODOS from a copy of your older disk, copy P8 onto it, and
rename P8 as PRODOS,
START is the program that runs when the disk is booted. It can be any
renamed ProDOS 16 application program. The START included on the new
system disk 3.1 figures out how much memory is available on your Iigs. If it
can find at least 512K. it will run FINDER. If not, itruns LAUNCHER. Ifyou use
Glen Bredon’s ProSEL, you'll want to replace this START file with the one on
his /EXTRAS disk (if you have an older version of ProSEL without START and
need an update, theyre $5 from Bredon at 521 State Road, Princeton, NJ
08540; ifyou don’t have it at all, get it—a new copy is $40).
SYSTEM.SETUP is the subdirectory that holds files that are executed when
the system is booted, The PRODOS file handles this, as mentioned earlier.
Only files of certain types are executed, primarily types $B6 and $B7.
According to the ProDOS 16 Reference Manual, types $B8 (new desk
accessories) and $B9 (classic desk accessories) will also be executed if
found in this subdirectory, however, according to Apple Developer Technical
‘Support, the manual shouldn't have said that. Desk accessories are
supposed to be in the DESK.ACCS subdirectory, not SYSTEM.SETUP. On
system disk 311 four files are found in SYSTEM.SETUP. Two of them, ATLOAD.O
and ATINIT, initialize AppleTalk.
There is also a new public domain program available to add SYSTEM.SETUP
abilities to ProDOS 8, It was written by Open-Apple subscriber Sean Nolan
and is called SETUP.SYSTEM. This program should be the first system file on
your ProDOS 8 disks. Ifitis, ProDOS 8 will run it when you boot and itwill look.
for a subdirectory called SETUPS and run all the SYS and BIN files it finds
there. Then it will go back to the main directory and start up the next SYSTEM
file. For more about Nolan's program, see his article in the November 1987
Call-A.PPL.E., pages 14-23, and Bob Sander-Cederlof's article in the October
1987 Apple Assembly Line, pages 29-32. Sander-Cederlof also discovered a
new secret feature of ProDOS 8, versions 1L3 and later—they will search the
root directory for a type $E2 file named ATINIT and run it before running the
first SYSTEM file, ATINIT, of course, is the AppleTalk initialization file found in
the SYSTEM.SETUP subdirectory of ProDOS 16 disks. Nolan's solution for
running programs like ATINIT under ProDOS 8 is much more elegant than
Apple's solution, but look for Apple's not-invented-here syndrome to prevent
it from being used on future ProDOS 8 system disks.
The TOOLS, DESKACCS, DRIVERS, and FONTS subdirectories in the
ProDOS 16 SYSTEM subdirectory all hold files that are used by ProDOS 16
application programs. Both TOOLS and FONTS hold a number of files on
system disk 3.1—I haven't listed them here. DESK.ACCS, on the other hand,
is emply. Those of you who are used to the Macintosh may be surprised to
Jeam that there is no need for a FONT/DA MOVER on the ligs. You simply use
the FINDER or any other file manipulation program to move the fonts and
desk accessories you want into the FONTS and DESK.ACCS subdirectories on
asystem disk and boot that disk to make it the System Disk. Those fonts and
desk accessories will be available to your ProDOS 16 programs. On the other
hand, note that fonts or desk accessories that are not on the System Disk
(again, the disk you booted from), are not available to your ProDOS 16
programs.
As mentioned earlier, the root directory file ICONS holds logically the same
kind of stuff as FONTS and DESKACCS and should have been piaced in the
SYSTEM subdirectory. APPLETALK, which holds slightly different stuff, could
go here too.
‘The final three files in the SYSTEM subdirectory are FINDER, LAUNCHER,
and CLIPBOARD. CLIPBOARD is a disk-based data file for ProDOS 16
programs that supporta Macintosh-like clipboard. LAUNCHERis the kill-a-fiy-
with-a-sledgehammer program selector you'll get if you boot Apple’s
/SYSTEM.DISK on a IIgs with less than 512K. Replace it as soon as you can
with ProSEL, or add more memory so you can run FINDER,
FINDER is a Macintosh desktop emulator. It allows you to copy, delete,
rename, and startup files. It takes forever to start from a 3.5 inch disk, and
apparently has some problems with hard disks larger than 10 megabytes,
but otherwise is a pretty decent program for novice users. Compared to the
3.92 Open-Apple
Macintosh, the big difference is that this Finderis in color. RAMdisks show up
as little green logic boards. You can easily color-code your file folders (the
icon for a subdirectory) if you want to, While the disk utilities that come with
ProSELand Copy iI Ptusare still my firstand second choices, there have been
times when what | wanted to do was easier with Finder, it's eamed a place on
my System Disk.
What you put on your own System Disk is up to you, but it should be
obvious by now that you don’t actually need ailthe files on /SYSTEM.DISK. If
you don’t use AppleTalk, you don’t need the APPLETALK subdirectory or any
of the files in it. you don’t need the two AT files in SYSTEM.SETUP, and you
don’t need the APPLETALK file in DRIVERS, Ifyou don’tuse a LaserWriter, you
can also do away with LASERPREP and LASERWRITER from the DRIVERS
subdirectory. By all means get rid of LAUNCHER in the SYSTEM subdirectory
and BASIC.LAUNCHER in the root directory. COPY.ME should be deleted, of
course, and SYS,UTILS and all its contents can be moved to an applications
disk; there's no reason to have them on the System Disk,
What you don't want to delete are, any of the files in TOOLS. When the next
Ilgs system disk comes out, you'll want to replace any updated tool files with
the newer versions. You'll probably want to add files to FONTS, DESK.ACCS,
and ICONS. Get new files for these subdirectories from commercial and
public domain disks,
If you are a ProSEL user, remember to replace START with the ProSEL
version. If you are also a RAMdisk user, proceed like this. First. run your
favorite program for initializing disks and format both a new 3.5 disk and
your RAMGisk. Name the 3.5 something like /COLDSTART and the RAMdisk
something like /RAM5. Without a separate formatting step, Apple’s standard
slot RAMdisks won'tboot.
Next, remove the 3.5 and copy all the files you want on your System Disk to
the RAMdisk. Besides the core programs from Apple's /SYSTEM.DISK, you'll
find you have room for AppleWorks, the ProSEL utilities, and whatever else
you use most often. But don't use more than 1,525 blocks (about 760K).
Next, reinsert /COLDSTART and copy P8 from the /SYSTEM.DISK and
RESTORE from your ProSEL disk onto it. Rename P8 as PRODOS; rename
RESTORE as RESTORE.SYSTEM. Next run the ProSEL program BACKUP. When
itasks you for the slot of the destination disk, enter a 0, {twill then request a
filename. Enter something like /COLDSTART/RAM.IMAGE. The program will
‘then copy the entire contents of your RAM-based System Disk into a single,
special file on the 3.5. .
Once all this is done, run the ProSEL program BLOCK WARDEN, Enter P for
prefix and /COLDSTART. Enter F for file and RESTORE.SYSTEM. Enter E for
edit and use the arrows to move the cursor to byte 6. A special little window
will appear. Enter the name of the file your RAMdisk backup is in, RAM.IMAGE.
Next, go to byte 49 and hit the tab key (tab allows you to enter ASCII data),
Enter the name of the program you want to run when RESTORE is finished;
probably /RAM5/PRODOS. Hit the tab key again (back to hex data) and go
back to byte 48 and enter the length of this string in hex, OC in this case. Press
Escape to leave edit mode, W to write these changes onto the disk, and Q to
quit.
You're done. Tomorrow morning turn on your computer and boot
/COLDSTART. It will rebuild your System Disk in RAM and startup ProDOS 16
in not much more time than it takes to start ProDOS 16 from the 3.5 to start
with, Put /COLDSTART away and spend the rest of the day with immediate
access to the programs in your RAMdisk (even Finder takes “only” about 10
seconds to load), Use your 3.5 drive for data disks, Write and tell us how you
like it.
Using the Advanced Interface
Back in October, in the midst of our “Far More Than You Ever Wanted to
Know About Apple Il Character-Oriented Interfaces” series, I mentioned that
Td include a longer assembly language example of how to use the Advanced
Firmware Protocol (also known as Pascal 1.1 Firmware Protocol) “next month
(orso).’ Here itis, brief as I can make it
The advantage of using the Advanced Firmware (rather than the Basic
Firmware), is that it has a STATUS command you can use to find out ifa
character has been received from an input device (modem keyboard) or ifan
output device (modem/printer) is ready for the next character. In addition, it
hasan !NIT command you can execute without doing either a READ or WRITE.
The Basic Interface has only READ and WRITE commands; the first READ or
WRITE after PR# or IN# always initializes the firmware.
(The advanced interface INIT command should be used one time by your
application program for each device you want to use. Its function is to reset
Vol. 3, No. 12
the interface to its default dipswitch/auxmem/control panel settings (see
“Modes and defaults,” page 3.75), The advanced interface does this even on
the Super Serial Card (you might pencil this in about half-way down the first
column on page 3.76—the problems with Super Serial Card initialization
identified there, it tums out, apply only to the Basic interface and can be
easily solved with an INIT call to the advanced interface.) To deselect a device,
simply stop using it. There is no need to use INIT more than once unless you
have some reason to set the device to its default values more than once.)
(The advanced interface “ready for output?” status call can be used to
determine whether a printer that is tumed on is “selected” or not. However, if
a printer is completely turned off, this call returns with a "yes—ready”
response. This is because a low voltage is used by printers to signal when
they are ready—if the printer is tamed off the voltage on this wire will
definitely be low. This is a hardware design flaw; it's not the fault of the
firmware.)
The difficulty of using the Advanced Firmware is that Applesoft doesn’t
support it You can use it directly from assembly language, but there are so
many combinations of slots, commands, entry point offsets, entry points,
and register initialization that things can quickly progress past the point
that anyone can understand them.
For the sake of speed, it seems as if the way to proceed is to look up the
entry point for each command/slot combination in advance, put the entry
points for each slot in a table along with the proper X and Y register
initialization values, then pull the proper stuff out of the tables just before
each call. However, the entry points are already in tables, and pulling them
out in advance is a waste of time. Instead, try the following routine. Its both
fast and short. Call it with your registers loaded as follows:
Register contents unen calling CHARI
X = slot nunbar of device (1-7 valid, no testing done) .
Y= comand (13-17 valid, no testing done)
19 = INIT
14 = READ
15 = WRITE
16 = CHARACTER RECEIVED?
17 = READY FOR OUTPUT?
A= character to urite (RITE command only)
When control returns toyou, the registers will hold the following information:
Register contents paesed back by CHAR,ID
X = error cod
error
Legal operation
32-4 sper Serial Card communications errors (see October, page 3.68)
64 = device error
4 = undefined
f= character reac (RERO comand only)
carry = anever to STATUS commands 16 & 17 (1=¥, 0-H)
The routine requires two zero-page bytes for temporary manipulations. As
written, ituses bytes 6 and 7, which don’t conflict with Applesoft, the Monitor,
DOS 3.5, or ProDOS, but which could conflict with other languages or other
1: CHAR.IO
directs calls to Advanced Character 1/0 Firmare
Tom eishaar, Decenber 1967
2P. TEMP .EQ 5 We need a twa-byte pointer on page zero.
MSLOT .£0 S7F8 Interrupt handlers expect $s here.
CHAR. 10
0320:00 10 CPY BIE First, see if command is 16 or 17
0302:90 09 CC I0,ALT af neither, continue at ALT entry
E BEY -1 if 1G, continue at st.
vey LF A?, decrement ¥ to 16 and
LOA Ke put a @ in fl (ready for output?)
EQ TO.ALT and continue at 10.ALT
2308:99 OL +1 LOR RL AF 16, put 1 in A {character ready?)
10.ALT
0200: 40 PA Save Al on stack
0306 28" TxA Using slot nunber that was passed in X,
O30F :08 ASL $20 for tater, and...
January 1988
0313:68 ASL
O311:6A ASL.
o312:0A ASL
0313:46 PHA Save lt on the staca.
@314:68 TxA Using slot number that was passec in X,
@315:09 CO ‘ORR ASCO create SCs, and...
TAK save it in X, and...
STK 2P.TEMPAL put it in cur pointer.
LOA HO
‘STA 2P.TEMP Pointer now holds sCs@2.
OGIE:E1 0€ LDA (ZP.TENP),Y Using of feet from ¥, get entry point xX.
eG20:85 96 STR ZP.TEP Pointer nou holds Sosxx.
9322268 PLR Bet $0 and...
0323:A8 Tey put it in ¥.
PLA Get original contents cf A.
STX MSLOT Fix MSLOT for interrup: handlers.
STX SOFFF Turn off 211 $0800 ROMs (see p 3.67).
JuP (2P_TEMP) Junp to slot/command entry point.
This 46-byte routine takes care of finding the correct entry point for the slot
and command you want, of loading the registers with the requiredvalues, and
of taking care of a couple of Super Serial Card bugs mentioned in the
October issue near the end of page 3.67. Itis also position-independent— it
works anywhere. You can make it slightly faster by including tables of Xand Y
register values, but the speed advantage is slight (5 machine cycles), 12 extra
bytes of space are required, and it will no longer be position-independent. If
you're still interested, add these tables after the JMP (ZPTEMP) and change
the section from $30E to $316 to:
LOA SLOT®.TABLE-1,x
PHA
LDR CSLOT.TABLE-1,%
Get 50 value for this slot and...
save for later.
Get Cs value fer this slot.
SLOTO. TABLE
HS 10.26.30.40.50.60.78
CSLOT. TABLE
-H5 C1.€2.03.04.(5.C6.07
There are a number of ways to use CHARIO from an assembly language
program. For example, ifyou don’t mind having just one current SLOT value,
like Applesoft does, add a section of (C)haracter [/O commands that looks
like this:
C.INTT
LOY 413
BNE CHAR.GO
‘C.READ
LOY m4
BNE CHAR..GO
CRITE
Loy mis
BNE CHAR.GO
C.READ. TEST
LOY ate
BNE CHRR..CD
C.WRITE. TEST
Loy m7
CHAR.6O
Lx SLOT
WP CHER, 10
Nowail that would remain is for the programmer to load the A register with
a character before doing a WRITE, looking in the A register for a character
after a READ, and branching off the carry for STATUS results (BCS = ready, BCC
=notready). Italso might be interesting to look in the X register for an error,
especially after INIT calls, but the lack of support for X register errors (see
page 3.68) generally makes this a waste of time. For example:
to init slot 1 (0 a
STR SLOT Specify slot end...
JSR C.TNIT initialize a character device
TxA Test for error.
BNE ERROR problens Uith initialization.
to read SR DREAD Character returned in A register.
JSR C_MRITE TEST
CS REAQY
The final possibility we'll discuss here is using the Advanced Interface from
Applesoft. As mentioned in October {page 3.66), there are rumors of
printer ready?
Printer online, paper ok
Open-Appie 3.93
incompatibilities between Applesoft and at least some Advanced Interface
firmware, but the only conflict we've identified so far is limited to mixing the
Advanced Interface with Applesoft low-resolution graphic commands. If
anyone finds anything more specific by using the following demo program,
please let us know.
The difficulty of using a routine like CHARIO from Applesoft is that
Applesoft has no commands for “register loading.” You can CALL an
assembly language routine from Applesoft, but you can’t specify register
contents before the call and you can’t determine register contents after the
call. So we have to write an assembly language “front end” for CHARIO that
includes the ability to do these things for us, Then, from Applesoft, we'll POKE
the register values we want to memory, CALL the new routine, and find what
values were returned with PEEKs.
Another difficulty of using CHARJO from a higher level language like
Applesoft is that CHAR IO is written as a fast, “low level; assembly language
routine and consequently does no error checking. It will accept a slot
number that doesn’t support the Advanced Firmware or even a slot number
that doesn’t exist. Itwill dutifully execute command #135 ifyou tell itto, even
though there is no such command. In all such cases your computer will
ash, lock-up, or worse. Error checking, if there is to be any, will have to be
done by our “front end.”
This brings up the question of how one determines whether the device in
any particular slot supports the Advanced Firmware protocol. Back in
October (page 3.66) we discussed the identification protocol for advanced
firmware; the following “front end” includes anew command, TEST (command
18), that determines whether a slot holds an advanced firmware device and, if
" Applesoft ‘front end’ for CHAR.10
* E
* by Ton Heishaar, December 1987
CHAR_FP
OS2E:AS 06 LOR 2P.TEMP Save tha contents of cur tesporary
0330:48 Pre zero-page bytes for safety’s sake.
0331:A5 07 LOR 2P. TEMPS
0333:48 PHA
0334:AE 96 03 LDx SLOT Lead slot number into x,
BEQ IDLER if @, report an error
CPx HB If 8 or aore,
0358-82 00 BCS 10.ERR report an error.
0230:AC 95 03 Loy CHD Load command nunber into Y,
@340:C0 00 cPy 13 iF less than 13,
0342:90 06 ACC T.ERR report an error.
6344:00 12 cPY WB if 13 to 18, cmd is ok,
OHG:FO 05 REQ TEST brarch for command 1B
0348:90 32 BOC FE.2 branch for comands 13-17.
10.ERR
e34ns82 03 Lox 43 Load Tllegal Operation arrer into x
o34c:0e 30 BNE 10,0UT ‘ang return to caller.
Test
@34E 208 TxA Tost slot Firmware to see if it
034F 05 C2 ORA 4SCO supports the advanced interface.
€351:85 07 STA ZP.TEMPS]
@353:A9 00 Lon ne
STA ZP.TEMP put SCs@@ In pointer.
Lox #5
<1 LOY TRALE,X get offset fron tabla,
vex
Lon (2P.TEMP),Y get value at this offset.
@35F:00 75 03 CHP TABLE.X conpare to correct id, not equal
036200 ES ENE 10.ERR means no support, send back error 49
e3g4:cn fag
e365:10 F2 BFL try next offsst until ali pass test
Loy asc
LOA (2P.TENP),¥ get device signature byte
STA READY put whole thing in READY
PND Sra clear second hex digit
STA CHAR put what's Left in CHAR
0373:68 TH make X=0 for no error
0374:F0 15 EQ 10.0uT
TABLE
HS 36.05.18.07.01.08
0576:26 05 10 @7 @1 08
3.94 Open-Apple
FE.2
@37C:AD 39? @3 ‘LDA CHAR Put character in AL
037F 20 00 03 ‘JSR CHAR. 10. Use CHAR.ID to route slot/command/char.
@382:8D 57 63 ‘STA CHSR Save A in CHAR
O38S:A3 80 LOA Ho. Save carry in READY.
0387:28 ROL
@38E:8D $8 03 STA READY
10.0UT
O38E:BE $3 23 ‘STX ERROR Save X in ERROR.
036E:68 PR Restore zaro-page tesporary location.
O36F:85 @7 ‘STA 2P.TERP+)
0391268 PLA
0392:85 es STA 2P.TENP
0394:60 RTS Done.
335:00 CHO DA Hee PEEK/POKE 917
0395:00 SLOT .DA 400 PEEK/POKE 916
397:00 CHAR .DA Hoe PEEX/POKE 919
0398:63 READY .DA Hee PEEK/POKE 320
0393:00 ERROR .DF 400 PEEK/POKE 921
To play with these routines from Applesoft, you need to assemble them or
hand-enter the hex codes. | tried both and was able to hand-enter them from
the Monitor faster than I could find the disk my assembler is on. Most Apple
Ils nowadays also have a built-in Mini-Assembler (see May 1987, page 3.27)
that you could use to enter the code. BSAVE the results in a file called
CHAR.IO {A$300,L$9A). Then write yourselfsome playful Applesoft programs
such as the following one:
18 HOME.
28 PRINT CHRS (4);“BLOAN CHAR.10”
25 CMD = 917 : SLOT = 916 : CHAR = 919 : REDY = 928 : ERR = 921
30 DIM AS(16)
reserved”
‘printer card”
‘nouse/ Joystick card”
‘sound/speech card’
clock card”
‘mass Storage device”
Vol. 3, No. 12
108 POKE CNO,15 + REM scan slots and TEST for advanced Firmuare
110 FOR S = 1 107
120: POKE SLOT,S REM CHD and SLOT must be specified before CALL
130 = CALL B14 : REM call CHAR.FP
140 : IF PEEK(ERR) THEN 160 : REM if ER@ <> then no advanced firmuare
150 : PRINT “The device is slot ¥7:5;7 1s a “;AS(PEEK(CHAR) / 16);".~
16 NEXT
198 ENO
Ayear ago this month we were talking about the Smartport block-oriented
firmware used by the Apple II for disk storage (contrast with the character-
oriented firmware used for printers and similar devices). One of the
commands we discussed, {page 2.92) was a status cali to the Smartport
itself, which is supposed to retum the number of devices connected to the
Smartport. It turns out that on the original version of the memory-
expandable IIc, making this call to the slot 4 firmware implied a RAMdisk was
present whether the machine had a memory card plugged in or not
This has been fixed in the “revised expandable Ic.” You can identify
these machines with a PEEK(64447) ($FBBF). The original IIc had an $FF
here, the original 3.5 ROM version a $00, the original memory expansion
version a $03, and the current version a $04. You might want to pencil this
into our “Apple II Family Identification Bytes” table on page 2.66.
To figure out if there really is a card plugged into a IIc you should do a
Smartport status call to the device (rather than to the Smartport, see page
2.92 for complete details) and check how many blocks of storage are
available. If no card is plugged in, this field will come back filled with goose
eggs.
The latest revision of the IIc ROM also fixes a problem with keyboard
buffering. Apple's Apple fic Technical Notes #5, #6, and #7 have complete
details,
Our friends at Beagle Bros have moved. Their new address is 6215
Ferris Square, Suite 100, San Deigo, CA 92121 Their new phone numbers are
619-452-5500 (general), 619-452-5502 (technical support), and 619-452-
2 NEXT
5565 (bulletin board: 300/1200/2400, 8N1. full duplex).
More feedback on teality
In the midst of the December letter from Ben Kobb
{page 3.84) you say you can't believe that Apple's
Jean-Louis Gassee would say, “in no way, shape or
form will we be in the office with this computer” (the
IIgs). { don’t know whether any such statement was
made; BUT I do know that an interview of Gassee
published in Waldenbooks’ Computer NewsLink this
fall certainly inferred that only the Macintosh was
meant for business.
And here | sit, typing this note on AppleWorks and
the Ife I have used for business since March 1983. |
have also purchased a IIgs and expected great things,
16 bits and whatever. Well, as you might guess, the
best programs | have are AppleWorks, Apple Writer,
and feos Jim Deloss
Grand Blanc, Mich.
Asa professionaljournalist, | should wam youthat
written interviews often reflect the feelings of the
interviewer as much or more than the feelings of the
interviewee.....As promised, I contacted Gassee on
AppleLink and asked him to confirm or deny the
quotation and tell us why or why not he thinks the
Apple If has a place in the office. Here’s his response:
| think the Apple lgs has a privileged place in the
school, the office, and at home.
Jean-Louis Gassee
Apple Computer, Inc.
While his answer isn’t all | would like It fo be, itis
something, and it is adequate. The people running
Apple inc are just that, people. They have been
focused on their Macintosh line for three long years.
Let's admit it, the Macintosh needed the attention.
Without it, it would have gone the way of the Apple Il!
and the Lisa.
But now that the Macintosh can stand on its own
feet, and Apple's managers have the second successful
computer they've been working so tong to develop,
it's time for them to give the I! line the attention and
the tender loving marketing it deserves. Apple is
simply not tapping the potential of the If family. Our
jobs here are to open their minds to the possibilities.
Apple's managers are intelligent, motivated people
who will respond to our arguments if we can persuade
them of the truth we see.
Uncle DOS has received a number of other letters
from subscribers on these issues, The primary
concems are that Apple purposefully crippled the
speed of the ligs microprocessor to avoid competing
with the Macintosh, that 16 bit ligs software runs
unacceptably slow, that the cost of the Apple I is too
high when compared to MS-DOS machines, that
comparatively little new software is being developed
for the Appie I! compared to MS-DOS and the Macin-
tosh, and that Apple's Macintosh marketing has done
more to convince people that the Apple II isn’t
‘suitable for business than it has done to convince
them that the Macintosh is,
The unusual thing is that when companies have
products that are competing with each other, it is
usually the established product that gets preference
and the new product that is crippled. | have talked to
the engineers who designed the ligs; I'm convinced
that any speed limits they put on the machine are
there because they didn't want to drive up the cost,
not because they didn’t want to scare their Macintosh
colleagues. if Apple was worried about the Igs
competing with the Macintosh, you can be sure the
Hgs wouldn't have memory expansion capabilities
well beyond those of most Macintoshes.
The problem is that Apple’s managers seem bent
‘on turning the Apple iI into a cash cow—a mature
product that produces money to be invested else-
where — before tts time. If Apple would put the kind
of resources into getting ligs software published
that it has put into Macintosh software for the last
three years, if Apple would resume marketing the
Apple iI to adults as well as children, and if Apple
would adjust its prices to meet the MS-DOS competi-
fion, most of you would be happy. If you were
January 1988
happy, you would sell Apple Hs by word-of-mouth;
something, it is apparent from your letters, many of
you have stopped doing.
Apple is not a monolith, It is not a stone rolled by
aniron hand. it's peopie who respond to persuasion
and the facts. We need to convince them that their
current neglect is wasting the potential of the Apple
i
Warm French dough
Include AppleWorks with the Apple II? This has
been Apple's practice in Europe for some time as far
as the Ile and IIc go. Most people buy the packages, as
buying individual components is much more expensive,
Camrying this approach further, the standard Appie lc
in France now comes with the extra 256K memory
card, yet is priced below what the IIc sold for without,
the card.
Apple France seems to recognize that Apple II
users now want that memory, and it’s not for playing
games or anything other than AppleWorks. As Jean-
Louis Gassee certainly knows, having played the
major role in Apple's success in France, the Apple II
has a significant small business and home office role
here, and Apple marketing has not ignored that
potential,
Now for the bad news. Apple France seems worried
that AppleWorks isn’t a 16 bit program. To show off
the IIgs they have bundled itwith a painfully slow word
processor, GS Mrite, alongwith a better paint program,
GS Paint. Itis nice to get such software thrown into the
package and the IIgs has been selling very well, but
the real lucky people were those of us who bought the
IIgs before GS Write was ready; we were given Apple-
Worksat no extra charge to tide us over. expect most,
like I, after a little playing with the mouse and cute
fonts, are back to using AppleWorks regularly and
praying someone will listen to Frank Lowney's plea for
a 16-bit version (December, pages 3.83-84).
Insum, the Apple marketing and customer support
Ifind here in France is far superior to what | find in the
States. Apples are not cheap here, but the well-
developed product and company image makes con-
sumers willing to pay the premium. When they go into
most dealers, customers are presented with well-
packaged systems, and the Apple IIs aren’tkeptin the
background, I really wish the parent company would
leam a few of the tricks developed by its French
offspring.
Bill Witherelt
Paris, France
Everything in its place
Frank Lownéys letter was exactly on target. Like
him, | own a number ofthe latest 16 bit programs like
MultiScribe GS, yet AppleWorks is far and away my
first choice. AppleWorks is on my screen in seconds,
completely ready with enhancements from Beagle
Bros, Pinpoint, and Applied Engineering: MultiScribe
GS takes minutes. Getting Maclirite up and going
takes an intermediate amount oftime. Using MacWrite
without keyboard cursor control, however, is a pain in.
the chips. Your comments hit the mark precisely, too:
why not faster 16 bit software instead of bells and
whistles.
Tteach using computers at a secondary school. Ina
twist of perceived convention, | use Macs to teach
simple junk butuse Apple Ilsin the advanced classes:
for programming, graphics, robotics, engineering:
telated subjects, and so on. Because of its open
architecture, the Apple I is a much more powerful
machine than the Mac for our rather general purposes.
Nearly all the speed of the Mac is sacrificed to
enormous bit-mapped take-along files that the com-
puter must fiddle with; the result is that for most
actual uses, the Macis no faster than the Il. The Macis
wonderful, no question — but So is the Apple II.
Michael Simonds
San Diego, Calif.
AppleWorks 16
In my letter published in last month's issue, |
Suggested we begin a realistic discussion of what a
16-Dit AppleWorks could and should do. In order to
practice what I've preached, letme contribute at least
‘one idea to the cause.
‘The real genius of the AppleWorks filecard interface
is that each screen communicates so much informa-
tion in the context of what you are currently attempting
to do. That is, you know where you've been, you know
where youare, and you know what options lie immedi-
ately ahead. Not only does this make the teaming
curve mercifully short and steep but it also invites
exploration and, thus, innovation. But one wonders
why this thinking was not extended to the way files are
identified and brought to the desktop if the file you
ro is notin the main directory or is an ASCII or DIF
le.
AppleWorks now contravenes the purposes of the
ProDOS hierarchical file system. Looking beyond the
main directory involves getting into the AppleWorks
variant of Blind-Man’s-Bluff unless you have the
assistance ofaremarkable memory or Randy Brandt's
PathFinder,
AppleWorks 16 will need to display the directory
structure and allow the user to highlight any subdirec-
tory to view or select files from. And what about the
Tetum trip? It is quite likely that you will have several
files on your desktop from different parts of the
hierarchical file structure. fAppleWorks wouldremem-
ber the origin of each file it could automatically save
tothe file's “home” subdirectory. Of course, itwouldn’t
be AppleWorks if it didn'task "Save file to... ?" At this
point one could choose an altemate subdirectory
from the directory structure display.
Is there a better way to do it? Are there other ideas
for AppleWorks 16 out there? Let's talk about it.
Frank Lowney
Milledgeville, Ga.
End of the line?
After all the talk about a 16-bit AppleWorks in the
December issue, | felt compelled to write and contrib-
ute my 8 bits.
It should be made clear that AppleWorks 2.0
already has 16-bit code. AppleWorks’ memory man-
agement and some of the display routines are con-
tained in what is called the SubHost. Several versions
of the Subttost are on the AppleWorks startup disk —
SEG.00 is the standard one for 128K machines,
‘SEG.XM is for Apple-style memory expansion cards,
and SEG.RM is for the IIgs. SEG.RM Is written in 65816
code, although that always seems to get ignored.
‘Some 16-bit code is also found in APLWORKS.SYSTEM.
Free tip: you can save disk space by deleting
SubHost files that don’t apply to your hardware setup;
this is especially handy when running AppleWorks off
of RAMdisks.
Most of the desired enhancements you ask for at
the end of page 3.84 are already in place. When runon
a llgs, AppleWorks is faster and allows a larger
desktop, larger AWP files, and larger ADB files. If you
make AppleWorks 2.0 think that it's running on a Ile
instead of a IIgs using the patch on page 3.86, you
Open-Apple 3,95
lose out on the added speed of the 16-bit code and
you're back to a 55K desktop and smaller file limits.
As for developer enhancing the Beagle Bros TimeOut
Series provides smoothly integrated applications
such a graphing, spell-checking, a programming
language, printing with Macintosh fonts, and much
more. The beauty of TimeOutis that it even works with
unenhanced Iles, and it's available now; there's no
need to dream and wait for the future.
I'm all for bundling AppleWorks 2.0 with Ils, but |
think that any developer who decides to write the
longed for "16-bit AppleWorks” is going to write it
using the IIgs graphics interface. The text version
already exists in AppleWorks 2.0!
Randy Brandt
Beagle Bros, Inc.
What Beagle Bros has done with AppieWorks 2.0is,
of course, the model for much of what we've been
talking about the last couple of months. But you
guys have developed your knowledge of AppleWorks
the hard way, by disassembling it and figuring out
how it works, It's news to all of us, for example, that
there’s 16-bit code in AppleWorks 2.0. Apple's press
release didn’t mention that, their advertising certainly
hasn't bragged about it, their developer tech support
people say it's not system software and they don’t
know anything about it, Claris says its not ready to
support it, and it's still the best-selling program in
the Apple I! world.
I think we would all welcome an AppleWorks with a
graphics interface if it was as fast as AppleWorks 2.0.
The problem here ts speed. If a graphics Interface
was as important as speed, MouseCalc and the rest
of International Solution’s software would stilt be
with us. But speed is far more important, except for
Software that can only be done well with a graphics
interface to begin with (drawing, graphing, desktop
publishing).
If AppleWorks 2.0 is the fastest software we're ever
going to get, well, that’s not too shabby, and, as you
point out, it runs on unenhanced Hes. | find ithard to
believe that spreadsheet recalculations and data
base sorting and word processor replacing couldn't
be markedly improved by rewriting it all in 65816
machine code, however. The problem is that Apple
has managed to convince the people who have to
elt software that only graphics-based programs are
worth selling. Now if it could just convince the people
who buy software that speed Isn't important, alt
would be right with its vision of the world.
The reason for the ligs defeater patch is to force
AppleWorks (both 1.3 and 2.0) to expand into an
Apple-siyle standard-slot memory card on the figs,
which it wil! absolutely refuse to do othenvise. We
appreciate knowing the RAMifications and that we
can delete the two SEG files we don't need from our
RAMdisks.
ligs defeater defeated
I cannot help feeling that there is something wrong
with your patch to make AppleWorks think a Ilgs isa
lle (page 3.86). APLWORKS.SYSTEM is only 8,531
bytes long; in this light, your B parameter of 15605
seemsa bit out offine.
You may be pleased to leam that I have urged all my
friends to buy their own Open-Apple subscriptions
(mainly so they will stop borrowing my copies.) This
should mean another $100 or so for you if they carry
out their threats.
Jerry E. Kindall
Grove City, Ohio
3.96 Open-Apple
Yep, those B parameters are about $2000 too high.
Not only that, one of them points to a JMP following
the JSR $FELF rather than to the JSR (it would stilt
work, butit’s not what we said to do). Get your pencil
and change the B parameters shown on page 3.86
to:
BS03: (V 1.3)
We don’t mind you loaning out your copies; what
bothers us is people who make photocopies without
paying the required fees (15 cents per page per
photocopy).
More database crashes
Your latest newsletter arrived just before | was
going to sit down and write you a letter about a new
bug | found in AppleWorks 2.0. Itappears that Eugene
Whitehouse ("Database crash lead,’ December, page
3.87) has also had the same problem. | have some
more information that may help. I now have two
failure examples from the same large data base.
‘The first case had eight report formats. When I went
through the data on the disk. the number-of formats
byte in the header still said eight, but there were only
two formats on the disk. In the second case, the
header said the file had eight formats, but there were
only three. Something is causing report formats to be
dropped in multiples of 600 bytes at a time. It
appears to be a function of how full a disk is. 1 can
save to a disk and get an unreadable copy when the
disk is full with a previous copy of the file. IF reformat
the disk and save the same file the copy is readable.
Open-Apple
{is waten, sited, putiished, and
© Copyright 1988 by
Tom Weishaar
5408 (V 2.0)
wth help rom
Tom Vanderpool Sally Dwyer
Dennis Doms Steve Kelly
Most ghis reserved. Al programs publshed in Open-Apple are pubic
‘domain and may be copied and disvtuted without charge. Apple user
soups and sqriicant ers may odin permission lo repent ances tom
time tine by speciic wniten request
fe has boon pubichod morthly sce Jamvary 1985. Word-
Wide prices (in US. dois; airmail celvery incuced at no addtwona
charge) $24 far 1 year, $44 fr 2 years; $50 or 3 years. Al back issues ave
couenty avaiable fr $2 earn; bound , indexed ecrions of our firs hres
values ar $14.95 each, Volumes end wit the avery issue; an index
‘ar the prior volume is nuded wth the February issue
Please send all comtespordence lo:
Open-Apple
P.O. Box 7651
Overland Park, Kansas 66207 U.S.A.
Open- Apple 's available on disk lor speech synihesizer users [rom
‘Speech Enterprises, P.O. Box 7986, Houston, Texas (713-461-1666).
‘Open Apple's Sol in an unprolecied lormat for your corverience. You
«ue encouraged to make back-vp archival coins or easy ore enlarged
cups for your own use wihou! charge. You ray aso copy Open-Apple
for disiouion io otte's. The cstrbucon fee i 15 cons per page pe Sopy
stoves.
WARRANTY AND LIMITATION OF LIABILITY. | warrant that most of
‘he intorition in Open-Apple s vst.) and caret, altough dive and
‘mistakes are incucied [rom lime \o time, usually unintentonaly. Unsatisfied
‘subscribers may cancel their subscription al any time and seceive a full
telurd of he last subscripton payment. The urllled porton ol any paid
‘subscription wil be refunded even io salistied subscribers upon request,
MY LIABILITY FOR ERRORS AND OMISSIONS IS LIMITED TO THIS
PUBLICATION'S PURCHASE PRICE. In no case shall | or my contributors
be Fiabe for any ieicental or consequential damages, nor for ANY
damages in excess of the {ses paid by 2 subscriber
ISSN 0885-4017
Printed inthe U.S.A,
1am mystified as to what is causing the problem.
Curing the problem is as simple as identifying the
number of formats that are really on the disk and
correcting the number-of-format bytes to match.
However, you do Jose the missing report formats
permanently.
Sidney A. Powers
Valencia, Calif.
We also have another letter from subscriber Brendan
Hoar documenting the problem. It seems to happen
only when a data base fite is saved onto an almost
full 5-1/4 floppy. One fact we can't sort out from the
letters we've seen is whether Applied Engineering's
AppleWorks expansion software is required to make
the bug appear. If any of you are able to replicate the
bug, please do some tests with and without modified
software and tet us know what happens.
ligs Smartport bug
Lrecently discovered a bug in both the original and
version 01 IIgs ROMs. The problem occurs when you
make a Smartport call to the firmware in slot 5. The
firmware destroys locations $57 through $5A on the
caller's direct page. This only occurs with Smartport
calls (Le,, calls to $C50D), not ProDOS calls (calls to
$C50A), The old ROM sets the direct page to $0000
Prior to executing the offending code; this results in
$57 through $59 on the “true” zero-page being
trashed. The new ROM does not change the direct
Page, so $57 through $5A on the user's direct page
are destroyed.
Itis ironic that just a few instructions after this code
the firmware calls a routine that saves all the zero-
Page locations that it will be using.
Alan J. Silver
Yorba Linda, Calif.
Backup bit clearing
How are you supposed to clear the backup bit ina
file's ProDOS directory entry? The ProDOS Technical
Reference Manual, p. 172, states: “ProDOS sets bit 5,
the backup bit, of the access field to 1 whenever the
file is changed (that is, after a CREATE, RENAME,
CLOSE after WRITE, or SET_FILE_INFO operation).
This bit should be reset to 0 whenever the file is
duplicated by a backup program. Note: Only ProDOS:
may change bits 2-4; only backup programs should
ear bit 5, using SET_FILEINFO.”
According to the first sentence, calling
SETFILEINFO will set the backup bit; the last
Sentence says that you should use SET_FILE_INFO to
clear the backup bit. How can SET_FILE_INFO clear
the backup bit if it always sets it?
Paul Lucas.
Levittown, N.Y.
Subscriber Paul Santa-Maria asked this same
question, but also pointed out that on page 94 of the
manual, in the explanation of the System Global
Page, there appears the following entry:
8F95: BUBIT OFB S¢@ ;controls use of baciup bit
Dennis figured out that to clear the backup bit you
need to store a$20 in BUBIT, then call SET FILE_INFO.
This bit of information seems to be missing from all
versions of the ProDOS 8 technical manuals. ProDOS
16 has a whole new command for this,
CLEAR_BACKUP.BIT. For more, see the October issue
of Apple Assembly Line, page 26. Santa-Maria sent
the same question there and Bob Sander-Cederlof
also figured out the answer, which he explains in
more detail.
Vol. 3, No. 12
Advanced interface bugs
During the past three years, we have written printer
and interface drivers for Time is Money (Turning Point
Software), Sideways (Funk Software), and Publish-IT!
(Timeworks). When we write these drivers, we try to
follow existing standards. Our specific intent is to
send data through the interface without any translation
by the interface card. In the good old days, when
standards were largely ignored, we would write data
directly to the hardware ports of the Super Serial
Card.
When Apple released the lic, which wasn't compatible
on a hardware level with the Super Serial Card, we
wrote a second hardware-evel driver. For the IIgs we
wrote a driver that uses the Pascal interface. We prefer
the Pascal interface over the Basic interface for two
reasons. First, we can initialize the card without
sending any data to the output device (JSR$Cs00, the
Basic interface initialization, always sends the character
in the accumulator to the printer or other output
device). Second, we can initialize the interface without
the risk of hanging the computer, With the Basic
Interface, if the printer is offline, the program will
hhang when you try to send data to it With the Pascal
interface, it is possible to check the status of the
output port before sending data,
Unfortunately, the Pascal interface cannot be unl-
versally used because of bugs in the Super Serial
Card and the original !Ic ROMs.
Revision 1 IIc ROMs (the models that don't support
3.5 drives) will not correctly retum status because ofa
missing CMP #$10 at $C227 in the firmware. The
result is that the status may be okay, but the result of
the status call says it isn’t This prevents using the
Pascal interface with early ics.
With the Super Serial Card, if you print with one
program using the Pascal protocol and then print with
a second program without resetting or turning off the
Apple, the second program will print without line
feeds. When you initialize the interface via Pascal,
automatic linefeeds are turned off. When you lize
the interface via Basic, automatic linefeeds are
‘supposed to be turned on, but as you point out on
page 3.76, the Basic firmware won't reinitialize itself
except after power-up or reset.
‘The reason is that in the early days, some pro-
grammers sent all data to the printer by repeatedly
calling $Cs00, rather than making a single call to
$Cs00 and subsequent calls to address left in the
output hooks at $36, which is the correct Basic
protocol. In order to protect programmers who
repeatedly called $Cs00, the Super Serial Card had to
be designed so that it didn't really reinitialize itself
after every call to $Cs00,
Bruce D. Rosenblum
‘Taming Point Software
Boston, Mass.
Repeatedly calling $Cs00 on the ligs will cause it
torepeatedly reinitialize itself (which makes interface
command codes seem not fo work), So it’s time for
programmers to lear how to correctly use either
the basic interface or the advanced (Pascal) interface.
It's possible to solve the second problem you identify
by using the Super Serial Card Reset command as
Part of your quit routine. See page 5.76 for an
example of this; unfortunately, you have to send the
command through the basic interface; the advanced
interface ignores this command. Thanks for warning
us about the status bug in the early lic. As you point
out, it makes writing a single, universal interface
driver difficult to impossible.