SSブログ
English Version

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

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

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

..
skyriver

GAME言語で 3DHAT の高速描画

 Z80 アセンブラで作成した 16 ビットの固定小数の乗算演算処理を使って asciiart を高速に描画できたことを「GAME言語での ASCIIART の高速化」の記事で書きました。

 GAME言語コンパイラはGAME言語自身で記述されているので固定小数点のような新たな演算子の追加も割合楽にできます。
 上記の記事では固定小数点の乗算のみを追加しましたが、今回はコンパイラに下記の演算子を追加して3DHATを高速に描いてみたいと思います。
 尚、3DHATのプロ..
skyriver

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

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

Z80GalCompactの制作(その3)ケース作成

 前回の記事で書いたように自作の小型 Z80 基板(Z80GalCompact)で CP/M-80 が動くようになったのでケースを作ってみました。今回はこのケース作成状況を書いてみたいと思います。

 部品実装後の Z80GalCompact 基板の写真を再掲します。

Z80GalCompact(トップ面) Z80GalCompact(ボトム面)
..
skyriver

Pic24MC68Kマイコン(その11)CP/M-68KでForth

 「Pic24MC68Kマイコン(その9)ehBASICの移植」の記事で書いたように MC68000 のチップサイズと同程度のサイズのプリント基板でCP/M-68Kが動き、ehBASIC も移植できたので CP/M-68K で動作する BASIC 以外のアプリケーションを探していたところ、Digital Reseaerch Binary Files のサイトに Forth があったことを思い出し、起動しようと試みましたが下記のエラーが発生して動きませんでした。orz

..
skyriver

Pic24MC68Kマイコン(その10)CP/Mアセンブラの謎

 前回の「Pic24MC68Kマイコン(その9)ehBASICの移植」の記事で書いたように CP/M-68 のアセンブラ(as68)でソース内で offset セクションで宣言したシンボルがあるとリンカー(lo68 及び link68 共に)でオブジェクトファイル読込み時にエラーが発生してリンクが出来ません。

 「CP/M-68K Programmer's Guide」にはoffset については下図のように「(offset宣言で作成した)ストレージ定義はリンカーに渡さ..
skyriver

Pic24MC68Kマイコン(その9)ehBASICの移植

 MC68Kのチップサイズ(DIP64)と同程度のプリント基板で CP/M-68K を動かす今回の試みに関して前回の記事でケース作成について書きました。

 今回作成したものは以前作成した Pic24CPM68K と比べて
  • クロックが 8MHz から 16MHz に速くなっている
  • バス幅が 8bit から 16bit になっている
なのでかなり高速になっているのではないかという期待があります。

 速度の評価ということでは BASIC 言語で記述されている ..
skyriver

Pic24MC68Kマイコン(その8)ケース作成

 前回の記事で MC68000 の DIP64 チップサイズとほぼ同じサイズの基板で CP/M-68K が動作することを書きましたが、今回はケースについて書いてみます。

 プリント基板が小さくまとまったのでケースも小さくしようとするとインサートナットを入れる場所が無くなってしまいました。そこで今回は PETG フィラメントの柔軟かつ積層間の結合強度が高いという特徴を生かしてネジを使わないかみ合わせ方式でのキャップの固定を試みてみました。
 CAD で表示した全体像が下..
skyriver

Pic24MC68Kマイコン(その7)CP/M-68Kの移植

 前回の記事でプリント基板に部品を実装して動作確認ができたことを書きましたが、回路図をまだブログに書いていなかったことに気が付きましたw

 順番が前後してしまいますが回路図は下図になります。自作の回路なのでいつものように使用部品を最小限にするように考慮しました。
 MC68HC000(MC68000のCMOS版)とPIC24FJ64GAを連携させるためには
  • スリーステートバッファ
  • 反転ゲート
  • ANDゲート
が必要だったのですが 3-State Bus In..
skyriver

Pic24MC68Kマイコン(その6)プリント基板で動作OK

 前回の記事から時間が経ってしまいましたが、元旦に製造依頼したプリント基板はとっくに届いているので部品を実装してみました。

 ブレッドボードで確認した回路なのでいつものようにすぐ動くと思っていましたが今回は PIC24 の OneBitLoader すらまともに動かず、原因調査&対処して無事動くようになりましたので調査内容や対処などについてメモとして記録しておきたいと思います。

 最初に Pickit で PIC24 に OneBitLoader を書き込んで起動..
skyriver

Pic24MC68Kマイコン(その5)S-record ローダーの制作

 前回の記事で書いたように PIC と MC68K のインターフェース動作が確認できたので MC68K 側のメモリにプログラムをダウンロードするためのモトローラ S-record フォーマットファイルのダウンローダーを準備します。

 今回は「3チップ構成68Kマイコンの構想(その3)Sレコード簡易ローダーの製作」の記事で書いた、以前 68008 環境で行ったことを 68000 環境に合わせて変更するだけなので既にある道を歩いているようなものです。

 まずは MC6..
skyriver

Pic24MC68Kマイコン(その4)PICとMC68Kのインターフェース処理

 前回の記事で書いたようにブレッドボード上で MC68K が漸く動くようになったので今回はPCとのインターフェース部分の動作確認について書いてみます。

 基本的には以前 68008でやったことを踏襲しますが、メモリアクセス用のデータバスが16bitになったことで3番目にあった文字出力時の出力データ(CoData)を機能番号(FuncNo)の次に移動して MC68K から1回のアクセスで設定できるように変更しました。
 アセンブラ環境は EASy68 の EDIT68K..
skyriver

Pic24MC68Kマイコン(その3)68Kからのメモリアクセス

 前回の記事で書いたようにPICからのメモリアクセス動作は問題無いようなのですが、MC68K がうまく動かない状態だったので調べてみた結果等を書いてみます。

 始めに評価環境についてですが、下の写真はブレッドボードで評価中の MC68K で1枚のブレッドボードの大半を占有していて幅広なので配線を挿す場所が上下ともに1列しかないのでロジアナが繋ぎ辛いですw
 前回の記事でも書いた 元の刻印(だと思いたい)を消さずに16MHzにクロックアップした型名を刻印している主張の強..
skyriver

Pic24MC68Kマイコン(その2)PICからのメモリアクセス

 最初に通販ネタですが、今回使用予定のメモリAS6C8016(512Kx16bit)は通販での偽物に対するリスクヘッジで二つの店舗から2個ずつ購入しています。
 yahooニュースの見分け困難!半導体の『模倣品』流通…真贋判定会社は大忙し「約3割が模倣品の懸念」を見ると外観で偽物チップを見分ける上で一番重要視されるのがインデックスマークの有無(偽物は表面を削るのでマークが消える)だそうです。

..
模倣品流通のニュース
skyriver

Pic24MC68Kマイコン(その1)構想

 以前、「3チップ構成Pic24CPM68Kマイコン」の記事に自作のMC68008ボードを使ってCP/M-68Kを動かす内容を書きましたが、今回は8ビットバスのMC680008ではなく、MC68000を使ってCP/M-68Kを動かしたいと思います(実際にはCMOS版で16MHz動作の MC68HC000P16 を使用予定)。
 今回の目標として全体をMC68Kのチップに近いサイズにまとめたいと考えています。使用予定のメモリは+5Vで動作可能で容量が 512K x 16bit..
skyriver

MSX-DOS上でのGAME言語のベンチマーク

 「MSX-DOSに自作スクリーンエディタ移植」の記事内で書いたWebMSX環境を使ったMSX-DOSでGAME言語を動かした際のサンプルプログラムではGAMEコンパイラの効果があまり出ていなかったので実用的なプログラムに近いもので実行速度を評価してみました。

 WebMSXでは「MSX2+ JAPAN(NTSC)」を選択し、QuickOptionsの設定内にある「CPU Turbo」を「8x」に設定しています。

 使用したプログラムはインタプリタでの実行時間が数..
skyriver

3チップ構成Pic24CPM68Kマイコン(CP/M-68K起動までの作業まとめ)

 今回作成した3チップ構成のワンボードマイコン(下の写真)でCP/M-68Kが動作しているようなのでCP/M-68Kを立ち上げるまでに必要な作業を整理しました。

 使用しているチップは下記のとおり、3チップ構成で汎用ロジックICやPLD等は使っていません。
  • MC68008P10
    10MHz版のバスが8bit幅の68Kチップ。PICからクロックを供給する関係で8MHzで動作。
  • K6T4008C1B-DB70
    512KBのSRAM。アクセスタイムは70ns。..

skyriver

CP/M-68K シミュレータ

 「3チップ構成Pic24CPMマイコン(CP/M起動までの作業まとめ」の記事に3チップ構成のワンボードマイコンで CP/M-80 を動作させる手順を書きましたが、CP/M系はソフトの入手性がいいので他の CP/M にも興味が沸き、CP/M-68K Simulatorのwebページの情報を参考に CP/M-68K のシミュレータを動かしてみました。

 MusashiというLinux上で動く MC68000 のエミュレータを使ってCP/M-68Kを動作させているとのことで..
skyriver