Subject: Re: NetBSD 1.4.1 - Clock stops when doing I/O
To: Allen Briggs <briggs@ninthwonder.com>
From: Michael R. Zucca <mrz5149@acm.org>
List: port-mac68k
Date: 01/14/2000 01:29:41
At 8:53 PM -0500 1/13/00, Allen Briggs wrote:
>Do you want to do it that way, or install an interrupt handler for the
>video (which is already there, right?), and have it test to see if there
>is any work to do (i.e., reload the palette)?  I'd be happy to fool some
>with this if I had the rest of the code.  :-)

Setting the palette in a deferred manner isn't good because the queue
entries could be quite large. Also, some programs change the palette very
often, like in a loop. So I would imagine the queue filling up almost
immediately.

The trouble is, the IIsi hardware is designed to work for Mac/OS. That is,
the driver works with interrupts on, polling the location waiting for the
ISR to update the value. I tried this under NetBSD by installing an
interrupt handler that wrote a volatile location that the palette IOCTL
would poll. The code simply waited forever. Did I do something wrong or are
interrupts masked when entering IOCTLs?

>I'd be happy with stuff that isn't quite "the smallest and/or cleanest"
>that other people can work on -- probably with you answering some
>questions.  Ideally, you could write a treatise on the mac video.  For
>the NetBSD/mac68k web site--or an article for DaemonNews or some such.

I've debated which is better: writing docs or writing code. Given that
folks want something working I'm more interested in code now. However, I
would like to write documentation at some point so the knowlege is
available to others.



____________________________________________________________________
 Michael Zucca - mrz5149@acm.org - http://www.mdc.net/~mrz5149/
 "I will choose a path that's clear. I will choose Freewill. "
  --Rush, Freewill
____________________________________________________________________