On Wed, 5 Sep 2001, Christopher Phillips wrote: > I've currently got my c64 linked to my mac via a swiftlink cartridge > and a USB to serial adaptor. It seems that I've lost a prospective customer. :-) I'm developing a device that consists of an Atmel AVR AT90S2313 microcontroller (now clocked at 8 MHz, but I think 4 MHz should do equally well) and a Maxim MAX232 compatible RS-232 driver. This device plugs into the cassette port of almost any 8-bit Commodore (e.g. the SX-64 doesn't have a cassette port). I've created a completely single-sided circuit board layout for the device. If you want to wire CTS and RTS from the "top" side of the DB9 connector (PC-style RS-232), there are holes for the wires on the board. But I think I can make the protocol work without handshakes, under the assumption that the PC/Mac/whatever will always be able to fetch data. I also considered using special sequences like intentionally generated framing errors (delayed stop bits) and break signals, but after I read the Linux serial line documentation, I decided that relying on those would reduce portability too much. I also read that newer Macs don't come with RS-232 any more. Christopher, how hard is it to use that USB-RS232 converter? Is it some sort of a standard device, or are such devices made by several companies, all hiding the specifications and asking for truckloads of money if you want some programming documentation? Or is there a standard serial line library interface on the Mac? Currently I'm writing AVR assembler part of the software. The first function I'm implementing is the measurement of pulse widths on the cassette write line. Emulating the low-level cassette read and write protocol will be next in the line. Once that stuff works, I'll implement something prlink-like that would provide an alternative solution to your problem. The board also has a ribbon cable connector for the Commodore serial bus. It could be possible to implement the low-level serial bus primitives so that a PC/Mac/whatever could emulate a disk drive (or a serial bus controller like Star Commander and cbm4linux do). But I have no plans to implement anything. It is already clear that the protocol on the RS-232 line will have to be on a quite low level. The controller only has 128 bytes of RAM, while already the tape header is 192 bytes. I'll make it so that the controller just encodes the three different pulse widths to bit pairs, sending four pulses per byte. It could actually send five pulses per byte, since 3^5<2^8, but I think that performance is not an issue here. If anyone is interested in contributing to this project, I can put the schematic diagram and the board layout available already now. Otherwise I'll wait until I have some working code. Like all my C= projects, this will be open source (probably GNU General Public License and GNU Free Documentation License). Marko Message was sent through the cbm-hackers mailing list
Archive generated by hypermail 2.1.1.