• overlay64 1.1 released

    This release contains improvements and bugfixes to the software and firmware. The hardware has not been changed and remains at revision 1.

    The screen display logic has been improved. Independent of the screen or control mode, a screen is now only enabled if at least one write command is found to be effective. This can either be an unconditional write command or a write command depending on a certain input line state. In addition, a sample does not need to cover all possible input line states anymore.

    A new screen mode “always” has been added to allow a screen to be always enabled regardless of control lines being asserted or input lines being changed, as far as at least one write command is effective.

    Combining both features allows for text to be displayed permanently when one or more input lines are in a specific state.

    Flashing the configuration is now handled directly in firmware, so it is no longer necessary to enter the bootloader beforehand. This also reduces number of actual eeprom writes since values are now only updated if necessary.

    The exit codes of the command line utility have been fixed. The utility now reports success or failure correctly.

    The comment character “#” can now be used in string literals as intended.

    The parser now exists with an error message when encountering an unknown token instead of getting stuck in an infinite loop.

    A detailed list of changes can be found in the remainder of this post.

    As always, please refer to the project page for detailed documentation.

  • keyman64 1.5 released

    This release contains improvements and bugfixes in the software and firmware. It also adds new commands for password protected keyboard locking and for temporarily saving and restoring control line state to RAM instead of EEPROM.

    The new password command can be used to interactively set or clear a password. If a password is set, the new lock command will lock the keyboard, preventing keystrokes from reaching the computer until the user supplied password is entered.

    The new commands memorize and recall work similar to the existing save and restore commands, except that state is only held termporarily in RAM instead of being written into EEPROM memory.

    The preserve option for the convert command has been deprecated as it is no longer necessary.

    The update command now also accepts files in Intel HEX format.

    The number of EEPROM write cycles has been significantly reduced. Values are now only written if they have actually changed.

    A detailed list of changes and upgrade instructions can be found in the remainder of this post.

    As always, please refer to the project page for detailed documentation.

  • overlay64 1.0 released

    I’m proud to anounce the first official release of the overlay64, a video overlay module that superimposes predefined text on an analog video signal depending on the state of up to 24 digital input lines.

    The user writes a simple configuration file that determines which texts are to be displayed for which input line states as well as which lines control the display. The configuration file is converted to a binary format and flashed to the eeprom memory of the microcontroller using the supplied commandline utility, supported under Linux, MacOSX and Windows.

    The device has been primarily designed for use in a Commodore 64 home computer in order to display the state of control lines for additional hardware such as the MixSID or the Reprom64. Nevertheless it should be suitable for use in any context where textual display of digital state superimposed on an analog video signal is required.

    Just like all of my projects, the overlay64 is completely open sourced and extensively documented. The hardware design documentation is licenced under CERN OHL v1.2 and software and firmware are licensed under GNU GPLv3. Gerber files for production are provided on the project page as well.

    I am currently waiting for the first batch of pcbs to arrive from the manufacturer. Assembly kits can be preordered for 25€ each. Please see the sections Ordering Assembly Kits or Bestellung von Bausätzen on the project pages for details.

    Documentation in both english and german can be found on the project pages.

  • keyman64 1.4 released

    As of version 1.4, the hardware is now licenced under CERN OHL v.1.2 instead of being implicitly covered by the GPL. In addition, software and firmware have now been licensed under GPLv3 instead of GPLv2. See Licensing for details.

    This release features some major improvements to usability, most notably the new utility commands “configure” and “update”, which allow transferring the configuration and doing firmware updates without having to use avrdude. See the relevant sections for transferring the configuration and updating the firmware on the project page.

    Another improvement has been made to the syntax of the type command. It is now possible to type any PETSCII code that can also be typed on a real C64 keyboard. See the updated documentation. Note that the use of the tilde character for RETURN has been deprecated in favor of the \r escape sequence, so you will have to adjust your existing configuration.

    It is now possible to map a control line to a key, where the line acts as an active low input which causes the specified key to be pressed on the keyboard. See the new map command.

    A keybinding can now be protected from accidental use by requiring more than one press of the key before actually executing the bound command sequence. See the new directive requires.

    The serial interface has also been sanitized. The command is now transferred as a byte, and a command can receive more than one argument byte. A map command has been added to allow creating and/or changing existing mappings on the fly.

    For a detailed list of changes and update instructions, please see the remainder of this post by clicking on the “more” link below.

    As always, please refer to the project page for detailed documentation.

  • keyman64 1.3 released

    This release features the new board revision 4 and some improvements to the configuration file format.

    An error in the USB level conversion circuit has been corrected. This error was present in all previous revisions, but has only been discovered when the revision 3 kits were shipped. Previous kits seem to have worked in spite of this error due to the characteristics of the diodes shipped with these kits.

    If you own a previous revision and USB communication is working fine then there is no immediate need to fix anything. Otherwise please see the Errata for Revision 3 for details.

    In addition, the resistors and diodes have now been placed horizontally in order to allow assembly for limited vertical clearance.

    The button footprints have been corrected, so the buttons shipped with the kits will fit nicely without having to bend the leads.

    Finally the second pin on both the keyboard and computer connector have been removed to reflect the layout of the C64 keyboard connector.

    On the software side it is now possible to define custom symbols in the configuration file in order to improve readability.

    As always, please refer to the project page for detailed documentation.

Older posts