目的
ちょっと前に、CYC1000というボードでDOSを動作させた。
DOSは8086というインテルの16ビットCPUで動いている。(実際は80186だけど)
当然、インテルの16ビットをやったら、モトローラの68000を忘れちゃいかんでしょう。
と言う事で、出来るかどうかを先例調査した結果、
◆◆◆ よし、FPGAでMacPlusを動かそう ◆◆◆
今は無きモトローラ派なんですよ。実は。
経緯
MacPlusのFPGA化の先例は、下記が有る。
1.Plus Too Mac Replica
2.MacPlus_MiSTer
但し、MiSTer版は[Plus Too Mac Replica]をMiSTerへのポーティング。
改善されているようなので、MiSTer版を参考にする。
MiSTer版を使うに当たっての技術的課題として、当たり前だが入出力は全てMiSTerが仕切っている。
これを自前で何とかする必要が有る。
そこで、MiSTerで動作するMacPlusにSignaTapを接続、入出力信号を調査した。
とりあえずFD/HDの入出力は大体判ったので、MiSTerの他サブシステムのポートも可能かな。
もう一つの問題は、MacPlusのビデオ信号出力が、今様で無いこと。
之については、信号タイミングを調整し強引に取り合えず表示可能なレベルに落とし込んだつもり。
但し、VGA規格には合致していないので表示できないディスプレィも有るかも知れないが、ご了承のほど。
キーボードとマウスもMiSTerから提供されているが、変換が判り難かったので、直接接続。
キーボードは特殊文字には対応してないし、変なリピートが入る場合も有り、今一かな。
ハード
CYC1000ボードに、SD,VGA,PS2キーボード,PS2マウスポートが繋がっているだけ。
ブレッドボードで配線する場合は、プリント基板の回路図か、MacPlus.qsfを見てくださいね。
なお、PS2ポートは、キーボードとマウスの接続先は決まっているからね。
CYC1000をプリント基板に乗せた状態の上面と背面。(VGAとUSBのシェルが一部接触している)

ソフト
というよりは、verilogで書かれた回路の事ですが。
MacPlus
イメージ
SDに格納する、MacPlusのOS等のプログラムの事です。
mac_HD.zipを解凍するとmac_HD.imgが出来るので、SDに書き込む。
mac_HD.imgは下記の構成にしている。
000000 FD1(Util 800KB)
100000 FD0(System 800KB)
1E0000 BOOT(128KB)
200000 HD (20MB Non Format)
再作成する場合は、empty_hdd.zipを解凍してから、marge_mac.batを実行する。
FD0とFD1が逆転しているが、フロッピー(800KB)をSDに上書きするだけで更新できる構成です。
FDはMiSTerの仕様を引き継いでいるので、書込みはできない。
HDDは更新可能だが、データの取り出しは出来ない。
同じOSで動かしても、なぜかEMUシステムとはフォーマットが異なり、データ交換できない。(なぜだ)
動作
イメージを書込んだSDを差し込み、電源を入れると起動する。
最初の起動には多少時間がかかる。(RAMチェックでもしているのかな)
格子模様(縦横1010のパターン)が出れば、取り合えずSDからのBOOTは成功している。
※白一色の場合は、SDの読み込みを失敗している可能性が高い。
これも出ない場合は、VGAの信号出力を要チェック。
次にFDマークが出て、Macの顔が出て、Welcomeの順序で表示される。

mac_HD.imgはディスクの初期化をしていないので、初期化の画面が出る。
そこで、キーボードとマウスを繋いでディスクの初期化をすれば使えるようになる。
SDのFD1の位置にユーティリティ等を上書きすれば、画面に現れ使用可になる。

使用したCPUデータは、68020迄カバーしているようだ。
であれば、HITACH2050もやってみたい所では有る。資料有ればだけど、無いな。
イメージに使用したOS等は、MiSTer添付の物をそのまま流用している。
なお、もし追試する奇特な方がおられた場合、上記記載内容は無保証であり、各自の責任においてご利用願います。