jkm@astro.as.utexas.edu (James McCarthy) (03/09/91)
In [comp.periphs.printers] article <1991Feb28.10505>, Mike Murphey writes ... > ... > Back in the days when you could actually buy a Centronics 101, Centronics > had a specification for the interface. Now that nobody remembers what a > Centronics 101 looks like, people don't pay as much attention to the spec as > they might. The original spec (correct me if I'm wrong) was for 250KByte/sec, > i.e., 4us/byte transfer rate. The 101 would accept data at 4us/byte until the > line buffer filled, then go busy until the line printed (as in about 1/60 sec > busy whilst waiting for the mechanical stuff to move). This is really bursty > behavior. So, drivers for printers on parallel ports would do something like > the following in an interrupt routine: > > A: if done with user buffer, print request complete and exit interrupt > if printer busy, then exit interrupt routine > get a character from the user buffer > print the character > go back to A > > The 4us was short enough so that the time between "print the character" > and "if printer busy" in the loop meant that the printer wasn't busy except > when the mechanical stuff had to move (or the paper jammed or something broke) > .... >--- > Mike Murphy mrm@Sceard.COM ucsd!sceard!mrm +1 619 598 5874 This discussion in comp.periphs.printers regarding the Centronics printer inter- face prompts me to wonder about the feasibility of a PARALLEL interface to MIDI (Musical Instrument Digital Interface -- serial current loop at 31.25Kbaud, 5mA on/off signal in a typical serial protocol of 1 start bit followed by eight data bits and one stop bit -- serial MIDI interfaces using 9600 [or even 19.2K] baud aren't really fast enough). An article in _Computer_Music_Journal_, vol. 10, no. 3 (Fall 1986), pp.79-82 discusses "A MIDI Output Interface to a [Centronics] Parallel Printer Port" and gives a schematic and timing diagrams. BUT, it is only a one-way interface (computer ---> musical instrument); today's MIDI key- boards transmit event codes thru a separate "MIDI OUT" port, and ideally the parallel I/O interface should accept these data as well with a "MIDI IN" port. [ Sorry if this is too basic for you, but (i) I'm still fairly new to MIDI and (ii) I'm cross-posting this to several non-MIDI groups since I'm really after computer hardware information ... but I'm getting ahead of myself .... ] Indeed from the ref_manual of my computer/dinosaur it appears both are possible: my UCSD Pascal p-machine uses an ``8255A Programmable Peripheral Interface'' IC chip behind its 37-pin parallel port, and by default the p-system configures the parallel port to provide 8-bit parallel _input_ and _output_ capability through this port. The manual, however, doesn't say much more about _input_ but only goes on to discuss the parallel-port-to-Centronics-cable-wiring necessary for the proper _output_ handshakes ... using a small subset of the 37-pins on the computer's parallel port. Has anyone out there in net-land ever heard of this 8255A parallel I/O chip ? Can you point me towards some [old??] documentation ??? Do typical "parallel [printer] ports" on most of today's computers also have provision for 8-bit parallel *input* as well as output ? (it seems to me the best modern-day MIDI interfaces are cards for expansion slots [with direct access to the bus], but they're therefore very computer-specific [which won't help me w/ my dinosaur]; the other approach these days is to drive the MIDI interface from the serial port, but again this isn't really fast enough, and/or requires buffering the MIDI computer input). Followup please to rec.music.synth, or e-mail to me. Thanks in advance, -- Jim McCarthy 7201 Wood Hollow Dr. #326 Austin, TX 78731 (512) 346-7892 jkm@astro.as.utexas.edu -------------- Assuming I get this interface built someday, I'd also like to hear from folks writing their own [UCSD?] Pascal software for MIDI applications. I'm the new owner of a used Ensoniq Mirage digital sampling keyboard .... At the risk of embarrassing myself further (and causing laughter among the comp.* readers of this post :-), my `dinosaur' computer is a Western Digital "Pascal Microengine" [WD/90 or ME/1600] UCSD P-system w/ 128K RAM -- technology circa 1979 but still running !! ______________ Disclaimer: It goes without saying this has nothing at all to do with astronomy.... ------------------------------------------------------------------------------