Z80

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

文字列関数 [Z80]

2012年7月17日

文字列を戻り値とするする関数を、実装。

2012-07-17-strfuncs.png

文字列型変数機能改訂 [Z80]

2012年7月16日

文字列型変数のメモリ周りの扱いを改訂し、文字列に別の文字列を追加するような記述が使えるようにした。

2012-07-16-string.png

文字列型変数 [Z80]

2012年7月11日

KM-BASICに、変数への文字列の代入を実装。

2012-07-11-string.png

演算子 [Z80]

2012年6月6日

必要な演算子は、ほぼすべて実装した。

2012-06-06-ops.png

FOR文を実装 [Z80]

2012年6月5日

FOR文が使えるようにした。

2012-06-05-FOR.png

代入命令 [Z80]

2012年6月4日

KM-BASICに代入命令(LET文)を実装。

2012-06-04-LET.png

BASICインタープリター [Z80]

2012年5月31日

KM-Z80(MZ-80K互換マイコン)で使える高級言語として、BASICインタープリターを作成中。

2012-05-31-BASIC.png

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

2012年5月28日

ブレッドボードではなく、ユニバーサル基板上にKM-Z80を作成した。
2012-05-28-IMG_9716.jpg

ずっとブレッドボードのまま保存しておくわけにも行かないし、また、公表したKM-Z80の回路図の確認もかねてということで、ユニバーサル基板の上にKM-Z80を構築してみた。

SDCC用の環境構築 [Z80]

2012年5月22日

Z80用のコンパイラとして、何か使えるかなと思い、Webを色々検索してみると、SDCC (Small Device C Compiler)というものを見つけた。ライセンスはGPLだから、普通に使える。

使い方に関する情報が多くはない。それでも先人の方々がいらっしゃるので、初めての人間には非常に助かる。以下のページを参考にして、KM-Z80用(MZ-80K用)のソフト開発環境を構築してみた。
Z80のC言語クロスコンパイル(SDCC)(1) - Resilient Mind
SDCCでクロス開発環境をインストールと使い方(Z80用) - Tosikの雑記

KM-Z80(MZ-80K互換マイコン)回路図編 [Z80]

2012年5月16日

先日紹介したKM-Z80の回路について、少し説明します。

KM-Z80は、ICとして以下のものを用いています。CPLDについてはPLCCパッケージのものが、その他のICについてはDIPパッケージのものが、Digi-Keyあたりで手に入ると思います。

CPU: Z84C00 (Z80 CPU; Zilog)
RAM: 62256 (32 Kbytes static RAM, Cypress)
Timer: 82C54 (8253 upper compatible; Intersil)
CPLD: EPM3032ALC44-10N (Altera)
Microcontrollers: PIC12F683, PIC18F25K22, PIC18f14K22, PIC18F14K50 (Microchip)

用いたZ80は、本来10 Mhzで動く能力を有していますが、MZ-80Kのクロックスピードにあわせるため、2 Mhzで使用しています。RAM は、32 Kbytes のものを用いていますが、そのうち、4 Kbytesを仮想ROMとして、別の 4 Kbytes をキャラクターディスプレイ用に用いているので、KM-Z80 の中で実際にRAMとして使用可能なのは、24 Kbytesです。

MZ-80Kでは、コプロセッサとしてI/O用に8255、タイマー用に8253を用いていますが、これらの代わりに、PIC18F14K22と82C54を用いました。PIC18F14K22の中で、8255の動作をエミュレートしています。82C54は8253のアッパーコンパチブルなので、そのまま用いています。

キャラクターディスプレイは、汎用ロジックやCPLDなどで構築すると複雑なので、代わりにPIC18F25K22で実装しました。ここの部分が KM-Z80 のミソと言っても良いでしょう。これの開発途中で試作品として出来たのが、以前紹介した、PIC18F14K50を用いたキャラクターディスプレイです。
<<前の記事   後の記事>>