From owner-freebsd-hackers Sat Nov 1 23:30:20 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id XAA05644 for hackers-outgoing; Sat, 1 Nov 1997 23:30:20 -0800 (PST) (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 XAA05633 for ; Sat, 1 Nov 1997 23:30:17 -0800 (PST) (envelope-from jamil@trojanhorse.ml.org) Received: from localhost (jamil@localhost) by trojanhorse.ml.org (8.8.7/8.8.5) with SMTP id XAA02603; Sat, 1 Nov 1997 23:29:56 -0800 (PST) Date: Sat, 1 Nov 1997 23:29:56 -0800 (PST) From: "Jamil J. Weatherbee" To: Mike Smith cc: hackers@FreeBSD.ORG Subject: Re: 7400 gates effected by probe routine In-Reply-To: <199711020651.RAA00596@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 > > It's not too hard to trace the board back, but regardless this card of > yours has the change-of-state stuff; does it have a status register for > same? The only readable ports are the 8255s There is a change of state control (write only) and a clear change of state (write only) in addition to the two 8255s It is all reads 0xff like bus (16 ports), and what is really lame is that they had 6 extra ports, I wish they had stuck some magic numbers in there to read. > > Also, I don't have the right databook(s) here; what does the MODE/BITC > register on the 8255 read after reset? Nothing (0xff), the mode register is write only (at least for me) > Not really, no, unless MODE reads != 0xff. The 8255 isn't what you'd > describe as the most sophisticated bit of hardware. I'd still > recommend looking at the driver as having to address the hardware on > the other side of the card, rather than the card itself. I wish I had some hardware sophisticated enough for that! I just can't see how you'd have anything that sophisticated unless you were implementing some kind of bus with the thing, which for a card that operates in MODE0 would be kinda cludgy, since MODE1 or 2? provides some bi-directional features with port c as the status port. What I have considered however is the discrete state virtual machine someone mentioned previously. Perhaps based on the 6800 instruction set. Giving the card its own instruction set via the driver, so that the driver could be programmed from the users level to respond to events (change of states) with somekind of coherent and reliable outputs. I guess ol' tsleep() would certainly be the thing here hunh? I can immediately think of something this would be useful for as I worked on a project were I used an off the shelf rommable 68hc11 board equipped with a single 8255 as the sole interface to the outside equipment. The key here would be to guarantee some kind of responsiveness because the virtual machines would run inside the kernel. This ofcourse would be something for the future, but I'd really like to keep this open. I'm beggin yah to commit the thing!