Re: (slightly OT:) Parallel port question

From: Groepaz (
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)

	 񽼖񽔼񼭢񼆈  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)

	 񽼖񽔼񼭢񼆈  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)

	 񽼖񽔼񼭢񼆈  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.


       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.