Caple C871i Bedienungsanleitung Seite 282

  • Herunterladen
  • Zu meinen Handbüchern hinzufügen
  • Drucken
  • Seite
    / 572
  • Inhaltsverzeichnis
  • LESEZEICHEN
  • Bewertet. / 5. Basierend auf Kundenbewertungen
Seitenansicht 281
Apple II Computer Info
Lines: 256
In article <[email protected]>,
John Edward Flanders <[email protected]> wrote:
>
> Could anyone please explain the locations and functions of the memory bank
> switches on an Apple //e with 128k memory?
I assume you are referring to the IIe-specific bank switches relating
to the 64K auxiliary memory, and not the $D000-$FFFF soft-switches,
which are the same as the ][/][+ with a language card installed. (I
have described these anyway.)
Before mentioning the soft-switches, I should first cover the firmware
routines that are normally used to access auxiliary memory. These
routines are generally easier to use than trying to control the
soft-switches directly, as it avoids the problem of your memory
switching out from underneath you while you are trying to execute code!
Two special routines are provided in the IIe firmware. They are
dependent on the built-in 80-column firmware, so they might not be
available if a card with firmware on it is installed in slot 3.
AUXMOVE ($C311) is used to copy data either way between main and
auxiliary memory (in the $0200-$BFFF area).
Before calling AUXMOVE, the following zero page locations must be set up:
$3C - $3D Source starting address (low byte, high byte)
$3E - $3F Source ending address (low byte, high byte)
$42 - $43 Destination startion address (low byte, high byte)
In addition, the carry flag must be set to indicate the direction of
the move: C=1 to move from main to auxiliary memory, C=0 to move from
auxiliary to main memory.
XFER ($C314) is used to transfer execution between code running in main
and auxiliary memory.
Locations $03ED and $03EE must be set to the address of the destination
routine in the other bank. The carry and overflow flags must be set
as follows: C=1 to transfer execution from main to auxiliary memory,
C=0 for auxiliary to main memory; V=1 to use auxiliary zero page,
stack and language card, V=0 to use main zero page, stack and language
card.
When using this routine, it is also necessary to save and restore the
main and auxiliary stack pointers, which are stored at locations $0100
and $0101 respectively (both in auxiliary memory).
Since these routines execute from the I/O space, they are able to
access both banks without causing problems. For code executing from
main memory, it is possible to write to auxiliary memory, but reading
from auxiliary memory is not directly possible (your code is switched
out).
Auxiliary Memory Soft-switches
==============================
Apple II Computer Technical Information : Apple II Family Hardware Info
ftp://ground.ecn.uiowa.edu/2/apple2/miscinfo/hardware : May 2001 : 282 of 572
Seitenansicht 281
1 2 ... 277 278 279 280 281 282 283 284 285 286 287 ... 571 572

Kommentare zu diesen Handbüchern

Keine Kommentare