Date : Wed, 04 Mar 2009 12:33:11 +1100
From : richard@... (Richard Wilson)
Subject: Fwd: New Screen Modes with ARM7 Co-Processor?
> -----Original Message-----
> From: John Kortink
> Sent: Tuesday, 3 March 2009 11:08 AM
> To: bbc-micro@...
> Subject: Re: [BBC-Micro] Fwd: New Screen Modes with ARM7 Co-Processor?
>
>
> On Mon, 2 Mar 2009 20:42:05 +0000 (GMT), tommowalker@...
> wrote:
>
> >And gives no chance of getting the fields the wrong way round -
> >requiring user intervention is bad!
>
> That I agree with. Assuming the frame type really is
> impossible to determine or force by software.
I would think that determining which field Odd or Even would be relatively
easy since the VSYNC is delayed by (R0 + 1) / 2 on the odd frames only. It's
a relatively simple task to measure the distance between VSYNC pulses in a
frame by reading CA1 on the System VIA.
> Either the CRTC picks up changes to its start address
> registers mid-frame, or it doesn't. No 'trick' should
> be needed to change that.
>
> My own experiments reveal no pick up whatsoever. Changes
> only become relevant at the start of the next frame. As
> predicted.
You can't change the start address in the middle of the frame, after all, it
is the 'start' address and not the current MA address. You can, however have
more than one frame in a visible screen and it can be completely seemless,
but that requires interrupts that are reasonably accurate (to half a frame)
so you can make all the required total and VSYNC register changes and set up
the start address for the next part of the frame. It's not really a 'trick',
just good knowledge of how the 6845 really works.
Did all BBCs have the same CRTC type? There are a number of variants.
Cheers,
Richard