Type 1 uses both joystick port to report all buttons. Direct mode - Type 1ĭirect mode allows all the SNES control pad buttons to be read by the C64. Pad Button has turbofire action (inverted)īits 4 - 7 of byte 2 are not accessible through the command interface at this time. PB0 to PB3 (JOY 1 Directions & KB matrix) Each button has a 2 byte pattern corresponding to the following: Byte/Bit MAPPINGįour mappings, each with all 6 action buttons available. (*4) - Only functional when prompted, only functional in default mapping mode.
#PUNTO SWITCHER 64 BIT SOFTWARE#
By default at startup this is set to PB4, which most software will interpret as the SPACEBAR. (*3) - Joystick port 1, which corresponds to CIA 1 PB0 to PB4, PB4 which are normally used as the keyboard input lines during keyboard scanning. (*2) - Defaults to PB4 which most software will interpret as the SPACEBAR. (*1) - UP + FIRE or DOWN + FIRE, swapped with SELECT + L. KEYBOARD MATRIX LINE(PORT 2 MODE ONLY)(*2)
#PUNTO SWITCHER 64 BIT HOW TO#
#PUNTO SWITCHER 64 BIT CODE#
The machine code portion was assembled using 64tass.Ī pre-compiled HEX file for the AVR and the C64-side software for setting the custom mappings can be found in the releases section. The C64-side software was written in Notepad++, tokenised to CBM BASIC using C64List and then compiled using "BASIC 64". This source code was written using AVR-GCC and AVR Libc. This was mainly due to the availability of the Mega8 and that the Mega88 has more power saving features. This code was originally developed for the Atmel ATMega8 mcu and was then later ported over to the ATMega88. For example, mapping a button to joystick left with rapid fire and another button to joystick right with inverted rapid fire will simulate a rapid left/right joystick waggle when both buttons are pushed. 'Inverted' rapid fire is simply that when active the output state of the effected button will be opposite to of a normal rapid fire button when pushed. Any of the action buttons can also have an optional rapid-fire function applied, of which a normal and 'inverted' state is available. The custom mappings allow any combination of joystick port two and port one control lines to be mapped to any of the Super Nintendo controller action buttons (A,B,X,Y,L,R).
The interface defaults to joystick port two on power on.Īlso, the interface allows up to four custom mappings to be programmed using a C64-side application.
The adapter connects to both C64 joystick ports and allows the active port to be changed on the fly with a push of a button. Interface to allow Super Nintendo (SNES) control pads to be plugged into a C64's joystick ports.