OneChipBook-12-AでMSX2版Wizardryを動かすまで

# はじめに
MSX2版のWizardryを前に購入したんだけど、パナソニックのMSX2を使うのに、ケーブル繋げたりと準備が面倒だなぁと思ってたら、MSXBOOKなるものがあることを知る。
で、在庫が復活した連絡がきたが、OneChipBook-12-Aって名前になっていて、どうやらMSXのライセンスしてあげるよって話があったらしいけど蹴って名前を変えた様子。(詳細は調べるとわかります)

で、とりあえずWizardryやりたいので[Tindie](https://www.tindie.com/products/cycle/onechipbook-12-a-fpga-development-platform/)でポチったので、起動できるまでのメモを残すことに。

ちなみに、FPGAを扱うのは今回が初めて。

# OneChipBook -12-Aについて
OneChipBook -12-AはFPGAで作られたデバイス。
FPGAがそもそもよくわかってないので調べてみると、[WikiPedia](https://ja.wikipedia.org/wiki/FPGA)に以下のように説明があった

>FPGA（英: field-programmable gate array）は、製造後に購入者や設計者が構成を設定できる集積回路であり、広義にはPLD（プログラマブルロジックデバイス）の一種である。現場でプログラム可能なゲートアレイであることから、このように呼ばれている。

プログラムを書き込めるデバイスって感じなのかな？

# ！！重要！！OneChipBook -12-Aの注意点

元々MAXBOOKって名前だったので、MSXのファームウェアを利用するもの。
名前が変わる前はKdLのファームウェアが動く的なことが書かれていた。
KdL氏が公開しているOCM-PLDが動くようだが、KdL氏からはサポートしないよと宣言されている。
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">As for OCM-PLD, MSXBOOK is not supported; if you write OCM-PLD to MSXBOOK and have some problems, we will not be able to help you.</p>&mdash; KdL (@ocm_pld_news) <a href="https://twitter.com/ocm_pld_news/status/1892589347481801182?ref_src=twsrc%5Etfw">February 20, 2025</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

理由としては以下のツイートを見るとわかる。
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">MSXBOOK isn&#39;t supported because it isn&#39;t hardware that I have access to. Additionally, being a 1st Gen machine, it cannot be added to the project due to the firmware instability of that generation. The discontinuation of 1st Gen is imminent and will be announced after the v3.9.2</p>&mdash; KdL (@ocm_pld_news) <a href="https://twitter.com/ocm_pld_news/status/1893364442747847019?ref_src=twsrc%5Etfw">February 22, 2025</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

MSXBOOKを使う環境にないし、1stGenのハードウェアで、1stGenは廃止予定 ということっぽい。

こういったこともあるので、 OneChipBook -12-Aを購入される方は注意したほうが良い。


# 必要なもの

- [OneChipBook -12-A](http://8086cpu.com/list_29/104.html)
    - USB Blasterは付属しているのでそれを使う
- [OCM-PLD](https://gnogni.altervista.org/)
    - MSXBOOK(OneChipBook)はサポートされてないのでそれを承知で！
- Quartus® Prime 開発ソフトウェア・スタンダード
    - [こちら](https://www.intel.co.jp/content/www/jp/ja/software-kit/849753/intel-quartus-prime-standard-edition-design-software-version-24-1-for-windows.html)からダウンロードしてインストールしてください。
- USB Blasterのドライバ
    - Windows 11の場合、配布されているものは使えないので、[インテル® Quartus® Prime 開発ソフトウェア・スタンダード](https://www.intel.co.jp/content/www/jp/ja/software-kit/849753/intel-quartus-prime-standard-edition-design-software-version-24-1-for-windows.html)に含まれているドライバが必要になる。

:::note info
OneChipBookの公式サイトからProgrammerやドライバをダウンロードできますが、Windows11の場合は使わないほうが楽にできます。
:::

# Quartus® Prime 開発ソフトウェア・スタンダードのインストール
これはインストーラを起動して、デフォルトのまま進めていけばOKです。
ただ、インストールに時間が結構かかるので注意
※必要なものがわかっている方は厳選してインストールするとよいと思います。

# USB Blasterのドライバ
インテル® Quartus® Prime 開発ソフトウェア・スタンダードをインストールしたのちにUSB BlasterをPCに接続。
デバイスマネージャーを起動すると、ほかのデバイス のところに USB Blaster が表示されているので、右クリックでドライバーの更新を選択。
コンピューターを参照してドライバーを検索 をクリックして、以下のパスを選択。
```C:\intelFPGA_standard\24.1std\quartus\drivers\usb-blaster```
サブフォルダーも検索する にチェックをして、次へ行って、USB Blasterを選択して進めばOK

# ファームウェアの書き込み

:::note info
2025/04/02追記
Quartus II 13.1 Programmerを使う場合は管理者権限で起動してください。管理者権限でない場合、エラーが出て書き込みできない場合があります。
:::

:::note 
2025/04/04追記
Youtubeでも紹介と実際にファームウェアを書き込んでいるところを公開しました。
https://youtu.be/vrnCwDTWyec?si=bp_DhZry-Ff7Dljz
:::



まず、Programmerを起動します。
※スタートメニューをWindows10化しているのでややこしいですが、Windows11です
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277984/cac2aed9-bca6-4f3f-866b-b4e2f15e1cc7.png)

USB BlasterをPCに接続します。
OneChipBookにも接続し、OneChipBookを起動します。
画面は画像のようにNo Signalが出ている状態になります。
![IMG_20250401_004008.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277984/b83965f4-c413-4134-b977-c8b6b5e47c95.jpeg)

画面の左上のところに　No Hardware とでているので、Hardware Setop のボタンを押します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277984/05d5b71e-8cf3-49a3-a331-c7fc5ff87dc2.png)

Hardware Setupダイアログが表示されたら、USB Blasterを選んで Closeボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277984/db411f37-a9e9-4c4d-967d-89c863802683.png)

No Hardware だったところが USB-Blusterに変わっていることを確認します。
次に、Modeから Active Serial Programing を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277984/cda135a9-5d7d-4ed5-8dcb-90e08824adcc.png)

左メニューの　Add File... をクリックしてファームウェアを選択します。
私は 20221127 OCM-PLD Pack v3.9.1 by KdL\ocm-pld v3.9.1\firmware\1chipmsx_jp_layout\single_epbios_msx2plus_yen にあるファイルを選びました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277984/fa95c424-294b-49ec-8554-aa15406cc1a1.png)


画面が更新されるので、上のビューのProgram/ConfigureとVerifyにチェックを入れます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277984/72fcef37-95ee-4d6c-bf6f-8eb102d2677d.png)

左メニューの Start をクリックして書き込みを開始します。
スクリーンショットのように左上のプログラムバーが動き出し、ファームウェアの書き込みが始まります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277984/edaf880c-5f86-452e-9b5f-553521694e1b.png)


100% Successful になれば書き込みが完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277984/33c47444-b2fd-4462-b2f0-21dded93ad86.png)

USB BlasterをOneChipBookから外すと。MSXが起動します。
MSXのロゴが表示されたのちに、MSX BASICが起動します。
カートリッジを刺していれば、カートリッジのプログラムが起動します。
![IMG_20250401_004422.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277984/dc7482e4-566c-41e2-8b92-0ac4a8328884.jpeg)


# 最後に
思っていたよりも簡単にできたな、という印象です。
とはいえ、デバイスマネージャーを使ったり、エラー出ても気にせず進めたりしないといけないので、ある程度こういったことに慣れた人が触るものだと思いました。

これでMSX版のWizardryができるのでよかった！
MSX-BASICも久しぶりに触ってみたいかも？

Youtubeにも動画にして公開しようかと思います。