JPH06102855A - 動画表示装置およびそれに用いられる外部記憶装置 - Google Patents

動画表示装置およびそれに用いられる外部記憶装置

Info

Publication number
JPH06102855A
JPH06102855A JP3355222A JP35522291A JPH06102855A JP H06102855 A JPH06102855 A JP H06102855A JP 3355222 A JP3355222 A JP 3355222A JP 35522291 A JP35522291 A JP 35522291A JP H06102855 A JPH06102855 A JP H06102855A
Authority
JP
Japan
Prior art keywords
data
address
moving image
display
storage means
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3355222A
Other languages
English (en)
Inventor
Satoshi Okada
智 岡田
Kenji Nishizawa
健治 西澤
Katsuya Yamano
勝也 山野
Takeyuki Nakajima
健之 中嶋
Makoto Kimizuka
誠 君塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP3355222A priority Critical patent/JPH06102855A/ja
Publication of JPH06102855A publication Critical patent/JPH06102855A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 この発明は、オブジェクトの表示のためのデ
ータを記憶するメモリの容量を効率的に活用し、しかも
CPUのアドレス計算の負担を軽減し得る動画表示装置
およびそれに用いられる外部記憶装置を提供することで
ある。 【構成】 動画表示装置は、ゲーム機本体500とRO
Mカセット600とを備えている。ゲーム機本体内のC
PU501がROMカセット内のOAM(オブジェクト
・アトリビュート・メモリ)1にオブジェクトデータを
設定するとき、OAC(オブジェクト・アドレス・コン
バータ)602はCPU501から与えられたOAM1
の仮想アドレスデータをOAM1の実アドレスデータに
変換する。これによって、CPU501のアドレス計算
が軽減される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、動画表示装置および
それに用いられる外部記憶装置に関する。より特定的に
は、ラスタ走査型のディスプレイに接続して用いられ、
このディスプレイのスクリーン上に複数個の動画キャラ
クタを表示させるための動画表示装置およびそれに着脱
自在に装着される外部記憶装置に関する。
【0002】
【従来の技術】昭和59年7月7日付で出願公開された
特開昭59−118184号公報(対応米国特許第4,
824,106号)には、たとえば、「ファミリー・コ
ンピュータ(商品名)」などに実施されている動画表示
装置(以下「第1の先行技術」という)が開示されてい
る。この動画表示装置は、ゲームに登場する多数の動画
キャラクタ(オブジェクト)を、オブジェクトデータお
よびフォントデータに基づいて、CRT表示装置の画面
上に表示させる。オブジェクトデータは、各オブジェク
トごとに、1バイト(8ビット)の垂直座標データと、
1バイトの水平座標データと、1バイトのキャラクタコ
ードと、1バイトの属性データとを含む。フォントデー
タは、8×8ドットマトリクスのパターンデータであ
り、各キャラクタコード別に異なったパターンが準備さ
れている。
【0003】上記オブジェクトデータおよびフォントデ
ータは、動画表示装置に着脱自在なメモリ(またはRO
M)カートリッジに記憶されており、このメモリカート
リッジから動画表示装置に供給される。または、上記オ
ブジェクトデータおよびフォントデータは、CD−RO
Mに記憶されており、動画表示装置に選択的に接続され
る光学式読取装置(CD−ROMプレーヤ)によって読
み出されて動画表示装置に供給される。動画表示装置
は、1画面分のオブジェクトデータをCRT表示装置の
垂直ブランキング期間中にOAM(Object Attribute M
emory :動画属性メモリ)へ転送し、次の走査期間にお
いてキャラクタコードに対応するフォントデータを読み
出し、オブジェクトをCRT表示装置の画面上に表示す
る。
【0004】しかしながら、第1の先行技術は、水平座
標データのビット数が8ビットであるため、オブジェク
トの水平座標位置を0から255の範囲でしか指定でき
ない。一方、CRT表示装置における表示画面の水平方
向のドット数(画素数)は、256個である。したがっ
て、第1の先行技術では、1つのオブジェクトが移動で
きる範囲を、オブジェクトの左端を基準として、CRT
表示装置の表示画面の左端から右端までと決めている。
そのため、第1の先行技術では、1つのオブジェクトが
CRT表示装置の表示画面の左端から徐々に出現して右
方向に移動するような表示ができないという問題点があ
った。また、第1の先行技術では、1オブジェクトの最
小単位(8×8ドット)を複数組合わせて(たとえば2
×2個の組合せまたは4×4個の組合せ)大サイズのオ
ブジェクトを表示する場合、CPUの負担が大きくな
り、大容量のOAMが必要になるという問題点があっ
た。
【0005】そこで、本願出願人は、上記のような問題
点を解消し得る改良された動画表示装置として、199
0年2月5日付で特願平2−25737号(対応国際出
願番号PCT/JP91/00130)を提案した。こ
の改良された動画表示装置(以下「第2の先行技術」と
いう)は、1991年10月14日付で出願公開された
特開平3−230191号公報(対応国際公開番号WO
91/11799)に開示されている。この第2の先行
技術は、各オブジェクトデータについて、2ビットのデ
ータを付加している。付加された2ビットのデータ(以
下、付加2ビットデータと称する)のうち、第1のビッ
トは、水平座標データの最上位ビット(MSB)として
用いられる。したがって、水平座標データは、9ビット
となり、ドット位置で−255から+255までの範囲
の指定が可能となる。その結果、オブジェクトがCRT
表示装置の表示画面の左端からはみ出している場合で
も、動画表示装置はそのことを認識でき、オブジェクト
をCRT表示装置の表示画面の左端から徐々に出現させ
るように表示することができる。上記付加2ビットデー
タのうち、第2のビットは、オブジェクトのサイズを選
択するサイズ選択データとして用いられる。動画表示装
置は、このサイズ選択データに基づいて、オブジェクト
の表示サイズを変更する。
【0006】第2の先行技術では、上記付加2ビットデ
ータに対して1番地分すなわち1バイト(8ビット)分
のメモリ領域を割当てると、OAMにおいて無駄なメモ
リ容量が増大するため、上記付加2ビットデータは4個
のオブジェクトごとに1バイトのデータにまとめてOA
Mに記憶するようにしている。ところが、このような記
憶方式によれば、各オブジェクトデータと付加2ビット
データとがOAMのアドレス空間上で離れた位置に存在
することになる。
【0007】
【発明が解決しようとする課題】上記のごとく、第2の
先行技術では、各オブジェクトデータとそれぞれに対応
する付加2ビットデータ(水平座標位置データのMSB
およびサイズ選択データ)とがアドレス空間上で離れた
位置に存在する。そのため、OAMに記憶されたオブジ
ェクトデータおよびその付加2ビットデータをアクセス
して読み出しまたは書き換えを行う場合、アドレスの計
算が複雑となる。その結果、動画表示装置の中央処理
(CPU)の負担が増大し、その他の処理に対する実質
的な実行速度が低下するという問題点があった。
【0008】それゆえに、この発明の目的は、オブジェ
クトの表示のためのデータを記憶するメモリの容量を効
率的に活用でき、しかもCPUのアドレス計算の負担を
軽減し得る動画表示装置およびそれに用いられる外部記
憶装置を提供することである。
【0009】
【課題を解決するための手段】請求項1に係るこの発明
の動画表示装置は、ラスタ走査型のディスプレイに接続
して用いられ、このディスプレイのスクリーン上に複数
個の動画キャラクタを表示させるための装置であって、
第1,第2および第3の記憶手段と、中央処理手段と、
画像信号発生手段と、アドレス変換手段と、データ発生
手段とを備えている。第1の記憶手段は、ゲームのため
のプログラムデータおよび各動画キャラクタのためのフ
ォントデータを記憶する。第2の記憶手段は、それぞれ
が相対的に多いビット数から成る第1のデータ部分と相
対的に少ないビット数から成る第2のデータ部分とを含
む動画キャラクタのための表示データを複数の動画キャ
ラクタについて記憶し、各動画キャラクタの第1のデー
タ部分はそれぞれ連続する複数の番地に格納されてお
り、各動画キャラクタの第2のデータ部分は所定数の動
画キャラクタごとに1つの番地にまとめられて第1のデ
ータ部分とは離れた番地に格納されている。第3の記憶
手段は、複数の動画キャラクタの表示データを記憶す
る。中央処理手段は、第1の記憶手段から読み出された
プログラムデータに従って動作し、ディスプレイの次の
フレーム期間で表示すべき動画キャラクタの表示データ
を第2の記憶手段に設定し、かつ第2の記憶手段に設定
された動画キャラクタの表示データをディスプレイの垂
直ブランキング期間中に第3の記憶手段に転送する。画
像信号発生手段は、第3の記憶手段に記憶されている動
画キャラクタの表示データに基づいて、各動画キャラク
タの表示のための画像信号を発生する。アドレス変換手
段は、中央処理手段が第2の記憶手段に動画キャラクタ
の表示データを設定するときに、中央処理手段から与え
られる第2の記憶手段の仮想アドレスデータを第2の記
憶手段の実アドレスデータに変換する。データ発生手段
は、アドレス変換手段により変換された第2のデータ部
分のための実アドレスデータに基づいて、第2の記憶手
段の該当する番地から1番地分のデータを読み出し、こ
の読み出された1番地分のデータの所定ビット位置部分
のみを書き換えた新たなデータを発生する。
【0010】請求項2に係るこの発明の動画表示装置
は、第3の記憶手段,中央処理手段および表示信号作成
手段をゲーム機本体内に備え、第1および第2の記憶手
段,アドレス変換手段およびデータ発生手段をゲーム機
本体に着脱自在に装着される外部記憶装置内に備えてい
る。
【0011】請求項3に係る外部記憶装置は、ラスタ走
査型のディスプレイに接続して用いられ、このディスプ
レイのスクリーン上に接続して用いられ、このディスプ
レイのスクリーン上に複数個の動画キャラクタを表示さ
せるための動画表示装置に着脱自在に装着されるもので
あって、第1および第2の記憶手段を備えている。第1
の記憶手段は、ゲームのためのプログラムデータおよび
各動画キャラクタのためのフォントデータを記憶する。
第2の記憶手段は、それぞれが相対的にビット数が多い
第1のデータ部分と相対的にビット数が少ない第2のデ
ータ部分とを含む動画キャラクタのための表示データを
複数の動画キャラクタについて記憶し、各動画キャラク
タの第1のデータ部分は、それぞれ連続する複数の番地
に格納されており、各動画キャラクタの第2のデータ部
分は、所定数の動画キャラクタごとに1つの番地にまと
められて第1のデータ部分とは離れた番地に格納されて
いる。動画表示装置は、第3の記憶手段と、中央処理手
段とを備えている。第3の記憶手段は、複数の動画キャ
ラクタの表示データを記憶する。中央処理手段は、第1
の記憶手段から読み出されたプログラムデータに従って
動作し、ディスプレイの次のフレーム期間で表示すべき
動画キャラクタの表示データを第2の記憶手段に設定
し、かつ第2の記憶手段に設定された動画キャラクタの
表示データをディスプレイの垂直ブランキング期間中に
第3の記憶手段に転送する。外部記憶装置は、さらに画
像信号発生手段と、アドレス変換手段と、データ発生手
段とを備えている。画像信号発生手段は、第3の記憶手
段に記憶されている動画キャラクタの表示データに基づ
いて、各動画キャラクタの表示のための画像信号を発生
する。アドレス変換手段は、中央処理手段が第2の記憶
手段に動画キャラクタの表示データを設定するときに、
中央処理手段から与えられる第2の記憶手段の仮想アド
レスデータを第2の記憶手段の実アドレスデータに変換
する。データ発生手段は、アドレス変換手段により変換
された第2のデータ部分のための実アドレスデータに基
づいて、第2の記憶手段の該当する番地から1番地分の
データを読み出し、この読み出された1番地分のデータ
の所定ビット位置部分のみを書き換えた新たなデータを
発生する。
【0012】
【作用】請求項1に係る動画表示装置においては、中央
処理手段が第2の記憶手段に動画キャラクタの表示デー
タを設定するときに、アドレス変換手段が中央処理手段
から与えられる第2の記憶手段の仮想アドレスデータを
第2の記憶手段の実アドレスデータに変換する。また、
データ発生手段は、アドレス変換手段により変換された
表示データの第2のデータ部分のための実アドレスデー
タに基づいて、第2の記憶手段の該当する番地から1番
地分のデータを読み出し、この読み出された1番地分の
データの所定ビット位置部分のみを書き換えて新たなデ
ータを発生する。したがって、第2の記憶手段におい
て、動画キャラクタの表示データの第1データ部分と第
2データ部分とが実アドレス空間上で離れた位置に配置
されていても、中央処理手段はそれを何ら意識すること
なく、第2の記憶手段に動画キャラクタの表示データを
設定することができる。すなわち、中央処理手段は、動
画キャラクタの表示データの第1データ部分と第2デー
タ部分とが仮想アドレス上で連続した番地に格納されて
いるものとして、表示データの設定が行える。その結
果、動画キャラクタの表示データの設定のために複雑な
アドレス計算を行う必要がない。
【0013】請求項2に係る動画表示装置においては、
第3の記憶手段と、表示信号作成手段とがゲーム機本体
内に設けられ、第1および第2の記憶手段と、アドレス
変換手段と、データ発生手段とが外部記憶装置内に設け
られている。
【0014】請求項3に係る外部記憶装置においては、
アドレス変換手段およびデータ発生手段により、中央処
理手段が動画キャラクタの表示データの設定のために行
うアドレス計算の処理を軽減している。
【0015】
【実施例】以下に示す実施例においては、ゲームの内容
を背景画キャラクタと動画キャラクタ(オブジェクトま
たはOBJと称する)との合成によって表示する。
【0016】図1は、CRT表示装置の表示画面上にお
ける背景画キャラクタとオブジェクトとの関係を示す図
である。図において、背景画キャラクタは、CRT表示
画面における予め定められたます目(たとえば、図1に
斜線で示す領域)単位で位置の指定が可能である。した
がって、各ます目について表示すべき背景画キャラクタ
の種類が決定される。これに対し、オブジェクト(たと
えば図1に点線で示されている)は、ドット単位すなわ
ち画素単位で水平および垂直位置の指定が可能である。
したがって、オブジェクトは、背景画キャラクタに比べ
て移動の自由度が高い。1オブジェクトの標準サイズは
8×8ドットであるが、サイズ選択データが大サイズを
選択しているときは、標準サイズのオブジェクトを複数
組合わせた集合体が1つのオブジェクトとして取扱われ
る。
【0017】次に、以下の実施例において使用されるオ
ブジェクトデータについて説明する。オブジェクトデー
タは、後述の第8図に示すように、各オブジェクトごと
にオブジェクトの種類を指定するためのネームデータ
(またはキャラクタコード)と、座標位置データと、属
性(Attribute )データとを含む。
【0018】より具体的には、ネームデータはオブジェ
クトキャラクタの種類を特定する9ビットのデータであ
る。すなわち、後述する実施例は、各キャラクタ別にそ
れぞれのキャラクタフォントデータ(ドットパターンデ
ータ)をROM内に記憶しておき、このフォントデータ
をV−RAMに転送してプログラム的に記憶させ、ゲー
ムに際してフォントデータをV−RAMに転送すること
により、V−RAMがキャラクタジェネレータとして用
いられる。このキャラクタジェネレータはネームデータ
が与えられたときに対応するフォントデータを読み出し
て出力する。
【0019】座標位置データは、9ビットの水平位置
(H位置)データと8ビットの垂直位置(V位置)デー
タとを含む。これらに水平位置データと垂直位置データ
とに基づいて、CRT表示画面上における任意のドット
位置が指定される。水平位置データの最上位ビット(M
SB)は、CRT表示画面上における水平方向の表示ア
ドレスの正と負とを示すサインフラグとして用いられ
る。すなわち、図2に示すように、CRT表示画面上で
の水平方向の表示アドレスは、CRT表示画面の左端を
基準として、右側(実画面側)が正、左側(点線で示す
仮想表示領域側)が負と定められている。水平位置デー
タのMSBは、たとえば論理“0”のときに正すなわち
実画面上のアドレスを示し、たとえば論理“1”のとき
に負すなわち仮想表示領域上のアドレスを示す。
【0020】上記のごとく、水平位置データのMSBに
1ビットのサインフラグが付加されたことにより、以下
に示す実施例の動画表示装置は、オブジェクトの水平位
置を、仮想表示領域上においても指定できる。したがっ
て、図3に示すように、オブジェクト(斜線で示されて
いる)をCRT表示画面の左端から徐々に出現させるよ
うな表示が行える。
【0021】これに対して、特開昭59−118184
号に開示された従来の動画表示装置では、水平位置デー
タのビット数が8ビットであるため、オブジェクトの移
動範囲は、図3に示すように、CRT表示画面の左端か
ら右端までとなる。したがって、オブジェクトをCRT
表示画面の左端から徐々に出現させるような表示は行え
ない。
【0022】属性データは、9ビットのネームデータ
と、2ビットの反転データと、2ビットの優先データ
と、3ビットの色データと、1ビットのサイズ選択デー
タとを含む。ここで、反転データは、オブジェクトの表
示方向を反転させるためのデータである。反転の種類に
は、左右反転と上下反転とがある。反転データの上位ビ
ットは左右反転を示し、下位ビットは上下反転を示す。
反転データの上位ビット、下位ビットともに論理“0”
のときは、図4(a)に示すように、オブジェクト(た
とえば“F”のキャラクタ)は正規の状態で表示され
る。また、反転データの上位ビットが論理“1”で、下
位ビットが論理“0”のときは、図4(b)に示すよう
に、オブジェクトは左右が反転されて表示される。ま
た、反転データの上位ビットが論理“0”で、下位ビッ
トが論理“1”のときは、図4(c)に示すように、オ
ブジェクトは上下が反転されて表示される。また、反転
データの上位ビット、下位ビットともに論理“1”のと
きは、図4(d)に示すように、オブジェクトは左右、
上下ともに反転されて表示される。
【0023】優先データは、背景画キャラクタとオブジ
ェクトとのいずれを優先して表示させるかを示すデータ
である。背景画キャラクタの表示を優先させる場合は、
図5(a)に示すように、背景画キャラクタ(BGC)
とオブジェクト(OBJ)とが重なる領域は、背景画キ
ャラクタが優先して表示される。一方、オブジェクトの
表示を優先させる場合は、図5(b)に示すように、背
景画キャラクタとオブジェクトとが重なる領域は、オブ
ジェクトが優先して表示される。さらに、背景画キャラ
クタおよびオブジェクトの表示のいずれも優先させない
場合は、背景画キャラクタとオブジェクトとを重ねて表
示させる。
【0024】色データは、オブジェクトの表示色のカラ
ーパレットを指定するためのデータである。
【0025】サイズ選択データは、オブジェクトのサイ
ズを指定するためのデータである。このサイズ選択デー
タが、たとえば論理“0”のとき、図6(a)に示すよ
うに、オブジェクトは8×8ドットの最小単位で表示さ
れる。これに対し、サイズ選択データが、たとえば論理
“1”のとき、図6(b)に示すように、オブジェクト
は、たとえば最小単位のオブジェクトを4つ集合した1
6×16ドットで表示される。
【0026】図7は、この発明の一実施例の構成を示す
概略ブロック図である。図において、本実施例はテレビ
ゲーム機本体500と、ROMカセット600とを備え
ている。ROMカセット600は、ゲーム機本体500
に対して着脱自在に構成されている。
【0027】ゲーム機本体500は、中央処理装置とし
てのCPU(セントラル・プロセッシング・ユニット)
501と、ワーキングRAM502と、IO(入出力)
回路503と、PPU(ピクチャー・プロセッシング・
ユニット)504と、ビデオRAM505と、RGBエ
ンコーダ506と、AV(オーディオ・ビジュアル)端
子507と、RFモジュレータ508と、コネクタ50
9とを含む。
【0028】CPU501は、中央処理装置としての機
能に加えて、DMA(ダイレクト・メモリ・アクセス)
転送のためのDMAコントローラの機能も備えている。
ワーキングRAM502は、CPU501の処理データ
を一時的に記憶する。IO回路503は、コントローラ
700とゲーム機本体500との間の入出力制御を行
う。コントローラ700は、ゲーム機本体500の外部
に設けられており、ゲームの遊戯者によって操作され
る。コントローラ700の操作に応じて、ゲーム機本体
500は、ゲームの進行やキャラクタの移動を制御す
る。
【0029】コネクタ509は、ゲーム機本体500に
装着されたROMカセット600を、ゲーム機本体50
0に対して電気的に接続するためのものである。PPU
504は、与えられた画像データからRGB信号と、同
期信号とを作成する。ビデオRAM505は、背景画キ
ャラクタのデータを、CRT表示装置の1画面分記憶す
る。
【0030】CPU501,ワーキングRAM502,
IO回路503およびPPU504は、データバスおよ
びアドレスバスを介して相互に接続されるとともに、コ
ネクタ509を介してROMカセット600と接続され
ている。
【0031】PPU504によって作成されたRGB信
号および同期信号は、RGBエンコーダ506およびA
V端子507に与えられる。RGBエンコーダ506
は、与えられたRGB信号および同期信号を、複合映像
信号に変換する。RGBエンコーダ506から出力され
る複合映像信号は、AV端子507およびRFモジュレ
ータ508に与えられる。AV端子507は、RGB信
号に対応するテレビジョン受像機のために設けられたも
のであり、RGB信号および同期信号と、複合映像信号
とを選択的に出力する。RFモジュレータ508は、R
GBエンコーダ506から与えられた複合映像信号を高
周波信号に変換して出力する。RFモジュレータ508
の出力信号は、通常のテレビジョン受像機のアンテナ端
子に入力される。
【0032】ROMカセット600は、ROM601
と、オブジェクト・アドレス・コンバータ(以下「OA
C」と略称する)602と、RAM603とを含む。R
OM601には、ゲームのためのプログラムデータと、
オブジェクトおよび背景画キャラクタのためのフォント
データ等が格納されている。RAM603は、CPU5
01のワーキングRAMとして用いられるとともに、そ
の記憶領域の一部が第1のオブジェクト・アトリビュー
ト・メモリ(以下「OAM1」と略称する)として用い
られる。OAC602は、ゲーム機本体のCPU501
が、RAM603内のOAM1をアクセスする際に、ア
ドレス計算の補助を果たすものであり、具体的にはCP
U501から与えられたOAM1の仮想アドレスを実ア
ドレスに変換する。ROM601,OAC602および
RAM603は、データバスおよびアドレスバスを介し
てゲーム機本体のコネクタ509に接続される。
【0033】PPU504は、第2のオブジェクト・ア
トリビュート・メモリ(以下「OAM2」と略称する)
を含む。後述するように、OAM1およびOAM2に
は、オブジェクトの表示のために必要なオブジェクトデ
ータが記憶されている。CPU501は、OAM1に記
憶されたオブジェクトデータを、ゲームの進行に応じて
書き換える。OAM1に記憶されたオブジェクトデータ
は、垂直ブランキング期間中に読み出されてOAM2に
DMA転送される。PPU504は、OAM2に記憶さ
れたオブジェクトデータに基づいて、テレビジョン受像
機の画面上に表示すべきオブジェクトの画像信号を発生
する。
【0034】図8は、図7におけるRAM603内に設
けられたOAM1のメモリマップを示す図解図である。
図において、OAM1には、最大128個のオブジェク
トデータ(オブジェクト番号0〜127のオブジェクト
データ)が格納される。前述したように、各オブジェク
トデータは、9ビットの水平位置データと、8ビットの
垂直位置データと、9ビットのネームデータと、2ビッ
トの反転データと、2ビットの優先データと、3ビット
の色データと、1ビットのサイズ選択データとを含む。
OAM1は、1バイト(8ビット)ごとに、1つの番地
が割当てられている。なお、以下の説明においては、各
オブジェクトデータは、4バイト(4×8ビット)のメ
インオブジェクトデータと、2ビットの付加データとを
含むものとする。メインオブジェクトデータは、MSB
を除く8ビットの水平位置データと、8ビットの垂直位
置データと、9ビットのネームデータと、2ビットの反
転データと、2ビットの優先データと、3ビットの色デ
ータとを含む。付加データは、水平位置データのMSB
と、1ビットのサイズ選択データとを含む。
【0035】OAM1において、第0番地から第3番地
には、オブジェクト番号0のメインオブジェクトデータ
が格納される。図8の右側に示すように、OAM1にお
ける第0番地には、MSBを除く8ビットの水平位置デ
ータが格納される。OAM1における第1番地には、8
ビットの垂直位置データが格納される。OAM1におけ
る第2番地には、MSBを除く8ビットのネームデータ
が格納される。OAM1における第3番地には、ネーム
データのMSB,2ビットの反転データ,2ビットの優
先データおよび3ビットの色データが格納される。
【0036】他のオブジェクト(オブジェクト番号1〜
127のオブジェクト)についても、上記と同様の態様
で各メインオブジェクトデータが連続する4つの番地ご
とにOAM1に格納されている。たとえば、オブジェク
ト番号1のメインオブジェクトデータは、OAM1にお
ける第4番地から第7番地に格納されている。以下同様
にして、最終のオブジェクト番号127のメインオブジ
ェクトデータは、OAM1における第508番地から第
511番地に格納されている。
【0037】各オブジェクトの付加データ(水平位置デ
ータのMSBおよび1ビットのサイズ選択データ)は、
メインオブジェクトデータが格納される連続する4つの
番地すなわち4バイト分の記憶領域からはみ出るが、2
ビットの付加データだけで1番地を割り付けると無駄に
メモリを使用することになるので、対応するメインオブ
ジェクトデータとは離れた番地に4個分のオブジェクト
単位で記憶されている。このようにして付加データを記
憶させれば、1画面について表示可能なオブジェクトの
最大数が128個の場合、32番地ですみ、オブジェク
トごとに1番地で付加データを記憶する場合に比べて1
/4の番地数で足り、オブジェクト数が増加(結果とし
て画面数も増加)するほどメモリ空間の節減効果が顕著
になる。すなわち、各オブジェクトの付加データは、4
つのオブジェクトごとに1バイトのデータにまとめられ
てOAM1に格納される。たとえば、OAM1における
第512番地には、オブジェクト番号0〜3の各付加デ
ータが格納されている。また、OAM1における第51
3番地には、オブジェクト番号4〜7の各付加データが
格納されている。以下同様にして、最終のオブジェクト
番号124〜127の各付加データは、OAM1の第5
34番地に格納されている。
【0038】図9は、図7に示すOAC602のより詳
細な構成を示すブロック図である。図において、OAC
602は、アドレスデコーダ801と、アドレスセレク
タ802と、オブジェクト番号レジスタ803と、テン
ポラリレジスタ804と、ビット差替回路805と、デ
ータセレクタ806と、データ入出力回路807と、デ
ータ入出力回路808とを含む。
【0039】アドレスデコーダ801には、ゲーム機本
体内のCPU501からカセットアドレスCA0〜23
と、CPUリード信号/CPURD(ここで、信号を意
味する英文字記号“CPURD”の前に“/”を付けて
いるのは、記号“CPURD”の上に「バー」を付ける
ことを意味し、負論理で動作する信号を示す)と、CP
Uライト信号/CPUWRと、ROMセレクト信号/R
OMSELとが与えられる。さらに、アドレスデコーダ
801には、オブジェクト番号レジスタ803からオブ
ジェクト番号データOD0〜6が与えられる。アドレス
デコーダ801は、与えられるカセットアドレスCA0
〜23,オブジェクト番号データOD0〜6,CPUリ
ード信号/CPURD,CPUライト信号/CPUW
R,ROMセレクト信号/ROMSELをデコードする
ことにより、デコードされたアドレスデータKA0〜1
0,制御信号φ1〜φ6,メモリリード信号/MRD,
メモリライト信号/MWRおよびRAMセレクト信号/
RAMSELを発生する。アドレスデータKA0〜10
および制御信号φ1は、アドレスセレクタ802に与え
られる。制御信号φ2は、データ入出力回路807に与
えられる。制御信号φ3は、オブジェクト番号レジスタ
803に与えられる。制御信号φ4は、テンポラリレジ
スタ804に与えられる。制御信号φ5は、データセレ
クタ806に与えられる。制御信号φ6は、データ入出
力回路808に与えられる。メモリリード信号/MR
D,メモリライト信号/MWRおよびRAMセレクト信
号/RAMSELは、RAM603に与えられる。
【0040】アドレスセレクタ802には、アドレスデ
ータKA0〜10に加えて、CPU501からカセット
アドレスの一部すなわちCA0〜10が与えられる。ア
ドレスセレクタ802は、アドレスデコーダ801から
の制御信号φ1に応答して、アドレスデータKA0〜1
0およびカセットアドレスCA0〜10のいずれか一方
を選択的に出力する。アドレスセレクタ802の出力
は、RAM603に与えられる。
【0041】オブジェクト番号レジスタ803には、デ
ータ入出力回路807を介して、CPU501からCP
UデータD0〜6が与えられる。オブジェクト番号レジ
スタ803は、アドレスデコーダ801からの制御信号
φ3に応答して、CPU501から出力されるオブジェ
クト番号データを一時的に記憶する。オブジェクト番号
レジスタ803に記憶されたオブジェクト番号データO
D0〜6は、アドレスデコーダ801に与えられる。ま
た、オブジェクト番号データOD0〜6の下位2ビット
のデータOD0〜1が、ビット差替回路805に与えら
れる。
【0042】テンポラリレジスタ804には、データ入
出力回路808を介して、RAM603からメモリデー
タMD0〜7が与えられる。テンポラリレジスタ804
は、アドレスデコーダ801からの制御信号φ4に応答
して、メモリデータMD0〜7を取り込み、一時的に記
憶する。
【0043】ビット差替回路805には、オブジェクト
番号レジスタ803からオブジェクト番号データの下位
2ビットのデータOD0〜1が与えられる。また、ビッ
ト差替回路805には、テンポラリレジスタ804から
テンポラリデータTD0〜7が与えられる。さらに、ビ
ット差替回路805には、データ入出力回路807から
CPUデータの下位2ビットのデータD0〜1が与えら
れる。ビット差替回路805は、オブジェクト番号デー
タの下位2ビットデータOD0〜1に基づいて、テンポ
ラリデータTD0〜7のいずれかの2ビットを、CPU
データの下位2ビットデータD0〜1に差し替えて出力
する。ビット差替回路805の出力データTD’0〜7
は、データセレクタ806に与えられる。
【0044】データセレクタ806には、さらにデータ
入出力回路807を介してCPUデータD0〜7が与え
られる。データセレクタ806は、アドレスデコーダ8
01からの制御信号φ5に応答して、ビット差替回路8
05の出力データTD’0〜7およびCPUデータD0
〜7のいずれか一方を選択して出力する。データセレク
タ806の出力データは、データ入出力回路808に与
えられる。
【0045】データ入出力回路808は、データセレク
タ806の出力データをRAM603に出力し、または
RAM603からのメモリデータMD0〜7をOAC6
02の内部に入力する。データ入出力回路808におけ
るデータの入出力の切り換えは、アドレスデコーダ80
1からの制御信号φ6に基づいて制御される。
【0046】データ入出力回路807は、CPU501
からのCPUデータD0〜7をOAC602の内部に入
力し、またはメモリデータMD0〜7をCPU501に
出力する。データ入出力回路807の入出力におけるデ
ータの切り換えは、アドレスデコーダ801からの制御
信号φ2に基づいて制御される。
【0047】図10は、図9におけるビット差替回路8
05のより詳細な構成を示すブロック図である。図にお
いて、ビット差替回路805は、4つのビットセレクタ
901〜904と、ビットセレクタコントローラ905
とを含む。ビットセレクタ901にはテンポラリデータ
の下位2ビットのデータTD0,TD1が与えられる。
ビットセレクタ902にはテンポラリデータの3ビット
目と4ビット目のデータTD2,TD3が与えられる。
ビットセレクタ903にはテンポラリデータの5ビット
目と6ビット目のデータTD4,TD5が与えられる。
ビットセレクタ904にはテンポラリデータの上位2ビ
ットのデータTD6,TD7が与えられる。さらに、各
ビットセレクタ901〜904には、CPUデータの下
位2ビットのデータD0,D1が与えられる。ビットセ
レクタコントローラ905には、オブジェクト番号レジ
スタ803からオブジェクト番号データの下位2ビット
のデータOD0,OD1が与えられる。ビットセレクタ
コントローラ905は、与えられた下位2ビットのデー
タOD0,OD1に基づいて、各ビットセレクタ901
〜904の動作を制御する。各ビットセレクタ901〜
904は、ビットセレクタコントローラ905から与え
られる制御信号が活性化されたとき、対応する2ビット
のテンポラリデータに変えてCPUデータD0,D1を
出力する。各ビットセレクタ901〜904の出力デー
タは、ビット差し替え後のテンポラリデータTD’0〜
7として、データセレクタ806に与えられる。
【0048】次に、上記実施例の動作について説明す
る。
【0049】図11は、上記実施例において、CPU5
01が行うOAM1のアクセス制御のための動作を示す
フローチャートである。図において、パワースイッチま
たはリセットスイッチ(図示せず)がオンされると、ス
テップS1において初期設定がなされる。この初期設定
では、ワーキングRAM502,RAM603,OAM
1およびOAM2等がクリアされたのち、初期画面のた
めのオブジェクトデータがROM601から読み出さ
れ、OAM1にストアされる。次に、ステップS2に進
み、CPU501はROM601から読み出したプログ
ラムデータにしたがってOAM1に対するオブジェクト
データの設定動作を行う。このステップS2のサブルー
チンの詳細は、後述する。
【0050】次に、ステップ3において所定個数のオブ
ジェクトデータの設定終了が判断されると、ステップS
4において垂直ブランキング期間がスタートしたか否か
が判断される。垂直ブランキング期間がスタートする
と、ステップS5に進み、CPU501はOAM1にス
トアされた各オブジェクトデータを、OAM2にDMA
転送する。
【0051】上記のように、CPU501は、OAM1
に設定した各オブジェクトデータを、垂直ブランキング
期間中にOAM2にDMA転送するようにしている。こ
れは、以下の理由による。すなわち、PPU504は、
OAM2にストアされた各オブジェクトデータに基づい
て、各オブジェクトの表示データを発生するための処理
をしているが、この表示データの発生処理動作は、ラス
タ走査期間において行われる。したがって、CPU50
1がOAM2をアクセスし得る期間は、垂直ブランキン
グ期間に限られる。しかしながら、垂直ブランキング期
間は短時間であるため、この短時間の間にCPU501
がOAM2にオブジェクトデータを設定することは不可
能である。そのため、上記実施例では、CPU501が
任意の期間において自由にアクセスし得るOAM1を別
途設け、このOAM1に設定された各オブジェクトデー
タを、垂直ブランキング期間中にOAM2にDMA転送
することにより、PPU504の動作を妨げないように
している。
【0052】図12は、図11におけるステップS2の
サブルーチンの詳細動作を示すフローチャートである。
図13は、CPU501の仮想アドレス空間上に配置さ
れたOAM1のメモリマップを示す図である。これら図
12および図13を参照して、CPU501がOAM1
にオブジェクト番号nのオブジェクトデータを設定する
場合の動作を以下に説明する。
【0053】まず、ステップS21において、CPU5
01は仮想アドレス空間のxxxxx5H 番地にオブジ
ェクト番号データnを書き込む。ここで、“x”は、1
6進表示で表された上位5桁のアドレスが任意のアドレ
スであることを示し、下位1桁のアドレスデータが意味
のあるアドレスとなることを意味する。また、H は、ア
ドレスデータが16進数であることを表示している。
【0054】ステップS21の動作により、CPU50
1からROMカセット600には、24ビットのカセッ
トアドレスCA0〜23で示された仮想アドレスデータ
xxxxx5H と、CPUデータD0〜6で示されるオ
ブジェクト番号nのオブジェクト番号データとが与えら
れる。なお、OAM1に設定され得るオブジェクトの最
大個数は、128であるため、CPUデータのMSBす
なわちD7は、使用されない。また、このときCPU5
01は、CPUライト信号/CPUWRを活性化する。
【0055】ステップS21の動作において、アドレス
デコーダ801は、仮想アドレスデータxxxxx5H
と、CPUライト信号/CPUWRとに基づいて、制御
信号φ3を活性化する。この制御信号φ3に応答して、
オブジェクト番号レジスタ803は、CPUデータD0
〜6をオブジェクト番号データとして取り込み、一時的
に記憶する。
【0056】オブジェクト番号レジスタ803から出力
されるオブジェクト番号データOD0〜6は、アドレス
デコーダ801に与えられる。アドレスデコーダ801
は、仮想アドレスデータxxxxx5H と、活性化され
たCPUライト信号/CPUWRと、オブジェクト番号
データOD0〜6とをデコードすることにより、以下の
動作を行う。
【0057】アドレスデコーダ801は、まず、OAM
1においてオブジェクト番号nの付加データを含む1バ
イトデータの格納番地を示すアドレスデータKA0〜1
0を発生する。このとき、アドレスセレクタ802は、
アドレスデコーダ801からの制御信号φ1に応答し
て、アドレスデコーダ801からのアドレスデータKA
0〜10を選択して出力するように切り換えられてい
る。したがって、アドレスセレクタ802を通過したア
ドレスデータKA0〜10が、RAM603に与えられ
る。このとき、アドレスデコーダ801は、メモリリー
ド信号/MRDとRAMセレクト信号/RAMSELを
活性化している。したがって、RAM603は読出可能
状態にされている。その結果、RAM603は、OAC
602からアドレスデータKA0〜10が与えられる
と、オブジェクト番号nに対応する付加データを含む1
バイトのデータを読み出し、OAC602に出力する。
【0058】続いて、アドレスデコーダ801は、制御
信号φ6によってRAM603からのメモリデータMD
0〜7を入力するようにデータ入出力回路808の状態
を切り換え、かつ制御信号φ4を活性化してテンポラリ
レジスタ804を書込可能状態にする。したがって、O
AM1から転送されてきた1バイトのデータは、データ
入出力回路808を介してテンポラリレジスタ804に
与えられ、テンポラリレジスタ804にその1バイトの
データがストアされる。
【0059】次に、ステップS22に進み、CPU50
1は、オブジェクト番号nのための新しい水平位置デー
タ(ただし、MSBを除く)を仮想アドレス空間のxx
xxx0H 番地に書き込む。このステップS22の動作
により、CPU501からOAC602には、仮想アド
レスデータxxxxx0H と、MSBを除く新しい水平
位置データとが与えられる。さらに、CPU501は、
CPUライト信号/CPUWRを活性化する。
【0060】ステップS22の動作において、アドレス
デコーダ801は、仮想アドレスデータxxxxx0H
と、オブジェクト番号データOD0〜6と、CPUライ
ト信号/CPUWRとをデコードすることにより、以下
の動作を行う。まず、アドレスデコーダ801は、OA
M1におけるオブジェクト番号nの水平位置データの格
納アドレスを指定するアドレスデータKA0〜10を出
力し、アドレスセレクタ802に与える。このとき、ア
ドレスセレクタ802は、アドレスデコーダ801から
与えられる制御信号φ1によって、アドレスデータKA
0〜10を選択して出力するように切り換えられてい
る。したがって、アドレスデータKA0〜10は、RA
M603に与えられる。
【0061】また、このときデータ入出力回路807
は、アドレスデコーダ801からの制御信号φ2に応答
して、CPUデータD0〜7を入力するように切り換え
られている。さらに、データセレクタ806は、アドレ
スデコーダ801からの制御信号φ5に応答して、CP
UデータD0〜7を選択して出力するように切り換えら
れている。さらに、データ入出力回路808は、データ
セレクタ806の出力データD0〜7を選択して出力す
るように切り換えられている。
【0062】さらに、アドレスデコーダ801は、メモ
リライト信号/MWRを活性化する。したがって、RA
M603におけるOAM1は書込可能状態とされてい
る。このとき、OAM1には、アドレスセレクタ802
からオブジェクト番号nの水平位置データの格納アドレ
スを示すアドレスデータKA0〜10が与えられ、デー
タ入出力回路808から新しい水平位置データすなわち
CPUデータD0〜7が与えられている。したがって、
OAM1は、アドレスデータKA0〜10で指定される
アドレスに新しい水平位置データD0〜7をストアす
る。
【0063】次に、ステップS23に進み、CPU50
1は、新しい垂直位置データを仮想アドレス空間のxx
xxx1H 番地に書き込む。このとき、CPU501か
らOAC602には、仮想アドレスデータxxxxx1
H と、新しい垂直位置データとが与えられる。また、C
PU501は、CPUライト信号/CPUWRを活性化
する。アドレスデコーダ801は、仮想アドレスデータ
xxxxx1H と、オブジェクト番号データOD0〜6
と、CPUライト信号/CPUWRとをデコードする。
このデコード動作により、CPU501から入力される
新しい垂直位置データが、OAM1におけるオブジェク
ト番号nの垂直位置データの格納アドレスに書き込まれ
る。このときの動作は、前述のステップS22の動作と
ほぼ同様であるので、その詳細な説明は省略する。
【0064】次に、ステップS24に進み、CPU50
1は、MSBを除く新しいネームデータを、仮想アドレ
ス空間のxxxxx2H 番地に書き込む。このとき、C
PU501からOAC602には、仮想アドレスデータ
xxxxx2H と、新しいネームデータ(MSBを除
く)とが与えられる。アドレスデコーダ801は、ステ
ップS22またはS23と同様の態様で、CPU501
から入力された新しいネームデータを、OAM1のオブ
ジェクト番号nに対応するネームデータ格納アドレスに
書き込む。
【0065】次に、ステップS25に進み、CPU50
1は、仮想アドレス空間のxxxxx3H 番地に新しい
反転データ,優先データ,色データおよびネームデータ
のMSBを書き込む。このとき、CPU501からOA
C602には、仮想アドレスデータxxxxx3H と、
新しい反転データ,優先データ,色データおよびネーム
データのMSBとが与えられる。入力された新しい反転
データ,優先データ,色データおよびネームデータのM
SBは、前述のステップS22およびS23の場合と同
様の態様で、OAM1におけるオブジェクト番号nに対
応する反転データ,優先データ,色データ,ネームデー
タのMSBの格納アドレスに書き込まれる。以上で、オ
ブジェクト番号nについてのメインオブジェクトデータ
の設定が終了する。
【0066】次に、ステップS26に進み、CPU50
1は、新しい付加データ、すなわち水平位置データのM
SBとサイズ選択データとを仮想アドレス空間のxxx
xx4H 番地に書き込む。このとき、CPU501から
OAC602には、仮想アドレスデータxxxxx4H
と、新しい水平位置データのMSBと、サイズ選択デー
タとが与えられる。さらに、CPU501は、CPUラ
イト信号/CPUWRを活性化する。アドレスデコーダ
801は、仮想アドレスデータxxxxx4Hと、オブ
ジェクト番号データOD0〜6と、CPUライト信号/
CPUWRとをデコードすることにより、以下の動作を
行う。
【0067】まず、アドレスデコーダ801は、OAM
1におけるオブジェクト番号nの付加データが格納され
ているエリアのアドレスデータKA0〜10を発生す
る。このとき、アドレスセレクタ802は、アドレスデ
コーダ801からの制御信号φ1に応答して、アドレス
データKA0〜10を選択して出力するように切り換え
られている。したがって、アドレスデータKA0〜10
がRAM603に与えられる。また、アドレスデコーダ
801は、メモリライト信号/MWRおよびRAMセレ
クト信号/RAMSELを活性化する。したがって、R
AM603におけるOAM1は書込可能状態となってい
る。
【0068】一方で、アドレスデコーダ801は、制御
信号φ2およびφ6によって、データ入出力回路807
および808のデータ入出力状態を切り換える。この切
り換えにより、データ入出力回路807は、CPUデー
タD0〜7を入力する。また、データ入出力回路808
は、データセレクタ806の出力データをRAM603
に出力する。
【0069】このとき、ビット差替回路805には、テ
ンポラリレジスタ804に記憶されている1バイトのデ
ータ(前述のステップS21においてOAM1から読み
出されたオブジェクト番号nの付加データを含む1バイ
トのデータ)と、オブジェクト番号レジスタ803から
出力されるオブジェクト番号データの下位2ビットデー
タOD0〜1と、CPUデータの下位2ビットデータD
0〜1(新しい水平位置データのMSBおよびサイズ選
択データを含む)とが与えられている。
【0070】ここで、ビット差替回路805の動作につ
いて説明する。図10に示すように、ビット差替回路8
05においてテンポラリレジスタ804の出力すなわち
テンポラリデータTD0〜7は、2ビットずつ4つのセ
クタに分割され、各セクタごとにビットセレクタ901
〜904が設けられている。各ビットセレクタ901〜
904は、対応するセクタの2ビットデータを、CPU
データの下位2ビットのデータD0〜D1によって差し
替える。
【0071】ビットセレクタ901〜904のうち、い
ずれのビットセレクタがビットの差し替えを行うかは、
ビットセレクタコントローラ905によって制御され
る。ビットセレクタコントローラ905には、オブジェ
クト番号データの下位2ビットデータOD0〜1が与え
られている。このオブジェクト番号データの下位2ビッ
トデータOD0〜1は、オブジェクト番号nの付加デー
タが、OAM1における1バイト分の格納エリアのどの
ビット位置に存在しているか、すなわちどのセクタに存
在しているかを示している。ビットセレクタコントロー
ラ905は、データOD0〜1に基づいて、ビットセレ
クタ901〜904の中から1つのビットセレクタのみ
を能動化し、ビット差替動作を実行させる。
【0072】たとえば、オブジェクト番号が“2”の場
合について考えてみる。この場合、オブジェクト番号デ
ータの最下位ビットOD0は論理“0”であり、最下位
ビットから1つ目のビットOD1は論理“1”である。
このとき、ビットセレクタコントローラ905は、ビッ
トセレクタ903のみを能動化する。これによって、ビ
ットセレクタ903は、テンポラリデータにおける第3
セクタの2ビットデータTD4,TD5をCPUデータ
の下位2ビットのデータD0〜D1と差し替える。その
他のビットセレクタ901,902および904は、ビ
ット差替動作を行わず、与えられたテンポラリデータを
そのまま出力する。
【0073】上記のようなビット差替回路805のビッ
ト差替動作により、ビット番号nに対応するセクタが新
しい水平位置データのMSBおよびサイズ選択データに
差し替えられた1バイトのデータTD’0〜7が作成さ
れ、データセレクタ806に与えられる。このとき、デ
ータセレクタ806は、アドレスデコーダ801からの
制御信号φ5によって、ビット差し替え後のテンポラリ
データTD’0〜7を選択して出力するように切り換え
られている。したがって、ビット差し替え後のテンポラ
リデータTD’0〜7は、データセレクタ806を介し
て、データ入出力回路に与えられ、このデータ入出力回
路808からRAM603に与えられる。
【0074】このとき、RAM603は、アドレスデコ
ーダ801により活性化されたメモリライト信号/MW
R,RAMセレクト信号/RAMSELによって書込可
能状態とされており、かつオブジェクト番号nの付加デ
ータを格納しているアドレスを示すアドレスデータKA
0〜10が与えられている。したがって、オブジェクト
番号nに対応する付加データが格納されているOAM1
のアドレスには、ビット差し替え後の1バイトのテンポ
ラリデータTD’0〜7が格納される。以上で、オブジ
ェクト番号nについての付加データの設定が終了する。
【0075】以上説明したごとく、上記実施例では、O
AM1にオブジェクトデータを設定する際、CPU50
1はメインオブジェクトデータと付加データとのアドレ
ス空間上での番地の不連続性を何ら意識する必要がな
い。すなわち、図13に示すように、CPU501は連
続した仮想アドレス空間にオブジェクトデータを書き込
めばよい。仮想アドレスデータとともにOAC602に
与えられたオブジェクトデータは、OAC602によっ
て自動的にOAM1の実アドレス空間上に展開される。
したがって、第2の先行技術における複雑なアドレス計
算が不要となり、CPU501の負担が軽減できるとと
もに、OAMへのオブジェクトデータの設定が高速に行
える。
【0076】上記のようなこの発明の一実施例の利点を
より一層明確にするために、以下には参考のために、C
PU501がOAC602を用いずに直接OAM1をア
クセスする場合の動作について説明する。
【0077】図14および図15は、OAC602を用
いることなく、CPU501が直接OAM1にオブジェ
クトデータを設定する場合の動作を示すフローチャート
であり、図11のステップS2のサブルーチンの詳細を
示している。まず、ステップS101において、CPU
501はOAM1における水平位置データの格納アドレ
スAを計算する。この格納アドレスAは、次式(1)に
よって求められる。 A=OAM1の先頭アドレス+n×4 ・・・(1) 上式(1)において、nはオブジェクト番号である。
【0078】次に、ステップS102に進み、CPU5
01はOAM1のアドレスAに新しい水平位置データ
(MSBを除く)を書き込む。続くステップS103に
おいて、CPU501はOAM1における垂直位置デー
タの格納アドレスBを計算する。このアドレスBは、ア
ドレスAに1を加算することによって求められる。続く
ステップS104において、CPU501はOAM1の
アドレスBに新しい垂直位置データを書き込む。続くス
テップS105において、CPU501はOAM1にお
けるネームデータの格納アドレスCを計算する。このア
ドレスCは、アドレスBに1を加算することによって求
められる。続くステップS106において、CPU50
1はOAM1のアドレスCに新しいネームデータ(MS
Bを除く)を書き込む。続くステップS107におい
て、CPU501はOAM1における反転データ,優先
データ,色データおよびネームデータのMSBの格納ア
ドレスDを計算する。このアドレスDは、アドレスCに
1を加算することによって求められる。続くステップS
108において、CPU501はOAM1のアドレスD
に新しい反転データ,優先データ,色データおよびネー
ムデータのMSBを書き込む。
【0079】以上のステップS101〜S108の動作
により、OAM1に対するメインオブジェクトデータの
設定が終了する。
【0080】続いて、図15に示すステップS109に
進み、オブジェクト番号nの付加データの設定動作が開
始される。ステップS109では、CPU501は、オ
ブジェクト番号nの水平位置データのMSB,サイズ選
択データが格納されているOAM1のアドレスEを計算
する。このアドレスEの計算は、以下の手順に従って行
われる。
【0081】まず、OAM1の先頭アドレスA0に対し
てオフセット値OFSが加算される。図16に示すよう
に、オフセット値OFSは、メインオブジェクトデータ
記憶エリアが占有するアドレス空間のアドレスの幅であ
る。したがって、A0+OFSは、付加データ記憶エリ
アの先頭番地となる。次に、図17に示すように、8ビ
ットデータd0〜d7で表されたオブジェクト番号デー
タが、CPU501内のレジスタにおいて2ビットだけ
右シフトされる。シフト後の8ビットデータE’は、図
16に示すように付加データ記憶エリアの先頭番地から
オブジェクト番号nの付加データが格納されたエリアま
でのアドレス距離を示している。したがって、CPU5
01は、付加データ記憶エリアの先頭アドレス(A0+
OFS)にさらにE’を加算することにより、アドレス
Eを計算する。すなわち、E=A0+OFS+E’とな
る。
【0082】次に、ステップS110に進み、CPU5
01は、OAM1のアドレスEから1バイトのデータを
読み出す。このとき読み出されたデータは、データFと
する。このデータFは、オブジェクト番号nの付加デー
タを含む。
【0083】次に、ステップS111に進み、CPU5
01は、8ビットのオブジェクト番号データd0〜d7
と、8ビットのマスクデータ“00000011”との
論理積を演算する。この論理積演算により、図18に示
すように、オブジェクト番号データの上位6ビットd2
〜d7がマスクされ、下位2ビットd0〜d1のみが残
される。この論理積演算により得られたデータをデータ
Gとする。データGは、ステップS110で読み出され
た1バイトのデータFにおいて、オブジェクト番号nの
付加データがどのビット位置に存在しているかを表して
いる。
【0084】次に、ステップS112に進み、CPU5
01はデータFからオブジェクト番号nに対応する付加
データを削除する。より詳細に説明すると、8ビットデ
ータ“11111100”を、g×2回左ローテーショ
ンして、まずマクスデータを作成する。ここで、左ロー
テーションとは、図19に示すように、各ビットを1ビ
ット左へシフトさせるとともに、MSBをLSBにシフ
トさせる操作をいう。8ビットデータ“1111110
0”を、g×2回(gはステップS111で得られたデ
ータGが示す値)を左ローテーションすると、オブジェ
クト番号nの付加データに対応する位置のみが論理
“0”となったマスクデータが作成される。CPU50
1は、このマスクデータとデータFとの論理積を演算す
ることにより、データFからオブジェクト番号nに対応
する付加データを削除する。オブジェクト番号nの付加
データが削除された1バイトのデータは、データHとす
る。
【0085】次に、ステップS113に進み、CPU5
01は、オブジェクト番号nに対する新しい水平位置デ
ータのMSBおよびサイズ選択データの2ビットを含む
8ビットデータIを作成する。この8ビットデータI
は、新しい付加データを、オブジェクト番号nに対応す
るビット位置に格納している。
【0086】次に、ステップS114に進み、CPU5
01は、データHとデータIとの論理和を演算し、デー
タHとデータIとが合成されたデータJを作成する。
【0087】次に、ステップS115に進み、CPU5
01は、データJをOAM1のアドレスEに書き込む。
これによって、オブジェクト番号nの付加データの設定
が終了する。
【0088】上記のごとくOAC602を用いない場
合、CPU501はOAM1をアクセスするために、極
めて面倒なアドレス計算とデータ処理とを行う必要があ
る。したがって、OAC602を用いたこの発明の一実
施例の有効性が立証された。
【0089】図7に示す実施例において、PPU504
は、OAM1からOAM2にDMA転送されたオブジェ
クトデータに基づいて、オブジェクトのための表示デー
タを発生する。PPU504の構成および動作は、特開
平3−230191号公報(本願において述べている第
2の従来技術に相当)に開示されたビデオプロセッサ1
2と同様である。すなわち、PPU504の構成は図2
0に示すように構成され、特開平3−230191号の
第2図と同様である。また、本願のROMカセット60
0は、特開平3−230191号の第1図に示すプログ
ラムメモリ14の代わりに適用される。そして、動画を
発生するための表示信号発生手段の一例の動画データ発
生回路は、例えば本願の図21〜図23のように構成さ
れる。この図21〜図23に示す動画データ発生回路の
詳細な回路構成は、特開平3−230191号の第6A
図〜第6C図に対応する。これらの回路の動作および関
連するその他の回路部分の構成と動作は、特開平3−2
30191号を参照すれば当業者が容易に理解できるの
で、説明を省略する。
【0090】また、本願をテレビゲーム機として応用す
る場合は、背景画データ発生回路26が設けられ、動画
データを背景画データと合成する必要があるが、その詳
細についても特開平3−230191号を参照された
い。
【0091】以上説明した実施例は、外部記憶装置とし
てのROMカセット600内にCPU501のためのゲ
ームプログラムおよび各オブジェクトのためのフォント
データを記憶するようにしているが、この発明は以下の
ような変形実施例の範囲ももちろんカバーする。たとえ
ば、ゲームプログラムおよびオブジェクトのためのフォ
ントデータを、光学的に読み取り可能な記録媒体(たと
えば、CD−ROM)に記憶しておく。このCD−RO
Mの読取装置を、ゲーム機本体500に選択的に接続す
る。カセット600には、ROM601に代えてCD−
ROMのためのバッファRAMが設けられる。読取装置
によってCD−ROMから読み取られたデータは、ゲー
ム機本体500を介して一旦カセット600内のバッフ
ァRAMに蓄えられる。以後は、CPU501が当該バ
ッファRAMをアクセスすることにより、ゲーム処理が
実行される。
【0092】
【発明の効果】以上のように、この発明によれば、オブ
ジェクトを表示するためのデータを記憶するメモリの容
量を効率的に活用でき、しかも中央処理装置が当該メモ
リをアクセスする際のアドレス計算の負担を大幅に軽減
し得る動画表示装置およびそれに用いられる外部記憶装
置を得ることができる。
【図面の簡単な説明】
【図1】CRT表示画面における背景画キャラクタとオ
ブジェクトとの関係を示す図解図である。
【図2】本発明の一実施例に係る動画表示装置により表
示されたオブジェクトの移動状態の一例を示す図解図で
ある。
【図3】従来の動画表示装置により表示されたオブジェ
クトの移動状態の一例を示す図である。
【図4】属性データに含まれる反転データとオブジェク
トの表示状態との関係を示す図解図である。
【図5】属性データに含まれる優先データと背景画キャ
ラクタおよびオブジェクトの表示状態との関係を示す図
解図である。
【図6】属性データに含まれるサイズ選択データとオブ
ジェクトの表示状態との関係を示す図解図である。
【図7】この発明の一実施例の構成を示す概略ブロック
図である。
【図8】図7に示すOAM1のメモリマップを示す図解
図である。
【図9】図7に示すOACのより詳細な構成を示すブロ
ック図である。
【図10】図9に示すビット差替回路のより詳細な構成
を示すブロック図である。
【図11】CPUによるOAM1のアクセス動作を示す
フローチャートである。
【図12】図11におけるサブルーチン(ステップS
2)のより詳細な動作を示すフローチャートである。
【図13】図7に示すCPUがOAM1にオブジェクト
データを設定する際に用いる仮想アドレス空間を示す図
解図である。
【図14】OACを用いることなくCPUがOAM1に
オブジェクトデータを設定する場合の動作を示すフロー
チャートである。
【図15】図14に続くオブジェクトデータ設定動作を
示すフローチャートである。
【図16】図15のステップS110におけるアドレス
Eの計算方法を説明するための図解図である。
【図17】図15のステップS109において行われる
オブジェクト番号データのシフト動作を示す図解図であ
る。
【図18】図15のステップS111におけるデータG
の生成過程を示す図解図である。
【図19】図15のステップS112において実行され
るマスクデータのローテーション動作を示す図解図であ
る。
【図20】図7に示すPPUの構成を示す概略ブロック
図である。
【図21】図20に示す動画データ発生回路の構成の一
部を示すブロック図である。
【図22】図20に示す動画データ発生回路の構成の一
部を示すブロック図である。
【図23】図20に示す動画データ発生回路の構成の一
部を示すブロック図である。
【符号の説明】
500:ゲーム機本体 501:CPU 504:PPU 600:ROMカセット 601:ROM 602:OAC(オブジェクト・アドレス・コンバー
タ) 603:RAM OAM1:第1のOAM(オブジェクト・アトリビュー
ト・メモリ) OAM2:第2のOAM 801:アドレスデコーダ 802:アドレスセレクタ 803:オブジェクト番号レジスタ 804:テンポラリレジスタ 805:ビット差替回路 806:データセレクタ 807,808:データ入出力回路
フロントページの続き (72)発明者 中嶋 健之 京都府宇治市小倉町神楽田56番地 株式会 社インテリジェントシステムズ内 (72)発明者 君塚 誠 京都府宇治市小倉町神楽田56番地 株式会 社インテリジェントシステムズ内

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 ラスタ走査型のディスプレイに接続して
    用いられ、このディスプレイのスクリーン上に複数個の
    動画キャラクタを表示させるための動画表示装置であっ
    て、 ゲームのためのプログラムデータおよび各動画キャラク
    タのためのフォントデータを記憶する第1の記憶手段、 それぞれが相対的に多いビット数から成る第1のデータ
    部分と相対的に少ないビット数から成る第2のデータ部
    分とを含む動画キャラクタのための表示データを複数の
    動画キャラクタについて記憶し、各動画キャラクタの前
    記第1のデータ部分はそれぞれ連続する複数の番地に格
    納されており、各動画キャラクタの前記第2のデータ部
    分は所定数の動画キャラクタごとに1つの番地にまとめ
    られて前記第1のデータ部分とは離れた番地に格納され
    ている第2の記憶手段、 複数の動画キャラクタの表示データを記憶する第3の記
    憶手段、 前記第1の記憶手段から読み出されたプログラムデータ
    に従って動作し、前記ディスプレイの次のフレーム期間
    で表示すべき動画キャラクタの表示データを前記第2の
    記憶手段に設定し、かつ前記第2の記憶手段に設定され
    た動画キャラクタの表示データを前記ディスプレイの垂
    直ブランキング期間中に前記第3の記憶手段に転送する
    ための中央処理手段、 前記第3の記憶手段に記憶されている動画キャラクタの
    表示データに基づいて、各動画キャラクタの表示のため
    の画像信号を発生する画像信号発生手段、 前記中央処理手段が前記第2の記憶手段に動画キャラク
    タの表示データを設定するときに、前記中央処理手段か
    ら与えられる前記第2の記憶手段の仮想アドレスデータ
    を前記第2の記憶手段の実アドレスデータに変換するた
    めのアドレス変換手段、および前記アドレス変換手段に
    より変換された前記第2のデータ部分のための実アドレ
    スデータに基づいて、前記第2の記憶手段の該当する番
    地から1番地分のデータを読み出し、この読み出された
    1番地分のデータの所定ビット位置部分のみを書き換え
    た新たなデータを発生するデータ発生手段を備える、動
    画表示装置。
  2. 【請求項2】 前記第3の記憶手段,前記中央処理手段
    および前記表示信号作成手段は、ゲーム機本体内に設け
    られ、 前記第1および第2の記憶手段,前記アドレス変換手段
    および前記データ発生手段は、前記ゲーム機本体に着脱
    自在に装着される外部記憶装置内に設けられている、請
    求項1に記載の動画表示装置。
  3. 【請求項3】 ラスタ走査型のディスプレイに接続して
    用いられ、このディスプレイのスクリーン上に接続して
    用いられ、このディスプレイのスクリーン上に複数個の
    動画キャラクタを表示させるための動画表示装置に着脱
    自在に装着される外部記憶装置であって、 ゲームのためのプログラムデータおよび各動画キャラク
    タのためのフォントデータを記憶する第1の記憶手段、
    およびそれぞれが相対的にビット数が多い第1のデータ
    部分と相対的にビット数が少ない第2のデータ部分とを
    含む動画キャラクタのための表示データを複数の動画キ
    ャラクタについて記憶し、各動画キャラクタの前記第1
    のデータ部分は、それぞれ連続する複数の番地に格納さ
    れており、各動画キャラクタの前記第2のデータ部分
    は、所定数の動画キャラクタごとに1つの番地にまとめ
    られて前記第1のデータ部分とは離れた番地に格納され
    ている第2の記憶手段を備え、 前記動画表示装置は、 複数の動画キャラクタの表示データを記憶する第3の記
    憶手段、および前記第1の記憶手段から読み出されたプ
    ログラムデータに従って動作し、前記ディスプレイの次
    のフレーム期間で表示すべき動画キャラクタの表示デー
    タを前記第2の記憶手段に設定し、かつ前記第2の記憶
    手段に設定された動画キャラクタの表示データを前記デ
    ィスプレイの垂直ブランキング期間中に前記第3の記憶
    手段に転送するための中央処理手段を備え、 前記外部記憶装置は、さらに前記第3の記憶手段に記憶
    されている動画キャラクタの表示データに基づいて、各
    動画キャラクタの表示のための画像信号を発生する画像
    信号発生手段、 前記中央処理手段が前記第2の記憶手段に動画キャラク
    タの表示データを設定するときに、前記中央処理手段か
    ら与えられる前記第2の記憶手段の仮想アドレスデータ
    を前記第2の記憶手段の実アドレスデータに変換するた
    めのアドレス変換手段、および前記アドレス変換手段に
    より変換された前記第2のデータ部分のための実アドレ
    スデータに基づいて、前記第2の記憶手段の該当する番
    地から1番地分のデータを読み出し、この読み出された
    1番地分のデータの所定ビット位置部分のみを書き換え
    た新たなデータを発生するデータ発生手段を備える、外
    部記憶装置。
JP3355222A 1991-12-19 1991-12-19 動画表示装置およびそれに用いられる外部記憶装置 Pending JPH06102855A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3355222A JPH06102855A (ja) 1991-12-19 1991-12-19 動画表示装置およびそれに用いられる外部記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3355222A JPH06102855A (ja) 1991-12-19 1991-12-19 動画表示装置およびそれに用いられる外部記憶装置

Publications (1)

Publication Number Publication Date
JPH06102855A true JPH06102855A (ja) 1994-04-15

Family

ID=18442666

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3355222A Pending JPH06102855A (ja) 1991-12-19 1991-12-19 動画表示装置およびそれに用いられる外部記憶装置

Country Status (1)

Country Link
JP (1) JPH06102855A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH096326A (ja) * 1995-06-23 1997-01-10 Konami Co Ltd 画像表示装置
JP2002253866A (ja) * 2000-12-28 2002-09-10 Nintendo Co Ltd ゲーム管理装置,ゲームプログラムおよびゲームシステム
USRE43216E1 (en) 1999-09-16 2012-02-28 Kabushiki Kaisha Sega Game device, game processing method and information recording medium
JP2014511647A (ja) * 2011-03-10 2014-05-15 ヴィディオ・インコーポレーテッド ビデオ・ビットストリーム中の描画方向情報
US9452361B2 (en) 2000-12-28 2016-09-27 Nintendo Co., Ltd. Network game system

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH096326A (ja) * 1995-06-23 1997-01-10 Konami Co Ltd 画像表示装置
US6028596A (en) * 1995-06-23 2000-02-22 Konami Co, Ltd. Image creation apparatus
USRE43216E1 (en) 1999-09-16 2012-02-28 Kabushiki Kaisha Sega Game device, game processing method and information recording medium
JP2002253866A (ja) * 2000-12-28 2002-09-10 Nintendo Co Ltd ゲーム管理装置,ゲームプログラムおよびゲームシステム
US9452361B2 (en) 2000-12-28 2016-09-27 Nintendo Co., Ltd. Network game system
JP2014511647A (ja) * 2011-03-10 2014-05-15 ヴィディオ・インコーポレーテッド ビデオ・ビットストリーム中の描画方向情報
US9743099B2 (en) 2011-03-10 2017-08-22 Vidyo, Inc. Render-orientation information in video bitstream
US10027970B2 (en) 2011-03-10 2018-07-17 Vidyo, Inc. Render-orientation information in video bitstream

Similar Documents

Publication Publication Date Title
JPH0695273B2 (ja) デイスプレイ制御装置
JPS6336786B2 (ja)
JPH0222957B2 (ja)
JPH09245179A (ja) コンピュータグラフィックス装置
JP2578170B2 (ja) 画像表示装置
JPS60245035A (ja) デイスプレイコントロ−ラ
JPH06102855A (ja) 動画表示装置およびそれに用いられる外部記憶装置
JPH028314B2 (ja)
JP3252359B2 (ja) 画像処理装置
JPH01179082A (ja) 標体の表示装置
JP3846142B2 (ja) 画像データ転送装置及び画像表示処理システム
JP3969017B2 (ja) 画像データ転送装置及び画像表示処理システム
JP4048731B2 (ja) 画像データ転送装置及び画像表示処理システム
JP3514763B6 (ja) スクロール画面表示回路
JP2898283B2 (ja) 表示制御装置
JP3514763B2 (ja) スクロール画面表示回路
JPS63129395A (ja) 表示制御装置
JPH0497390A (ja) 表示装置
JPH04186294A (ja) 画像処理装置
JPH05297841A (ja) 表示制御装置
JPH0121512B2 (ja)
JPH08336105A (ja) 画像データ表示制御方法及びこれを用いた画像表示制御装置
JPH01223493A (ja) 図形表示装置
JPH02135493A (ja) 図形表示装置
GB2212367A (en) Window control using spare signal data bit