Welcome to the MK40 / MK64 FAQ
What is a keyboard encoder?
A keyboard encoder accepts digital inputs from push buttons and joysticks and simulates keyboard key presses.
How do I use the shift feature?
The shift feature is optional and can be turned off or on at any time. On the MK40 the shifted key codes are stored in the EEPROM and will be remembered even with the computer turned off. The MK64 remembers the regular key codes, but the shifted key codes will need to be reprogrammed on power up. All it takes is just a simple patch to the AUTOEXEC.BAT. Input 00 is the shift key. In most cases this should be the player 1 start button as it's not used often during play. Inputs 01 to 07 will output their normal key codes when IN00 (P1 start) is not pressed and their shifted codes when IN00 (P1 start) is held down. In most cases IN01 to IN07 should be connected to Joystick 1 and 3 other player 1 buttons.
How do I program the key map?
The key mapper program reads a text file that assigns the inputs to specific keys strokes. The download files have sample script files (Common40.key and Common64.key) that you can modify to match your setup. Windows NT,XP&2000 user will need to run a driver and run the programs full screen.
Which keys can't be part of the key map?
Only the "Pause/Break" and F7 keys are unassignable. However, you can assign keys that don't exist on normal keyboards. The MKxx also supports key codes from modes 1, 2, and 3. (Mode 2 is default)
Does the MK40/MK64 support USB?
Not at this time. Even if it had USB, I wouldn't recommend using it. USB keyboard data goes through extra processing steps in the computer that hurt response time and there are also compatibility issues with DOS.
What does dual rate input sampling mean?
It means that the all the inputs are sampled at full speed (over 6000 times/sec) until an action is detected. At that time the rate will be lowered to the debounce rate (80 times/sec) until the next actionless sample (>95% of the time, that will be the following sample). When detected, full speed operation is resumed.
How are the inputs connected
The both boards have a standard 50 pin male header (25x2 with 0.1" spacing) that accepts standard computer type cables. The MK40 works best with a 50 pin SCSI type cable and the MK64 ideal is a 40 pin IDE type cable and a 34 pin floppy drive type cable, but two IDE cable can be used instead. See the Connections page for more information.
Is the optional keyboard just an after thought?
No, great care was given to maintain bidirectional communication to the keyboard and prevent interbyte shuffling of keyboard presses/releases with the digital input generated presses/releases. The keyboard LEDs, "type-a-matic" rate and delay still work including the other (rarely used) keyboard commands.
How does it identify my control panel?
If you have two or more interchangeable control panels, for example a two player panel and a four player panel, you might want to list only the games that are optimized for the current control panel. You might want different key maps for each panel. You can perform this trick when you dedicate one or more of the inputs as ID bits. Each panel will have a different ID code which can be queried by software. The computer side software is called by a batch (*.BAT) program that can be modified to pass parameters, modify files, and/or program the key map based on the ID read. If you have ideas on how you'd like it to work, let me know.
What can I do with the auxiliary outputs?
One possibility is to power down your monitor and sound amp before the computer goes to sleep [extra hardware required].
Why are the all the computer side software and source files freeware?
I tried to make my interface as open ended as possible. There are many ways to customise the way it works with MAME, other games, and non-gaming applications. I encourage others to use and change the code as needed. All I ask is that any derivative also remains freeware.
Are you going to release the PIC (on chip) software?
No, The PIC code is copyrighted. Licence agreements are available.
Can I upgrade my MK40 to a MK64 by installing the missing parts?
Sorry, The MK40's PIC is optimized for 40 inputs and won't read the added inputs.