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

前回は,「サブ CPU 基板」を作って,双方の CPU で並列動作できるようになりました。

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

今回は,予定通り「スクロール BG 基板」を作りたいと思います。

 

BG の仕様

予定では,複数の独立スクロールする BG 画面を表示することになっていました。

これは,以前に作ったゲーム機と同じなので,多分,基本的な回路は流用できそうです。

では,今回どこを変更するかというと,パターンの色数と定義パターン数を増やします。

色数は,「固定 BG 基板」と同じく,パターン当たり 16 色ですが,この 16 色のパレットが BG 1 面あたり,8 本あり,その中の 1 本をパターンに指定できます。

BG の広さは,512 x 512 ドットあり,そのうち,スクロールレジスタで指定した 320 x 224 ドット分が画面に表示されます。

パターンは 8 x 8 の大きさで,2048 パターン定義可能ですが,このパターンは,2 面ある BG で共通で使います。

それぞれ独立してパターン定義もできたのですが,おそらく,似たようなパターンをどちらも使うと思うので,共通としました。

また,パターンごとに上下フリップ,左右フリップを指定できます。

BG のセルデータを指定する VRAM は,メイン CPU とサブ CPU 両方から読み書きできますが,パターンを定義する VRAM は,サブ CPU のバスにのみ接続されており,サブ CPU から読み書きするようになっています。(部品が載らなかった…という理由もあったりします)

 

作成した基板

(クリックで拡大します)

 

ロジック IC と SRAM のみで構成されています。

ジャンパ設定を切り替えることにより,同じ基板で,2 面の BG 両方で使えるようにしました。

1.27 mm ピッチのはんだ付けは,老眼には結構キツイです(笑)。

 

 

やはり一発では動かない(笑)

画面は表示できたのですが,スクロールレジスタに値を設定しても,一向にスクロールしてくれません。

まぁ,いつものパターンですが,スクロールレジスタのアドレスデコード部分を調べていたら, アクセス信号が入っていないようです。

かなり,試行錯誤しましたが,それぞれの基板を抜いたり,組み合わせを変えると,意図通りに動いたりします。

結果,サブ CPU の /WR 信号と /IORQ 信号がコネクタ接続部分でぶつかっていたのでした…。(原因が見つかったので,まぁ良かったです)

 

基板を接続してみる

 

基板を 2 枚追加したので,7 階建てになりました。

そして,使っているロジック IC などの DIP 部品も 300 個を超えてきました(笑)。

相当重いので,もし,足に落としたりすると痛いと思います(笑)。

 

動作テストしてみる

 

ちょっと画面がちらちらして見づらいかもしれません。

2 枚の BG をスクロールさせて,固定 BG 画面と合わせて表示しています。

また,とあるゲームのタイトル画面(笑)もそれっぽく表示できたので,パレットの処理も問題なさそうです。

 

 

 

今回はここまでです。

次回は,「スプライト基板」に着手したいと思っています。

…が,これは,結構時間がかかりそうです。

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

コメントを残す

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

CAPTCHA