aboutsummaryrefslogtreecommitdiff
path: root/comms/opencbm-kmod
diff options
context:
space:
mode:
authorDirk Meyer <dinoex@FreeBSD.org>2020-06-06 14:21:38 +0000
committerDirk Meyer <dinoex@FreeBSD.org>2020-06-06 14:21:38 +0000
commit1e9d5b58642d6f3c84efc06e6596baea4a0dd7ce (patch)
treed63972d8735caaf90b652eb98fa52147438a4b43 /comms/opencbm-kmod
parent82ae264e551b119bfbcb1884f6be7556e809c5d3 (diff)
downloadports-1e9d5b58642d6f3c84efc06e6596baea4a0dd7ce.tar.gz
ports-1e9d5b58642d6f3c84efc06e6596baea4a0dd7ce.zip
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
Notes
Notes: svn path=/head/; revision=538094
Diffstat (limited to 'comms/opencbm-kmod')
-rw-r--r--comms/opencbm-kmod/Makefile26
-rw-r--r--comms/opencbm-kmod/files/opencbm.486
-rw-r--r--comms/opencbm-kmod/pkg-descr9
-rw-r--r--comms/opencbm-kmod/pkg-plist2
4 files changed, 123 insertions, 0 deletions
diff --git a/comms/opencbm-kmod/Makefile b/comms/opencbm-kmod/Makefile
new file mode 100644
index 000000000000..e25b33ff7f1b
--- /dev/null
+++ b/comms/opencbm-kmod/Makefile
@@ -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>
diff --git a/comms/opencbm-kmod/files/opencbm.4 b/comms/opencbm-kmod/files/opencbm.4
new file mode 100644
index 000000000000..c76d0ad76ff4
--- /dev/null
+++ b/comms/opencbm-kmod/files/opencbm.4
@@ -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
diff --git a/comms/opencbm-kmod/pkg-descr b/comms/opencbm-kmod/pkg-descr
new file mode 100644
index 000000000000..ab76589f2d13
--- /dev/null
+++ b/comms/opencbm-kmod/pkg-descr
@@ -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/
diff --git a/comms/opencbm-kmod/pkg-plist b/comms/opencbm-kmod/pkg-plist
new file mode 100644
index 000000000000..76ba2b0a6a82
--- /dev/null
+++ b/comms/opencbm-kmod/pkg-plist
@@ -0,0 +1,2 @@
+/%%KMODDIR%%/opencbm.ko
+man/man4/opencbm.4.gz