textfiles/apple/a2memmov.txt

118 lines
6.2 KiB
Plaintext
Raw Normal View History

2021-04-15 11:31:59 -07:00
File: EXT. 30 COL. TUTOR I
Read 101 times
----------------------------------------
! !
! Memory Moves With An Apple ][e !
! and Extended 80 Column Card !
! !
! Part I !
! !
! a tutorial by: !
! !
! >>>>-------> Hawkeye !
! !
----------------------------------------
Welcome, one and all, to the first in what should be an informative series of
tutorials on some of the more exotic uses of an extended 80 column card on an
Apple ][e. We'll be discussing, among other things:
-The hardware implementation of the card
-The firmware routines provided by Apple
-Possible applications of these routines
-Software to interface these routines to a high level language.
In the future, we'll look at source code (6502 assembly language) that will
enable you to move blocks of memory up and down between the motherboard and
extended 80 column card under control Applesoft BASIC's "&" command, and an
Applesoft example program that will make use of the assembly driver.
*** Hardware Implementation ***
First, some history...
When Apple redesigned our old, faithful friend, the II/II+, a bright new star
was born - the Apple ][e. Many of the "flaws" in the old design were fixed;
the new computer had many of the more advanced features that diehard Apple
freaks had been crying for for years. We'd look at garbage computers like the
TRaSh 80, with their 80 column displays, and have to endure the sneers of their
snobbish (and subhuman) owners as they chortled over our inferior 40 column
screens. Then, along came Big Brother, aka IBM, with their very own overrated
machine, the PC. Those who poured their savings accounts into the new PC
systems were rewarded with tons of memory and a license to look down upon the
foolish, outdated Apple users with their paltry 64K of memory.
And these were just some of the things we had to put up with. Many other new
features were appearing in various machines that were poised to bludgeon Apple
II's to death in the market- place. The situation was beginning to become
embarrassing, to the point where many hard-core (heh heh) Apple freaks were
preparing to leap from tail buildings with their beloved computers cradled in
their arms.
Luckily, Apple Computer woke up from their Apple III induced slumber and did
a marvelous redesign of the ][. The resulting Apple ][e had such new features
as a complete upper/lower case keyboard, 64K standard (no more language card),
self-diagnostics, and a greatly reduced chip count, to name a few. But the
most important feature was the inclusion of built-in 80 col- umn circuitry that
enabled ecstatic ][e owners to plug an inexpensive 80 column card into a brand
new slot on the motherboard, which we'll call the "superslot". The superslot,
which has access to even more signals than the standard peripheral expansion
slots, takes over the functions of slot 3 if a special I/O card is plugged into
it.
So, the new Apple could display 80 columns on a standard monochrome mon-
itor. This standardization of such a display was good news (as opposed to the
multitude of 80 column cards, all with their own command sets, that many
manufacturers had been more than happy to sell to starving ][/][+ owners, at an
exorbitant price). But what set the display card apart from anything seen
before was the inclusion of the ability to place an additional 64K of memory on
the card. This would bring the total memory of an appropriately equipped ][e
up to 128K, which was more than most of the other pretenders to the Apple
throne could muster.
Only one problem here, though. How does one go about using the extra memory?
Apple provides a manual detailing the operation of the card, as well as the
firmware routines on the card that can be used by an enterprising 6502 prog-
rammer. Unfortunately, it contains no programming examples. The extended 80
column card reference manual is fine for those who have experience with both
Apples and 6502 programming, but little for the average Apple user.
The purpose of this series will be to discuss some of the firmware routines,
how they can be used from either BASIC or Pascal, and some possible ways that
they can be usefully applied in areas like graphics programming. Enough 6502
source code will be provided to illus- trate these ideas. If enough interest
is shown by the members of Sherwood Forest, I will consider extending the
topics of this series to other areas of my experience, which could include:
-Advanced Pascal graphics programming (in general, and also making use of the
X80 card in various applications).
-Vector graphics from Pascal, including:
...World and device coordinates
...Drawing vector shapes
...Zooming, scaling, rotation, and translation of shapes in 2-D.
...Demo program listings in Pascal to illustrate these topics and more.
These are the techniques used by large scale CAD/CAM and vector graphics sys-
tems, and are a fascinating area of study.
-Using an Apple Graphics Tablet from BASIC and Pascal. For the latter, an
assembly driver for the Pascal system will be included in commented source
form.
-General questions on the Apple family of computers, in terms of both hard-
ware and software.
If you'd like to know more about any of these topics, feel free to send mail
to me here at Sherwood Forest. The same goes for any feedback/opinions about
what you've read, in this column as well as in future columns. Try to keep the
verbal abuse to a minimum, though...
Coming next... a discussion of the 80 column firmware routine AUXMOVE and
how to use it to perform some magic on your Apple ][e.
like graphics programming. Enough 6502.