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

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

KM-Z80(MZ-80K互換マイコン)紹介編 [Z80]

2012年5月14日

KM-Z80は、Sharpが1978年に製造・販売したMZ-80Kと互換性のある、ワンボードマイコンです。以下の特徴があります。

CPUにZ80を使用。2 Mhzのクロック周波数で作動。
RAMとして、24 Kbytesを利用可能。
仮想ROMに、1 Kbytesのモニタープログラムを内蔵。
PS/2キーボードを使用。
40文字×25行の、キャラクターディスプレイ。
NTSCビデオ信号を介して、テレビモニターにキャラクターを表示。
カセットテープもしくは、PCのWAVファイルとして、プログラムを呼び出し・保存が可能。

ブレッドボード上に作成した試作品は、下のとおりです。
2012-05-13-kmz80-1.jpg

KM-Z80(MZ-80K互換マイコン)完成 [Z80]

2012年5月3日

8253回りはあっさり解決し、緑・赤LEDは追加したPIC18F14K50に接続して、完成。名づけて、KM-Z80(私のイニシャル+Z80)。

MPLAB C32 compilerを使ってみた [PIC]

2012年4月27日

Microchip のPIC32シリーズに、PIC32MX150F128B / PIC32MX250F128B という、DIP-28 の石を見つけた。RAM も 32 KB あるし、PIC32MX250F128B の方は USB ホストとしても使えるので、色々と面白いことに使えそう。価格も、$5 前後と、手ごろである。早速注文したので、2-3日で届くはずだが、待ちきれず、MPLAB C32(PIC32 用の C コンパイラー)で少し遊んでみた。

PIC32は、Microchip独自の開発のCPUではなく、MIPS (Microprocessor without Interlocked Pipeline Stages)という、MIPS Technologiesが開発している RISC アーキテクチャの CPU を用いている。どうやら、ARM に似ているらしい。

レジスタは、32 bit 幅だから、長サイズの整数や浮動小数点演算などは、得意なはずだ。他方、組み込みマイコンではI/Oなどとの連絡を行う必要がある。そちらはどうかと、色々調べてみた。

カセットテープインターフェース [Z80]

2012年4月22日

MZ80Kレプリカの、カセットテープインターフェース部分を、仕上げた。これで、MZ80Kレプリカの完成に、ほぼめどが付いた。

2012-04-22-loading.jpg

キーボードを接続 [Z80]

2012年4月16日

MZ80Kレプリカに、PS/2キーボードを接続し、動作を確認した。これで一応、入力と出力の両方を持つ、コンピューターの基本的な形は出来上がったことになる。

2012-04-16-keyboard.jpg

MZ-MONITOR VER 4.4 [Z80]

2012年4月8日

MZ-80Kレプリカ製作の進捗。モニターが起動するところまで出来た。

現在の姿は、下のとおり。
2012-04-08-kmz80.jpg

MZ80Kレプリカを製作中 [Z80]

2012年4月3日

少し前に、PIC18F14K50を使った、キャラクターディスプレイの記事を書いたが、この記事をお読みになった方の中には、この事を予想なさっていた方がいらっしゃるかもしれない。現在、MZ80Kのレプリカを製作中である。

なぜMZ80Kかというと、色々理由がある。

  1. 一つは私が生まれて2番目に触ったコンピューターであること。本来なら、初めて触ったコンピューター(日立ベーシックマスター)のレプリカを作ってみたいのだが、残念ながら、以下の条件に当てはまらない。
  2. ユーザー数が多かったせいか、web上に情報がたくさん見つかる。
  3. モニターROMと呼ばれる、現在のPCのBIOSに相当するようなものを、入手することが可能。これは、著作権の問題をクリアーするような形でできる。
  4. 同じく、CG-ROMと呼ばれる、フォントデーターを入手することが可能。

構想は半年ほど前からあって、どんな形で実現しようかと色々考えていた。それが実際に目に見える形になり始めたのは、前の週末からである。現在の姿は、こんな感じ。

2012-04-03-kmz80.jpg

CPLDを使ってみる [一般的なこと]

2012年3月24日

汎用ロジックを使って色々組み立てるのも楽しいが、少し規模の大きい回路になると、週末に工作をするという程度で完成させるには大変だ。そこで、CPLDを使えるように、システムのセットアップを試みている。

色々在って、AlteraのMAX3000Aシリーズを使うことにした。他に候補に挙げて色々と試したのはXilinxのXC9500XLシリーズである。私が個人的に行った比較では、次の通り。

1)石の入手のしやすさはあまり変わらない。どちらも、$1-$2で手に入る。
2)3.3V駆動、5Vトレラントや消費電力など、性能はほぼ同じ。
3)私のPC環境ではツールがAlteraの方が安定していた。
4)Altera用のUSB接続のダウンローダー(作成した回路を、石に転送するための道具)の制作方法が公表されている。Xilinxの場合、自作のダウンローダーは、パラレルポートに接続するものしか見あたらない(当然、市販のダウンローダーはUSB接続のものがある)。

以上の比較により、AlteraのMAX3000Aシリーズを使うことにした。

ダウンローダーには、USB-Blasterもどきを使わせていただいた。こういったツールを公表されている方には、本当に感謝である。

ユニバーサル基板に、このUSB-Blasterもどきと、EPM3064ALC44-10Nに合うPLCC44のソケットを載せ、この石が要求する3.3V用の3端子レギュレーターを入れ、別の基板のCPLD/FPGAと通信するためのソケットを追加して、下のようなものが出来上がった。

2012-03-24-cpld.jpg

PIC18F26K22をPICkit2で使う [PIC]

2012年3月17日

PIC18F26K22を購入した。64MHzで使えること(MIPS: 16MHz)と、25本のI/Oピンを持っていることが特徴。今考えているある回路で、このスピードとI/Oの数が必要なため、購入した。

この石は、MicrochipのページではPICkit3でないと書き込みできないことになっている。私はまだPICkit3は購入しておらず、PICkit2しか持っていない。なので、通常、この石は使えないことになる。

しかし、web検索して見つけたこのページによると、PICkit2ソフトウェアのdevice fileをアップデートすることで使えるとある。

PIC18F14K50を使った、キャラクターディスプレイ(シリアル通信編) [PIC]

2012年2月6日

PIC18F14K50を使ったキャラクターディスプレイを、シリアル通信で使えるようにした。

一本の通信線でデーターを受け付けることができるため、PICをはじめとしたマイクロコントローラを用いた機器の情報表示用に、使える。シリアル通信のボーレートは、1200。

以下の写真は、PCにRS232Cでつないで、テストを行っているところ。

2012-02-06-IMG_9605.jpg
<<前の記事   後の記事>>