• Hiatus -- No orders or support for a while

    I am very busy building a home for my family at the moment, so I won’t be taking orders for some time. I will also be without internet for a while, so I will not respond to mail either. I will announce here when I am available for orders and support again.

    I apologize to those who haven’t gotten any reply to their mail in the past month. I will respond when I’m back.

    It’ll be about one or two months from now.

    Thank you for your patience,

  • keyman64 1.6 released

    Version 1.6 adds new features as well as bugfixes and improvements.

    Support has been added for expanding the number of available control lines by adding one or more daisy chained 74595 serial shift registers. Each register will add another 8-bit wide control port. See port expansion for details.

    The firmware update command has been improved for updates that break binary compatibility with existing configuration stored on the device. An optional second argument can be used to specify a configuration file. If present, the exisiting configuration will be disabled before update and reinstalled after the update. This method is required when updating to version 1.6. Please see the update instructions.

    The configuration syntax has been improved by adding an alternative short notation for specifying control lines. Instead of using the verbose port a bit 6 it is now possible to simply use a6.

    It is now possible to configure the speed at which the keyboard is scanned. The new speed directive can be used to select “slow” mode or “fast” mode. Slow scanning is required when the keyboard cable is longer than in a stock C64, for example when installing the device in an SX64.

    The power-on sequence has been improved by adding an early scan and relay step so that keys pressed during power-up are seen as early as possible by the C64. Thus compatibility with cartridges that check for keypresses during power up has been improved.

    A new serial command has been added to directly type a PETSCII-code on the keyboard.

    The client utility now features a reset command to trigger a reset of the device via USB.

    Some bugs relating to symbol parsing and text output have been fixed.

    For a detailed list of changes please refer to the remainder of this post.

    The project page contains the complete documentation.

  • overlay64 1.2 released

    This release fixes problems in the firmware concerning USB device detection on some flavors of Windows. Previous firmware versions disabled the USB interrupt for short amounts of time during rendering. This had no adverse effects on Linux and also worked reliably on Windows 7, although it is not quite conforming to the USB spec.

    On Windows versions 8.1 and later, this problem causes the device detection for the Overlay64 USB device to only work sporadically.

    If you have an external programming device, use it to upgrade to this firmware version by flashing the combined firmware image to the Atmel.

    If you don’t have an external programming device and device detection does not work reliably on your system, temporarily remove the LM1881 IC as a workaround. Without the LM1881 no text will be displayed, but the USB device(s) should be properly detected under Windows 8 so that you can use the regular update procedure:

    overlay64 update overlay64-firmware-1.2.hex

    Changes in the software include fixes for building on MacOSX and fixes to the configuration file parser.

    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.

  • 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.

Older posts