home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sys.next.programmer
- Path: 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
-
- > 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
-