Project to provide keyboard replacements for various classic computers, as well as classic ASCII keyboard
Go to file
David Fenyes 93349ed6e9 Add support for "hi-z when low" outputs
The apple 1 CLEAR input requires a high-impedance inactive state to avoid
conflict with the pin output of the 7404 at D12 (via CR4). So, to cover this
condition most generally, this patch changes the adds a Hi-Z when low physical
device for each output line, to complement the Hi-Z-when-high open collector
emulation. The nomenclature is changed from OUT*_OC (emulated open collector) to
OUT*_OPEN_HI and OUT*_OPEN_LO to indicate which condition gets the Hi-Z state.

- added the set() functions to the asdf_arch_atmega328p.[ch] files and applied
the above nomenclature.

- Added the set() functions to the asdf_physical.[ch] files and applied the
above nomenclature

- Modified the SCREEN_CLEAR device to PHYSICAL_OUT1_OPEN_LO in the apple2 and
ascii keymaps.

- Changed the RESET from PHYSICAL_OUT1_OC to PHYSICAL_OUT1_OPEN_HI in the apple2
and ascii keymaps.
2020-03-16 12:56:21 -05:00
firmware/asdf Add support for "hi-z when low" outputs 2020-03-16 12:56:21 -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.