flexible stereo SID board with integrated channel mixer

The MixSID is a stereo SID board for the C64 that can be used with any combination of SID models on a wide range of C64 mainboards.

Features include an integrated stereo channel mixer, pragmatic stereo addressing scheme, flexible handling of io areas, onboard audio input, output and digiboost circuits, dedicated stereo output, full paddle compatibility and versatile digital control.

For a quick overview of available features, hardware configuration options and the effects of the runtime control signals, please see the interactive configuration tool.

Easy step-by-step build instructions are provided to help with populating the board. For each step the required components, their locations and values are shown in detail.

Documentation is available in both english and german.



programmable keyboard interceptor and hardware control system

Keyman64 Rev.4

The keyman64 is a programmable keyboard interceptor and hardware control system for computers equipped with a simple 64-key matrix keyboard.

It is installed between the keyboard and the computer, continually scanning the keyboard matrix and relaying the keyboard state to the computer using a crosspoint switch. To the computer, the crosspoint switch matrix looks just like a physical keyboard, while the keyman64 gains the ability to intercept keystrokes and control the matrix seen by the computer.

The keyman64 can be configured to intercept special key combinations and invoke arbitrary sequences of commands to alter the state of sixteen general purpose control lines provided on the board. These lines can be used to control additional hardware instead of using physical buttons or switches.

Thus the keyman64 eliminates the need to install physical switches or buttons into the computer case.

Additional features include the ability to send predefined keyboard macros or to redefine the keyboard layout. Commands can also be sent from a remote PC via USB, or send on simple serial wire interface, allowing remote control from either a PC or another microcontroller or similar device.

For some concrete examples of what the keyman64 can do, see the configuration examples.

Documentation is available in both english and german.



Keyman64 add-on board -- bind additional joystick buttons to keys

Potmux Rev.2

The Potmux is a small hardware add-on for the C64 that allows the user to optionally route the control port potentiometer lines to a destination other than the SID. It is mainly intended to be used with the Keyman64 for the purpose of mapping additional joystick buttons connected to the potentiometer lines to user defined keystrokes.

The potmux utility provided on this page can be used to prefix an existing C64 program with a specific potmux configuration for the Keyman64. The resulting program will first configure the Keyman64 using its serial interface connected to the tapeport lines “Cassette Sense” and “Cassette Write” and then run the original program.

Documentation is available in both english and german.



programmable video overlay module

Overlay64 Rev.1

The Overlay64 module allows superimposing predefined texts onto an existing analog video signal, depending on the states of up to 24 digital input lines.

Among other possible applications the overlay64 can be used to display the state of various hardware extensions build into a classic home computer directly on the screen:

Installed in a C64 to display the state of a stereo SID board and a Multirom adapter

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.

Documentation is available in both english and german.



replacement rom adapter for the commodore 64

Reprom64 Rev.3

This is a rom adapter board for the C64 which replaces all rom chips with a single 64kb 27C512 Eprom, offering space for four different kernals, four charsets and two basic roms. Any combination of roms can be chosen using control lines provided on the board. A GAL16V8 decodes the chip select signals from the board and addresses the eprom accordingly.

Documentation is available in both english and german.



data transfer and control system for the commodore 64/128

xlink allows connecting a Commodore 64 or 128 to a PC using a custom build USB adapter or a simple parallel port cable. A command-line client is used on the PC to transfer data to and from the remote machine memory, run programs on the remote machine or to initiate a hardware reset.

An interrupt-driven server on the remote machine listens to and executes the commands send by the client. The server can be temporarily loaded on the remote machine, or it can be permanently installed using a customized kernal rom. The latter has the advantage of being instantly available after power-up or reset, which makes the xlink system well suited for fast and easy cross development using a PC and a real Commodore machine.

The implementation of the underlying functionality is distributed as a shared library, making the functionality provided by xlink readily available for use in other programs.

The xlink client software and library is supported under Linux, MacOSX and Windows.



chained keybindings for X11

xchainkeys is a standalone X11 program to create chained key bindings similar to those found in the ratpoison window manager or the screen terminal multiplexer.



launch applications from interactive bash sessions

bashrun2 is an application launcher based on a modified bash session in a small terminal window, providing all the well known bash features like tab-completion and history.

Additional features include automatic detection of console applications, rules for running console applications in dedicated terminals, running commands with a different user id, regexp based command line rewriting (file associations, web shortcuts, etc), user-defined actions and extensions, remote control features, and more.