28と29のリビジョン間の差分
2020-11-19 13:38:20時点のリビジョン28
サイズ: 7469
編集者: keitaroh
コメント:
2020-11-20 13:09:24時点のリビジョン29
サイズ: 7498
編集者: keitaroh
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 1: 行 1:
## page was renamed from ハードウェア/画像処理部
行 80: 行 79:
== ドットパターン ==

 * [[スプライトドットパターン]]を参照。

※以下の内容は基本的にアーケードエミュレータMAMEのソースコードを元にしています。

全般

  • ドットクロック周波数は 6.144MHz。
    • 水晶振動子のクロックを 3分周して得ている。
    • 4ドットサイクル=1MPUサイクルに相当。
  • 水平解像度は表示領域288ドット、非表示領域(水平ブランク)96ドット。計384ドット。
  • 垂直解像度は表示領域224ドット、非表示領域(垂直ブランク)40ドット。計264ドット。
  • 1フレームは 16.5ミリ秒(0.0165秒)。
    • (384 * 264) / 6144000 = 0.0165。
    • 1フレームは 25344MPUサイクルに相当(たぶん)。
  • リフレッシュレートは 約60.6061Hz。
    • 1 / 0.0165 = 60.6060606060……。

BG部

  • 二つの固定BG部と一つのスクロールBG部からなる。
  • BG用基本色は256色から16色を指定(ROMにより固定)。
  • BG用カラーパレットが4色×64組分ある(ROMにより固定)。
    • 1キャラ辺りの同時発色数は4色。
  • BG用パターンデータは 8x8 サイズで256枚分(ROMにより固定)。
    • なぜかカラーパレット番号との対応がビット反転している。
    • つまりパターンデータ上で $0 となっている箇所はパレット#3、$1 となっている箇所はパレット#2の色で描画される。
  • BG(背景)といいつつ、キャラ毎に前景表示(スプライトより優先表示)する機能もあるらしい。
    • TODでは未使用。

固定BG部

  • 画面の左右端に 2 x 28キャラ(16 x 224ドット)の固定BG部が各一つずつ存在する。
    • ※縦置きモニタのため、プレイヤー視点では画面の最上部と最下部に位置する。
    • ※本wikiではプレイヤー視点に合わせて「上部固定BG部」「下部固定BG部」と表記する

  • 上部固定BG部は得点を、下部固定BG部は残りギル人数、所持品、残り時間を表示するのに利用している。
  • 表示領域は 2 x 28キャラ分だが、VRAMには 2 x 32 キャラ分の領域が確保されている。
    • 両端の各2 x 2キャラ分が非表示領域となっている。
  • 固定BG部はハードウェアスクロール機能の影響を受けない。
  • 下部固定BG部の中央(非表示領域を含め右から +14、+15キャラ目)のみ、参照するVRAMのアドレスが異なる。
    • 本来非表示領域である +0、+1 のキャラ番号/カラーパレット番号を参照する。
    • 海賊版対策か、あるいはハードウェア実装上の事情だろうか。

スクロールBG部

  • 二つの固定BG部にはさまれる形で、32 x 28キャラ分(256 x 224ドット)のスクロールBG部が存在する。
  • VRAMには 32 x 60 キャラ分の領域が確保されている。
  • 垂直方向に1ドット単位でスクロール表示できる(オフセット値は8ビット)。
    • ※縦置きモニタのため、プレイヤー視点では水平方向にスクロールする

ドットパターン

スプライト(オブジェクト)

  • ※当時のナムコでは「オブジェクト」と呼称されていたらしい。
    • スプライト機能を開発したアタリ社が当初から「オブジェクト」と呼んでおり、アタリ社と縁の深いナムコでも「オブジェクト」の呼称が一般的になったと思われる。
    • とはいえ現在「オブジェクト」と呼ぶのは混乱を招きやすいので、本wikiでは「スプライト」の呼称で統一。
  • ラインバッファ方式。
  • 最大表示数 64枚。16x16、16x32、32x16サイズのスプライトを使用可能。
    • スプライトサイズは他に 32x32なども使用可能と思われるが、TODでは未使用。
  • スプライト用基本色は256色から16色を指定(ROMにより固定)。
  • 基本色#15は透明色固定。ほかの色をROMで指定しても透明色になる(たぶん)。
  • スプライト用カラーパレットは16色×64組(ROMにより固定)。
    • スプライト1枚辺りの同時発色数は16色。
  • スプライト用パターンデータは 16x16 サイズで 128枚分(ROMにより固定)。
  • 上下、左右それぞれ反転表示可能。
  • VRAMでのアドレスが後ろのものほど優先表示される(画面の手前側に描画される)。

ドットパターン

基本色

カラーパレット

  • 基本色をグループ化したもの。
  • BG用は4色1組、スプライト用は16色1組で、どちらも64組分。
  • BG/スプライト共に、色を指定するときはパレット番号を指定する。
    • 1色だけ変える、という事はできない。パレットまるごと変更する。
  • 同じパレットに同じ基本色を複数含める事ができる。
    • 例えばスプライト用カラーパレットには、全て透明色のみで構成されたパレットがある。
  • パレットデータは ROM上に置かれる。動的な変更は出来ない。

備考

  • パレット切り替えを利用してドットパターンの節約が図られている。
    • たとえばギル(着替えパターン含む)、ミラーナイト、ハイパーナイトは同じドットパターンのパレット切り替えで表現している。
    • ファイア・エレメントの鎮火表現もパレット切り替えのみ。
    • BGでは4色使える事を利用して2色ドットパターンを二枚分合成する、などの手法も用いられている。
  • スプライトを消すときは、全透明色パレット(パレット番号0番)を指定する。
    • TODのハードウェアにはスプライトを非表示にする、という機能がないため。
    • CLR <パレットのアドレス>で消せるのでシンプルで読みやすい。

使用している基本色とパレットの一覧

全画面回転機能

  • 画面全体を180度回転表示する。
    • テーブル筐体において二人プレイをする際に利用。
  • 要は上下左右の一括反転表示機能。
  • スプライトはドットパターンのみ回転表示される。
    • 表示位置は変わらないため、ソフトウェア側で座標の補正を行っている。


カテゴリ:ハードウェア

画像処理部 (最終更新日時 2020-11-20 13:09:24 更新者 keitaroh)