Skip to content

ADB to USBコンバーターの試作

Old Macintosh用各種インタフェース装置(ADB)を既存のMacintoshやWindowsマシンのUSBインタフェースへ変換するためのコンバーター装置の試作。

ADB to USBインタフェース
今回試作したADBtoUSBコンバーター(上)と製造中止の既製品iMate(下)

 Arduino Pro Micro(Arduino Leonardo)を利用することで、USB(HID)として振る舞うことができるような装置を試作。ハードウェアとしては、ADBコネクタ(メス)4ピンのうちの3本(5V, GND, Data)をArduino Pro Microに接続し、Data(Arduino Pro Microの場合、D3)を抵抗10K ohmでプルアップするだけ。

 機能としてのソフトウェアはGitHubのQMK FirmwareにおけるUSBtoADB Converterを利用した。ただし、このプロジェクトはADBキーボードをUSB化することであるため、標準的な条件のままでのMakeファイルによるBuildではADBマウスへの対応がなされない。そのため、いくつか調べた結果、このページを参考に以下Makeファイルに2行加筆することでADBマウスへの対応が可能となった(太字部分)。

# MCU name
MCU = atmega32u4

# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = caterina

# Build Options
#   comment out to disable the options.
#
BOOTMAGIC_ENABLE = no   # Virtual DIP switch configuration
MOUSEKEY_ENABLE  = no   # Mouse keys
CONSOLE_ENABLE   = no   # Console for debug
COMMAND_ENABLE   = no   # Commands for debug and configuration
SLEEP_LED_ENABLE = no   # Breathing sleep LED during USB suspend
NKRO_ENABLE      = no   # USB Nkey Rollover - not yet supported in LUFA
EXTRAKEY_ENABLE  = yes
USB_HID_ENABLE   = yes
BACKLIGHT_ENABLE = no
#BLUETOOTH        = AdafruitBLE  # For Adafruit Feather 32U4 BLE support, uncomment this line
CUSTOM_MATRIX    = yes
#
ADB_MOUSE_ENABLE = yes
OPT_DEFS += -DADB_MOUSE_MAXACC=8
#
SRC = matrix.c adb.c led.c