André's 8-bit Pages  Projects  Code  Resources  Tools  Forum
search

(Google, in new window)
share
follow
Follow my 8-bit tweets on
Twitter
(In new window)
discuss

Discuss my site on this 6502.org forum thread

(Forum registration required to post)

Hot!

Dive into the retro feeling and build yourself a Commodore PET replica

Need more speed? Speed up your 6502 computer with this 10 MHz 6502 CPU replacement board

Interested in electronics design? Look at the design lesson I got from Bil Herd, the hardware designer of the C128

Want 64bit? - pimp the 6502 with the 65k processor design!

You are using an old MS Internet Explorer as browser. This version is not supported anymore. Please use a more modern browser, like Internet Explorer 8 or later, Firefox, Google Chrome, or Opera.

USB (+Ethernet) board

This board is an USB board for the CS/A computer. It implements both sides of the interface, i.e. it can be used as host as well as a device. It uses the SL811HS IC for both sides of the interface - one for each side, the chip can only do one side at a time.

Note this board also contains an ethernet interface based on the 5V CS8900A chip, similar to the olimex adapter board. For ethernet drivers please see there.

  •  
    2011-04-22 Published this page

USB Host Driver

This is the USB Host driver. It currently supports keyboards, mouse devices, and hubs.

To build the driver, you need the xa65 cross assembler in your path, then type "make". It builds three files:

  • CSAUSBDRV - background driver for the PET-compatible CS/A65. Runs in the background, watches for hubs, keyboards and mice, and handles those. Translates keyboard and mouse events to Commodore PET kernel key codes, so you can use an USB keyboard.
  • PETUSBDRV - same for the PET with PET/CSA adapter. The only difference is the initialization of the PET/CSA adapter and different I/O addresses
  • PETUSB3 - this program does not run in the background, but displays a lot more debug information while handling the attached devices

Please note that the PET version with PET/CSA adapter is not fully working yet, my current assumption is some supply voltage problems (with the one test I did).

Warning: tested with a single Linux USB host only, no windows tests done.

The driver is under the LGPL 3.0 license, with the additional note that the actual hardware driver code is an integral part, and falls under GPL - so hardware drivers must be published, but the full driver can be used in non-GPL projects.

 
USB-0.6.tar.gz(6502 USB Host Driver)
 
USB-README.txt(README)
 
host_success.png(First getting correct chars from a USB keyboard)

USB Device Driver

This is the USB Device driver. It currently supports keyboards only.

To build the driver, you need the xa65 cross assembler in your path, then type "make". It builds three files:

  • CSAUSBKBD - Driver for the PET-compatible CS/A65. Takes the PET keyboard events and sends the key codes to a USB host as keyboard events - so you can use the PET-compatible as USB keyboard.
  • PETUSBKBD - same for the PET with PET/CSA adapter. The only difference is the initialization of the PET/CSA adapter and different I/O addresses

Please note that the PET version with PET/CSA adapter is not fully working yet, my current assumption is some supply voltage problems (with the one test I did).

The driver is under the LGPL 3.0 license, with the additional note that the actual hardware driver code is an integral part, and falls under GPL - so hardware drivers must be published, but the full driver can be used in non-GPL projects.

 
USBdev-0.8.tar.gz(6502 USB Host Driver)
 
USBdev-README.txt(README)

Version: 1.0C

Status: prototype

Notes

 
This board has been successfully tested with Ethernet as well as USB host and device operations.

Files

 
netusb.png
 
csa_netusb-v1.0c.sch
 
csa_netusb-v1.0c-sch.png

Return to Homepage