以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
本発明の実施形態の理解を容易にするため、まず、遊技機の機械的構成および電気的構成を簡単に説明し、その後、各基板における具体的な処理を説明する。
図1は、本実施形態の遊技機100の斜視図であり、扉が開放された状態を示している。図示のように、遊技機100は、略矩形状に組まれた四辺によって囲繞空間が形成される外枠102と、この外枠102にヒンジ機構によって開閉自在に取り付けられた中枠104と、この中枠104に、ヒンジ機構によって開閉自在に取り付けられた前枠106と、を備えている。
中枠104は、外枠102と同様に、略矩形状に組まれた四辺によって囲繞空間が形成されており、この囲繞空間に遊技盤108が保持されている。また、前枠106には、ガラス製または樹脂製の透過板110が保持されている。そして、これら中枠104および前枠106を外枠102に対して閉じると、遊技盤108と透過板110とが所定の間隔を維持して略平行に対面するとともに、遊技機100の正面側から、透過板110を介して遊技盤108が視認可能となる。
図2は、遊技機100の正面図である。この図に示すように、前枠106の下部には、遊技機100の正面側に突出する操作ハンドル112が設けられている。この操作ハンドル112は、遊技者が回転操作可能に設けられており、遊技者が操作ハンドル112を回転させて発射操作を行うと、当該操作ハンドル112の回転角度に応じた強度で、不図示の発射機構によって遊技球が発射される。このようにして発射された遊技球は、遊技盤108に設けられたレール114a、114b間を上昇して遊技領域116に導かれることとなる。
遊技領域116は、遊技盤108と透過板110との間隔に形成される空間であって、遊技球が流下または転動可能な領域である。遊技盤108には、多数の釘や風車が設けられており、遊技領域116に導かれた遊技球が釘や風車に衝突して、不規則な方向に流下、転動するようにしている。
遊技領域116は、発射機構の発射強度に応じて遊技球の進入度合いを互いに異にする第1遊技領域116aおよび第2遊技領域116bを備えている。第1遊技領域116aは、遊技機100に正対した遊技者から見て遊技領域116の左側に位置し、第2遊技領域116bは、遊技機100に正対した遊技者から見て遊技領域116の右側に位置している。レール114a、114bが遊技領域116の左側にあることから、発射機構によって所定の強度未満の発射強度で発射された遊技球は第1遊技領域116aに進入し、所定の強度以上の発射強度で発射された遊技球は第2遊技領域116bに進入することとなる。
また、遊技領域116には、遊技球が入球可能な一般入賞口118、第1始動口120、第2始動口122が設けられており、これら一般入賞口118、第1始動口120、第2始動口122に遊技球が入球すると、それぞれ所定の賞球が遊技者に払い出される。なお、賞球数は1個以上であれば何個でもよく、また、一般入賞口118、第1始動口120、第2始動口122のそれぞれで払い出す賞球数を異ならせてもよいし、同じ賞球数に設定してもよい。このとき、第1始動口120に遊技球が入球して払い出す賞球数を、第2始動口122に遊技球が入球して払い出す賞球数よりも少なく設定することも可能である。
なお、第1始動口120内には第1始動領域が設けられ、また、第2始動口122内には第2始動領域が設けられている。そして、第1始動口120または第2始動口122に遊技球が入球して第1始動領域または第2始動領域に遊技球が進入すると、予め設けられた複数の特別図柄の中からいずれか1の特別図柄を決定するための抽選が行われる。各特別図柄には、遊技者にとって有利な大役遊技の実行可否や、以後の遊技状態をどのような遊技状態にするかといった種々の遊技利益が対応付けられている。したがって、遊技者は、第1始動口120または第2始動口122に遊技球が入球すると、所定の賞球を獲得するのと同時に、種々の遊技利益を受ける権利獲得の機会を獲得することとなる。
また、第2始動口122には、可動片122bが開閉可能に設けられており、この可動片122bの状態に応じて、第2始動口122への遊技球の進入容易性が変化するようになっている。具体的には、可動片122bが閉状態にあるときには、第2始動口122への遊技球の入球が不可能となっている。これに対して、遊技領域116に設けられたゲート124内の進入領域を遊技球が通過すると、普通図柄の抽選が行われ、この抽選によって当たりに当選すると、可動片122bが所定時間、開状態に制御される。このように、可動片122bが開状態になると、当該可動片122bが遊技球を第2始動口122に導く受け皿として機能し、第2始動口122への遊技球の入球が容易となる。なお、ここでは、第2始動口122が閉状態にあるときに、当該第2始動口122への遊技球の入球が不可能であることとしたが、第2始動口122が閉状態にある場合にも一定の頻度で遊技球が入球可能となるように構成してもよい。
さらに、遊技領域116には、遊技球が入球可能な大入賞口128が設けられている。この大入賞口128には、開閉扉128bが開閉可能に設けられており、通常、開閉扉128bが大入賞口128を閉鎖して、大入賞口128への遊技球の入球が不可能となっている。これに対して、前述の大役遊技が実行されると、開閉扉128bが開放されて、大入賞口128への遊技球の入球が可能となる。そして、大入賞口128に遊技球が入球すると、所定の賞球が遊技者に払い出される。
なお、遊技領域116の最下部には、一般入賞口118、第1始動口120、第2始動口122、大入賞口128のいずれにも入球しなかった遊技球を、遊技領域116から遊技盤108の背面側に排出する排出口130が設けられている。
そして、遊技機100には、遊技の進行中等に演出を行う演出装置として、液晶表示装置からなる演出表示装置200、駆動装置からなる演出役物装置202、さまざまな点灯態様や発光色に制御されるランプからなる演出照明装置204、スピーカからなる楽曲出力装置206、遊技者の操作を受け付ける演出操作装置208が設けられている。
演出表示装置200は、画像を表示する画像表示部からなる演出表示部200aを備えており、この演出表示部200aを、遊技盤108の略中央部分において、遊技機100の正面側から視認可能に配置している。この演出表示部200aには、図示のように演出図柄210a、210b、210cが変動表示され、これら各演出図柄210a、210b、210cの停止表示態様によって大役抽選結果が遊技者に報知される変動演出が実行されることとなる。
演出役物装置202は、演出表示部200aよりも前方に配置され、遊技者が視認できる領域において移動や回転を行うことで、遊技者に大当たりの期待感を付与するものである。例えば、図2における演出役物装置202としての回転役物202aは、上記の演出図柄210a、210b、210cの変動表示中などに、駆動源であるモータ(パルスモータやギヤードモータ)の回転に連動し、前後方向の軸を中心に回転する。また、図2における演出役物装置202としての移動役物202bは、通常、遊技盤108における退避領域に退避しているが、上記の演出図柄210a、210b、210cの変動表示中などには、演出表示部200aの前方まで移動する。
演出照明装置204は、例えばLED(Light Emitting Diode)で構成され、演出役物装置202や遊技盤108等に設けられており、演出表示部200aに表示される画像等に合わせて、さまざまに点灯制御される。
楽曲出力装置206は、前枠106の上部位置や外枠102の最下部位置に設けられ、演出表示部200aに表示される画像等に合わせて、遊技機100の正面側に向けてさまざまな楽曲を出力する。
演出操作装置208は、遊技者の押下操作を受け付けるボタンと、遊技者の回転操作を受け付ける回転操作部(例えば、ジョグダイヤル)で構成され、遊技機100の幅方向略中央位置であって、かつ、透過板110よりも下方位置に設けられている。この演出操作装置208は、演出表示部200aに表示される画像等に合わせて有効化され、操作有効期間内に遊技者の操作を受け付けると、当該操作に応じて、さまざまな演出が実行される。
また、演出操作装置208の後方には、遊技機100から払い出される賞球や、遊技球貸出装置から貸し出される遊技球が導かれる上皿132があり、この上皿132が遊技球で一杯になると、遊技球は下皿134に導かれることとなる。また、この下皿134の底面には、当該下皿134から遊技球を排出するための球抜き孔(不図示)が形成されている。この球抜き孔は、通常、開閉板(不図示)によって閉じられているが、球抜きつまみ134aを図中左右方向にスライドさせることにより、当該球抜きつまみ134aと一体となって開閉板がスライドし、球抜き孔から下皿134の下方に遊技球を排出することが可能となっている。
また、遊技盤108には、遊技領域116の外方であって、かつ、遊技者が視認可能な位置に、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170、右打ち報知表示器172が設けられている。これら各表示器160〜172は、遊技に係る種々の状況を表示するための装置である。
(制御手段の内部構成)
図3は、遊技の進行を制御する制御手段の内部構成を示すブロック図である。主制御基板300は遊技の基本動作を制御する。この主制御基板300は、メインCPU300a、メインROM300b、メインRAM300cを備えている。メインCPU300aは、各検出スイッチやタイマからの入力信号に基づいて、メインROM300bに格納されたプログラムを読み出して演算処理を行うとともに、各装置や表示器を直接制御したり、あるいは演算処理の結果に応じて他の基板にコマンドを送信したりする。メインRAM300cは、メインCPU300aの演算処理時におけるデータのワークエリアとして機能する。
上記主制御基板300には、一般入賞口118に遊技球が入球したことを検出する一般入賞口検出スイッチ118s、第1始動口120に遊技球が入球したことを検出する第1始動口検出スイッチ120s、第2始動口122に遊技球が入球したことを検出する第2始動口検出スイッチ122s、ゲート124を遊技球が通過したことを検出するゲート検出スイッチ124s、大入賞口128に遊技球が入球したことを検出する大入賞口検出スイッチ128sが接続されており、これら各検出スイッチから主制御基板300に検出信号が入力されるようになっている。
また、主制御基板300には、第2始動口122の可動片122bを作動する普通電動役物ソレノイド122cと、大入賞口128を開閉する開閉扉128bを作動する大入賞口ソレノイド128cと、が接続されており、主制御基板300によって、第2始動口122および大入賞口128の開閉制御がなされるようになっている。
さらに、主制御基板300には、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170、右打ち報知表示器172が接続されており、主制御基板300によって、これら各表示器の表示制御がなされるようになっている。
また、本実施形態の遊技機100は、主に第1始動口120または第2始動口122への遊技球の入球によって開始される特別遊技と、ゲート124を遊技球が通過することによって開始される普通遊技とに大別される。そして、主制御基板300のメインROM300bには、特別遊技および普通遊技を進行するための種々のプログラムや、各種の遊技に必要なデータ、テーブルが記憶されている。
また、主制御基板300には、払出制御基板310および副制御基板330が接続されている。
払出制御基板310は、遊技球を発射させるための制御、および、賞球を払い出すための制御を行う。この払出制御基板310も、CPU、ROM、RAMを備えており、主制御基板300に対して双方向に通信可能に接続されている。この払出制御基板310には遊技情報出力端子板312が接続されており、主制御基板300から出力される遊技進行上の種々の情報が、払出制御基板310および遊技情報出力端子板312を介して、遊技店のホールコンピュータ等に出力されることとなる。
また、払出制御基板310には、貯留部に貯留された遊技球を賞球として遊技者に払い出すための払出モータ314が接続されている。払出制御基板310は、主制御基板300から送信された払出個数指定コマンドに基づいて払出モータ314を制御して所定の賞球を遊技者に払い出すように制御する。このとき、払い出された遊技球数が払出球計数スイッチ316sによって検出され、払い出すべき賞球が遊技者に払い出されたかが把握されるようになっている。
また、払出制御基板310には、下皿134の満タン状態を検出する皿満タン検出スイッチ318sが接続されている。この皿満タン検出スイッチ318sは、賞球として払い出される遊技球を下皿134に導く通路に設けられており、当該通路を遊技球が通過するたびに、遊技球検出信号が払出制御基板310に入力されるようになっている。
そして、下皿134に所定量以上の遊技球が貯留されて満タン状態になると、下皿134に向かう通路内に遊技球が滞留し、皿満タン検出スイッチ318sから払出制御基板310に向けて、遊技球検出信号が連続的に入力される。払出制御基板310は、遊技球検出信号が所定時間連続して入力された場合に、下皿134が満タン状態であると判断し、皿満タンコマンドを主制御基板300に送信する。一方、皿満タンコマンドを送信した後、遊技球検出信号の連続入力が途絶えた場合には、満タン状態が解除されたと判断し、皿満タン解除コマンドを主制御基板300に送信する。
また、払出制御基板310には、遊技球の発射制御を行う発射制御回路320が設けられている。払出制御基板310には、操作ハンドル112に設けられ、当該操作ハンドル112に遊技者が触れたことを検出するタッチセンサ112sと、操作ハンドル112の操作角度を検出する操作ボリューム112aと、が接続されている。そして、タッチセンサ112sおよび操作ボリューム112aから信号が入力されると、発射制御回路320において、遊技球発射装置に設けられた発射用ソレノイド112cを通電して遊技球を発射させる制御がなされる。
副制御基板330は、主に遊技中や待機中等の各演出を制御する。この副制御基板330は、サブCPU330a、サブROM330b、サブRAM330cを備えており、主制御基板300に対して、不正防止の観点により、当該主制御基板300から副制御基板330への一方向に通信可能に接続されている。サブCPU330aは、主制御基板300から送信されたコマンドやタイマからの入力信号等に基づいて、サブROM330bに格納されたプログラムを読み出して演算処理を行うとともに、演出を実行制御する。このとき、サブRAM330cは、サブCPU330aの演算処理時におけるデータのワークエリアとして機能する。
具体的には、副制御基板330は、上記演出表示部200aに画像を表示させる画像表示制御を行う。サブROM330bには、演出表示部200aに表示される図柄や背景等の画像データが多数格納されており、サブCPU330aが、画像データをサブROM330bから不図示のVRAMに読み出して、演出表示部200aの画像表示を制御する。また、副制御基板330は、演出役物装置202を駆動制御したり、演出照明装置204を点灯制御したり、楽曲出力装置206から楽曲を出力させる楽曲出力制御を行う。
図4は、副制御基板330における、演出表示部200a、演出役物装置202、演出照明装置204、楽曲出力装置206の制御態様を説明するためのブロック図であり、図5は、それらに共通する制御態様を示すフローチャートである。副制御基板330に設けられたサブCPU(CPU)330aは、サブROM330bに格納されたプログラムおよびサブRAM330cと協働して、演出決定手段332、演出実行手段334として機能する。演出決定手段332は、状態管理を行い、主制御基板300から送信されたコマンドを解析し、そのコマンドに対応する変動演出等の演出パターン(演出の一連の流れを示す内容)を決定するとともに、デバイス(演出表示部200a、演出役物装置202、演出照明装置204、楽曲出力装置206)毎にメッセージを生成して、オペレーションバッファに追加する。ここで、メッセージには、演出実行手段334への出力タイミング、および、各デバイスの動作パターンが示されている。そして、メッセージの出力タイミングを管理する時間管理モジュールは、オペレーションバッファに蓄積された各メッセージを解析し、メッセージに含まれる出力タイミングに応じて演出実行手段334に送信する。演出実行手段334は、デバイスを管理し、受信したメッセージに基づいて画像IC340a、コントローラ342、楽曲IC346a等の各デバイスにコマンドを送信して演出を実行させる。かかる演出決定手段332および演出実行手段334は、いずれも割込に応じた処理(割込処理)であり、デバイスそれぞれに対応付けられた割込タイミングで実行される。
なお、ここでは、デバイスに対してメッセージを生成し、演出実行手段334への出力タイミング、および、各デバイスの動作パターンもメッセージに含める例を挙げて説明したが、かかる場合に限らず、メッセージを、例えば32ビットの数値列で表し、そのメッセージに対応付けられたスクリプトに演出実行手段334への出力タイミング、および、各デバイスの動作パターンを含めるとしてもよい。この場合、オペレーションバッファには、メッセージのみが追加され、時間管理モジュールは、メッセージに対応付けられたスクリプトを解析し、オペレーションバッファに蓄積された各メッセージを、その出力タイミングに応じて演出実行手段334に送信する。
また、ここでは、デバイス(演出表示部200a、演出役物装置202、演出照明装置204、楽曲出力装置206)毎にメッセージを生成する例を挙げて説明したが、例えば、スクリプトに演出実行手段334への出力タイミング、および、各デバイスの動作パターンを含める場合、複数のデバイスの指令内容を1のメッセージに含めることができる。この場合、時間管理モジュールは、メッセージに対応付けられたスクリプトを解析し、オペレーションバッファに蓄積された各メッセージを、その出力タイミングに応じて演出実行手段334に送信し、演出実行手段334は、その1のメッセージに基づいて、複数のデバイスに対し一度にコマンドを送信することとなる。
例えば、演出決定手段332は、図5に示すように、所定の割込周期(例えば33.3msec)の到来を待ち(S10におけるNO)、所定の割込周期が到来すると(S10におけるYES)、演出パターンに基づいた画像パターン(演出パターンが示す演出のうち、演出表示部200aに表示する画像に相当する内容)を決定する(S11)。そして、演出決定手段332は、決定された画像パターンとその出力タイミングをメッセージとしてオペレーションバッファに送信する(S12)。演出実行手段334は、オペレーションバッファから受信した画像パターンに基づいて画像データを特定可能な画像コマンドを生成する(S13)。演出実行手段334は、画像IC340aに対して、画像コマンドを送信し(S14)、ステップS10からの処理を繰り返す。画像IC340aは、VDP(Video Display Processor)とも呼ばれ、画像コマンドによって特定される画像データを画像ROM340bから画像RAM(VRAM)340cに読み出し、画像データを、順次、演出表示部200aに出力する。なお、演出表示部200aには、常に、何かしらの画像が表示される。したがって、演出決定手段332は、割込周期毎に、常に、画像データを決定していることとなる。なお、画像RAM340cは、それぞれ異なるレイヤを有し、各レイヤに異なる画像データを保持させることができる。そして、画像IC340aは、複数のレイヤに保持された画像データを重畳し、その重畳された画像データが演出表示部200aに出力される。
また、演出決定手段332は、上記の画像IC340aに対する制御と並行して、演出パターンの決定に伴い、所定の割込周期(例えば2msec)が到来すると(S10におけるYES)、演出パターンに基づいた役物パターン(演出パターンが示す演出のうち、演出役物装置202の一連の動作を示す内容)を決定する(S11)。そして、演出決定手段332は、決定された役物パターンとその出力タイミングをメッセージとしてオペレーションバッファに送信する(S12)。演出実行手段334は、オペレーションバッファから受信した役物パターンに基づいて、進行方向(回転方向)、進行量(回転量)、進行速度(回転速度)の少なくともいずれかを示す役物コマンドを生成する(S13)。演出実行手段334は、その役物パターンに従って、コントローラ342に所定時間間隔で、役物コマンドを送信し(S14)、ステップS10からの処理を繰り返す。コントローラ342は、かかる役物コマンドに従い、演出役物装置202を駆動する。ここで、演出役物装置202は、役物パターンが決定されたときのみ動作している。
また、演出決定手段332は、演出パターンの決定に伴い、所定の割込周期(例えば33msec)が到来すると(S10におけるYES)、演出パターンに基づいた照明パターン(演出パターンが示す演出のうち、演出照明装置204の一連の点灯態様を示す内容)を決定する(S11)。そして、演出決定手段332は、決定された照明パターンとその出力タイミングをメッセージとしてオペレーションバッファに送信する(S12)。演出実行手段334は、オペレーションバッファから受信した照明パターンに基づいて、1(ON)または0(OFF)を示す照明コマンドを生成する(S13)。演出実行手段334は、その照明パターンに従って、役物パターン同様、コントローラ342に所定時間間隔で照明コマンドを送信し(S14)、ステップS10からの処理を繰り返す。コントローラ342は、かかる照明コマンドに従い、演出照明装置204を駆動するFETをONまたはOFFにする。こうして、演出照明装置204であるランプが点灯制御される。なお、演出照明装置204は、常に、点灯または消灯を繰り返している。したがって、演出決定手段332は、割込周期毎に、常に、演出パターンを決定していることとなる。
また、演出決定手段332は、上記の画像IC340a、コントローラ342に対する制御と並行して、演出パターンの決定に伴い、所定の割込周期(例えば50msec)が到来すると(S10におけるYES)、演出パターンに基づいた楽曲パターン(演出パターンが示す演出のうち、楽曲出力装置206に出力する楽曲に相当する内容)を決定する(S11)。そして、演出決定手段332は、決定された楽曲パターンとその出力タイミングをメッセージとしてオペレーションバッファに送信する(S12)。演出実行手段334は、オペレーションバッファから受信した楽曲パターンに基づいて、楽曲データを特定可能な楽曲コマンドを生成する(S13)。演出実行手段334は、楽曲IC346aに対して、楽曲コマンドを送信し(S14)、ステップS10からの処理を繰り返す。楽曲IC346aは、楽曲コマンドによって特定される楽曲データを楽曲ROM346bから楽曲IC346aに読み出し、楽曲データを、順次、楽曲出力装置206であるスピーカに出力する。なお、楽曲出力装置206には、常に、何かしらの楽曲が出力されている。したがって、演出決定手段332は、割込周期毎に、常に、楽曲データを決定していることとなる。なお、楽曲IC346aは、複数の楽曲バッファ(バッファ)を有し、各楽曲バッファに異なる楽曲データを保持させることができる。そして、楽曲IC346aは、複数の楽曲バッファに保持された楽曲データを重畳し、その重畳された楽曲データが楽曲出力装置206に出力される。
さらに、副制御基板330には、演出操作装置208が押下操作されたことを検出する押下検出スイッチ208s、および、演出操作装置208が回転操作されたことを検出する回転検出スイッチ209sから検出信号が入力される。コントローラ342は、演出操作装置208(押下検出スイッチ208sや回転検出スイッチ209s)から検出信号が入力されると、その旨、演出決定手段332に伝達し、演出決定手段332は、かかる検出信号の入力に応じて、演出表示部200aに画像を表示する等、さまざまな演出を決定する。
ここでは、サブCPU330a、サブRAM330c、画像IC340a、画像ROM340b、画像RAM340c、コントローラ342、楽曲IC346a、楽曲ROM346b等の一連の機能部が、SoC(System-on-a-Chip)として1個の集積回路に集積されている。ただし、かかるSoCにいずれの機能部を集積するかは任意に設定することができる。また、サブCPU330a、サブRAM330c、画像IC340a、画像ROM340b、画像RAM340c、コントローラ342、楽曲IC346a、楽曲ROM346b等の各機能部がそれぞれ異なる集積回路として集積され、電気的に接続されているとしてもよい。
なお、各基板には、不図示の電源基板が接続されており、電源基板を介して商用電源から各基板に電力供給がなされている。
(メッセージ)
以下、演出決定手段332からオペレーションバッファに出力されるメッセージについて詳述する。ここでは、演出決定手段332が、変数として、モードと、3つの図柄(左図柄、中図柄、右図柄)とを示す画像パターンを生成する例を挙げて説明する。ここで、モードは、図柄変動やリーチといった演出の状態を示し、左図柄、中図柄、右図柄は、図柄変動後に最終的に停止する図柄を示す。
図6は、演出決定手段332の動作を説明するための説明図である。なお、図6および以下の図における2進数1ビットの四角に囲まれた「0」は、数値が0に固定されていることを示し、「*」は、0または1のいずれかの値が記述されることを示す。演出決定手段332は、まず、主制御基板300から送信されたコマンドを解析する。そして、演出決定手段332は、モードと、停止する3つの図柄とによる画像パターンを生成する。
ところで、コンピュータでは、CPUによって計算可能なデータの長さが決まっている。例えば、本実施形態の副制御基板330において、サブCPU330aは、32ビットのデータを一度に計算できる。このような意味で、サブCPU330aが管理するデータの単位長(以下、単に「管理単位長」という。)は32ビットである。また、管理単位長のデータの領域を示すとき、その領域を「管理領域」という場合がある。なお、管理単位長は、コンピュータの計算単位である、8ビットに2の累乗数(2^0、2^1、2^2、…)を乗じた長さ、例えば、8ビット(8ビット×2^0)、16ビット(8ビット×2^1)、32ビット(8ビット×2^2)であってもよい。このように、サブCPU330aで計算し易いデータ長で管理することで、コンピュータの処理をスムーズに進行することができる。
変数のうち、モードは、図6(a)に示すように、32ビットの管理領域のうち、例えば、下位16ビットに、モードを特定可能な識別子を記述し、その上位16ビットには0が記述される。変数のうち、左図柄は、図6(b)に示すように、32ビットの管理領域のうち、例えば、下位4ビットに、表示可能な指標「1」h〜「9」hが示す数値自体を記述し、中図柄は、図6(c)に示すように、32ビットの管理領域のうち、例えば、下位4ビットに、表示可能な指標「1」h〜「9」hが示す数値自体を記述し、右図柄は、図6(d)に示すように、32ビットの管理領域のうち、例えば、下位4ビットに、表示可能な指標「1」h〜「9」hが示す数値自体を記述し、左図柄、中図柄、右図柄の上位28ビットには0が記述される。ここで、数値の語尾に付された「h」は、その数値が16進数で表されていることを示す。なお、モードによっては、中図柄および右図柄を、後段の演出実行手段334で任意に決定してよい場合がある。この場合、中図柄および右図柄の32ビットの管理領域のうち、例えば、下位4ビットに、図柄の任意の決定を許容する「F」hが記述される。
このように、変数の管理単位長が32ビットであれば、複数種類の変数それぞれにおいて、2の32乗=4294967296といった大きな値を取り扱うことができる。しかし、変数の上限や、変数の範囲が小さい場合であっても、変数を、図6(a)、図6(b)、図6(c)、図6(d)のように、一律、サブCPU330aの管理単位長のデータに割り当てるとすると、不要にレジスタを占有したり、変数へのアクセス数が増加することとなる。そこで、変数の割り当てを工夫する。
演出決定手段332は、各変数を、サブCPU330aで管理される管理単位長のデータを複数に分割した分割領域にそれぞれ割り当てる。具体的に、まず、演出決定手段332は、図6(a)に示したモードの管理領域のうち下位16ビットを抽出して、図6(e)のように、集約データの上位16ビットの第1分割領域に割り当てる。同様に、演出決定手段332は、図6(b)に示した左図柄の管理領域のうち下位4ビットを抽出して、図6(e)のように、集約データのビット11〜ビット8までの4ビットの第2分割領域に割り当て、図6(c)に示した中図柄の管理領域のうち下位4ビットを抽出して、図6(e)のように、集約データのビット7〜ビット4までの4ビットの第3分割領域に割り当て、図6(d)に示した右図柄の管理領域のうち下位4ビットを抽出して、図6(e)のように、集約データのビット3〜ビット0までの4ビットの第4分割領域に割り当てる。なお、集約データのビット15〜ビット12の4ビットは、利用せず(未使用)、全てのビットに0を挿入する。このように0を挿入することで、系統(例えば、ここでは、モードと図柄)の区切りを表すことができる。なお、ここでは、4ビット分の0を挿入する例を挙げて説明したが、かかる場合に限らず、少なくとも1ビット分の0を挿入すれば、系統を区切ることができる。また、ここでは、最終的にビット15〜12に0を挿入し、ビット11〜0に3つの図柄を配し、データを右詰めで表しているが、ビット15〜4に3つの図柄を配し、ビット3〜0に0を挿入して左詰めで表すこともできる。
かかる構成により、4つの変数を1つの集約データで管理できるので、サブCPU330aは、1の集約データを生成しさえすれば、4つの変数を一度に取り扱うことができ、アクセス数を抑制しつつ、レジスタを有効活用できる。
なお、分割領域の長さは、分割領域に割り当てられる変数の最大値より大きい複数の2の累乗数のうちの最小値における累乗数自体であってもよい。例えば、図6(b)の例では、左図柄(変数)の最大値が「9」hであり、それよりも大きい2の累乗数は、16、32、64、…がある。このうち、最小となる(左図柄との差分が最も小さい)2の累乗数は16(2^4)となる。したがって、左図柄の変数の分割領域の長さは、その累乗数である4ビットとすることができる。このように変数の最大値を考慮して分割領域の長さを最小化することで、1つの集約データで管理できる変数の数を増やすことが可能となり、アクセス数を抑制しつつ、レジスタをより有効活用することができる。
また、集約データは以下のようにして生成できる。すなわち、まず、ロード命令等により、モードの下位16ビットを集約データの下位16ビットに複写する。その後、シフト命令等により、集約データを左に8ビットシフトする。このとき、シフトにおける最初の4ビットについては値として0を挿入してもよい。次に、左図柄の下位4ビットを集約データの下位4ビットに複写する。その後、集約データを左に4ビットシフトする。次に、中図柄の下位4ビットを集約データの下位4ビットに複写する。その後、集約データを左に4ビットシフトする。最後に、右図柄の下位4ビットを集約データの下位4ビットに複写する。こうして、複数種類の変数を集約した集約データが生成される。
ところで、変数を、一律、サブCPU330aの管理単位長のデータに割り当てるとすると、その変数を記憶するサブRAM330cの記憶領域の有効利用を損なうこととなる。ここでは、上述したように、変数の割り当てを工夫してRAMの記憶領域の有効利用を図る。具体的に、演出決定手段332は、サブRAM330cに変数を記憶する場合に、上記のように生成された集約データを対象とする。かかる構成により、4つの変数に対し、記憶領域として、4つの管理領域を準備することなく、1つの集約データに対する1の管理領域のみ確保すれば足りるので、サブRAM330cの記憶領域の有効利用が可能となる。
また、演出決定手段332は、集約データをメッセージとしてオペレーションバッファに追加(蓄積)する。時間管理モジュールは、オペレーションバッファに蓄積された各メッセージを、その出力タイミングに応じて演出実行手段334に送信する。演出実行手段334は、メッセージが示す集約データを各変数に分解し、各デバイスにコマンドを送信して演出を実行させる。ここでも、4つの変数を1の集約データの管理領域に収めているので、サブCPU330aは、1の集約データを生成しさえすれば、4つの変数を一度に取り扱うことができ、メッセージのアクセス数を抑制しつつ、オペレーションバッファの記憶領域の有効利用が可能となる。
ここで、集約データを各変数に分解する場合、上記の手順の逆の処理を行えばよい。すなわち、集約データの下位4ビットを右図柄の下位4ビットに複写する。その後、集約データを右に4ビットシフトする。次に、集約データの下位4ビットを中図柄の下位4ビットに複写する。その後、集約データを右に4ビットシフトする。次に、集約データの下位4ビットを左図柄の下位4ビットに複写する。その後、集約データを右に8ビットシフトする。最後に、集約データの下位16ビットをモードの下位16ビットに複写する。
なお、このような、ビット操作は、様々な言語によっても対応できる。例えば、C言語を用いた場合に、集約データの下位16ビットをマスクし(上位16ビットを残し)、右に16ビットシフトする「(集約データ&0xFFFF0000)>>16」のコマンドによっても、16ビットのモードを分解することができる。
図7は、演出決定手段332の動作を説明するための他の説明図である。ここでは、仮に、管理単位長を16ビットとして説明する。主制御基板300から送信されたコマンドにおいては、変数として、コマンド種別、特別図柄2フェーズ、特別図柄1フェーズといった変数が管理単位長で管理されている。ここで、コマンド種別は、当該コマンドの識別子を示し、特別図柄2フェーズ、特別図柄1フェーズは、特別図柄それぞれのフェーズを示す。フェーズは、プログラムに呼び出されるモジュールを特定する識別子であり、例えば、フェーズが「0」h、「1」h、「2」hにそれぞれ「特別図柄変動待ち処理」、「特別図柄変動中処理」、「特別図柄停止図柄表示処理」が対応付けられている。
変数のうち、コマンド種別は、図7(a)に示すように、16ビットの管理領域のうち、例えば、下位8ビットに、「82」hといったコマンドの種別を特定可能な識別子を記述し、その上位8ビットには0が記述される。変数のうち、特別図柄2フェーズは、図7(b)に示すように、16ビットの管理領域のうち、例えば、下位4ビットに、フェーズを示す「0」h〜「2」hのいずれかを記述し、特別図柄1フェーズは、図7(c)に示すように、16ビットの管理領域のうち、例えば、下位4ビットに、フェーズを示す「0」h〜「2」hのいずれかを記述し、特別図柄2フェーズ、特別図柄1フェーズの上位12ビットには0が記述される。
そして、演出決定手段332は、図6同様、各変数を、サブCPU330aで管理される管理単位長のデータを複数に分割した分割領域にそれぞれ割り当てる。具体的に、まず、演出決定手段332は、図7(a)に示したコマンド種別の管理領域のうち下位8ビットを抽出して、図7(d)のように、集約データの上位8ビットの第1分割領域に割り当てる。同様に、演出決定手段332は、図7(b)に示した特別図柄2フェーズの管理領域のうち下位4ビットを抽出して、図7(d)のように、集約データのビット7〜ビット4までの4ビットの第2分割領域に割り当て、図7(c)に示した特別図柄1フェーズの管理領域のうち下位4ビットを抽出して、図7(d)のように、集約データの下位4ビットの第3分割領域に割り当てる。なお、ここでは、上述したような系統を区切る0を設けていない。
かかる構成により、3つの変数を1つの集約データで管理できるので、サブCPU330aは、1の集約データを生成しさえすれば、3つの変数を一度に取り扱うことができ、アクセス数を抑制しつつ、レジスタを有効活用できる。
また、演出決定手段332は、このように生成された集約データを、一時的に、サブRAM330cに記憶する。かかる構成により、3つの変数に対し、記憶領域として、3つの管理領域を準備することなく、1つの集約データに対する1の管理領域のみ確保すれば足りるので、サブRAM330cの記憶領域の有効利用が可能となる。
また、演出決定手段332は、集約データをメッセージとしてオペレーションバッファに追加する。時間管理モジュールは、オペレーションバッファに蓄積された各メッセージを、その出力タイミングに応じて演出実行手段334に送信する。演出実行手段334は、メッセージが示す集約データに基づいて各デバイスにコマンドを送信して演出を実行させる。ここでも、3つの変数を1の集約データの管理領域に収めているので、サブCPU330aは、1の集約データを生成しさえすれば、3つの変数を一度に取り扱うことができ、メッセージのアクセス数を抑制しつつ、オペレーションバッファの記憶領域の有効利用が可能となる。
また、このように、複数の変数を1の集約データに集約した場合も、分割領域に割り当てられた各変数の整合はとるべきである。そこで、演出実行手段334は、受信したメッセージに含まれる集約データの複数の分割領域に割り当てられた変数が、変数それぞれに定められた数値範囲内に収まるように数値を制限する。具体的に、演出実行手段334は、メッセージに含まれるデータの複数の分割領域に割り当てられた変数それぞれが変数に定められた最大値より大きければ、変数を最大値に置換し、変数に定められた最小値未満であれば、変数を最小値に置換する。例えば、図6(b)に示した左図柄(変数)は、4ビットなので「F」hまで表現可能であるが、「1」h〜「9」hの数値範囲しかとらない。したがって、演出実行手段334は、変数の値が「9」hより大きい、例えば、「A」hとなると、その値を「9」hに置換する。また、演出実行手段334は、変数の値が「1」h未満であれば、例えば、「0」hとなると、その値を「1」hに置換する。また、「1」h〜「9」hの数値範囲外の場合に、数値範囲の値に置換する場合のみならず、ブランク図柄や何も表示しないことを示す「0」hや「F」hに置換するとしてもよい。なお、集約データを各変数に分解する手順は上述したので、ここでは、その詳細な説明を省略する。
かかる構成により、複数種類の変数を1つの集約データとして纏めて扱った場合であっても、個々の変数の数値範囲を制限することで、変数を利用するプログラムの安全性を確保することが可能となる。
なお、ここでは、変数の長さの最小を4ビット(左図柄、中図柄、右図柄等)とし、その他の変数の長さを、その2の累乗倍とした。しかし、変数の長さは、かかる場合に限らず、1、2、3、4、5、6、7、8、9、…、30、31、32ビット等、様々なビット長とすることができる。
また、ここでは、図6、図7を参照して理解できるように、集約データの分割領域を、例えば、4ビット、8ビット、16ビットといったように、4ビットの2の累乗倍で区切る例を挙げて説明した。しかし、区切る位置は任意に設定でき、4ビットの2の累乗倍でなくてもよい。
図8は、分割領域の他の例を示した説明図である。例えば、図8(a)の例では、4ビットより短いビット長(ここでは3ビット、または、2ビット)の分割領域を有する変数が連続的に配されている。ここでは、第1分割領域、第4分割領域、第5分割領域、第8分割領域、第9分割領域、第11分割領域に割り当てられた変数が4ビットの区切り内に収まっており、第2分割領域、第3分割領域、第6分割領域、第7分割領域、第10分割領域に割り当てられた変数が4ビットの区切りに跨がって配置されている。また、第1分割領域、第2分割領域、第4分割領域、第5分割領域、第7分割領域、第8分割領域、第9分割領域、第10分割領域、第11分割領域に割り当てられた変数が8ビットの区切り内に収まっており、第3分割領域、第6分割領域に割り当てられた変数が8ビットの区切りに跨がって配置されている。また、第1分割領域、第2分割領域、第3分割領域、第4分割領域、第5分割領域、第7分割領域、第8分割領域、第9分割領域、第10分割領域、第11分割領域に割り当てられた変数が16ビットの区切り内に収まっており、第6分割領域に割り当てられた変数が16ビットの区切りに跨がって配置されている。
また、図8(b)の例では、4ビット以上であり8ビットより短いビット長(ここでは6ビット、または、7ビット)の分割領域を有する変数が連続的に配されている。ここでは、第1分割領域、第5分割領域に割り当てられた変数が8ビットの区切り内に収まっており、第2分割領域、第3分割領域、第4分割領域に割り当てられた変数が8ビットの区切りに跨がって配置されている。また、第1分割領域、第2分割領域、第4分割領域、第5分割領域に割り当てられた変数が16ビットの区切り内に収まっており、第3分割領域に割り当てられた変数が16ビットの区切りに跨がって配置されている。
また、図8(c)の例では、8ビット以上であり16ビットより短いビット長(ここでは10ビット、または、12ビット)の分割領域を有する変数が連続的に配されている。ここでは、第1分割領域、第3分割領域に割り当てられた変数が16ビットの区切り内に収まっており、第2分割領域に割り当てられた変数が8ビットの区切りに跨がって配置されている。このように、分割領域を区切る位置を4ビットの2の累乗倍に限らず、任意とすることで、変数の設計の自由度を高めることができる。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる実施形態に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
例えば、上述した実施形態においては、遊技機として、大当たり図柄を含む複数種類の図柄の中からいずれかを決定する図柄決定手段と、図柄が決定されてから所定の変動時間が経過すると、図柄表示部に図柄を表示させる図柄表示手段と、図柄表示部に大当たり図柄が表示されると、複数回のラウンド遊技で構成される大役遊技を実行する大役遊技実行手段と、大役遊技におけるラウンド遊技のうち予め設定された特定ラウンド遊技中に、大入賞口に入球した遊技球が特定領域に進入すると、所定の遊技利益を付与する遊技利益付与手段と、大役遊技中の演出を実行する演出実行手段と、を備えるパチンコ機を例示した。しかし、かかる場合に限らず、スタートスイッチの操作に基づき、複数種類の当選役のいずれかを当選役抽選により決定する当選役抽選手段と、スタートスイッチの操作に応じて、複数種類の図柄がそれぞれ配列された複数の回転リールを回転制御し、回転している回転リールに対応するストップスイッチの操作に応じ、当選役抽選手段の抽選結果に基づいて、操作されたストップスイッチに対応する回転リールをそれぞれ停止制御するリール制御手段と、複数種類の演出のいずれかを実行する演出制御手段と、を備えるスロットマシンにも適用できる。以下、スロットマシン600について詳述する。
(スロットマシン600の機械的構成)
図9および図10の外観図に示すように、スロットマシン600は、略矩形状の箱体である筐体602と、筐体602の前面開口部に対して回動可能な連結部材により開閉可能に取り付けられた前面上扉604と、前面上扉604の下方に位置し、前面上扉604同様、筐体602の前面開口部に対して開閉可能に取り付けられた前面下扉606と、前面下扉606の下部に位置し、メダル排出口608aから払い出されたメダルを貯留するための受け皿部608とを備えている。
前面下扉606の上部には操作部設置台622が形成され、操作部設置台622には、メダル投入部624、ベットスイッチ626、スタートスイッチ628、ストップスイッチ630、演出スイッチ632等が配設されている。
操作部設置台622の右側に位置するメダル投入部624は、メダル投入口624aを通じて遊技媒体としてのメダルの投入を受け付け、前面下扉606の背面に設けられたメダルセレクタ(図示せず)にメダルを送る。メダルセレクタには、メダルの投入が可能な投入期間外に投入されたメダルや規格外のメダルをメダル排出口608aに導くブロッカー(図示せず)と、投入期間内に投入された規格内のメダルの通過を検出する投入メダル検出部624bとが設けられている。ここで、メダル排出口608aに導かれたメダルは受け皿部608に排出される。遊技者により、1遊技を開始するために必要なメダルの投入枚数である規定投入枚数を超えてメダルが投入されると、その規定投入枚数を超えた分のメダルが、所定枚数(例えば50枚)を上限としてスロットマシン600の内部に電気的に貯留(以下、単にクレジットという)される。上記1遊技については後程詳述する。
また、ここでは、規定投入枚数は「3」または「2」に設定されている。なお、1遊技を実行するために必要なメダル数を、複数の規定投入枚数から任意に選択できる場合、その複数の規定投入枚数の中の最大のものを最大規定投入枚数といい、最小のものを最小規定投入枚数という。仮に、規定投入枚数が1〜3の間で選択可能な場合、最大規定投入枚数は「3」となり、最小規定投入枚数は「1」となる。
ベットスイッチ626は、クレジットされているメダルのうち規定投入枚数のメダルを投入(ベット)する、押圧式のボタンスイッチである。規定投入枚数以上のメダルがクレジットされている状態で、ベットスイッチ626を押圧すると、1遊技が開始可能となるとともに、クレジットされているメダルが規定投入枚数分だけ減枚される。
操作部設置台622の左側に位置するスタートスイッチ628は、傾倒操作を検出可能なレバーで構成され、遊技者による1遊技の開始操作を検出する。また、スタートスイッチ628は、押圧操作を検出可能なボタンスイッチによって構成することも可能である。
前面上扉604の下部略中央には、ガラス板や透明樹脂板等で構成された無色透明の図柄表示窓636が設けられ、筐体602内の図柄表示窓636に対応した位置には、リールユニット634が設けられている。リールユニット634には、図11のリールの図柄配列に示すように、21に等分された各領域に複数種類の図柄がそれぞれ配列された3つの回転リール(左リール634a、中リール634b、右リール634c)が、それぞれ独立して回動可能に設けられ、遊技者は、図柄表示窓636を通じて、左リール634a、中リール634b、右リール634cを視認することができる。リールユニット634は、スタートスイッチ628の操作を契機として、左リール634a、中リール634b、右リール634cの回転を開始する。
操作部設置台622の中央に位置するストップスイッチ630は、左リール634a、中リール634b、右リール634cそれぞれに対応して設けられた、遊技者の押圧操作を検出可能なボタンスイッチであり、左リール634a、中リール634b、右リール634cそれぞれを停止させようとする遊技者の停止操作を検出する。なお、ストップスイッチ630に、かかる3つのボタンスイッチを特にストップボタンスイッチとよび、その位置に応じて左から順にストップボタンスイッチ630a、ストップボタンスイッチ630b、ストップボタンスイッチ630cとする。
演出スイッチ632は、押圧式のボタンスイッチと、その周囲に回転自在に配されたジョグダイヤルスイッチとから構成され、遊技者の押圧操作や回転操作を検出する。かかる演出スイッチ632は、主として演出中に用いられ、遊技者の操作によって演出態様を異ならせることができる。
前面上扉604の上部略中央には、演出に伴う様々な映像を表示する液晶表示部638が設けられている。また、前面上扉604の上部や左右には、例えば高輝度の発光ダイオード(LED)によって構成される演出用ランプ642が設けられる。また、図柄表示窓636と操作部設置台622との間には、駆動装置からなる演出役物装置660が設けられている。
また、図10に示すように、前面上扉604の裏面における液晶表示部638の左右位置や前面下扉606の裏面における内面左右位置には、効果音や楽音等による聴覚的な演出を行うスピーカ640が設けられている。さらに、筐体602内におけるリールユニット634の下方には、メダル排出口608aからメダルを払い出すためのメダル払出装置(メダルホッパー)764が設けられている。メダル払出装置764は、メダルを貯留するメダル貯留部764aと、メダル貯留部764aに貯留されたメダルをメダル排出口608aから排出するための払出制御部764bと、メダル排出口608aから排出されるメダルを検出する払出メダル検出部764cとを備えている。具体的に払出制御部764bは、当該払出制御部764bの本体外装に回動可能に支持され、メダル貯留部764aから落下したメダルが上方より1枚ずつ嵌入するメダル嵌入孔を円周方向に複数配してなるディスク(図示せず)と、かかるディスクを回転するディスクモータ(図示せず)とを備え、このディスクを回転させて、メダル嵌入孔に嵌入したメダルを、押出機構を通じて1枚ずつ外部に排出するとともに、排出により空いたメダル嵌入孔に次のメダルを順次嵌入させることで、メダルを1枚ずつ連続排出する。
また、図9や図10では図示していないが、各回転リール634a、634b、634cの内側には、左リール634a、中リール634b、右リール634cそれぞれに施された図柄のうち、図柄表示窓636に対応する(払い出しの対象となるラインである有効ラインの対象となり得る)各回転リール634a、634b、634cの上段、中段、下段の図柄を背面から個々に独立して照射するリールバックライト644(図12参照)が設けられている。また、図柄表示窓636の裏面上部にも左リール634a、中リール634b、右リール634c全ての正面を直接照射するリール上方ライト646が設けられている。
また、図9に示すように、操作部設置台622において、図柄表示窓636とストップスイッチ630との間に設けられた段部622aの略水平面には、メインクレジット表示部652およびメイン払出表示部654が設けられている。また、図柄表示窓636と操作部設置台622との間には、サブクレジット表示部656およびサブ払出表示部658が設けられている。これらメインクレジット表示部652およびサブクレジット表示部656にはクレジット枚数が表示され、メイン払出表示部654およびサブ払出表示部658にはメダルの払出枚数が表示される。なお、サブクレジット表示部656およびサブ払出表示部658には、演出に伴う様々な数値を表示することもできる。
また、筐体602内の任意の位置には、電源スイッチ648が設けられている。電源スイッチ648は、ロッカースイッチ等、押圧操作を検出可能なスイッチで構成され、当該スロットマシン600を管理する管理者側が操作し、電源の切断状態と電源の投入状態の2つの状態を切り換えるために用いられる。
なお、本実施形態において、上記1遊技は、メダル投入部624を通じたメダルの投入、ベットスイッチ626の操作を通じたクレジットされているメダルの投入、または、リプレイ役が有効ライン上に表示されたことに基づくメダルの自動投入のいずれかが行われてから、遊技者によるスタートスイッチ628の操作に応じて、複数の回転リール634a、634b、634cが回転制御されるとともに当選役抽選が実行され、当選役抽選の抽選結果および遊技者による複数のストップボタンスイッチ630a、630b、630cの操作に応じて、操作されたストップボタンスイッチ630a、630b、630cに対応する回転リール634a、634b、634cがそれぞれ停止制御され、メダルの払い出しを受け得る当選役に入賞した場合、そのメダルの払い出しが実行されるまでの遊技をいう。また、メダルの払い出しを受け得る当選役に非当選であった場合または当選したが入賞しなかった場合、回転リール634a、634b、634cが全て停止したことをもって1遊技が終了する。ただし、1遊技の開始を、上記のメダルの投入、または、リプレイ役の当選の代わりに、遊技者によるスタートスイッチ628の操作と読み替えてもよい。また、かかる1遊技が繰り返される数を遊技数とする。
(スロットマシン600の電気的構成)
図12は、スロットマシン600の概略的な電気的構成を示したブロック図である。図12に示すように、スロットマシン600は、主として、制御基板によって制御されている。ここでは、制御基板の一例として、制御基板の機能を分担した、主制御基板700と、副制御基板702とを挙げて説明する。例えば、遊技の進行に関わるプログラムのうち、遊技に供する当選役の抽選やその入賞といったような、特に重要な処理を主制御基板700で実行し、それ以外の例えば演出に関する処理を副制御基板702で実行している。また、図12に示したように、主制御基板700と副制御基板702との間の電気的な信号の伝達は、不正防止等の観点から、主制御基板700から副制御基板702への一方向のみに制限される。ただし、このような制限がなければ、電気的に双方向通信も技術的に可能である。
(主制御基板700)
主制御基板700は、中央処理装置であるメインCPU700a、プログラム等が格納されたメインROM700b、ワークエリアとして機能するメインRAM700c等を含む各種半導体集積回路を有し、スロットマシン600全体を統括的に制御する。ただし、メインRAM700cには不図示のバックアップ電源が接続されており、電源が切断された場合においても、設定変更が行われてメインRAM700cの初期化処理を実行しない限り、データが消去されることなく保持される。
また、主制御基板700は、メインCPU700aが、メインROM700bに格納されたプログラムに基づきメインRAM700cと協働することで機能する、初期化手段800、ベット手段802、当選役抽選手段804、リール制御手段806、判定手段808、払出制御手段810、状態移行手段812、コマンド決定手段814、コマンド送信手段816等の機能部を有する。
初期化手段800は、主制御基板700における初期化処理を実行する。ベット手段802は、遊技に使用するためのメダルをベットする。ここで、ベットは、ベットスイッチ626の操作を通じてクレジットされているメダルを投入する場合と、メダル投入部624を通じてメダルを投入する場合と、リプレイ役が有効ライン上に表示されたことに基づいてメダルを自動投入する場合のいずれも含む。当選役抽選手段804は、メダルのベットおよびスタートスイッチ628の操作に基づき、小役、リプレイ役、および、ボーナス役を含む複数種類の当選役、ならびに、ハズレのうちいずれかを当選役抽選により決定する。
リール制御手段806は、スタートスイッチ628の操作に応じて、複数の回転リール634a、634b、634cを回転制御し、回転している回転リール634a、634b、634cにそれぞれ対応した複数のストップボタンスイッチ630a、630b、630cの操作に応じ、操作されたストップボタンスイッチ630a、630b、630cに対応する回転リール634a、634b、634cをそれぞれ停止制御する。また、リール制御手段806は、スタートスイッチ628の操作に応じて、前回の遊技においてストップスイッチ630の操作を有効化してから、当選役抽選の抽選結果を表示するために遊技者によるストップスイッチ630の操作を有効化するまで(前回の遊技におけるストップスイッチ630の操作完了により無効化されている)の時間を規定の時間より延長し、その間、回転リール634a、634b、634cを多彩な態様で回転させるリール演出(フリーズ演出)を行う場合がある。リール演出は、本来有効となるべき任意のスイッチを所定時間有効にしなかったり、本来実行されるべき処理を所定時間保留したり、本来送受信されるべき任意のスイッチの信号を所定時間送信または受信させなかったりすることで実現できる。
判定手段808は、当選役抽選で決定した当選役に対応する図柄組み合わせが有効ライン上に表示されたか否か判定する。ここで、当選役抽選で決定した当選役に対応する図柄組み合わせが有効ライン上に表示されることを単に入賞という場合がある。払出制御手段810は、当選役抽選で決定した当選役に対応する図柄組み合わせが有効ライン上に表示されたこと(入賞されたこと)に基づいて、当該当選役に対応する数だけメダルを払い出す。状態移行手段812は、ボーナス役の当選や入賞に基づいて遊技状態を遷移させる。
コマンド決定手段814は、ベット手段802、当選役抽選手段804、リール制御手段806、判定手段808、払出制御手段810、状態移行手段812等の動作に伴う、遊技に関するコマンドを順次決定する。コマンド送信手段816は、コマンド決定手段814が決定したコマンドを副制御基板702に順次送信する。
主制御基板700では、投入メダル検出部624b、ベットスイッチ626、スタートスイッチ628およびストップスイッチ630から各種の検出信号を受信しており、受信した検出信号に基づいて、ベット手段802、当選役抽選手段804、リール制御手段806、判定手段808が上述した種々の処理を実行する。また、主制御基板700には、メインクレジット表示部652およびメイン払出表示部654が接続されており、払出制御手段810が両表示部652、654に対してメダルのクレジット枚数や払出枚数の表示を制御する。
また、主制御基板700には、リール駆動制御部758が接続されている。このリール駆動制御部758は、スタートスイッチ628の操作信号に応じ、リール制御手段806から送信される各回転リール634a、634b、634cの回転開始信号に基づいて、ステッピングモータ762を駆動するとともに、ストップスイッチ630の操作信号に応じ、リール制御手段806から送信される、左リール634a、中リール634b、右リール634cそれぞれの停止信号および回転位置検出回路760の検出信号に基づいて、ステッピングモータ762の駆動を停止する。
また、主制御基板700には、メダル払出装置764が接続されている。主制御基板700には払出メダル検出部764cの検出信号が入力されるようになっており、払出制御手段810は、その検出信号に応じてメダルの払出枚数を計数しながら払出制御部764bからのメダルの排出を制御する。
また、主制御基板700には、乱数発生器700dが設けられる。乱数発生器700dは、計数値を順次インクリメントし、所定の総数(例えば65536)内でループさせ(0〜65535)、所定の時点における計数値を抽出することで乱数を生成(取得)する。主制御基板700の乱数発生器700dによって生成される乱数(以下、当選役抽選乱数という)は、遊技者に付与する遊技利益、例えば、当選役抽選手段804が当選役抽選を実行するために用いられる。
(副制御基板702)
また、副制御基板702は、主制御基板700と同様に、中央処理装置であるサブCPU702a、プログラム等が格納されたサブROM702b、ワークエリアとして機能するサブRAM702c等を含む各種半導体集積回路を有し、主制御基板700からのコマンドに基づき、特に演出を制御する。また、サブRAM702cにもメインRAM700c同様、不図示のバックアップ電源が接続されており、電源が切断された場合においても、データが消去されることなく保持される。なお、副制御基板702にも、主制御基板700同様、乱数発生器702dが設けられており、乱数発生器702dによって生成される乱数(以下、演出抽選乱数という)は、主に演出の態様を決定するために用いられる。
また、副制御基板702は、サブCPU702aが、サブROM702bに格納されたプログラムに基づき、サブRAM702cと協働することで機能する、初期化決定手段830、コマンド受信手段832、演出制御手段834等の機能部を有する。
初期化決定手段830は、副制御基板702における初期化処理を実行する。コマンド受信手段832は、主制御基板700等、他の制御基板からのコマンドを受信し、コマンドに対する処理を行う。演出制御手段834は、演出スイッチ632から検出信号を受信するとともに、当選役コマンドに基づいて液晶表示部638、スピーカ640、演出用ランプ642の各デバイスで行われる遊技の演出を決定する。具体的に、演出制御手段834は、液晶表示部638に表示される画像データや、演出用ランプ642、リールバックライト644、リール上方ライト646、サブクレジット表示部656、サブ払出表示部658等の電飾機器を通じた演出のための電飾データを決定するとともに、スピーカ640から出力すべき音声を構成する音声データを決定する。そして、演出制御手段834は、決定した遊技の演出を実行する。
演出は、上述したリール演出のような主制御基板700によって実行される演出と、副制御基板702によって実行される演出がある。副制御基板702によって実行される演出は、遊技の進行に伴い、液晶表示部638、スピーカ640、演出用ランプ642、リールバックライト644、リール上方ライト646、サブクレジット表示部656、サブ払出表示部658等を通じて提供される視覚的および聴覚的な表現手段であり、当該遊技にストーリー性を与えたり、当選役抽選の結果をよりダイナミックな画像で示唆したりすることができる。このような演出では、例えば、ボーナス遊技の当選を示唆する演出を複数遊技に亘って行い、遊技者の期待感を高めることができる。また、たとえ、いずれの当選役にも当選していなかったとしても、恰も当選しているかのような演出を通じて遊技者に高配当の期待感を持たせ、遊技者を飽きさせないようにすることが可能となる。
ここで、演出制御手段834は、状態管理を行う状態管理部と、演出デバイスを制御するデバイス部といったモジュールを含む。状態管理部は、主制御基板700から送信されたコマンドを解読し、そのコマンドに対応する演出パターン(演出の一連の流れを示す内容)を決定する。そして、状態管理部は、決定された演出パターンをメッセージとしてデバイス部に送信する。デバイス部は、メッセージに含まれる演出パターンに基づいて画像IC、楽曲IC、通信コントローラ等の各演出デバイスにコマンドを送信して演出を実行させる。
なお、スロットマシン600においては、状態管理部が上述した演出決定手段332として機能し、デバイス部が演出実行手段334として機能し、サブCPU702aが上述したサブCPU330aとして機能する。以下、状態管理部からオペレーションバッファに出力されるメッセージについて述べる。
図13は、状態管理部の動作を説明するための説明図である。ここでは、管理単位長を32ビットとして説明する。主制御基板700から送信されたコマンドにおいては、変数として、貯留枚数、払出枚数、ベット枚数といった変数が管理単位長で管理されている。ここで、貯留枚数は、メダル貯留部764aに貯留されたメダルの枚数を示し、払出枚数は、メダル払出装置764から排出されたメダルの枚数を示し、ベット枚数は、メダル投入部624を通じたメダルの投入枚数、または、ベットスイッチ626の操作を通じたクレジットされているメダルの投入枚数を示す。
変数のうち、貯留枚数は、図13(a)に示すように、32ビットの管理領域のうち、例えば、下位8ビットに、貯留枚数がとりうる値「00」h〜「32」h(50)を記述し、その上位24ビットには0が記述される。変数のうち、払出枚数は、図13(b)に示すように、32ビットの管理領域のうち、例えば、下位8ビットに、払出枚数がとりうる値「0」h〜「9」hを記述し、その上位24ビットには0が記述される。変数のうち、ベット枚数は、図13(c)に示すように、32ビットの管理領域のうち、例えば、下位8ビットに、ベット枚数がとりうる値「0」h〜「3」hを記述し、その上位24ビットには0が記述される。
そして、状態管理部は、各変数を、サブCPU702aで管理される管理単位長のデータを複数に分割した分割領域にそれぞれ割り当てる。具体的に、まず、状態管理部は、図13(a)に示した貯留枚数の管理領域のうち下位8ビットを抽出して、図13(d)のように、集約データの上位8ビットの第1分割領域に割り当てる。同様に、状態管理部は、図13(b)に示した払出枚数の管理領域のうち下位8ビットを抽出して、図13(d)のように、集約データのビット23〜ビット16までの8ビットの第2分割領域に割り当て、図13(c)に示したベット枚数の管理領域のうち下位8ビットを抽出して、図13(d)のように、集約データのビット15〜ビット8までの8ビットの第3分割領域に割り当てる。なお、集約データのビット7〜ビット0の8ビットは、利用していない(未使用)。
かかる構成により、3つの変数を1つの集約データで管理できるので、サブCPU702aは、1の集約データを生成しさえすれば、3つの変数を一度に取り扱うことができ、アクセス数を抑制しつつ、レジスタを有効活用できる。
また、集約データは以下のようにして生成できる。すなわち、まず、貯留枚数の下位8ビットを集約データの下位8ビットに複写する。その後、集約データを左に8ビットシフトする。次に、払出枚数の下位8ビットを集約データの下位8ビットに複写する。その後、集約データを左に8ビットシフトする。次に、ベット枚数の下位8ビットを集約データの下位8ビットに複写する。その後、集約データを左に8ビットシフトする。ここで、集約データの下位8ビットに0を記述してもよい。こうして、複数種類の変数を集約した集約データが生成される。
また、集約データを各変数に分解する場合、上記の手順の逆の処理を行えばよい。すなわち、集約データを右に8ビットシフトする。そして、集約データの下位8ビットをベット枚数の下位8ビットに複写する。その後、集約データを右に8ビットシフトする。次に、集約データの下位8ビットを払出枚数の下位8ビットに複写する。その後、集約データを右に8ビットシフトする。次に、集約データの下位8ビットを貯留枚数の下位8ビットに複写する。
また、状態管理部は、このように生成された集約データを、一時的に、サブRAM702cに記憶する。かかる構成により、3つの変数に対し、記憶領域として、3つの管理領域を準備することなく、1つの集約データに対する1の管理領域のみ確保すれば足りるので、サブRAM702cの記憶領域の有効利用が可能となる。
また、状態管理部は、集約データをメッセージとしてオペレーションバッファに追加する。時間管理モジュールは、オペレーションバッファに蓄積された各メッセージを、その出力タイミングに応じてデバイス部に送信する。デバイス部は、メッセージが示す集約データに基づいて各デバイスにコマンドを送信して演出を実行させる。ここでも、3つの変数を1の集約データの管理領域に収めているので、サブCPU702aは、1の集約データを生成しさえすれば、3つの変数を一度に取り扱うことができ、メッセージのアクセス数を抑制しつつ、オペレーションバッファの記憶領域の有効利用が可能となる。
図14は、状態管理部の動作を説明するための他の説明図である。ここでは、パチンコ機における演出図柄を摸した演出が行われ、操作されたストップボタンスイッチ630a、630b、630cに対応する回転リール634a、634b、634cそれぞれが停止制御されるとともに、ストップボタンスイッチ630a、630b、630cに対応する演出図柄(左図柄、中図柄、右図柄)が停止表示される。ここで、左回転開始図柄は、回転開始時点の左図柄を示し、左仮停止図柄は、最終的な停止図柄を報知する前に、仮に停止する左図柄を示し、左最終停止図柄は、最終的に停止する左図柄を示す。ここでは、左図柄についての変数を挙げて説明するが、中図柄および右図柄についても同様に処理されることは言うまでもない。
変数のうち、左回転開始図柄は、図14(a)に示すように、32ビットの管理領域のうち、例えば、下位8ビットに、左回転開始図柄がとりうる値「0」h〜「9」hを記述し、その上位24ビットには0が記述される。変数のうち、左仮停止図柄は、図14(b)に示すように、32ビットの管理領域のうち、例えば、下位8ビットに、左仮停止図柄がとりうる値「0」h〜「9」hを記述し、その上位24ビットには0が記述される。変数のうち、左最終停止図柄は、図14(c)に示すように、32ビットの管理領域のうち、例えば、下位8ビットに、左最終停止図柄がとりうる値「0」h〜「9」hを記述し、その上位24ビットには0が記述される。
そして、状態管理部は、各変数を、サブCPU702aで管理される管理単位長のデータを複数に分割した分割領域にそれぞれ割り当てる。具体的に、まず、状態管理部は、図14(a)に示した左回転開始図柄の管理領域のうち下位8ビットを抽出して、図14(d)のように、集約データの上位8ビットの第1分割領域に割り当てる。同様に、状態管理部は、図14(b)に示した左仮停止図柄の管理領域のうち下位8ビットを抽出して、図14(d)のように、集約データのビット23〜ビット16までの8ビットの第2分割領域に割り当て、図14(c)に示した左最終停止図柄の管理領域のうち下位8ビットを抽出して、図14(d)のように、集約データのビット15〜ビット8までの8ビットの第3分割領域に割り当てる。なお、集約データのビット7〜ビット0の8ビットは、利用していない(未使用)。
かかる構成により、3つの変数を1つの集約データで管理できるので、サブCPU702aは、1の集約データを生成しさえすれば、3つの変数を一度に取り扱うことができ、アクセス数を抑制しつつ、レジスタを有効活用できる。
また、状態管理部は、このように生成された集約データを、一時的に、サブRAM702cに記憶する場合がある。かかる構成により、3つの変数に対し、記憶領域として、3つの管理領域を準備することなく、1つの集約データに対する1の管理領域のみ確保すれば足りるので、サブRAM702cの記憶領域の有効利用が可能となる。
また、状態管理部は、集約データをメッセージとしてオペレーションバッファに追加する。時間管理モジュールは、オペレーションバッファに蓄積された各メッセージを、その出力タイミングに応じてデバイス部に送信する。デバイス部は、メッセージが示す集約データに基づいて各デバイスにコマンドを送信して演出を実行させる。ここでも、3つの変数を1の集約データの管理領域に収めているので、サブCPU702aは、1の集約データを生成しさえすれば、3つの変数を一度に取り扱うことができ、メッセージのアクセス数を抑制しつつ、オペレーションバッファの記憶領域の有効利用が可能となる。