本発明の実施例について以下の順序で説明する。本実施例では、パチンコ機としての構成例を示すが、遊技機は、回胴式遊技機としてもよい。
A.全体構成:
B.遊技盤の構成:
C.制御用ハードウェア構成:
C1.全体構成:
C2.装飾図柄制御基板の構成:
C3.メモリ基板の作用および変形例:
D.制御基板間の接続構造:
E.表示制御:
E1.全体処理:
E2.キャラクタ表示制御処理:
E3.表示制御処理の変形例:
E4.OSD機能:
A.全体構成:
図1は実施例としてのパチンコ機1の全体構成を示す斜視図である。外枠2、本体枠3、前面枠4を開いた状態を示した。図の煩雑化を回避するため、遊技領域の装飾部材は図示を省略した。外枠2、本体枠3、前面枠4は、ヒンジ機構7、36によって、開閉可能に連結されている。
外枠2は、上下左右の木製の枠材によって縦長四角形の枠状に形成されている。外枠2は、樹脂やアルミニウム等の軽金属によって形成してもよい。外枠2の前側下部には、本体枠3の下面を受ける下受板6が設けられている。
本体枠3は、下受板6の上側にはまる形状となっている。本体枠3の外形を規定する前枠体11は、合成樹脂材製の矩形枠である。前枠体11の前下部左側にはスピーカ装着板17およびスピーカ18が装着されている。下部には、遊技球の発射レール19が傾斜して装着されている。前枠体11の下には下部前面板30が装着されている。下部前面板30の略中央部には、遊技球を貯留する下皿31が設けられ、右側には操作ハンドル32が設けられ、左側寄りには灰皿33が設けられている。下皿31には、遊技球を下方に排出するための球排出レバー34が配設されている。
本体枠3には、遊技盤5が取り付けられている。遊技盤5は、本体枠3に前方から嵌込み可能な四角板状をなしている。遊技盤5の前面(以下、「盤面」と呼ぶこともある)には、遊技球をガイドする外レール76、内レール77を備えた案内レール78が設けられている。案内レールの内側が遊技領域37となる。発射レール19と案内レール78との間には、発射時の勢いが不十分で案内レール78を逆戻りしてきた遊技球を下皿31に排出するための隙間が設けられている。
前面枠4はヒンジ機構36によって開閉可能に装着されている。前面枠4には、遊技盤5の遊技領域37に合わせて略円形の開口窓38が形成されている。前面枠4の後側には開口窓38よりも大きな矩形の窓枠39が設けられ、ガラス板、透明樹脂板等の透明板50が装着されている。
前枠体11の自由端側には、外枠2、本体枠3、前面枠4を閉状態で施錠するための施錠装置70が装着されている。施錠装置70の本体枠施錠フック72は、外枠2の閉止具71に係合することで、外枠2と本体枠3とを施錠する。扉施錠フック74は、前面枠4の閉止具73と係合して、前面枠4と本体枠3とを施錠する。これらの施錠および解錠は、シリンダー錠75の鍵操作で可能である。
B.遊技盤の構成:
図2は遊技盤5の正面図である。ベニヤ製とすることもできるが、本実施例では、遊技盤5はアクリル樹脂、ポリカーボネート樹脂などの透明樹脂製とした。遊技盤5の中央には遊技領域37が設けられている。遊技者は、ハンドル32(図1参照)を操作して遊技領域37内に遊技球を打ち込み、入賞口に入賞させる遊技を行う。遊技領域37には、遊技球が入賞口に入賞するのを妨げる障害釘が植設されているが図示を省略した。入賞口の一つである始動入賞口9に遊技球が入賞すると、パチンコ機1は電子的に抽選を行い「大当り」か否かを判定する。大当り発生時には、大入賞口10が所定期間、繰り返し開放するなどの大当り遊技が行われる。
遊技領域の背面には大型のLCD16が配置されている。LCD16は、遊技盤5に取り付けられているのではなく、本体枠3に取り付けられている。本体枠3に遊技盤5を取り付けた時に、図示するように、遊技盤5の背後にLCD16が来るような位置関係で配置されているのである。
遊技盤5は透明樹脂製であるため、遊技者は遊技盤5を通してLCD16の表示内容を視認することができる。遊技盤5には、LCD16の周囲を覆うように氷を模した凹凸部材51が配置されている。凹凸部材51は透明樹脂または半透明樹脂で形成されており、LCD16の表示によって発光して見えるようになっている。以下では説明の便宜上、LCD16の表示範囲のうち、凹凸部材51で覆われていない中央部分を演出表示領域16Vと呼び、凹凸部材51で覆われた領域を背後領域と呼ぶ。
演出表示領域16Vでは、遊技の状態に応じて抽選結果などを表す種々の演出表示が行われる。背後領域では、凹凸部材51を種々の態様で発光させるなど、凹凸部材51を通した視覚効果を与えるための表示(以下、「照明表示」と称する)が行われる。照明表示としては、例えば、氷を模した凹凸部材51を、青白く発光させる照明する態様が考えられる。背後領域を青系統の色のベタ領域として表示してもよいし、種々の色でグラデーション表示してもよい。また、この表示は静的なものである必要はなく、グラデーションを変化させるなどして、氷が融ける様子や新たに凍り付く様子などを表現してもよい。このように、凹凸部材51の背後領域では、演出表示との画像上の連続性を考慮することなく、凹凸部材51の照明専用の照明表示を行うことにより、凹凸部材51の形状を活かした視覚効果を実現することができる。
実施例では、凹凸部材51の一部は、LCD16から外れた位置にある。これらの凹凸部材51の背後には、LEDなどの発光装置が配置されており、遊技状態に応じて種々の色に発光する。LEDは点光源であるため、点光源から明るい光を射出し、凹凸部材51で拡散等させるなどすることでLCD16とは異なった印象的な視覚効果を与えることができる。このように本実施例では、凹凸部材51の一部はLCD16の照明表示いよって照明され、LCD16から外れる部分はLEDなどの発光装置によって照明される。凹凸部材51の照明にLCD16とLEDの双方を併用することによって、それぞれの部位で両者の特長を活かした視覚効果を与えることができる利点がある。
実施例では、表示パネルの大きさは任意に設計可能であり、例えば、遊技盤5のほぼ全面を覆う程度の大きさのLCD16a(図中の一点鎖線)とすることもできる。この場合は、遊技盤5からはみ出す部分を除く表示領域を演出表示および照明表示に活用すればよい。この状態で、凹凸部材51の一部にLEDによる照明を併用してもよい。なお、本実施例で、LED16aの下辺が遊技盤5の下端まで至らないサイズとしてあるのは、後述する通り、遊技盤5の制御基板を取り付ける都合によるものである。制御基板取付上の制約がない場合には、LCD16aを遊技盤5の下端に至るサイズとすることも可能である。
C.制御用ハードウェア構成:
C1.全体構成:
図3は制御用ハードウェア構成を示すブロック図である。パチンコ機1は、メイン制御基板101、払出制御基板25、サブ制御装置35、装飾図柄制御基板300などの各制御基板の分散処理によって制御される。メイン制御基板101は他の制御基板にコマンドを出力することによって、パチンコ機1の全体制御を司る。払出制御基板25は遊技球の賞球の払出を制御する。サブ制御基板35は演出用の表示および音声出力を制御する。装飾図柄制御基板300は、サブ制御基板35からのコマンドに応じてLCD16の表示内容を制御する。
メイン制御基板101およびメモリ基板200Mは基板ボックス101Bに収納され遊技盤5に取り付けられている。払出制御基板25およびサブ制御基板35、装飾図柄制御基板300は本体枠3に取り付けられている。メイン制御基板101と払出制御基板25との間では、双方向通信が可能である。メイン制御基板101とサブ制御基板35、装飾図柄制御基板300との間では単方向通信が行われており、メイン制御基板101からサブ制御基板35、装飾図柄制御基板300へのコマンド送信はあっても、その逆は行われない。メモリ基板200Mは、サブ制御基板35、装飾図柄制御基板300が制御時に用いるデータを収納するROM210、205、206、キャラROM212を実装した基板である。
メイン制御基板101とメモリ基板200Mとは、電気的に隔離されている。メモリ基板200Mはサブ制御基板35、装飾図柄制御基板300との通信は行うが、メイン制御基板101との通信は一切行わない。メモリ基板200Mを介してメイン制御基板101に不正な信号入力がなされることを回避するためである。本実施例では、基板ボックス101B内に仕切壁101Wを設け、一方の室にメモリ基板200Mを収納し、他方の室にメイン制御基板101を収納するという構造を採った。こうすることにより、メモリ基板200Mとメイン制御基板101とが電気的に隔離されていることを視覚で容易に確認することができる。
メイン制御基板101は、内部にCPU、RAM、ROMなどを備えたマイクロコンピュータとして構成されている。メイン制御基板101は、払出制御基板25、サブ制御装置35にコマンドを出力する他、種々の装置を直接制御する。図中には、メイン制御基板101が制御する装置の一例として、大入賞口10を駆動するための大入賞口ソレノイド10s、および特別図柄表示装置41を例示した。特別図柄表示装置41とは、LEDの点灯状態によって大当りか否かを表示する装置である。メイン制御基板101は、この他にも、普通図柄表示装置、特別図柄保留ランプ、普通図柄保留ランプ、大当り種類表示ランプ、状態表示ランプなどの表示を制御することができる。また、メイン制御基板101には、遊技中の動作を制御するため、種々のセンサからの検出信号が入力される。図中には一例として入賞検出器15aからの入力を例示した。入賞検出器15aとは、始動入賞口9への入賞を検出するためのセンサである。メイン制御基板101は、入賞検出器15aからの信号に応じて、先に説明した抽選を行い、大当り遊技を実行することができる。メイン制御基板101には、他にも種々の入力がなされているが、ここでは説明を省略する。
払出制御基板25は、内部にCPU、RAM、ROMを備えたマイクロコンピュータであり、遊技中の遊技球の発射および払い出しを次の手順で制御する。遊技球の発射は、直接的には発射制御基板47によって制御される。即ち、遊技者が、発射ハンドル8を操作すると、発射制御基板47は操作に応じて発射モータ49を制御し、遊技球を発射する。遊技球の発射は、タッチ検出部48によって、発射ハンドル8に遊技者が触れていることが検出されている状況下でのみ行われる。払出制御基板25は、発射制御基板47に対して、発射可否の制御信号を送出することで、間接的に球の発射を制御する。
遊技中に入賞した旨のコマンドをメイン制御基板101から受信すると、払出制御基板25は、賞球払出装置21内の払出モータ20を制御し、払出球検出器22によって球数をカウントしながら規定数の球を払い出す。払出モータ20の動作は、モータ駆動センサ24によって監視されており、球ガミ、球切れなどの異常が検出された場合、払出制御基板25は、表示部4aにエラーコードを表示する。エラー表示された時には、係員が異常を除去した後、操作スイッチ4bを操作することで復旧させることができる。
サブ制御装置35は、内部にCPU203、RAM204、音声を出力するための音源IC207を備え、遊技中における音声、表示、ランプ点灯などの演出を制御する。制御に必要なプログラムおよびデータは、メモリ基板200M上のROM205、206に格納されている。これらの演出は、通常時、入賞時、大当たり時、エラー時、不正行為その他の異常が生じた時の警報など、遊技中のステータスに応じて変化する。メイン制御基板101から、各ステータスに応じた演出用のコマンドが送信されると、サブ制御装置35は、各コマンドに対応したプログラムを起動して、メイン制御基板101から指示された演出を実現する。
本実施例では、図示する通り、サブ制御装置35は、スピーカ29を直接制御する。サブ制御装置35の制御対象となるランプには、遊技盤面に設けられたパネル装飾ランプ12と、枠に設けられた枠装飾ランプ13がある。サブ制御装置35は、ランプ中継基板12B、13Bを介して、パネル装飾ランプ12および枠装飾ランプ13と接続されており、各ランプを個別に点滅させることができる。
サブ制御基板35は装飾図柄制御基板300を介してLCD16の表示内容を制御する。装飾図柄制御基板300の構造については後で詳述する。装飾図柄制御基板300が制御に利用するデータは、メモリ基板200M上のROM210およびキャラROM212から供給される。
C2.装飾図柄制御基板の構成:
図4は装飾図柄制御基板300の回路構成を示す説明図である。装飾図柄制御基板300は、サブ制御装置35から受けた表示コマンドに応じて、LCD16に画面を表示するための駆動データを出力する。駆動データは、LCD16にマトリックス状に備えられたR,G,Bの各画素の表示階調値を示すデータである。駆動データは、主走査として、LCD16の左から右に順次、画素ごとに出力される。一ラスタ分の出力が完了すると、副走査として直下のラスタに移行し、同様に左から右に向けて順次、画素ごとに駆動データが出力される。
装飾図柄制御基板300には、表示コマンドに応じた駆動データを生成する機能を実現するために図示する種々の回路が用意されている。装飾図柄制御基板300には、まず、駆動データの生成を制御するためのマイクロコンピュータとしてCPU381、RAM382が備えられている。駆動データを生成するための表示プログラム、表示コマンドに対し表示すべき画面、表示の時間、表示の順序を規定するスケジューラ、各画面の構成を規定する画面データ、およびOSDデータは、メモリ基板200M上のROM210に格納されている。OSDデータとは、遊技中に画面データに従って表示される画面(以下、「演出表示」と呼ぶ)に重ね合わせて表示される画面(以下、「OSD表示」と呼ぶ)を表すデータである。
画面データの内容については後述するが、この段階では、LCD16の画素に対応したラスタデータではなく、LCD16に表示すべきスプライトの種類および配置を示すコマンドである。これに対し、OSDデータは、LCD16の画素に対応したラスタデータとなっている。キャラROM212は、スプライトデータ、即ち画面に表示されるスプライトをビットマップで表したデータを格納している。
CPU381は、ROM210を参照して、表示コマンドに応じた画面データを抽出し、VDP(Video Display Processor)385に出力する。VDP385は、CPU381から受け取った画面データに基づいて、表示すべきスプライトデータをキャラROM212から抽出し、表示データ、即ち表示すべき画像をビットマップ展開したデータを生成して、スケーラ390に出力する。以下、ビットマップ展開するための記憶領域を「キャンバス」と呼ぶ。
VDP385には、CPU381からの画面データを受け取り保持しておくためのレジスタとして、スプライトレジスタ385sおよびVDPレジスタ385vを備えている。スプライトレジスタ385sは、画面データのうち、スプライトの配置や重ね合わせの順序などを示す描画コマンドを受け取るためのレジスタであり、ダブルバッファとして構成されている。つまり、第1バッファ、第2バッファという二つの等しい容量のバッファが備えられている。従って、VDP385は、CPU381から出力された描画コマンドが第1バッファに書き込まれている間、第2バッファに保持されている描画コマンドを読み出して表示データの生成処理を実行することができる。VDPレジスタ385vは、表示データを生成する際の条件設定を指定するコマンド(以下、「条件設定コマンド」と呼ぶ)を記憶するためのレジスタである。条件設定コマンドには、例えば、描画コマンドが複数のレイヤから構成されている場合に、各レイヤの重ね合わせ順序、表示/非表示の設定などが含まれる。条件設定コマンドは比較的低容量であり、書き込みの所要時間が短いことから、VDPレジスタ385vはダブルバッファとはなっていない。
スケーラ390は、VDP385からの表示データをフレームメモリ397に格納する。また、フレームメモリ397から表示データを読み出し、LCD16に出力する。図示する通り、本実施例では、フレームメモリ397の内部は397[0]、397[1]および397[11]以降という複数のフィールドに分かれている。2つのフィールド397[0]、397[1]はそれぞれLCD16の表示領域分の画素データを記憶可能なメモリである。
フィールド397[11]以降には、フィールドごとにOSDデータが格納される。本実施例では、複数種類のOSDデータを格納できることになる。OSDデータのサイズは、スケーラ390で扱い得る範囲で任意に設定可能である。本実施例では、後述する通り、LCD16の表示領域よりも小さいサイズのOSDデータ、大きいサイズのOSDデータが混在している。
先に説明した通り、OSDデータはROM210に格納されている。CPU381が、起動時にこのOSDデータをROM210から読み出し、シリアルI/Fを介してスケーラ390に転送し、フレームメモリ397に格納する。従って、遊技時には、必要なOSDデータは、予めフレームメモリ397の各フィールドに格納されている。
CPU381とスケーラ390を接続するシリアルI/Fは、この他、OSDデータを特定するためのOSD制御信号の出力、にも利用される。CPU381は、フレームメモリ397の各フィールドに表示データを誤り無く格納するため、VDP385に描画コマンドを出力する際に、フィールド信号を生成し、シリアルI/Fを介してスケーラ390に出力する。スケーラ390は、この信号に応じて内部的に制御信号IFLDを生成し、VDP385からの表示データを格納すべきフィールドを特定する。
スケーラ390は、LCD16に16msecのフレームレートで同期信号および駆動データを出力し、LCD16の画像を更新する。同期信号は、スケーラ390自身が生成する。駆動データはフレームメモリ397[0]、397[1]に格納されているデータである。CPU381からOSDデータの使用が指示されていない場合には、スケーラ390は、フレームメモリ397[0]、397[1]の駆動データをそのまま出力する。
CPU381からOSDデータの使用が指示されている場合には、スケーラ390は、指定されたOSDデータを表示データに重ね合わせた状態の駆動データを生成し、LCD16に出力する。以下、この機能をOSD機能と称する。ただし、本実施例のスケーラ390は、一度に利用できるOSDデータは一つに限られる。もっとも、複数のOSDデータを重ね合わせ可能なスケーラ390を用いることも可能である。
スケーラ390は、この他、表示データを拡大、縮小して、LCD16に出力する機能も有している。また、複数フィールドの表示データを合成してLCD16に出力することもできる。例えば、LCD16の上半分/下半分に分割し、2回に分けて表示データを生成して複数フィールドに格納し、スケーラ390でこれらを合成してLCD16に出力する態様を取ることもできる。これらの拡大、縮小機能や、合成機能を利用することにより、VDP385に過度の負荷をかけるまでなく、高解像度のLCD16用の表示データを生成することが可能となる。
C3.メモリ基板の作用および変形例:
本実施例においてメモリ基板200Mを用いることの利点は次の通りである。本実施例のパチンコ機1では、LCD16およびサブ制御基板35、装飾図柄制御基板300が本体枠3に取り付けられている。サブ制御基板35、装飾図柄制御基板300の動作に必要なプログラムおよびデータは、メモリ基板200M上に実装されたROM210、205、206およびキャラROM212から供給される。これらの基板はソフトウェアに応じた動作をするから、サブ制御基板35、装飾図柄制御基板300を本体枠3に取り付けたままでも、メモリ基板200Mを交換することによってその動作を変えることができ、これらの基板のハードウェアを機種間で共用化することができる。
本実施例では、メモリ基板200Mを遊技盤5に取り付けているため、過度な管理負担なく遊技盤5とメモリ基板200Mとの整合性を保つことができる。このメモリ基板200Mは、基板ボックス101B内に収納されているため、遊技盤5に取り付けるべき基板ボックスの増加を回避でき、遊技盤5への取付け時の製造負荷も軽減することができる。もっとも、この構成は必須のものではない。メモリ基板200Mは、基板ボックス101Bと別の基板ボックス内に収容する態様を採ることも可能である。
図3で示した構成も必須のものではなく、例えば、メモリ基板200Mに搭載したROM210、212,205、206を、遊技盤5の取付時に、本体側のサブ制御基板35、装飾図柄制御基板300に直接、取り付けるようにしてもよいし、遊技盤5にサブ制御基板35、装飾図柄制御基板300を取り付けるようにしてもよい。
図5はメモリ基板の変形例を示す説明図である。それぞれの制御基板およびメモリ基板の接続構成を模式的に示した。図5(a)は実施例に相当する構成である。この構成では、既に説明した通り、遊技盤5にメイン制御基板101、メモリ基板200Mが取り付けられ、本体枠3にサブ制御基板35、装飾図柄制御基板300、およびLCD16が取り付けられている。サブ制御基板35、装飾図柄制御基板300には、それぞれメモリ基板200Mに実装されたROM205、206およびROM210、212からプログラムおよびデータが供給される。
図5(b)は本体枠側の構成を簡略化した例である。この例では、本体枠3にサブ制御基板35およびLCD16を取付ける。遊技盤5には、メイン制御基板101、メモリ基板200M1、装飾図柄制御基板300aを搭載する。メモリ基板200M1には、サブ制御基板35にプログラムおよびデータを供給するためのROM205、206のみが実装される。装飾図柄制御基板300aは、機種ごとに固有の基板となるため、ROMを実装した基板として構成することができる。
図5(b)に示した構成では、メイン制御基板101は、本体枠3のサブ制御基板35にコマンドを送信する。サブ制御基板35は表示データ生成用のコマンドを、遊技盤5に取り付けられた装飾図柄制御基板300aに送信する。そして、装飾図柄制御基板300aで処理された表示データは再び本体枠3に送信され、LCD16に出力される。
図5(b)において、LCD16を遊技盤5に取り付けた構成を採ってもよい。この構成は、遊技盤5の遊技領域内に表示パネルが取り付けられた従来の配置からなるパチンコ機にも適用しやすい利点がある。また、装飾図柄制御基板300aは、電源電圧や出力信号の種別など、LCD16に固有の基板となることが多いため、このようにLCD16と装飾図柄制御基板300aとを共に遊技盤5に取り付ける場合には両者の適合性を保ちやすいという利点がある。
図5(c)では本体枠側に装飾図柄制御基板300およびLCD16を取付ける。遊技盤5には、メイン制御基板101、メモリ基板200M2、サブ制御基板35aを搭載する。メモリ基板200M2には、装飾図柄制御基板300にプログラムおよびデータを供給するためのROM210、212のみが実装される。サブ制御基板35aは、機種ごとに固有の基板となるため、ROMを実装した基板として構成することができる。
図5(c)に示した構成では、メイン制御基板101がサブ制御基板35aにコマンドを送信した後、サブ制御基板35は表示データ生成用のコマンドを、本体枠3に取り付けられた装飾図柄制御基板300に送信する。そして、装飾図柄制御基板300で処理された表示データはLCD16に出力される。図5(c)の構成では、本体枠3と遊技盤5の間の信号往復が少ない分、両者の接続部分での接触不良などの危険を抑制できる利点がある。また、装飾図柄制御基板300とLCD16とを共に本体枠3に取り付けるため、両者の適合性を保つことができる利点もある。
D.制御基板間の接続構造:
図6は制御基板間の接続構造を示す説明図である。図6(a)は本体枠3、遊技盤5の斜視図である。遊技盤5には、下方に基板ボックス101Bが取り付けられている。この中には、メイン制御基板101およびメモリ基板200Mが収納されている。基板ボックス101Bには、側面に封印101Lが施されており、不正に開封したことが容易に発見できるようになっている。
メモリ基板200Mには、コネクタ200Cが実装されている。コネクタ200Cは、本体枠3に取り付けられたサブ制御基板35、装飾図柄制御基板300に実装されたコネクタ11Cと接続される。本体枠3には、この他、LCD16、電源基板107、払出制御基板25が取り付けられている。
図6(b)はA−A断面図である。本体枠3には、電源基板107、払出制御基板25の上に、積み重ねるようにしてサブ制御基板35、装飾図柄制御基板300が取り付けられており、更にその上にLCD16が取り付けられている。表示基板ボックス11AとLCD16とは、ケーブル4Cで接続されている。ここに、遊技盤5をはめ込むと、コネクタ200C、11Cが接続し、基板ボックス101Bが電源基板107の上に積み重なるようにして取り付けられる。
図7は接続部分の構造を示す説明図である。遊技盤5を本体枠3にはめ込み、ロック機構3L、5Lで固定した状態におけるコネクタ200C、11Cの断面図を示した。サブ制御基板35、装飾図柄制御基板300のコネクタは、図6に示したように両者をまとめて単一のコネクタとしてもよいが、図7に示すように個別のコネクタとしてもよい。この例では、装飾図柄制御基板300と、これに対応するROM210、212とはコネクタ11C1、200C1で接続される。サブ制御基板35と、これに対応するROM205、206とはコネクタ11C2、200C2で接続される。メイン制御基板101Aとサブ制御基板35との間もコネクタ11C2、200C2を介して接続してもよいし、これとは別のコネクタを用いて接続してもよい。
上述の構成によれば、遊技盤5をはめ込むだけで、コネクタ200C、11Cによって、メモリ基板200M上のROM205、206、210、212と、サブ制御基板35、装飾図柄制御基板300とを容易に電気的に接続することができる。この構造は必須のものではなく、コネクタ200C、11Cに代えて、ケーブルで両者を接続する構造としてもよい。
E.表示制御:
E1.全体処理:
図8は表示領域の区画を示す説明図である。先に説明した通り、本実施例では、LCD16の前面には、周囲を取り囲むようにして氷を模した凹凸部材51が設けられている。LCD16の表示内容は、凹凸部材51との境界線の内側の演出表示領域16Vと、凹凸部材51に覆われた背後領域16B(図中にハッチングで付した領域)に分けて決められる。演出表示領域16Vでは、大当りなどを知らせる種々の演出表示が行われ、背後領域16Bでは、凹凸部材51を通した資格効果を与えるための照明表示が行われる。以下、これらの表示の制御について説明する。
図9は表示制御処理のフローチャートである。サブ制御基板35からのコマンドに応じて、装飾図柄制御基板300のCPU381がVDP385に対して描画コマンド等を出力し、表示データを生成させるとともに、スケーラ390に対してOSD制御信号を出力しOSD表示を行わせるために実行する処理である。この処理は、16msec周期の割込処理として実行される。
この処理を開始すると、CPU381は、処理を実行するための準備として、多重割込みを許可し(ステップS1)、ノイズキャンセル・判定処理を行う(ステップS2)。そして、割込端子の端子レベルを確認し(ステップS3)、端子レベルが異常の場合には、ノイズ等の影響による異常なトリガに基づいて表示制御処理が開始されたものと判断し、そのまま処理を終了する。
端子レベルが正常の場合には、サブ制御装置35からのコマンドを入力し(ステップS4)、キャラクタ表示制御処理(ステップS100)を行って表示制御処理を終了する。キャラクタ表示制御処理とは、サブ制御装置からのコマンドに応じた画面データを用いて、スプライトを配置した演出表示を実行するための処理である。キャラクタ表示制御処理の内容については後で詳述する。
図10はキャラクタ表示処理における表示データの生成例を示す説明図である。図の左側には、VDP385内での処理概要を示し、図の右側にはフレームメモリ397に格納されるデータ内容を示した。図の左側に示すように、VDP385内では、描画データをビットマップ展開するためのキャンバスCV01が用意されている。回路上では、キャンバスCV01内の全画素に対応するメモリ領域が用意されることになる。以下、説明の便宜上、キャンバスCV01の左上を原点として左から右に向かう主走査方向をx方向、上から下に向かう副走査方向をy方向と呼ぶこともある。
本実施例では、キャンバスCV01に対応する物理的なメモリが用意されている場合を例にとって説明するが、キャンバスCV01は仮想的なものでもよい。例えば、キャンバスCV01上への描画をラスタ単位で行う場合には、1ラスタ分の描画データをビットマップ展開するためのラインメモリ、およびキャンバスCV01のどのラスタを展開しているのかを管理するためのレジスタを用意しておけば足りる。VDP385が描画可能なキャンバスCV01のサイズは、このレジスタの上限値で決定されることになる。本実施例は、このレジスタの上限値が512に制限されている場合に相当すると言うこともできる。
キャンバスCV01内には、VGA画像相当の表示エリアVAが定義される。VDP385は、キャンバスCV01上に画像をビットマップ展開した後、表示エリアVA内の画像を切り出し、表示データとしてスケーラ390に出力する。本実施例において、キャンバスCV01を表示エリアVAよりも大きいサイズとしたのは、以下に示す通り、スプライトが表示エリアVAから一部はみ出す状態で配置された場合でも比較的簡易な処理でビットマップ展開可能とするためである。
仮に、表示エリアVAとキャンバスCV01が同じサイズの場合を考える。この場合には、スプライトが表示エリアVAからはみ出して配置される場合の処理方法としては、本実施例で示す方法の他、キャラROMから取得したスプライトデータのうち、表示エリアVA内に存在する部分のみを切り出してビットマップ展開することになる。しかし、この方法では、描画時に各スプライトから表示エリアVA内にある部分のみを抽出する処理が必要となる分、処理負荷が非常に高くなる。これに対し、実施例のようにキャンバスCV01を表示エリアVAよりも大きくしておけば、スプライトが表示エリアVAからはみ出す場合でも、上述の切り出しを行うまでなく、ビットマップ展開できるため、処理の簡素化を図ることができるのである。
CPU381から上画像の描画データを受け取り、VDP385が画像を描画すると、キャンバスCV02の状態が得られる。先に説明した通り、ここでは、OSD機能を用いることなく、演出表示領域16Vの演出表示および背後領域16Bの照明表示を行うものとする。従って、キャンバスCV02には、図示するように、これら2つの領域を合成した状態の画像が描画される。かかる画像の描画は種々の方法で実現できる。例えば、表示エリアVA全体に演出表示用の画像を描画した上で、照明表示用の画像を上書きするようにしてもよい。また、両者を合成した状態の画像を表す画面データを予め用意しておくようにしてもよい。VDP385が、複数のレイヤに分けて描画する機能を有している場合には、照明表示を最前面のレイヤに描画する方法を採っても良い。
VDP385は、キャンバスCV02から、表示エリアVA内の画像を切り出し、スケーラ390を介して(図示を省略)、表示データとして出力する。図中には、表示データがフレームメモリ397の演出表示用のフィールド397[0]に格納された状態を示した。フィールド397[1]には、次に描画された表示データが格納される。フィールド397[1]に表示データを格納している間に、スケーラ390がフィールド397[0]から表示データを出力することにより、LCD16にはこの画像が表示される。
図11は画面データ出力の様子を示すタイミングチャートである。表示データがフレームメモリに格納され、LCD16に出力される様子を示した。本実施例では、VDP385のスプライトレジスタ385sには、32msec周期で繰り返し描画コマンドが書き込まれる。図中では、LCD16に表示されるフレームに対応して描画コマンドを「VGA1」、「VGA2」のように示した。
先に説明した通り、スプライトレジスタ385sはダブルバッファとなっている。第1バッファへの「VGA1」の描画コマンドの書き込みが完了すると、この描画コマンドは、DMA信号に同期して、第2バッファにDMA転送され、VDP385によるビットマップ展開が開始される。この結果、図中に示すように、「VGA1」の書き込みが完了し、DMA信号が出力された後で、VDP出力として「VGA1出力」が得られる。VGA1出力が行われている間、スプライトレジスタ385sには、次の描画コマンドVGA2が書き込まれる。描画コマンドVGA2の書き込みが完了すると、DMA信号に同期して、第2バッファに転送され、VDP出力として「VGA2出力」が開始される。以後、この手順の繰り返しによって、描画コマンドおよび表示データの出力が行われる。VDP385からは、VDP出力と併せて同期信号VSYNCも出力される。
CPU381からVDP385には、描画コマンドの他、描画条件を指定する条件設定コマンドも出力される。このコマンドはVDPレジスタに格納される。また、CPU381は、VDP385に描画コマンドを出力する際に、フィールド信号を出力する。フィールド信号は、図示する通り、32msecごとにON/OFFが切り替わる信号である。スケーラ390は、フィールド信号に連動する形でデータ読み書きをする対象となるフィールドを指定する1ビットの制御信号IFLDを内部的に生成する。制御信号IFLDのON/OFFは、それぞれフレームメモリ397のフィールド397[0]、[1]に対応する。
例えば、VDP385から「VGA1出力」がなされている時点では、制御信号IFLDはOFFであるから、書き込みメモリはフィールド397[0]となる。「VGA2出力」がなされている時点では、制御信号IFLDはONであるから、書き込みメモリはフィールド397[1]となる。読み出しメモリは、制御信号IFLDを反転させた信号で指定すればよい。「VGA1出力」がなされている時点では、制御信号IFLDはOFFとなっているから、その反転信号はONである。従って、フィールド397[1]が読み出しメモリとなる。VGA1出力が完了すると、制御信号IFLDがONとなるから、読み出しメモリはフィールド397[0]に切り替わる。
以上で示した手順により、VDP385はCPU381から描画コマンドを受け取り、表示データを生成してフレームメモリ397に書き込む。フレームメモリ397の書き込みメモリは、32msec周期で切り替わる。スケーラ390は、また、フレームメモリ397から、格納済みの表示データを読み出し、LCD16に駆動データとして出力する。図示する通り、LCD16への出力は、同一の読み出しメモリから2回ずつ繰り返して行われる。つまり、LCD16には16msec周期で同じ駆動データが出力され、同じ画面が表示される。画面内容は、32msec周期で切り替わることになる。表示データの出力等を16msec周期で実行し、LCD16の画面内容を16msecで更新してもよい。
E2.キャラクタ表示制御処理:
図12はキャラクタ表示制御処理のフローチャートである。表示制御処理(図9)のステップS100に相当する処理であり、CPU381がVDP385に対して描画コマンド等を出力して演出表示用の表示データを生成させるための処理である。この処理は、32msec周期の割込処理として実行される。16msecの割込処理として構成してもよい。
この処理を開始すると、CPU381は、VDP385を初期化する(ステップS102)。この処理には、VDP385が表示データの生成に使用する種々のレジスタ等の値の初期化が含まれるが、CPU381からの描画コマンド等を保持しておくべきスプライトレジスタおよびVDPレジスタの初期化は含まれない。スプライトレジスタ等の初期化は、別途実行することになる。
次に、CPU381はVDP385のスプライトレジスタを初期化する(ステップS104)。また、VDPレジスタに条件設定コマンドを設定する(ステップS106)。これは、表示データ生成時に使用される種々の設定をVDPレジスタに書き込む処理である。これらの初期化およびVDPレジスタ設定が完了すると、CPU381は、次にサブ制御装置35から受信した表示コマンドの内容を解析し(ステップS108)、LCD16に表示すべき画面データを特定する。そして、この画面データに基づいてVGA画像の描画コマンドをVDP385に出力する(ステップS110)。
CPU381は、描画コマンド出力の後、スプライトの最適化を行う(ステップS112)。これは、次の手順で、VDP385に定義された表示エリア(図10のVA参照)から全体が外れるようなスプライトについては、描画コマンドから省略する処理である。先に説明した描画コマンド出力時には、CPU381は、スプライトが表示エリアに含まれるか否かを判定することなく、画面データで特定された全てのスプライトを描画対象としてVDP385のスプライトレジスタに書き込む。各スプライトについては、描画位置の指定の他、表示/非表示を切り換えるためのフラグが設けられており、この段階では、このフラグは全て「表示」に設定されている。CPU381は、スプライトの最適化では、それぞれのスプライトレジスタについて、書き込んだスプライトレジスタのサイズ、位置に基づいて、表示エリアから全体が外れるか否かを判定する。全体が外れるスプライトに対しては、CPU381は、上述のフラグを切り換え「非表示」に設定する。
スプライト最適化は、上述の通り、全体が表示エリアから外れるスプライトをキャンバス上に描画するという無駄な処理を回避するための処理である。描画コマンドを出力する際に、一つ一つのスプライトについて表示エリアから外れるか否かの判定を行う方法を採ることも可能ではあるが、本実施例では、描画コマンドの出力と、スプライト最適化に分けることにより、同種の処理を集約することができ、処理効率を向上させている。もっとも、スプライト最適化は、VDP385の処理効率を向上させるための処理であるため、省略することも可能である。CPU381は、以上の処理が完了すると、フィールド信号(図11参照)を切り換える(ステップS114)。
次に、CPU381は、OSD表示の要否を判断する(ステップS116)。OSD機能とは、VDP385で生成された表示データに予め用意されたOSDデータを重ね合わせてLCD16に表示させる機能である。OSD機能を利用すれば、例えば、背後領域16Bの表示内容をOSDデータとして用意し、VDP385で演出表示領域16Vの表示データを生成し、両者を重ね合わせてLCD16に表示させることができる。OSD機能による表示の可否は、予め設定しておくことが可能である。ここでは、まずOSD機能を用いることなく、演出表示領域16Vおよび背後領域16Bの表示を実現する例を示し、その後でOSD機能を用いて、これらの表示を実現する例を示す。OSD機能を用いない設定となっている時、CPU381は、OSD機能制御処理(ステップS118)をスキップして、表示制御処理を終了する。
以上の処理では、VDP385は、演出表示領域16Vおよび背後領域16Bの双方の表示内容を合成した状態の表示データを生成する。この表示データをLCD16に出力することにより、演出表示および照明表示を実現することができる。LCD16の表示を用いて凹凸部材51を照明するため、LEDなどの発光装置で照明する場合に比較して、多彩な色彩や、滑らかに変化するグラデーション、動画相当の複雑な変化などを実現することができ、凹凸部材51の形状を活かした視覚効果を与えることができる。
E3.表示制御処理の変形例:
OSD機能を用いずに照明表示を行う場合の変形例について説明する。上述の実施例では、演出表示および照明表示を合成した表示データをキャラクタ表示制御処理(図12)で生成する場合を例示した。つまり、演出表示と照明表示の内容を同じ周期で更新する例を示した。
これに対し、例えば、照明表示の内容を更新する周期を、演出表示よりも長くする態様を採ることもできる。VDP385がレイヤに分けて描画可能な機能を有している場合には、キャラクタ表示制御処理(図12)の描画コマンド出力(ステップS110)において、キャラクタ表示制御処理を複数回実行する度に一度の割合で、照明表示用のレイヤの描画コマンドを出力するようにすればよい。こうすれば、キャラクタ表示制御処理を実行する度に演出表示の内容は更新されるのに対し、照明表示は複数回に1回程度の低い更新レートで更新されることになる。照明表示には、演出表示ほど高速での動画表示が要求されない場合には、かかる態様を採ることにより、VDP385の描画負荷を軽減することができる利点がある。
E4.OSD機能:
次に、OSD機能を用いて照明表示を行う例について説明する。OSD機能を使う旨の設定をしておくと、CPU381が、キャラクタ表示制御処理(図12)においてOSD制御処理(ステップS118)を実行することによって、OSD表示を行うことができる。以下では、まずOSD機能を用いた照明表示の概要を示した上で、その制御処理について説明する。
図13はOSD機能の概要を示す説明図である。図13(a)には表示エリアVAとOSDコード面OSDの位置関係を示した。表示エリアVAとは、LCD16で画像を表示可能な領域である。表示エリアVAは、横方向にVAx画素、縦方向にVAy画素のサイズを有しているとする。また、表示エリアVA上の位置は、図示するように左上を原点として設定された左右方向にx軸、上下方向にy軸による座標で表される。
OSDコード面OSDとは、OSDデータによって表される画像が表示される領域である。OSDコード面OSDは、横方向にOSDx画素、縦方向にOSDy画素のサイズを有している。図中では、OSDコード面は表示エリアVAよりも小さい例を示しているが、表示エリアVAよりも大きいサイズであってもよい。本実施例では、OSD表示を照明表示に用いるため、OSDコード面OSDは、表示エリアVAと同じ大きさに設定しておくことになる。
OSDコード面OSDの位置は、OSDコード面の左上の点の座標で示される。図中の例では、表示エリアVAの原点からx方向にOFSTx、y方向にOFSTyだけ移動した点にOSDコード面が配置されている。CPU381は、スケーラ390にOSDデータの使用を指示する場合には、フレームメモリ397に格納されたOSDデータのいずれかを特定するためのデータの他、OSDコード面の位置を規定する表示位置(OFSTx、OFSTy)を出力する。照明表示を行うためには、表示エリアVAとOSDコード面の位置を合わせる必要があるから、表示位置(OFSTx、OFSTy)=(0、0)となる。
図13(b)にOSDデータを用いた場合のLCD16の表示画面例を示した。図の例では、最背面に示した表示エリアVAの画像に、OSDコード面OSDの画像が重ね合わせられ、最前面に示した画像がLCD16に表示される。この例のOSDデータでは、OSDコード面OSDのうち、背後領域16Bにのみ画像が表示され、演出表示領域16Vは透明状態である。OSDコード面OSDは、このように透明部分を含む形で定義することができる。こうすることにより、VDP385で演出表示用の表示データを生成すれば、その周囲に照明表示が配置された状態の画像表示を実現することができる。
図14はOSDデータ例を示す説明図である。図の例では、星印をちりばめた装飾を表すOSDデータをフィールド397[71]に、均一な照明表示を表すOSDデータをフィールド397[72]に、濃淡のある照明表示を表すOSDデータをフィールド397[73]に格納した例を示した。これらのOSDデータの余白部分は、演出表示が透視可能に構成されている。
これらの装飾を使い分けることにより、演出表示は同一であっても、照明表示を変化させることができる。従って、遊技中に遊技の状況に応じてOSDデータを使い分けることによって、凹凸部材51に多彩な視覚効果を与えることが可能となる。
図15はOSD制御処理のフローチャートである。キャラクタ表示制御処理(図12)のステップS118に相当する処理である。CPU381は、OSD機能を用いた照明表示を行う設定となっている場合において、照明表示の更新タイミングになっている場合には(ステップS120)、表示すべきOSDデータを特定するOSD格納アドレスおよびその表示位置(図13参照)を特定する(ステップS122)。本実施例では、背後領域は固定されており表示位置は(0,0)の一定値となるため、表示位置の指定は省略してもよい。照明表示の更新タイミングは任意に設定可能である。例えば、演出表示領域の表示と同じく16msecのタイミングで毎回更新するようにしてもよいし、それよりも低い更新レートで更新するようにしてもよい。低い更新レートを採った場合には、数フレームに亘って、同じ照明表示が繰り返し行われることになる。
OSD格納アドレス等の設定が終わると、CPU381は、スケーラ390にOSDデータの表示を行う旨の指示と共に、設定されたOSD格納アドレスおよび表示位置を出力して(ステップS124)、OSD制御処理を終了する。更新タイミングでない場合には、従前のOSD格納アドレスおよび表示位置が続けて指示されることになる。スケーラ390は、このOSD制御信号を受信して、指定されたOSDデータをフレームメモリ397から読み出し、図14に示したように、演出表示の画面に重ね合わせることでOSD表示を実現する。
このようにOSD機能を用いて照明表示を行えば、VDP385が照明表示用の描画を行う必要がなくなるため、その分、処理負荷を軽減することができる。また、演出表示と予め用意されたOSDデータとを組み合わせることにより、比較的容易に柔軟かつ多彩な照明表示を実現することができる利点もある。上述の実施例では、OSD機能を用いるか否かを予め設定しておく場合を例示したが、この設定は遊技中に切り換えても良い。例えば、演出表示と同期をとって照明表示を行う場合や、演出表示と同程度の高速の動画を照明表示に用いる場合には、OSD機能を用いずにVDP385で背景領域部分も含めて表示データを生成する態様を採り、その他の場合にはOSD機能を活用するようにしてもよい。こうすることで、両者の利点を活かし、多様な照明表示を軽い処理負荷で実現することが可能となる。
F.照明表示例:
図16は照明表示例(1)を示す説明図である。本実施例の凹凸部材51は氷をモチーフとしているため、氷に適合した表示を行うことになる。例えば、図16(a)の左側に示すように、照明表示は、凹凸部材51の背後から、青白い濃淡の光で照明することで、氷の立体感や寒々とした感じを表現させることができる。かかる表示に代えて、均一な濃度のベタ領域で照明するようにしても良いし、青系以外の色を用いても構わない。更に、図16(b)、図16(c)に示すように、徐々に濃淡の位置を変化させることにより、氷が融けていく様子や、一段と凍り付いてくる様子を表現するようにしてもよい。
また、照明表示と演出表示との融合によって凹凸部材51を活かした表示を行うようにしてもよい。例えば、図16(a)の右上側に示すように、背後領域16Bでは、凹凸部材51の照明表示を行いつつ、演出表示領域16Vに凹凸部材51との連続性を考慮した表示を行うのである。この例では、演出表示領域には、凹凸部材51とつながるように、氷が広がっていく表示を行う。図16(a)〜図16(c)には、徐々に氷が広がっていく演出表示の様子を例示した。このように凹凸部材51との連続性を考慮した画像を演出表示領域に行うことで、凹凸部材51の立体感とあいまって、遊技者に、氷の立体感をよりリアルに感じさせることが可能となる。この表示は、演出表示領域16Vのみで行うようにしてもよいが、凹凸部材51の境界での違和感を軽減するためには、図中に示すように、背後領域16Bと演出表示領域16Vにまたがって表示することが好ましい。
実施例では、凹凸部材51は固定の場合を例示したが、凹凸部材51は可動としてもよい。例えば、図16(a)〜図16(c)中に示す凹凸部材51aのように、氷の一部が演出表示領域16Vの前面を落下するように凹凸部材51aを移動させる態様が考えられる。このような場合には、移動する凹凸部材51aの背後領域も、その動きに合わせて移動させればよい。移動中に凹凸部材51aを背後から種々の色で均一または濃淡を持たせて照明したり、移動に合わせて濃淡の様子を変化させることで、氷が砕ける様子を表現したりすることができる。かかる表示は、キャラクタ表示制御処理(図12)において、凹凸部材51aの照明表示用のスプライトの位置を変化させることにより、実現することができる。また、OSD機能を用いつつ、その表示位置(図13参照)を変化させるようにしてもよい。このように本実施例では、背後領域は、複数に分割した領域として定義しても良いし、可動領域として定義することもできる。
図17は照明表示例(2)を示す説明図である。実施例(図2)で示したのとは異なり、LCD16の左右に凹凸部材51L、51Rを配置した例を示した。各凹凸部材51L、51Rは、川の流れをモチーフとし、水面の凹凸や岩を模した形状となっている。LCD16は視野角の影響によって、視認する方向に応じて表示色が異なって見えることがあり、パチンコ機1ではコスト上の制約から横長形状のLCDが用いられることが通常であるため、縦長の演出表示領域16V1を実現することは困難であった。しかし、図17では、凹凸部材51L、51Rを左右に配置することにより、LCD16に縦長の演出表示領域16V1を実現している。この時、LCD16の左右の領域は、凹凸部材51L、51Rの背後領域16BL、16BRとして、これらの部材の照明表示に活用される。こうすることで、LCD16を無駄にすることなく、縦長の演出表示領域16V1を実現することができるのである。
この例でも種々の態様で照明表示を行うことができる。例えば、凹凸部材51L、51Rの背後から、青系統の色で、水が流れる様子を表す表示を行っても良い。また、凹凸部材51L、51Rの途中に岩状の凹凸を形成してある場合には、この部分で白い泡状の表示を行い、岩に当たった水の流れを表現してもよい。これらの表示を、動的に変化させることで、水の流れを動的に表現することができる。また、単にLCD16の画面に水の流れる様子を表示する場合に比較して、凹凸部材51L、51Rという3次元的な部材を配置していることにより、遊技者により3次元的でリアルな視覚効果を与えることができる。
照明表示として、凹凸部材51L、51R内を移動するキャラクタ等を表示させてもよい。図中には、川の中を泳ぐ魚FSを照明表示として行う例を示した。こうすることにより、照明表示でも演出効果を高めることができる。また、遊技者は、凹凸部材51L、51Rを通して魚FSを視認するため、魚が水面下にいるかのようなよりリアルな視覚効果を受ける。
以上で説明した通り、実施例のパチンコ機では、凹凸部材51でLCD16の一部を覆うとともに、覆われた背後領域では、凹凸部材51向けの照明表示を行う。こうすることにより、LCD16の周囲を効果的に装飾して各パチンコ機の個性を表現しつつ、LCD16の共用化を図ることができる。LCD16で凹凸部材51の照明表示を行うことにより、LED等を用いる場合よりも多様な表示が可能になるとともに、その表示を滑らかに変化させることも可能となり、興趣の高い視覚効果を与えることが可能となる。
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。上述の各実施例および変形例は、適宜、組み合わせて用いることも可能である。実施例および変形例では、LCD16を表示装置として用いる場合を例示したが、本発明は他の種類の表示装置を用いる場合にも適用可能である。
また、実施例では、LCD16およびサブ制御基板35等を本体枠3に設置し、遊技盤5のメモリ基板200Mから必要なデータ等を提供する例を示した。本発明は、かかる構造のみでなく、LCD16、サブ制御基板35等を遊技盤5に備える構造を採ることもできる。
実施例では、LCD16の周囲や左右に凹凸部材51を配置する例を示した。本発明では、凹凸部材は種々の部位に配置可能である。凹凸部材は、必ずしもLCD16の周囲に配置する必要はなく、内側の領域に配置するようにしてもよい。