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.