Text content (OCR)
Volume One/Number One March/April 1980.
O R CC H A R D
THE APPLE NEWSMAGAZINE OF THE FIFTH ANNUAL WEST COAST COMPUTER FAIRE
Introducing
INTERNATIONAL
APPLE CORE”
=
In this issue:
= What is a User Group? = Programs and Features
Published by the International Apple Core in cooperation with:
* Apple Bay Area Computer Users Society «
ad vis S.F Apple Core « oe
* Apple Pugetsound Program Library Exchange «
eHouston Area Apple Users Group «
¢ Michigan Apple ¢ Original Apple Cores «
* New England Apple Tree «
Philadelphia Apple User Group * Washington Apple Pi
SUP*R° TERMINAL
SUP’R’TERMINAL IS AN 80 COLUMN BY 24 LINE PLUG-IN
COMPATIBLE BOARD FOR THE APPLE || COMPUTER
SPECIFICATIONS
80 Columns by 24 lines, upper and lower case; all
128 ASCII characters.
Upper and Lower case data entry using the APPLE II
keyboard.
Includes an Upper and Lower case 5x8 dot matrix
ASCII character set, and inverse alpha characters.
Character set can be user definable
Includes VBC™ (video balance circuit) which enables
the use of displaying 80 columns on an inexpensive
8 MHz CRT monitor
Shift Lock Feature
Works with APPLE PASCAL and APPLE BASIC
PATENT PENDING
* Incorporates PASCAL and BASIC control characters
¢ ALL monitor-type escapes are valid
¢ Follows protocols of PASCAL and BASIC operating
systems
° Compatible with ALL APPLE II peripherals.
Effective baud rate greater than 10,000; fast scrolling
and clearing
¢ Synchronous operation with APPLE II
¢ Can beused with APPLE Il communication interface
board to act as self contained terminal for time-
sharing or other applications.
M&R ENTERPRISES
P.O. BOX 61011, Sunnyvale, CA 94088
Solve your
personal energy crisis.
Let VisiCalc"Software do the work.
With a calculator, pencil and paper you can spend hours plan-
ning, projecting, writing, estimating, calculating, revising, erasing
and recalculating as you work toward a decision.
Or with the Personal Software” VisiCalc program and your
Apple* II you can explore many more options with a fraction of
the time and effort you've spent before.
VisiCalc is a new breed of problem-solving software. Unlike
prepackaged software that forces you into a computerized
straight jacket, VisiCalc adapts itself to any numerical problem
you have. You enter numbers, alphabetic titles and formulas on
your keyboard. VisiCalc organizes and displays this infor-
mation on the screen. You don’t have to spend your time
programming.
Your energy is better spent using the results than get-
ting them.
Say you're a business manager and want to project
your annual sales. Using the calculator, pencil and paper
method, you'd lay out 12 months across a sheet
and fill in lines and columns of figures on
products, outlets, salespeople, etc. You'd cal-
culate by hand the subtotals and summary
figures. Then youd start revising, erasing
and recalculating, With VisiCalc, you simply
fill in the same figures on an electronic
“sheet of paper” and let the computer do
the work.
Once your first projection is complete,
you're ready to use VisiCalc’s unique,
powerful recalculation feature. It lets you
ask “What if?’ examining new options
and planning for contingencies. “What if”
sales drop 20 percent in March? Just type in
the sales figure. VisiCalc instantly updates
all other figures affected by March sales.
Or say you're an engineer working on a design problem and are
wondering “What if that oscillation were damped by another 10
percent?” Or you're working on your familys expenses and
wonder “What will happen to our entertainment budget if the
heating bill goes up 15 percent this winter?” VisiCalc responds
instantly to show you all the consequences of any change.
Once you see VisiCalc in action, you'll think of many more
uses for its power. Ask your dealer for a demonstration and dis-
cover how VisiCalc can help you in your professional work and
personal life.
You might find that VisiCalc alone is reason enough to
own a personal computer.
VisiCalc is available now for Apple II computers with
versions for other personal computers coming soon. The
Apple Il version requires a 32k disk system.
For the name and address of your nearest VisiCalc
dealer, call (408) 745-7841 or write to Personal Software, Inc.,
592 Weddell Dr, Sunnyvale, CA 94086. If your
favorite dealer doesn'talready carry Personal
Software products, ask him to give us
acall.
VisiCale was developed exclusively for
Personal Software by Software Arts, Inc
(Cambridge, Mass.
‘TM-WVisiCale isa trademark of
‘ Personal Software, Inc
“Apples a registered trademark
‘of Apple Computer, nc.
MOVING DATA AT A SNAIL'S PACE
BECAUSE YOU'RE FLOPPY BOUND?
Let Corvus Systems put you back in the race!
= For TRS-80f, Applet (including Apple
Pascal), S-100 Bus—and now LSI-11.
= Fully compatible hardware/s oftware.
= 10-million byte disk: IMI-7710
= Proven Winchester technology.
= 2-80 based Corvus disk controller.
Comprehensive disk diagnostics.
ip to 4 disks per system.
ystem $5350 (LSI-11 $5950),
#TRS-80 isa registered trademark of Radio Shack, a Tandy Co.
+PApple isa registered trademark of APPLE Computers, Inc.
900 S. Winchester Boulevard
CORVUS SYSTEMS, Inc. BESRhemertoniree)
408/246-0461
QUESTIONS
& ANSWERS
FROM
SSM
“What equipment can be used with the
AIO?”
Since the introduction of the AIO Serial &
Parallel Apple Interface in September 1979,
thousands of units have been sold to interface
the Apple with a variety of printers and
terminals. A partial list of devices that have
actually been tested with the AIO includes:
IDS 440 Paper Tiger
Centronics 779
Qume Sprint 5
NEC Spinwriter
Comprint
Heathkit H14
IDS 125
IDS 225
Hazeltine 1500
Lear Siegler ADM-3
DTC 300
Ad 841
“Will the AIO work with a PAPER
TIGER at 1200 baud serial?”
Yes. The AIO has 3 handshaking lines for
serial connections. The baud rate can be set
with a rotary switch to 110, 300, 600, 1200, 2400
and 4800 baud. (Ask for a data sheet for more
details on how to go up to 19,200 baud.)
“Does the AIO work with Pascal?”
Yes. The current AIO serial firmware works
great with Pascal. If you want to run the
parallel port, or both the serial and parallel
ports with Pascal, order our “Pascal Patcher
Disk”.
“I’m an OEM with a particular need. Can
Pee
— "you that
ce _—
ce . ee eo
sta
p aan ee
La _ meh be ) you can connect: ane
ES a so an ay
o Swit
dard baud rates. On board firm-
rar’ pe a powerful driver
| This interface can be used to connect your
Apple to a variety of parallel printers. The §
_ programmable I/O ports have enough lines |
to handle two printers simultaneously with
handshaking control. The users manual
includes a software listing for controlling
parallel printers or, if you prefer, a par-
allel driver routine is available in firm-
ware as an option. And printing is
only one application for this general
purpose parallel interface.
Two boards in one.
SSM help me?” The AIO is the only board on the market that can interface the Apple
to both serial and parallel devices. It can even do both at the same
time. That's the kind of innovative design and solid value that’s been
going into SSM products since the beginning of personal computing.
The price, including PROMs and cables, is $135 in kit form, or $175
assembled and tested. See the AIO at your local computer
store or contact us for more information.
74
AT]
2116 Walsh Avenue
Santa Clara, California 95050
(408) 246-2707
Yes, The AIO is just one of several boards for
the Apple that SSM will be introducing over the
next year. We are also receptive to developing
products to meet special OEM requirements. So
please contact us if you havea need and there is
nothing available to meet it.
SSM will soon be moving to a new and larger
facility in San Jose. Look for our new address
and telephone number in our ads in Byte
magazine, page 11.
We welcome inquiries from new dealers,
distributors and OEM’s.
Please send in any suggestions, or applications
information (AIO uses, printer and terminal
hook-up diagrams, etc.) or your ideas for new
products. We welcome your comments!
G
mai
Enhance your APPLE to give you
and your family more use and value
of your current hardware than you
thought possible through THE
SOURCE . . . the world’s first infor-
mation and communication utility
for microcomputers.
As Near As Your Telephone
With a simply accoustical connec-
tion to your telephone, your APPLE
can become a part of a vast informa-
tion and communication network
which now serves thousands of home
and business computers through
a local phone call in over 300 U.S.
cities.
From UPI, New York Times
to Local Entertainment
Guides
With THE SOURCE’s on-line key-
word access, you can have important
information sources in your own
home the United Press Interna-
tional wire service, over 5,000 infor-
mational abstracts from the New
York Times Consumer Data base,
stock market reports, restaurant and
entertainment information, dozens of
sophisticated computer games, edu-
cational programs, travel information
and reservations, a discount buying
service and hundreds of other
information and entertaining services.
Instant Nationwide
Communication with Other
Personal and Business
Computers
With your SOURCE network sub-
scription, you will have the capability
ve
n
your APPLE’
rame power
: d
and give your whole family a world of information, education,
entertainment and communication with the first information utility.
of instant nationwide communication
with thousands of other microcom-
puter users on THE SOURCE network.
Use it to transmit programs and data,
to relay business information, or
simply to chat with friends ata
fraction of the cost of other message
systems.
Expand Your Capacity for
Programming and Storage
Through Mainframe Power
For your larger or more compli-
cated programs, THE SOURCE offers
you the ability to upload and down-
load information to a large mainframe
with unlimited storage capacity. You
can program in FORTRAN, COBOL,
EXTENDED BASIC, and RPG II with
your APPLE and you'll never have a
capability or a capacity problem
again.
The Source . . . Easy to Use
for Your Whole Family
You don’t have to be a computer
whiz to enjoy THE SOURCE’s many
information, entertainment, and com-
munication advantages. All SOURCE
services and information resources
can be accessed in plain English with
absolutely no prior knowledge re-
quired of computer programming so
the whole family can enjoy full use
and value.
The Source . . .
An Affordable Compliment
to Your APPLE System
You'd pay thousands of dollars to
duplicate the information and en-
tertainment programs THE SOURCE
offers. But THE SOURCE costs as
little as $2.75 per connect hour (non-
prime time), giving your family a
value which is impossible to beat.
Find Out How The Source
Can Give More Power and
Value to Your APPLE
To find out how THE SOURCE’s
many features can expand and com-
plement the value of your APPLE
and how easy it is to connect to the
world’s first information utility,
simply complete the coupon below or
call our toll-free information hotline.
There’s no obligation.
Information Utility
Free Information Request
lease send me your free guide to THE
SOURCE Information Utility for personal
computers. | understand that | am under no
obligation.
CO I currently have a home computer.
MAKE: ______, MODEL.
C1 Please send me information on com-
patible home microcomputers including
the special low-cost equipment packages
offered by THE SOURCE.
NAME
TADDRESSH
cry
stare: —_____z1.
Please mail this coupon to:
THE SOURCE
1616 Anderson Road™ McLean, Va 22102
Toll-free hot!
MARCH/APRIL 1980
LZ" WHAT IS A USER GROUP
by
Val J. Golding
To define user group, we must first define user. Very simply a
user is an individual who has purchased or otherwise acquired a
product. Webster defines user as “a person or thing that uses”. In
the context to which we refer herein, user means an Apple II
|computer user. Further, in our own definition user group implies
in our own definition, user group implies a gathering or associa-
tion of people with a common goal: to share with the others the
knowledge in various areas that individuals may have gained.
Currently in the United States, it is estimated that there are.
between 50 and 100 active Apple computer user groups. User
groups are not restricted to Apple users by any means. There are.
also a number of groups devoted to the Pet, TRS80, etc.
In addition, going back a bit further there were (and still are)
computer c/ubs with a wider range of interest, i.e., not devoted to
a specific brand or type of computer. These clubs were built
around first generation microcomputers such as Imsai, Sol, etc., a
breed which for the most part require some background in com-
puter technology.
These micros are not what the consumer expects today of ma-
chines like Apple or Exidy, where one can walk into a computer
store, plunk down a thousand or so and walk out with a computer
that can be taken home, plugged in and immediately be put to
use.
In the mid 70’s, buying and assembling a microcomputer was
akin to buying and assembling a stereo system, taking it home
and plodding your way through a maze of wires and manuals,
hoping that your pride and joy eventually would “run”. Out of
this was born the first “user groups”, the computer clubs of the
period. These clubs were of necessity hardware-oriented.
Today the user group has taken on a new meaning and signifi-
cance; they are groups where now the primary accent is on soft-
ware and the exchange of information more closely allied to pro-
gramming and operation.
To understand the functions of a user group, it is necessary to
look at some of the groups that are acknowledged as leaders and
that were among the earliest formed.
The first group around, to the best of our knowledge, was the
Original Apple Corps in Los Angeles. They existed as early as
December, 1977. Other groups that qualify as “pioneer” Apple
user groups include the San Francisco Apple Core and Seattle’s
Apple Pugetsound Program Library Exchange. It was only natural
that as the microcomputer industry developed on the west coast,
that the first user groups would be from that area.
We have requested that each of the groups that contributed to
the formation of the International Apple Corps furnish us with a
bit of history and background on their respective organizations.
Those vignettes follow here.
THE APPLE ORCHARD
PAGE 7
ORIGINAL APPLE CORPS
by
Kip Reiner
The Original Apple Corps was founded by AVIDD Electronics
in Long Beach, CA. Sandy Tiedeman was the first president of
the club. He organized the first meeting of the Original Apple
Corps in December 1977. This gave the Original Apple Corps the
distinction of being the first Apple computer club in the country.
The Los Angeles area was the early hot bed of activity for the
Apple II as shown by an increase from six members at the first
meeting to over thirty at the second meeting a month later.
The Original Apple Corps has held two meetings at computer
shows with very good results: The April 1978 meeting was held
at the Percomp Computer Show in Long Beach. Over one-hun-
dred members listened to Phil Roybal, marketing manager for
Apple Computer, Inc. as he showed the Disk II prototype with a
makeshift operating system which had to be loaded into memory
in three different segments. At the third West Coast Computer
Faire in Los Angeles, the November 1978 meeting was held.
Over three hundred members in a packed meeting room listened
to Steve Wozniak, the designer of the Apple computer, as he told
about the history of Apple Computer, Inc.
The Original Apple Corps meets on the second Sunday of the
month in Lecture Hall 151 at Cal State University, Long Beach,
at 12:00 noon. They use an Advent color projection television for
video display along with black and white monitors along the
sides of the room. Free software is given out at most meetings
normally consisting of a full disk. In over two years of monthly
meetings, the Original Apple Corps has had representatives of
many major hardware and software manufacturers as speakers.
The Original Apple Corps has made available a ready to run
library with over 500 programs on disk for a nominal charge.
These include programs in business, scientific, education, util-
ities, and games.
This month marks the one year anniversary of the Original
Apple Corps magazine “Applesauce.” Our club is very proud of
the magazine as a major source of information about the Apple
computer and related products. In the last year the magazine has
had numerous articles on programming in BASIC, Pascal, and
assembly languages. The editor of “Applesauce,” Randy Hyde,
is very experienced in Pascal. Both software and hardware reviews
are included as regular features. In a recent issue Hi-res graphics
was presented in depth.
The Original Apple Corps has an electronic bulletin board
system up and running as an information exchange for Apple
Computer users.
The club welcomes all hardware and manufacturers to speak
at our meetings.
Information on membership, subscriptions to ‘‘Apple-
sauce”, and the program library are available at the following
address:
Original Apple Corps
12804 Magnolia
Chino, CA 91710
Kip Reiner
President
Original Apple Corps
DOES “GET” GET YOUR GO.
In APPLESOFT when using the “GET” command in conjunction with DOS, follow it
with a PRINT, else GET tends to do nasty things and mess up your DOS.
PAGE 8
THE SAN FRANCISCO APPLE CORE
by
Ken Silverman
The APPLE CORE OF SAN FRANCISCO is a non-profit or-
ganization comprised of and supported by Apple II Computer
owners. The Apple Core is run entirely by volunteer officers and
committees. The club endeavors to aid other APPLE owners. All
members are individuals (and their families), and NO shops, stores
or corporations are directly registered. (However, any shop may
register an employee c/o that shop).
MONTHLY MEETINGS are held at Homestead Savings, at
5757 Geary Avenue, in San Francisco (at the corner of Geary and
22nd Avenue). Meetings are held on the first Saturday of each
month at 10:00 a.m.
THE CIDER PRESS is the official publication provided to the
membership February through June, and September through De-
cember. Included are program listings, tips, special features, re-
views, editorial comment . . . The “Best of the Cider Press’ is
published every January. “Apple Peelings’ takes over in July and
August with an abbreviated, format consisting of minutes of
meetings, Disk of the Month listing, product information and any
News Flashes.
The APPLE CORE LIBRARY of contributed programs is
arranged by general categories. Members living in the San Fran-
cisco Bay area may copy programs from the library at the fol-
“lowing locations:
Village Electronics
- 668-4243
Computerland of San « 546-1592
Computerland of Belmont. . « 595-4232
Computerland of Marin . . . - 459-1767
Computerland of the Castro - 864-8080
AIDS - 221-8500
Courtesy and common sense dictate that a member call in
advance to reserve use of required equipment. The stores pro-
vide this service without charge. (Their aid helps us survive, so
remember to return the favor with your patronage. The local
stores have been VERY HELPFUL).
Out of area members can get programs from the library
through the mails in the following manner:
1. A member is required to donate at least one original or public
domain program (not Copyrighted, please).
2. Donated programs must be sent on a disk or a computer tape
placed in a self-addressed, stamped proper mailer, suitable for
returning the disk or tape. Please use a Program Submission
form. Include a note indicating the desired volume from the
library that you would like to have copied. Carefully package
the mailer and Note:
CONTAINS LIVE COMPUTER PROGRAMS — DO NOT EX-
POSE TO X-RAYS OR ELECTRICAL FIELDS — DO NOT
BEND OR FOLD.
Send to:
The Apple Core
Library Exchange
P.O. Box 4816
San Francisco, CA 94101
INFORMATION/APPLECATION
Please follow instructions as we do not want to see your disks
or tapes ruined any more than you do. Only one library disk or
tape will be processed per month. (The DOM-Disk of the Month
is considered separately).
.. The complete LIBRARY #1 is available to members for $150.
Over 340 programs on 20 diskettes are packaged in diskette hol-
ders, and bound in a SF Applecore binder. Over 30 pages about
the library are included.
THE APPLE ORCHARD
MARCH/APRIL 1980
The DISK OF THE MONTH is a group of recently donated
programs or updated utilities, etc. It was originated to encourage
new members to be able to write programs by having examples
to study and enjoy.
Members unable to come to the meetings can send in $7.50
(US) for the current DOM which covers the cost of the disk,
mailing and handling. Three past months are also available for
$7.50 each.
Members who come to the meetings can obtain the same
DOM’s for $5.00 each. Prices are subject to change.
NOTE:All programs on the DOM’s go into the library according
to category. The stores do not have the COM’s on file.
Current interest groups include NU’ERS (for new users), AS-
SEMBOLEERS, CAI (Computer Assisted Instruction), Personal
Finance, Medical & Health, DOS (Disk Operating Syntax), In-
come Tax Programmers, etc., etc.
APPLECATION FORM
Check One:
NAMES oe ce memes co om ess cw oe New Member
ADDRESSS sx: ca-enge avin eee an CO Renewal
sie bass brags ah sua) re oe con ves ey hee a0 1 Address Update
——— O Newsletter Trade
at Header ae aes even ak oka es Se (Subject to Approval)
PHONE NO vescsieawwrcres ase
MEMBERSHIP RATES:
$15.00/yr. USA-Newsletter sent 3rd class
$20.00/yr. Foreign-Newsletter by surface mail
$25.00/yr. Foreign-Newsletter by air.
Send check or money order, US only. Send no cash!
NOTE: In April yearly dues will be paid by all members. Amount
will be pro-rated on your renewal date.
STOCK MARKET SYSTEM
For The Apple II With Disk II
Individual Chart/12 Week Running Average
¢ INDIVIDUAL CHARTS
* COMPARISON CHARTS IN COLOR
© RUNNING AVERAGES PLOTTED AND ERASED
© RESISTANCE/SUPPORT LINES PLOTTED
© MAINTENANCE PROGRAM MAKES IT EASY TO
UPDATE DATA, HANDLE STOCK SPLITS, ETC. ..
* ONE YEAR’S WORTH OF WEEKLY STOCK DATA
(HIGH, LOW, CLOSE & VOLUME) ON YOUR CHOICE
OF ANY STOCKS ON THE NYSE OR AMEX
* PROGRAMS & MANUAL. - $79.95
STOCK DATA.. $9.95 per stock
MANUAL ONLY $4.95
* FOR MORE INFORMATION VISIT YOUR LOCAL
COMPUTER STORE OR WRITE DIRECTLY TO:
RTR SOFTWARE, INC.
DEPT. AO1
P.O. BOX 12351
EL PASO, TX. 79912
(915) 544-4397
MARCH/APRIL 1980
APPLE PUGETSOUND PROGRAM LIBRARY
EXCHANGE
by
Val J. Golding
It is curious, in retrospect, to examine ones past and attempt
to determine what went wrong or what went right. As one might
surmise, there is no one single factor responsible for the current
popularity of Apple Pugetsound.
Certainly there was no hope or expectation on behalf of
A.P.P.L.E.’s founders that the group would grow to its present
strength of well over 3000, or that it would achieve the measure
of acceptance that it has, nearly strangling to death along the
way, under the burden of a staggering work load.
If any single factor can be held to account, it would have to
have been the news releases printed in the summer, 1978 issues
of magazines such as Byte and Kilobaud, at a time when Apple
users were starving for information of any kind about their new
computers, and user groups were few and far between.
Even by June of 1978, Call —A.P.P.L.E., this group’s news-
letter, had grown to 16 pages in size, amd was acquiring some of
the ear-marks of a “real” newsmagazine. No doubt the many sam-
ple copies mailed out at that time provided the impetus for the
growth that was to come.
Also in mid-1978, A.P.P.L.E. implemented the concept of
“Library Paks”, the popular format in which 20 or more assorted
programs were made available to the members on a single low
priced cassette. This author, in collaboration with Darrell Aldrich
and numerous other individuals also conceived and wrote the
“Programmer's Workshop”, a collection of handy Integer Basic
utility routines, one of the earliest of it’s type.
On April 10, 1979, Apple Pugetsound Program Library Ex-
change was incorporated as a Washington state non-profit corpor-
ation. That status continues currently, and none of the officers
draw compensation for their services, despite the long and hard
hours turned in by all. The membership and order office cur-
rently processes over one hundred pieces of mail daily, the rou-
tine portions of which is handled by a full time contract em-
ployee. The other divisions, production and shipping, treasury,
and editorial are similarly staffed.
Today, Apple Pugetsound has achieved a vast reputation for
its high quality software and documentation. Call —A.P.P.L.E.,
now a slick cover 56 page newsmagazine is available at computer
dealers throughout the country, and is read by A.P.P.L.E. mem-
bers in more than 20 countries. It too is known for its quality
of content, and is considered by many as the authoritative source
of Apple computer information.
Last, but not least, through the “Call —A.P.P.L.E.” hot line,
the club provides its members with a useful inquiry and informa-
tion service, ranging from answering or referring programming
problems to current events and new product information.
It is not inexpensive to join, but the benefits far outweigh the
cost. There is currently a one-time Apple-cation fee of $25.00
and annual dues of $15.00 through December, 1980, for a total
of $40.00. Members joining at any time during 1980 will receive
all 1980 issues of Call —A.P.P.L.E at no additional cost. Checks
should be made payable to “A.P.P.L\E.” and mailed to our new
address, which may be determined by calling (206)271-6939.
New members will receive by return mail an Apple-cation
blank, order form and description sheets of the various softwaré
and publications available.
THE APPLE ORCHARD.
PAGE 9
THE PHILADELPHIA APPLE CLUB
by
Neil Lipson
The Philadelphia Apple Club was started in Feb., 1978 by Neil
D. Lipson. Since then it has expanded to include numerous small
clubs, and membership in total exceeds 200.
Dues for the Philadelphia branch are only $10. At present
there is no newsletter. The meetings are held the third Saturday
of each month, at LaSalle College in Philadelphia, 11:00 a.m. and
last about three hours.
There are numerous subgroups, among which include machine
language, music, education, scientific, hardware, graphics, utili-
ties, video, and light pen. The group is very eager to help and assist
other groups in other areas of interest.
About two diskettes of programs are distributed each month,
consisting of public domain software only. Disks are distributed
at the meetings only, at present.
The meetings are held in a somewhat formal fashion, with an
introduction, description of new events and news, new products,
and then new software, with a question and answer session at the
end. Periodically, we have speakers to give talks on various topics.
We also coordinate closely with the Philadelphia Area Com-
puter Society, which meets with us at LaSalle College, in projects
than can be used on the Apple as well as other computers, and
there is a close interaction between PACS and the Apple Club.
PACS has in excess of 350 members (excluding Apple owners).
PACS was formed in 1977 by Dick Moberg, and the present presi-
dent is Eric Hafler, also a member of the Apple group.
THE MICHIGAN APPLE
The Michigan Apple is the most prominent Apple users group
currently active in Michigan. The group is most visible through a
newsletter that they publish 10 times a year. They also conduct
meetings 10 times a year on the last Tuesday of the month at
alternate computer stores in the metropolitan Detroit area. They
discuss club business and new products and applications for the
Apple.
Additional activities conducted through the Michigan Apple
include the following: Club disks of original programs donated
by members are made available to the members. Meetings o f
members with a common special interest are held periodically in
member’s homes. The club also offers meetings of System Anal-
ysis Groups (SAGs) that explore many aspects of the Apple com-
puter in depth. A library of periodical and newsletter material is
also maintained and cataloged for the use of members in. doing
research.
To receive the Michigan Apple-Gram (our newsletter) or to
join the club for the various other activities, here is the current
address,
THE MICHIGAN APPLE COMPUTER CLUB
P.O. BOX 551
MADISON HEIGHTS, MICHIGAN 48071
CONVERT WITHOUT DISK
If you have an Apple Com Card and a printer with tape punch
and read you can convert Integer Basic to Applesoft by punching
tape from an Integer program listing and reading back into Apple-
soft.
PAGE 10
APPLE BAY AREA COMPUTER USERS SOCIETY
(ABACUS) < AB-A-CUS>
THE ABACUS group is located in the San Francisco East-Bay
area, specifically, Castro Valley, Calif. The club meets on the 2nd
Monday of each month, at 7:00 p.m. Our group is approximately
200 strong and growing.
The ABACUS-II (NEWSLETTER) is.published monthly and is
included in the annual membership fee'of $12.00.The ABACUS
library contains in excess of 500 programs and is available to all
members, local or out of state.
Additional information may be obtained by writing Larry
Danielson, club treasurer at 5302 Camino Alta Mira, Castro Val-
ley, CA 94546,
ABACUS OFFICERS: President . . .Ed Avelar 2850 Jennifer
Dr., Castro Valley, CA 94546 — (415) 538-2431. Vice President
... Stephen Shank (415) 820-4374. Secretary .. . Dave Wilkerson
Treasurer . . .Larry Danielson 5302 Camino Alta Mira, Castro
Valley, CA 94546. (415) 581-2748. Librarian . . .Bill Walsh.
The ABACUS is a founding member of the I.A.C. (INTER-
NATIONAL APPLE CORPS).
MEMBERSHIP APPLICATION FORM:
ADDRESS iw :nchrmessesevmin nde ine ieste, nap se tn tae. mini ese neaseonseemenensie:
CITY, STATE, ZIP
Phone Hhome
Phone Hwork .
Occupation ... . en bene oe bene
Mail to: ABACUS, 2850 Jennifer Dr., Castro Valley, CA 94546.
WHAT IS THE INTERNATIONAL APPLE CORPS
by
Ken Silverman, Secretary
On October 27-28, 1979 a meeting was held in San Francisco
to discuss the formation of a non-profit organization to pass on
all forms of information, both hardware and software, from
Apple. user groups and users, software and hardware companies,
MEMOREX
Floppy Discs
Lowest prices. WE WILL NOT
BE UNDERSOLD! Buy any
quantity 1-1000. Visa, Mastercharge
accepted. Call free (800)235-4137
for prices and information. All
orders sent postage paid.
100 Foothill Blvd,
San Luis Obispo. CA,
93401. (In Cal. call
(805) 543-1037.)
THE APPLE ORCHARD
MARCH/APRIL 1980
and Apple Computer Incorporated. This is to provide a flow of
information in both directions through one organization for the
benefit of the end Apple users.
The meeting was attended by representatives of the larger
Apple user groups in the United States. At the end of the weekend
the “INTERNATIONAL APPLE CORPS” was formed. An interim
Board of Directors and Officers were elected, a basis for a consti-
tution and bylaws were formed, and organizational goals and ob-
jectives were set.
The International Apple Corps will be made up of Apple User
Clubs all over the United States with membership open to clubs
in other countries.
The International Apple Corps is set up to distribute public
domain software, application notes, general Apple information
and product information. There is also a committee just to help
persons who wish to start an Apple club.
In order for this organization to work, like your own club, it
needs funding. We plan to obtain monies from many areas and
user groups is just one of these areas. To keep us going we are re-
questing each club to send a “one time” $50 initiation fee for the
CLUB to be a member of the INTERNATIONAL APPLE CORPS.
At the first annual meeting in March, to coincide with the West
Coast Computer Faire, a dues structure will be set. After your
club joins it will be entitled to:
1. Access to an international library of programs
2. An input-output device for questions and problems on any
subject dealing with the Apple
3. Access to printed information
4. Reduced subscription rate for publication
Upon receipt of your $50 we will send the club a package that
contains most of Apple’s reference manuals (including the new
reference book), a collection of new application notes, and very
soon the distribution of software. If you have any questions you
can write us at our post office box, as shown on page 3.
sour
SPACE TRIP
prow
by
Mark Cross
You're zooming through space in your galactic scout. Souped
up ion generators have boosted you to six times the speed of
light. The stars are moving past your viewport.
But wait! This is impossible! Any old spaceship can go faster
than light, but you don’t know how to program your Apple to
make the stars move past the viewport. This program simulates
the view of moving stars seen by a fast spaceship.
There is a background of distant stars that are so far away they
seem to stay in the same place in the sky (lines 310-320). There
are ten stars close to the moving spaceship which seem to spread
out as the ship approaches. The math involved is simple. To make
a star move away from the center by a constant such as 4/3 in
line 420. The stars should move slower when they are near the
center of the screen, straight ahead and far away. Stars at the
edge of the screen will seem to move very fast and disappear off
the edge of the viewport.
The speed of the moving stars leaves something to be desired,
even though this is Integer Basic with only ten points to be
moved. You can make them move faster by using fewer stars in
line 400 or multiplying by a bigger constant in line 420. Cross-
hairs or a frame around the viewport would look good. More ad-
vanced programmers might try a machine language routine to
move the stars, or a shape table with an asteroid that grows in
scale as it moves closer to the spaceship.
NEW RELEASES FROM
SYNERGISTIC SOFTWARE
data management application.
personnel files, accounting programs, etc.
your own imagination,
The program uses fast and flexible mact
and-sort routines, provides for easy record
Modifi
Requires Applesoft, 48K disk
THE MODIFIABLE DATABASE
by Chris Anson & Robert Clardy
The Modifiable Database is a general purpose, user oriented
database program that can be easily customized for your specific
Create any number of application
Programs such as mailirg lists, bibliography files, inventory controls,
The only limitations is
e language search
ing, and can search
or print up to 2 disks of records with a single command. All
commands are invocable by a few keystrokes,
an easier to use or more flexible data management program.
1 Module 1 includes accounting/numeric functions
Modifier Module 2 includes output formatting functions
There's never been
PROGRAM LINE EDITOR
by Neil Konzon
The Program Line Editor is one of the
most powerful program editing tools avail-
able. Inserting, deleting, or replacing char-
acters within a line can be accomplished
with a few simple keystrokes without re-
entering the entire line, Lower case text
can be inserted into print statements with
a simple command.
The package also includes a keyboard
macro capability. You can assign common
commands or convenient routines to a key-
board character. Thereafter, pressing ESC
and that character will cause the function
to be executed. A complete set of macros
is provided for your use or modification.
These uniquely powerful capabilities
make programming in Integer or Applesoft
Basic twice as fast as it used to be. (16K)
HIGHER GRAPHICS
by Robert Clardy
Higher Graphics is a high resolution
graphics package that lets you create de-
tailed displays for business or game use
and add graphics effects to your software.
Package includes 3 utility programs, a text
explaining the use of high-res graphics for
display and animation effects, and sample
shape tables with over 100 of the more
commonly desired shapes. The programs
allow new shapes and shape tables to be
created and existing shape tables to be com-
bined, edited, or rearranged. The screen
manipulation program allows the simple
placement of shapes, areas cf color, and
text anywhere on the screen.
(48K Integer & Disk)
HIGH-RES TEXT
by Ron & Darrell Aldrich
Add colorful customized text to your
high resolution graphics displays. The High
Resolution Text Generator allows you to
define your own character sets with normal
or double sized characters. The defined
characters can be printed in the size de-
fined or in an expanded size. Large char-
acters can be printed in any of 10 colors,
the high res colors plus yellow, aqua, pink,
navy blue, and grey.
The text generator has all the features
of a normal text screen such as scrolling,
tracing over text with the cursor, etc. plus
full lower case capability with no hardware
modifications required. Use the character
sets provided (standard, countdown, side-
ways, etc.) or define your own for special
Purpose promotional displays, graphing, or
games. |
(Machine language routines require 16K)
ODYSSEY
by Robert Clardy
Embark on a heroic quest across the
dreaded Sargalo Sea stopping to explore
dangerous islands, caverns, and old castles.
Gather the forces and weapons that you
will need to destroy the fortress of the
cruel Caliph of Lapour.
Three interlocking programs using
several high-res and low-res maps provide
an unending variety of hazards, opponents
and adventures.
{48K Integer on Disk)
NOW AVAILABLE
GAMES —CASS_ DISK
Dungeon Campaign (1, 16K) 12.50 15.00
Dungeon Campaign (A, 32K) 12.50 15.00
Wilderness Campaign (1, 48K) 15.00 17.50
Dungeon & Wilderness (1, 48K) 30,00
Odyssey (1, 48K) 25.00
UTILITIES
Higher Graphics (1, 48K) 25.00
High Res Text (1A, 32K) 32.50
Program Line Editor (1,A, 16K) 37.50
BUSINESS
Mailing List Database (A, 48K) 34.50
Modifiable Database (A, 48K) 49.50
Modifier Module 1 15.00
Modifier Module 2 15.00
AVAILABLE AT YOUR LOCAL DEALER OR SEND CHECK OR INQUIRY TO SYNERGISTIC
SOFTWARE, 5221 120 AVE. S.E., BELLEVUE, WA 98006. WA RESIDENTS ADD 5.3% SALES TAX
PAGE 12
THE APPLE ORCHARD
MARCH/APRIL 198u
APPLESOFT INTERNAL ENTRY POINTS
by
Apple Computer, Inc.
From: Contact
John Crossley
CONTENTS
INTRODUCTION . .
ABBREVIATIONS
LABELS ..
TXTPTR INP! ee
TXTPTR TO INTEGER ROUTINE.
FLOATING POINT MATH PACKAGE
INTRODUCTION . .
REGISTERS . .
FUNCTIONS .. .
MOVE ROUTINES . .
UTILITIES
CONVERSIONS
INTEGER TO FAC
FAC TO INTEGER...
TXTPTR TO FAC.
STRING UTILITIES :
DEVICE INPUT ROUTINES. ...
DEVICE OUTPUT ROUTINES
INTERNAL LOCATOR ROUTINES. .
INITIALIZATION ROUTINES” 7
STORAGE MANAGEMENT ROUTINES. .
MISCELLANEOUS BASIC COMMANDS. .
HIRES GRAPHICS ROUTINES
CASSETTE ROUTINES....... :
ERROR PROCESSOR ROUTINES. . .
SYNTAX CHECKING ROUTINES. . .
INDEX
INTRODUCTION
This is a guide for the 6502 machine language programmer
who wants to take advantage of the various subroutines in Apple-
soft. The addresses included assume that the user has an Apple II
Plus, an Applesoft firmware card, or a Language Card. This list
is believed to be correct, but be warned that it was a spare time
project. If you find errors, contact your user group. This data is
meant for the experienced programmer, NOT THE BEGINNER.
Read your Applesoft Reference manual for more information.
Take special note of CHRGET. This subroutine is the heart of
Applesoft. When Applesoft wants the next character or an instruc-
tion it points TXTPTR at the program or the input buffer and
JSRs to CHRGET. When Applesoft READs DATA, TXTPTR is
temporarily set to the last used DATA statement.
ABBREVIATIONS
the 6502 accumulator
the 6502 X register
the 6502 Y register
the zero flag of the 6502 status register
the carry flag of the 6502 status register
A,X is a 16 bit number where A has the most significant byte and
X the least significant byte.
ON<x>
(Y,A) is the number or string whose address is in Y and A with
the msb in Y and the Isb in A.
FAC the floating point accumulator
ARG the ARGument register
msb most significant bit or byte
Isb least significant bit or byte
eol end of line token ($00)
LABELS HEX ADDR LABELS
3C,3D Apple monitor pointer for cassette routines
3E,3F Apple monitor pointer for cassette routines
6B,6C Start of array storage
200, 2F F Line input buffer
CHARAC OD Used by STRLT2
CURLIN 75,76" The current line number (=FF if in direct
mode.
DATLIN Line number of current DATA statement
DATPTR The address of the next DATA comes from
DSCTMP Temp string descriptor
ENDCHR
ERRFLG
ERRLIN
ERRNUM
ERRPOS
ERRSTK
FBUFFR
FIRST
FORPNT
FRESPC
7B,7C
7D,7E
9D,9E,
oF
OE
D8
Used by SRTLT2
$80 if ONERR active
DA,DB Line number where error occurred
DE Which error occurred
be, DD TXTPTR save for HNDLERR
Stack pointer value before error
foo 10 FOUT buffer
FO Used by PLOTFNS
General pointer. see COPY
Temp pointer for string storage routines
Bottom of string storage
Used by PLOTFNS
Used by BLTU
Used by BLTU
HIRES page to plot on. ($20 for HGR,
$40 for HGR2)
Temp pointer for moving strings
Mask for inverse output
Last used temp string pointer
General purpose 16 bit number location
General purpose register. GETARYPT‘
FINDLN, BLTU
HIMEM
Last line executed
Mask for flashing output
The end of the program text
Stack pointer saved before each statement
Speed = delay number
The top of array storage
85,86
7,72
6F,70
2C
94,95
96,97
£6
MEMSIZ
OLDLIN 77,78
ORMASK
PRGEND
REMSTK
SPDBYT F1
STREND 6D,6E
STRNG1
STRNG2 AD,AE
SUBFLG
TEMPPT.
TXTTAB 67,68
Pointer to a string. See MOVINS
Pointer to a string. See STRLT2
$00 subscripts allowed, $80=no subscripts
Last used temporary string descriptor
Start of program text
MARCH/APRIL 1980 THE APPLE ORCHARD PAGE 13
is it
v2 2D Used by PLOTFNS EAC formal
VALTYP 11 Flags last FAC operation O=number, FF= 10-84 AO 00 0000s FF
string 10 84 AO 00 00 00 00
VARPNT 83,84
VARTAB_ 69.6A
Used by PTRGET
Start of variable storage
TXTPTR INPUT ROUTINES
CHRGET 00B1(177) (Increment TXTPTR)
CHRGOT 00B7(183) (No increment)
These routines load A from TXTPTR and set certain 6502 status
flags. X and Y are not changed.
On exit:
A=the character
Z is the set if A ‘:’ or eol ($3A or $00)
C is clear if A is an ASCII number (‘0’ to ‘9’).
TXTPTR TO INTEGER
LINGET DAOC (55820)
Read a line number (integer 0 to 63999) from TXTPTR into
LINNUM. LINGET assumes that the 6502 registers and A have
been set up by the CHRGET that fetched the first digit. Normally
exits through CHARGET which fetches the character after the
number. If the number is greater than 63999 then LINGET exits
via SYNTAX ERROR. LINNUM is zero if there is no number at
TXTPTR.
GTBYTC E6FS (51925),
JSR to CHRGET to gobble a character and fall into GETBYT.
GETBYT E6F8 (59128)
Evaluates the formula at TXTPTR, leaves the result in FAC, and
falls into CONINT. ‘n the entry TXTPTR points to the first
character of the formula for the first number. PLOTFNS puts the
first number in FIRST and the second number in H2 and V2.
PLOTFNS FIEC |(61932)\
Get 2 LORES plotting coordinates (0-47,0-47) from TXTPTR
separated by a comma. On entry TXTPTR points to the first
character of the formula for the first number. PLOTFNS puts
the first number in FIRST and the second number in H2 and V2.
HFNS F6B9 (63161)
Get HIRES plotting coordinated (0-279,0-191) from TXTPTR.
On entry TXTPTR points to the first character of the formula for
the first number. Leaves the 6502 registers set up for HPOSN.
On exit:
A= vertical coordinate
sb of horizontal coordinate
Y= msb of horizontal coordinate.
FLOATING POINT MATH PACKAGE INTRODUCTION
This is the number format used throughout Applesoft:
The exponent is a single byte signed number (EXP) in excess
$80 form (the signed value has $80 added to it). The mantissa is
4 bytes (HO, MOH, MO,LO). The binary point is assumed to be
to the right of the most significant bit. Since in binary floating
point notation the msb is always 1, the number’s sign is kept
there when the number is stored in packed form in memory.
While in the math package the sign is kept in a separate byte
(SGN) where only bit 7 is significant. If the exponent is zero
then the number is zero although the mantissa isn’t necessarily
zero.
Examples:
EXP HO MOH MO LO SGN
Packed format
-10 84 AO 00 00 00
10 84 20 00 00 00
Arithmetic routine calling conventions:
For single argument functions:
The argument is in FAC.
The result is left in FAC.
For two argument functions:
The first argument is in ARG (see CONUPK).
The second argument is in FAC.
The result is left in FAC.
FLOATING POINT REGISTERS
NOTE: many of the following locations are used for other
things when_not being used by the floating point math package.
FAC ARG TEMP1 TEMP2 TEMP3 RND
EXP 9D AS 93 98 8A co
HOHO 9E A6 94 99 8B CA
MOH oF Al 95 9A 8C CB
MO AO A8& 96 9B 8D cc
LO Al AQ 97 9C 8E cD
SGN A2 AA (packed format)
FLOATING POINT OPERATORS
FMULT E97F (59775)
Move the number in memory pointed to by Y,A into ARG and
fall into...
FMULTT E982 (59778)
Multiply FAC and ARG. On entry A and Z reflect FACEXP.
FDIV EA66 (90006)
Move the number in memory pointed to by Y,A into ARG and
fall into... ;
FIDVT EA69 (60009)
Divide ARG by FAC. On entry A and Z reflect FACEXP.
FADD E7BE (59326)
Move the number in memory pointed to by Y,A into ARG and
fall into...
FADDT E7C1 (59329)
Add FAC and ARG. On entry A and Z reflect FACEXP.
FSUB E7A7 (59303)
Move the number in memory pointed to by Y,A, into ARG and
fall into...
FSUBT E7AA (59306)
Subtract FAC from ARG. On entry A and Z reflect FACEXP.
FPWRT EE97 (61079)
Exponentiation (ARG to the FAC power). On entry A and Z
should reflect the value of FACEXP.
NOTE: Most FAC move routines set up A and Z to reflect
FACEXP but aLDA $9D will insure the proper values.
FLOATING POINT CONSTANTS
NOTE: The following addresses point to numbers in packed form
suitable for use by CONUPK and MOVMF.
RND 00Cc9 201)
1/4 F070 61552)
1/2 EE64 61028)
-1/2 £937 59703;
1 £913 59667
10 EASO (59984)
SQR(.5) E92D (59693)
SQR(2) E932 (59698)
LN(2 E93C (59708)
LOG(e)2 EEDB (61147
PI/2 F063 61539,
PI*2 FO6B 61547,
-32768 EOFE 57598)
1000000000 ED14[1E9] (60692[489] )
PAGE\14 \THE APPLE ORCHARD MARCH/APRIL 1980
FLOATING POINT FUNCTIONS SUMMARY OF MOVES:
SGN EB90 (60304) FAC => (Y,A) EB2B
Calls SIGN and floats the result in the FAC. Fae Oe EBs
On exit: FAC => TEMP 2 EBIE
FAC=1 If FAC was greater than 0 FAC => ARG EBG3
FAC=0 If FAC was equal to 0 (Y,A) => FAC EAF9
FAC=-1 If FAC was less than 0 (Y,A) => ARG EB63
ABS EBAF (60335) ARG => FAC EB53
Absolute value of FAC FLOATING POINT UTILITIES
INT EC23 (60451) SIGN EB82 (60290)
Greatest integer value of FAC. Uses QINT and floats the result. Set A according to the value of FAC.
SQR EE8D (61069) Onexit: oo
Take the square root of FAC At ENG ie Positive:
LOG E941 (59713) A=FF _ if FAC is negative
Log base e of FAC FOUT ED34 (60724)
EXP EFO9 (61193) Creates a string in FBUFFR equivalent to the value of FAC. On
Raise e to the FAC exit Y,A points to the string. The string ends in a zero. FAC is
‘aise e to the power scrambled. Use STROUT to then print the number.
BND EFAE (61358) Fcomp EBB2 (60338)
Formsarandom/number:in EAC Compare FAC and a packed number in memory pointed to by
cos EFEA (61418) Y,A.
COS(FAC) On exit:
= Y,A) < FAC
SIN EFFI (eras) ADAYA
SINIFAC) A=FF if (Y,A) > FAC
TAN FO3A (61498) NEGOP EEDO (61136)
TAN(FAC) FAC= -FAC
ATN FO9E (61598)
ARCTAN(FAC) FADDH E7A0 (59296)
Add 1/2 to FAC
DIV10 EASS (59989)
FLOATING POINT NUMBER MOVE ROUTINES Divide FAC by 10. Returns positive numbers only.
MOVFM EAF9 (60153) MUL10 EA39 (59961)
Move memory pointed to by Y,A, into FAC. On exit A and Z
reflect FACEXP.
MOV2F EBIE (60190)
Pack FAC and move it into temporary register 2. Uses MOVMF.
On exit A and Z reflect FACEXP.
MOV1F EB21 (60193)
Pack FAC and move it into temporary register 1. Uses MOVMF.
On exit A and Z reflect FACEXP.
MOVML EB23 (60195)
Pack FAC and move it into zero page area pointed to by X. Uses
MOVMF. On exit A and Z reflect FACEXP.
MOVMF EB2B (60203)
Pack FAC and move it into memory pointed to by Y,X. On exit
A and Z reflect FACEXP.
MOVFA EB53
Move ARG into FAC. On exit A=FACEXP and Z is set.
MOVAF EB63
Move FAC into ARG. On exit A=FACEXP and Z is set. :.
CONUPK E9E3 (59875)
Load ARG from memory pointed to by Y,A. On exit A and Z
reflect FACEXP,
(60243)
(60259)
Multiply FAC by 10. Works for both positive and negative num-
bers.
INTEGER TO FAC
SNGFLT E301 (58113)
Float the unsigned integer in Y.
GIVAYF E2F2 (58098)
Float the signed integer in A,Y.
FLOAT EB93 (60307)
Float the signed integer in A.
FAC TO INTEGER
CONINT E6FB (59131)
Convert FAC into a single byte number in X and FACLO. Nor-
mally exits through CHRGET. If FAC is greater than 255 or less
than 0 then CONINT exits via ILLEGAL QUANTITY ERROR.
AYINT. E10C (57612)
If FAC is less than +32767 and greater than -32767 then perform
QINT.
QINT EBF2 (60402)
Quick greatest integer function. Leaves INT(FAC) in FACHO,
MO, LO signed. QINT assumes FAC < 2 to the 23rd (8388608
decimal)
MARCH/APRIL 1980
GETADR E752 (59218)
Convert the number in FAC (-65535 to 65535) into a 2 byte
integer (0-65535) in LINNUM.
GETNUM E746 (59206)
Read a 2 byte number into LINNUM from TXTPTR, check for
a comma, and get a single byte number in X. On entry TXTPTR.
points to the first character of the formula for the first number.
Uses FRNUM, GETADR, CHKCOM, GETBYT.
COMBYTE E74C (59212)
Check for a comma and get a byte in X. Uses CHKCOM,
BETBYT. On entry TXTPTR points to the comma,
TXTPTR TO FAC
FRMEVL DD7B (56699)
Evaluate the formula at TXTPTR using CHRGET and leave the
result in FAC. On entry TXTPTR points to the first character of
the formula. This is the main subroutine for the commands that
use formulas and works for both strings and numbers. If the for-
mula is a string literal, FRMEVL gobbles the opening quote and
executes STRLIT and ST2TXT.
FRMNUM DD67 (56679)
Evaluate the formula at TXTPTR, put it in FAC, and make sure
it’s a number. On entry TXTPTR points to the first character of
the formula. TYPE MISMATCH ERROR results if the formula is
a string.
FIN EC4A (60490)
Input a floating point number into FAC from CHRGET. FIN
assumes that the 6502 registers and A have been set up by the
CHRGET that fetched the first digit.
STRING UTILITIES
In Applesoft strings have three parts: the descriptor, a pointer to
the descriptor, and the ASCII string. A string descriptor contains
the length of the string and the address of its first character. See
page 137 of the Applesoft Reference Manual. Through most of
the routines the descriptor is left in memory and a pointer is
kept in FAC. The pointer is the address of the descriptor. The
actual string could be anywhere in memory. In a program, 1A$=
“HI” will leave a descriptor pointing into the program text.
CAT E597 (58775)
Concatenate two strings. FACMO,LO point to the first string’s
descriptor and TXTPTR points to the ‘+’ sign.
STRINI E3D5 (58325)
Get space for creation of a string and create a descriptor for it
in DSCTMP. On entry A=length of the string.
STRSPA E3DD (58333)
JSR to GETSPA and store the pointer and length in DSCTMP.
copy DAB7 (55991)
Free the string temporary pointed to by Y,A and move it to the
memory pointed to by FORPNT.
MOVINS €5D4 (58836)
Move a string whose descriptor is pointed to by STRNG1 to
memory pointed to by FRESPA.
MOVSTR ESE2 (58850)
Move the string pointed to by Y,X with a length of A to memory
pointed to by FRESPA.
STRTXT DE81
Sets Y,A equal to TXTPTR plus C and falls into STRLIT.
(56961)
THE APPLE ORCHARD
PAGE 15
STRLIT E3E7 (58343)
Store a quote in ENDCHR and CHARAC so that STRLT2 will
stop on it.
STRLT2 E3ED (58349)
Take a string literal whose first character is pointed to by Y,A
and build a descriptor for it. The descriptor is built in DSCTMP,
but PUTNEW transfers it into a temporary and leaves a pointer
to it in FACMO,LO. Characters other than zero that terminate
the string should be saved in CHARAC and ENDCHR. Leading
quotes should be skipped before STRLT2. On exit the character
after the string literal is pointed to by STRNG2. Falls into
PUTNEW.
PUTNEW E42A (58410)
Some string function is returning with a result in DSCTMP. Move
DSCTMP to a temporary descriptor, put a pointer to the descrip-
tor in FACMO,LO, and flag the result as a string.
GETSPA E452 (58450)
Get space for character string. May force garbage collection.
Moves FRESPC and FRETOP down enough to store the string.
On entry A= number of characters. Returns with A unaffected
and pointer to the space in Y,X, FRESPC, and FRETOP. If
there’s no space then OUT OF MEMORY error.
FRESTR ESFD (58877)
Make sure that the last FAC result was a string and fall into
FREFAC.
FRETMP. E604 (58884)
Free up a temporary string. On entry the pointer to the descrip-
tor is in Y,A. A check is made to see if the descriptor is a tempor-
ary one allocated by PUTNEW. If so, the temporary is freed up
by updating TEMPPT. If a temp is freed up a further check is
made to see if the string is the lowest in memory. If so, that area
of memory is freed up also by updating FRETOP. On exit the
address of the string is in INDEX and Y,X and the string length
isin A.
FRETMS £635 (58933)
Free the temporary descriptor without freeing up the string. On
entry Y,A point to the descriptor to be freed. On exit Z is set if
anything was freed.
DEVICE INPUT ROUTINES
INLIN D52C (54572) (No prompt
INLIN+2 D52E (54574) (Use character in X for prompt}
Input a line of text from the current input device into the input
buffer, BUF, and fall into GDBUFS.
GDBUFS D539 (54585)
Puts a zero at the end of the input buffer, BUF, and masks off
the msb on all bytes.
On entry:
X= the end of the input line
On exit:
A=0
X=FF
Y=1
INCHR D553 (54611)
Get one character from the current input device in A and mask
off the msb. INCHR uses the main Apple input routines and sup-
ports normal handshaking.
PAGE 16
DEVICE OUTPUT ROUTINES
STROUT DB3A (56122)
Print string pointed to by Y,A. The string must end with a zero
or a quote.
STRPRT DB3D (56125)
Print a string whose descriptor is pointed to by FACMO, FACLO.
OUTDO DBSC (56156)
Print the character in A. INVERSE, FLASH, and NORMAL in
effect.
CRDO DAFB (56059)
Print a carriage return.
OUTSPC DB57 (56151)
Print a space.
OUTQST DBSA (56154)
Print a question mark.
INPRT EDI9 (60697)
Print “IN” and the current line number from CURLIN. Uses
LINPRT.
LINPRT ED24 (60708)
Prints the 2 byte unsigned number in X,A.
PRNTFAC ED2E (60718)
Prints the current value of FAC. FAC is destroyed. Uses FOUT
and STROUT.
INTERNAL LOCATOR ROUTINES
PTRGET DFE3 (57315)
Read a variable name from CHRGET and find it in memory. On
entry TXTPTR points to the first character of the variable name.
On exit the address to the value of the variable is in VARPNT and
Y,A. If PTRGET can’t find a simple variable it creates one. If it
can’t find an array it creates one dimensioned to 0 to 10 and set
all elements equal to zero.
GETARYPT F7D9 (63449)
Read a variable name from CHRGET and find it in memory. On
entry TXTPTR points to the first character of the variable name.
This routine leaves LOWTR pointing to the name of the variable
array. If the array can’t be found the result is an OUT OF DATA
ERROR.
FNDLIN D61A (54810)
Searches the program for the line whose number is in LINNUM.
On exit:
1. If C set LOWTR points to the link field of the desired line.
2. If C clear then line not found. LOWTR to the next higher _
line.
DATA D995 (55701)
(oO TXTPTR to the end of the statement. Looks for ‘:’ or eol
0).
DATAN D9A3 (55715),
Calculate the offset in Y from TXTPTR to the next ‘:’ or eol (0).
REMN D9AG6 (55718)
Calculate the offset in Y from TXTPTR to the next col (9).
ADDON D998 (55704)
Add Y to TXTPTR.
THE APPLE ORCHARD
MARCH/APRIL 1980
INITIALIZATION ROUTINES
SCRTCH D64B (54859)
The ‘NEW’ command. Clears the program, variables, and stack.
CLEARC D66C (54892)
The ‘CLEAR’ command. Clears the variables and stack.
STKINI D683 (54915)
Clears the stack.
RESTOR, D849 (55369)
Sets the DATA pointer, DATPTR, to the bebinning of the
program.
STXTPT D697
Set TXTPTR to the beginning of the program.
STORAGE MANAGEMENT ROUTINES
BLTU D393 (54163)
Block transfer makes room by moving everything forward.
On entry:
Y,A and HIGHDS=destination of high address + 1
LOWTR=lowest address to be moved
HIGHTR=highest address to be moved + 1
On exit:
LOWTR is unchanged
HIGHTR=LOWTR — $100
HIGHDS=lowest address transferred — $100
REASON D3E3 (54243)
Makes sure there’s enough room in memory, Checks to be sure
that the address Y,A is less than FRETOP. May cause garbage
collection. Causes OMERR if there’s no room.
GARBAG E484 (58500)
Move all currently used strings up in memory as far as possible.
This maximizes the free memory area for more strings or numeric
variables.
MISCELLANEOUS BASIC COMMANDS
Note that many commands are not documented because they
jump into the new statement fetcher and cannot be used as a sub-
routine.
CONT D898 (55448)
Moves OLDTXT and OLDLIN into TXTPTR and CURLIN.
NEWSTT D7D2 (55250)
Execute a new statement. On entry TXTPTR points to the ‘:’
preceding the statement or the zero at the end of the previous
line. Use NEWSTT to restart the program with CONT. TH/S
ROUTINE DOES NOT RETURN.
RUN D566 (54630)
Run the program in memory. THIS ROUTINE DOES NOT
RETURN.
GOTO D93E (55614)
Uses LINGET and FNDLIN to update TXTPTR. GOTO assumes
that the 6502 registers and A have been set up by the CHRGET
that fetched the first digit.
LET DA46 (55878)
Uses CHRGET to get address of the variable, ‘=’, evaluate the
formula, and store it. On entry TXTPTR points to the first char-
acter of the variable name.
(54935)
MARCH/APRIL 1980
HIRES GRAPHICS ROUTINES
NOTE: Regardless of which screen is being displayed, HPAG (lo-
cation $£6) determines which screen is drawn on. ($20 for HGR,
$40 for HGR2)
HGR2 F3D4 (62420)
Initialize and clear page 2 HIRES.
HGR F3DE (62430)
Initialize and clear page 1 HIRES.
HCLR F3EE (62446)
Clear the HIRES screen to black.
BKGND F3F2 (62450)
Clear the HIRES screen to last plotted color.
HPOSN F40D (62477)
Positions the HIRES cursor without plotting, HPAG determines
which page the cursor is pointed at.
On entry:
Horizontal=Y,X
Vertical=A
HPLOT F453 (62547)
Call HPOSN then try to plot a dot at the cursor’s position. No
dot may be plotted if plotting non-white at a complementary
color X coordinate.
HLIN F530 (62768)
Draws a line from the last plotted point or line destination to the
coordinate in the 6502 registers.
On entry:
Horizontal =X,A
Vertical=Y
HFIND FSCB (62923)
Convert the HIRES cursor’s position to X-Y coordinates. Used
after SHAPE to find where you’ve been left.
On exit:
$E0=horizontal Isb
$E1=horizontal msb
$E2=vertical
DRAW F601 (62977)
Draw the shape pointed to by Y,X by inverting the existing color
of the dots the shape draws over. On entry A=rotation factor.
SETHCOL F6EC (63213)
Set the HIRES color to X. X must be less than 8.
SHLOAD F775 (63349)
Loads a shape table into memory from tape above MEMSIZ
(HIMEM) and sets up the pointer at $E8.
CASSETTE ROUTINES
SAVE D8B0 (55472)
Save the program in memory to tape.
LOAD D8co (55497)
Load a program from tape..
VARTIO D8FO (55536)
Set up Al and A2 to save 3 bytes ($50 -$52) for the length.
THE APPLE ORCHARD
PAGE 17
ERROR PROCESSOR ROUTINES
ERROR D412 (54290)
Checks ERRFLG and jumps to HNDLERR if ONERR is active.
Otherwise it prints <or> ‘?’ <error message &X> ‘ERROR’. If
this is during program execution then it also prints ‘IN’ and the
CURLIN.
HANDLERR F2E9 (62185)
Saves CURLIN in ERRLIN, TXTPTR in ERRPOS, X in ERR-
NUM, and REMSTK in ERRSTK. REMSTK is equal to the 6502
stack pointer and is set up at the start of each statement. X con-
tains the error code. This may be used to interrupt the execution
of a BASIC program. See the Applesoft Reference Manual page
136 for the value of X for a given error.
RESUME F317 (62231)
Restores CURLIN from ERRLIN and TXTPTR from ERRPOS
and transfers ERRSTK into the 6502 stack pointer.
SYNTAX CHECKING ROUTINES
ISCNTC D858 (55384)
Checks the Apple keyboard for a control — C ($83). Executes
the BREAK routine if there is a control — C.
CHKNUM DD6A (55682)
Make sure FAC is numeric. See CHKVAL.
CHKSTR DD6C (56684)
Make sure FAC isa string. See CHKVAL.
CHKVAL DD6D (56685)
Checks the result of the most recent FAC operation to see if it
is a string or numeric variable. A TYPE MISMATCH ERROR
results if FAC and C don’t agree.
On entry:
C set checks for strings
C clear checks for numerics
ERRDIR E306 (58118)
Causes ILLEGAL DIRECT ERROR if the program isn’t running.
X is modified.
ISLETC E07D (57469)
Checks A for an ASCII letter (‘A’ to ‘Z’). On exit C set if Aisa
letter.
PARCHK DEB2 (57010)
Checks for ‘(’, evaluates a formula, and checks for ‘)’. Uses
CHKOPN and FRMEVL then falls into CHKCLS.
CHKCLS DEB8 (57016)
Checks at TXTPTR for ‘)’. Uses SYNCHR.
CHKOPN DEBB (57019)
Checks at TXTPTR for ‘(’, Uses SYNCHR.
CHKCOM DEBE (50722)
Checks at TXTPTR for ‘,’. Uses SYNCHR.
SYNCHR. DECO (57024)
Checks at TXTPTR for the character in A. TXTPTR is not
modified. Normally exits through CHRGET. Exits with SYNTAX
ERROR if they don’t match.
XDRAW F65D (62977)
Draw the shape pointed to by Y, X by inverting the existing color
PROGIO D901 (55553) of the dots the shape draws over. On entry, A=rotation factor.
Set up Al and A2 to save the program text.
—= a —— <= — _
PAGE 18 THE APPLE ORCHARD MARCH/APRIL 1980
AS FREFAC 600 15 NE
FRESPC 71,
Al 3C,3D 12 ERESTR ESrD 15 NEGOP EEDO 14
A2 3E3F 12 ERETMP £604 13 NEWSTT D7D2 16
aaa Beat ig FRETOP 6F,70 12 -O-
REMEVL DD7B 15
ARYTAB 6B,6C 12 FRMNUM DD67 18 OLDLIN 71,78 2
AYINT EOC ia PUB BIA 13 outDo DBSC 16
A __ —G OUTQST DBSA 16
GARBAG E484 ig OUTSC aoe? 16
BECND par 12 GDBUFS D539 15 -p-
GETADR E752 15
BUF PONE 12 GETARYPT F7D9 16 pARCH pb? v
—c- GTBYTC EOFS 13 BReEND jon 2
eee) Ee 13 procio D901 7
CHA Ob. 12 GETNUM ae 13 pRTFAC ED2E 16
cHRCLS Dees 17 GETSPA peed 13 PTRGET DFE3 16
CHKCOM DEBE 17, SIVAYP Hae \¢ puTNEw E42A 15
CHKNUM DD6A 17
CHKOPN DEBB 7 =O-
CHKSTR DD6C 17 QINT EBF2 14
CHKVAL DDé6D 7 aA R
CHRGET 00B1 13° H2 2c 12
CHRGOT 00B7 13. HANDLERR F2E9 17 REASON D3E3 16
CLEARC D66c 16 HCLR F3EE 17 REMN D9AG6 16
COMBYTE E74C 15 HFIND FSCB 17 REMSTK F8 12
CONINT E6FB 14 HENS F6B9 13 RESTOR D849 16
CONT D898 16 HGR F3DE 17 RESUME F317 17
CONUPK E9E3 14 HGR2 F3D4 17 RND EFAE 14
copy DAB7 15 HIGHDS 94,95 12 RUN D566 16
cos EFEA 14 HIGHTR 96,97 12 2s.
CRDO DAFB 16 HLIN F530 7
CURLIN 75,76 12> HPAG E6 12) SAVE D8BO 7
HPLOT F453 17 SCRTCH D648 16
—-D- HPOSN F40D 17 SETHCOL EEC 7
SGN
DATA ie 1 a+ SHLOAD F775 7
DATAN D9A3 16 sue Ea ui
DATLIN 7B,7C 12 INDEX SE, SF 12 3G peee u
DATPTR 1D,7E 12. INCHR D553 15 SIN ae Hae u
DIVI0 EASS 14 INLIN 52 15 SNGET e
DRAW F601 17 INLIN+2 DS52E 15 Se Ela in
DSCTMP 9D-9F 12 INPRT ED19 eh feos 4
+ INVELE 32 12 STREND SD.6E 12
ENDCHR OE 12 ISCNTC D858 7 erie EDS 13
ERRDIR E306 17 (SLETC E07D wy Steer Be 13
ERRFLG D8 12
STRNG1 AB,AC 12
ERNE paoe u STRNG2 AD, AE 12
cee bale 7 a- STROUT DB3A 16
ERROR D DD 32 LASTPT 53 12. STRPRT DB3D 16
eee oe Ler DA46 16 STRSPA E3DD 15
ERRSIK Re 74 LINGET DAOC 13° STRTXT DE81 15
EXP ERO? LINNUM 50,51 12. STXTPT D697 16
LINPRT ED24 16 SUBFLG 14 12
LOAD D8c9o 17 SYNCHR DECO 7
a LoG E941 14
LOWTR 9B,9C 12 -
FADD E7BE 13 TAN FO3A 14
FADDH E7AO 14 Me TEMPPT 52 2
FBUFFR 100-1FF 12 MEMSIZ 73,74 12. TXTTAB 67,68 12
FCOMP EBB2 14 MOVIF EB21 14 ye
FDIV EA66 13 MOV2F EBIE 14
FIN EC4A 15 MOVAF EB63 4 v2 2D 13
FIRST. FO 12) MOVFA EB53 14 VALTYP. WW 13
FLOAT EB93 14 MOVFM EAF9 14 VARPNT 83,84 3
FMULT E97F 13 MOVINS ESD4 15 VARTAB 69,6A 13
FNDLIN D61A 16 =MOVMF EB2B 14 VARTIO D&FO 7
FORPNT 85,86 12) MOVML B23 14 aus
FOUT ED34 14 MOVSTR ESE2 15
FPWRT EE97 13° MUL10 EA39 14 XDRAW F65D 7
NEW
MOUNTAIN
FROM
HARDWARE.
CONTROL FROM YOUR APPLE.
&
—ay
INTROL/X-10.
COMPUTERIZE YOUR HOME.
The Introl/X-10 peripheral system for your Apple*
Computer allows you to remotely control lights and
electrical appliances in your home.
YOU'RE ALREADY WIRED.
Introl/X-10 operates by utilizing your computer's intelli-
gence to command the BSR System X-10 to send signals
over regular 110 volt household wiring. That means you
can control any electrical device in your home without
additional wiring.
READY TO USE.
Introl/X-10 comes with complete software to control
devices on pre-determined schedules, and features:
* Control devices at a specific time. * Select a daily or
weekly schedule. ¢ Specify a day of the week, or an exact
date for a particular event. * Specify an interval of time for
an event. * Rate device wattages for a running account
of power consumption during your schedule for energy
management. ¢ Used with our Apple Clock™ your sched-
ules may run in “background” while other programs
may run at the same time in “foreground.”
ia
Ci
ee
Sounds great.
Name
Address.
Phone.
EVERYTHING YOU NEED.
The Introl Controller board plugs into a peripheral slot
of your Apple. With an ultrasonic transducer it trans-
mits control signals to the BSR/X-10 Command Console
which may be plugged into any convenient AC outlet near
your computer. On command, signals are sent to remote
modules located at the devices you wish to control. Up
to 16 remote module addresses may be controlled from
your Apple. Software requires Applesoft firmware.
AVAILABLE NOW.
The Introl/X-10 System consists of the Intro! Controller
board with timer and ultrasonic transducer, the X-10
Command Console and three remote modules. $279.
Complete and tested. If you already have a BSR System
X-10, the Intro! Controller board is available separately for
$189. Additional remote modules are available at $15. See
your computer dealer for a demonstration. Or, return the
coupon below for complete information.
Available through computer dealers worldwide
“Apple is a trademark of Apple Computer Inc.
BSR/System X-10 is a trademark of BSR, Ltd.
Rs a a aa |
Mountain Hardware, Inc.
LEADERSHIP IN COMPUTER PERIPHERALS
300 Harvey West Bivd., Santa Cruz, CA 95060
(408) 429-8600
Home control from my Apple?
That sounds like a great system. Send me alll the details.
ity State. Zip
== -
NEW FROM
MOUNTAIN HARDWARE.
_ THE APPLE CLOCK.
NEW UTILITY FOR
YOUR COMPUTER.
Until now, there hasn't
beena Real-Time Clock
for the Apple Il*. The
Apple Clock from Moun-
tain Hardware keeps time
and date inimS increments
for over one year. On-board
battery backupkeepstheclock
running in the event of power
outage. Software controlled interrupts are
generated by the clock. That means you can
call up schedules, time events, date printouts
...all in real time on a programmed schedule.
EASY TO USE.
The Apple Clock is easily accessed from
BASIC using routines carried in on-board
ROM. With it, you can read time and
program time-dependent functions for
virtually any interval. From milliseconds to
days, months or a year.
PLUG IN AND GO.
Plug the Apple Clock into a peripheral slot
on your Apple II and you're ready to go.
r
1
1
I
1
'
i
Name.
ye Mountain Hardware, Inc.
Send me everything I'll need to know about the Apple Clock.
FEATURES.
© Time and date in imS
increments for periods
as long as one year.
Software for calendar
and clock routines, as
well as an event timer
are contained on on-
board ROM.
» e Program interrupts.
© Crystal controlled accuracy
of +.001%.
e On-board battery backup keeps your clock
in operation even during power outage.
REAL TIME AT THE RIGHT PRICE.
At $199 assembled and tested, it's the clock
your Apple has been waiting for. And, it's
available now through your Apple dealer.
Drop in for a demonstration. Or return the
coupon below.
A COMPLETE LINE.
Mountain Hardware also offers a complete
line of peripheral products for many fine
computers.
300 Harvey West Bivd., Santa Cruz, CA 95060
(408) 429-8600
Sounds great.
I've got a computer. Send me information.
City,
Address.
State.
“Apple Il is a trademark of Apple Computer, Inc.
ee |
L.
MARCH/APRIL 1980
from RP ? Lt.
get. 3
This program solves the problem of finding a place in memory
for machine language programs in Applesoft. Until now, programs
were usually written to reside above HIMEM:, which has its draw-
backs: a program written for a 48K machine would not run on
32K. Some programs, like RENUM/MERGE on the DOS 3.2
master disk, relocate themselves to accommodate different size
systems, but this is often more work and hassle than the program
is worth.
&LOMEM: solves this problem in a unique way: it actually
moves the Applesoft program upward in memory, freeing up the
memory left behind. Do not confuse &LOMEM: (pronounced
Ampersand LOMEM) with the Applesoft LOMEM: statement —
Applesoft LOMEM: affects only the location of Applesoft vari-
ables, whereas &LOMEM: affects the location of the variables
AND program.
To use the €LOMEM: utility, you must first BRUN LOMEM:
to initialize the Ampersand jump vector and load it into memory.
The syntax for the LOMEM: statement is as follows:
&LOMEM: [addr] , where [addr] is the new start of program
address in decimal.
&LOMEM: can be used within programs or in immediate
mode. The program does an implicit “CLEAR”, which wipes out
all variables. The memory freed up by &LOMEM: will always
start at $800 hex (the normal start of program address). So, a
program line to reserve 2K of memory for-a machine language
program assembled to run at $800 hex, would look something
like this:
10 PRINT CHR$(4) “BRUN LOMEM:”:&LOMEM:
4096
Since the freed up memory space is the same as that freed up
with the LOMEM: statement in Integer Basic, many machine
language programs originally written for Integer Basic can now be
easily adapted for use with Applesoft.
There are a few things that should be kept in mind when using
this program. First of all, this program will NOT work-with RAM
Applesoft, since it calls routines within Applesoft itself. Amper-
sand LOMEM: can only move programs UPWARD in memory;
attempting to move the program back to its original location or
to a lower address will DESTROY your program. The action of
Ampersand LOMEM: statement is permanent; “NEW”,
“CLEAR”, and “LOMEM” have no effect on the start of program
address. The start address of another program loaded after the
execution of a LOMEM: statement will also be the value set by
&LOMEM:. Use the DOS FP command to reset the program
address to its normal $800.
This program was originally written for Ron and Darrell
Aldrich’s Hi-Res Text Generator to allow its use in ROM Apple-
soft systems of any RAM size. The program as presented here is
identical to the program included on the Hi-Res Text Generator
disk, from Apple Pugetsound Program Library Exchange. \he
Ampersand LOMEM: resides at $330 hex, and uses approxi-
mately 160 bytes. (This is because the Hi-Res Text Generator
uses other locations in the $300 page.)
&LOMEM:’s potential uses are unlimited. Dig in and let us
know the unique applications you turn up!
THE APPLE ORCHARD
THE &LOMEM: UTILITY
by Neil Konzen
%330.3CF
0330-
0338-
0340-
0348-
0350-
0358-
0360~
0368-
0370-
0378-
0380-
0388-
0390-
0398-
03A0-
O3A8-
O3B0-
O3B8-
03C0-
03C8-
ay
4C 8D
Fé 03 A?
A? AS 20
20
BO
s2 £7
85 97
85 94 ES
85 95 ES
ES
18
67 AB
65 95
—8 E8 C8
20
Ci 03
A2 47 20
ci
03 AS
A2 BB 20
68 85 SE
Bl
Bl
86
SE 65
SE FO
SE 85
Dé 38 BS
BS
S
é
7
8
2
10
it
01 65
x
FS
03
co
as
cé
67
68
aS
85
20
a2
ci
Bg
ci
a4
50
oA
SF
00
Si
03 AD 40
en F7 03
TE 2
67 8
96 38 AS
85 5
85 5
BO ES
95 C8 DO
C3 03 Az
AF 2
OS A
co 96
03 AS 67
SF AQ 00
91 Si
65 5
90 E7 4C
65 5
95 O1 60
* & LOMEM! X
x
* BY NEIL KONZEN
x
12 x
13 % EQUATES
14
15
16
17
18
19
20
21
22
23
24
25
24
27
28
x
LOMEM
RNMPTR
PRGBEG
VARTAB
FRETOF
OLDTXT
DATXT
HIGHDS
HIGHTR
PRGEND
TXTPTR
AMPRSND
x
x
ORG
OBJ
EQu
EQu
EU
EQu
EQU
EQu
Eau
EQU
EQU
Eau
Eau
EQu
$330
$330
$50
$5E
$67
$69
$73
$79
$70
$94
$96
SAF
$k8
$3FS
PAGE21
sn
Db
AS
So
Si
3 AF
01
69
03
20
05
A4
38
ce
SE
6c
00
FF
—
PAGE 22 THE APPLE ORCHARD MARCH/APRIL 1980
SUBROUTINES
29 *
30 CHRGET EQU $0082
31 BLT2 EQU $I3C3 sPART OF FP BLOCK TRANSFER
32 CLEAR EQU $b6éC s’CLEAR’ STMT ENTRY
33 FRMEVL EQU $b067 SEVALUATE A FORMULA
34 SYNCHK EQu $BECO sCOMPARE A W/C TXTPTR)
35 SNERR EQU SDEC?
36 FRMNUM EQU $E752
37 %
03303 AP 40 338 LUA #$4C sSET UP AMPERSAND VECTOR
0332: 8D FS 03 3? STA AMPRSND
0335% AX 40 40 LDA #<LOMEM:
0337: 8D FS 03 41 STA AMPRSND+1
O33At AP 03 2 LBA #>LOMEM:
O33C3 BL F7 03 43 STA AMPRSND+2
O33Fi 60 44 RTS
0340 AD A4 45 LOMEM? LDA $$A4 5’LOMEM?’ TOKEN?
0342; 20 CO DE 46 JSR SYNCHK S5SYNTAX CHECKING HERE
0345; 20 67 DD 47 JSR FRMEVL 30Ky SO GET VALUE
0348: 20 S2 E7 48 JSR FRMNUM
49 *
50 x
O34Bi AS 67 si LDA PRGBEG
O34Ds BS 7. S52 STA HIGHTR
O34F: AS BO 53 LUA PRGEND+1 $¢FP MOVE ROUTINE USED
O35i: 85 97 54 STA HIGHTR+1 FIN A VERY BIZZARE WAY!
0353: C6 96 53 DEC HIGHTR
56 &
0355: 38 57 SEC
03562 AS SO 58 LIA LOMEM
03538: 85 94 a? STA HIGHS
035A: ES 67 60 SBC PRGBEG
O35C: 85 50 61 STA LOMEM
OSSES AS Si 62 LBA LOMEM+2
0360: 85 95 63 STA HIGHDS+1
0362: ES 68 64 SBC PRGREG+1
0364 85 51 65 STA LOMEM+1
66 *
03663 AS AF 67 LDA PRGEND
03683 ES 67 68 SBC PRGHEG
OJ6At AT 69 TAY
O36BR3. AS BO 79 LBA PRGEND+1
O36ni ES 68 71 SEC PREBEG+1
O36F3 AA 72 TAX
93703 18 73 CLC
03713 65 95 74 ADC HIGHDS+1
0373: 85 95 73 STA HIGHES+1
0375: C8 76 INY S3STRANGE MATH HERE BECAUSE
0376: LO 01 77 BNE +3 sWE HAVE TO MOVE (PRGBEG )-1
0378; ES 738 INX SAND “BLT2’ IS CALLED FUNNY
0379: EB 29 INX
037A3 CB 80 INY
O37B$ 20 C3 D3 81 JSR BLT2
82 *
O37E$ AZ 6&9 83 SKPS LDX #VARTAB sNOW GO UPDATE THESE FTRS
0380: 20 Ci 03 84 JSR ALD
85 *
0383: AZ AF 86 LOX #PRGEND
0385: 20 C1 03 87 JSR ADD
88 *
MARCH/APRIL 1980
0388: AZ
038A 20
O38D: AZ
O38F% 20
03923 AS
0394: CP
0396: FO
03982 AZ
039A 20
O39T AS
OS9Ft AS
O3A1? 85
O3A3% 84
O3AS: AD
O3A7: 38
O3AB! BL
O3AA: 65
O3ACt 71
O3AES AA
O3AF: CB
O3B0; BL
O3B2% FO
O3B42 65
O3B6: 91
OSB8: 84
OSHA: 85
O3BC: 90
OSBE: 4C
O3C1i 38
03C23 BS
03C4: 65
OSCE? 9S
03C8: BS
O3CAS 65
O3CCi 9S
O3CE: 60
67
Ci
79
ci
Bg
0o2
oS
Bg
ci
67
68
SE
SF
00
SE
So
SE
SE
OA
S21
SE
SE
SF
E7
6c
00
So
00
OL
Si
OL
03
03
03
BS
89
90
i
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
lil
112
113
114
115
1146
117
118
119
120
121
122
123
124
125
126
127
128
129
DONT
RENUM
DONE
ADL
--- END ASSEMBLY ---
TOTAL ERRORS?
THE APPLE ORCHARD PAGE 23
LIX
JSR
LOX
JSR
LDA
CMP
BEG
LOX
JSR
LBA
LOY
STA
STY
Loy
SEC
LDA
ALC
STA
TAX
INy
LDA
BEG
ALC
STA
STX
STA
BCC
JMF
SEC
LUA
ALC
STA
LDA
ADC
STA
RTS
159 BYTES GENERATED THIS ASSEMBLY
#PRGBEG
ADD
SOLETXT
ADL
TXTFTR+L
$602
BONT
#TXTFTR
ALD
PRGBREG
PRGBEGHL
RNMPTR
RNMPTREL
$0 3FIX ‘NEXT LINE’ ADDRESSES
5(¢ ASSUMING THEY’RE ALREADY OKAY)
CRNMPTR D7
LOMEM
CRNMPTR DY
CRNMPTR D9 ¥
DONE
LOMEM+1
CRNMPTR D7 Y
RNMPTR
RNMPTR+2
RENUM
CLEAR sNOW LET APPLESOFT DO THE REST
sADD LOMEM+1 TO ZERO
$009X $ZERO PAGE LOC IN X
LOMEM
$O09%
G1isX
LOMEM+1
$19X
--- SYMBOL TABLE --~
LOMEM $50 RNMPTR $5E
FRGBEG $67 VARTAB $69
FRETOF $73 OLUTXT $79
DATXT $70 HIGHDS. $94
HIGHTR $76 PRGEND SAF
TXTFTR $E8 AMPRSND $03F5
CHRGET $B. BLT2 $033
CLEAR $066C FRMEVL $DD67
SYNCHK $UECO SNERR $DEC9
FRMNUM $E752 LOMEM: $0340
SKPS $037E DONT $0390
RENUM $03AS BONE $03BE
ALI $03C1
“As manager of Personal Computers, here at Computerland of San Francisco, evaluating new
software products is part of my job. With all the word processors on the market today, |
choose EasyWriter for my business and personal use.”’
EasyWriter.
80 COLUMNS OF WORD PROCESSING POWER
FOR YOUR APPLE II COMPUTER
Finally... INFORMATION
UNLIMITED SOFTWARE is able
to bring you a complete word
processing system for the
Apple II. The new EasyWriter
system gives you 80 columns
of upper and lower case
characters for your Apple’s
video display, using the new
SUP’R'TERM 1 board!
A long time ago, we decided to
bring you the best simple-to-
use and understand tools for
your computer system. Today
we've taken another stride in
that same direction. It took
some doing, in both hardware
and software, but we think
you'll agree that for the buck,
no one can touch us.
it out:
80 Columns on the Screen!
Upper & Lower Case!
Global Search & Ri
Underlining!
Bidire
Incremei
Printing!
File Appending!
50 Pages of Text Per Disk!
—Karen Dexter Weiss
You can purchase the new
EasyWriter 80 column word
processing system as a com-
plete hardware and software
package directly from our new
office in California, or fro
your local computer dealer.
a
mite
EF Software:
Information Unlimited Software, Inc.
793 Vincente St.
Berkeley, CA 94707
(415) 525-4046
See The System at the 5th West Coast Computer Faire.
MARCH/APRIL 1980
eo") ”
pe
THE APPLE ORCHARD
PAGE 25
CONNECTING WITH THE USCD BIOS
by Randall Hyde
After purchasing my language system, my first goal was get-
ting it to work with my ComputerWorld printer interface. For
those of you who are unfamiliar with the Pascal system, let me
mention that it only supports Apple peripheral cards. For those
of you unfamiliar with the ComputerWorld printer interface, it
only costs $80 (which is $100 less than the Apple printer inter-
face). Since | have a ComputerWorld interface | certainly did
not feel like spending an additional $180 just so | could use my
printer with Pascal. So the obvious solution was to “patch” the
existing system so that it would recognize, and utilize, the Com-
puterWorld printer interface.
After two weeks of pulling my hair out trying to dissassemble
the UCSD BIOS (BIOS stands for Basic Input Output System)
Dave Smith (of ComputerWorld) turned me on to an application
note on the BIOS which was given to him by Apple Computer
Inc. This Ap note, among other things, gave a source listing of the
BIOS as well as directions on patching your own drivers to the
BIOS. This Ap note should have been distributed to each of the
local clubs as part of the “Introductory Package” sent out by the
International Apple Corp. Ask your local club director for a
copy if you’re interested. Anyway, with this application note in
hand | proceeded to add my printer driver to the UCSD BIOS.
The only problem | encountered was the fact that the free mem-
ory mentioned in the application note is not really free. So |
encountered quite a few problems when trying to figure out
where to put my driver routines. Since | have a Mountain Hard-
ware ROM Plus board, | decided to store my drivers in ROM and
utilize the ROM Plus’ capabilities. While burning the first version
of my driver routine it occurred to me that in addition to the
printer driver | should also take advantage of the ROM Plus
lowercase entry capabilities as well as the lower case display capa-
bilities of the Dan Paymar lower case mod. So, back to the
BIOS source listings to incorporate the required patches. Since
1! wanted this for use by the Pascal System, | needed the capa-
bility to input such characters as “[”, “]”, “ h , “')”, etc. To allow
this | not only hooked up the shift key (to TTL input #1) but
| also wired up the control key to TTL input 42 (pin #4 on the
ROM Plus connector). Now, by pressing the shift key and the
control key simultaneously | can input the full 96 upper/lower-
case/special character ASCII character set!
Some other things | added include a “CAPSLOCK” feature
(toggled by pressing control — R) and of course | allow the use of
the shift key when using the Pascal System for upper and lower
case entry. This filter’. routine can be used anywhere a “LDA
$C000” instruction is used. Simply replace the LDA $C000 with
a JSR $C800 (assuming of course that the ROM Plus board is
selected) and upon return, if the accumulator is negative, then
a key has been pressed, otherwise no key has been pressed. The
listing for this routine appears in listing I (the assembler used is
LISA), The routine is called “CONSOLE”.
Also included in listing one is the initialization procedure for
the ComputerWorld interface card as well as the printer write
routine for the ComputerWorld interface card. Note that these
routines are assembled at different pages in the expansion ROM
memory space to allow customization for the user’s particular
needs.
Once these routines are burned into ROM | have made the as-
sumption that this ROM will be stuck in the number two ROM
socket. Once the ROM is placed in this socket these routines are
available for use by the Pascal system. There is one problem how-
ever. The UCSD BIOS does not know that these drivers even
exist. This means that we have to actually go in and change cer-
tain locations in the BIOS to tell it when to use these routines.
This problem is handled by a special program called a “SYSGEN”
program. This SYSGEN program goes in and modities the Apple
Pascal BIOS so that the printer card is recognized and the lower
case modifications can take place.
Typically there are two ways to write a SYSGEN program.
You can write it as a “‘one-shot” which you execute once and it
modifies the BIOS on the Pascal disk. Or you can write it as a
“dynamic SYSGEN” which must be executed each time the disk
is booted. The one-shot method has the obvious advantage in
that you don’t have to worry about running the SYSGEN
program everytime you boot your Pascal disks. It has the not-
so-obvious disadvantage in that it can possibly make your Pascal
disks incompatible with other systems. Since compatibility is
a major concern | chose to use the dynamic method for my
SYSGEN program.
Listing #2 is the listing for the SYSGEN program. This pro-
gram is written in 6502 assembly language using the Pascal Adap-
table Assembler. This routine simply turns off the language card
write protect and proceeds to overwrite portions of the BIOS
with the patches for use with the drivers | had stored previously
in the ROM Plus. Other patches are made to allow lower case dis-
play capability, as well as to allow the Pascal system to recognize
the ComputerWorld ROM.
Since the Pascal system cannot execute an assembly language
program directly (at least to my knowledge), a short Pascal pro-
gram appears in listing #3. After its compilation you must link
this Pascal program to the previously assembled SYSGEN routine.
Once the above steps have been taken, you can simply
“eXecute” the SYSGEN program at the Pascal command level,
and presto! Lowercase capability and printer capability are yours.
| will attempt to answer any questions you may have about
the BIOS, simply write:
RANDY HYDE
c/o APPLESAUCE
12804 MAGNOLIA
CHINO, CA 91710
appicyauce
LE CORPS
APPLESAUCE is the somewhat monthly publication of THE ORIG:
INAL-APPLE CORPS. Each month Applesauce features articles on
BASIC, Assembly Language, Pascal Business Applications and per:
sonal applications for the Apple Il. It is not simply a collection of
Peeks, Pokes, Calls and utilities, but features articles and colurnns
each mont
A subscription, tg APPLESAUCE costs $15 for 1 year (foreign or
ders please add for airmail postage). To get your subscription
started, or to get a sample copy write
APPLESAUCE 12804 Magnolia
Chino, CA 91710
PAGE 26
0800
0800
0800
0800
0800
O800
9800
o800
0800
9800
0800
0800
0800
o8O0
9800
0800
0800
0800
0800
0800
0800
0800
0800
9800
0800
0800
0800
0800
0800
0800
0800
0800
0800
0800
C800
cao
caoo
C800
C800
caoo
caoo
CaO
caoo
cao
ca00
C803
C805
C8e5
Caos
Caos
CBO4
C805
ALOOCO
B01
60
08
WONO MAW
THE APPLE ORCHARD
CNTRL.R EQU
CNTRL.K EQU
LINEFEED EAU
RETURN EQu
SHFTMASK EQU
CNTLMASK FE.QU
TRUE Eau
FALSE EQuU
+
ROMFLUS EQU
SHIFTFLG EQU
CNTRLFLG EQU
KEYBOARD EQU
KEYSTRE EQU
VARIABLES:
ppt
EYSAVE EQU
APSLOCK EQU
ne
PAG
ORG
ORY
OM eee
CONSTANTS ETC.
$92
$8B
SBA
$80
$20
$10
$1
$0
SFECIAL LOCATIONS
BSCOAQ
ROMPLUS
ROMPLUS
$0000
$CO10
$CFOO
$CFOL
$0800
$1000
SAVE
MARCH/APRIL 1980
sASSUMED IN SLOT #2
+LOCATION OF SHIFT FLAG
+LOCATION OF CTRL FLAG
+KEYBOARL PORT
>KEYBOARD CLEAR PORT
3CHAR SAVE AREA (CIN ROM+)
*SHIFTLOCK BOOLEAN
UCSD PASCAL LOWER CASE CONSOLE
ORIVER, FOR PLACEMENT IN
STATUS
MOUNTAIN HARDWARE’S ROM PLUS.
-ONSOLE:
LOA KEYBOART!
BML CNSLL
7
+ NO KEY, SO RETURN
RTS
3
+ KEY WAS PRESSED),
*
CNSL1 PHF
—_—O——ooOoOo
MARCH/APRIL 1980 THE APPLE ORCHARD PAGE 27
C807 37 F
C807 58 + CLEAR KEYBOARD FORT
C807 S59 oF
Cao? BCioca 60
CBOA 61 ;
62 +
63 + TEST FOR CONTROL-R (SHIFT/CAPS LOCK)
ot F
SBDOOCK 65 STA KEYSAVE. #SAVE INPUT CHAR
C992 66 CMF #CNTRL.R
TOOE 67 BNE CNSL2
68 ;¢
69 + NOW TOGGLE CAPS LOCK MOLE ANID
70 + RETURN
7io3
ADOTE 72 LDA CAPSLOCK
4901 73 XOR #TRUE
BIOL 74 AND #TRUE
SDOLCE 73 STA CAPSLOCK
1 26 76 PLE ¢FIX STACK
7 AIO 77 LIA #$0 #FILL ACC WITH NON-NEG #
E60 78 RTS
79 +
BO 3 TEST THE CURRENT CHARACTER
Al:
82 CNSL2:
83 +
Ad + SEE IF SHIFT IS PRESSED
85 +
- AMO 86 LOA #SHFTMASK
eCAOCO 87 BIT SHIFTFLG
DOGB 88 BNE NORMAL
89 +:
90 + NOW TEST FOR SIMULTANEOUS CTRL KEY
91 ¢
92 LOA #CNTLMASK
93 BIT CNTRLFLG
94 BNE TSTSHFT
95 4
96 + CONTROL-SHIFT CHAR HERE
97
98 LOX #12 #INIT FOR 12 CHARS
99 LUA KEYSAVE
100 CS).30F CMP SPEC» X
5 FOos8 BE@ FNDL
CA DEX
LOF 8 BPL CSLOOF
104 ¢
105 3 IGNOR C-S COMBINATION ANDI PASS
106 + CHARACTER UNCHANGED
107, +
ADOOCE 108 LDA KEYSAVE
28 109 PLE
60 110 RTS
111;
1i2 +
113° + SPECIAL CHARACTER WAS DETECTEL+
ii4 + CONVERT ANG LEAVE
PAGE 28
C83.
F
BOSACa
2 28
60
ALAZAB
AFTASAS
ATA BAD
BLIRF BE,
BC
DE
rr
COASAS
3/ Eor aro
DFDCIO
0B
f ADOLOF
| DOD
A202
ADOOCE
nD7AC8
FOO8
CA
. Lore
ADOOCF
28
60
Bos ice
28
60
CODDDE
DOCOCE
115
116
117
118
119
120
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
i49
150
151
152
153
154
15
154
157
158
159
160
161
162
163
164
165
FNOL
oo
a
Pull
a
SPECVAL
ag Se seers
STSHF Ts
LDA CAPSLOCK
BTR NOCHNG
*
LOX #2 sINIT FOR “@">
LDA KEYSAVE
SFTLOOF CMF SHFTC+X
BEQ FND2
DEX
BPL SFTLOOP
¢ AT THIS POINT, LEAVE THE CHARACTER
+ ALONE
LIA KEYSAVE
PLP
RTS
*
*# NOW A “@"» “J"y OR “*4" HAS BEEN
+ ENCOUNTERED. CONVERT TO “P", “M"+ OR
3
FNO2 LOA SHFTCUs X
PLP
RTS
3
7
SHFTC ASC "@1*"
SHF TCC ASC “PMN"
4
?
+ IF YOU GET TO THIS FOINT THEN THE
+ CAPSLOCK MONE IS IN EFFECT, SO TREAT
+ THE CHARACTER EXACTLY AS IT COMES
* FROM THE APPLE KEYBOARD.
-
NOCHNG:
THE APPLE ORCHARD
LDA
PLF
RTS
Ast
ASC
BYT
Asc
SPECVAL: X
wae
$FF
“@ZRSIF_N
Jc"
“BER CDEP"
SHIFT KEY IS PRESSED HERE
oN
MARCH/APRIL 1980
wg) he Pee
MARCH/APRIL 1980 THE APPLE ORCHARD , PAGE 29
C88O ADOOCF 1466 LDA KEYSAVE
cass CIB 167 CMP #ONTRL.K sCONTROL-K?
C885 Loos 168 BNE NOCHNG1
caa7 AcE 149 LOA #0" #CHANGE TO “C"
C889 BLOOCF 170 STA KEYSAVE.
caac 171 +
CABC ADOOCF 172 NOCHNGI LDA KEYSAVE
caer 28 173 PLP
ca90 40 174 RTS
casi 175 3
cag 176 +
cagL 177. + NORMAL CHARACTERS HERE (NO SHIFT OR CTRL)
cai 178 +
cari 179 NORMAL:
C891 ADOICF 180 LDA CAPSLOCK
Cao+ DOEA 181 BTR NOCHNG
C896 182 +
C896 183 + IF NOT IN CAPSI.UCK MODE, AND
CB96 184 + CHARACTER IS ALFHARETIC~ “UNSHIFT"
ca7S 185 3 If.
C896 186 +
C874 ANOOLF 187 LOA KEYSAVE
ca99 CICL 188 CMP #"A"
C89B 70E3 189 BLT NOCHNG
Cagn CIDE 190 CMP 8" Z "464
caor BOOF 194 BCE NOCHNG
CaAL 0920 192 ORA #$20
CAS BHOOCF 193 STA KEYSAVE
CBAS 4C80CB8 194 JMF NOCHNG
caA? 195 3
caAg 196 +
cea 197+
CBAD 198 PAG
C900 199 ORG $0900
£900 200 OBJ $1100
C700 201 +
C900 202 3
c00 203 +
C900 204 FHKE EEE EE EH HK EHH ERE HEE EK EEE EER EE EEE
c900 ;
C900 '
C900 ;
6900 $ COMPUTERWORLD! (ALIAS CCI OF OC)
c900 } PRINTER INTERFACE DRIVER
£900 $
C900 PINITs
C900 AI00 212 LDA #0
C902 Bngeco § 213 STA C090
C905 an93Bco 214 STA $CO93
C908 AIO4 215 LDA #4
CIOA BHPICO 216 STA $CO91
C900 AIFF 217 LOA #$FF
COOF BD92C0 218 STA $CO92
C912 AI3C 219 LOA #$30
C914 BLI93CO 220 STA $CO93
C917 A200 221 LOX #$0
C919 60 222 RTS
PAGE 30
CIA
CIA
CI1A
COLA
cao
cCAOO
CA00
CAD
CACO
CAgO
CAO
CAOz
CAGS
caog
CAS
CAO9
CAE
CAOR
CAOR
CAOB
CAOE
CAOC
CAGr
CALL
CAL4+
CAL6
CAi9
#eRES ENC OF
i
Add $1.50 /item, shipping and handling
professional, but not a substitute for
legal advice
THE APPLE ORCHARD.
MARCH/APRIL 1980
223 3
224 3
225 7
226 FAG
227 ORG $CA00
228 OBJ $1200
229 5
230 + CCI PI CHAROUT ROUTINE
23 -3
232 PWRIT:
297F 233 AND #$7F :STRIF H.U. BIT
48 234 PHA +ANDD SAVE
235 3
236 HANIISHK JSR $0681 ¢TEST KEYBOART!
237 LDA C090
238 BMI HANIISHK
239 +
240; RETRIEVE CHARACTER AND OUTPUT
241 TO PRINTER
242 +
68 243 PLA
ADGZCO Bad STA $CO92
AG31 245 LDA #$31
Bn9aCO «246 STA $0093 ;TOGGLE CHAR AVAILABLE
A93C 247 LDA #$30
B093C0 248 STA $Co93
60 249 RTS
250 END
ASSEMBLY
FINALLY, Apple II°® software for the discerning computerist,
and the not-so-discerning beginner
AppleAids™
Little Tricks™
A series of carefully explained subroutines containing a potpourri of
useful programming techniques in Integer Basic and Applesoft, such as
specific key stroke identification, timing loops, disappearing question
marks on input, no question marks on input, and many more.
Cassette (24K) 14.95 Disk (32K) 19.95
Scroll Control™
Have you ever wondered why you cannot list an Integer Basic or
Applesoft program one screen-page at a time? So have we, and we
did something about it! Our machine language Scroll Control, hidden
in RAM so as not to “bump” into your program, can be engaged or dis-
engaged at a flick of the keyboard. Why be frustrated when instead you
can control the scroll? Cassette 9.95 Disk 14.95
Form-It-Out™
A series of routines in Integer Basic and Applesoft containing detailed
explanation and examples of programming techniques necessary to
professionalize your screen output. Included are right and center justi-
fication, windowing, tabbing, cursor positioning among others.
Cassette (24K). 14.95 — Disk (32K)
Track & Sector List™
This is the ultimate disk utility. Instead of a catalog, have you ever seen
those dreaded words “I/O ERROR"? Is all lost? NO! Now your disk may
be saved. Also you can eliminate bad sectors, remove control characters
imbedded in file names, and more. This machine language program is
supplemented by extensive tutorial documentation worth its weight in
gold. Disk only (32K) 29.95
Compulaw™ Series
Hex and Decimal Learning Tree™
“Alitax Estimator™
This Applesoft program, prepared under the supervision of an attorney,
estimates disposable income after alimony and child support payments
and federal taxes. For use by laymen and attorneys. 1980 tables.
Cassette (24K). 9.95 — Disk (32K) 14.95
“Pensionner™
Accompanion to Alitax Estimator in Applesoft designed to calculate the
present value of a pension in states in which a pension is subject to
division in marital dissolution cases.
Disk (32K)
Cassette (24K). 9.95 14.95
NuJ. tes. add 5% sales tax
Apple Il and Applesoft are registered
trademarks of Apple Computer, Inc.
FTA
INCORPORATED ™
My ABC’s™
Anearly learning Integer Basic program using over one hundred and fifty
high resolution graphic letters and pictures ina drll-and-practice format
designed to develop identification of capital and small letters, and
association of letters with pictures. Scoring capability allows monitoring
Child tested and teacher recognized. Cassette (48K) 14.95 Disk 19.95
Now I Can Rhyme™
Accompanion to My ABC's in Integer Basic. The child selects those high
resolution pictures which rhyme. Score-keeping capability allows
monitoring. incorporates progressive levels of difficulty
Cassette (48K) ..14.95 Disk (48K) 19.95
P.O. Box 774M
| Morristown, NJ 07960
) |) (201) 539-3770
MARCH/APRIL 1980
1 LWRCASE
memory available:
PAGE
0001
Current
e000!
O000;
Oooo) AN 83C0
000s) AD 8300
OoOS!
00046!
00S!
o0046!
0004!
O0061 AO OO
1 BD £ERK
1 99 FADS
=i U8
OQOOF; CO 10
OOLL! 9OFS
oOoO1st
oo13!
ooO1s!
00131
oo13)
OoO13
oo1g)
OO131 A? BO
ooO1S: 80 ESn8
oo18! AI O2
OO1A! BD EVD
oor
oOo1ny
Oot
OOLL
ooint
OOLLT
OOLMT Ad OO
OOLF! BY x*¥x*
00% 99 EODA
0025: C8
00261 CO OE
o028! 9OFS
OGRA
A? 40
80 BAL/
A9 EO
0031: 80 BBR7
0034! AD DA
06361 8D 8CD7
00391
00371
o039t
00371 AQ OO
THE APPLE ORCHARD PAGE 31
FILE+¢L. ASM
+PROC LWRCASE
9527
LDA OCO83 #TURN ON RAM WRITE
LDA oCO83 #ON LANGUAGE CARD.
ROM PLUS PATCH TO ALLOW LOWER CASE
INFUT TO FASCAL SYSTEM.
LOY #0
LOOP LOA DATALLY
STA OL&9A+Y
INY
CFY #10
Bcc LooF
LOWER CASE DISFLAY FATCH. CONVERT THE
SBC #620 TO A BCC *+$4 INS ‘TION WHICH
ALLOWS LOWER CASE TO BE DISPLAYEL IF
THE USER HAS A DAN PAYMAR BOARD
LDA #OBO
STA OD8ES
LDA #2
STA OLSE9
COMPUTERWORLD PRINTER INITIALIZATION
FATCH TO BIOS.
LDY #0
LOOF2 LDA DATA2,Y
STA OOAEO:Y
INY
CPY #0E
BCC LOOF2
PATCH UP A JUMP TO THE ABOVE PRINTER
INIT ROUTINE.
LOA #40
STA OD78A
LIA #OEO
STA OD78B
LDA #0DA
STA 0078C
MOVE THE PRINTCHAR ROUTINE INTO BIOS
LOY #0
RHEE
FonA
OF
PAGE 32
Oo3R! BD
OOSE! 99
OO41) CB
oo4z CO
OO4+41 FOFS
0461
00451
0046)
00451
00461
OO1S) AF
0048) BL
OO4+BT AD
oo4n} BL
OOS41 AL
00671 O09
0059) BO
0060 +
0041
006C i
OOS t
o006C! AL
OOGF 1 60
070)
Os}
a0701
OO7 FT EA
00801
OOO}
48
106
OF
1406
O85
FOBF
OF BF
80
OFBF
88CO
THE APPLE ORCHARD MARCH/APRIL 1980
LOOPS LDA DATAS,Y
STA ODAFO:Y
INY
CFY #0F
gcc LOOFS
+ FATCH IN A JUMP TO THE PRINT CHAR
+ ROUTINE.
LDA #40
STA OD81i1
LOA #OFrO
STA OD812
LOA #00
STA OD81i3
FIX UP CARO RECOGNITION BYTES TO
CORRESFOND TO THE COMPUTERWORLD
INTERFACE,
LOA #48 +SHOULD BE 4+ FOR NEWER CAROS
STA OD610
LOA a4 ‘SHOULD BE 93 FOR NEWER CARDS
STA OD614.
PLACE A S IN LOCATION BFF9, THIS TELLS
APPLE FASCAL THAT A FRINTER INTERFACE
CARL IS IN SLOT #14
LUA #5
STA OBFF9
¢ SET J.CNE FEED IGNOR MODE
LOA OBFOF
ORA #80
STA OBFOF
WRITE FROTECT RAM CARL
LDA ocoss
RTS
#LOWERCASE INPUT DRIVER ROUTINE
DATAL «BYTE OALs OFF s OCF + LDA $CFFF
+ BYTE OA9)8A * LDA #684
«BYTE 8D, OAQ,0C0 + STA $COAQ
+ BYTE 20:0,0C8 * JSR $0300
»BYTE 10/30 + BFL JLIONCK
+ BYTE 29,7F + OND $7 F
+ BYTE OFA + NOP
DOS ERROR MESSAGE OVERRIDES
To avoid the NOMON CIO default:
POKE - 251277234,
POKE - 251287234.
POKE - 251277234 :
To defeat the NOT DIRECT COMMAND error’
POKE - 24543% 24%
PXKE - 245429234.
POKE - 245419234
Thes locations are for 48k, For 32k» add 419752
MARCH/APRIL 1980 THE APPLE ORCHARD PAGE 33
ou80! COMPUTERWORLD PRINTER INIT ROUTINE
0080)
0020x 8000
oo8G) AD FF CF RATAZ «BYTE OADy OFF, OCF + LDA $CFFF
0083! AD BA «BYTE OA9s BA + LDA #$8A
0083; 8D AO CO + BYTE 8D+0A0+0C0 ; $COAO
0088: 20 00 C9 »BYTE 20/0+0C9 3 JSR $0900
OOBBi AZ OO + BYTE 0A2+0 + LOX #60
oo8n! 60 +BYTE 60 ¢ RTS
OOBE!
003Cx BEOO
oo8E: AQ FF CF DATA3 . BYTE OAD, OFF; OCF + LOA $CFFF
00911 AD BA »BYTE OA9:BA + LOA #$8A
0093; 8D AQ CO » BYTE 80,0A0,0C0 + STA $COAO
0096! BA + BYTE 8A + TXA
00971 20 00 CA + BYTE 20,00,004 + JSR $CA00
OO9A! AZ OO »BYTE 0A2)00 + LOX #$0
o09t! 60 +BYTE 60 + RTS
oognt
oo9nt »ENO
FILE:L.ASM SYMBOLTABLE DUMP
AR - Aisalute Ud - Undefined MC - Macro
RF - Ref PR - Proc FC - Func
PB Pualic PY - Private Cs - Consts
LATAL LE 00701 DATAS LB 0080! DATA LB OO&E! LOOF LE OOO8!
2 LB OOLF: LOOPS LB OOSE! LWRCASE FR ---~
2 1 1:0 1 {$L PRINTER: |}
3 1 i:G 1 PROGRAM LOWERCASE;
PURCHASE AND RECEIVE SOFTWARE FOR THE
4 1 2D 1 PROCEDURE LWRCASEs APPLE If = INSTANTLY = THROUGH YouR MODEM.
EXTERNAL: A VARIETY OF PROGRAMS AT REASONABLE PRICES,
5 7 180 O BEGIN FULLY DOCUMENTED AAD TESTED, ALWAYS IN STOCK.
6 1 1:0 Oo OPEN 24 HOURS.
? 1 Len ie) LWRCASEs one [rel
. Your & avo , GLADLY ACCEPTED.
8 1 ded 4 NEVER A CHARGE FOR PosTAGE OR HANDLING.
9 = 1:0 4 ENO,
SAVE TIME AND MONEY. AvoID DISAPPOINTMENT.
CAL TopAY FoR A FREE DEMONSTRATION
AND A FREE SAMPLE PROGRAM.
E& a) 324-3115 movem
Aree 3c IS A REGISTERED TRADEMARK OF ATPLE Compurer, Inc.
POST OFFICE BOX G5'4% — TORRANCE, CALIFORNIA 0504
LOOF
MICROSOFT CONSUMER PRODUCTS
CONTINUING THE
MICROSOFT TRADITION
Microsoft set the standard in microcomputer system software. We know more
about the structure and capabilities of today’s microcomputers than anyone else.
And now we're using that power in a whole new way!
Announcing Microsoft Consumer Products. Dis-
tinctive software packages backed by the Microsoft
name. Each is created by a top-notch programmer
and comes to you fully documented, at a cost you
can afford.
Microsoft Editor/Assembler-Plus.* Now get every
feature of Radio Shack’s Editor/Assembler and T-Bug
all in one package. PLUS—many “big computer’
features to simplify your programming, editing and
debugging. All in a low cost cassette package.
Don’t waste time creating both source and object
tapes—Assembler-Plus assembles directly into mem-
ory. Supports macros and conditional assembly, too.
Editor-Plus simplifies editing with extra commands
like Substitute, Move, Copy and Extend. And
Z-Bug;” the most powerful debugger ever available
for the TRS-80, has single step execution, direct
execution in calculator mode and symbolic refer-
ences. And, you can use up to 8 breakpoints at a
time, with no need to remove a breakpoint before
proceeding. For the 16K, Level Il, cassette TRS-80.
Priced at $29.95.
Microsoft Adventure. Only Microsoft offers Adven-
ture complete, as originally written for the DEC
PDP-10, now implemented on personal computers.
The ultimate fantasy/logic game, Adventure allows
you to explore the depths of the “Colossal Cave,’
collecting treasures and magic, solving puzzles,
avoiding hazards and adversaries—including the
dreaded killer dwarves. Don‘t be fooled by imita-
tion or incomplete versions. Only Microsoft has it all.
Adventure fills an entire disk with everything you
need for your exploration. Written by Gordon Letwin,
of SOFIWIN, Associates. Adventure for the TRS-80 re-
quires a single-disk, 32K system. For the Apple II7* a
single-disk, 32K system with either the standard disk
or language card system. For just $29.95.
A
ICROSOFT
CONSUMER N PROD!
Microsoft Typing Tutor. There’s no easier way to mas-
ter your keyboard! Faster and more efficient than
any other teaching method, Typing Tutor helps you if
you're starting from scratch or simply building
speed. The secret lies in Typing Tutor’s exclusive TRM™
or “Time Response Monitoring” software. TRM moni-
tors your keyboard 20 times per second so the com-
puter can evaluate your skill. Your speed. Your errors.
Your weakest keys. Typing Tutor tells you where you
stand then automatically adjusts itself to help you
improve. Written by Dick Ainsworth and Al Baker of
the Image Producers, Inc. For the Apple II with 16K
and Apple BASIC or the TRS-80 with 16K and Level II
BASIC. Priced at $14.95.
Microsoft Level Ill BASIC. Upgrade your Level II
TRS-80 and increase your programming efficiency
without additional hardware. Microsoft Level Ill
loads from cassette tape on top of the Level Il ROM.
It gives you every feature of Disk BASIC except disk
file commands. But that’s not all—Level Ill’s high-
speed graphics turn your TRS-80° into a virtual elec-
tronic drawing board. And there's program renum-
bering, long error messages, quick shift-key entries,
time-limit INPUT statements and many more fea-
tures. System requirements: Level Il BASIC and 16K.
Occupies 5.2K RAM. Priced at $49.95,
Where To Buy. Microsoft Consumer Products are
sold by computer retailers nationwide. If your local
computer store doesn’t have them, call us. Phone
(206) 454-1315. Or write Microsoft Consumer Products,
10800 Northeast Eighth, Suite 819, Bellevue, WA 98004.
"TRS-80 is a trademark of Radio Shack Corp. * ‘Apple Il is a trade-
mark of Apple Computer, Inc.," Editor/Assembler-Plus and Z-Bug
are trademarks of Microsoft. TRM is a trademark of The Image
Producers, Inc
MARCH/APRIL 1980
gett
THE APPLE ORCHARD
PAGE 35
SOFTWARE DEVELOPMENT TOOLS
FOR THE APPLE II
by
Bob Stout
INTRODUCTION
The introduction of the Apple II+ was hailed by many as the
answer for many small systems (read business and similar systems)
applications. An Apple with Applesoft as its primary language is
obviously better suited to this market than the original Apple II.
However the adoption of the Autostart ROM as the new standard
monitor chip will unfortunately only serve to further isolate the
user from the computer’s internal operation and structure. While
this is unfortunate for the casu
Showing the first 100000 of 367403 characters.