CS/A65 DUART
This Dual RS232 board uses two 16550A for the two interfaces. I
know that there are ICs like the 16552(?) with two interfaces in
one chip, but when I needed it, I had the parts at home already...
2006-11-01
Added driver code.
The driver consists of two files. First the
uart16550.i65
file contains chip
register definitions. The file
ser_uart.a65
is the actual driver. This actually is a driver
for a single UART only, but it can be linked
into the system twice to handle both UARTs.
The OS/A65 operating system (1.x and 2.x) uses
a single entry point for the device, with the
accumulator containing the command code.
The entry point
is
prg1
in this case. It branches to
these routines for the UART:
devini
- initialize the UART
devirq
- interrupt routine. This
routine is called on every interrupt, one device
after the other, until the irq is handled.
The 50Hz system interrupt is last, so this
driver uses this feature to check whether
a new byte can be send at tx2
.
others
checks the other commands,
like open, close, or handshake handling.
Unfortunately the driver code is pretty messy, but
works.
Notes
|
This is the initial version.
|
Notes
|
This is the initial version (scanned schematics).
|