Project to provide keyboard replacements for various classic computers, as well as classic ASCII keyboard
Go to file
Dave 9aa3bf4681 Fix compiler warning for GCC >= 11.3
- GCC version 12 generates a warnings for certain pointer
references.  Apparently this is to decect invalid offsets.  To properly
compiler, the recommended remedy is to add the compiler option
"--param=min-pagesize=0" to the flags.  This option was introduced in
version 11.3, so we need to check the compiler version and only add for
>11.3.

- Moved setting of compiler flags to a new function c_toolchain_flags in
the toolchain file "generic-gcc-avr.cmake".  This function is now called
from the CMakeLists.txt file in the src directory.  This allows the test
for the compiler version to be specified in the toolchain file, but not
executed until called by the src subdir CMakeLists.txt.  Delaying
evaluation of the function ensures that the CMAKE_C_VERSION variable is
properly set when the function is called.

- Moving the compiler flags out of the source dir CMakeLists.txt file
also improves portability by moving architecture-specific compiler
details from the source tree to the toolchain file.
2022-09-02 00:00:55 -05:00
firmware/asdf Fix compiler warning for GCC >= 11.3 2022-09-02 00:00:55 -05:00
hardware Update classic keyboard main PCB to kicad 6 2022-04-09 14:56:23 -05:00
.gitignore Ignore dcm files 2020-06-23 17:20:31 -05:00
README.md Keycaps for Knight and SAIL keyboards (#39) 2021-12-22 02:44:07 -06:00

Unified Retrocomputer Keyboard Project

This project aims to provide a unified collection of keyboards and encoders for vintage computers, with modular design to reuse as many elements as possible across the designs.

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.

Capabilities so far:

  • Replacement keyboard for OSI computers
  • Replacement keyboard for Apple II/II+ computers
  • Replacement keyboard for the Sol-20 computer
  • Generic ADM-3A/Teletype style keyboard
  • Apple I keyboard (multiple styles)

Coming soon:

  • Replace encoder board on Apple II/II+ keyboards
  • Convert an OSI 542 keyboard into a generic ASCII keyboard
  • Replica for Knight keyboard

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 (with corresponding Apple II keymaps), or an OSI case (with OSI adapter).
  • A Sol-20 compatible keyboard.
  • Keyscan/decoder interface modules that can output parallel ASCII, and can be adapted for other protocols.
  • An OSI interface module, to connect the classic keyboard to an OSI computer.