SUMMARY: Changing LUT during video blanking period

From: Richard Aufrichtig - BME (ra@morph.EBME.CWRU.Edu)
Date: Tue Dec 22 1992 - 01:03:08 CST

Original question:
> System: SS II, SunOS 4.1.2
> Is it possible to access the start of the video blanking period under
> Sun OS ? Is the ability to do so accurately dependent on how many tasks
> the processor is carrying out (i.e. the level of multitasking)? Would
> it be necessary/possible to "turn off" multitasking, and can this be
> accomplised simply by running only one program? Alternately, when a
> LUT is changed does this occur automatically or during the next video
> refresh?
> ======================================================================

I received 4 answers.
In short they are: yes, no, maybe, and don't do this with UNIX.
Here they are:

1. Yes. Look up the (barely documented) FBIOVERTICAL ioctl.
   Basically you can ioctl(frame_buffer_descriptor, FBIOVERTICAL, 0) and the
   call doesn't return until the next vertical blanking interval.

2. I don't have an answer, but I'd be interested also (I assume what you
   want to do is synchronize animation repaints with video so you don't
   see objectionable flashing). We do zoom-and-pan on images, and the
   flashing is pretty irritating. So I assume the answer to your hopeful
   second question is no ;-).

3. This is way out of my field but SunOS 4/Solaris 1 scheduler isn't up to
   that. Solaris 2.x might be. On the other hand, maybe what you need can
   be handled by the graphics processor with almost no CPU support.
   Unix is running several programs in backround all the time and it would
   break things severely to get it down to 1.

4. Oh, yuck, if you want to program for a PC use a PC in the first place.
   "running only one program"? What program might that be? A quescent
   Sun has about 40 programs running; do a 'ps -auxww' and see. SunOS
   isn't real-time, either.
   If you want > 256 colors on the screen at the same time, buy a
   framebuffer that does that.

Thanks to:


Richard Aufrichtig

Biomedical Image Processing Laboratory
Department of Biomedical Engineering
Case Western Reserve University
Wickenden Building
Cleveland, Ohio 44106, USA

phone: 216 - 368 8812

This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:06:55 CDT