Re: BASIC for the CBM-II/8088

From: Michał Pleban <lists_at_michau.name>
Date: Sat, 14 Jul 2018 00:19:45 +0200
Message-ID: <5B492581.6030301@michau.name>
Mia Magnusson wrote:

> How about inside the 18Hz 8088 interrupt (if that is emulated)?

There is a 50Hz interrupt on the 8088 side, which is used to emulate the
18Hz PC interrupt.

HOWEVER.

An optimistic estimate shows that copying the whole screen from 8088 to
6509 would take about 30-35 ms, with highly optimized code. So
theroretically you can do it 30 times per second. But doing it requires
stopping the 8088 (it must relinquish memory access to the 6509 so that
it can do its job). So, for example, if you decide to refresh the screen
10 times per second, you will slow down the 8088 by 30%, because it will
spend 300 ms out of every second waiting for the 6509 to refresh the screen.

So I would like to get a little bit smarter about it, and invent some
heuristics to decide when to refresh the screen and when not. For
example, when the software is sitting in a tight loop waiting for a key
to be pressed, there is probably nothing being written to the screen at
the same time, so we might want to refresh it once a second just to be
sure. Wheread after the key is pressed, is is quite likely that the
application is going to write something to the screen, and it's likely
that the screen will then need refreshing. And so on.

Regards,
Michau
Received on 2018-07-14 01:00:06

Archive generated by hypermail 2.2.0.