説明
このアーカイブは同人誌「ラズピコで楽しむレトロPC」のキーボード/FM音源プレイヤーのソースファイルです。
vscode+Raspberry Pi Pico機能拡張の環境でコンパイルします。
ソースを整理しましたので本誌掲載時と若干異なる場合があります。
vscodeの「ファイル/フォルダーを開く」で開いて下さい。
本誌訂正
・74HC00を使った発振回路ですが、計算上の数値を掲載してしまいました。が、実際は0.1uf(104)を0.01uf(103)にした方が良さそうです。セラミックコンデンサの実際の容量も関係するので、CRは実測の上で各自決めてください…(すみません)
レトロPCユーザー向け 左手?デバイス
ビルド済バイナリ:dev_hid_composite.uf2
キースイッチとキーキャップ、スタビライザー、ラズピコ1、USBケーブルが必要です。
それぞれ市販の物をお求め下さい。
各パーツを半田付けしてください。半田付けでは高温のものを扱います。機器の説明書、入門書などの内容を理解した上で注意して扱ってください。
ラズピコ1は秋葉原の電子パーツショップ、通販などで購入できます。
キーボード関連のパーツは遊舎工房などで購入可能です。
参考リンク
- ラズピコ1 https://akizukidenshi.com/catalog/g/g116132/
- キースイッチ https://shop.yushakobo.jp/products/5659
- キーキャップ https://shop.yushakobo.jp/products/dsa-blank-keycaps
- スタビライザー https://shop.yushakobo.jp/products/a0500st?variant=37665699463329
- (スタビライザー: 2Ux4 6.25Ux1のセット)
(長いキー(2U,6.25U)の単品を探したのですが通販では見つかりませんでした… 筆者は店頭で購入しました)
インストール
ダウンロードしたuf2ファイルをラズピコ1に書き込んでください。書き込みに専用の機材・ソフトは必要ありません。
書き込んだ後はUSBキーボードとして動作します。キーを押して動作を確認してください。
カスタマイズ
ソースを改造します。
keybd.cのkb_table keycode[]の内容を編集してください。
連射、方向キーのテンキー化、方向キーを押した後に自動で5を押したことにする、など自在に改造してみてください。
FM音源プレイヤーについて
ビルド済バイナリ:pico2mgs.uf2
Pico2専用です
いないと思いますがPico1で動かしたい場合はPico1でプロジェクトを作ってファイルを移植し、
CMakeLists.txtの86行目にある
add_compile_definitions(RASPBERRYPI_PICO2)
をコメントアウトするとpico1でも動作するかもしれませんが試していません。
回路図は本誌に掲載してありますが、コメントを見てメモリカードソケットとPT8211(D/A)、ボタン2個を実装すれば回路図無しでも動かせるのではと思います。
ボタンは「再生/停止」と「次の曲」です。「次の曲」を最初に押さないと演奏しません。
「前の曲」は未実装です。これから頑張ります。
起動時にBEEP音が鳴ります。これで起動を確認できます。
メモリカードのTOP階層に「DRV」と「MGS」のフォルダを作ります。
DRV内にはMGSDRV.COMを
MGS内にはMGS曲データ(コンパイルされたバイナリ形式)を置きます。
(ソースでは以下の記述になっています)
const char MGS_DRIVER_PATH[] = “DRV/MGSDRV.COM”;
sPlayer.basepath = “/MGS”;
MGSDRV.COMは
https://www.gigamix.jp/mgsdrv/
からダウンロードしてください。
一般にMGSと呼ばれる曲データにはテキスト形式とバイナリ形式があります。
このソースではバイナリ形式のみ対応です。
MGSのテキスト形式は
https://gigamix.hatenablog.com/entry/mgsdrv/music-resource
からお好みの曲を探してください。
MGSのバイナリ形式は
https://msxplay.com/editor.html
でテキストを開き、「Export」から「MGS」を選択して作成します。
ライセンス
引用ソースは引用元に準じます
MITライセンス、BSD-style licenses、パブリックドメイン(と同等の扱いができる)ソフトウェアが含まれています。
本ソースの利用はMITライセンスです。
参考にさせていただいたドキュメント・ソフトウェアなど
MSXPlay.com
https://msxplay.com/
Digital Sound Antiques
https://github.com/digital-sound-antiques
掲載について音源エミュレータ作者のDSA様(@ym2413)にご確認をいただきました。快諾ありがとうございました。
Portable Z80/R800/HD84180/DMG-CPU emulator ‘KMZ80’
(Mamiya様)
*http://www.proc.org.tohoku.ac.jp/befis/(リンク切れ)
東雲 ビットマップフォントファミリー
http://openlab.ring.gr.jp/efont/shinonome/
(ファームウェアに組み込ませていただきました)
MGSDRV
作者:Ain.様/Gigamix様
公式サイト:https://www.gigamix.jp/mgsdrv/
(ドライバはメモリカードからファイルとしてロードします)
【Raspberry Pi Pico】OLEDディスプレイ(SSD1306)に文字を表示する
https://osorkoma.net/kumikomi/pico-ssd1306-study/
Petit FAT File System Module(ChaN様)
http://elm-chan.org/fsw/ff/00index_p.html
免責
本制作物・ダウンロード内容は無保証です。動作した/動作しなかった事による責任を負いません。各自の責任において利用して下さい。