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.
