Z80 ゲーム機を作ろう(その1)
さて,前回は Z80 を使った最小限のコンピュータを作りました。
出力が 7 セグ LED,入力がボタンスイッチのみだったので,かなりショボい感じもありますが,一応入出力を備えたコンピュータと言えると思います。
入力に関しては,今後もあまり高度なことはしないつもりなのですが,出力はもう少し楽しいものにしたいと思いますので,次は,画面表示をするテレビゲーム機を作ってみようと思います。(でもテレビゲームって言う単語,最近聞かないですよね…)
基本は Z80 と標準ロジックで
やはり,今回も CPU は,ザイログの Z80 を使います。(すみません,好きなんです)。あ…,実際に使うのは東芝製の CMOS Z80 ですね。
このテレビゲーム,画面表示を行いますが,昔のアーケードゲームを参考にして,BG 画面とスプライト画面を標準ロジックを使って実装してみようと思います。
ですので,必然的に回路規模というか,部品実装規模は大きくなります。
世の中,ワンチップマイコンで表示も行っていらっしゃる方がいる中で,まさに時代に即さないモノ作りですね。
また,過去に似たようなものをいくつか作ったこともありますが,それとはまた別のものを作ってみたいと思います。なので,頓挫する可能性も大きいです。(笑)
ユニバーサル基板にワイヤラッピング配線
前回のパチパチマイコンに引き続き,ユニバーサル基板に配線はワイヤラッピングで行います。(と言うか,多分これは今後も変わらない気がする…)
ユニバーサル基板は,あまり大きいものにすると製作中に取り回しづらいので,適度な大きさのもの(パチパチマイコンと同じ大きさ)を使いますが,全体の実装規模を考えると,基板はそこそこの枚数になります。
コレ,コネクタ類も増えるので,結構コストがかかるんですよね。
でも少しずつ出来てる感がするので,モチベーション維持にはいいと勝手に思っています。
基板枚数が多くなってくると,ノイズとか,浮遊容量とかも考える必要がありそうですが,クロック数もそんなに高くないし,多分大丈夫でしょう…(ホントに?)。
趣味の工作だし,動けばオッケーということにしますので,その辺りは突っ込まないということでお願いします。(笑)
ロジック IC 以外の主な集積回路
CPU とメモリ類(ROM,RAM)はもちろんですが,音源は,既製のものを使います。
今回音源は,SN76489 というチップを使います。(写真左側にある 16 ピンのやつです)。
DCSG とも呼ばれるこのチップ,矩形波 3 つとノイズ 1 つの合計 4チャンネル発生することができます。
よく,PSG と呼ばれる,AY-3-8910 と比較や同系統に扱われることがありますが,こちらはかなり簡略化されていて,チップ自体も小さくコンパクトです。
PSG はよく使ったことがあるのですが,この DCSG は今回初めて使います。
大昔,友達が持っていた PASOPIA7 という東芝のパソコンに 2 つ搭載されていて,「六重和音すげ〜!」とか羨ましかったですね。(MZ-1500 も 2 つ搭載されていましたね)
メモリ類ですが,プログラムコードは書込み禁止した SRAM に入れます。(いわゆるROM エミュレータです)。
作っている最中は,いろいろとテストするので,プログラムを何回も修正して書き込む必要があるためです。(あと,デバッガでトレース実行するためという理由もあります)
窓が付いている EPROM がたくさんありますが,すべてキャラクター ROM です。
ROM に書き込むので,キャラクターは予め決まったものしか表示できません。
初期のファミコンのカセットも大体そうでしたね。
6 個もあるのは,別に容量を稼ぐわけではなく,画面表示はそれぞれ並列で動作させる必要があるからです。
BG 2 面とスプライト表示に 2 個ずつ使います。
気長に作っていきます
手配線で作りますので,かなり時間はかかる予定です。
しかも,作業は主に週末しかできません。
よく,「作りたいものを美辞麗句ゴタゴタ並べて,完成しない人っているよね〜」って聞きますが,その可能性も十分あります。(笑)
そんなわけで,なんとかモチベーションを保ちつつ,気長に作っていきたいと思います。