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