[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Double lowres graphics?
Mike Pfaiffer (pfaiffer@mts.net) wrote:
: Dennis Jenkins wrote:
: >
: > Is it possible to manipulate any Apple II system into generating double
: > resolution low resolution graphics? (ie, 80x40 or 80x48)? I assume
: > that I'd have to write my own code to plot the pixels instead of calling
: > the routines built into Applesoft.
: >
: > If it is possible, which models will it work on? I'm primarily
: > interested in getting this to work on a IIe, IIgs and the IIe card in my
: > Mac LC-II.
: >
: > If it is possible, then how would I access the AUX memory for
: > read/writes to 0x400-0x7ff. I seem to remember reading about how to do
: > this from the book that came with the 80 column card.
: >
: > If double low-res graphics are possible, I will write a library for the
: > CC65 compiler to do the normal graphics primitives that one would expect
: > (plot, peek (or SCRN() for the purists out there!), set color, cls, set
: > mode, etc...)
: Oddly enough, for the machines you mentioned, double lores is
: implemented in Applesoft. The only catch is you have to switch to the
: mode to access it. I think there are only three settings which need to
: be changed. This can be done through Applesoft as well. I think they are
: the same settings needed for double hires except the lores setting is
: selected instead of hires.
Mike is correct here. Remember that the lo-res screen is implemented on
the text screen. You need an Apple ][e of Revision B or later, an Apple
//c, or an Apple IIgs. I'm not certain whether the Applesoft commands
were added to the "unenhanced" ][e Applesoft or not...
(Dave goes and plays with his enhanced ][e)
Well, as it turns out, the double lo-res commands are NOT implemented in
Applesoft on the ][e. Can't check on the IIgs right now 'cause I'm using
it to type this message. 8-)
But it is simple enough to use. Here are the things you need to know:
1) You must have the 80-column display card active.
2) To activate double graphics mode, you need to turn Annunciator #3 OFF.
Note that the supplement to the Extended 80-column card got this wrong
by saying that double graphics comes from turning Annunciator #3 ON; in
fact, that annunciator is left on by default; turning it off gives you
double graphics.
3) The display is horizontally interlaced. Even numbered columns
(0,2,4...78) are in auxiliary memory; odd numbered columns
(1,3,5...79) are in main memory.
4) To distinguish between main and auxiliary screen memory, use the Page
1/Page 2 soft switch. "Page 1" indicates main memory, "Page 2" indicates
auxiliary memory. You can't see the second page of either text or
graphics when the 80-column card firmware is active.
To clear the entire double-lo-res screen and draw a white horizontal line
across the middle of it, then, you would need to do the following:
]PR#3
]GR
]POKE -16290,0: REM Annunciator 3
]POKE -16299,0: REM Page 2
]GR : REM Clear the other half of the page
]COLOR=15 : REM Set color=White
]HLIN 0,39 AT 24 : REM Draw line across even spaces
]POKE -16300,0 :REM Select main memory
]HLIN 0,39 AT 24 : REM Fill in the gaps
I have just been informed that the system is about to go down, so I have
to run. I'll present the list of soft-switches next time I read this
newsgroup.
--Dave Althoff, ][.
--
/X\ _ _ _*** Closed for the season ***
/XXX\ /X\ /X\_ _ /X\__ _ _ _____
/XXXXX\ /XXX\ _/XXXX\_ /X\ /XXXXX\ /X\ /X\ /XXXXX
_/XXXXXXX\__/XXXXX\/XXXXXXXX\_/XXX\_/XXXXXXX\__/XXX\_/XXX\_/\_/XXXXXX