User manual

20
1.5 CHAPI based components provided with CHARON-VAX or
CHARON-PDP.
CHARON kits contains a number of CHAPI based components that are provided on an
'as is' basis. Some of these components are provided in source code to help a developer
to modify or create new CHAPI based devices. The supplied examples are chosen to
reflect the aspects of general device using CHAPI, they do not necessarily suggest an
optimal implementation for a specific project.
1.5.1 Loading the CHAPI components
Any CHAPI component created in accordance with the CHAPI specification is represented
by a dynamically linked library (DLL). Such a component is loaded with the emulator
kernel by specifying it - with an arbitrary logical name - in the configuration file. Each such
DLL can have its parameters set using the standard set command syntax:
// Load a user created CHAPI device, implemented as chapi_dev.dll
// Identified as <dev_name>, specify its bus address,
// interrupt vector and user defined parameters.
load chapi <dev_name> dll = chapi_dev.dll
set <dev_name> address = <device_bus_address>
set <dev_name> vector = <device_interrupt_vector>
set <dev_name> trace_level = <trace_level>
set <dev_name> par1[N]=val1 par2[N]=val2 … parK[N] = valK
Parameters
address
’,
vector
and
trace_level
are common for any kind of CHAPI bus
device. The implementation specific parameters can be passed to the CHAPI device in
two different ways:
1) By means of a single string parameter called ‘parameter’ – this method, used in the
first implementation of CHAPI is only retained for compatibility reasons and not
recommended. The CHAPI examples in this manual do not use this method.
2)
By specifying a 'set' command for any of the user defined configuration parameters
created during the CHAPI device initialization. These configuration options are
specified in the following lines of the configuration file, after the
dll
’ load command
has associated the device with its given logical name '
<dev_name>'.
The details of the CHAPI API, and how to use user defined configuration options are
described later in this document. Usage examples are also supplied.
1.5.2 The CHAPI device list
DH11
The CHAPI DH11 UNIBUS serial line multiplexer is implemented as the
CHAPI_DH11.DLL and uses CHAPI_SERIAL.DLL and CHAPI.DLL for its implementation.