SSブログ
English Version

HD64180Compact(その1)構想

 X(旧Twitter)のタイムラインで日立製の Z80 系 CPU である HD64B180ROP が共立エレショップさんで販売されていることを知り2個確保できました。

入手した HD46B180ROP


 パッケージは 64 ピンのシュリンク DIP なので秋月さんからシュリンク DIP のソケットと 1.778mm ピッチの汎用基板を購入しました。

..
skyriver

超小型Z80マイコン(その14)開発機のケース製作

 前回の記事で書いたようにユニバーサル基板を用いてポリウレタン線で手配線した開発用基板が 20MHz で動作しハード弄りは一段落しました。Z80 を使った簡単な実験を行う場合はやはり速い方がいいのでこの開発機を結構使っています。
 基板の裏面はカバーで保護していますが、今後も安定した状態で使っていきたいのでケースを作ることにしました。

 開発機なのであまり凝らずに下図のような3ピース構成にしてみました。右側面の穴は USB コネクタと TF カード用のものです。

..
skyriver

超小型Z80マイコン(その13)クロック20MHz化

 前回の記事でプリント基板化してほぼ Z80 のチップサイズと同程度のサイズの基板にできたことを書きましたが、今回は Z80 のクロックを12MHz から 20MHz に変更した場合の動作を確認しましたので結果を記録しておきたいと思います。

 但し、今回の3チップ構成での Z80 のチップサイズのプリント基板は弄らずに開発用に汎用基板で手配線した基板に 74HCU04 と 20MHz のクリスタルを追加して動作を確認して見ました。元々あった 12MHz のクロックは U..
skyriver

超小型Z80マイコン(その12)PCBへの部品実装

 前回の記事でプリント基板のパターン設計について書きましたが、製造依頼していたプリント基板が届いたので、今回は部品実装と動作確認について書いてみます(写真が多めです)。

 いつもの様にコンパクト化のために表面実装部品を両面に実装しています。まずはトップ面ですが、SRAM と USB コネクタ等を実装しています。SMD 部品実装後の写真が下図になります。

トップ面への SMD 部品の実装
..
skyriver

超小型Z80マイコン(その11)動作モニタ用LEDの実装

 前回の記事で書いた汎用基板を使いウレタン線で結線した開発用基板は順調に動くようになりました(末尾に状況を書いた Twitter のメッセージを貼っておきます)。

 手軽に CP/M も起動できるので色々遊んで見ると SD カード(以降 TF カードと記す)のアクセス中等の状態を示す LED が無いとコンパイル中等に動いているのか不安になります。
 今回の3チップ構成の Z80PicCompact の開発では小型化のために 20 ピンの PIC を使用しており、I/O..
skyriver

超小型Z80マイコン(その10)確認用基板作成

 前回の記事で書いたパターン図でプリンタと基板の製造を依頼したものが届きました。
 しかし、TF(SD or MMC、以降TF と記す)カードソケットの位置が微妙に Z80 のソケットのピンに干渉するのでカプトンテープで保護しながら組み立ててみましたが CP/M は立ち上がらず、Z80 からのメッセージ出力する部分まで動いていない様子でしたorz
 プリント基板の Z80 用ソケットに接続するような信号モニタ用のヘッダピン付き基板を汎用基板で作ろうかとも思いましたが、SM..
skyriver

超小型Z80マイコン(その9)回路図とパターン設計

 20 ピンの USB 対応の PIC(PIC18F14K50)を使った 3 チップ構成の小型 Z80 基板を引き続き検討中です。
 前回の記事の最後に追記したように HexLoader で CP/M の IPL を実行することで CP/M が動作するようになりました。その後、ソフトウェアによるタイミング調整により CP/M が安定して動くようになりました。
 使いまわしているブレッドボードとジャンパーワイヤを使用しているためか、まだ不安定になる時もありますがプリント基板..
skyriver

超小型Z80マイコン(その8)メモリカードエラーの調査

 20 ピンの USB 対応の PIC を使った 3 チップ構成の小型 Z80 基板を引き続き検討中です。前回の記事で書いた TF(SD) カードの読み書きでのエラーの原因について調査したのでメモを残しておきます。今まではロジアナで SPI 信号を確認していましたが、今回は信号の波形をオシロで確認してみました。

 下図は初期化処理で最初に発行する CMD0 の波形例で、クロック周波数は 400KHz で 8GB の TF カードで試験しています。
 各信号は、1(黄色..
skyriver

超小型Z80マイコン(その7)メモリカードエラーとBASICの移植

 20 ピンの PIC を使った 3 チップ構成の小型 Z80 基板を引き続き検討中です。前回の記事では制御信号を兼用したことに起因する問題と解決方法について書きましたが今回は TF(SD) カードの接続状況等について書いてみたいと思います。

 状況としては初期化コマンドは通ったもののブロックの読込みと書込みのコマンドに対してエラーが返ってくる状況です^^;
 ロジアナ波形も含めて自分へのメモ書きの意味も込めて書き留めておきます。

 初期化コマンドに関しては下図..
skyriver

超小型Z80マイコン(その6)制御信号兼用の問題

 前回の記事から時間が空いてしまいましたがメモの意味も兼ねて状況を書いて置きたいと思います。
 今回は USB 機能を搭載した 20 ピンの PIC(PIC18F14K50)を使用しているため I/O 数が非常に少なく「超小型Z80マイコン(その1)USBシリアル対応とピンアサイン」の記事に書いたように超ケチケチ設計で 1 ビットの制御信号で複数の制御を行っていたりします。

Z80PicCompact ピンアサイン(再掲) ..
skyriver

超小型Z80マイコン(その5)Z80 INIR命令の中断

 以前、PIC24 を使った 3 チップ構成の Z80 シングルボードを開発した際に「レトロマイコンZ80ボードの構想(その10)CP/M80 BIOS検討2 」の記事で Z80 が HALT 状態( HALT 命令を繰り返している状態)の時にメモリ上の HALT のコードを別のコード(例えば NOP )に書き換えることで HALT から抜け出せないか実験したことを書きました。メモリ上の HALT コードを書き換えても HALT 状態は継続されるという結果でした(コメント欄に..
skyriver

超小型Z80マイコン(その4)GAME言語で動作確認

 前回の記事で Z80 からの表示要求により hello 表示ができたことを書きましたが、色々弄っていると動作が不安定であることが判りました^^;

 データバスへの出力タイミングやウェイトの開放タイミング等を見直し、漸く安定動作するようになり、動作確認のために GAME 言語を入れてみました。
 前回の記事で書いた boot ROM 機能では最大 256 バイトのコードまでしか対応できないので、これを何回か繰り返して大きなサイズに対応する方法も考えられますが、以前作成..
skyriver

超小型Z80マイコン(その3)hello表示

 今回開発予定の USB 対応の 20 ピンの PIC ( PIC18F14K50 )を使った 3 チップ構成( Z80、PIC 及び SRAM )の小型 Z80 マイコン( Z80PicCompact )について前回の記事では PIC が出力するコードを直接 Z80 が実行できたことについて書きました。
 今回は前回の記事の末尾で書いたように hello 表示の実現について書いてみます。

 Z80 上のプログラムから hello を表示するためには PIC から Z..
skyriver

超小型Z80マイコン(その2)Boot ROM機能の実験

 前回の記事では今回目指している小型 Z80 ボード( Z80PicCompact )でのピンアサイン案まで書きましたが、今回は PIC 側で実現する機能の一つである boot ROM の機能に関する実験についての状況を書いてみます( PIC のもう一つの機能は シリアル通信と SD カードインターフェースとしての I/O 機能)。

 結果から先に書いてしまうと最初のステップとして PIC からの "JP 0000H"( 0C3H,00H,00H )のコードを受けて、Z..
skyriver

超小型Z80マイコン(その1)USBシリアル対応とピンアサイン

 「3チップ構成Pic24CPMマイコン(CP/M起動までの作業まとめ)」の記事で書いた Z80 ボードは PIC24 を使ってメモリをダイレクトアクセスすることで3チップ構成の Z80 ボードを実現しましたが、メモリ制御のために I/O 数の多い PIC が必要でした。
 また、「Z80GalCompactの制作(その2)部品実装」等の記事で書いた Z80GalCompact では Z80 を高速(20MHz)で動作させ、シリアル通信や SPI をソフトウェアで実現するこ..
skyriver