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

Re: [colorforth] precision delay



On Thu, 30 Aug 2001, Bernd Beuster wrote:

> 
> For delays in the msec range I would consider a multi-tasking-save
> version, what does not block the other tasks (as a simple loop does).
> 

Yes, that is probably the way to do it. Unfortunately, I don't
think Steve's code will work for this. I believe interupts are not allowed
in 32-bit protected mode.

> All in all it's bad hardware design, better use a status flag if
> initialized.
> 

I don't know exactly how it will fit in. Right now it's part of the
graphics initialization. Eventually I would like to recode it in
colorForth, then the code can be loaded or discarded depending on if you
have the card or not. colorForth will probably have to change a bit to
accomodate the requirements of different graphics cards, for example, I
can't change modes until the basic initialization is done. So this means I
either recode the mode switch and do initialization in protected mode
somewhere, or I can delay the switch to protected mode, do initialization,
and then use the bios switch. It's a lot cleaner to do the former, but
also a lot more work.

I put my progress so far at:
http://www.oakland.edu/~maslicke/colorforth/matrox 

I ended up using the programable interupt timer (PIT) for the delay,
although Tom's code could probably work just as well.

I've been having the worst time trying to this code working, if anyone
here is a PC guru, let me know if you see any glaring errors. The g400
manual mentions PCI initialization, but does not describe what needs
to be done. I took guess, but it looks like I'll have dig into the
Linux code to see what actually works.

Mark




---------------------------------------------------------------------
To unsubscribe, e-mail: colorforth-unsubscribe@xxxxxxxxxxxxxxxxxx
List problems, e-mail:  list-admin@xxxxxxxxxxxxxxxxxx
Main web site:  http://www.colorforth.com