[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