オレ仕様のゲーム機を作ろう(その17)

前回は,「ファミコンっぽいゲーム」を動かしてみよう!…ということで,「それっぽく」動くゲームを作ってみました。

オレ仕様のゲーム機を作ろう(その16)

さて,今回から「自分の理想とする Z80 ゲーム機」にするため,オレ仕様ゲーム機をバージョンアップしたものを作っていきます。(…というパターンは以前の記事にもありましたね)

最終的なオレ仕様をどうするか?

いままで,段階的にゲーム機を機能アップさせながら作ってきました。

今回作る「自分の理想とする Z80 ゲーム機」は,以下の項目に挑戦したいと思います。

  • マルチ CPU
  • 画面解像度のアップ
  • 複数枚の BG 画面
  • 大きさ可変のスプライト
  • カラーパレットの色数増加
  • 複数音源

…って,前回の機能アップ項目と同じじゃないの?(笑)

はい。前回と似たような内容になりますが,よりパワーアップさせたいと思っています。

マルチ CPU

前回は,2 つの Z80 CPU を搭載しましたが,今回は 3 つの Z80 CPU を搭載させます。

前回より 1 つ増えた CPU は,サウンド制御専用の CPU とします。

便宜上,メイン CPU,サブ CPU,サウンド CPU と呼ぶことにします。

これらは,それぞれ独立したメモリマップを持っていますが,メイン CPU とサブ CPUは,前回と同様に,共有メモリ領域を用意して,相互に読み書きできるようにします。

画面解像度のアップ

今までは,大体 256 x 224 ドットの画面でした。

今回は,横のドット数を少し増やして,320 x 224 ドットにしてみたいと思います。(座標が 8 ビット幅で表現できなくなる?)

複数枚の BG 画面

前回は,スクロールする独立した BG 画面を 2 枚持っていましたが,今回はそれに加えて,スクロールしない固定 BG 画面を 1 枚,最前面に追加します。

主にテキスト表示に使用する BG 画面になる予定です。

定義できるパターン数は,2 枚のスクロール BG 共通で,8 x 8 ドットのパターンが 2048 パターン,固定 BG が,1024パターン定義できるようにします。

それぞれ,パターンごとに上下反転表示,左右反転表示ができます。

大きさ可変のスプライト

今までのスプライトは,大きさが 16 x 16 ドットの固定された大きさでした。

今回は,それぞれのスプライトに対して,縦横それぞれ,16 ドット,32 ドット,64 ドット,128 ドットを指定できるようにしてみます。

大きさが固定されている場合,大きなキャラクターを表示する時に,複数のスプライトを敷き詰めなければならなかったりするわけですが,一枚のスプライトで表示できるようになるので,スプライトを設定するときの CPU 計算負荷が軽減できる効果が期待できます。(その分,パターンの使い回しができなくなるので,定義するパターン数は増えると思います。多分…)

スプライトと言えば,横並び枚数の問題をよく聞きますが,大きさが可変することによって,枚数制限というよりも横並びの表示幅制限…ということになります。

横幅が大きいスプライトは,その分,横並び枚数が減る…という感じですね。

カラーパレットの色数増加

これも前回の基板でば,BG,スプライトともに,パターンごとに 4 色,16 個あるパレットから 1 つを割り当てる形でしたが,パターンごとに 16 色まで増やしてみます。

スプライトと固定 BG は,この 16 色パレットがそれぞれ 16 本,スクロールBG は,1 面ごとに 8 本をそれぞれ割り当て可能にします。

複数音源

前回の音源は,PSG(互換)音源を 2 つ搭載していましたし,今まで作成したゲーム基板は,使用していた音源が,ほぼ矩形波音源でした。

今回は,FM 音源を搭載してみたいと思います。

FM 音源と言うと,概ねヤマハ製のチップを思い浮かべると思います。

OPN 系とか,OPL 系とかいろいろありますが,今回は,ヤマハ製の YM2151 という FM 音源を使ってみたいと思います。

OPM という名前で有名ですよね。

 

 

この写真のものは,本物なのか,リマーク品なのか,よくわかりませんが,多分意図した音は鳴るような気がします(笑)。

4 オペレータ,ステレオ 8 チャンネルで,X68000 ユーザーや X1 ユーザー,MSX ユーザー(?)ならよくご存知だと思います。

ただ,これだけでは,複数音源とは言えないので,これに加えて,モノラルの PCM 音源を 2 チャンネル分搭載してみます。

ネーミングは?

今回は,このゲーム機に,なんか名前を付けてみたいと思います。

名付けて…

「鶏八」(とりはち)

です。

なんか,どこかの飲み屋みたいですが,毎回,ネーミングに関しては,ダサさ爆発です(笑)。

由来は,Z80 が 3 つ載っているから…?

多分,日本人しかわからないと思います(日本人でもわからないか…w)

ところで完成できるの?

え〜と,それはわかりません(笑)。

FPGA で HDL 言語を使って作る分には,おそらく問題ないと思います。(修正も簡単に行えますし…)

今回も前回同様,プリント基板に DIP 部品をたくさん使って作る予定ですので,基板枚数もそこそこ行きそうですし,回路の物理的な修正も多々あると思います。

ある程度,今まで段階を踏んで作ってきましたが,毎回,新しいことをしようとすると,その部分で必ず動かないケースに遭遇しました。

ですので,かなり製作期間は長くなると思いますが,いつものように気楽に進めていこうと思います。

 

 

 

さて,「自分の理想とする Z80 ゲーム機」の制作に入っていきますが,次回は,いつものように,ホスト PC と通信する基板から作って行きたいと思います。

それでは,次回に続きます。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA