diff options
author | Dirk Meyer <dinoex@FreeBSD.org> | 2020-06-06 14:21:38 +0000 |
---|---|---|
committer | Dirk Meyer <dinoex@FreeBSD.org> | 2020-06-06 14:21:38 +0000 |
commit | 1e9d5b58642d6f3c84efc06e6596baea4a0dd7ce (patch) | |
tree | d63972d8735caaf90b652eb98fa52147438a4b43 /comms | |
parent | 82ae264e551b119bfbcb1884f6be7556e809c5d3 (diff) |
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')
-rw-r--r-- | comms/Makefile | 1 | ||||
-rw-r--r-- | comms/opencbm-kmod/Makefile | 26 | ||||
-rw-r--r-- | comms/opencbm-kmod/files/opencbm.4 | 86 | ||||
-rw-r--r-- | comms/opencbm-kmod/pkg-descr | 9 | ||||
-rw-r--r-- | comms/opencbm-kmod/pkg-plist | 2 |
5 files changed, 124 insertions, 0 deletions
diff --git a/comms/Makefile b/comms/Makefile index 803a249799e6..1493a79ea665 100644 --- a/comms/Makefile +++ b/comms/Makefile @@ -108,6 +108,7 @@ SUBDIR += o2sms SUBDIR += obexapp SUBDIR += opencbm + SUBDIR += opencbm-kmod SUBDIR += openobex SUBDIR += openzwave SUBDIR += openzwave-devel 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 |