From: Marko Mäkelä (msmakela_at_gmail.com)
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 > (http://lwn.net/Articles/66829/). 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 <http://www.iki.fi/~msmakela/8bit/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. Marko Message was sent through the cbm-hackers mailing list
Archive generated by hypermail pre-2.1.8.