IC・トランジスタで出来たコンピューターを設計・製作するためのブログ

Jeans & Development 電子ブロック工房 三日坊主 フロントページ

KM-Z80 mini + カセットテープインターフェース [PIC]

2013年6月10日

KM-Z80 mini (PIC32MXを用いた、1チップMZ-80K互換機) で、カセットテープインターフェースが動くようになった。

下は、iPodから、Bug Fireを取り込んでいるところ。
2013-06-10-AUT17601.jpg

KM-Z80 mini version 0.182 [PIC]

2013年2月10日

最新のPIC32MX150F128Bの仕様では、Max Speed MHz が 50 になっている。以前は40 MHzであったので、KM-Z80 miniも40 MHzで動かしていた。

この1.25倍の速度の違いが、KM-Z80 miniの開発に於いては非常に大きい。と言うのはPIC32MXの実行速度が、MZ-80Kをエミュレートするのにぎりぎりであったからである。CPUのリソースのうち、4割ほどがビデオシグナルの作成に取られていたため、残りの6割しかZ80-CPUのエミュレーションに使えなかった。この状態で、速度調整のためのウェイトルーチンをいっさい入れなかった場合に、かろうじておおよそ2 MHzでZ80が動いていた。

PIC32MXが、今までの1.25倍の速度で動くと、Z80のエミュレーションは1.25倍どころか、もっと速くなる。と言うのは、ビデオシグナル作成も速くなるため、より多くの時間をZ80のエミュレーションに費やすことができるようになるからだ。

KM-Z80 mini α version [PIC]

2012年12月23日

KM-Z80 mini (PIC32MX150F128Bを使った、MZ-80K互換マイコン)最初の公開バージョン

2012-12-23-kmz80mini.jpg

KM-Z80 mini + keyboard [PIC]

2012年12月16日

1チップPICで構成しているKM-Z80 miniに、PS/2キーボードが接続された。

2012-12-16-kmz80mini.jpg

4 bit RISC CPUの回路 [CPU]

2012年12月11日

ほぼ、完成。 JUMP, CALC, SKIPなど、いくつかの命令が予想通り動くことを確認。

2012-12-11-kmrisc4.png

KM-Z80 mini 進捗 [PIC]

2012年12月9日

32ビットPIC(PIC32MX150F128B)を用いた1チップMZ-80K互換マイコン作成の進捗状況。NTSCビデオ信号送出とZ80 CPUのエミュレーションまで完成し、モニタープログラムが起動するところまで来た。

2012-12-09-kmz80mini.jpg

現在、PS/2キーボードからの信号を処理する部分を書いている。これが済めば、とりあえずコンピューターの体を成すことになる。

4 bit RISC CPU [CPU]

2012年12月4日

RISCアーキテクチャを用いたCPUに変更する事になりそうだ。

新しいCPUの仕様に従って、回路をこつこつと設計していたのだが、7割ほど出来上がったところで問題が発生した。どうやら、今の設計では、小規模のCPLD(マクロセル64以下)には収まりそうもなく、比較的規模の大きいCPLDか、FPGAの規模になってしまいそうである。

こうなると、まず最初のCPUをCPLDの中に納めるという短期目標が難しくなり、トランジスターで組むという最終目標はほとんど達成できそうもない。今のまま進めても、CPLDレベルや汎用ロジックのレベルでは何とかなるかも知れないが、最初の設計の段階で手を打っておかないと、後で一からやり直しということになりかねないように思う。

CPUをなるだけ簡単にするという事で真っ先に思い浮かぶのはRISCアーキテクチャで、4ビットのCPUもこれで出来ないかと、少し考えてみた。

2012-12-04-registers.png

クロック周り [デジタル回路]

2012年11月26日

クロック作成部分は、とりあえず(というか、たぶん、ほぼ決まり)、こんな風に。

2012-11-26-clk.png

CPUの仕様を若干修正 [CPU]

2012年11月22日

CPLDで回路を組んでいる途中で気が付いたことに対応するため、命令の順を若干変更した。
2012-11-22-cpu.png

変更したのは、演算命令のssの位置と、それに伴って上位3ビットを011から010に(こうすることで、ソースの指定が 0ss になる )したこと。ソースをbit3-5に固定、デスティネーションをbit0-2に固定するため、ロード命令のsssとdddを入れ替えたこと。インクリメント・デクリメントとリテラル値のSレジスタへの代入を余った領域に割り当て直したこと。

これらの変更で、回路が若干簡略化される。

4 bit CPU ver 0.3 [CPU]

2012年11月12日

新しい4 bit CPUの仕様が、ほぼ固まったと思う。

2012-11-12-registers.png
<<前の記事   後の記事>>