[comp.sys.apple2] Looking for assem. routine to copy Aux mem to Main...

rsherman@mthvax.cs.miami.edu (Roby Sherman) (02/13/91)

Hi...

     (On yet another venture...) I've been trying write a routine in Melin
     to copy the contents of the Aux video buffer ($400-$800) to somewhere
     in Main Mem to be saved and later restored.

     Unfortunatly, I went from an Apple ][+ to a IIgs and bypassed learning
     how to switch between aux and main mem without crashing the computer
     that many //e and //c plus programmers had to go through. I can easily
     write this routine to work on a 65816 but I need this program to be //e
     and //c compatible... HELP!!!!!

     thanks in advance,

		 Roby

-- 
Roby Sherman    |  rsherman@mthvax.cs.miami.edu
//Interealm\\   |--------------------------------------------------------------
P.O. Box 63-04  | "Pulver the river and Frotz the woods..." -- Beyond Zork 
Miami, Fl. 33163| 

toddpw@nntp-server.caltech.edu (Todd P. Whitesel) (02/13/91)

rsherman@mthvax.cs.miami.edu (Roby Sherman) writes:

> (On yet another venture...) I've been trying write a routine in Melin
> to copy the contents of the Aux video buffer ($400-$800) to somewhere
> in Main Mem to be saved and later restored.

write a byte (anything) to $c001. This turns on a switch that Inside the Apple
//e calls 80STORE. read $c018 and test the hi bit to obtain 80STORE's current
status (usually off); i.e.
	bit 	$c018
	bmi	80STOREON
	bpl	80STOREOFF

while 80STORE is on, PAGE2 ($c054/c055) flips $400-$800 between main/aux--
$c054 for main, $c055 for aux. if HIRES is on, $2000-$3fff is also flipped
between main/aux in the same manner. BEWARE: WHILE 80STORE IS ON, THE VIDEO
HARDWARE IGNORES THE VALUE OF PAGE2 AND DISPLAYS VIDEO PAGE 1.

write any byte to $c000 to turn 80STORE off.

This is the simplest way to access the $400-$800 aux section. There are
other ways if this hopelessly conflicts with your memory layout and/or
display requirements.

BTW remember not to modify the screen holes -- better safe than stumped
when such-and-such makes it crash.

Todd Whitesel
toddpw @ tybalt.caltech.edu