Re: compiling opencbm under Ubuntu

From: Marko Mäkelä (
Date: 2007-09-20 21:21:41

On Thu, Sep 20, 2007 at 04:20:32PM +0200, Gábor Lénárt wrote:
> Sorry, I don't know OpenCBM well, but it would be also interesting idea to
> think about OpenCBM implementation, like device drivers in user space
> ( It's the same idea as FUSE (filesystem in
> user space). Sure, because of direct hw access, some kernel part may be
> needed.

Some kernel part will definitely be needed, because the Commodore serial
bus protocol has some rather tight built-in delays.  If I remember
correctly, OpenCBM requires an interrupt signal from the CLK line.

I implemented a Commodore serial bus interface in the C2N232
<> 4 years ago, using interrupts
on ATN and CLK.  Unfortunately, due to lack of time and equipment, I
couldn't get it to work as a bus master.  It works fine as a slave
(LOAD and SAVE from C64 or VIC-20).

The C2N232 does without kernel drivers by moving all timing-critical
stuff to a separate piece of hardware (an Atmel AVR microcontroller
connected via RS-232).  Given that RS-232 is becoming a rarity in
new computers and that USB-to-RS-232 adapters often have buggy device
drivers, it would be tempting to use USB directly.  If the adapter
(say, USB to Commodore serial bus) implemented block-level transfers
via the USB storage class, no special kernel drivers would be needed
on any operating system.  You would simply access disk images at the
block device file that is mapped to the usb-storage driver.  Or you
would implement cbmfs (if you remember it from the Linux 1.1, 2.0,
or 2.2 days) as a FUSE driver.

Unfortunately, the USB protocol stack is quite complex.  But I believe
that USB is here to stay, to outlive internal connections, such as
PCMCIA and PCI.  There are many microcontrollers with built-in
USB support, some even with sample implementations of some USB device
classes.  If I had the energy, I would definitely consider implementing
a USB adapter for the Commodore serial bus and IEEE-488, possibly also
for the tape drive.


       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.