KZ80-USBKBD用 RaspberryPi Picoオブジェクトビルド方法

KZ80-USBKBD

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-sdkpico-examples を cloneして、 pico-sdkpico-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基板で動くようになりました!! だいぶハマりました!!

コメント

  1. Daniel Padilla より:

    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.

    • kuninet より:

      こんにちは!
      コメントありがとうございます。
      PS2キーボード版で動いたとすると、USBキーボード版も同じ動作をすると思います。

      MSX実機の基板にキーボードを接続しようとしているんですね!
      パラメーターを変更して再コンパイルしてできたuf2ファイルを別途お送りしますね。頑張ってください!