OpenCBM driver module for parallel-port X[MA]-1541 cables

The OpenCBM package contains user space support programs and development
libraries to control and use CBM serial IEC/IEEE-488 bus devices as used by
most Commodore (CBM) 8-bit machines.

This port contains the FreeBSD driver for parallel-port cables for OpenCBM.

WWW: http://opencbm.sourceforge.net/

PR:		246784
Submitted by:	Felix Palmen
This commit is contained in:
Dirk Meyer 2020-06-06 14:21:38 +00:00
parent 82ae264e55
commit 1e9d5b5864
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=538094
5 changed files with 124 additions and 0 deletions

View File

@ -108,6 +108,7 @@
SUBDIR += o2sms
SUBDIR += obexapp
SUBDIR += opencbm
SUBDIR += opencbm-kmod
SUBDIR += openobex
SUBDIR += openzwave
SUBDIR += openzwave-devel

View File

@ -0,0 +1,26 @@
# Created by: Felix Palmen <felix@palmen-it.de>
# $FreeBSD$
PORTNAME= opencbm-kmod
PORTVERSION= ${OCBM_VERSION}
CATEGORIES= comms archivers
PATCHFILES= ca4c06e7430caf3b2296d4e1e00051fff015fc53.diff \
073b833772e4325c7f680d6aeb81bc11844f03ca.diff \
3e967551e200d0c03aa4898e482626a7510acd21.diff
MAINTAINER= felix@palmen-it.de
COMMENT= OpenCBM driver module for parallel-port X[MA]-1541 cables
LICENSE= GPLv2+
USES= kmod uidfix
WRKSRC_SUBDIR= opencbm/sys/freebsd
post-install:
${INSTALL_MAN} ${FILESDIR}/opencbm.4 ${STAGEDIR}${PREFIX}/man/man4
.include "../opencbm/Makefile.inc"
.include <bsd.port.mk>

View File

@ -0,0 +1,86 @@
.Dd May 27, 2020
.Dt OPENCBM 4
.Os
.Sh NAME
.Nm opencbm
.Nd OpenCBM driver for parallel-port X[MA]-1541 cables
.Sh SYNOPSIS
.Nm
.Sh DESCRIPTION
The
.Nm
driver supports Commodore disk drives connected to the parallel port using
an XM(P)-1541 or XA(P)-1541 cable.
.Ss Loader Tunables
The following loader tunables are used to set driver configuration at the
.Xr loader 8
prompt before booting the kernel, or they can be stored in
.Pa /boot/loader.conf
in order to automatically set them before booting the kernel.
It is also possible to use
.Xr kenv 1
to change these tunables before loading the
.Nm
driver.
.Bl -tag -width indent
.It Va 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
.Va cbm.reset
is active and the drive is connected and powered on while loading the
.Nm
driver.
.It Va 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.
.It Va cbm.reset
When set to 1 (default), execute a bus reset and wait for response from the
drive while loading the
.Nm
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.
.El
.Sh FILES
The
.Nm
driver creates the following device node:
.Bl -tag -width indent
.It Pa /dev/cbm
Device for communicating with a Commodore disk drive over a parallel-port
cable.
.El
.Sh EXAMPLES
To load the driver with a drive connected and powered on, auto-detecting
the cable type:
.Pp
.Dl kldload opencbm
.Pp
To load the driver without issuing a bus reset and selecting an active
(XA-1541) cable:
.Pp
.Dl kenv cbm.cable=1
.Dl kenv cbm.reset=0
.Dl kldload opencbm
.Pp
If you want to load the driver at system startup, adding it to
.Va kld_list
in
.Pa /etc/rc.conf
.Ns ,
it is recommended to disable
.Va cbm.reset
and explicitly select a cable type in
.Pa /boot/loader.conf
.Ns ,
e.g. add the following lines for a passive (XM-1541) cable:
.Pp
.Dl cbm.cable=0
.Dl cbm.reset=0
.Sh SEE ALSO
The cables supported by the
.Nm
driver (XM-1541, XA-1541 and their variations) are described on
.Lk https://sta.c64.org/xcables.html

View File

@ -0,0 +1,9 @@
OpenCBM driver module for parallel-port X[MA]-1541 cables
The OpenCBM package contains user space support programs and development
libraries to control and use CBM serial IEC/IEEE-488 bus devices as used by
most Commodore (CBM) 8-bit machines.
This port contains the FreeBSD driver for parallel-port cables for OpenCBM.
WWW: http://opencbm.sourceforge.net/

View File

@ -0,0 +1,2 @@
/%%KMODDIR%%/opencbm.ko
man/man4/opencbm.4.gz