JPH0464276B2 - - Google Patents

Info

Publication number
JPH0464276B2
JPH0464276B2 JP62260749A JP26074987A JPH0464276B2 JP H0464276 B2 JPH0464276 B2 JP H0464276B2 JP 62260749 A JP62260749 A JP 62260749A JP 26074987 A JP26074987 A JP 26074987A JP H0464276 B2 JPH0464276 B2 JP H0464276B2
Authority
JP
Japan
Prior art keywords
playfield
data
moving
moving object
objects
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.)
Expired - Lifetime
Application number
JP62260749A
Other languages
English (en)
Other versions
JPS63158091A (ja
Inventor
Jei Matsukaashii Patoritsuku
Edowaado Rogu Jooji
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.)
Midway Games West Inc
Original Assignee
Atari Games Corp
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 Atari Games Corp filed Critical Atari Games Corp
Publication of JPS63158091A publication Critical patent/JPS63158091A/ja
Publication of JPH0464276B2 publication Critical patent/JPH0464276B2/ja
Granted legal-status Critical Current

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/577Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/42Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of patterns using a display memory without fixed position correspondence between the display memory contents and the display position on the screen
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/203Image generating hardware
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • A63F2300/643Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car by determining the impact between objects, e.g. collision detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Digital Computer Display Output (AREA)

Description

【発明の詳細な説明】 〔利用分野〕 本発明はテレビ表示装置に表示する物体のデー
タレコードを処理する分野に関するものであり、
更に詳しくいえば、プレーフイールドの表示され
ている部分にどの物体を見えるようにするか、お
よびどの物体が他の物体と衝突したかを決定する
ために、プレーフイールド上の複数の物体を処理
するテレビゲームの分野に関するものである。
〔発明の背景〕
テレビゲームがますます複雑となり、高度にな
つてくるにつれて、テレビゲームは、多数のキヤ
ラクタが他の多くの実体(entities)と作用しあ
い、より複雑なプレーフイールド上で戦いが起る
ような、多数プレーヤーゲームにまで進歩してい
る。この動作の全てを表示するために標準的なテ
レビ表示回路が用いられ、かつそのプレーフイー
ルド上に多数の動く物体と動かない物体が存在す
るから、著しく厳しい制約がゲームの複雑さに課
されている。その理由は、どの物体を特定の走査
線上に表示すべきかを決定するための時間と、ど
の物体が他の物体と衝突したかを判定する時間
が、テレビ処理回路が映像中のラスタ線を走査す
るために要する時間により制限されることであ
る。その走査は高速処理であるから、各物体につ
いて判定するために各物体を記述するデータを処
理する時間が制限される。最終的には、そのため
に、装置が取扱うことができる物体の数が制限さ
れ、それにより装置がうまく処理できる物体およ
びプレーヤーの数が制限される。
したがつて、多数の物体のうちいくつかをプレ
ーフイールド上で希望の方向に動かし、かつプレ
ーフイールド上での多数の物体間の衝突を検出す
るために多数の物体とプレーヤーの入力を迅速に
取扱うことができるテレビゲーム処理装置に対す
る需要が生じている。
1スタンプ幅および1スタンプ高さよりも大き
い多スタンプの動く物体をうまく取扱うことがで
きるテレビゲーム装置に対する需要も生じてい
る。スタンプというのはピクセルおよび線の群の
ことであつて、全体として8ピクセル幅および8
走査線高さの全体として長方形のもので、動く物
体の形を構成するために用いられる。動く物体の
実体をその形により定めるために、スタンプ内の
各場所における色または灰色の陰影を定めるデー
タ語でピクセルが書かれる。従来は動く物体の幅
は1スタンプ幅のみであつた。そのために、着色
のために利用できるピクセルの数が真に複雑なキ
ヤラクタの形を形成するには少なすぎるために、
スクリーン上に描くことができるキヤラクタの寸
法と形の複雑さが制限される。したがつて、プレ
ーヤーの技能が高くなるにつれて、キヤラクタの
形が一層複雑で、色彩に富んだキヤラクタの形成
に対する需要が生じてきた。
〔発明の概要〕
本発明に従つて、ビデオ映像発生回路により課
される時間的な制約の下で、多数の動く物体を多
数のプレーヤーの制御の下に処理でき、かつ動か
ない物体を処理できるテレビゲーム装置が得られ
る。本発明の好適な実施例においては、テレビゲ
ーム装置は、ゲームの規則を実現する主ゲームプ
ログラムを実行し、キヤラクタの希望の運動を指
示するプレーヤー制御入力を読取り、スクリーン
上に表示される他の物体を制御するCPUを有す
る。一部だけが表示されているプレーフイールド
上で動作が行われる。ゲームの一部をなす種々の
動く物体と動かない物体が全てプレーフイールド
上に置かれる。動く物体はプレーヤーの制御入力
に応答して、または主プログラムの制御の下にあ
るコンピユータからの指令に応答して動かされ、
ゲーム中で戦いを行う。ゲーム中での戦いは本発
明とは無関係であるが、主キヤラクタと怪物(モ
ンスター)の間、またはプレーヤーが制御する物
体と主プロセツサが制御する物体または動かない
障害物との間に行われる。CPUは動く物体の位
置を常に検出して、プレーフイールド上の基準点
に対する動く物体と動かない物体の位置を含め
て、動く表示と動かない物体を記述するデータレ
コードをランダムアクセスメモリの二次元アレイ
に格納する。そのランダムアクセスメモリのこと
をここではアレイRAMと呼ぶことにする。アレ
イ中の各場所がプレーフイールド上のある領域を
マツプする。隣接するアレイ場所は、プレーフイ
ールド上の隣接する領域をマツプしている。プレ
ーフイールド上の壁のような動かない物体もダミ
ーの動く物体のレコードとして二次元アレイに格
納される。それらのダミーの動く物体のレコード
は結合(リンク)されたリスト(linked list)に
はなく、動かない物体がプレーフイールド上に現
われる位置に対応するアレイ場所に格納される。
以下、プレーフイールドのうち表示される部分の
ことをウインドウと呼ぶことにする。ダミーの動
く物体のレコードは、動かない物体のx場所とy
場所のみを含み、ダミー画像ポインタを含むこと
もあれば、含まないこともある。動かない物体に
対する実際の画像ポインタはアレイRAM内の別
のアレイに格納される。そのアレイRAMの別の
アレイは、プレーフイールドの画像(以下、プレ
ーフイールド画像アレイと呼ぶ)を描くために用
いられている時間スロツト中にアクセスされる。
画像ポインタというのは読出し専用メモリ内のア
ドレスで、そこに物体の外観を定める実際のグラ
フイツク情報が格納される。好適な実施例におい
ては、動く物体のデータ・レコードおよびタミー
の動く物体のデータ・レコードのための各アレイ
場所(以下、衝突検出アレイと呼ぶ)がプレーフ
イールド上のボツクスにマツプされる。そのボツ
クスの大きさは16ピクセル幅および16線高さであ
る。
衝突検出アレイ内の動く物体は順序づけられ、
結合(リンク)されたリストにより結合(リン
ク)されるが、この結合(リンク)は本発明の衝
突検出特徴には関連しない。本発明のポイント
は、どの動く物体のデータがウインドウ内に見え
るかを決定する表示処理の速度を速くすることで
ある。リストの順序づけは、プレーフイールド全
体が左から右および上から下へラスタ走査のよう
にして表示される場合に、物体が表示される順序
で物体がリスト中に現われるようなものである。
ラスタ走査が用いられない場合には、結合(リン
ク)されたリストはこのようにして順序づける必
要はない。動く物体が動く場合には、結合(リン
ク)されたリスト中の正しい順序を維持するよう
に、アレイRAMをアドレスするそれの時間スロ
ツト中にコンピユータにより再び順序づけられ
る。
このテレビゲーム装置は、アレイRAM中に格
納されたデータ・レコードを時分割式に処理す
る。アレイRAMにデータ・レコードを書込み、
またはアレイRAMからデータ・レコードを読出
すために、CPUに時間スロツトが割当てられる。
この時間スロツト中にCPUは次の動作のいずれ
かを行う。すなわち、アレイデータベース(衝突
検出アレイ、プレーフイールド画像アレイ、英数
字アレイ、およびスリツプ表またはスリツプアレ
イがある)の構築、プレーフイールドの基準点
(通常はプレーフイールドの左上隅)に対する物
体の新しい位置を反映するために、レコード中の
位置オフセツトのフイールドを変更することによ
りユーザー指令ごとに物体を動かすこと、結合
(リンク)されたリスト上の結合(リンク)を変
更およびスリツプ表のエントリイを変更するた
め、または物体が動いた時に衝突検出アレイ中の
適切な場所へ物体のレコードを動かすためにアレ
イのエントリイを更新すること、または動かされ
た物体および隣接する物体のデータ・レコードを
読出して衝突検出処理を行うことである。ここで
用いる「スリツプ」という用語は、ある特定のラ
スタ走査線のための処理をスタートさせる、結合
(リンク)されたリスト上の正しい物体データ・
レコードに対するスタート・リンク・ポインタま
たはスタート・リンクを意味する。
別の時間スロツトが、プレーフイールドの背景
部分を形成する他の動かない物体を表示するため
に、動かない物体のアクセス用に用いられる。他
の時間スロツトが、得点その他の文字数字につい
ての情報をスクリーン上に表示するための英数字
データをアクセスするために用いられる。
別の時間スロツトが、最後に処理された物体か
らの結合(リンク)またはスリツプを用いること
により、結合(リンク)されたリスト上の次の動
く物体に対する結合(リンク)されたアクセスに
専用される。それらのスリツプは、特定の任意の
ラスタ走査線上に現われる第1の動く物体のデー
タ・レコードのアレイRAM内のアドレスであ
る。スリツプ表は、どの動く物体が走査線上に現
われる位置にあるかを判定するために、「ヒツト」
処理を各ラスタ走査線上でスタートさせるべき、
結合(リンク)されたリスト上の場所を載せてい
る。結合(リンク)されたリストの順序が変えら
れた時には、スリツプ表はそれの時間スロツト中
にCPUにより常に更新される。現在のウインド
ウにおいて処理されている現在の走査線数を含む
データを復号することにより、スリツプ表に対す
るアクセスも行われる。スリツプ・データはアレ
イRAM中のスリツプ表からアクセスされ、新し
い各走査線の走査の開始時にリンクレジスタに保
持される。
最後に述べた時間スロツトは、動く物体に対す
るy位置を記述する結合(リンク)されたリスト
からのデータ・レコードをアクセスするために用
いられる。このデータは、物体が現在の走査線上
に現われる可能性があるかどうかを判定する目的
で、yヒツト処理を行うために用いられる。yヒ
ツトが見つかつたとすると、動く物体に対するグ
ラフイツクデータのためのポインタが検索され、
xヒツトが存在するか、すなわち、現在表示され
ているプレーフイールド上のx軸の見える部分に
沿つて物体が配置されているかどうかを判定する
ために、その物体のx位置が調べられる。各デー
タ・レコードは、プレーフイールド上の基準点に
対する動く物体の位置を記述するxとyの座標デ
ータを有する。各データ・レコードは、結合(リ
ンク)されているリスト上の次のレコードに対す
るポインタを含むリンク・フイールドも有する。
見えない物体に対するデータ・レコードの無用な
処理を避けるために、各走査線上の最初の動く物
体を指すスリツプを用いることにより、およびそ
の後で、走査線が終るまで、リンクを用いて処理
を続行することにより、結合(リンク)されてい
るリスト中の正しい点におけるデータ・レコード
のアクセスが行なえる。各走査線が終ると、状態
マシン/同期発生器制御器ロジツクにより信号が
発生され、スリツプ・アドレスをそれの新しい値
に更新させ、次の走査線を処理するために適切な
点において結合(リンク)されているリストに対
するアクセスに使用するために、リンクレジスタ
に保持させる。
動く物体を動かすたびに、動きにより、プレー
フイールド内の他の動く物体または動かない物体
と衝突することとなるかどうかを判定するため
に、衝突検出プロセスを実行せねばならない。
CPUは、動く経路中の最も近い物体のみの位置、
またはたかだか最も近い物体の位置へ動かされる
物体の位置を比較することにより、そのプロセス
を迅速に行う。その理由は、動く物体は動く経路
中にない物体とは衝突しないことが明らかだから
である。そのために、CPUは、プレーフイール
ド上の動く物体と動かない物体の相対位置を記述
するデータ・レコードの二次元衝突検出アレイを
用い、運動経路中にあり、その運動経路と交差す
る特定のパターンの最も近い物体のみのレコード
をアクセスする。そのようにアクセスされたデー
タ・レコード中の位置データが、動かすべき物体
の位置データとレコードごとに比較される。
アレイ中の全ての物体のX座標とy座標は、ウ
インドウが位置を変えるたびに、比較プロセスが
アレイ全体の書き直しを待つ必要がないように、
プレーフイールド上の基準点からのオフセツトで
表される。
その比較は、動かすべき物体の提案されている
新しいx位置からパターン中の最初のレコードの
x位置を差し引き、その差が特定の定数より小さ
いかどうかを判定するように、差の絶対値をテス
トすることにより行われる。その差が定数より小
さくないとすると、y位置の比較はスキツプさ
れ、パターン中の次のレコードが検索され、新し
いレコードに対して比較が開始される。その結果
が定数より小さければ、y位置が同様にして比較
される。結果の絶対値が定数より小さいと衝突が
起きたのであり、衝突処理のトリガには動かされ
る物体が1つの物体に衝突するだけでよいから、
それ以上の全てのレコード比較は停止される。結
果の絶対値が定数より小さくなければ、そのパタ
ーンの物体に対する次のレコードが検索され、位
置比較動作が続けられる。
衝突が起ると、動く物体がどの物体と衝突した
かをCPUは判定し、その種の衝突に対して適切
な動作を行う。例えば、レーザ照射をする動く物
体が襲つてくる怪物にぶつかる場合には、怪物を
消すのが正しい動作である。怪物という動く物体
がプレーヤーにより操作されているキヤラクタに
ぶつかる場合には、正しい動作はそのキヤラクタ
を死なすことか、その力を弱くするか、そのパワ
ーを無くさせること等である。キヤラクタがプレ
ーフイールド中の壁にぶつかつたとすると、とる
べき正しい動作はキヤラクタを壁における壁スト
ツプの方向に動かすことである。異なる実施例に
おいては、とるべき正しい動作はゲームの異なる
規則を実現することである。
本発明に従つて、多スタンプの動く物体が用意
される。動く物体は8スタンプ幅までおよび8ス
タンプ高さまでのスタンプのアレイで構成でき
る。結合(リンク)されたリスト上の各動く物体
のレコードは4語より成る。その4語のうちの1
語はスタンプのアレイ中の最初のスタンプのアド
レスである。動く物体のデータ・レコードの他の
語は、その物体の垂直寸法と、水平寸法と、水平
位置と、垂直位置と、次の動く物体に対する結合
(リンク)とを含む。各走査線中にロジツクによ
り一連の動く物体のデータレコードが調べられ
る。そのロジツクは動く物体のy位置を現在の走
査線のy位置と比較する。両方の位置はプレーフ
イールドの相対項で表される。比較回路は、現在
の走査線を含んでいる動く物体のアレイ中のスタ
ンプに対する行番号である数を生ずる。スタンプ
の行番号と水平寸法情報が、動く物体のスタン
プ・オフセツト数を探す、または計算するために
用いられる。これは、現在の走査線を含んでいる
行上のアレイ中の最初のスタンプのスタンプ数で
ある。各スタンプアレイは行1の番号1,2,3
…8までのスタンプで番号がつけられる。第2の
行の最初のスタンプに、行1の最後のスタンプに
対する番号に続く順序中の次の番号として番号が
つけられる。それから、各スタンプが処理される
につれてカウンタがカウントして、現在の行内の
引き続くスタンプの相対的なアドレスを与える。
動く物体の画像フイールドは、アレイ中の最初の
スタンプのグラフイツクスROM内の実際のアド
レスであるフイールドも含む。このアドレスは現
在のスタンプ番号の最初のスタンプ番号からのオ
フセツトに加えられる。
比較回路は、走査されている現在のスタンプ中
の実際の走査線を表す数も生ずる。この情報に、
上記回路から取出されたROM中の現在のスタン
プの実際のアドレスを加えたものが、その種の動
く物体に対するピクセルパターンの形のグラフイ
ツクデータが格納されているROMをアクセスす
るためのアドレスとして用いられる。それから、
正しいピクセルパターンがシフトレジスタに保持
され、次の線を走査するための用意にロードされ
ているラインバツフアへピツトごとに桁送りされ
る。以上述べた全てのプロセスは線の実際の走査
の時刻より1つの線の分の時間だけ先行して行わ
れ、実際の走査プロセスを待つて一対の「ピンポ
ン」式ラインバツフアの一方に格納される。他の
ピンポン式バツフアは、任意の特定の時刻に実際
に走査されているピクセルパターンを格納する。
本発明の別の面に従つて、現在のウインドウ内
でどの動く物体が見えるかということを判定する
ために、動く物体の結合(リンク)されたリスト
を処理するルツクアヘツド特徴が設けられる。本
発明の好適な実施例においては、同期発生器およ
びいくつかの状態信号が結合されているROMで
構成された同期状態マシンが、アレイRAMに対
するアドレスを多重化し、アレイRAMからの出
力データを保持するために時間スロツトを制御す
る制御信号を発生するために用いられる。状態マ
シンに入力される状態信号は、動く物体の現在の
位置と、現在のウインドウ内に描かれている走査
線との間の水平位置比較と垂直位置比較の一致
(マツチ)条件または非一致(ノー・マツチ)条
件を示す。状態マシンへのそれらの状態入力信号
は、ある動く物体の1行にある全てのスタンプの
処理の終りが生じた時、各走査線の終りに達した
時、および状態マシンが最初のヒツトを探して基
本的な7つの時間スロツトにおよび最初のサイク
ルに入る時も指示する。状態マシンは、種々のア
ドレスが選択されて、種々のデータのRAMに対
する読出し/書込みが行われる7つの時間スロツ
トのフオアグラウンド(前景)サイクルを有す
る。フオアグラウンドサイクルは、スリツプポイ
ンタ・アドレスにおける、またはそれをこえたア
ドレスにおけるどの動く物体を現在の線上に表示
すべきかを決定するために、結合(リンク)され
ているリストレコードを処理することを全体とし
て目的とするものである。各動く物体は最初にy
ヒツトについて処理される。これは、y位置が、
物体のその部分が現在の走査線の見える部分に現
われると仮定されるような位置であることを意味
する。yヒツトがあるものとすると、フオアグラ
ウンド状態マシンサイクルの別の時間スロツト中
のxヒツトに対して動く物体が処理される。この
xヒツト処理は、物体のx位置と、ウインドウの
x位置と、物体の水平寸法とが、物体が現在の走
査線に少くとも部分的に現われると推定されるよ
うなものであるかどうかを判定するものである。
現在の線上のいつくかのスタンプに対するグラ
フイツクデータを検索するための多スタンプの動
く物体の処理プロセスを完了するためにはいくら
かの時間を要するから、状態マシンはバツクグラ
ウンドサイクルも有する。以前の動く物体のスタ
ンプがいぜんとして処理されているとを各状態信
号が示すたびに、そのバツクグラウンドサイクル
に常に入つて、グラフイツクデータをラインバツ
フアに入れる。バツクグラウンドサイクルの目的
は、フオアグラウンド状態において最後に処理さ
れた動く物体に続く、結合(リンク)されたリス
ト上の次の動く物体の処理を続けることである。
しかし、バツクグラウンド処理は、結合(リン
ク)されたリスト上のどの動く物体がyヒツトと
xヒツトの両方を有するかを判定することに限定
される。バツクグラウンド状態において見出され
るyヒツトとxヒツトを有する任意の動く物体に
対しては画像ポインタは検索されない。フオアグ
ラウンド状態のみが画像データを検索する。
それの機能を実行するために、バツクグラウン
ドサイクルは、ルツクアヘツド機能を実現するよ
うに、ラインバツフアに現在ロードされているグ
ラフイツクデータを有する動く物体から、リスト
を更に下つて動く物体の処理を続ける。xヒツト
とyヒツトを有する次の動く物体をバツクグラウ
ンド状態が見つけると(ある場合には、ルツクア
ヘツド機能には1つのフオアグラウンド状態も含
まれる)、処理は保持モードへ進む。そのモード
においては、見出された動く物体の水平位置にお
ける探索においてバツクグラウンド状態がサイク
ルを続けるのが、新しい動く物体は処理されな
い。フオアグラウンド状態と関連する回路が、元
の動く物体からの画像データの、状態信号の1つ
により合図された、ラインバツフアへのロードを
終了するまで、その保持は続行される。それから
フオアグラウントサイクルに再び入り、バツクグ
ラウンド状態にそのようにして配置されている物
体に対して画像ポインタが検索される。このポイ
ンタは、新しい動く物体に対して、グラフイツク
スROMからグラフイツクデータをアクセスする
ために用いられる。この運動ポインタが1スタン
プ幅より広いものとすると、グラフイツクデータ
のロードプロセスが開始されると、グラフイツク
ROMとシフトレジスタが使用中であつて、グラ
フイツクデータのロードプロセスが真になつたこ
とを状態信号が直ちに示し、バツクグラウンドサ
イクルに再び入つてルツクアヘツドプロセスを続
行する。ただ1つのスタンプ幅である動く物体を
処理して、ピクセル当り1時間スロツトの速さ
で、8つの時間スロツトの1つの完全なフオアグ
ラウンドサイクルでラインバツフアにロードされ
る。表示すべき動く物体が、見える水平方向に2
つ以上のスタンプを有する時のみ、バツクグラウ
ンドサイクルに入る。
〔実施例〕
以下、図面を参照して本発明を詳しく説明す
る。
まず、本発明の装置が示されている第1A図と
第1B図を参照する。それらの図は切断線に沿つ
て結合して1つの図にすることができる。それら
2つの図を以後第1図と呼ぶことにする。この装
置は、多数の動く物体のスクリーン上への表示
と、それらの物体の動きの間での物体間の衝突の
検出との少くとも一方を必要とするテレビゲーム
またはその他の用途に使用できる。
コンピユータ20がメモリ22内の作業ROM
に格納されている主プログラムを実行して、装置
の種々の機能を行う。主プログラムはゲームの特
定の規則を実現し、ユーザによる制御用のインタ
ーフエイスのユニツト24からユーザー制御入力
データを読出すために、コンピユータ20に入力
動作/出力動作を行わせる。ユーザーの制御用の
インターフエイスユニツトは従来のものであつ
て、本発明にとつて重要なものではない。ユーザ
ーの制御用のインターフエイスユニツトは、ジヨ
イステイツク、フアイヤボタン、マジツクボタン
等のような1つまたはそれ以上のユーザーの制御
用のセツトを構成する。好適な実施例において
は、4種類のユーザーの制御用セツトが設けら
れ、割込みベクトル処理または制御器のボーリン
グによりコンピユータ20はそれらの制御用のセ
ツトからデータを読出す。この実施例ではボーリ
ングが用いられる。怪物がキヤラクタに当る時に
起るようなもの、またはキヤラクタの射撃または
その他の形態の攻撃が怪物に当る時に起るような
もの等の、主プログラムにより実現されるゲーム
の特定の規則は本発明にとつては重要ではない。
本発明はテレビゲームの分野に広く応用でき、実
際に、衝突または近接を検出せねばならない多数
の動いている標的を持つレーダ映像またはソーナ
映像の処理のような他の分野においても有用であ
る。
この実施例においては、動き、かつ多くの動く
怪物と戦う4個の主なキヤラクタを含むテレビゲ
ームに第1図の装置は用いられる。キヤラクタの
あるものは光線または弾を発射する。それらの光
線または弾を動く物体として表示される。この動
作の全ては本質的には迷路(メイズ)であるプレ
ーフイールドで行われる。そのプレーフイールド
内には壁、宝物、食物、キーその他の静止物体ま
たは非静止物体が置かれる。それらの動く物体お
よび動かない物体は全てデータ・レコードを有す
る。それらのデータ・レコードは、アレイRAM
中のいくつかのアレイで構成されているデータベ
ースに格納される。データベース中の各レコード
は物体のある属性を記述する。それらの属性には
プレーフイールド内の各物体の水平位置と垂直位
置が含まれる。
この実施例においては、プレーフイールドは異
なる多くのレベルを有する。各レベルの構造と、
各レベルにおける種々の動かない物体の場所と
が、メモリ22の一部として示されている作業
ROMに格納される。コンピユータはこの作業
ROMからのデータを用いて、アレイRAM32
内に二次元のプレーフイールド・アレイを形成す
る。プレーフイールド・アレイ中の動かない各物
体のレコードは、プレーフイールド上の物体の位
置に対応する適切なアレイ場所中の衝突検出二次
元アレイ内に、ダミーの動く物体のエントリイも
含む。このダミーのエントリイは物体のx位置デ
ータとy位置データとを有し、更に、画像ポイン
タを有することもあれば、有しないこともある。
画像ポインタの有無は本発明とは無関係である。
このダミーのエントリイの目的は、1つのアレイ
から衝突検出処理を行うことができるように、プ
レーフイールド上に全ての動く物体と動かない物
体とを有する衝突検出アレイを完成させることで
ある。衝突検出アレイ中の動かない物体は結合
(リンク)されたリストの一部とすることもでき
れば、しないこともできる。
この実施例においては、プレーフイールドの一
部のみが表示される。プレーフイールドの表示さ
れる部分をウインドウと呼ぶことにする。プレー
フイールドは基準点を有する。その基準点はどこ
に置くこともできるが、通常はプレーフイールド
の左上隅に置かれる。ウインドウも基準点を有
し、その基準点もウインドウ内の任意の場所に置
くことができるが、通常は左上隅に置かれる。任
意の時刻にプレーフイールド内には1024個もの動
く物体と動かない物体を散在させることができる
が、そのうちのいくつかだけをウインドウ内で見
ることができる。動く物体と動かない物体の位置
は、プレーフイールド上の基準点からそれらの物
体のオフセツトで表される。この実施例では、4
個の主キヤラクタを常に見えるようにするため
に、ウインドウの場所は動かされる。他の実施例
では、ウインドウは静止されたままにでき、また
は主キヤラクタの全部ではなくていくつかの動き
に追従させることもできる。第1図に示す装置の
大きな機能は、プレーフイールド上の動く物体お
よび動かない物体のどれがウインドウ内で見える
かを判定することである。これらのプロセスで、
この装置は、プレーフイールド上の全ての物体の
位置がプレーフイールド(PF)の相対オフセツ
トとして表されるという事実を有利に用いてい
る。
コンピユータ20は全ての物体に対するデータ
ベースを構築し、物体の位置が変化した時にその
データベースを更新する。このデータベースとい
う用語は、いくつかのアレイおよび表で構成され
たものを示す。二次元衝突検出アレイと、二次元
プレーフイールドアドレスと、二次元英数字アレ
イと、英数字アレイの使用されていない部分中の
スリツプ表とがある。データベースは各プレーヤ
ーの現在の得点と、ウインドウの現在の位置とに
ついてのデータも含む。それらのエントリイと他
のデータの全ては、コンピユータにより更新され
る。たとえば、コンピユータはウインドウの新し
い位置を計算し、ウインドウが現在どこに位置し
ているかを示すデータ・レコードを更新する。ま
た、コンピユータは現在の得点についてのデー
タ・レコードも更新する。更に、コンピユータ
は、衝突に関与する1つの物体または全ての物体
が他の物体に近づきすぎた時に、データベース中
の物体の間の衝突がいつ起るかの決定も行う。
表示はビデオカラーモニタで行われるから、電
子ビームが描く各走査線の速さにより、特定の走
査線上にどの物体が現われるかを決定する全ての
処理を完了せねばならない時間的限界が基本的に
設定されることになる。各走査線は非常に短い時
間で描かれるから、物体の処理を所与の時間内に
十分終了できるようにするために、データベース
内の物体についての処理を高効率で行う必要があ
る。
物体についての処理をするために利用できる時
間は限られるから、動く物体と動かない物体は二
次元衝突検出アレイの一部としてアレイRAM3
2に格納される。その衝突検出アレイの各場所は
表示上の対応する領域へ物理的にマツプされる。
このデータ編成により、コンピユータ20により
行われる衝突決定は、動く方向に最も近い物体を
点検するだけで、一層便利なやり方で行える。
どの物体がウインドウ内で見えるかの系定の処
理速度を高くするために、データベース中の動く
物体は結合(リンク)されたリストとして編成さ
れる。リンク編成は、プレーフイールド全体がラ
スタ走査で表示されるならば、物体が現われる順
序を近似するようにコンピユータ20によつてセ
ツトされる。物体が動くと、コンピユータ20は
リスト上でリンクを変え、物体の物理的出現順序
に再び一致するように、リストの順序を調整す
る。衝突処理のために必要な物理的なマツピング
を維持するために、動いた物体のデータ・レコー
ドも、プレーフイールド上のウインドウ内の現在
の場所にマツプしているアレイ場所に一致する
RAM内のアドレスへ動かさねばならない。
ビデオ表示器26が必要とする既知の同期信号
が、ピクセルクロツク46によりドライブされる
同期発生器28により発生される。それらの同期
信号は、装置をクロツクするために用いられる基
本的なタイミング信号を発生する基礎としても機
能する。それらのクロツク信号のうちのいくつか
が状態マシン30へ結合され、他の状態信号とと
もに、状態マシンを実現するROMのためのアド
レス信号として用いられる。その状態マシンは、
RAMからのデータのアドレス選択および保持の
ために、装置内の他の回路を制御する制御信号を
発生するように機能する。
動く物体と動かない物体のためのデータベー
ス・レコードはアレイRAM32に格納される。
このRAM32へのバス34のアドレス入力
(ADR)はマルチプレクサ36により制御され
る。このマルチプレクサの1つの出力端子がアレ
イRAM32のアドレス入力ポートへ結合され、
いくつかの入力が種々のアドレスソースへ結合さ
れる。状態マシンは選択信号を発生して、装置の
時分割多重化における7つの基本的な時間スロツ
トの各時間スロツト中に、バス34への出力とし
ていくつかの入力のうちの1つをマルチプレクサ
に選択させる。
状態マシン30の状態図を説明する時に、状態
マシンにより設定される7つの基本的な時間スロ
ツトについて説明することにする。基本的には、
これらの時間スロツトによりコンピユータ20は
データベースの構築または書換えのためにデータ
ベースRAMをアクセスできる。別の時間スロツ
ト中に、各プレーヤーの得点のような英数字情
報、またはゲームについての他の情報を、スクリ
ーン上の指定された場所に表示できる。別の時間
スロツト中に、結合(リンク)されたリスト上の
次の物体が見えるものかどうかを判定するため
に、次の動く物体に対するリンクアドレスをロー
ドさせて、「ヒツト」処理を縦続させることがで
きるようにする。別の時間スロツト中に、現在の
動く物体の垂直位置につき「yヒツト」を調べる
ことができる。更に別の時間スロツト中に、結合
(リンク)されたリスト上の正しい位置を指示す
ることにより現在のウインドウ位置に対する処理
を開始させるようにして、どの物体が見えるかを
決定するスリツプポインタ・アドレスをロードで
きる。
各時間スロツト中にRAMから出るデータは一
時的なものであるから、データを一時的に格納す
るために一連のラツチが設けられる。ラツチ38
は、現在RAM32から検索されている動く物体
のレコードの垂直位置データを格納する。状態マ
シンがスリツプアドレスを選択させたり、リンク
アドレスをマルチプレクサ36により選択させる
時に、その動く物体は検索される。スリツプアド
レスは、線42上のウインドウ垂直アドレスにつ
ながれる、線40上の英数字アドレス入力からの
数ビツトで、構成される。リンクアドレスは線4
4上のアドレスである。
スリツプは、現在のウインドウ場所においてど
れが見えるかを決定する、結合(リンク)された
リスト上の動く物体の処理時間を、短縮するため
に用いられる。結合(リンク)されたリストは全
プレーフイールド上の全ての動く物体を含むが、
ウインドウは全プレーフイールドの一部を表示す
るだけであるから、処理を開始するために、yビ
ツト処理を結合(リンク)されているリスト上の
適切な点へ向けるためにスリツプは用いられる。
これにより、ウインドウの上方で非常に離れてい
るためにウインドウ内で見える可能性がないよう
な物体に対するデータ・レコードのyヒツト処理
を阻止できる。この実施例では8本の走査線ごと
に1つのスリツプがある。各スリツプは、8本の
走査線の群のそれぞれに現われる結合(リンク)
されたリスト上の最初の物体を指す。
この実施例では64個のスリツプがあり、それらの
スリツプは、アレイRAM32内の二次元英数字
アレイの使用されていない部分に格納される。線
40上の英数字アドレスの適切なビツトで線42
上のウインドウ垂直アドレスを選択し、それらを
アドレス・バス34へ与えることにより、スリツ
プ表内のスリツプがアクセスされる。それから、
そのスリツプは現われ、次の動く物体へのリンク
のラツチ48に保持される。このプロセスは走査
線当り1回起る。そのプロセスは、線50上の信
号により知らされるように、新しい走査線の開始
が間もなくであることを示す状態を線50と52
上の選択信号がとり、状態マシンが次の動く物体
へのリンクを得る用意ができていることを線52
上の信号が示す時に、行わせられる。
状態マシン30が動く物体の水平位置データを
アクセスさせる時に、そのデータを格納するため
にラツチ54が用いられる。各動く物体のレコー
ドは4語で構成される。それらの語の全てをデー
タバス56上に同時に置くことはできず、線44
上のアドレスは動く物体のレコードのインデツク
スである。状態マシンにより希望されたデータが
他の語のうちの1つの語にあると、状態マシンは
動く物体の制御バス58(MO CTL)上のビツ
トパターンを変えて希望の語を選択する。全ての
ラツチのクロツク入力端子またはロード入力端子
のうちの適切な1つに、データバス56にその時
存在しているデータをロードできるようにするよ
うに、状態マシンはそれらラツチのクロツク入力
端子またはロード入力端子へも結合される。それ
らは、リンクアドレス(またはスリツプ)により
指示された動く物体についての水平位置データ
を、データバス56上に出現させてラツチ54に
格納させ、状態マシンがその水平位置データをア
クセスすることを許す構造である。
グラフイツクデータのROM内のアドレス、ま
たは動く物体の実際のピクセルパターンを備える
動く物体のレコードの部分がラツチ60に格納さ
れる。
処理されている特定の走査線のプレーフイール
ド上の位置が追跡され、ウインドウ垂直カウンタ
62に格納される。そのカウンタには、RAM内
の特定の格納場所からウインドウの1番上のプレ
ーフイールド相対走査線数がロードされる。それ
はコンピユータ20により現在の垂直場所に常に
更新される。その走査線数は、フレームの開始毎
に、同期発生器または状態マシンからの信号(示
していない)により、カウンタ62にロードされ
る。その走査線数から、カウンタ62は、同期発
生器28からのHSYNC信号が生ずるたびに、カ
ウントアツプする。カウンタ62にカウントさせ
るために用いられる実際の信号は、線が表示器上
に描かれるたびにその後でフライバツクさせる実
際の水平同期信号ではなく、それから取出された
デジタル信号である。
ウインドウ内の現在の電子ビーム位置に対する
グラフイツクROM内のプレーフイールド・スタ
ンプのアドレスが、マルチプレクサ36に線42
上のウインドウ垂直アドレスと、線64上のウイ
ンドウ水平アドレスとを選択させることにより、
状態マシンによつてアクセスさせる。それら2本
の線上のアドレスビツトにより、プレーフイール
ド上の現在の電子ビーム位置が、プレーフイール
ド上の基準点からのオフセツトとして定められ
る。このアドレスが選択されると、プレーフイー
ルド画像スタンプ・アドレスがアレイRAM32
から出力されて、プレーフイールド画像ラツチ6
4aに格納される。プレーフイールド画像アドレ
スは、表示上の対応する領域にマツプするように
アレイ場所が編成されているアレイRAM32内
の二次元アレイに格納される。
プレーフイールド・スタンプおよび動く物体ス
タンプのためのグラフイツクデータがグラフイツ
クスROM64bに格納される。動く物体スタン
プまたはプレーフイールド・スタンプのアドレス
が入力としてバス72へ与えられると、グラフイ
ツクROMはグラフイツクスデータをグラフイツ
クデータ出力バス74へ与える。そのグラフイツ
クデータは、状態マシンの制御の下に、マルチプ
レクサ76を通つて送られる。データは、どの種
類のグラフイツクスデータが出力されているかに
応じて、プレーフイールド・シフトレジスタ78
または動く物体シフトレジスタ80へ送られる。
それらのシフトレジスタは、処理されている特定
の走査線を描くのに用いるために、グラフイツク
データを直列に桁送りして出力させる。プレーフ
イールド・シフトレジスタ78の場合には、デー
タはデジタルビデオ情報として、線82を介して
色優先権およびマツピング回路84へ桁送りされ
る。その回路84は線82,86,88上のデジ
タル直列情報を入力として受ける。線86上のデ
ータはラインバツフア回路90内のラインバツフ
アAまたはBから来る。線86上のデジタルデー
タは、動く物体シフトレジスタ80により線92
を介してラインバツフア回路90へ桁送りされた
動く物体のデータである。この動作は、ラインバ
ツフアAが表示されている時にはラインバツフア
Bに対して行われ、ラインバツフアBが表示され
ている時はラインバツフアAに対して行われる。
線86上のデータは現在表示されている線のため
の動く物体のデータである。桁送りは、走査線を
横切る電子ビームの動きと同期するように、同期
発生器28からのSHIFT信号の制御の下に行わ
れる。線88上のデジタルビデオデータが、表示
すべき英数字情報に対するピクセルパターンを伝
える。
優先権およびマツピング回路84においては、
入来した直列デジタルビデオデータに優先権が与
えられ、ウインドウ中で見える各特定のプレーフ
イールド場所に対してどの情報が表示されるかに
ついての判断が下される。任意の1つのプレーフ
イールド場所に対して、表示すべきいくつかの項
目がある。たとえば、英数字情報、動く物体およ
びプレーフイールドの壁をその場所に表示するた
めに、優先権およびマツピング回路84に独立し
て桁送りされる。それらの項目の全てがここに表
示できるわけではないから、どの項目を表示し、
正しいデジタルビデオ情報をデジタル−アナログ
変換・走査および表示回路26へ送るかを優先権
およびマツピング回路84は決定する。回路84
は、プレーフイールドに対するデータ・レコード
と動く物体データ・レコード中の色パレツト情報
を基にして、色情報をデータ流へ加えることも行
う。パレツトデータは動く物体とプレーフイール
ドのデータレコードの1つの語の一部に格納され
る。色優先権およびマツピング回路84の設計は
ゲームに依存するものであるが、本発明にとつて
は重要でなく、かつ知られているものであるから
詳しい説明は省く。
スクリーンに表示すべき英数字情報はアレイ
RAM32内の英数字アレイに格納される。この
情報はコンピユータ20により保護され、線40
上の英数字アドレスの選択によりアクセスされ
る。その英数字アドレスは、ウインドウ内の基準
点、通常は左上隅、からの現在の電子ビーム位置
のオフセツトとして、ウインドウ相対項で表され
る。このアドレスが選択されると、その特定のウ
インドウ位置に対する英数字グラフイツク情報が
アレイRAM32からアクセスされ、英数字ラツ
チ66に保持される。このアドレスは線68を介
して英数字ROM70へ出力される。その英数字
ROM70には実際のグラフイツクスデータが格
納される。そうすると、アクセスされた特定の英
数字スタンプに対する実際のピクセルパターンを
並列フオーマツトで英数字シフトレジスタ94に
桁送りして入力させ、スクリーンを横切る電子ビ
ームの動きと同期して線88へ桁送りにより出力
させる。
動く物体の直列のビデオデータをラインバツフ
ア90へ桁送りするために供給されるアドレス
は、プレーフイールド・オフセツト水平一致回路
98により供給される。この回路はバス100上
の動く物体水平位置(MO.H.POS.)データと、
バス102上のウインドウの縁部のx位置とを入
力として受ける。バス102上の情報はウインド
ウ水平カウンタ/ラツチ104により供給され
る。このウインドウ水平カウンタ/ラツチはウイ
ンドウの縁部の現在のx位置をラツチに格納し、
線106からピクセルクロツク信号を受けた時に
ウインドウの縁部からのピクセル位置をカウント
アツプする。ウインドウの縁部の現在のx位置
が、コンピユータ20のデータバス106とアド
レスバス108を介して回路104のラツチ部に
格納される。データが、コンピユータのアドレス
バスによりイネイブルされたCPUバツフア11
0を介して回路104のx場所ラツチ(X
LOC)にロードされる。ウインドウ水平カウン
タ/ラツチ104のカウンタ部は、各走査線の終
りに、プレーフイールド相対項で表されたこのx
場所にプリセツトする。このプリセツト機能、た
とえば、HSYNC信号を基にして、または走査線
の終りに達したことを示す所定のカウントに達し
たことを基にしてプリセツト信号を実現するため
に任意の適当な回路を使用できる。
プレーフイールド・オフセツト水平一致(マツ
チ)回路98は、動く物体の水平寸法についての
データも受ける。水平位置データから回路98は
水平一致(マツチ)信号すなわち×セツト信号
HMATCHを発生し、その信号は状態マシンへ
送られる。回路98は水平寸法データと水平位置
データも用いてEND信号を発生する。このEND
信号は状態マシン30へ送られて、特定の走査線
上の動く物体のスタンプのアレイ内の最後の水平
スタンプ・グラフイツクデータがラインバツフア
90へ桁送りされる時を指示する。このEND信
号は、バツクグラウンド状態からフオアグラウン
ド状態を再び入れることが許されることを状態マ
シンに示す。END信号は、結合(リンク)され
ているリスト上の他の動く物体に対するデータ・
レコードのアクセスと処理を継続すること、およ
びピクセルデータをラインバツフアにロードする
ためにグラフイツクスROM64bを使用するこ
とが許されていることも意味する。というのは、
グラフイツクスROM64bは、以前の動く物体
のためのグラフイツクスデータのアクセスにおい
てもはや提携させられていないからである。ウイ
ンドウの縁部と動く物体との水葡位置データは、
ラインバツフア90に格納されている。現在の走
査線で示すべき動く物体のスクリーン相対位置を
発生するためにも用いられる。このスクリーン相
対位置はアドレスバス112を介してラインバツ
フアへ送られ、それのローデイングを制御する。
この回路98の詳細については後で説明する。
アレイRAM32内の任意の情報をコンピユー
タ20が更新することを望むと、そのRAMに書
込むべきデータを格納するためにデータバス10
6、アドレスバス108、CPUバツフア110
とCPUラツチ112aが用いられる。ラツチ1
12aは入力に対してロードされ、格納されてい
るデータをデータバス56へ出力するために、ア
レイRAM32をCPUがアクセスするために用い
られる時間スロツト中に、状態マシンからの制御
信号によつてイネイブルされる。
垂直一致およびスタンプオブセツト・アドレス
計算回路114が動く物体の垂直位置と寸法のデ
ータを処理して、ある特定の動く物体を表示する
かどうかを決定する。そのデータは現在のプレー
フイールド表示線の垂直位置に関するものであ
る。この回路114は、現在の走査線があるスタ
ンプの動く物体のアレイ内の最初のスタンプのス
タンプ数の計算も行う。第2図を参照するとこの
最後の叙述が明確になる。第2図(正確な縮尺で
ない)はプレーフイールド118内の表示ウイン
ドウの典型的な位置と、ビデオグラフイツクデー
タの1つのスタンプの典型的な寸法と、典型的な
6×6スタンプ動く物体120とを示す(この実
施例における動く物体の最大寸法は8×8のスタ
ンプアレイである)。動く物体のxとyの場所は、
プレーフイールドの左下隅にある基準点123に
対するスタンプの動く物体のアレイ中のスタンプ
の1番下(最も正のy座標)の行内の最初のスタ
ンプのプレーフイールド相対位置で表される。動
く物体120の場合には、スタンプ37の位置
は、プレーフイールド基準点123からのy軸上
の走査線の数として、およびプレーフイールド基
準点122または123からのx軸に沿う右への
ピクセルの数としてアレイRAMに格納される。
y軸に沿うプレーフイールド寸法は走査線の数で
表すことができ、または走査線に変換できる他の
ある単位で表すことができる。プレーフイールド
の1番上における線1および2のようなプレーフ
イールド走査線はビデオ表示走査線ではなくて、
ウインドウ116の外側の全ての領域が見えない
から、仮想のプレーフイールド走査線である。し
かし、ウインドウの境界内の走査線は見える。
ウインドウ内の各走査線は、それのプレーフイ
ールド相対位置により、またはそれのスクリーン
相対位置により識別できる。この実施例において
は、現在の走査線のy位置は、基準点122から
下側の走査線の数で表される。しかし、現在の走
査線は、ウインドウの基準点124から下側の走
査線の数で表される。
再び第1図を参照して、回路114の目的は、
スタンプアドレスから始まる結合(リンク)され
ているリスト上の全ての動く物体のy位置を、現
在走査されている走査線のy位置と比較して、動
く物体の任意の部分がその走査線上に現われるか
どうかを決定することである。第3図は、アレイ
RAM32内の二次元衝突検出アレイ内の場所
を、プレーフイールド118上の対応する場所へ
のマツピングする線図である。この図にはウイン
ドウに対する2種類の位置が示されている。衝突
検出アレイ中のアレイ場所が、左上隅にxとyの
ボツクス番号を有するボツクスとして示されてい
る。結合(リンク)されているリスト上の動く物
体が、リスト上の物体の位置を与える数を有する
ボツクスとして示されている。動く物体の間のリ
ングがボツクスを連結する矢印として示されてい
る。壁のようなプレーフイールド物体が、PF1
のような記号を付けたボツクスとして示されてい
る。
ウインドウ位置の内側または部分的に内側にあ
る動く物体のみが見えるから、回路114のジヨ
ブは、現在のウインドウ場所のy距離内にあるy
位置をどの動く物体が有するかを判定することで
ある。このプロセスは、回路114が、現在のス
リツプにより指されている動く物体から始つて、
結合(リンク)されているリスト上の動く物体の
y位置を調べることだけであるという事実によ
り、スピードアツプされる。スリツプの機能が第
3図に示されている。ウインドウ位置1に対して
結合(リンク)されたリストを処理するために、
状態マシン30は、走査線9の始めにおいて、リ
ンク・レジスタ48にスリツプ2を保持させる。
したがつて、動く物体5および以後の動く物体に
対するデータレードのみが、yヒツト処理のため
に回路114へ順次与えられる。
このyヒツト処理は、ラツチ38からのバス1
28上の動く物体y位置(プレーフイールドに対
して表されている)と、処理されている現在のウ
インドウ走査線(ラツチ62からバス130上に
プレーフイールドに対して表されている)とを比
較することにより行われる。xヒツトが見つけら
れると、状態マシン30の状態信号入力に結合さ
れている線138上の信号VMATCHは真にさ
せられる。
回路114は、現在処理されている与えられた
表示線をアドレスするために、動く物体を構成し
ているスタンプのアレイ中のスタンプ数の計算も
行う。これを決定するために、回路114は現在
の走査線数を動く物体の垂直位置および動く物体
の水平寸法と比較する。再び第2図を参照して、
現在の表示線が線250であるものとすると、回
路114は動く物体120を処理し、yヒツトを
見つける。というのは、スタンプ1のy位置がウ
インドウ116のy距離以内にあるからである。
yヒツトを見つけた後で、ラツチ38からのバス
132上の6スタンプという水平寸法データを用
いて、動く物体120の最初のスタンプ数がその
種の動く物体ではスタンプ数7であることを計算
する。それからスタンプ7のアドレスが計算され
てアドレスバス134と、状態マシンにより制御
されているマルチプレクサ135を介してアドレ
ス入力バス72へ与えられることにより、適切な
グラフイツクデータをアクセスさせる。別の実施
例においては、マルチプレクサ136を用いる代
りに、回路114と98の出力を同じバスに結合
される三状態出力とすることができ、それらの回
路のうちのただ1つの回路または別の回路が非三
状態にあつて、デ・フアクト(de facto)マルチ
プレクサを実現するように、状態マシンが三次態
制御信号を制御する。
マルチプレクサ136への別の入力は、ラツチ
64aに格納されて、バス140を介してマルチ
プレクサの入力端子へ結合されるプレーフイール
ド物体画像フイールドのアドレスである。マルチ
プレクサ136は状態マシン30により制御され
て、適切なアドレスを適切な時刻にグラフイツク
スROM64bへ結合して、プレーフイールドお
よび動く物体グラフイツクスデータを同じROM
からアクセスできるようにする。
次に、垂直一致およびスタンプ・オフセツト計
算回路114の詳細が示されている第4A図およ
び第4B図(これらをまとめて第4図という)を
参照する。yヒツトがあるか否かを判定するため
の最初のステツプは、動く物体の(プレーフイー
ルドに対する)y位置を、現在処理されている走
査線の(プレーフイールドに対する)y位置と比
較することである。これを行う1つの方法は、2
の補数算術を用い、一方または他方が2の補数の
形で表されている2つのy位置を加え合わせるこ
とである。
このやり方を実現するために、加算器140,
148とアンドゲート152が用いられる。加算
器140は、第2図の基準点123から上(負の
y方向)の走査線の数で表されている動く物体の
y位置を、第2図の基準点122から下の走査線
の数で表されている現在の走査線のy位置に加え
る。この方法では、加算器140の桁上げ入力端
子に結合されている線160上の信号VBLANK
が論理1であるから、動く物体のy位置がこのよ
うにして2の補数の書式で表され、それにより動
く物体のy位置の反転された表現に1を加える。
これにより、2の複数の書式が生ずる。動く物体
のy位置は、基準点123に対する動く物体のス
タンプアレイ中の1番下の走査線のオフセツトで
ある。コンピユータは現在のウインドウの1番上
の走査線のy位置をアレイRAMの割当てられた
場所に格納し、各走査線が終らせられた時にカウ
ンタ62がそれを増加する。その結果は、バス1
30上の基準点122からのプレーフイールド相
対オフセツトとしての現在の走査線位置である。
yヒツトを有するために満さなければならない
式は次の通りである。
(1) SPOS−VPOSは 0より小さいか、0に等しい。
(2) 〔SPOS−VPOS〕+(〔VSIZE+1〕×8)は 0より大きい。
ここに、SPOSはプレーフイールドの1番上の第
1の走査線からのオフセツトとして表されるプレ
ーフイールドに対する現在の走査線位置である。
VPOSはプレーフイールド上の1番上の走査線
からのオフセツトとして表された動く物体の垂直
位置であり、動く物体のスタンプアレイ上の基準
点は、スタンプアレイ中のスタンプの1番下の行
中の1番下の線(最も正のy座標)、および最も
左側のピクセル(最小のx座標)である(基準点
122を原点においた、第2図に示す装置を用い
て)。
VSIZEは行の数で表された物体の垂直寸法で
あつて、0は1の垂直寸法を表し、7は8の垂直
寸法を表す。
加算器140は9ビツト加算器であつて、(1)式
を実現する。この加算器はVPOSの2の補数を
SPOSに加え、6ビツトバス142上に2つの数
の間の差を表すデータを出力し、上位3ビツトす
なわちビツト6,7,8が線144により表され
る。それらの上位3ビツトは線144により表さ
れ、動く物体の寸法VSIZEが7(スタンプアレイ
中で垂直方向に8行)またはそれより小さいとす
ると、(1)式と(2)式が共に満された時に真である
(論理1)。バス142は2つの副バスで構成され
る。第1の副バス158は中間の3ビツト(ビツ
ト3,4,5)を加算器148の入力端子へ与
え、第2の副バス160ははビツト0,1,2を
ラツチ156へ伝える。副バス158上のデータ
は、現在の走査線からの動く物体の1番下のスタ
ンプの行内のオフセツトを表す。
y位置が調べられる現在の動く物体が8×8ス
タンプでないとすると、物体の垂直寸法を調べ
て、物体の垂直寸法に対して式(1)を(2)が満される
かどうかを判定する。直観的には、回路114が
判定しようとしている事実は、動く物体の1番下
が現在の走査線より低いかどうかであり、もし低
ければその動く物体は、現在の走査線がそれを貫
通するように十分に高い動く物体である。加算器
148は質問の第2の半分に回答して、調べうれ
ている動く物体の寸法に対して(2)式が満されてい
るかどうかを判定する。項〔VSIZE+1〕×8
は、加算器のB入力端子と、垂直一致の判定が行
われている時には論理1に常に結合されている加
算器の桁上げ入力端子とに与えられるバス132
上の行内の動く物体の垂直寸法情報により満され
る。これは垂直寸法情報に1を加える。8の乗算
は、B入力端子におけるデータをA入力端子にお
けるデータに加える。そうすると、A入力端子が
ビツト3,4,5に接続されているために8が乗
ぜられる、すなわち、23=8だけ上位へ桁送りさ
れることなる。この桁送りにより8が乗ぜられた
ことになる。すなわち、副バス158におけるデ
ータはSPOS−VPOS走査線を8で除して動く物
体中の行に等しくなる(物体の1番下から数え
る)。動く物体が8×8スタンプであれば、その
行に現在の走査線が存在する。
加算器148による加算の結果は現在の走査線
から動く物体の1番上までのオフセツトであり、
桁上げがセツトされる。したがつて、線162が
論理1で、線144により表されている3ビツト
が論理1であるとすると、1ヒツトが存在し、
ANDゲート152はVMATCH信号を真にして、
現在の走査線が現在の動く物体を通ること、およ
びxヒツトも存在すれば画像データを検索すべき
ことを知らせる。
上記の計算の例として第2図について考えるこ
とにする。現在の走査線が250で、垂直位置が調
べられている動く物体が動く物体146であり、
y位置が20であるとすると、バス142における
y位置の差は230走査線であり、(1)式は満されな
い。その理由は、結果が正で、yヒツト状態が知
らされないからである。副バス158は、230を
8で除した数を含む。しかし、y位置がバス12
8上にある動く物体が動く物体120であるとす
ると、バス128上のy位置は294の2の複数表
現であり、現在の走査線は250である。したがつ
て、バス142におけるy位置SPOS−VPOSは
−44走査線であつて(1)式は満され、動く物体が8
×8スタンプの物体であれば(2)式が満される。動
く物体120は8×8スタンプではないから、実
際のyヒツトがあるかどうかの判定を行うために
は(2)式からの結果は困難である。この例において
は、(2)式の結果は−44+〔6+1〕×8=12であ
り、(2)式は満されて、yヒツトが生じたことを示
す。走査線250は動く物体中のスタンプ7〜1
2内の1番上の走査線から下へ4番目の走査線で
あるから、(2)式の結果は動く物体中の最初の走査
線から下への現在の走査線のオフセツトである、
すなわち、走査線238である。加算器148に
よる加算の結果は正であるから、線162におけ
る実行は真であり、アンドゲート152は
YMATCHを真にする。
回路114により実行される次の機能は、現在
の走査線が存在する行中の最初のスタンプの計算
である。第2図において、現在の走査線250を
含んでいる行中の最初のスタンプのスタンプ番号
はスタンプ番号7である。このプロセスはROM
164に格納されている探索表により開始され
る。この探索表の入力はバス150上のデータ
(すなわち、動く物体の1番上からの現在の走査
線の行オフセツト)、およびバス132上の物体
の水平寸法とである。線166におけるMO.
RERL信号は1ビツトフイールドであつて、動く
物体のy位置データを記録するために用いられる
語の使用されていない部分に格納される。それ
は、動く物体は元の動く物体の鏡像でなければな
らないことを示す。
探索表164は上記の情報を全て用いてそれに
格納されているレコードをアクセスする。それ
は、第1の行中のスタンプ1から、現在の走査線
が含まれている行中の第1のスタンプまでのスタ
ンプ・オフセツトである。このスタンプ・オフセ
ツトデータは、動く物体120の場合には、走査
線250が含まれている行中の第1のスタンプが
スタンプ番号7であり、バス168を介してカウ
ンタ170のプリセツト入力端子へ出力されるこ
とを示す。そのカウンタ170は信号MFLPを
それのアツプ/ダウン入力端子に受ける。その信
号は、鏡像の動く物体を表示できるように、スタ
ンプのグラフイツクデータがラインバツフアへ全
てロードされるたびに、カウンタがカウントアツ
プするか、カウントダウンするかを決定する。同
期発生器28により4H信号が発生される。その
信号は8ピクセルごとに1回、すなわち、各スタ
ンプごとに1回発生する。カウンタ170のロー
ド入力端子に結合された新しいMO.信号が、新
しい動く物体が処理されてyヒツトが生ずるたび
に、バス168上のデータをカウンタロードさせ
る。
カウンタ170の出力はバス172へ与えられ
る。走査が動く物体を横切つて進められるから、
その出力は現在のスタンプ・オフセツトである。
このデータは、バス176上の動く物体の画像デ
ータの低バイトに加算器174により加え合わさ
れる。前記画像データは第1図のラツチ60に格
納されており、アレイRAM中にyヒツトを生じ
させる、動く物体のデータ・レコードからのyヒ
ツト時のみアクセスされる。このデータは、yヒ
ツトが線172上の動く物体スタンプ・オフセツ
トデータに加えられた時に、yヒツトを行わせた
動く物体の適切なスタンプに対するピクセルパタ
ーンのグラフイツクスROM内の実際のアドレス
に関係づけられる。その結果として得られたデー
タがバス180に出力され、ラツチ178に集め
られる。バス176上の動く物体の高位バイトデ
ータが上位ビツト位置に置かれ、バス182上の
動く物体の線データが下位ビツト物体に置かれ
る。バス182上のデータは、スタンプ・オセツ
トデータにより現在指示されているスタンプ中の
実際の走査線である。バツフア178からの出力
データは、現在のスタンプ中の現在の走査線上の
8個のピクセルに対する実際のピクセルデータの
グラフイツクスROM中の実際のアドレスであ
る。このアドレスデータはバス134とマルチプ
レクサ136を介してグラフイツクスROM64
bへ結合される(第1図)。
yヒツトとなる動く物体がウインドウ内で見え
るかどうか、およびその物体が見えるのであれば
ラインバツフアのどこにそれについての情報を書
込むかを判定するために、その動く物体の水平位
置も分析せねばならない。この分析を行う装置を
第4A図に示す。その図は第1図に示されている
プレーフイールド・オフセツト/水平一致回路9
8の詳しいブロツク図である。xヒツトについて
の検査が加算器184により開始される。その加
算器184は、プレーフイールド相対項で表され
ている動く物体の水平位置をバス100から受け
る。プレーフイールドの相対的な1の複数項で表
されているウインドウの縁部の現在のx位置が、
バス102を介して加算器184のB入力端子へ
与えられる。この実施例においては、ウインドウ
位置の縁部のプレーフイールド相対位置が1の複
数の形でコンピユータ20により表わされる。そ
のコンピユータ20は標準的に符号をつけられ
た、2進のプレーフイールドの相対的な形で、ウ
インドウのX位置を回路104のラツチ部
(XLOC)に書込む。ラツチ部の出力はそれから
反転される。ラツチからバス102へ出力された
補数出力データは加算器184のB入力端子へ入
力され、そこで、論理1にセツトされている加算
器の桁上げ入力のために2の補数に変えられる
(1の補数に1を加えて2の補数に変換する)。加
算器184のA,B入力端子におけるデータの加
算は、実際には、動く物体の水平位置とウインド
ウの現在の位置との間の減算である。その理由
は、ウインドウ位置が2の補数の形だからであ
る。
加算器184による加算によつて、動く物体の
左側縁部のスクリーン相対位置が、2スタンプ幅
を表す単位で表されてバス185に現われる。そ
のような単位で表される理由は、加算器184の
出力のビツト4〜8だけがバス185のために用
いられ、ビツト0〜8がバス191のために用い
られるからである。バス191上のデータは、ウ
インドウの縁部に対して表された、現在の動く物
体の現在の走査線上の最も左側のピクセルのスク
リーン相対位置である。バス185にはビツト4
〜8だけが現われるから、その効果は16ピクセル
すなわち2スタンプで除したことになる。
バス185上のそのデータは、動く物体の左側
縁部が現在のウインドウの左側縁部より左側にな
るとすれば、負の数である。バス185上のデー
タはPROM189にに対するアドレスの一部と
して入力される。PROM189のアドレスの他
の部分は、ラツチ38(第1図)からのバス上の
動く物体の水平寸法である。PROM189は、
動く物体の左側縁部のプレーフイールド相対位置
をHMATCH信号に変換し、右へ延びているス
タンプで表されている動く物体の水平寸法を
MOD H SIZE信号に変換するデータを含む。
PROM189のデータ語は、動く物体の任意の
部分がウインドウ内に含まれるような水平寸法で
あると、線195上のHMATCH信号が論理1
にセツトされるようなものである。動く物体の左
側縁部が現在のウインドウの左側縁部の左側にあ
るものとすると、バス197上の信号は、スタン
プの数で表される動く物体の全水平方向拡がりで
ある。しかし、動く物体の左側縁部がウインドウ
内に含まれるが、動く物体の右側縁部がウインド
ウの右側縁部の右側にあるものとすると、バス1
97上のデータは、ウインドウ内で完全に見え、
または部分的に見えるスタンプの数である。
ダウンカウンタ201が、バス197上のデー
タにより表されているスタンプの数からカウント
ダウンする。そのダウンカウンタ201のカウン
ト入力端子には同期発生器28から信号4HD3が
与えられる。その信号は8ピクセル時間ごとにカ
ウントを減少させる。信号NEWMOが高レベル
になるたびにバス197上のデータがロードされ
る。これは、状態マシンがフオアグラウンド処理
状態にあるたびに起り、xヒツトとyヒツトを有
する物体からのグラフイツクデータのローデイン
グが開始される。カウンタの出力が零でない限り
は、ダウンカウンタはEND信号を論理0として
線203に出力し、状態マシンがバツクグラウン
ド・ルツクアヘツド処理状態に入る。カウントが
0に達すると、END信号は論理1となり、状態
マシンは時間スロツト3の間にフオアグラウン
ド・サイクルに再び入る。
次に、同期状態マシン30(第1図)のフオア
グラウンド状態の状態図が示されている第5図を
参照する。第6図は状態マシン30のバツクグラ
ウンド状態を示し、この状態はルツクアヘツドモ
ードにおいて用いられる。状態マシン30は、7
個の基本的な時間スロツトの間に第5図と第6図
に示されている状態を循環し、割当てられた時間
スロツト中に、マルチプレクサをそれの全ての状
態を循環させて、アドレスデータを伝える第1図
に示されている各バスをアレイRAMのアドレス
ボートに接続させるのに必要な制御信号を発生す
ることにより、第1図に示す装置の動作を制御す
る。状態マシンは、アレイRAMのアドレスポー
トに与えられたアドレスデータを応答してアレイ
RAMによりデータバス56に置かれたデータを
適切なラツチにロードさせる適切な制御信号も発
生する。各状態円の中の名称は、その時間スロツ
ト中にどのアドレスが選択されるか、およびその
時間スロツト中に選択されたアドレスに応答して
アレイRAMから出力されるデータをどのラツチ
がロードされるかを示すものである。
表示すべき(すなわち、yヒツトとxヒツトが
見出された)動く物体が1スタンプ幅より広い時
に、バツクグラウンド処理サイクルが用いられ
る。他の全ての場合には、フオアグラウンド処理
サイクルが用いられる。状態マシンは同期発生器
28から3個のクロツク信号を受ける。同期発生
器28はピクセルクロツク46からバス192を
介して与えられたピクセルクロツク信号によりド
ライブされる。そのピクセルクロツク信号は、電
子ビームがラスタ線を横切つて走査する時にその
電子ビームにより各ピクセルが塗られるのに要す
る時間であるピクセル時間を区別することによ
り、ピクセルクロツクは装置のタイミングの最小
公分母をセツトする。同期発生器28はピクセル
時間をカウントし、D/A走査回路26内のビデ
オ表示走査回路が用いる水平同期信号と垂直同期
信号をバス194に生ずる。バス196上の水平
同期信号HSYNC(ビデオにより使用される実際
の水平同期信号ではなくて、それに関連する水平
同期信号)が各走査線の終りと次の走査線の初め
にマークを付ける。バス190上のタイミング信
号は、7個の基本的な時間スロツトのうち、状態
マシンが動作すべき時間スロツトを決定するため
の基本的なマーカー信号として状態マシンにより
使用される。ある時間スロツトは2つまたはそれ
以上の状態を有する。状態マシンが入る時間スロ
ツト中の特定の状態はいくつかの状態信号の論理
状態に依存する。それらの状態信号は、yヒツト
またはxヒツトがあるか否か、最後の動く物体に
おけるyヒツト信号またはxヒツト信号の状態が
処理されたか、およびHSYNC信号が真か否かの
ような事柄を示す。また、それらの状態信号は、
回路98内の水平スタンプ・アドレス計算回路
が、現在の走査線を含んでいるスタンプの行中の
グラフイツクスデータの最後のスタンプがライン
バツフアにロードされたことを示すかどうかも示
し(END)、かつ状態マシンが現在フオアグラウ
ンドまたはバツクグラウンド状態にあるかどうか
も示す(状態マシンの出力端子からのNEWNO
循還信号)。状態マシン30はPROMであり、バ
ス190上のそれらのクロツク信号と前記状態信
号をアドレス信号として用いる。全ての信号の連
結により形成されるアドレスの位置に格納されて
いるデータが出力され、バツフア(第1図には示
していない)に保持される。装置の種々のラツチ
に対してあるビツトがロード信号として割当てら
れ、それによつて、アレイRAMからアクセスさ
れているデータの種々のフイールドを状態マシン
が制御できるようにする。状態マシンPROMに
格納されているデータのあるビツトが選択ビツト
として割当てられ、バス52を介してマルチプレ
クサ36へ与えられる選択信号の状態を制御す
る。
時間スロツト0において状態188に入ること
によりフオアグラウンドサイクルが開始される。
新しい走査線が始つた時に状態188に入つたこ
とが状態信号により示されると、タイミング信号
および状態信号の組合わせによりアクセスされた
PROM内の記憶場所からのデータが、スリツプ
アドレスが選択されて、アレイRAMに与えられ
るようにして選択信号を制御する。それにより、
スリツプ表からのエントリイがリンクレジスタ4
8にロードさせられる。このスリツプは、現在の
走査線が通る結合(リンク)されたリスト上の第
1の動く物体に対するリンクである。状態マシン
はこの時にも(NEWMOを真にセツトすること
により)フオアグラウンド処理状態にされ、
MATCH状態信号の現在の状態が偽にセツトさ
れる。
時間スロツト1に至つたことをクロツク信号が
示すと、状態マシンは状態202に入る。
ここで、状態マシンは線44上でリンクアドレ
スを選択し、線58上のM.O.CTL信号をセツト
して、垂直位置を含んでいる語を選択する。その
ために、リンクにより指されている結合(リン
ク)されているリスト上の動く物体のデータ・レ
コードがアクセスさせられ、それの垂直位置デー
タがバス56に置かれる。状態202において
は、状態マシンは、水平一致信号HMATCHを
プリセツトして、時間スロツト3の到来時までに
yヒツト処理が終る場合に実際のyヒツトが見つ
けられる場合に、人工のxヒツトを発生させる信
号を発生する。その理由は下記の理由から明らか
になるであろう。
状態202においてHMATCHを人工的に真
にセツトするための回路が第4A図に示されてい
る。状態202においては、状態マシンは線21
0上の信号VERTDLを真にセツトする。これに
よりフリツプフロツプ212がプリセツトされ、
線195上のHMATCHの実際の状態とは無関
係に、線214上の信号CLK HMATCHが真に
される。
全てのタイミング信号と状態信号が各時間スロ
ツトにおいて状態マシンPROMのためのアドレ
スを定め、第5図および第6図を見るとわかるよ
うに、状態に個々に影響を及ぼすことはない。第
5図および第6図に示すものは単に記号的に示し
たものである。
状態204において、yヒツトについて垂直位
置データを調べるプロセスが始まる。状態204
に入り、適切な制御信号が発生されると、ラツチ
38にロードされた垂直位置データが、上記のよ
うに、ただちに回路114により独立に調べられ
る。回路114により行われる動作は時間スロツ
ト2の間に行われ、その結果を時間スロツト3の
間に入力として利用できる。
回路114がyヒツトを調べている間に、状態
マシンはアドレス線206を選択してアレイ
RAM32のアドレス線の制御をCPUに行わせ
る。そうすると、CPU20はアレイRAMを読出
し、または書込んで現在のウインドウ位置を更新
し、またはアレイRAM内の任意のアレイ中の任
意のデータの変更を行うことができる。
バツクグラウンドサイクルとフオアグラウンド
サイクルが互いにどのように関連するかを理解す
るために、新しい線に対してフオアグラウンドサ
イクルに最初に入つたと仮定する。状態188の
間に状態マシンに入力されたNXL信号により信
号MATCHが0にされており、MATCH信号は
時間スロツト2と3の間(または時間スロツト6
と7の間)に状態を変えるだけであるから、時間
スロツト3に達した時に状態マシンはフオアグラ
ウンドサイクルにおいて経路209を経て状態2
08に変る。この状態においては、線40上のア
ドレスが選択され、現在のピクセル位置のための
英数字情報がアレイRAM32内の英数字アレイ
から検索される。このポインタがラツチ66に保
持され、ウインドウの現在のピクセル位置に正し
い英数字情報を描くために回路70,94,8
4,26により用いられる。
時間スロツト4においては、状態マシンは
MATCH信号の状態に応じて状態218または
220に変化する。第4A図に示されている一致
(マツチ)回路からわかるように、垂直一致情報
と水平一致情報を必要とする状態において、
MATCH信号は、状態マシンにより発生された
信号VERTDLおよびHORDLによりクロツクさ
れる信号VMATCHとHMATCHのアンドをと
つたものであるのが一般的である。したがつて、
yヒツトとxヒツトがあつた時のみ信号
MATCHは真である。第1の動く物体のyヒツ
トが第1のサイクルにおいてフオアグラウンド状
態に処理されると仮定すると、状態マシンは態態
218に変化する。この状態においては、線44
上のリンクアドレスが選択され、MO.CTLビツ
トがセツトされて動く物体の画像ポインタ・フイ
ールドをアクセスする。そのデータはラツチ64
に保持される。
それから、状態マシンは時間スロツト5の時に
状態222になり、その時にリンクアドレスが再
び選択され、動く物体の水平位置フイールドをア
クセスするためにMO.CTLがセツトされる。こ
のデータはラツチ54に保持され、先に述べたよ
うに回路98により調べられる。この処理により
信号HMATCHが現在の動く物体の実際のxヒ
ツト状態にセツトされる。信号HOROLがこの状
態をフリツプフロツプ212内に保持し、第4A
図に示すアンドゲート224が線214,226
上の信号を再び評価し、信号MATCHを実際の
xヒツト状況およびyヒツト状況を表す論理状態
にセツトする。
時間スロツト6においては、状態228は
CPUがアレイRAMをアクセスすることを再び許
す。その間に、xビツトの存在を調べる水平一致
検査が同時に行われる。信号HORDLと
VERTDLによる信号HMATCHとVMATCHの
状態のサンプリングが時間スロツト6において行
われる。時間スロツト7における状態230はプ
レーフイールド(PF)・スタンプデータのアクセ
スのために用いられる状態である。この状態にお
いては、状態マシンは線42,64上のアドレス
を選択し、アレイRAM32内のプレーフイール
ド画像アレイからの適切なプレーフイールド画像
ポインタのアクセスを行わせる。このポインタは
グラフイツクスROM64内の適切なプレーフイ
ールドスタンプのアドレスに対するポインタであ
つて、プレーフイールド画像ラツチ64に保持さ
れる。このデータはマルチプレクサ136を介し
てグラフイツクスROM64のアドレスポートに
結合される。バス140上のアドレスを選択する
ために状態マシンその他の適当なロジツクがマル
チプレクサ136を制御する。
信号MATCHおよびMATCHDLの状態に応じ
て状態マシンは状態230から状態232または
状態188に変る。状態222において開始され
た処理によりxヒツトが見出されたとすると、信
号MATCHは1となる。仮定の場合には、状態
202における場合よりも6時間スロツトだけ早
く信号VMATCHが論理1へ状態を変えるから
信号MATCHDLは1であり、信号MATCHDL
はこの変化を時間スロツト3と4の間で拾う時間
を有する。信号MATCHDLが論理1である時
は、信号MATCHの状態とは無関係にフオアグ
ラウンドサイクル中の経路232がとられる。信
号MATCHが0であつて、信号MATCHDLの状
態とは無関係にビツト無しを示す時にも経路23
2はとられる。信号MATCHDLが1であつて、
現在の動く物体にビツトがあることを示し、フオ
アグラウンドの現在のサイクルの時間スロツト
3,4の前に生じた以前の動く物体にヒツトがな
い時のみ経路234がとられる。
ここで説明している例においては、処理された第
1の動く物体にxヒツトとyヒツトが見出され、
状態マシンは時間スロツト0において状態188
に入る。それにより第2の動く物体に対するリン
クが保持させられる。それから状態202への移
行が起き、第2の動く物体の垂直位置データが保
持される。その後で時間スロツト2の時に状態2
04に入り、CPUのアクセスが行われる。
第1の動く物体の幅が1スタンプ幅より広いと
仮定する(各スロツトが1ピクセル時間に等し
い)。このことは、時間スロツト2から時間スロ
ツト3への移行(信号MATCHに対して)およ
び時間スロツト3から時間スロツト4への移行
(信号MATCHDLに対して)がまだ起きていな
いから、信号ENDは0、信号MATCHと
MATCHDLは依然として論理1である。そのた
めに、状態マシンはフオアグラウンドサイクルに
おける処理が停止させられ、バツクグラウンドサ
イクルに入れられる。その理由は、第5図に示す
状態に対してのみ経路209がとられるからであ
る。
これで状態マシンはルツクアヘツドモードに入
り、第1の動く物体からのグラフイツクデータが
ラインバツフアにロードされる。第6図を参照し
て、実行されるバツクグラウンドモードに最初に
入る状態は状態238である。その状態において
は、現在のピクセルすなわち電子ビーム位置に表
示される英数字情報に対するグラフイツクデータ
のためのポインタがアクセスされ、保持される。
それから、信号MATCHの状態に応じて状態マ
シンは状態240または242へ移行する。フオ
アグラウンドサイクルの状態202の時にyヒツ
トが見出されたとすると、xヒツトに対する処理
を進めることができるように、経路244がとら
れる。この例においては、2番目の動く物体にy
ビツトがないと仮定すると、状態242までの経
路246がとられる。その状態においては次の動
く物体に対するリンクがアクセスされ、保持され
る。
それから状態マシンは状態248へ移行する。
その状態においては、リスト上の3番目の動く物
体に対する垂直位置データがアクセスされ、保持
される。それから時間スロツト6の間にyヒツト
が調べられる。yヒツトを探している間に状態2
48がHMATCHを真にするから、yヒツトが
見出された時に信号MATCHが時間スロツト7
の間には真である。状態250へ移行すると
CPUはアレイRAMを再びアクセスでき、それか
ら状態マシンは状態252へ変る。その状態にお
いては、プレーフイールド画像ポインタはアクセ
スされ、保持されて、プレーフイールド物体を描
くことに備える。
この例において、3番目の動く物体がまたyヒ
ツトでないと仮定する。状態252からは、信号
MATCHとMATCHDLの状態に応じて状態25
4または256への移行が起る。信号MATCH
は0であるから、状態256への移行が起る。新
しい線の始まりを示す状態信号が偽であると仮定
すると、状態256がリンクを次の動く物体、す
なわち、リスト上の4番目の動く物体、に保持す
る。それから状態258への移行が行われ、リス
ト上の4番目の動く物体に対するy位置データが
アクセスされ、保持される。そうすると、前記し
たように時間スロツト2の間にyヒツトに対する
処理が続けられ、その間にCPUは状態260中
のアレイRAMをアクセスできる。いま述べたバ
ツクグラウンドサイクル中の任意の時刻に信号
ENDが論理1に変り、その時に状態260に達
したとすると、状態マシンはフオアグラウンドサ
イクルに再び入る。
バツクグラウンドサイクルからフオアグラウン
ドサイクルに再び入ると状態208になり、その
状態においては英数字ポインタがアクセスされ
る。そうすると、バツクグラウンド状態における
処理から決定される信号MATCHの現在の状態
に応じて、状態218または220への移行が行
われる。この例においては、バツクグラウンド状
態においてヒツトが見出されていないから、処理
は状態220へ進み、その状態においてリスト上
の5番目の動く物体に対するリンクがアクセスさ
れ、格納される。
それから状態マシンは状態264へ変り、その
状態264においては、結合されているリスト上
の5番目の動く物体の垂直位置データがアクセス
され、保持される。時間スロツト1の状態202
において行われたように、状態264も信号
HMATCHを真にする。状態228においては、
回路114の説明において先に述べたように、y
ヒツトに対する処理が時間スロツト6の間続行さ
れる。ここで、コンピユータ20はアレイRAM
のアクセスを再び行わせられ、状態マシンは状態
230へ移行する。
5番目の動く物体に対するyヒツトが、状態2
64により開始させられたプロセスにおいて見出
されたと仮定する。したがつて、状態230に達
すると信号MATCHは1、信号MATCHDLは0
である。そのために状態マシンは状態232へ移
行させられる。この状態においては動作は行われ
ない。5番目の動く物体のx位置がアクセスさ
れ、保持された時に状態266への移行が行われ
る。時間スロツト2の間にxヒツトの有無が判定
され、その時には状態マシンは状態204にあ
る。その状態の時には、コンピユータ20による
アレイRAMのアクセスが再び許される。信号
MATCHDLが0で、以前の動く物体にはヒツト
がないことが示されるから、状態208に入り、
前記したように処理が続けられて、現在の動く物
体にヒツトがない時は状態208から状態220
へ移行し、現在の動く物体にヒツトがある時は状
態208から状態218へ移行する。
この例において、xヒツトが状態266の時に
見出されたと仮定すると、以前の動く物体にはヒ
ツトがなく、信号MATCHDLが0であるから状
態208への移行が行われる。状態208におい
て英数字情報がアクセスされ、信号MATCHが
1に等しいから状態218への移行が行われる。
状態218においては画像ポインタが検索され、
ラインバツフアにピクセルデータをロードする動
作が始まる。それから状態222への移行が行わ
れる。この状態においては水平位置データが再び
調べられ、ヒツトが再び見出される。これは必要
ではなくて、状態マシンが必ず動作するやり方の
特異性にすぎない。それから、CPUのRAMアク
セスおよびプレーフイールド物体データのアクセ
スに対して状態228,230を通る移行が行わ
れる。状態230からの移行は状態188に対し
て行われ、その状態においては次の動く物体に対
するリンクが検索される。状態202への移行が
行われると6番目の動く物体の垂直位置が検索さ
せられ、yヒツトの検査が開始される。
5番目の動く物体の幅が1スタンプ幅より広い
と仮定する。そうすると、5番目の動く物体に対
しては信号MATCHDLは時間スロツト3と4の
間で決定されて1であり、信号ENDは0である。
そのために状態は204からバツクグラウンド状
態238へ移行され、その間も信号ENDは0を
保つ。その理由は、グラフイツクスROMと水平
および垂直スタンプオフセツト回路が5番目の動
く物体のためのスタンプを処理しており、6番目
の動く物体を処理することを開始するために同時
には使用できないからである。むだ時間を避ける
ためにバツクグラウンド・ルツクアヘツドサイク
ルに入つて次のヒツトを見つける。このアーキテ
クチヤは、どの物体が現在のウインドウ位置に見
えるかを見つけるために結合(リンク)されてい
るリストの処理速度を高くするためにサーチパイ
プラインを構成する。
バツクグラウンド・サイクルに入つた時に最初
に実行されるバツクグラウンド・サイクル状態は
状態238である。この状態238においては、
現在の電子ビーム位置に対する英数字情報がアク
セスされ、英数字情報のための並列チヤネルで表
示プロセスが開始される。それから、フオアグラ
ウンドの状態202に対してyヒツトが見出され
るから状態240への移行が行われる。バツクグ
ラウンド・サイクルに入つた時に状態202にヒ
ツトがないとすると、yヒツト処理のために7番
目の動く物体の垂直位置をアクセスするために状
態242に入る。しかし、6番目の動く物体に対
して状態202に対するyヒツトがあつたから、
状態240に入る。これは無動作状態である。そ
の理由は、5番目の動く物体についての画像情報
が処理されている間は6番目の動く物体について
は画像情報を処理できないからである。したがつ
て、状態300への移行が続く。ここで6番目の
動く物体のx位置が検索され、xヒツト処理が回
路98により開始される。
xヒツトが生じたと仮定すると、信号ENDが
論理1になつて、グラフイツクデータ処理回路が
自由であることを示すまでは、バツクグラウン
ド・サイクルは待機サイクルに入らなければなら
ない。この待機サイクルは状態300と、250
と、252と、245と、302(ここで水平位
置が再び調べられる、これは不必要であるが、装
置の動作の特異性である)と、260と、238
と、240とを通つて最後に状態300へ戻つて
サイクルを再び開始するという連続繰返えしより
成る。このプロセスは信号ENDが1になるまで
続く。この後で、状態マシンはバツクグラウン
ド・サイクルからフオアグラウンド・サイクルへ
の移行を行い、次の時に状態260に達する。
フオアグラウンド・サイクルに再び入つた後で
状態208に達し、それに続いて状態218に達
する。その状態218においては、バツクグラウ
ンド・サイクルにおいて見出された7番目の動く
物体に対する画像ポインタが検索される。その後
で、処理は上記のようにして継続される。
次に、動く物体がプレーフイールド上で動かさ
れるたびにコンピユータ20により実行される衝
突検出プロセスに流れ図が示されている第7図を
参照する。衝突検出プロセスを開始できる前は、
アレイRAM内の種々のアレイを初期設定せねば
ならない。すなわち充たさなければならない。こ
れを行うためには多くの知られている方法があ
り、第3図に示されているマツプのやり方で衝突
検出アレイを充すそれらの方法のいずれかで十分
である。もちろん、プレーフイールドおよび英数
字アレイも充さなければならず、プレーフイール
ドを描くことができ、アレイRAMの時分割多重
化されたアドレツシングにより課される時間的な
制約の中で英数字情報が適切な場所に表示される
限りは、それらのアレイを充す任意の公知方法で
十分である。一般に、第3図に示されている編成
に類似するやり方でスクリーン上の対応する場所
にアレイエントリイがマツプするように、アレイ
を編成することが良いやり方である。
アレイを充す1つのやり方は、二次元アレイに
置くべき物体の種類を記述するぎつしり詰められ
た表を使用することである。それから、各アレイ
の左上隅から始つて、アレイ場所は左から右へか
けて充される。
アレイが充された後で、コンピユータはプレー
ヤーが操作した制御を定期的に読取つて、種々の
動く物体の希望の動きについてのデータを得る。
コンピユータはその情報を用いて、各物体につい
てのデータレコードをアクセスし、xとyの位置
およびリンクデータを変えることにより、アレイ
中の種々の動く物体を動かす。しかし、これを行
うことができる前に、動かすべき各動く物体を、
第7図に示す衝突プロセスにおいて、その各動く
物体の附近の物体の位置に対して点検せねばなら
ない。衝突検出プロセスの結果が、動きによつて
衝突が生じないようなものであるとすると、動く
ことが許される。物体が新しいアレイ場所へ動い
たことをプログラムが決定するものとすると、動
かすべき動く物体に対する全体のレコードが新し
いアレイ場所に書込まれる。たとえば、第3図の
動く物体12をアレイ場所3,5に対応するボツ
クスからアレイ場所4,6に対応するボツクスま
で動かすものとすると、衝突検出アルゴリズムが
許容できることを示した場合に、動く物体12の
ための全体レコードがアレイ場所3,5からアレ
イ場所4,6へ動かされる。その場合には、結合
されているリスト上のリンクが変えられるから、
動く物体11からのリンクが動く物体13を指
し、動く物体14からのリンクがそれの新しい場
所における動く物体12を指す。
このプロセスが第7図に示す流れ図により表さ
れている動作の流れにより示されてる。第1の過
程は、種々の物体の希望の動きを決定することで
ある。プレーヤーの制御を読取るこのプロセスは
知られており、ブロツク268により表されてい
る。同じ衝突アルゴリズムを用いて他の動く物体
を動かすことができる。希望の動く向きはゲーム
に移存するものであつて、本発明には関係しな
い。次に、物体の動く向きに応じて一連の衝突検
出プロセスが実行される。それらの衝突検出プロ
セスは、動く物体の現在の位置を、動く向きにお
ける衝突アレイ内の唯一の、およびたかだか最も
近い隣接する物体の位置と比較することである。
その動く向きが主二次元軸の1つに沿うものであ
るとすると、隣接する場所の最も近に直線内の軸
に垂直な3つの最も近い物体が調べられる。たと
えば、第3図において、ボツクス3,5内の動く
物体12の現在の位置を原点とみなして、動く物
体12をx軸の負の向きに沿つて左へ動かすもの
とすると、衝突検出アルゴリズムはボボツクス
2,4と3,4および4,4の内容の位置のみを
衝突に関して調べる。
第7図において、このプロセスはブロツク27
0により開始される。このブロツクにおいては、
動く物体が左へ動いているかどうかが判定され
る。もし左へ動いておれば、左側の衝突について
調べるブロツク272のプロセスが実行される。
ブロツク270の判定結果が否定であれば、プロ
グラムは経路274を経て次の向きの衝突の判定
を行うブロツク276へ進む。第7図において、
次の向きの衝突判定は右へ動く向きの判定である
が、向きが調べられる順序は重要ではないから、
他のどの向きでもよい。
左へ向かう動きの衝突の点検プロセスが第8図
に詳しく示されている。衝突検出アレイの小さい
セグメントが参照符号280で示されており、動
かすべき動く物体が現在の位置に示され、それに
最も近い物体が左、右0および左2の位置として
左側に示されている。左0位置における物体のx
位置とy位置はそれぞれx0,y0である。左1およ
び左2の物体位置に対しても同様な記法が用いら
れる。動かすべき動く物体と近くの物体の衝突に
ついての判定が参照番号282に示されている。
基本的には、現在の動く物体のそれぞれx,yで
示されているx位置とy位置が一連の減算によ
り、隣接する物体のx位置およびy位置と比較さ
れる。それらの判定は任意の順序で行うことがで
きる。図示のように、第1の判定は、x位置マイ
ナスx0位置の絶対値をとり、それを16と比較する
ことである。その絶対値が16より小さいか、16に
等しければ衝突が存在することになる。また、そ
の絶対値が16より大きいと次の判定が行われる。
その判定においてはx−x1の絶対値が16と比較さ
れ、その絶対値が16より大きいと、(x−x2)の
絶対値と16の比較が行われる。x位置の比較判定
のいずれも衝突を示したとすると、y座標が調べ
られる。それに対応するy座標の点検で衝突が示
されたとすると、衝突処理を開始させるためには
ただ1回の衝突で十分であるから、それ以上の全
ての判定は行われない。
第7図のブロツク284は上で詳しく述べた判
定プロセスを示すものである。ブロツク288へ
至る経路286は、衝突判定のいずれかが同じで
あることを示した時の衝突処理を表すものであ
る。この衝突処理はゲームに依存する。このプロ
セスは、どの物体が衝突したかの判定を含み、衝
突の結果はゲームの規則に依存する。それらの規
則がどのようなものであるかは本発明とは無関係
である。
衝突が示されなければ、現在の動く物体のxと
yの位置を変えるためにブロツク290の動作が
実行される。
ブロツク290のプロセスが実行された後、ま
たはブロツク288のプロセスが実行された後、
もしくは経路274をとつた後で、左へ動く物体
に対して行われた判定と同種の判定を右へ動く物
体に対して行うために、ブロツク276のプロセ
スが実行される。動きに上または下の動き成分が
含まれておれば、ブロツク292と294のプロ
セスが実行される。基本的には、ある動きがx軸
またはy軸に沿うものでないとすると、その動き
は、それらの軸により表される4つの基本的な向
きの2つに沿う成分を有する。たとえば、上を
北、左を西と呼ぶと、北西方向の動きは西と北の
成分を有する。その例においては、上と左につい
ての判定が行われ、他の全ての向きについての判
定は省かれる。
全ての適切な判定が行われた後で、ブロツク2
96の判定が行われる。この場合には、動かされ
る物体の新しい位置が、正しいアレイ場所に対す
るスクリーンマツピング上のボツクスに対応する
正しいアレイ場所にまだあるとすると、その物体
の新しい位置についての判定が行われる。その判
定結果が否定であれば、動かされる物体のデータ
レコードを正しいアレイ場所へ動かし、結合され
ているリストを再構成するためにブロツク298
のプロセスが実行される。
【図面の簡単な説明】
第1A図および第1B図は本発明を実現する回
路のブロツク図、第2図は動く物体のプレーフイ
ールド上の位置と、プレーフイールド物体のプレ
ーフイールド上の位置と、現在のウインドウの位
置と、プレーフイールド上の物体のスタンプアレ
イとの記述に用いる規約を説明する図、第3図は
アレイRAM中の衝突検出アレイを説明する図、
第4A図および第4B図は垂直一致回路と、水平
一致回路と、スタンプオフセツト計算回路とのブ
ロツク図、第5図はフオアグラウンドサイクルの
状態図、第6図はバツクグラウンドサイクルの状
態図、第7図は衝突検出アルゴリズムの流れ図、
第8図はプレーフイールド上の物体の間の衝突の
存在を判定するために用いられる規約とテストを
説明する図である。 20……コンピユータ、22……メモリ、28
……同期発生器、30……状態マシン、32……
アレイRAM、36,136……マルチプレク
サ、38,60……ラツチ、46……ピクセルク
ロツク、62……ウインドウ垂直カウンタ、64
……プレーフイールド画像ラツチ、78……プレ
ーフイールドシフトレジスタ、80……動く物体
シフトレジスタ、84……シーケンスおよびマツ
ピング回路、90……ラインバツフア、98……
プレーフイールドオフセツト水平一致回路、10
4……フイールドオフセツト水平一致回路、11
4……垂直一致およびスタンプオフセツト計算回
路、170……カウンタ、201……ダウンカウ
ンタ。

Claims (1)

  1. 【特許請求の範囲】 1 プレーフイールドの一部を表示すべく複数の
    逐次走査されるラスタ走査線からなり、かつその
    中に移動する物体を表示する可動のウインドウに
    対し、プレーフイールド上の複数の移動する物体
    のうちのどれを表示するかを決定する方法におい
    て、 前記プレーフイールド上における各移動する物
    体の位置を記録しているデータレコードを、前記
    ウインドウ部分内に見えるプレーフイールドの部
    分のみならず、プレーフイールド全体がラスタ走
    査方式にて表示される場合に全ての移動する物体
    が表示装置上に表示される順序で順序付けられた
    結合リストとして編成する過程と、 前記編成された結合リストを記憶装置に記憶す
    る過程と、 前記走査線の番号に基づいて前記結合リストが
    記憶されている記憶装置内のアドレスに対するポ
    インタであるスリツプを発生する過程であつて、
    該スリツプによつて指すべきアドレスとして、前
    記プレーフイールド上に位置した移動する物体の
    うちの前記ウインドウ内にある物体に対応して前
    記記憶装置に記憶された結合リスト上のデータレ
    コードアドレスを指す過程と、 を具え、前記スリツプによつて指されたデータレ
    コードアドレスに応じて、前記ウインドウに表示
    すべき移動する物体を決定する方法。 2 特許請求の範囲第1項記載の方法であつて、 前記ラスタ走査線はフレームを成し、 前記スリツプは、所定の数の走査線が表示され
    た後で更新され、かつ各フレーム全体にわたつて
    連続してそのように更新され、 前記ウインドウは、各フレームの終りに現在の
    位置が更新され、 新しいウインドウ位置が前記スリツプの更新に
    伴つて反映させることを特徴とする方法。 3 特許請求の範囲第2項記載の方法であつて、 前記プレーフイールド上の物体の全てのデータ
    レコードを、各アレイ位置が前記プレーフイール
    ド上の特定エリアをマツプしている二次元アレイ
    に編成する過程と、 前記移動する物体のみを前記結合されたリスト
    に結合する過程とを含み、 前記二次元データレコードアレイの各アレイエ
    ントリイはプレーフイールド上の特定の位置にマ
    ツプし、前記移動する物体の希望の動きに関する
    ユーザーが制御する入力を読み取り、動かされる
    各物体に対する位置オフセツトデータを変更する
    ことにより動かされる物体に対するデータレコー
    ドを調整し、影響されたデータレコード中のリス
    トフイールドの内容を変更し、かつスクリーン上
    の物体の新しい位置に一致するように動かされた
    物体のレコードのアレイ中の位置を変更すること
    により、結合されたリストを物体の新しい位置を
    反映させるために再び配列することを特徴とする
    方法。 4 特許請求の範囲第2項記載の方法であつて、 プレーフイールド上の物体に対する動く物体と
    動かない物体とのデータレコードを二次元アレイ
    に編成する過程と、 衝突が起きたかどうかを判定し、衝突を検出し
    た時に所定の動作を行うために、動かされている
    各物体についての位置データを、希望の運動の経
    路中の最も近いアレイ場所の所定のパターンでの
    物体の位置データに対して点検する過程と、 を含む方法。 5 特許請求の範囲第4項記載の方法であつて、 前記移動する物体の位置データを、前記所定パ
    ターンのアレイ位置に記憶されたデータレコード
    を有する物体の位置データと逐次比較する過程
    と、 衝突が起きたことを示す最初のデータレコード
    を処理した時に前記比較を停止する過程と、 を具え、2つの物体の位置が相互に所定の距離内
    にあるとき、衝突が生じたと見なされることを特
    徴とする方法。 6 プレーフイールド上の移動する及び移動しな
    い物体を表すデータレコードを迅速に処理し、画
    像デイスプレイ上に表示されているプレイフイー
    ルドの一部上にどの物体を表示するかを判定する
    装置において、 表示すべき移動する物体に関する全てのデータ
    レコードを、プレイフイールド全体が表示される
    場合に物体が表示される位置付けによつて編成さ
    れるメモリ内における単一の結合リストとして編
    成する手段と、 前記結合リストのメモリ内における記憶アドレ
    スを指示するためのポインタであるスリツプを発
    生する手段と、 このスリツプを用いて、前記プレーフイールド
    の表示すべき一部分に位置した物体に関するデー
    タレコードのみを処理するように、前記結合リス
    トに対する処理が始まるべき位置を制御する手段
    と、 を具える装置。 7 特許請求の範囲第6項記載の装置であつて、 前記物体に対するデータレコードは、プレーフ
    イールド上の基準点からのx座標とy座標の距離
    として表される位置情報を含む ことを特徴とする装置。 8 特許請求の範囲第7項記載の装置であつて、 前記画像デイスプレイが、ラスタ走査線の走査
    方向に直角なy軸に沿つた位置で表されるラスタ
    アドレスを持つた複数のピクセルからなる複数の
    ラスタ走査線を走査する手段を含み、任意の特定
    時点における走査の位置が現ラスタアドレスとし
    て表され、前記プレーフイールド上における物体
    の位置が前記y軸に沿つた位置と、前記ラスタ走
    査線の走査方向と平行な直交するx軸に沿つた位
    置とで表され、前記プレーフイールドがプレーフ
    イールド標準点を含み、前記スリツプを発生する
    手段が少なくとも現ラスタアドレスを、現ラスタ
    走査位置のyオフセツトとして追跡する手段を含
    み、前記スリツプが現ラスタ走査位置のyオフセ
    ツトを含むデータから発生される ことを特徴とする装置。 9 特許請求の範囲第8項記載の装置であつて、 前記編成する手段が、前記プレーフイールドの
    標準点に対して移動した移動物体の位置データ
    を、移動したそれら物体のデータレコード内にお
    けるx及びy座標オフセツトが前記プレーフイー
    ルドの標準点に対して変更されるように調整する
    とともに、前記移動した物体が前記結合リスト上
    で前記プレーフイールド上の各物体の新たな位置
    に対応した正しい位置にくるように、前記結合リ
    ストを再編成する手段を具える ことを特徴とする装置。 10 特許請求の範囲第9項記載の装置であつ
    て、 前記編成する手段が、移動する及び移動しない
    両物体のデータレコードを前記メモリ内に、順序
    付けられた2次元アレイで、かつ位置付けがプレ
    ーフイールド上の特定エリアをマツプしているア
    レイの形で記憶する手段を具える ことを特徴とする装置。 11 特許請求の範囲第10項記載の装置であつ
    て、 前記2次元アレイが衝突検出アレイであり、移
    動すべき物体と前記デイスプレイ上を移動される
    物体の近傍におけるその他の移動する及び移動し
    ない物体との衝突検出を、移動すべき物体に対応
    するデータレコードの位置データを前記衝突検出
    アレイの隣接する位置に記憶されたデータレコー
    ドを有する物体の位置データに対しチエツクする
    ことによつて行う手段を具え、前記衝突検出アレ
    イの前記隣接するロケーシヨンが、前記衝突検出
    アレイのうち移動すべき物体のほぼ移動方向に位
    置した隣接する位置に限定される ことを特徴とする装置。 12 プレーフイールド上に位置した複数の移動
    物体のうちどれを、画像デイスプレイ上で前記プ
    レーフイールドのウインドウ部分に表示するかを
    判定する装置で、複数の逐次走査されるラスタ走
    査線によつて定義される前記ウインドウ部分が、
    任意の特定瞬間時に処理されているラスタ走査線
    として定義される現ラスタ走査線を含むものにお
    いて、 前記プレーフイールド上の前記移動物体の現位
    置を判定すると共に、各移動物体に関するデータ
    レコードをメモリ内に記憶する手段であつて、前
    記各移動物体に関する前記データレコードが、前
    記プレーフイールド上における既知の標準位置か
    らのオフセツトであるプレーフイールドでの相対
    項として表された位置情報を含み、前記データレ
    コードが、プレーフイールド上の全ての移動物体
    を含む全プレーフイールドが表示される場合に移
    動物体が表示される順序で編成された単一の結合
    リストとして編成されている第1手段と、 画像デイスプレイ上における前記プレーフイー
    ルドの前記ウインドウ部分の位置を、前記ウイン
    ドウ内の点と前記プレーフイールド標準点との間
    のオフセツトであるプレーフイールドでの相対項
    として求めることによつて判定する第2手段と、 前記第2手段に連結され、前記プレーフイール
    ド上における前記ウインドウの位置情報からスリ
    ツプを発生する手段であつて、前記現ラスタ走査
    線が前記プレーフイールドを完全に横切つて延び
    た場合に前記現ラスタ走査線が通過する前記結合
    リスト上の最初の移動物体に対応したデータレコ
    ードの前記メモリ内のアドレスを指すポインタと
    して前記スリツプが定義される第3手段と、 前記第1、第2及び第3手段に連結され、前記
    スリツプを用いて前記連係リスト上の移動物体に
    関するデータレコードの処理を前記スリツプによ
    つて識別された移動物体のデータレコードから開
    始し、前記移動物体のどれを表示するかを判定す
    る第4手段と、 を具えた装置。 13 特許請求の範囲第12項記載の装置であつ
    て、 各ラスタ走査線のスタート時に、前記第4手段
    が前記スリツプを前記結合リスト上のデータレコ
    ードを指すリンクアドレスとして用い、前記結合
    リスト上にレコードを有する前記移動物体のうち
    どれが表示されるべきかを判定する処理を開始す
    る ことを特徴とする装置。 14 特許請求の範囲第13項記載の装置であつ
    て、 カウンタと、前記ウインドウ部分を定義する前
    記複数のラスタ走査線を発生する走査回路とを具
    え、前記各ラスタ走査線が番号を有し、新たな各
    ラスタ走査線が走査されるべき時点を意味するラ
    イン終了信号も前記走査回路が発生し、前記カウ
    ンタが前記走査回路から前記ライン終了信号を受
    け取るように連結され、また前記カウンタが前記
    第2手段に連結されて、前記ウインドウ部分の現
    位置を、前記ウインドウ部分内の第1走査線の走
    査線番号として定義するデータを受け取り、前記
    カウンタが前記ウインドウ部分内の前記第1走査
    線の走査線番号から始まつて前記ライン終了信号
    をカウントし現走査線番号を発生することによつ
    て、現ウインドウ位置を位置決めする走査線番号
    に基づくプレイフイールドでの相対項として現走
    査ラインの位置を定義し、さらに前記第3手段が
    前記現走査線番号を受け取り、各ラスタ走査線の
    終わりで前記現走査線番号を用いて前記スリツプ
    アドレスポインタを選択する ことを特徴とする装置。 15 特許請求の範囲第14項記載の装置であつ
    て、 前記第1手段内に、プレーヤの操作による制御
    を読み取り、複数の関連したプレーヤ制御の可動
    文字の対応した移動を前記デイスプレイ上で行わ
    せる手段を備え、前記文字が移動物体で、これら
    移動物体の位置及び外見が前記可動文字のデータ
    レコード内の位置データを調整することでデータ
    レコードによつて定義され、さらに前記手段が前
    記プレーヤ制御文字の位置を時々刻々求めて、全
    ての文字が前記ウインドウ上で常時見えるよう
    に、前記プレーフイールド上における前記ウイン
    ドウの位置を調整する ことを特徴とする装置。 16 特許請求の範囲第15項記載の装置であつ
    て、 前記第1手段が、移動中の移動物体と前記ウイ
    ンドウの隣接領域における前記プレーフイールド
    上のその他の移動物体またはそれ以外の物体との
    間の衝突検出を行い、移動経路に対する所定の隣
    接領域内にだけ位置した物体に関する衝突検出手
    段を含む ことを特徴とする装置。 17 プレーフイールド上のウインドウ部分に位
    置した複数の移動する物体のうち選択されたもの
    を表示する装置で、前記ウインドウ部分が現ラス
    タ走査線を含め複数の逐次走査されるラスタ走査
    線からなり、前記各ラスタ走査線が走査線番号を
    有すると共に、任意の特定瞬間時に走査されるピ
    クセルとして定義される現ピクセルを含む複数の
    逐次走査されるピクセルからなるものにおいて、 前記移動する物体の動きに関するユーザ入力及
    びその他のデータを読み取り、前記移動する物体
    のプレーフイールド上における位置を、前記プレ
    ーフイールド上の標準点に対するプレーフイール
    ドでの相対項の形で求める手段と、 プレーフイールドでの相対位置を含む前記移動
    する物体に関するデータレコードをランダムアク
    セスメモリ内に記憶すると共に、前記移動する物
    体のデータレコードを、現ウインドウ部分の境界
    内に位置した移動する物体だけでなく、プレーフ
    イールド上の全ての移動する物体がラスタ走査順
    序で表示される場合に前記移動する物体が表示さ
    れるその順序でほぼ順序付けられた結合リストと
    してリンクさせる手段と、 現ラスタ走査線の走査線番号から、所定の移動
    する物体に関する前記結合リストのデータレコー
    ドのアドレスを示すプレーフイールドでの相対ス
    リツプポインタを発生する手段と、 現ラスタ走査線番号に対する前記スリツプポイ
    ンタによつて示された移動する物体から始まる前
    記結合リスト上における前記移動する物体の前記
    プレーフイールドでの相対位置情報とウインドウ
    部分の位置とを比較し、前記結合リスト上のどの
    移動する物体が表示されるべきかを判定する手段
    と、 前記ウインドウ部分内で見える移動する物体を
    表示する手段と、 を具えた装置。
JP62260749A 1986-10-15 1987-10-15 表示装置に表示されているプレーフイールド上の物体を表すデータレコードを迅速に処理して、プレーフイールドの一部にどの物体を表示するかを決定する方法および装置 Granted JPS63158091A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/919,236 US4905168A (en) 1986-10-15 1986-10-15 Object processing for video system using slips and linked list
US919236 1986-10-15

Publications (2)

Publication Number Publication Date
JPS63158091A JPS63158091A (ja) 1988-07-01
JPH0464276B2 true JPH0464276B2 (ja) 1992-10-14

Family

ID=25441756

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62260749A Granted JPS63158091A (ja) 1986-10-15 1987-10-15 表示装置に表示されているプレーフイールド上の物体を表すデータレコードを迅速に処理して、プレーフイールドの一部にどの物体を表示するかを決定する方法および装置

Country Status (4)

Country Link
US (1) US4905168A (ja)
EP (1) EP0268070A3 (ja)
JP (1) JPS63158091A (ja)
CA (1) CA1283209C (ja)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5072412A (en) * 1987-03-25 1991-12-10 Xerox Corporation User interface with multiple workspaces for sharing display system objects
US6008818A (en) * 1988-01-29 1999-12-28 Hitachi Ltd. Method and apparatus for producing animation image
JP2512052B2 (ja) * 1988-01-29 1996-07-03 株式会社日立製作所 動画像生成方法及び装置
US5107443A (en) * 1988-09-07 1992-04-21 Xerox Corporation Private regions within a shared workspace
US5155805A (en) * 1989-05-08 1992-10-13 Apple Computer, Inc. Method and apparatus for moving control points in displaying digital typeface on raster output devices
JP3056514B2 (ja) * 1990-08-27 2000-06-26 任天堂株式会社 画像表示装置およびそれに用いる外部記憶装置
JPH0511962A (ja) * 1990-10-10 1993-01-22 Fuji Xerox Co Ltd ウインドウ管理装置
US5287446A (en) * 1990-10-15 1994-02-15 Sierra On-Line, Inc. System and methods for intelligent movement on computer displays
FR2674087B1 (fr) * 1991-03-15 1997-07-25 Thomson Trt Defense Procede et dispositif d'incrustation de reticule dans une image video.
JPH071476B2 (ja) * 1991-08-27 1995-01-11 インターナショナル・ビジネス・マシーンズ・コーポレイション ディスプレイスクリーン上の対象物の位置を自動的に見つける方法とシステム
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US8821276B2 (en) 1992-05-22 2014-09-02 Bassilic Technologies Llc Image integration, mapping and linking system and methodology
US5553864A (en) * 1992-05-22 1996-09-10 Sitrick; David H. User image integration into audiovisual presentation system and methodology
US5481275A (en) 1992-11-02 1996-01-02 The 3Do Company Resolution enhancement for video display using multi-line interpolation
US5838389A (en) * 1992-11-02 1998-11-17 The 3Do Company Apparatus and method for updating a CLUT during horizontal blanking
US5572235A (en) * 1992-11-02 1996-11-05 The 3Do Company Method and apparatus for processing image data
US5596693A (en) * 1992-11-02 1997-01-21 The 3Do Company Method for controlling a spryte rendering processor
BR9207171A (pt) * 1992-11-02 1995-12-12 3Do Co Processo para interpretar imagem gráfica em memória temporária de destino e em memória temporária de vídeo e meio que se pode ler por computador
US5500933A (en) * 1993-04-28 1996-03-19 Canon Information Systems, Inc. Display system which displays motion video objects combined with other visual objects
JP3030490B2 (ja) * 1994-03-18 2000-04-10 富士通株式会社 同期制御方法及び装置
US5638094A (en) * 1994-11-01 1997-06-10 United Microelectronics Corp. Method and apparatus for displaying motion video images
US8574074B2 (en) 2005-09-30 2013-11-05 Sony Computer Entertainment America Llc Advertising impression determination
US7895076B2 (en) * 1995-06-30 2011-02-22 Sony Computer Entertainment Inc. Advertisement insertion, profiling, impression, and feedback
EP0927406A4 (en) 1996-03-15 2002-05-02 Zapa Digital Arts Ltd PROGRAMMABLE GRAPHIC COMPUTING OBJECTS
KR100594558B1 (ko) * 1996-05-02 2006-06-30 가부시키가이샤 세가 게임 장치, 게임 장치용 방법 및 컴퓨터 판독가능 매체
JPH11219446A (ja) * 1998-02-03 1999-08-10 Matsushita Electric Ind Co Ltd 映像音響再生システム
JP4186136B2 (ja) * 1998-10-08 2008-11-26 株式会社セガ 画像処理装置および画像処理方法
US7966078B2 (en) 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
US7827488B2 (en) 2000-11-27 2010-11-02 Sitrick David H Image tracking and substitution system and methodology for audio-visual presentations
US8751310B2 (en) * 2005-09-30 2014-06-10 Sony Computer Entertainment America Llc Monitoring advertisement impressions
JP2005505362A (ja) * 2001-10-10 2005-02-24 ソニー・コンピュータ・エンタテインメント・アメリカ・インク スムースなゲームプレーのためのゲームソフトウェアを動的に読み込むシステムと方法
US8133115B2 (en) * 2003-10-22 2012-03-13 Sony Computer Entertainment America Llc System and method for recording and displaying a graphical path in a video game
US8763157B2 (en) 2004-08-23 2014-06-24 Sony Computer Entertainment America Llc Statutory license restricted digital media playback on portable devices
US8187094B2 (en) * 2004-09-22 2012-05-29 Sega Corporation Game program
US20060071933A1 (en) 2004-10-06 2006-04-06 Sony Computer Entertainment Inc. Application binary interface for multi-pass shaders
US7620530B2 (en) * 2004-11-16 2009-11-17 Nvidia Corporation System with PPU/GPU architecture
JP4668655B2 (ja) * 2005-03-24 2011-04-13 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及び画像生成システム
US7636126B2 (en) * 2005-06-22 2009-12-22 Sony Computer Entertainment Inc. Delay matching in audio/video systems
US8626584B2 (en) 2005-09-30 2014-01-07 Sony Computer Entertainment America Llc Population of an advertisement reference list
US8676900B2 (en) 2005-10-25 2014-03-18 Sony Computer Entertainment America Llc Asynchronous advertising placement based on metadata
US11004089B2 (en) * 2005-10-25 2021-05-11 Sony Interactive Entertainment LLC Associating media content files with advertisements
US10657538B2 (en) * 2005-10-25 2020-05-19 Sony Interactive Entertainment LLC Resolution of advertising rules
US20070118425A1 (en) 2005-10-25 2007-05-24 Podbridge, Inc. User device agent for asynchronous advertising in time and space shifted media network
US7993196B2 (en) * 2006-01-20 2011-08-09 Wms Gaming Inc. Wagering game with symbol strings dictating winning outcomes
US7965859B2 (en) 2006-05-04 2011-06-21 Sony Computer Entertainment Inc. Lighting control of a user environment via a display device
US7880746B2 (en) * 2006-05-04 2011-02-01 Sony Computer Entertainment Inc. Bandwidth management through lighting control of a user environment via a display device
EP2018728A4 (en) 2006-05-05 2011-07-06 Sony Comp Entertainment Us ADVERTISEMENT ROTATION
US8488133B2 (en) * 2006-08-30 2013-07-16 Lexmark International, Inc. System and method for marking print media
JP5101080B2 (ja) * 2006-10-19 2012-12-19 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステムおよびゲーム制御方法
US20080307103A1 (en) * 2007-06-06 2008-12-11 Sony Computer Entertainment Inc. Mediation for auxiliary content in an interactive environment
US8416247B2 (en) * 2007-10-09 2013-04-09 Sony Computer Entertaiment America Inc. Increasing the number of advertising impressions in an interactive environment
KR101445074B1 (ko) * 2007-10-24 2014-09-29 삼성전자주식회사 미디어 플레이어에서 미디어 객체 처리 방법 및 그 장치
US8769558B2 (en) * 2008-02-12 2014-07-01 Sony Computer Entertainment America Llc Discovery and analytics for episodic downloaded media
US20090300144A1 (en) * 2008-06-03 2009-12-03 Sony Computer Entertainment Inc. Hint-based streaming of auxiliary content assets for an interactive environment
US8763090B2 (en) * 2009-08-11 2014-06-24 Sony Computer Entertainment America Llc Management of ancillary content delivery and presentation
JP5445147B2 (ja) * 2010-01-07 2014-03-19 富士通株式会社 リスト構造制御回路
US10786736B2 (en) 2010-05-11 2020-09-29 Sony Interactive Entertainment LLC Placement of user information in a game space
US9342817B2 (en) 2011-07-07 2016-05-17 Sony Interactive Entertainment LLC Auto-creating groups for sharing photos
US10846779B2 (en) 2016-11-23 2020-11-24 Sony Interactive Entertainment LLC Custom product categorization of digital media content
US10860987B2 (en) 2016-12-19 2020-12-08 Sony Interactive Entertainment LLC Personalized calendar for digital media content-related events
JP6767319B2 (ja) * 2017-07-31 2020-10-14 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびファイルコピー方法
USD849166S1 (en) 2017-12-07 2019-05-21 Ssg International, Llc Golf putter grip
US10099101B1 (en) 2017-12-07 2018-10-16 Ssg International, Llc Golf club grip with sensor housing
US10931991B2 (en) 2018-01-04 2021-02-23 Sony Interactive Entertainment LLC Methods and systems for selectively skipping through media content
US10798394B2 (en) * 2018-06-27 2020-10-06 Avago Technologies International Sales Pte. Limited Low complexity affine merge mode for versatile video coding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58121091A (ja) * 1982-01-14 1983-07-19 池上通信機株式会社 立体感表示方式
JPS59141976A (ja) * 1983-02-03 1984-08-14 株式会社リコー ビデオ信号合成方法及び装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4116444A (en) * 1976-07-16 1978-09-26 Atari, Inc. Method for generating a plurality of moving objects on a video display screen
US4119955A (en) * 1977-03-24 1978-10-10 Intel Corporation Circuit for display, such as video game display
US4169262A (en) * 1977-11-17 1979-09-25 Intel Corporation Video display circuit for games, or the like
US4471465A (en) * 1979-01-08 1984-09-11 Atari, Inc. Video display system with multicolor graphics selection
US4445114A (en) * 1979-01-15 1984-04-24 Atari, Inc. Apparatus for scrolling a video display
US4324401A (en) * 1979-01-15 1982-04-13 Atari, Inc. Method and system for generating moving objects on a video display screen
US4679038A (en) * 1983-07-18 1987-07-07 International Business Machines Corporation Band buffer display system
FR2553918B1 (fr) * 1983-10-19 1986-01-03 Radiotechnique Procede pour engendrer des objets dans une image video
US4660029A (en) * 1984-07-06 1987-04-21 Tektronix, Inc. Method of providing raster information for a graphics display employing linked lists
EP0194092A3 (en) * 1985-02-25 1990-02-07 Computer Graphics Laboratories, Inc. Display system and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58121091A (ja) * 1982-01-14 1983-07-19 池上通信機株式会社 立体感表示方式
JPS59141976A (ja) * 1983-02-03 1984-08-14 株式会社リコー ビデオ信号合成方法及び装置

Also Published As

Publication number Publication date
US4905168A (en) 1990-02-27
CA1283209C (en) 1991-04-16
EP0268070A2 (en) 1988-05-25
JPS63158091A (ja) 1988-07-01
EP0268070A3 (en) 1990-11-07

Similar Documents

Publication Publication Date Title
JPH0464276B2 (ja)
US4905147A (en) Collision detection system for video system
US4894774A (en) Lookahead pipeline for processing object records in a video system
US4930074A (en) Multiple stamp motion objects in a video game system
CA1283980C (en) Display generator circuitry for personal computer system
KR100222314B1 (ko) 정지화상표시장치
US8690674B2 (en) Storage medium having game program stored thereon and game apparatus
US4725831A (en) High-speed video graphics system and method for generating solid polygons on a raster display
US4177462A (en) Computer control of television receiver display
US20060252531A1 (en) Storage medium having game program stored thereon and game apparatus
US4924415A (en) Apparatus for modifying data stored in a random access memory
JPH08161526A (ja) 画像合成装置及び画像合成方法
US9076356B2 (en) Method and system for renewing screen
JPH0634209B2 (ja) 表示図形検知方式
US20050003891A1 (en) Image processor and game device with image processor
US5590249A (en) Three dimensional sprite rendering apparatus and method
WO1992000570A1 (en) Graphics rendering systems
KR100374465B1 (ko) 게임을 실행하는 방법 및, 이것을 실시하는 게임 장치
EP1316343B1 (en) Video game processing method, video game processing apparatus and computer readable recording medium storing video game program
GB2210239A (en) An apparatus for controlling the access of a video memory
JP2001212305A (ja) パチンコ機の画像表示装置
JP2830765B2 (ja) ポリゴンデータのソート方法及びこれを用いたゲーム装置
JP4928033B2 (ja) プログラム、情報記憶媒体、及びゲーム装置
JP2898482B2 (ja) コンピュータゲーム装置
JPH0670742B2 (ja) 標体の表示装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071014

Year of fee payment: 15

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081014

Year of fee payment: 16

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081014

Year of fee payment: 16