Article View: comp.sys.next.programmer
Article #2158Re: 8 bits AND parity, please
From: Derek Taubert
Date: Sat, 19 Dec 1992 22:05
Date: Sat, 19 Dec 1992 22:05
45 lines
2779 bytes
2779 bytes
> of the hardware. The DSP and serial ports are the easiest IMO to write drivers
> for, as all you need is in header files hanging around on the system.
That WERE hanging around. Read on...
> /usr/include/nextdev/zscom.h has the kernel entry points for a driver to
> acquire and install interrupts for each of the serial ports. At driver open
> you call zsacquire(0 or 1 (a or b), ZCUSER_LOADABLE, intrsw) with
> intrsw filled in (see zscom.h) with a tx/rx and line state change interrupt
> routine. 'chan' would be the device port (0 or 1). and zsrelease is done
> when the device is close'd.
> /usr/include/nextdev/zsreg.h has all the defines you probably need for
> accessing the 8530 hardware directly. ZSADDR_A = serial port A's hardware
> registers. ZSADDR_B = serial port B's hardware registers. An 8530 manual
> would be a must at this stage... ZSREAD_A et al are handy macros for accessing
> the hardware and such.
Great. Except for one thing. Under 3.0, zscom.h has disappeared, and zsreg.h
has this to say:
* 22-May-91 Gregg Kellogg (gk) at NeXT
* Split out public interface.
No ZSADDR_A anywhere in all of /usr/include, no P_SCC in any of the cpu.h.
Anybody have suggestions so that I don't have to set up all of the 2.x header
files? Thank you NeXT, for making it this much harder for me to hack into
your kernel segments!!! I would really like an ACCEPTABLE explanation for
this from them.
struct zs_intrsw { /* interrupt switch */
int (*zi_xint)(int chan); /* transmitter interrupt routine */
int (*zi_rint)(int chan); /* receiver interrupt routine */
int (*zi_sint)(int chan); /* status change interrupt routine */
};
I assume the interrupt routines are passed the SCC channel that generated them
(same as unit in the zsacquire call?), but what to return from them?
> And disassembling the MIDI driver and kernel is a good idea for pointers...
Yup. HAD I spoken to anybody at NeXT about this, they MIGHT just have said
this as well (ahem). Is there a 68040 disassembler shipped with NS, if not,
where to get one? I assume not, since no man page for 'dis'.
Derek
Technical Details
Message-ID:
<1992Dec19.220522.2234@slab.slip.uiuc.edu>Path:
arc1-ca.pugleaf.net!sparky!uunet!spool.mu.edu!sdd.hp.com!cs.utexas.edu!usc!sol.ctr.columbia.edu!news.unomaha.edu!slab.slip.uiuc.edu!derekReferences:
<1992Dec15.182315.6970@zetetic.uucp> <BzE0qx.559@nic.umass.edu> <1992Dec17.182417.28639@netcom.com> <BzFuCK.9G3@nic.umass.edu>Show Full Headers
Complete Article Headers
Newsgroups: comp.sys.next.programmer Path: arc1-ca.pugleaf.net!sparky!uunet!spool.mu.edu!sdd.hp.com!cs.utexas.edu!usc!sol.ctr.columbia.edu!news.unomaha.edu!slab.slip.uiuc.edu!derek From: derek@slab.slip.uiuc.edu (Derek Taubert) Subject: Re: 8 bits AND parity, please Message-ID: <1992Dec19.220522.2234@slab.slip.uiuc.edu> Reply-To: derek@slab.slip.uiuc.edu (Derek Taubert) Organization: Damage, inc. References: <1992Dec15.182315.6970@zetetic.uucp> <BzE0qx.559@nic.umass.edu> <1992Dec17.182417.28639@netcom.com> <BzFuCK.9G3@nic.umass.edu> Date: Sat, 19 Dec 1992 22:05:22 GMT Lines: 45