[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Double lowres graphics?
David Empson wrote:
>
> Dennis Jenkins <dennis@usb.com> wrote:
>
> > Mike Pfaiffer wrote:
> > > Dennis Jenkins wrote:
> > > Oddly enough, for the machines you mentioned, double lores is
> > > implemented in Applesoft.
>
> It is supported by Applesoft in the IIgs, but not for the IIe (nor the
> IIc). I don't know about the IIe emulation card for the Mac LC.
>
> Hardware support is available in all of these machines.
>
> For the IIgs, you get double lo-res graphics from Applesoft by having
> 80-column mode active (PR#3), setting annunciator 3 to the correct state
> (reading either $C05E or $C05F - I can never remember which) and doing a
> GR. You will get 80x40 mode, or 80x48 if you switch to full screen
> mode.
> For the IIe or IIc you would have to implement it yourself, as the
> lo-res graphics routines only know about 40-column mode.
Since I want my code to work on all Apple II's that have hardware
support for
double low-res, I'll write the pixel plotting code myself, instead of
calling
Applesoft's implementation. However, how to I programmatically turn on
and off
the 80 column firmware such that the output routine at $FDED will
understand what
I'm doing? I know I can turn it on with a "jsr $c300", but how do I
turn it off?
>
> > Do any of the older machines NOT support double low res? Is it safe to
> > assume that ALL Apple II's with 128K ram have double low res capability?
>
> I'm not sure about the revision A motherboard for the Apple IIe, which
> doesn't support double hi-res graphics (it might not support double
> lo-res either).
>
> > Why does prodos have to load $SYS programs into the highres memory
> > area?
>
> The quit code (program selector) is copied into main memory at
> $1000-$12FF, and it needs to be able to use at least $400 bytes for
> buffer space, so $2000 seems a natural location.
> > I want to write a program as a prodos-8 native .SYS program AND use
> > highres graphics. Writing a relocated is not easy right now, esp. since I
> > use the CC65 cross compiler... For now, I'll just stick to .BIN files
> > that load at either 800h or 4000h. Argh!
>
> The easiest solution is usually to build the program for its ultimate
> location, and throw a small machine code relocator on the front, which
> can do a simple memory move.
>
> If this isn't easy given the tools available in the development
> environment, you should be able to write the relocator separately and
> use BLOAD and BSAVE commands to hack the SYS file into one piece.
Could I just set the aux_type flag on my file to $4000, if the decrease
in memory
is not a concern to me. I can always try this tonight on my own.
--
dennis@usb.com Universal Savings Bank.
The three most dangerous things are a programmer with a soldering
iron, a manager who codes, and a user who gets ideas.