Date : Tue, 20 Aug 2002 22:42:02 +1200
From : Michael Foot <mjfoot@...>
Subject: Re: Firetrack emulation again
In message <OF4A496D0A.C06740F6-ON80256C1A.0034A49A@...>
Richard_Talbot-Watkins@... wrote:
> Michael Foot <mjfoot@...> wrote:
>
> > Thanks for the summary. I thought there may be something
> > hardwired like that. However, it does not help with my initial
> > point 2 with regards to FireTrack because it will still display
> > blank lines when R9 goes from &7 to &F. Maybe my timing is
> > wrong or something?
>
> Very curious.... sounds like timing issues, but it's difficult
> to interpret your results without knowing which moment in the CRTC
> cycle you consider to be "VS" and the model you're using to
> emulate your screen refresh... having said that, if it seems to get
> my demo and Uridium working fine, there can't be too much wrong...
Oh yes! I'm excited now as I've just figured out what the problem is! The
fix means that my emulator can now handle FireTrack and it runs fast and
smooth. It also plots the water level in Exile in the correct place, which
it's never done before.
Essentially it was down to timing. The solution was very simple, but not
one I'd thought about or tried until now.
What I was doing when R0 in the CRTC was written to was to set up a timing
value based on the VideoULA fast or slow clock rate (bit 4). This value was
then used for all subsequent timing of the horizonal scanline, which worked
in all cases except FireTrack and Exile.
Now, after each scanline is plotted, what I do is alter the timer by (R0+1)
if the VideoULA clock chip select is set, or by ((R0+1) << 1) if it's not set.
Thanks for your help everyone. I'm sure the discussion over the last few
months has helped me to see this error.
I hope to have a new release of BeebIt soon, once I've tested everything
again. The next step is to get a reconfigurarble keyboard working so that
the key layout of the PC keyboard produces the correct characters in the
emulator - like pcBBC does. It will need a lot of thinking about, I'm sure.
Cheers,
Mike
--
Michael Foot <mjfoot(at)paradise(dot)net(dot)nz> *
http://homepages.paradise.net.nz/mjfoot/
* Replace letters between () with @ and . when replying