opencbm
—
OpenCBM driver for parallel-port X[MA]-1541 cables
The opencbm
driver supports Commodore disk drives
connected to the parallel port using an XM(P)-1541 or XA(P)-1541 cable.
The following loader tunables are used to set driver configuration at the
loader(8)
prompt before booting the kernel, or they can be stored in
/boot/loader.conf in order to automatically set them
before booting the kernel. It is also possible to use
kenv(1) to
change these tunables before loading the opencbm
driver.
- cbm.cable
- Set to 0 or 1 to explicitly select an XM-1541 (0) or XA-1541 (1) type
cable. The default value of -1 will attempt to auto-detect the cable type,
which only works reliably when cbm.reset is active
and the drive is connected and powered on while loading the
opencbm
driver.
- cbm.hold_clk
- Set to 0 explicitly to release the CLK line of the bus when idle. The
default (1) is to strictly follow C64 behavior, always holding the CLK
line.
- cbm.reset
- When set to 1 (default), execute a bus reset and wait for response from
the drive while loading the
opencbm
driver. Set to
0 explicitly to load the driver without having to wait for the bus. In
this case, you should also select a cable type explicity.
The opencbm
driver creates the following device node:
- /dev/cbm
- Device for communicating with a Commodore disk drive over a parallel-port
cable.
To load the driver with a drive connected and powered on, auto-detecting the
cable type:
kldload opencbm
To load the driver without issuing a bus reset and selecting an
active (XA-1541) cable:
kenv cbm.cable=1
kenv cbm.reset=0
kldload opencbm
If you want to load the driver at system startup, adding it to
kld_list in /etc/rc.conf, it
is recommended to disable cbm.reset and explicitly
select a cable type in /boot/loader.conf, e.g. add
the following lines for a passive (XM-1541) cable:
cbm.cable=0
cbm.reset=0