[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: $c019 softswitch
- Subject: Re: $c019 softswitch
- From: dempson@actrix.gen.nz (David Empson)
- Date: 1999/05/04
- Newsgroups: comp.sys.apple2
- Organization: Empsoft
- References: <7gljo4$3ro$1@nnrp1.dejanews.com> <david.925790325@wraith>
David Wilson <david@uow.edu.au> wrote:
> bobryan9@my-dejanews.com writes:
> >At ftp://ground.ecn.uiowa.edu/apple2/MiscInfo/memory.softswitches there is
> >a list of softswitches.
>
> >What is this softswitch used for, and what does it do?::
>
> >RDVBLBAR = $C019 ;not VBL (VBL signal low)
>
> ReaD Vertical BLanking (active low). Bit 7 of this location will be a 0
> when the video beam is in the vertical retrace region. This can be used
> to force updates of the video screen to be synchronised with the 50/60Hz
> refresh - ie you will never get a screen with half old data and half new
> displayed. It can also be used to allow fancy split screen effects (ie
> 1/3 HIRES, 1/3 TEXT, 1/3 LORES or other combinations). It is not a softswitch,
> rather it is a status flag.
I agree with David's description, but I just wanted to add the following
points about RDVBLBAR:
1. It doesn't exist on the original ][ or ][+, only the IIe and IIgs.
2. The IIc uses this location for a different but related purpose:
reading it returns a "VBL interrupt pending" flag and clears the flag.
I think the polarity is inverted from the IIe: bit 7 set indicates that
VBLInt is pending. You can't safely use this if the mouse firmware is
active, because the mouse requires VBL itself.
3. If you have a mouse card in a ][, ][+ or IIe, it can be used to
generate a vertical blanking interrupt. The same facility is provided
by the mouse firmware in the IIc and IIgs.
--
David Empson
dempson@actrix.gen.nz
Snail mail: P.O. Box 27-103, Wellington, New Zealand