[converter/a1200] Added support for ATmega32u4 (#13974)
This commit is contained in:
		
							
								
								
									
										62
									
								
								keyboards/converter/a1200/miss1200/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								keyboards/converter/a1200/miss1200/config.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,62 @@ | ||||
| /* | ||||
| Copyright 2021 8bits4ever | ||||
|  | ||||
| This program is free software: you can redistribute it and/or modify | ||||
| it under the terms of the GNU General Public License as published by | ||||
| the Free Software Foundation, either version 2 of the License, or | ||||
| (at your option) any later version. | ||||
|  | ||||
| This program is distributed in the hope that it will be useful, | ||||
| but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| GNU General Public License for more details. | ||||
|  | ||||
| You should have received a copy of the GNU General Public License | ||||
| along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
| */ | ||||
|  | ||||
| #pragma once | ||||
|  | ||||
| #include "config_common.h" | ||||
|  | ||||
| /* USB Device descriptor parameter */ | ||||
| #define VENDOR_ID       0xFFFF | ||||
| #define PRODUCT_ID      0x0000 | ||||
| #define DEVICE_VER      0x0001 | ||||
| #define MANUFACTURER    8bits4ever | ||||
| #define PRODUCT         MiSS-1200 | ||||
|  | ||||
| /* key matrix size */ | ||||
| #define MATRIX_ROWS 8 | ||||
| #define MATRIX_COLS 16 | ||||
|  | ||||
| /* | ||||
|  * Keyboard Matrix Assignments | ||||
|  * | ||||
|  * Change this to how you wired your keyboard | ||||
|  * COLS: AVR pins used for columns, left to right | ||||
|  * ROWS: AVR pins used for rows, top to bottom | ||||
|  * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) | ||||
|  *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) | ||||
|  * | ||||
| */ | ||||
| #define MATRIX_ROW_PINS { F7, F6, F5, F4, F1, F0, B1, B3 } | ||||
| #define MATRIX_COL_PINS { D0, D1, C7, D6, B7, B6, B5, B4, E6, D7, C6, D4, B2, D5, D3, D2 } | ||||
| #define UNUSED_PINS | ||||
|  | ||||
| /* COL2ROW, ROW2COL*/ | ||||
| #define DIODE_DIRECTION ROW2COL | ||||
|  | ||||
| #define LED_CAPS_LOCK_PIN B0 | ||||
| #define LED_PIN_ON_STATE 0 | ||||
|  | ||||
| /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||||
| #define DEBOUNCE 5 | ||||
|  | ||||
|  | ||||
| /* disable action features */ | ||||
| //#define NO_ACTION_LAYER | ||||
| //#define NO_ACTION_TAPPING | ||||
| //#define NO_ACTION_ONESHOT | ||||
| //#define NO_ACTION_MACRO | ||||
| //#define NO_ACTION_FUNCTION | ||||
							
								
								
									
										22
									
								
								keyboards/converter/a1200/miss1200/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								keyboards/converter/a1200/miss1200/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| # MCU name | ||||
| MCU = atmega32u4 | ||||
|  | ||||
| # Bootloader selection | ||||
| BOOTLOADER = atmel-dfu | ||||
|  | ||||
| # Build Options | ||||
| #   change yes to no to disable | ||||
| # | ||||
| BOOTMAGIC_ENABLE = lite       # Virtual DIP switch configuration | ||||
| MOUSEKEY_ENABLE = no        # Mouse keys | ||||
| EXTRAKEY_ENABLE = yes       # Audio control and System control | ||||
| CONSOLE_ENABLE = no         # Console for debug | ||||
| COMMAND_ENABLE = no        # Commands for debug and configuration | ||||
| # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | ||||
| SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend | ||||
| # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||||
| NKRO_ENABLE = yes           # USB Nkey Rollover | ||||
| BACKLIGHT_ENABLE = no      # Enable keyboard backlight functionality | ||||
| RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow | ||||
| BLUETOOTH_ENABLE = no       # Enable Bluetooth | ||||
| AUDIO_ENABLE = no           # Audio output | ||||
| @@ -1,13 +1,16 @@ | ||||
| # Amiga 1200 Keyboard Converter | ||||
|  | ||||
| Modification of the Model-M 101 membrane adapter (converter/modelm101) to work with Amiga 1200 keyboard (and possibly Amiga 500/600 too).  | ||||
| The adapter allows using the original Amiga keyboard as a USB input device, either with a desktop PC or a R-Pi/FPGA board hosted inside the Amiga case. | ||||
|  | ||||
| A small PCB adapter is needed for connecting the keyboard membrane to the Teensy 2.0++ board. A very simple example of such a board can be seen here: | ||||
| Available for two micros: AT90USB1286 (Teensy 2++ board), and ATmega32u4 (MiSS-1200 FPGA board). | ||||
|  | ||||
| A small PCB adapter is needed for connecting the keyboard membrane to the Teensy 2.0++ board. A very simple example of such a board is available here: | ||||
| https://github.com/8bits4ever/A1200-Keyboard-Adapter | ||||
|  | ||||
| This adapter is meant to allow using the original Amiga keyboard as a USB input device, either with a desktop PC or a R-Pi/FPGA board hosted inside the Amiga case. | ||||
| The MiSS-1200 FPGA board features a dedicated connector for the Amiga 1200 membrane keyboard. | ||||
|  | ||||
| Files have been modified in accordance to fit Amiga keyboard layout and features. A second layer has been implemented (momentary toggle "Help" key) to access unexistent keys (like F11 and F12). This is a work in progress. | ||||
| Files have been modified in accordance to the Amiga keyboard layout and features. A second layer has been implemented (momentary toggle "Help" key) to access unexistent keys (like F11 and F12). This is a work in progress. | ||||
|  | ||||
|  | ||||
| Pins of the Teensy board you should use by default: | ||||
| @@ -22,14 +25,31 @@ Status LEDs: CapsLock +5V | ||||
| Pins:        B6       5V     | ||||
| ```   | ||||
|  | ||||
| Pins assignment MiSS-1200 board (ATmega32u4): | ||||
| ```   | ||||
| Columns: 1  2  3  4  5  6  7  8  9  10 11 12 13 14 15 16   | ||||
| Pins:    D0 D1 C7 D6 B7 B6 B5 B4 E6 D7 C6 D4 B2 D5 D3 D2  | ||||
| --------------------------------------------------------   | ||||
| Rows: 1  2  3  4  5  6  7  8   | ||||
| Pins: F7 F6 F5 F4 F1 F0 B1 B3   | ||||
| --------------------------------------------------------   | ||||
| Status LEDs: CapsLock +5V    | ||||
| Pins:        B0       5V     | ||||
| ```   | ||||
|  | ||||
| * Keyboard Maintainer: [8bits4ever](https://github.com/8bits4ever) | ||||
| * Hardware Supported: Teensy 2.0++ board by PJRC | ||||
| * Hardware Supported: Teensy 2.0++ board by PJRC, MiSS-1200 FPGA by 8bits4ever | ||||
| * Hardware Availability: https://www.pjrc.com/store/teensypp.html | ||||
|  | ||||
| For first time flashing use the reset button on the Teensy board enter in bootloader mode. Once the board is flashed you can use "HELP"+"R" on the Amiga keyboard for the same purpose.   | ||||
| For first time flashing use the reset button to enter in bootloader mode. Once the board is flashed you can use "HELP"+"R" on the Amiga keyboard for reflashing.   | ||||
|  | ||||
| Make example for this keyboard (after setting up your build environment): | ||||
|  | ||||
|     make converter/a1200:default | ||||
|     make converter/a1200/teensy2pp:default | ||||
|  | ||||
| Or: | ||||
|  | ||||
|     make converter/a1200/miss1200:default | ||||
|  | ||||
|  | ||||
| See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). | ||||
|   | ||||
		Reference in New Issue
	
	Block a user