[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Double lowres graphics?



To complete what I, Dave Althoff Jr (dalloff@gcfn.org) wrote last night:
: 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

The soft switches are as follows:
Annunciator 3 On (double graphics off):  $C05F  49247 -16289
Annunciator 3 Off (double graphics on):  $C05E  49246 -16290
Select Page 1 (Main Memory)           :  $C054  49236 -16300
Select Page 2 (Aux Memory)            :  $C055  49237 -16299

--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