GithubHelp home page GithubHelp logo

davervw / c128_keyscan Goto Github PK

View Code? Open in Web Editor NEW
2.0 3.0 1.0 1.05 MB

Commodore 128 Keyboard polled scan codes to USB keyboard HID

License: Other

C++ 100.00%
arduino arduino-leonardo arduino-pro-micro c128 c64 commodore commodore-128 commodore-64 commodore-vic20 commodore64

c128_keyscan's Introduction

C64/C128/Vic-20 to USB keyboard HID driver

This hardware and software allows a Commodore 64 or Commodore 128 keyboard to be used as a USB HID keyboard. The use of ItsyBitsy allowed all the extra lines necessary to support the extra keys added for C128. ItsyBitsy is an alternate form factor related to Arduino Leonardo with all the extra lines of the 32U4 present. The ATmega32U4 has the ability to directly act as a USB HID device in conjuction with the Arduino keyboard library. Utilizing a DB-25 to 0.1" 2.54mm pitch dual row pin socket adapter for the first hand soldered and wired circuit board to make it both easier to build and semi-permanent.

Status: Working 88+ key solution. Multiple keys pressed on same row issue has been resolved (only one column output must be active at one time, otherwise change column to a HIGH-Z input to avoid competing low and high outputs).

Multiple branches are present for this repository

Commodore Vic-20, 64, 128 keyboards are hardware compatible with the 128 adding additional columns and lines for an extra 26 keys. But the Vic-20 scan code numbering is different because the lines are connected to the I/O chips in a different order, and the scan code is calculated differently.

Notes:

RESTORE key mapping not included in this iteration.

WARNING!!! wiring has changed between various commits. 
Always review DB-25 to Pro Micro wiring instructions which are in source code comments.  

pcb.jpg

prototype.jpg

Links

c128_keyscan's People

Contributors

davervw avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

fzorrilla-ml

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.