KZ80-USBKBD用 RaspberryPi Picoオブジェクトを、久々に作ろうと思ってハマったのでメモを整理してみました。
msx-toolsを作成してくださった HRA!(@thara1129)さん に感謝であります!
コンパイラ準備
◆ubuntu Linux(含:WSL2)
sudo apt update
sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential
◆Mac
※Homebrewを事前にインストールしておいてください。
※ARM Macの場合は brew
コマンドの前に、 arch -arm64
の指定が必要な場合があります。
brew update
brew upgrade
brew install cmake
brew tap ArmMbed/homebrew-formulae
brew install arm-none-eabi-gcc
msx keyboard C言語ソース準備
githubからcloneする
msx-toolsをgithubからcloneする。また、特定コミット版のソースが必要なので、ひねり出すw
cd ~/
git clone https://github.com/hra1129/msx_tools.git
cd msx_tools
git checkout d132f26
ソースの一部変更 (KZ80-USBKBD用対応)
msx_tools/usb_keyboard_bridge_for_msx/usb_keyboard_bridge_for_msx.c
の以下のパラメーターを 1
から 0
ヘテキストエディタで変更する。
#define MSX_KEYMATRIX_ROW_TYPE 0
#define MSX_KEYMATRIX_INV 0
SDK準備
pico-sdk
と pico-examples
を cloneして、 pico-sdk
、 pico-examples
も特定コミットへ戻す
cd ~/
mkdir pico
cd pico
git clone -b master https://github.com/raspberrypi/pico-sdk.git
git clone -b master https://github.com/raspberrypi/pico-examples.git
cd pico-sdk
git checkout afc10f3599c27147a6f34781b7102d86f58aa5f6
git submodule update --init
cd pico-examples
git checkout 612469d
Lチカサンプルビルドテスト
LEDチカチカサンプルをビルドしてみる。
cmake ..
でMakefile作って、 build
フォルダ配下に blink
フォルダができてるので、そこへ降りてmakeする。
※C言語ソースとは別に同名フォルダができる
cd ~/pico/pico-examples
mkdir build
cd build
export PICO_SDK_PATH=../../pico-sdk
cmake ..
cd blink
make -j4
blink.uf2
ファイルができるので、RaspberriPI Picoの白いリセットスイッチを押しながらPC/Macへ接続し、外部ディスクとして認識されたら blink.uf2
ファイルをドラグ・ドロップする。
→RaspberryPI PicoについているLEDがチカチカするはず。
msxキーボードソース・コンパイル
msx-toolsの usb_keyboard_bridge_for_msx
フォルダを pico-examples
フォルダ直下へCOPY
cd ~/pico-examples
cp -a ~/msx_tools/usb_keyboard_bridge_for_msx .
~/pico-examples/CMakeLists.txtへ以下の行を追加(似たような行のあたり)
add_subdirectory(usb_keyboard_bridge_for_msx)
CmakeでMakefile作って( make rebuild_cache
)、makeでビルド
mkdir build
cd build
make rebuild_cache
make usb_keyboard_bridge_for_msx
コンパイルできたuf2ファイルをpicoへ書き込み
usb_keyboard_bridge_for_msx.uf2
ファイルができるので、RaspberriPI Picoの白いリセットスイッチを押しながらPC/Macへ接続し、外部ディスクとして認識されたら ファイルをドラグ・ドロップする。
この手順で無事 MSXキーボードがKZ80-USBKBD基板で動くようになりました!! だいぶハマりました!!
コメント
Hello Kuni-san.
I have a Victor HC-90 MSX without keyboard, but the connector is compatible with KZ80 8255 pin. I have used KZ80-PS2KBD in the past successfully. Thank you!
Would you mind sharing the “usb_keyboard_bridge_for_msx.uf2” file? (no modification is needed) I would like to try with a USB keyboard but I don’t have the means to compile the software.
こんにちは!
コメントありがとうございます。
PS2キーボード版で動いたとすると、USBキーボード版も同じ動作をすると思います。
MSX実機の基板にキーボードを接続しようとしているんですね!
パラメーターを変更して再コンパイルしてできたuf2ファイルを別途お送りしますね。頑張ってください!