Re: (slightly OT:) Parallel port question

From: Groepaz (groepaz_at_gmx.net)
Date: 2003-10-20 19:15:14

On Monday 20 October 2003 11:44, Baltissen, GJPAA (Ruud) wrote:
> Hallo Groepaz,
>
> > almost every (SPP-) parallelport "behaves like" a 8255.
>
> This point of view is new for me. What computer(s) used a 8255 for their
> LPT-port? 
> IBM did not. And most clones based their designs on the ones of IBM.

honestly, i neither know nor do i care. (although i believe there's an
8255 on the lpt card of my xt)

what i know is that all pc-docs i have (admittedly not much) refer to it,
and that programming it like these docs say always worked for me - across
all and every pc i tried so far.

what chip do you think ARE they using then btw? :) i cant even find a
reference to anything but 8255 in my docs (which are from 286' times, so
EPP isnt in them) [i've tried finding a reference on the net too, and 
cant find *any* parallelport docs that mention the chips used at all :=P]

from help-pc:

:ports:port addresses:hardware ports
^PORTS	Common I/O Port Addresses

[...]

%	060-067  8255 Programmable Peripheral Interface  (PC,XT, PCjr)
	060 8255 Port A keyboard input/output buffer (output PCjr)
	061 8255 Port B output
	062 8255 Port C input
	063 8255 Command/Mode control register

[...]

%	380-38F  Secondary Binary Synchronous Data Link Control (SDLC) adapter
	380 On board 8255 port A, internal/external sense
	381 On board 8255 port B, external modem interface
	382 On board 8255 port C, internal control and gating
	383 On board 8255 mode register

[...]

%	3A0-3AF  Primary Binary Synchronous Data Link Control (SDLC) adapter
	3A0 On board 8255 port A, internal/external sense
	3A1 On board 8255 port B, external modem interface
	3A2 On board 8255 port C, internal control and gating
	3A3 On board 8255 mode register

[...]

:parallel port:printer port
^Parallel Printer Port

%	Port 3BC printer data output  (readable)

	 ³7³6³5³4³3³2³1³0³  ports 278, 378, 3BC
	  ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄ data bit 0, hardware pin 2
	  ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ data bit 1, hardware pin 3
	  ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄ data bit 2, hardware pin 4
	  ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ data bit 3, hardware pin 5
	  ³ ³ ³ ÀÄÄÄÄÄÄÄÄ data bit 4, hardware pin 6
	  ³ ³ ÀÄÄÄÄÄÄÄÄÄ data bit 5, hardware pin 7
	  ³ ÀÄÄÄÄÄÄÄÄÄÄ data bit 6, hardware pin 8
	  ÀÄÄÄÄÄÄÄÄÄÄÄ data bit 7, hardware pin 9

%	Port 3BD printer status register   (Parallel Printer Port)

	 ³7³6³5³4³3³2³1³0³  ports 279, 379, 3BD
	  ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄ 1 = time-out
	  ³ ³ ³ ³ ³ ÀÄÁÄÄÄÄÄ unused
	  ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄ 1 = error,	pin 15
	  ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ 1 = on-line,  pin 13
	  ³ ³ ÀÄÄÄÄÄÄÄÄÄÄ 1 = out of paper,  pin 12
	  ³ ÀÄÄÄÄÄÄÄÄÄÄÄ 0 = Acknowledge,  pin 10
	  ÀÄÄÄÄÄÄÄÄÄÄÄÄ 0 = busy,  pin 11

%	Port 3BE printer control register   (Parallel Printer Port)

	 ³7³6³5³4³3³2³1³0³  ports 27A, 37A, 3BE
	  ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄ 1 = output data to printer,  (pin 1)
	  ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ 1 = auto line feed,  (pin 14)
	  ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄ 0 = initialize printer,  (pin 16)
	  ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ 1 = printer reads output,  (pin 17)
	  ³ ³ ³ ÀÄÄÄÄÄÄÄÄ 0 = IRQ disable,1=IRQ enable for ACK
	  ÀÄÁÄÁÄÄÄÄÄÄÄÄÄ unused

(please notice "data", "status", "control" refer to the *printer* here, not
to the i/o chip)

quite a bunch of 8255's in there, not only for printer port eh? :=)

> Using a 8255 has an advantage: it saves space, certainly in a
> laptop/dragable. 

maybe in ancient designs :=P i pretty much doubt there are 8255's on any modern
boards - however even modern lpt ports (in SPP mode!) can be programmed as if
it was one.

> The disadvantage: it cannot be used as a bi-directional
> port using 'normal' software like Star Commander. 

sure can - guess what the "SPP" setting is good for. (also, 4bit bi-directional
transfer isnt a problem at all - check the original PC-64 cable, or one of these
custom crossassembler cables)

> The used 8255-port is
> bi-directional but changing its direction means writing to the command
> register, one the IBM bi-directional LPT-port doesn't know.

guess why i wrote SPP port - they arent "bi-directional" like EPP is.

gpz



       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.