From owner-freebsd-hackers Sun Oct 19 11:54:49 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id LAA25592 for hackers-outgoing; Sun, 19 Oct 1997 11:54:49 -0700 (PDT) (envelope-from owner-freebsd-hackers) Received: from trojanhorse.ml.org (mdean.vip.best.com [206.86.94.101]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id LAA25577 for ; Sun, 19 Oct 1997 11:54:42 -0700 (PDT) (envelope-from jamil@trojanhorse.ml.org) Received: from localhost (jamil@localhost) by trojanhorse.ml.org (8.8.7/8.8.5) with SMTP id LAA00646; Sun, 19 Oct 1997 11:54:24 -0700 (PDT) Date: Sun, 19 Oct 1997 11:54:23 -0700 (PDT) From: "Jamil J. Weatherbee" Reply-To: "Jamil J. Weatherbee" To: Mike Smith cc: Peter Dufault , freebsd-hackers@FreeBSD.ORG Subject: Re: Opinions wanted. In-Reply-To: <199710191411.XAA00268@word.smith.net.au> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk This particular hardware has 2 8255's (and only the C port can be split), it also only operates in mode 0. And since the point of spliting the c port is so you can have your bits half and half it is not necessary here since there are two 8255's. The board also has change of state interrupts (on all lines) which is why I did this in the first place. Unless you have a better way to pass interrupts through to a user process (I'll immediately throw away all my work and use that). I think criticism is good here but please take a look at the spec sheet first: http://www.indcompsrc.com/products/data/html/dio48s_at-p.html > I'll reiterate the point, and clarify. It makes little sense to model > the 8255 like this, as it is prohibitively restrictive. > > Each of ports A and B are split in half, and each half can be > configured for input or output. You don't make allowance for this mode > of operation. Also it is only port C that can be split not port A and B > You also don't provide for use of the bit-port operations on port C. Set/Reset operations are not supported by this board, that bit is used for tristate enable/disable > If it's only going to be used for your application, the fact that it > works for you is probably enough. If you're aiming for mainstream > integration, you've got a lot more ground to cover. 8) I've been trying my best to make it as general as possible. If you have tangible ideas in terms of functionality after you see the code and spec sheet I'd be happy to add them.