Project to provide keyboard replacements for various classic computers, as well as classic ASCII keyboard
Go to file
David Fenyes 1b388bc591 Add virtual output device module (compiles without warning)
* Created test fixture for virtual outputs

* Added virtual output configuration to keymap definitions removed special
actions_send_reset() and actions_send_screenclear() functions, and replaced with
virtual output definitions.

* asdf_actions.c is removed from build.

* asdf_arch_atmega328p.c: added functions to set/clear each real output

* asdf_arch_atmega328p.c: added pulse_delay() function

* asdf_arch_test.c: added mock machinery to emulate outputs, test output
settings, and detect properly and improperly-formed pulses on the outputs.

* asdf_keymaps.c: allocate initialzer array. asdf_keymaps_select_keymap() calls
asdf_virtual_init() with initializer list for the keymap to set up the LEDS and
outputs every time a new keymap is selected.
2020-03-08 14:45:40 -05:00
firmware/asdf Add virtual output device module (compiles without warning) 2020-03-08 14:45:40 -05:00
hardware Moved spare LED from caps-lock to @ (OSI shift LOCK) 2020-03-04 20:24:06 -06:00
README.md fix typo 2020-02-21 00:29:12 -06:00

Unified ASCII Keyboard

This project aims to provide a (near) universal ASCII keyboard for vintage computers. Home computers of the 1970's typically either polled a switch matrix, or interfaced to a parallel ASCII keyboard via a parallel port.

The keyboard allows use of Cherry MX keys, or Futaba MD-4PCS (aka George Risk KBM-01-01) keys.

The keyboard is designed using KiCad in order to be the most useful for anybody wishing to modify the keyboard for more specific uses, or to add to the project.

This keyboard project so far consists of:

  • A classic retro-style ASCII keyboard, modeled after the ADM-3A keyboard, which can be also be populated to fit perfectly in an Apple II/II+ case, or an OSI case.
  • A keyscan/decoder interface module that can output parallel ASCII, and can be adapted for other protocols.
  • An OSI-compatible interface module.