home .. forth .. colorforth mail list archive ..

RE: [colorforth] multitasking


On Sat, 16 Oct 2004, Howerd Oakford wrote:

> Hi Mark,
>
> The display task spends most of its time polling the display refresh flag -
> it only redraws the display when there is a chance that the image will be
> transferred to the video memory.
> Since display and keyboard are asynchronous, separate tasks is a good
> solution.

The display task -- and probably colorForth -- spends most of its time
dumping whole frames of pixels onto the PCI bus, seriously. There is no
display refresh flag, at least not in any version I have used. The
keyboard controller and the display controller may operate indpendently,
however in colorForth they are treated in sequence, the keyboard is
polled, for any key press there will one or more screen updates.

 >
> I would like to add at least two more tasks to handle serial and ethernet
> comms, as these are asynchronous too. I would not use a generic task
> creation word - it is much simpler to compile as many tasks as you need when
> you re-build the system. But this must wait until all of cf is ported to cf
> and it can build itself...

colorForth has handled asynchronous events without the need medium weight
tasks. I've had ethernet communication, as well as a start on TCP.
Interrupt handlers are stored in a vector on the PC, the interrupt
handlers in colorForth are very minimally altered Forth words.

I was planning to write some detailed documentation on the PC platform,
especially from the perspective of systems like colorForth. It might clear
up some issues. I am really interested in what is minimally needed to
support a user system like Jef Raskin's proposed Humane Environment.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: colorforth-unsubscribe@xxxxxxxxxxxxxxxxxx
For additional commands, e-mail: colorforth-help@xxxxxxxxxxxxxxxxxx
Main web page - http://www.colorforth.com