EMU68k8の成果

往年のCPUをPICひとつで動かす試みは、Z80のEMUZ80が思いのほかうまくいったから、引き続きMC68008のEMU68k8に着手。データシートを見る限り制御はMC68008のほうが簡単。タイミングの制約が緩く、PICをマイペースで動かせる。試作機は、EMUZ80からZ80を取り外し、ジャンパー線でブレボのMC68008へつないで、たちまち完成。

この種の制御は、PICが面倒な処理をする間、CPUをうまく待たせられるかどうかが成否のカギを握る。Z80を始めとするほとんどのCPUは限られた時間のうちに待ち信号を送らなければならない。そこへいくとMC68008は、何もしなければ待ちに入り、抜けていいときDTACKを送る仕組み。こういっちゃあナンだけど、楽勝だわ。

試作機でHELLO, WORLDが動き、やや不安定だったんだけど、えいやっとプリント基板を作った。いやちゃんと確認しなきゃダメでしょ。あとからわかった不安定の原因はBERRをプルアップし忘れていたこと。また、BRは普段プルアップしておいて、PICにファームを書き込むときGNDへ落とせると便利。そこらへんはジャンパー線で応急処置。

正しい回路はこんな感じ。HELLO, WORLDが安定して動いたからハードは完成。PICによる制御もたぶん大丈夫。あとはEhBASICあたりを移植してアセンブルし、バイナリを配列rom[]に置けば完成。なんだけど、ボクはMC68000の機械語が苦手で、HELLO, WORLDが精いっぱい。EhBASICときたらぜんぜん動かせないのだった。

別窓でPDFの回路図を開く

諦めかけたとき救世主が現れた。EMUZ80に追加基板(メザニンボード)を乗せる方法で各種CPUを動かしている奥江聡さんが、MC68008に対応したMEZ68008でEhBASICを動かしたのだ。そのうちEhBASICのソースがこちらのGithubリポジトリで公開されている。ありがたく頂戴し、RAMサイズを調整し、EMU68k8の配列rom[]に組み込んで、はい完成。

ファームのMPLAB X IDEプロジェクトとPIC18F47Q43のHEXファイルを下のGithubリポジトリに置いておく。ファームの大筋はボクが書いたが、そのうち配列rom[]の中身は奥江聡さんのEhBASICをごにょごにょやって作ったバイナリとなっている。

EMU68k8関連ファイル-https://github.com/vintagechips/emu68k8

EMU68k8はMC68008を6MHzで動かしている。最高7.5MHzまで安定して動くが、速度が微増にとどまるため、6MHzが最適と判断した。ASCIIART.BASの実行時間は12分18秒。

ボクのEMU68k8はさまざまな観点から奥江聡さんのMEZ68008に後れを取っている。どこがどう後れているか丁寧に説明することはあまりに自虐的だから控えるとして、端的な事実をひとつ言えば実行速度が30%ほど遅い。ここにEMU68k8の成果をまとめた上で、今後のことは奥江聡さんのMEZ68008にお任せしようと思っている。

カテゴリー: 68000 パーマリンク

EMU68k8の成果 への3件のフィードバック

  1. PCBWay Sponsor より:

    Hello

    Deeply impressed by your blog content which means a lot to electronic makers.
    I’d like to sponsor your project by providing free PCB prototyping,
    only hoping for a slight promotion or a review about quality or service in return.

    Are you interested?

    こんにちは

    あなたのブログの内容は、電子メーカーに多くのことを意味し、深く感銘を受けています。
    私は無料のPCBプロトタイプを提供することによって、あなたのプロジェクトのスポンサーになりたいと思います。
    ただ、見返りにちょっとした宣伝や品質やサービスについてのレビューを期待しています。

    あなたは興味がありますか?

    • vintagechips より:

      ありがたいお申し出ではありますが、フォロワーさんと宣伝や各種マーケティング活動をしない約束になっておりますため、ご期待にそうことができません。すみませんがご辞退させてください。よろしくお願い致します。

  2. ピンバック: EMU68k改 – DIP40

コメントを残す