hw-parport-ps/2 (libparport.la :: parport_component_library)

Synopsis:

This component models a PS/2-style parallel port controller.


Functionality:

Modelling:

The PS/2 parallel port controller is a simple 8-bit I/O interface to a printer. From its origins, the parallel port system has evolved into higher functionality IEEE-1284 controllers, but this sid component implements a version of the simple original standard.

The specific hardware being modelled is the parallel port part of the Exar 16C552 device.

Behaviors
register access

Byte-wide operations on the registers bus access control registers of the model. The control registers are also exported as attributes.

name address values permitted accesses
Port 0x00 0x00 - 0xFF read/write
IO Select 0x01 0x00 - 0xFF write
Control 0x02 0xC0 - 0xFF write
Status 0x01 0x03 - 0xFF read
Command 0x02 0xE0 - 0xFF read
parallel i/o In the default output-only mode, a data byte written to the Port control register is transmitted bit-by-bit to the PD0..PD7 output pins. The parallel port controller model may be switched into the input mode by using the appropriate combination of signals on the BIDEN pin, the I/O Select register, and a bit in the Control register. In this mode, signals driven onto the PD0..PD7 input pins are forwarded to the Port control register. The usual parallel port handshaking signals (STROBE, ACK, ERROR, ERROR, BUSY, PE) are used to carry out the Centronics printer protocol. The appropriate pins use an "active-low" polarity, which means that zero is interpreted as an asserted signal, and non-zero as a deasserted signal. Tri-state signals in hardware are not specifically modelled.
reset When the RESET input pin is driven, control registers and pins return to their usual power-on states.

SID Conventions
functional supported -
save/restore supported -
triggerpoints supported -


Environment:

Related components

This component is customarily attached to a source of a reset signal. The PD0..PD7 pins may be connected to simulated switches or indicators as needed.

	new hw-parport-ps/2 pport
	new hw-cpu-foo cpu
	new hw-mapper-basic mapper
	new hw-blinker-light led
	connect-pin main starting -> pport RESET
	connect-pin pport INTP -> cpu interrupt
	connect-pin pport PD0 -> led signal
	connect-bus mapper [0x3f0-0x3f8,4,1] pport Bus
    


Component Reference:

Component: hw-parport-ps/2

pins
namedirectionlegalvaluesbehaviors
STROBEout0, 1parallel i/o
AUTOFDXTout0, 1parallel i/o
SLCTINout0, 1parallel i/o
INITout0, 1parallel i/o
INTPout0, 1parallel i/o
ERRORin0, 1parallel i/o
SLCTin0, 1parallel i/o
PEin0, 1parallel i/o
ACKin0, 1parallel i/o
BUSYin0, 1parallel i/o
INTSELin0, 1parallel i/o
BIDENin0, 1parallel i/o
RESETinanyreset
PD0..PD7inout0, 1parallel i/o

buses
nameaddressesaccessesbehaviors
Bus0x00 - 0x02byte-wide-access onlyregister access

attributes
namecategorylegal valuesdefault valuebehaviors
STROBEpin0, 1-parallel i/o
AUTOFDXTpin0, 1-parallel i/o
SLCTINpin0, 1-parallel i/o
INITpin0, 1-parallel i/o
INTPpin0, 1-parallel i/o
ERRORpin0, 1-parallel i/o
SLCTpin0, 1-parallel i/o
PEpin0, 1-parallel i/o
ACKpin0, 1-parallel i/o
BUSYpin0, 1-parallel i/o
INTSELpin0, 1-parallel i/o
BIDENpin0, 1-parallel i/o
RESETpinany-reset
PD0..PD7pin0, 1-parallel i/o
PRregisternumeric string-register access
SRregisternumeric string-register access
COMregisternumeric string-register access
CONregisternumeric string-register access
IOSELregisternumeric string-register access
state-snapshot-opaque string-state save/restore


References: