(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0023】
(第一実施形態)
以下、本発明の第一実施形態について図面を参照しながら説明する。
本実施形態では、本発明に係る遊技機を、パチンコ機1に適用している。
【0024】
(パチンコ機1の全体構成)
まず、パチンコ機1の全体構成を説明する。
図1は、パチンコ機の全体構成を示す斜視図である。
図1に示すパチンコ機1は、矩形状の外枠2と、外枠2の前側に配設された内枠3と、内枠3の前側に配設された扉ユニット4と、を備えている。
内枠3は、矩形状に形成され、外枠2に対して開閉することが可能となるように配設されている。内枠3の内側には、遊技盤10(
図2参照)が取り付けられている。
扉ユニット4は、略方形の扉状に形成され、外枠2に対して開閉することが可能となるように配設されている。これによって、扉ユニット4は、内枠3に取り付けられた遊技盤10の正面側を開閉することが可能となっている。扉ユニット4は、略中央部に配設された透明板4aと、透明板4aの周囲に配設された装飾部4bと、透明板4aの下側に配設された受皿ユニット5と、受皿ユニット5の側方に配設された発射ハンドル6と、を備えている。
透明板4aは、樹脂、ガラス等の透明な材料により平板状に形成され、内枠3に取り付けられた遊技盤10の正面側に配設される。これによって、遊技者は、透明板4aを介して、遊技盤10を視認することが可能となっている。装飾部4bは、前方に向かって膨出する形状を有している。装飾部4bの上側の各角部には、その内部に音発生装置(スピーカ)22(
図3参照)が配設された音抜部4cが設けられている。各音抜部4cには、音発生装置22が出力する音声を通過させる複数の音抜孔が設けられている。また、装飾部4bには、複数のランプ21(
図3参照)が配設されている。
【0025】
受皿ユニット5は、遊技球(貸球及び賞球)を受ける受皿5aと、受皿5aの前側に配設された演出ボタン5b及び回転型セレクター5cと、を有している。
演出ボタン5bは、略円柱状に形成され、受皿ユニット5から上方に向かって突出するように配設されている。演出ボタン5bは、遊技者による押下操作(下方に向かって押し込む操作)が可能となっている。受皿ユニット5の内部には、演出ボタン5bの押下操作を検出する第1操作検出スイッチ24(
図3参照)が配設されている。第1操作検出スイッチ24は、演出ボタン5bが押下操作されるごとに、第1操作信号を演出制御回路300(
図3参照)に対して出力する。
回転型セレクター5c(いわゆる「ジョグダイヤル」)は、略円筒状に形成され、演出ボタン5bの周囲を囲むように配設されている。回転型セレクター5cは、遊技者による回転操作(円筒軸を中心に回転させる操作)が可能となっている。受皿ユニット5の内部には、回転型セレクター5cの回転操作を検出する第2操作検出スイッチ25(
図3参照)が配設されている。第2操作検出スイッチ25は、回転型セレクター5cが所定角度(例えば、60[°])回転操作されるごとに、第2操作信号を演出制御回路300に対して出力する。
【0026】
また、受皿ユニット5の上面には、貸出操作部7が配設されている。貸出操作部7は、球貸ボタン7aと、返却ボタン7bと、度数表示装置7cと、を有している。ここで、パチンコ機1は、プリペイドカードに記録されている情報の読出し及び更新を行うことが可能なCRユニット500(
図3参照)と通信可能に接続されている。そして、プリペイドカード(図示せず)がCRユニット500に挿入されると、CRユニット500に挿入されたプリペイドカードに記録されている有価媒体の残存度数が度数表示装置7cに表示される。そして、プリペイドカードがCRユニット500に挿入されている状態で球貸ボタン7aが操作されると、所定数の遊技球が受皿5aに払い出される。この際、払い出された遊技球の数に応じてプリペイドカードに記録されている有価媒体の残存度数が更新されて、更新された有価媒体の残存度数が度数表示装置7cに表示される。また、有価媒体の残存度数が残っているプリペイドカードがCRユニット500に挿入されている状態で返却ボタン7bが操作されると、CRユニット500からプリペイドカードが返却される。
ここで、プリペイドカートとしては、例えば、磁気記憶媒体、記憶IC内蔵媒体等が該当する。
発射ハンドル6は、遊技者による回転操作が可能となっている。そして、発射ハンドル6は、回転操作されたことに応じて、この回転操作量に応じた抵抗値を払出制御回路400(
図3参照)に対して出力する。
【0027】
(遊技盤10の構成)
次に、遊技盤10の構成を説明する。
図2は、遊技盤の正面を示し、特に説明に必要な部分を模式的に示した図である。
図2に示すように、遊技盤10の略中央部には、演出画像を表示することが可能な画像表示装置20が設けられている。遊技盤10の正面には、発射ハンドル6が操作されることに応じて打ち出された遊技球が流下する遊技領域30が形成されている。
画像表示装置20は、例えば、液晶ディスプレイ、CRT(Cathode Ray Tube)ディスプレイ等の可変表示装置によって構成される。そして、画像表示装置20は、第1演出図柄(図示せず)が表示される3つの第1演出図柄表示領域(図示せず)と、第2演出図柄(図示せず)が表示される1つの第2演出図柄表示領域(図示せず)と、を構成することが可能となっている。
【0028】
第1演出図柄は、数字、文字、記号、キャラクタ等の識別情報(図柄)を含んで構成されている。各第1演出図柄表示領域では、第1演出図柄の変動表示及び停止表示を行うことが可能となっている。第2演出図柄は、カラーバーから構成されている。第2演出図柄表示領域では、第2演出図柄の変動表示及び停止表示を行うことが可能となっている。
そして、演出図柄の変動表示とは、各第1演出図柄表示領域において、第1演出図柄がスクロール表示されるとともに、第2演出図柄表示領域に表示されている第2演出図柄が順次変更される(カラーバーが表す色が順次変化される)ことをいう。また、演出図柄の停止表示とは、各第1演出図柄表示領域の抽選結果表示位置において、所定の第1演出図柄を停止させた状態で表示するとともに、第2演出図柄表示領域において、所定の第2演出図柄が表示される(カラーバーが所定の色を表す)ことをいう。そして、3つの第1演出図柄表示領域において停止表示された第1演出図柄と、第2演出図柄表示領域において停止表示された第2演出図柄との組み合わせによって、特別図柄抽選(第1特別図柄抽選又は第2特別図柄抽選)の結果が表示される。
【0029】
画像表示装置20の左方には、始動ゲート41が設けられている。始動ゲート41は、常時、遊技球による通過が可能となるように形成されている。始動ゲート41には、普図始動球検知センサ104(
図3参照)が配設されている。普図始動球検知センサ104は、遊技球による始動ゲート41の通過の検出に応じて、検出信号を主制御回路200に対して出力する。主制御回路200は、普図始動球検知センサ104からの検出信号の入力に応じて、普通図柄抽選を実行する。
画像表示装置20の下方には、第1始動口51が設けられている。第1始動口51は、上向きに開口した入球口(いわゆる「ヘソ」)であり、常時、遊技球の入球が可能となっている。第1始動口51内には、特
図1始動球検知センサ101(
図3参照)が配設されている。特
図1始動球検知センサ101は、第1始動口51への遊技球の入球の検出に応じて、検出信号を主制御回路200に対して出力する。主制御回路200は、特
図1始動球検知センサ101からの検出信号の入力に応じて、第1特別図柄抽選を実行する。
【0030】
第1始動口51の下方には、第2始動口52が設けられている。第2始動口52には、第2始動口52への遊技球の入球を不可能にする閉止状態と遊技球の入球を可能にする開放状態とに変位することが可能な始動口開閉部材52a(いわゆる「電動チューリップ」)が設けられている。始動口開閉部材52aは、始動口ソレノイド64(
図3参照)によって開閉される。第2始動口52は、通常時は、始動口開閉部材52aが閉止状態とされて、遊技球の入球が不可能となっているが、普通図柄抽選に当選した場合に、始動口開閉部材52aが開放状態とされて、遊技球の入球が可能となる。第2始動口52内には、特
図2始動球検知センサ102(
図3参照)が配設されている。特
図2始動球検知センサ102は、第2始動口52への遊技球の入球の検出に応じて、検出信号を主制御回路200に対して出力する。主制御回路200は、特
図2始動球検知センサ102からの検出信号の入力に応じて、第2特別図柄抽選を実行する。
【0031】
第2始動口52の下方には、大入賞口53が設けられている。大入賞口53には、大入賞口53への遊技球の入球を不可能にする閉止状態と遊技球の入球を可能にする開放状態とに変位することが可能な大入賞口開閉部材53a(いわゆる「アタッカー」)が設けられている。
大入賞口開閉部材53aは、大入賞口ソレノイド65(
図3参照)によって開閉される。大入賞口53は、通常時は、大入賞口開閉部材53aが閉止状態とされて、遊技球の入球が不可能となっているが、第1特別図柄抽選又は第2特別図柄抽選に当選して、大当たり遊技状態が生起された場合に、大入賞口開閉部材53aが開放状態とされて、遊技球の入球が可能となる。大入賞口53内には、大入賞球検知センサ103(
図3参照)が配設されている。大入賞球検知センサ103は、大入賞口53への遊技球の入球の検出に応じて、検出信号を主制御回路200に対して出力する。主制御回路200は、大入賞球検知センサ103からの検出信号の入力に応じて、遊技球払出装置440(
図3参照)による賞球の払い出しに係る遊技球払出動作を実行する。
【0032】
遊技領域30における大入賞口53の下方には、いずれの入球口にも入賞しなかった遊技球を回収するためのアウト口54が設けられている。なお、遊技領域30には、各入球口51,52,53やゲート41に遊技球を導くように複数の釘(図示せず)が配置されている。
第1始動口51の右方には、状態表示装置63が設けられている。状態表示装置63は、LED等によって構成されている。状態表示装置63には、第1特別図柄抽選の抽選結果の表示が保留されている回数(いわゆる「保留数」)、第2特別図柄抽選の抽選結果の表示が保留されている回数、普通図柄抽選の抽選結果の表示が保留されている回数、大当たり遊技状態の種別(ラウンド遊技の実行回数)等が表示される。
状態表示装置63の下方には、普図表示装置60、特
図1表示装置61及び特
図2表示装置62が設けられている。各表示装置60,61,62は、7セグメントLED、ドットマトリクスLED等によって構成されている。
普図表示装置60は、数字や図柄等からなる普通図柄の変動表示及び停止表示を行うことが可能となっている。そして、普図表示装置60では、停止表示された普通図柄によって、普通図柄抽選の結果が表示される。ここで、普図表示装置60に停止表示された普通図柄が特定の図柄となった場合には、遊技者に有利な遊技状態である普図当たり遊技状態が生起される。
特
図1表示装置61は、数字や図柄等からなる第1特別図柄の変動表示及び停止表示を行うことが可能となっている。そして、特
図1表示装置61では、停止表示された第1特別図柄によって、第1特別図柄抽選の結果が表示される。特
図2表示装置62は、数字や図柄等からなる第2特別図柄の変動表示及び停止表示を行うことが可能となっている。そして、特
図2表示装置62では、停止表示された第2特別図柄によって、第2特別図柄抽選の結果が表示される。
ここで、特図表示装置61,62における特別図柄(第1特別図柄又は第2特別図柄)の表示と、演出図柄表示領域(第1演出図柄表示領域及び第2演出図柄表示領域)における演出図柄(第1演出図柄及び第2演出図柄)の表示とは、変動表示が開始される時期、変動表示が終了して停止表示が行われる時期及び停止表示された図柄が示す抽選結果のそれぞれについて対応付けられている。
そして、特
図1表示装置61に停止表示された第1特別図柄が特定の図柄となった場合又は特
図2表示装置62において停止表示された第2特別図柄が特定の図柄となった場合には、遊技者に有利な遊技状態である大当たり遊技状態が生起される。
【0033】
(制御系の構成)
次に、パチンコ機1における制御系の構成を説明する。
図3は、パチンコ機の制御系の構成を示すブロック図である。
図4は、主制御回路が備える第2出力ポート及び演出制御回路が備える入力ポートの構成を示すブロック図である。
図3に示すように、パチンコ機1は、主制御回路200と、演出制御回路(サブ制御回路)300と、払出制御回路400と、各制御回路200,300,400等に電源(電力)を供給する電源回路600と、を備えている。
各制御回路200,300,400は、CPU(Central Processing Unit)と、遊技の進行に係るプログラム及び遊技の進行に必要なデータを格納するROM(Read Only Memory)と、CPUがROMに格納されているプログラムに基づく処理を進行するために使用される一時記憶領域となるRAM(Random Access Memory)と、を備えるマイクロコンピュータである。主制御回路200、演出制御回路300及び払出制御回路400は、それぞれ別々の基板に実装されている。
【0034】
主制御回路200は、CPU210と、ROM220と、RAM230と、入力ポート240と、第1出力ポート251と、第2出力ポート252と、第3出力ポート253と、周波数発生回路260と、ハード乱数発生回路270と、を備える。
入力ポート240は、各検知センサ・スイッチ101〜104から入力された検出信号及び払出制御回路400から入力された制御コマンドのそれぞれを、CPU210に対して出力する。第1出力ポート251は、各表示装置60〜63及び各ソレノイド64,65に対して制御信号を出力するとともに、パチンコ機1の賞球の払い出しに関する情報やエラー信号をホールコンピュータ(図示せず)に対して送信する。第2出力ポート252は、演出制御回路300に対して制御コマンドを送信する。第2出力ポート252の構成については、後述する。第3出力ポート253は、払出制御回路400に対して制御コマンドを送信する。本実施形態では、第3出力ポート253の構成は、第2出力ポート252の構成と同一となっている。
【0035】
図4に示すように、第2出力ポート252は、送信用データレジスタ290と、FIFO(First In First Out)バッファ291と、送信用シフトレジスタ292と、TX端子293と、を有している。
送信用データレジスタ290は、1つの制御コマンドを一時的に記憶することが可能に構成されている。送信用データレジスタ290は、後述する制御コマンド格納処理(ステップS33)に基づいて入力された制御コマンドを、FIFOバッファ291に対して出力する。
FIFOバッファ291は、複数のレジスタから構成され、複数の制御コマンドを記憶することが可能となっている。ここで、FIFOバッファ291の記憶容量は、後述する所定記憶上限数より多い数の制御コマンドを記憶することが可能となるように構成されている。そして、FIFOバッファ291は、送信用データレジスタ290から入力された制御コマンドを記憶するとともに、記憶している制御コマンドを入力された順番で送信用シフトレジスタ292に対して出力する。この際、FIFOバッファ291は、送信用シフトレジスタ292に制御コマンドが記憶されていない場合(送信用シフトレジスタ292が制御コマンドの送信中でない場合)に、制御コマンドを送信用シフトレジスタ292に対して出力する。
具体的には、FIFOバッファ291は、それぞれが1つの制御コマンドを記憶することが可能な複数のレジスタと、制御コマンドを出力するレジスタの順番を指定する読出しポインタと、読出ポインタが指定する順番に基づいて制御コマンドを出力するレジスタを選択して、選択したレジスタが記憶する制御コマンドを送信用シフトレジスタ292に対して出力するセレクターと、を有しいている。そして、読出ポインタは、次に制御コマンドを読み出すべきレジスタを示す情報と、制御コマンドを記憶しているレジスタの数(FIFOバッファ291に記憶されている制御コマンドの数)を示す情報(以下、「制御コマンド記憶数情報」とする)とを保持する。
送信用シフトレジスタ292は、FIFOバッファ291から入力された制御コマンドについて、パラレル−シリアル変換を行い、シリアルデータとしてTX端子293を介して演出制御回路300に対して送信する。なお、送信用シフトレジスタ292は、制御コマンドの送信中には、新たな制御コマンドを入力することができないように構成されている。
【0036】
ROM220には、遊技の進行に係るプログラム及び遊技の進行に必要なデータが格納されている。特に、ROM220には、遊技の進行に必要なデータとして、各種抽選を実行するための判定テーブル、演出制御回路300を制御するために必要な各種制御コマンドが格納されている。
RAM230には、主制御回路200における入出力データ、演算処理のためのデータ、遊技に関連する乱数カウンタ等の各種カウンタ、抽選結果や遊技状態を管理するフラグ等が一時的に記憶される。
特に、RAM230には、特
図1始動球検知センサ101、特
図2始動球検知センサ102及び普図始動球検知センサ104のそれぞれからの検出信号の入力を契機として取得される始動情報を記憶する領域が設けられている。ここで、始動情報とは、各検出信号の入力を契機として取得された各種乱数値等の情報をいう。
ここで、パチンコ機1は、電源回路600による電源の供給が遮断された際に、各制御回路200,300,400に対して電源を供給することが可能なバックアップ電源回路(図示せず)を備えている。
そして、各制御回路200,300,400では、電源回路600により供給されている電源電圧の低下(電源の供給の遮断)が検出された場合に、バックアップ電源回路から供給される電源に基づいて、RAMに記憶されている情報を維持(保存)する電源遮断時処理(
図10、
図17)が実行され、その後、電源回路600による電源の供給の復帰を検出した場合に、保存処理により保存した情報に基づいて、RAMに記憶されている情報を保存処理が実行される直前の状態に復帰する初期化処理(
図6)が実行される。なお、電源復帰には、電源の投入が含まれるものとする。
これにより、主制御回路200のRAM230及び演出制御回路300、払出制御回路400のRAMは、それぞれ、電源回路600による電源の供給時には、この電源に基づいて記憶された情報を保持することができ、電源回路600による電源の供給の遮断時には、バックアップ電源回路から供給される電源に基づいて記憶された情報を保持(保存)することができる。
【0037】
周波数発生回路260は、所定のクロック周波数(本実施形態では、12[MHz])でクロック(同期信号)を発生させて、このクロックをCPU210及びハード乱数発生回路270のそれぞれに対して出力する。ハード乱数発生回路270は、普通図柄抽選の当たり乱数、第1特別図柄抽選の当たり乱数及び第2特別図柄抽選の当たり乱数のそれぞれを発生させる。ハード乱数発生回路270は、周波数発生回路260から1クロックが入力されるごとに、ループカウンタの値を所定の範囲内(例えば、0〜65535の範囲内)において1ずつ更新することによって、当たり乱数を発生させる。本実施形態では、ハード乱数発生回路270のループカウンタの値は、0.083[μs](1[s]/12[MHz]=0.083[μs])ごとに更新される。なお、ループカウンタは、普通図柄抽選、第1特別図柄抽選及び第2特別図柄抽選のそれぞれに対応するものが設定されている。
【0038】
演出制御回路300は、主制御回路200から受信した制御コマンドに基づいて、画像表示装置20における演出画像の表示、ランプ21の点灯・点滅及び音発生装置22による音の出力のそれぞれを制御する。
演出制御回路300は、主制御回路200と同様に、CPU、ROM、RAM320、入力ポート310及び出力ポートを備える。
演出制御回路300のROMには、演出の進行に係るプログラム、演出の進行に必要なデータが格納されている。演出制御回路300のRAM320には、主制御回路200から受信した制御コマンド、演算処理を行うためのデータ等が一時的に記憶される。演出制御回路300の入力ポート310は、主制御回路200(第2出力ポート252)から受信した制御コマンドを、CPUに対して出力する。入力ポート310の構成については、後述する。演出制御演出制御回路300の出力ポートは、画像表示装置20、ランプ21及び音発生装置22のそれぞれに対して制御信号を出力する。
演出制御回路300のCPUは、主制御回路200から受信した制御コマンドに基づいて、実行する演出内容を決定する。そして、決定した演出内容に係る演出プログラムにしたがって、画像データ、ランプ制御データ、音制御データを読み出して、読み出した各制御データを画像表示装置20、ランプ21及び音発生装置22のそれぞれに対して出力する。
【0039】
図4に示すように、入力ポート310は、RX端子311と、受信用シフトレジスタ312と、FIFOバッファ313と、受信用データレジスタ314と、を有している。
受信用シフトレジスタ312は、RX端子311を介して、第2出力ポート252からから受信した制御コマンドについて、シリアル−パラレル変換を行い、パラレルデータとしてFIFOバッファ313に対して出力する。なお、受信用シフトレジスタ312は、制御コマンドの受信中には、新たな制御コマンドを受信することができないように構成されている。
FIFOバッファ313は、複数のレジスタから構成され、複数の制御コマンドを記憶することが可能となっている。そして、FIFOバッファ313は、受信用シフトレジスタ312から入力された制御コマンドを記憶するとともに、記憶している制御コマンドを入力された順番で受信用データレジスタ314に対して出力する。
受信用データレジスタ314は、1つの制御コマンドを一時的に記憶することが可能に構成されている。受信用データレジスタ314は、後述する受信データ格納処理(ステップS402)に基づいてFIFOバッファ313から読み出した制御コマンドを、RAM320に対して出力する。
【0040】
払出制御回路400は、発射ハンドル6が備える発射ボリューム(図示せず)から入力された信号に基づいて、遊技球発射装置423による遊技球の発射動作を制御する。
具体的には、払出制御回路400には、発射ボリューム及び遊技球発射装置423が接続されている。発射ボリュームは、発射ハンドル6が回転操作されると、この回転操作量に応じた信号を払出制御回路400に対して出力する。そして、払出制御回路400は、発射ボリュームから入力された信号に応じた強さで遊技球を遊技領域30に発射するように、遊技球発射装置423による遊技球の発射動作を制御する。
【0041】
また、払出制御回路400は、主制御回路200から受信した制御コマンド及びCRユニット500から受信した球貸指示信号のそれぞれに基づいて、遊技球払出装置440による遊技球払出動作を制御する。
具体的には、払出制御回路400には、接続基板410が接続され、その接続基板410には、球貸ボタン7a、返却ボタン7b、度数表示装置7c及びCRユニット500のそれぞれが接続されている。
球貸ボタン7aは、押下操作されたことに応じて、球貸操作信号を、接続基板410を介してCRユニット500に対して送信する。そして、CRユニット500は、球貸操作信号を受信すると、挿入されているプリペイドカードに記録されている有価媒体の残存度数から所定数の貸球を払い出すために必要な度数を減算して、プリペイドカードにおける有価媒体の残存度数の記録を更新するとともに、所定数の遊技球の払い出しを指示する球貸指示信号を、接続基板410を介して払出制御回路400に送信する。さらに、払出制御回路400は、球貸指示信号を受信すると、所定数の遊技球を払い出すように、遊技球払出装置440による遊技球の払出動作を制御する。
CRユニット500は、プリペイドカートが挿入されたとき及びプリペイドカードにおける有価媒体の残存度数の記録を更新したときのそれぞれにおいて、有価媒体の残存度数を示す度数信号を、接続基板410を介して度数表示装置7cに送信する。そして、度数表示装置7cは、度数信号を受信すると、この度数信号が示す有価媒体の残存度数を表示する。
返却ボタン7bは、押下操作されたことに応じて、返却操作信号を、接続基板410を介してCRユニット500に対して送信する。そして、CRユニット500は、返却操作信号を受信すると、有価媒体の残存度数が残っているプリペイドカードを返却(排出)する。
【0042】
電源回路600には、電源遮断検出回路(図示せず)が接続されている。電源遮断検出回路は、電源回路600が供給する電源電圧を監視して、電源電圧の値が所定の基準値を下回った場合に、電源遮断検出信号を各制御回路200,300,400に対して出力する。
【0043】
(各種抽選について)
次に、パチンコ機1で実行される各種抽選について説明する。
パチンコ機1では、遊技球による始動ゲート41の通過を契機として、普通図柄抽選が実行される。そして、普通図柄抽選に当選した場合に、普図当たり遊技状態が生起される。普図当たり遊技状態では、始動口開閉部材52aが閉止状態から開放状態に変位(開放)されて、第2始動口52への遊技球の入球が可能な状態となる。
普通図柄抽選に当選した場合には、普図表示装置60において、普通図柄を「普図当たり図柄」で停止表示させるように制御する。一方、普通図柄抽選に落選した場合には、普図表示装置60において、普通図柄を「はずれ図柄」で停止表示させるように制御する。
また、パチンコ機1では、第1始動口51への遊技球の入球を契機として、第1特別図柄抽選が実行され、第2始動口52への遊技球の入球を契機として、第2特別図柄抽選が実行される。そして、第1特別図柄抽選又は第2特別図柄抽選に当選した場合に、大当たり遊技状態が生起される。大当たり遊技状態では、大入賞口開閉部材53aが閉止状態から開放状態に変位されるラウンド遊技が実行されて、大入賞口53への遊技球の入球が可能な状態となる。
本実施形態では、特別図柄抽選(第1特別図柄抽選又は第2特別図柄抽選)の抽選に当選した場合に生起される大当たり遊技状態の種別として、「通常大当たり」及び「確変大当たり」の2種類が設定されている。
【0044】
「通常大当たり」に当選した場合には、表示装置61,62において、特別図柄を「通常大当たり図柄」で停止表示させるように制御する。この際、画像表示装置20の演出図柄表示領域(第1演出図柄表示領域及び第2演出図柄表示領域)において、演出図柄(第1演出図柄及び第2演出図柄)を「通常大当たり図柄」で停止表示させるように制御する。画像表示装置20において表示される「通常大当たり図柄」は、例えば、3つの第1演出図柄表示領域に停止表示された第1演出図柄が、「2、2、2」等、同一の偶数の数字を示す演出図柄で揃うとともに、第2演出図柄表示領域に停止表示された第2演出図柄が青色を示す態様とする。
「確変大当たり」に当選した場合には、表示装置61,62において、特別図柄を「確変大当たり図柄」で停止表示させるように制御する。この際、画像表示装置20の演出図柄表示領域において、演出図柄を「確変大当たり図柄」で停止表示させるように制御する。画像表示装置20において表示される「確変大当たり図柄」は、例えば、3つの第1演出図柄表示領域に停止表示された第1演出図柄が、「1、1、1」等、同一の奇数の数字を示す演出図柄で揃うとともに、第2演出図柄表示領域に停止表示された第2演出図柄が赤色を示す態様とする。
一方、特別図柄抽選に落選した場合(「はずれ」の場合)には、表示装置61,62において特別図柄を「はずれ図柄」で停止表示させるように制御する。この際、画像表示装置20の演出図柄表示領域において、演出図柄を「はずれ図柄」で停止表示させるように制御する。画像表示装置20において停止表示される「はずれ図柄」は、例えば、3つの第1演出図柄表示領域に停止表示された第1演出図柄を、「1、6、9」等、少なくとも一の領域に停止表示された演出図柄が示す数字が、他の領域に停止表示された演出図柄が示す数字と異なる組み合わせとなるとともに、第2演出図柄表示領域に停止表示された第2演出図柄が白色を示す態様とする。
【0045】
「通常大当たり」又は「確変大当たり」に当選した場合には、ラウンド遊技の回数が15[回]に設定され、各回のラウンド遊技における大入賞口開閉部材53aの最長開放時間が所定時間(例えば、30.0[s])に設定される。各回のラウンド遊技における大入賞口開閉部材53aの開放は、大入賞口開閉部材53aが開放状態とされてから設定された最長開放時間が経過するか、または、大入賞口53への遊技球の入球数が所定数(例えば、10[球])に達することにより終了する。
ここで、パチンコ機1では、特別図柄抽選(第1特別図柄抽選及び第2特別図柄抽選)の当選確率に係る遊技状態として、「特図低確率状態」及び「特図高確率状態」を有している。「特図低確率状態」では、特別図柄抽選の当選確率が、第1の確率(以下、「低確率」とする)(例えば、1/390)に設定される。一方、「特図高確率状態」では、特別図柄抽選の当選確率が、第1の確率より高い第2の確率(以下、「高確率」とする)(例えば、1/39)に設定される。なお、主制御回路200は、第1特別図柄抽選の当選確率と第2特別図柄抽選の当選確率とが同期するように、各抽選の当選確率を設定する。
「通常大当たり」に当選した場合には、この大当たり遊技状態が終了した後から次の大当たり遊技状態が生起される前までの期間において、「特図低確率状態」が生起される。一方、「確変大当たり」に当選した場合には、この大当たり遊技状態が終了した後から次の大当たり遊技状態が生起される前までの期間において、「特図高確率状態」が生起される(または、大当たり遊技状態の終了に応じて「特図高確率状態」が開始され、開始された「特図高確率状態」は、この「特図高確率状態」の開始後、大当たり遊技状態が生起されることなく、所定回数(例えば、70[回])の特別図柄の報知表示(変動表示及び停止表示)が実行されたことに応じて終了される)。
【0046】
また、パチンコ機1では、補助制御として、時短制御を実行することが可能となっている。時短制御とは、該制御が実行されていないときと比較して、特別図柄の変動表示を行う時間(以下、「変動時間」とする)が短縮される制御をいう。本実施形態では、時短制御が実行されているときには、該制御が実行されていないときと比較して、普通図柄抽選の当選確率が向上され、普図当たり遊技状態における始動口開閉部材52aの開放回数が増加され、普図当たり遊技状態における始動口開閉部材52aの開放時間が延長され、かつ、普通図柄の変動表示を行う時間が短縮される。
そして、「通常大当たり」又は「確変大当たり」に当選した場合には、この大当たり遊技状態の終了後において、時短制御が実行される。この時短制御は、大当たり遊技状態の終了に応じて開始され、この時短制御の開始後、大当たり遊技状態が生起されることなく、所定回数(例えば、70[回])の特別図柄の報知表示(変動表示及び停止表示)が実行されたことに応じて終了される。
【0047】
(制御コマンドについて)
次に、主制御回路200から演出制御回路300に対して送信される制御コマンド、及び、主制御回路200と払出制御回路400との間で送受信される制御コマンドについて説明する。
図5は、主制御回路から演出制御回路に対して送信される制御コマンドを説明する図である。
主制御回路200と演出制御回路300とは、シリアル通信用のハーネスを介して互いに接続されている。ここで、主制御回路200と演出制御回路300との間における通信は、主制御回路200から演出制御回路300への一方向のみで行われ、演出制御回路300から主制御回路200への通信は行われない。
主制御回路200から演出制御回路300に対して送信される各制御コマンドは、制御コマンドの種類を示す1バイトの先行データと、制御コマンドの内容を示す1バイトの後続データと、から構成されている。
そして、主制御回路200は、シリアル通信によって、先行データ及び後続データから構成される制御コマンドを演出制御回路300に対して送信する。演出制御回路300では、主制御回路200から制御コマンドを受信すると、シリアル通信受信割込みが発生し、この割込み処理によって、制御コマンドのデータをRAMの所定領域に記憶する。
【0048】
図5に示すように、パチンコ機1では、主制御回路200から演出制御回路300に対して送信される制御コマンドとして、図柄種別指定コマンド、第1変動パターン指定コマンド、第2変動パターン指定コマンド、停止指定コマンド、状態指定コマンド等が設定されている。
図柄種別指定コマンドは、特別図柄(演出図柄)の停止図柄(特別図柄抽選の抽選結果)を指定するコマンドである。図柄種別指定コマンドは、停止表示させる演出図柄の態様(停止図柄)として、「はずれ図柄」、「通常大当たり図柄」又は「確変大当たり図柄」を指定する。図柄種別指定コマンドは、特別図柄の変動開始時に送信される。
第1変動パターン指定コマンド及び第2変動パターン指定コマンドは、それぞれ、特別図柄(演出図柄)の変動表示の変動パターンを指定するコマンドである。本実施形態では、第1変動パターン指定コマンド及び第2変動パターン指定コマンドは、それぞれ、変動時間を指定することによって、当該変動時間に対応付けられている変動パターンを指定するように構成されている。
【0049】
第1変動パターン指定コマンドは、演出図柄の変動表示のうち第1期間(例えば、演出図柄の変動表示の開始後から後述するリーチ表示の開始前までの期間)の変動パターン(以下、「第1変動パターン」とする)を指定する。本実施形態では、第1変動パターンとして、互いに異なる内容の報知演出(後述する擬似連続変動表示の内容等)が対応付けられた、m(複数)種類の変動パターン(変動時間)が設定されている。そして、第1変動パターン指定コマンドは、m種類の第1変動パターンのうち一のものを指定する。
本実施形態では、第1変動パターンとして、「通常変動パターン」及び「擬似連続変動パターン」が設定されている。
「通常変動パターン」とは、「擬似連続変動パターン」とは異なり、演出図柄の変動表示中に、大当たり遊技状態が生起されることを期待させる表示(「擬似連続変動表示」等)が行われない変動パターンをいう。また、「擬似連続変動パターン」とは、演出図柄の変動表示中に、1回以上の擬似連続変動表示が行われる変動パターンをいう。
ここで、擬似連続変動表示とは、第2演出図柄表示領域における第2演出図柄の変動表示が継続されつつ、3つの第1演出図柄表示領域のうち二以上の領域の抽選結果表示位置(第1演出図柄が停止表示されて、特別図柄抽選の結果が表示される位置)において第1演出図柄の仮停止表示が行われた後に、再び、全ての第1演出図柄表示領域において第1演出図柄の通常変動表示が行われる表示をいう。
仮停止表示とは、第1演出図柄表示領域の抽選結果表示位置において、表示されている第1演出図柄が変更されることなく、一の種類の第1演出図柄が揺れた状態で表示される表示をいう。また、通常変動表示とは、第1演出図柄表示領域の抽選結果表示位置に表示される第1演出図柄が、順次変更される(入れ替えられる)表示をいう。
【0050】
第2変動パターン指定コマンドは、演出図柄の変動表示のうち第2期間(例えば、リーチ表示の開始後から演出図柄の停止表示の開始前までの期間)の変動パターン(以下、「第2変動パターン」とする)を指定する。ここで、第2期間は、第1期間より後の期間となっている。本実施形態では、第2変動パターンとして、互いに異なる内容の報知演出(後述するリーチ表示の内容等)が対応付けられた、n(複数)種類の変動パターン(変動時間)が設定されている。そして、第2変動パターン指定コマンドは、n種類の第2変動パターンのうち一のものを指定する。
本実施形態では、第2変動パターンとして、「通常変動パターン」及び「リーチ変動パターン」が設定されている。
「通常変動パターン」とは、「リーチ変動パターン」とは異なり、演出図柄の変動表示中に、大当たり遊技状態が生起されることを期待させる表示(リーチ表示等)が行われない変動パターンをいう。また、「リーチ変動パターン」とは、演出図柄の変動表示中に、リーチ表示が行われる変動パターンをいう。
リーチ表示とは、演出図柄がリーチ状態を形成するとともに、演出図柄がリーチ状態を形成した際に、所定のリーチ演出が実行される表示をいう。リーチ状態とは、第2演出図柄表示領域における第2演出図柄の変動表示が継続されつつ、3つの第1演出図柄表示領域のうち二以上の領域において第1演出図柄の仮停止表示が行われ、かつ、二以上の領域において仮停止表示されている第1演出図柄が、「大当たり図柄」に含まれる組み合わせとなる状態(例えば、二以上の第1演出図柄表示領域において互いに同一の数字を示す「数字図柄」が仮停止表示されている状態)をいう。
【0051】
停止指定コマンドは、演出図柄(第1演出図柄及び第2演出図柄)の停止表示を指定するコマンドである。停止指定コマンドは、特別図柄の停止表示時に送信される。
状態指定コマンドは、遊技状態を指定するコマンドである。状態指定コマンドは、特図高確率状態の設定又は特図低確率状態の設定を指定する。状態指定コマンドは、各制御の開始時又は終了時、各確率の設定時に送信される。
【0052】
主制御回路200と払出制御回路400とは、シリアル通信用のハーネスを介して互いに接続されている。ここで、主制御回路200と払出制御回路400との間における通信は、双方向に行われる。主制御回路200と払出制御回路400との間において送受信される各制御コマンドは、1バイトのデータから構成されている。
そして、主制御回路200は、シリアル通信によって、制御コマンドを払出制御回路400に対して送信する。払出制御回路400では、主制御回路200から制御コマンドを受信すると、シリアル通信受信割込みが発生し、この割込み処理によって、制御コマンドのデータをRAMの所定領域に記憶する。また、払出制御回路400は、シリアル通信によって、制御コマンドを主制御回路200に対して送信する。主制御回路200では、払出制御回路400から制御コマンドを受信すると、シリアル通信受信割込みが発生し、この割込み処理によって、制御コマンドのデータをRAM230の所定領域に記憶する。
パチンコ機1では、主制御回路200から払出制御回路400に対して送信される制御コマンドとして、賞球数指定コマンド等が設定されている。賞球数指定コマンドは、払い出しを行う賞球数を指定するコマンドである。本実施形態では、賞球数指定コマンドは、n個(n=1〜15)の賞球の払い出しを指定する。賞球数指定コマンドは、遊技球払出制御回路400による賞球の払い出しに係る遊技球払出動作の実行時に送信される。
また、パチンコ機1では、払出制御回路400から主制御回路200に対して送信される制御コマンドとして、払出中エラーの発生・解除、満タンエラーの発生・解除、球詰まりエラーの発生・解除等のそれぞれを指定するコマンドが設定されている。各制御コマンドは、各種エラーの発生・解除の検出時に送信される。
【0053】
(主制御回路200で実行される処理)
次に、主制御回路200で実行される処理を説明する。
まず、主制御回路200に構成されているハードウェアの機能について説明する。
パチンコ機1に電源が投入されると、ハード乱数発生回路270は、周波数発生回路260から1クロックが入力されるごと(本実施形態では、0.083[μs]ごと)に、ループカウンタの値を所定の範囲内(例えば、0〜65535の範囲内)において1ずつ更新するハード乱数更新処理を開始する。そして、ハード乱数更新処理によって、普通図柄抽選の当たり乱数、第1特別図柄抽選の大当たり乱数及び第2特別図柄抽選の大当たり乱数のそれぞれが更新される。なお、ハード乱数更新処理は、ハード乱数発生回路270(ハードウェア)の機能として実行され、後述するCPU210がソフトウェアに基づいて実行する処理とは独立して実行される。
また、パチンコ機1に電源が投入されると、第2出力ポート252の送信用シフトレジスタ292は、FIFOバッファ291に記憶されている制御コマンドを演出制御回路300に対して送信する制御コマンド送信処理を開始する。なお、制御コマンド送信処理は、第2出力ポート252(ハードウェア)の機能として実行され、後述するCPU210がソフトウェアに基づいて実行する処理とは独立して実行される。
本実施形態では、主制御回路200の第2出力ポート252と演出制御回路300の入力ポート310との間における制御コマンドの送受信は、調歩同期式のシリアル通信によって行われる。そして、第2出力ポート252は、1つの制御コマンドを、8ビットの送信データ(先行データ又は後続データ)単位で送信する。この際、各送信データ(先行データ又は後続データ)は、当該送信データ(8ビット)の前後に、データの先頭を示すスタートビット(1ビット)と、データの終了を示すストップビット(1ビット)と、が付加された1キャラクタデータ(1フレームデータ)として送受信される。そして、所定のボーレートに基づいて、1キャラクタデータが送受信されることによって、1キャラクタデータごとに、第2出力ポート252と入力ポート310との間における送受信のタイミングの同期を取っている。
【0054】
次に、主制御回路200のCPU210がROM220に記憶されている遊技の進行に係るプログラム(ソフトウェア)に基づいて実行する遊技制御処理について説明する。
図6は、主制御回路が実行する初期化処理を示すフローチャートである。
図7は、主制御回路が実行するメインループ処理を示すフローチャートである。
図8は、主制御回路が実行するシリアル通信受信割込み処理を示すフローチャートである。
図9は、主制御回路が実行するタイマ割込み処理を示すフローチャートである。
図10は、主制御回路が実行する電源遮断時処理を示すフローチャートである。
主制御回路200は、遊技制御処理として、
図6に示す初期化処理、
図7に示すメインループ処理、
図8に示すシリアル通信受信割込み処理、
図9に示すタイマ割込み処理(CTC割込み)及び
図10に示す電源遮断時処理(INT割込み)を実行する。すなわち、主制御回路200は、パチンコ機1に電源が投入されると、メインルーチンとして、初期化処理を実行した後に、メインループ処理を繰り返し実行する。また、主制御回路200は、所定の割込み発生要因の成立に応じて、割込み処理として、リアル通信受信割込み処理、タイマ割込み処理及び電源遮断時処理のそれぞれを実行する。
シリアル通信受信割込み処理の割込み発生要因は、払出制御回路400からの制御コマンドの受信となっている。タイマ割込み処理の割込み発生要因は、割込み要求信号の受信となっている。ここで、割込み要求信号は、所定割込み周期(本実施形態では、4.0[ms]周期)で発生する。電源遮断時処理の割込み発生要因は、電源遮断予告信号の受信となっている。
各割込み処理の割込み優先順位は、シリアル通信受信割込み処理、タイマ割込み処理、電源遮断時処理の順(高→低)に割込み優先順位が高く設定されている。また、シリアル通信受信割込み処理及び電源遮断時処理は、それぞれ、多重割込みを禁止する。一方、タイマ割込み処理は、多重割込みを許可する。そして、各割込み処理は、割込み発生要因の成立後、割込み先の処理において割込み禁止状態が解除されていることを条件として開始される。
【0055】
具体的には、メインループ処理の実行中にタイマ割込み処理の割込み発生要因が成立した場合には、メインループ処理が中断されて、タイマ割込み処理が実行される。また、メインループ処理の実行中又はタイマ割込み処理の実行中にシリアル通信受信処理の割込み要因が成立した場合には、メインループ処理又はタイマ割込み処理が中断されて、シリアル通信受信処理が実行される。また、メインループ処理の実行中に電源遮断時処理の割込み発生要因が成立した場合には、メインループ処理が中断されて、電源遮断時処理が実行される。一方、タイマ割込み処理の実行中に電源遮断時処理の割込み発生要因が成立した場合には、電源遮断時処理よりタイマ割込み処理の方が割込み優先順位が高いため、タイマ割込み処理が終了してメインループ処理が開始された後に、メインループ処理が中断されて、電源遮断時処理が実行される。また、多重割込みを禁止する割込み処理(シリアル通信受信割込み処理又は電源遮断時処理)の実行中に他の割込み処理の割込み発生要因が成立した場合には、実行中の割込み処理が終了してメインループ処理が開始された後に、メインループ処理が中断されて、割込み発生要因が成立した割込み処理が実行される。
【0056】
次に、CPU210が実行する初期化処理を説明する。
CPU210は、パチンコ機1に対して電源が投入されると、又は、電源遮断時処理(
図10)を終了すると、
図6に示す初期化処理を開始する。初期化処理が開始されると、ステップS10に移行する。
ステップS10では、初期設定処理を実行し、ステップS11に移行する。初期設定処理では、まず、スタックポインタにスタック領域の先頭アドレスをセットする。また、割込みモードとして、ベクタ方式の割込モード(モード2)を設定し、デフォルトであるRST方式の割込モード(モード0)を修正する。また、割込みマスクを設定するためにマスクレジスタの初期設定を行う。具体的には、CTC割込みを有効にする値をマスクレジスタに格納する。さらに、電源投入時のウエイト処理時間を設定する。
ステップS11では、ラムクリア信号読み込み処理を実行し、ステップS12に移行する。ここで、パチンコ機1には、ラムクリアスイッチ(図示せず)が設けられている。ラムクリアスイッチは、押下操作されたことに応じて、ラムクリア信号を主制御回路200に対して出力する。
そして、ラムクリア信号読み込み処理では、ラムクリア信号の読み込みを行い、ラムクリア信号が入力されている場合には、ラムクリア情報をRAM230の所定領域に保存する。
ステップS12では、ステップS10で設定したウエイト処理時間が経過したか否かを判定し、ウエイト処理時間が経過したと判定した場合(Yes)には、ステップS13に移行し、ウエイト処理時間が経過していないと判定した場合(No)には、ステップS12の処理を繰り返す。
ステップS13では、RAMアクセス許可処理を実行して、ステップS14に移行する。RAMアクセス許可処理では、RAM230のワーク領域におけるRAMプロテクト設定値をリセットする。これにより、CPU210によるRAM230のワーク領域に対するアクセスが許可された状態となる。
【0057】
ステップS14では、ラムクリアスイッチが押下操作されたか否かの判定を行い、ラムクリアスイッチが押下操作されていないと判定した場合(No)には、ステップS15に移行し、ラムクリアスイッチが押下操作されたと判定した場合(Yes)には、ステップS23に移行する。
ここで、ステップS14では、RAM230の所定領域においてラムクリア情報が保存されている場合には、ラムクリアスイッチが押下操作されたと判定し、RAM230の所定領域においてラムクリア情報が保存されていない場合には、ラムクリアスイッチが押下操作されていないと判定する。
ステップS15では、電源遮断発生情報が有効であるか否かを判定し、電源遮断発生情報が有効であると判定した場合(Yes)には、ステップS16に移行し、電源遮断発生情報が有効でないと判定した場合(No)には、ステップS23に移行する。
ここで、ステップS15では、RAM230の所定領域において電源遮断発生情報フラグが設定されている場合には、電源遮断発生情報が有効であると判定し、RAM230の所定領域において電源遮断発生情報フラグが設定されていない場合には、電源遮断発生情報が有効でないと判定する。
【0058】
ステップS16では、チェックサム算出処理を実行し、ステップS17に移行する。チェックサム算出処理では、バックアップ情報についてチェックサムの算出を行う。
ここで、バックアップ情報とは、RAM230のワーク領域(使用禁止領域及びスタック領域を含むユーザワーク領域)のうち、電源遮断発生情報フラグ領域及びチェックサムバッファ領域を除く全ての領域に記憶されている情報をいう。
ステップS17では、ステップS16で算出したチェックサムが正常であるか否かを判定し、正常であると判定した場合(Yes)には、ステップS18に移行し、正常でないと判定した場合(No)には、ステップS23に移行する。
ここで、ステップS17では、ステップS16で算出したチェックサムが、チェックサムバッファ領域に記憶されているチェックサム値と一致している場合には、チェックサムが正常であると判定し、ステップS16で算出したチェックサムが、チェックサムバッファ領域に記憶されているチェックサムと一致していない場合には、チェックサムが正常でないと判定する。
【0059】
ステップS18では、電源遮断発生情報フラグ解除処理を実行し、ステップS19に移行する。電源遮断発生情報フラグ解除処理では、RAM230の電源遮断発生情報フラグ領域に設定されている電源遮断発生情報フラグを解除する。
ステップS19では、状態復帰処理を実行し、ステップS20に移行する。状態復帰処理では、バックアップ情報に基づいて、RAM230のワーク領域に各種の値を設定して、電源遮断の発生を検出したときに実行中であった遊技状態(特別図柄の停止図柄、特別図柄抽選の当選確率、時短制御の実行状態、各種フラグ状態、乱数更新状態等)を復帰させる。また、状態復帰処理では、バックアップされていたPCレジスタの値を復帰させる。これによって、バックアップ情報に基づいて、RAM230に記憶されている情報が、バックアップ情報の保存が実行される直前(電源遮断の発生の直前)の状態に復帰する。
ステップS20では、演出制御復帰処理を実行し、ステップS21に移行する。演出復帰処理では、演出復帰用の制御コマンド(演出復帰指定コマンド、電源復帰時指定コマンド及び電源復帰時遊技状態指定コマンド)を、RAM230のポート出力要求バッファに記憶する。これによって、後述するS33の制御コマンド格納処理を経て、演出復帰用の制御コマンドが、演出制御回路300に対して送信される。
ここで、電源復帰指定コマンドとは、演出の復帰を指定する制御コマンドである。電源復帰時指定コマンドは、演出を復帰するタイミング(電源遮断の発生を検出したタイミング)を指定する制御コマンドである。電源復帰時遊技状態指定コマンドは、演出復帰時の遊技状態(電源遮断の発生を検出したときの遊技状態)を指定する制御コマンドである。
【0060】
ステップS21では、払出制御開始処理を実行し、ステップS22に移行する。払出制御開始処理では、賞球の払い出しを開始するための制御コマンドを、第3出力ポート253の送信用データレジスタ(図示せず)に記憶する。これによって、賞球の払い出しを開始するための制御コマンドが、払出制御回路400に対して送信される。
ステップS22では、CTC初期設定処理を実行し、メインループ処理に移行する。CTC初期設定処理では、周辺デバイスであるCTC(カウンタ/タイマ回路)の初期設定を行う。具体的には、CPU210は、割込ベクタレジスタを設定し、また、CTCに割り込みカウント値(本実施形態では、4.0[ms])を設定する。これにより、次回のCTC割り込みの発生に応じて、CPU210は、バックアップされていたPCレジスタのプログラムアドレスから処理を続行することができる。
ステップS23では、RAMクリア処理を実行し、ステップS24に移行する。RAMクリア処理では、RAM230(使用禁止領域を除く)に記憶されている情報を消去(クリア)する。これにより、RAM230のワーク領域及びスタック領域は全て初期化され、有効なバックアップ情報が保存されていても、その内容は消去される。
ステップS24では、初期設定処理を実行し、ステップS21に移行する。初期設定処理では、RAM230の電源遮断発生情報フラグ領域に設定されている電源遮断発生情報フラグを解除する等、RAM230の初期設定を行う。
また、初期設定処理では、RAMクリア用の制御コマンド(RAMクリア指定コマンド、電源復帰時指定コマンド及び電源復帰時遊技状態指定コマンド)を、RAM230のポート出力要求バッファに記憶する。これによって、後述するS33の制御コマンド格納処理を経て、RAMクリア用の制御コマンドが、演出制御回路300に対して送信される。
ここで、RAMクリア指定コマンドは、RAMクリアを指定する制御コマンドである。本実施形態では、電源復帰時指定コマンドとして、客待ち状態中の復帰を指定する制御コマンドを送信する。また、電源復帰時指定コマンドとして、特図低確率状態を指定する制御コマンドを送信する。
【0061】
次に、CPU210が実行するメインループ処理を説明する。
CPU210は、初期化処理が終了すると、
図7に示すメインループ処理を開始する。メインループ処理が開始されると、ステップS30に移行する。
ステップS30では、割込み禁止処理を実行し、ステップS31に移行する。割込み禁止処理では、他の処理の割込みを禁止する割込み禁止状態を設定する。これにより、割込み禁止状態が設定されている期間中には、シリアル通信受信割込み処理、タイマ割込み処理、電源遮断時処理等の割込みが禁止される。
ステップS31では、初期値乱数更新処理を実行し、ステップS32に移行する。初期値乱数更新処理では、初期値乱数を発生させるためのループカウンタの値を更新する。初期値乱数とは、プログラム上で発生する乱数であるソフト乱数(大当たり図柄乱数、変動パターン乱数等)の初期値及び終了値を更新(変更)するための乱数である。
すなわち、ソフト乱数を発生させるループカウンタは、予め設定された初期値から終了値までの範囲内において更新される。そして、ループカウンタの初期値及び終了値は、ループカウンタの乱数値が終了値に達するごとに変更される。この際、ループカウンタに設定される初期値及び終了値は、初期値乱数に基づいて決定される。
【0062】
ステップS32では、制御コマンド解析処理を実行し、ステップS33に移行する。制御コマンド解析処理では、払出制御回路400から受信した制御コマンドの解析を行う。
ステップS33では、制御コマンド格納処理を実行し、ステップS34に移行する。制御コマンド格納処理は、RAM230のポート出力要求バッファに記憶されている制御コマンドを演出制御回路300に送信するための処理となっている。制御コマンド格納処理については、後述する。
ステップS34では、割込み許可処理を実行し、ステップS35に移行する。割込み許可処理では、割込み禁止状態を解除する。これにより、ステップS34の割込み許可処理終了後からステップS30の割込み禁止処理が開始される前までの期間が割込み許可期間となり、当該割込み許可期間中において、シリアル通信受信割込み処理、タイマ割込み処理、電源遮断時処理の割込みが許可される。
ステップS35では、その他乱数更新処理を実行し、ステップS30に移行する。その他乱数更新処理では、ソフト乱数のうち大当たり図柄乱数を除いたもの(変動パターン乱数等)の更新を行う。
【0063】
次に、ステップS33の制御コマンド格納処理を説明する。
図11は、制御コマンド格納処理を示すフローチャートである。
制御コマンド格納処理は、ステップS33において実行されると、
図11に示すように、まず、ステップS40に移行する。
ステップS40では、未送信コマンド数確認処理を実行し、ステップS41に移行する。未送信コマンド数確認処理では、未送信コマンド数を確認する。
ここで、未送信コマンド数とは、第2出力ポート252のFIFOバッファ291に記憶されている制御コマンドの数をいう。ステップS40では、FIFOバッファ291の読出ポインタが保持している制御コマンド記憶数情報を読み出すことによって、未送信コマンド数を確認する。
【0064】
ステップS41では、ステップS40で確認した未送信コマンド数が所定記憶上限数に達しているか否かを判定し、未送信コマンド数が所定記憶上限数に達していないを判定した場合(No)には、ステップS42に移行し、未送信コマンド数が所定記憶上限数に達していると判定した場合(Yes)には、一連の処理を終了してメインループ処理に復帰する。
ここで、本実施形態では、所定記憶上限数は、第2出力ポート252(送信用シフトレジスタ292)による制御コマンドを送信する機能に基づいて設定されている。具体的には、所定記憶上限数は、所定割込み周期(本実施形態では、4.0[ms])あたりに第2出力ポート252の機能により演出制御回路300に対して送信することが可能な制御コマンドの数(以下、「1周期送信可能数」とする)以下に設定されている。本実施形態では、所定記憶上限数は、1周期送信可能数と同一に設定されている。
具体的には、主制御回路200と演出制御回路300との間で行われるシリアル通信のボーレート(1.0[s]あたりに送信することが可能なデータのビット数)は、68181.82[bps]に設定されている。したがって、第2出力ポート252が1ビットのデータを送信するために必要な時間は、14.7[μs](1.0[s]/68181.82[bps]≒14.7[μs])となる。
ここで、上述のように、1つの制御コマンドを送信するためには、2キャラクタデータ(送信データとして先行データを含む1キャラクタデータ+送信データとして後続データを含む1キャラクタデータ=2キャラクタデータ)を送信する必要がある。そして、1キャラクタデータは、10ビット(先行データ又は後続データ(8ビット)+スタートビット(1ビット)+ストップビット(1ビット))となっている。したがって、第2出力ポート252が1つの制御コマンドを送信するために必要な時間は、294.0[μs](14.7[μs]×10[ビット]×2[キャラクタデータ数]=294.0[μs])となる。
よって、1周期送信可能数は、13[個](4.0[ms]/294.0[μs]≒13.6[個])となる。
そこで、本実施形態では、所定記憶上限数は、13[個]に設定されている。
【0065】
ステップS42では、RAM230のポート出力要求バッファに制御コマンドが記憶されているか否かを判定し、ポート出力要求バッファに制御コマンドが記憶されていると判定した場合(Yes)には、ステップS43に移行し、ポート出力要求バッファに制御コマンドが記憶されていないと判定した場合(No)には、一連の処理を終了してメインループ処理に復帰する。
ステップS43では、制御コマンド出力処理を実行し、一連の処理を終了してメインループ処理に復帰する。制御コマンド出力処理では、RAM230のポート出力要求バッファに記憶されている制御コマンドを、第2出力ポート252の送信用データレジスタ290に対して出力する。
これによって、送信用データレジスタ290に入力された制御コマンドは、FIFOバッファ291に記憶(格納)される。そして、FIFOバッファ291に記憶された制御コマンドは、送信用シフトレジスタ292によって、所定の順番で、演出制御回路300に対して送信される。
【0066】
ここで、本実施形態では、1回の制御コマンド出力処理(ステップS43)により、1つの制御コマンドを送信用データレジスタ290に対して出力する。すなわち、1回の制御コマンド格納処理(ステップS33)により、1つの制御コマンドをFIFOバッファ291に格納する。したがって、RAM230のポート出力要求バッファに複数の制御コマンドが記憶されている場合には、複数回の制御コマンド格納処理(ステップS33)が実行されることによって、ポート出力要求バッファに記憶されている複数の制御コマンドが、FIFOバッファ291に格納される。
しかしながら、1回の制御コマンド出力処理(ステップS43)により、複数の制御コマンドを送信用データレジスタ290に対して出力する構成としても構わない。この場合には、各回の制御コマンド出力処理において、FIFOバッファ291に記憶されている制御コマンドの数が所定記憶上限数に達したこと、及び、ポート出力要求バッファに記憶されている制御コマンドがなくなったこと、のうち一方の条件を満たすまで、送信用データレジスタ290に対する制御コマンドの出力が行われる。これによって、1回の制御コマンド格納処理(ステップS33)により、複数の制御コマンドをFIFOバッファ291に格納することができる。
または、各回の制御コマンド格納処理(ステップS33)において、FIFOバッファ291に記憶されている制御コマンドの数が所定記憶上限数に達したこと、及び、ポート出力要求バッファに記憶されている制御コマンドがなくなったこと、のうち一方の条件を満たすまで、ステップS40からステップS43の処理を繰り返す構成としても構わない。これによって、1回の制御コマンド格納処理(ステップS33)により、複数の制御コマンドをFIFOバッファ291に格納することができる。
【0067】
次に、CPU210が実行するシリアル通信受信割込み処理を説明する。
CPU210は、払出制御回路400から制御コマンドを受信すると、メインループ処理の割込み許可期間中又はタイマ割込み処理の割込み許可期間中において、
図8に示すシリアル通信受信割込み処理を開始する。シリアル通信受信割込み処理が開始されると、ステップS100に移行する。
ステップS100では、レジスタ退避処理を実行し、ステップS101に移行する。レジスタ退避処理では、メインループ処理又はタイマ割込み処理の実行中に使用していたレジスタの値をRAM230の退避領域に退避させる。
ステップS101では、入力ポート240の受信バッファにデータ(制御コマンド)が存在するか否かを判定し、受信バッファにデータが存在すると判定した場合(Yes)には、ステップS102に移行し、受信バッファにデータが存在しないと判定した場合(No)には、ステップS103に移行する。
ステップS102では、受信データ格納処理を実行し、ステップS103に移行する。受信データ格納処理では、受信バッファに存在するデータ(制御コマンド)をRAM230の所定領域に格納する。
ステップS103では、レジスタ復帰処理を実行し、一連の処理を終了して元の処理に復帰する。レジスタ復帰処理では、ステップS100で退避しておいたレジスタの値を復帰させる。そして、レジスタ復帰処理の終了後、メインループ処理又はタイマ割込み処理(スタックポインタで指示されるプログラムアドレス)に復帰する。
【0068】
次に、CPU210が実行するタイマ割込み処理を説明する。
周波数発生回路260は、所定割込み周期(本実施形態では、4.0[ms])ごとに、割込み要求信号を発生させる。そして、CPU210は、割込み要求信号の発生に応じて、メインループ処理の割込み許可期間中において、
図9に示すタイマ割込み処理を開始する。タイマ割込み処理が開始されると、ステップS200に移行する。
ステップS200では、レジスタ退避処理を実行し、ステップS201に移行する。レジスタ退避処理では、メインループ処理の実行中に使用していた全てのレジスタの値をRAM230の退避領域に退避させ、割込みを許可する。
ステップS201では、初期値乱数更新処理を実行し、ステップS202に移行する。ステップS201の初期値乱数更新処理は、ステップS31の初期値乱数更新処理と同一の処理となっている。
【0069】
ステップS202では、ソフト乱数更新処理を実行し、ステップS203に移行する。ソフト乱数更新処理では、ソフト乱数のうち大当たり図柄乱数を発生させるためのループカウンタの値を更新する。
ステップS203では、スイッチチェック処理を実行し、ステップS204に移行する。スイッチチェック処理では、入力ポート240における各検知センサ101〜104からの検出信号の入力の有無をチェックする。そして、いずれかの検知センサ101〜104からの検出信号の入力を検出した場合には、該検出を示す情報をRAM230の所定領域に記憶する。
ステップS204では、特別図柄抽選に係る各種乱数を記憶する特図乱数記憶処理を実行し、ステップS205に移行する。特図乱数記憶処理については、後述する。
ステップS205では、特別図柄抽選の抽選結果を報知する特図変動処理を実行し、ステップS206に移行する。特図変動処理については、後述する。
ステップS206では、大当たり遊技状態を制御する大当たり遊技処理を実行し、ステップS207に移行する。大当たり遊技処理では、RAM230の所定領域において大当たり遊技状態の開始を示す大当たり遊技状態開始フラグが設定されているか否かを判定し、大当たり遊技状態開始フラグが設定されていると判定した場合には、大当たり遊技状態を生起させる。
大当たり遊技状態では、大入賞口開閉部材53aが閉止状態から開放状態に変位されるラウンド遊技が実行されて、大入賞口53への遊技球の入球が可能な状態となる。本実施形態では、大当たり遊技状態では、15回のラウンド遊技が実行される。各回のラウンド遊技は、大入賞口開閉部材53aが開放状態とされてから最長開放時間が経過したこと及び大入賞口53への遊技球の入球数が所定数に達したことのうち一方が達成された場合に、終了する。
また、大当たり遊技状態の終了時には、時短回数カウンタに所定回数が設定されて、時短制御が開始される。
また、大当たり遊技処理では、図示していないが、オープニング指定コマンド、大入賞口開放指定コマンド、大入賞口閉鎖指定コマンド、エンディング指定コマンド、遊技状態変化指定コマンド、客待ち指定コマンド等が、RAM230のポート出力要求バッファに格納される。ここで、オープニング指定コマンドは、大当たり遊技状態中の演出を決定するために大当たり遊技状態の種別の内容を指定する制御コマンドであり、大当たり遊技状態の開始時に、ポート出力要求バッファに格納される。大入賞口開放指定コマンドは、各回のラウンド遊技で大入賞口開閉部材53aが開放状態に制御される内容(各回のラウンド遊技の開始)を指定する制御コマンドであり、各回のラウンド遊技の開始時に、ポート出力要求バッファに格納される。大入賞口閉鎖指定コマンドは、各回のラウンド遊技で大入賞口開閉部材53aが閉鎖状態に制御される内容(各回のラウンド遊技の終了)を指定する制御コマンドであり、各回のラウンド遊技の終了時に、ポート出力要求バッファに格納される。エンディング指定コマンドは、大当たり遊技状態の終了時の演出(以下、「エンディング演出」とする)を決定するために大当たり遊技状態の種別の内容を指定する制御コマンドであり、大当たり遊技状態の終了時(最終回のラウンド遊技の終了時)に、ポート出力要求バッファに格納される。遊技状態変化指定コマンドは、大当たり遊技状態の終了後における遊技状態が変化する内容を指定する制御コマンドであり、エンディング演出の終了時に、ポート出力要求バッファに格納される。客待ち指定コマンドは、特図保留数(特
図1保留数及び特
図2保留数)が「0」であることを指定する制御コマンドであり、大当たり遊技状態の終了時(エンディング演出の終了時)において特図保留数が「0」であると判定された場合に、ポート出力要求バッファに格納される。
【0070】
ステップS207では、普通図柄抽選に係る各種乱数を記憶する普図乱数記憶処理を実行し、ステップS208に移行する。普図乱数記憶処理では、ステップS203の処理結果に基づいて、普図始動球検知センサ104から検出信号が入力されたか否かを判定し、入力されたと判定した場合には、普図乱数記憶処理を実行する。
普図乱数記憶処理では、普通図柄抽選の普図当たり乱数等を対応のループカウンタから取得して、取得した乱数(乱数値)を、普図始動情報として、RAM230の普図始動情報記憶領域に記憶する。
ステップS208では、普通図柄抽選の抽選結果を報知する普図変動処理を実行し、ステップS209に移行する。普図変動処理では、普図始動情報記憶領域において普図始動情報が記憶されているか否かを判定し、普図始動情報が記憶されていると判定した場合には、普図当たり判定処理及び報知表示開始処理を実行する。
普図当たり判定処理では、普図始動情報記憶領域に記憶されている普図始動情報に含まれる普図当たり乱数の値が当たり値と一致しているか否かを判定し、普図当たり乱数の値が当たり値と一致していると判定した場合には、停止図柄として「普図当たり図柄」を設定し、普図当たり乱数の値が当たり値と一致していないと判定した場合には、停止図柄として「はずれ図柄」を設定する。
報知表示開始処理では、普通図柄の変動時間を設定して、普図表示装置60において、普通図柄の変動表示を開始する。そして、普通図柄の変動表示が開始されてから設定された変動時間が経過した場合には、普図表示装置60において、普通図柄の表示が終了されて、普図当たり判定処理で設定された停止図柄による普通図柄の停止表示が行われる。
【0071】
ステップS209では、普図当たり遊技状態を制御する普図当たり遊技処理を実行し、ステップS210に移行する。普図当たり遊技処理では、普図表示装置60において「普図当たり図柄」が停止表示されたか否かを判定し、「普図当たり図柄」が停止表示されたと判定した場合には、普図当たり遊技状態を生起させる。
普図当たり遊技状態では、始動口開閉部材52aが閉止状態から開放状態に変位(開放)されて、第2始動口52への遊技球の入球が可能となる。始動口開閉部材52aは、開放状態とされてから所定の開放時間が経過したこと及び第2始動口52への遊技球の入球数が所定数に達したことのうち一方が達成された場合に、閉鎖状態とされる。
ステップS210では、賞球の払い出し動作を実行する賞球払出処理を実行し、ステップS211に移行する。賞球払出処理では、ステップS203の処理結果に基づいて、各検知センサ101〜103からの検出信号の入力の有無を判定する。そして、各検知センサ101〜103からの検出信号の入力があった場合には、賞球数指定コマンドを払出制御回路400に対して送信する。
本実施形態では、特
図1始動球検知センサ101から検出信号の入力があった場合には、「3個」の賞球数を指定する賞球数指定コマンド、特
図2始動球検知センサ102から検出信号の入力があった場合には、「5個」の賞球数を指定する賞球数指定コマンド、大入賞球検知センサ103から検出信号の入力があった場合には、「15個」の賞球数を指定する賞球数指定コマンドを払出制御回路400に対して送信する。
【0072】
ステップS211では、エラー監視処理を実行し、ステップS212に移行する。エラー監視処理では、各種エラーの発生を監視して、エラーの発生を判定した場合には、発生したエラーの種類に応じた処理を実行する。
例えば、払出制御回路400から払出中エラーの発生、満タンエラーの発生又は球詰まりエラーの発生を指定する制御コマンドを受信した場合には、受信した制御コマンドが指定するエラーの発生を判定する。そして、当該エラーの発生の報知を指定する制御コマンドをRAM230のポート出力要求バッファに記憶する。
また、払出制御回路400から払出中エラーの解除、満タンエラーの解除又は球詰まりエラーの解除を指定する制御コマンドを受信した場合には、受信した制御コマンドが指定するエラーの解除を判定する。そして、当該エラーの発生の報知の停止を指定する制御コマンドをRAM230のポート出力要求バッファに記憶する。
ステップS212では、ポート出力処理を実行し、ステップS213に移行する。ポート出力処理では、各種制御信号が、普図表示装置60、特
図1表示装置61、特
図2表示装置62、状態表示装置63、始動口ソレノイド64、大入賞口ソレノイド65等に対して出力される。
ステップS213では、レジスタ復帰処理を実行し、一連の処理を終了して元の処理に復帰する。レジスタ復帰処理では、ステップS200で退避しておいたレジスタの値を復帰させる。そして、レジスタ復帰処理の終了後、メインループ処理(スタックポインタで指示されるプログラムアドレス)に復帰する。
【0073】
次に、ステップS204の特図乱数記憶処理を説明する。
図12は、特図乱数記憶処理を示すフローチャートである。
特図乱数記憶処理は、ステップS204において実行されると、
図12に示すように、まず、ステップS240に移行する。
ステップS240では、ステップS203の処理結果に基づいて、特
図1始動球検知センサ101からの検出信号の入力を検出したか否かを判定し、入力を検出したと判定した場合(Yes)には、ステップS241に移行し、入力を検出しないと判定した場合(No)には、ステップS243に移行する。
ステップS241では、特
図1保留数が上限数に達しているか否かを判定し、上限数に達していないと判定した場合(No)には、ステップS242に移行し、上限数に達していると判定した場合(Yes)には、ステップS243に移行する。
ここで、特
図1保留数とは、特
図1表示装置61における第1特別図柄の報知表示(変動表示及び停止表示)が保留されている数をいう。本実施形態では、特
図1保留数の上限数は、「4」に設定されている。
【0074】
ステップS242では、特
図1乱数記憶処理を実行し、ステップS243に移行する。特
図1乱数記憶処理では、第1特別図柄抽選の大当たり乱数、大当り図柄乱数、変動パターン乱数等を対応のループカウンタから取得して、取得した各種乱数(乱数値)を、特
図1始動情報として、RAM230の特
図1始動情報記憶領域に記憶する。
また、特
図1乱数記憶処理では、図示していないが、特
図1保留数が1増加した内容を指定する特図保留増指定コマンドを、ポート出力要求バッファに格納する。
その他、取得した乱数に基づく特別図柄の変動を行う前に、その取得した乱数に基づく演出(先読み演出)制御を行う場合は、この特
図1乱数記憶処理にて、特別図柄抽選に当選したか否か、当選した大当り遊技状態の種別、変動パターン等を仮決定して、その仮決定した内容を指定する先読み指定コマンドを、ポート出力要求バッファに格納する。
ステップS243では、ステップS203の処理結果に基づいて、特
図2始動球検知センサ102からの検出信号の入力を検出したか否かを判定し、入力を検出したと判定した場合(Yes)には、ステップS244に移行し、入力を検出しないと判定した場合(No)には、一連の処理を終了して次の処理(S205)に移行する。
【0075】
ステップS244では、特
図2保留数が上限数に達しているか否かを判定し、上限数に達していないと判定した場合(No)には、ステップS245に移行し、上限数に達していると判定した場合(Yes)には、一連の処理を終了して次の処理(S205)に移行する。
ここで、特
図2保留数とは、特
図2表示装置62における第2特別図柄の報知表示(変動表示及び停止表示)が保留されている数をいう。本実施形態では、特
図2保留数の上限数は、「4」に設定されている。
ステップS245では、特
図2乱数記憶処理を実行し、一連の処理を終了して元の処理に復帰する。特
図2乱数記憶処理では、第2特別図柄抽選の大当たり乱数、大当り図柄乱数、変動パターン乱数等を対応のループカウンタから取得して、取得した各種乱数(乱数値)を、特
図2始動情報として、RAM230の特
図2始動情報記憶領域に記憶する。
また、特
図2乱数記憶処理では、図示していないが、特
図2保留数が1増加した内容を指定する特図保留増指定コマンドを、ポート出力要求バッファに格納する。
その他、取得した乱数に基づく特別図柄の変動を行う前に、その取得した乱数に基づく演出(先読み演出)制御を行う場合は、この特
図2乱数記憶処理にて、特別図柄抽選に当選したか否か、当選した大当り遊技状態の種別、変動パターン等を仮決定して、その仮決定した内容を指定する先読み指定コマンドを、ポート出力要求バッファに格納する。
【0076】
次に、ステップS205の特図変動処理を説明する。
図13は、特図変動処理を示すフローチャートである。
特図変動処理は、ステップS205において実行されると、
図13に示すように、まず、ステップS250に移行する。
ステップS250では、大当たり遊技状態の生起中であるか否かを判定し、大当たり遊技状態の生起中でないと判定した場合(No)には、ステップS251に移行し、大当たり遊技状態の生起中であると判定した場合(Yes)には、一連の処理を終了して次の処理(S206)に移行する。
ステップS251では、特別図柄(第1特別図柄又は第2特別図柄)の報知表示中であるか否かを判定し、特別図柄の報知表示中でないと判定した場合(No)には、ステップS252に移行し、特別図柄の報知表示中であると判定した場合(Yes)には、ステップS257に移行する。ここで、特別図柄の報知表示中とは、特別図柄の変動表示又は停止表示が行われている期間中をいう。
【0077】
ステップS252では、特図保留数が「0」であるか否かを判定し、特図保留数が「0」でないと判定した場合(No)には、ステップS253に移行し、特図保留数が「0」であると判定した場合(Yes)には、一連の処理を終了して次の処理(S206)に移行する。ここで、特図保留数とは、特
図1保留数及び特
図2保留数の合計数をいう。
ステップS253では、大当たり判定処理を実行し、ステップS254に移行する。大当たり判定処理では、RAM230の始動情報記憶領域(特
図1始動情報記憶領域又は特
図2始動情報記憶領域)に記憶されている始動情報(特
図1始動情報又は特
図2始動情報)に含まれる大当たり乱数を読み出して、この大当たり乱数の値が大当たり値と一致しているか否かを判定(大当たり判定)する。そして、大当たり乱数の値が大当たり値と一致している場合には、「大当たり」と判定し、大当たり乱数の値が大当たり値と一致していない場合には、「はずれ」と判定する。
この際、本実施形態では、始動情報記憶領域(特
図1始動情報記憶領域及び特
図2始動情報記憶領域)に記憶されている始動情報(特
図1始動情報及び特
図2始動情報)は、特
図1始動情報及び特
図2始動情報を通じて、先に取得(記憶)された始動情報から順に、大当たり判定が実行される。なお、特
図2始動情報記憶領域において特
図2始動情報が記憶されている場合には、特
図1始動情報に対して優先して、当該特
図2始動情報に基づく大当たり判定を実行する構成としても構わない。以下、ステップS253において大当たり判定が実行された始動情報を、「判定始動情報」とする。
【0078】
ROM220には、大当たり乱数と当たり値との対応が登録された特別図柄抽選テーブルが格納されている。また、特別図柄抽選テーブルとして、特図低確率状態に対応する特別図柄抽選テーブル及び特図高確率状態に対応する特別図柄抽選テーブルが格納されている。特図低確率状態に対応する特別図柄抽選テーブルでは、当選確率が第1の確率(例えば、1/390)となるように、当たり値が登録されている。一方、特図高確率状態に対応する特別図柄抽選テーブルでは、当選確率が第1の確率より高い第2の確率(例えば、1/39)となるように、当たり値が登録されている。そして、大当たり判定処理では、現在設定されている遊技状態に対応する特別図柄抽選テーブルを読み出して、大当たり判定を行う。これにより、特別図柄抽選の抽選結果(当選又は落選)が判定される。
【0079】
ステップS254では、停止図柄設定処理を実行し、ステップS255に移行する。停止図柄設定処理では、ステップS253の処理結果に基づいて、停止表示させる特別図柄の態様(停止図柄)を設定する。
具体的には、大当たり判定により特別図柄抽選(第1特別図柄抽選又は第2特別図柄抽選)に当選したと判定された場合には、判定始動情報に含まれる大当たり図柄乱数を読み出して、読み出した大当たり図柄乱数に基づいて、停止図柄(「通常大当たり図柄」又は「確変大当たり図柄」)を決定する。一方、大当たり判定により特別図柄抽選に落選したと判定された場合には、停止図柄として、「はずれ図柄」が決定される。
ROM220には、大当たり図柄乱数と大当たり図柄の種類との対応が登録された大当たり図柄決定テーブルが格納されている。また、大当たり図柄決定テーブルとして、第1特別図柄抽選に対応する大当たり図柄決定テーブル及び第2特別図柄抽選に対応する大当たり図柄決定テーブルが格納されている。第1特別図柄抽選に対応する大当たり図柄決定テーブルと第2特別図柄抽選に対応する大当たり図柄決定テーブルとでは、各種類の大当たり図柄が選択される確率が互いに異なっている。
【0080】
そして、停止図柄設定処理では、判定始動情報が特
図1始動情報である場合には、当該判定始動情報に含まれる大当たり図柄乱数と、第1特別図柄抽選に対応する大当たり図柄決定テーブルとに基づいて、大当たり図柄の種類(「通常大当たり図柄」又は「確変大当たり図柄」)が判定される。一方、判定始動情報が特
図2始動情報である場合には、当該判定始動情報に含まれる大当たり図柄乱数と、第2特別図柄抽選に対応する大当たり図柄決定テーブルとに基づいて、大当たり図柄の種類が判定される。
さらに、停止図柄設定処理では、停止図柄させる特別図柄の態様として、決定した停止図柄を設定する。また、決定した停止図柄に対応する図柄種別指定コマンド(「通常大当たり図柄指定」、「確変大当たり図柄指定」又は「はずれ図柄指定」)を、ポート出力要求バッファに格納する。
【0081】
ステップS255では、変動時間設定処理を実行し、ステップS256に移行する。変動時間設定処理では、特別図柄(第1特別図柄又は第2特別図柄)の変動時間を設定する。
具体的には、判定始動情報に含まれる変動パターン乱数を読み出して、読み出した変動パターン乱数に基づいて、特別図柄の変動時間(第1変動パターンの内容及び第2変動パターンの内容)を決定する。
ROM220には、変動パターン乱数と第1変動パターンの内容(変動時間)との対応が登録された第1変動パターン決定テーブルが格納されている。そして、第1変動パターン決定テーブルとして、大当たり判定の結果のそれぞれ(「大当たり」又は「はずれ」)に対応する第1変動パターン決定テーブルが格納されている。また、「はずれ」に対応する第1変動パターン決定テーブルとして、時短制御の実行状況(実行中又は停止中)と保留数との組み合わせのそれぞれに対応する第1変動パターン決定テーブルが格納されている。
そして、時短制御の実行中に対応する第1変動パターン決定テーブルでは、時短制御の停止中に対応する第1変動パターン決定テーブルと比較して、短い変動時間(例えば、0.5[s])に係る第1変動パターンが登録されている。また、保留数が多いほど短い変動時間に係る第1変動パターンが決定されるように、各保留数に対応する第1変動パターン決定テーブルの内容が設定されている。
【0082】
また、ROM220には、変動パターン乱数と第2変動パターンの内容(変動時間)との対応が登録された第2変動パターン決定テーブルが格納されている。そして、第2変動パターン決定テーブルとして、大当たり判定の結果(「大当たり」又は「はずれ」)に対応する第2変動パターン決定テーブルが格納されている。また、「はずれ」に対応する第2変動パターン決定テーブルとして、時短制御の実行状況(実行中又は停止中)と保留数との組み合わせのそれぞれに対応する第2変動パターン決定テーブルが格納されている。
そして、時短制御の実行中に対応する第2変動パターン決定テーブルでは、時短制御の停止中に対応する第2変動パターン決定テーブルと比較して、短い変動時間(例えば、0.5[s])に係る第2変動パターンが登録されている。また、保留数が多いほど短い変動時間に係る第2変動パターンが決定されるように、各保留数に対応する第2変動パターン決定テーブルの内容が設定されている。
【0083】
そして、変動時間設定処理では、まず、判定始動情報に含まれる変動パターン乱数と、当たり判定の結果、時短制御の実行状況、保留数等に対応する第1変動パターン決定テーブルとに基づいて、第1変動パターンの内容(「通常変動パターン」、「擬似連続変動パターン」等)を判定する。
また、判定始動情報に含まれる変動パターン乱数と、当たり判定の結果、時短制御の実行状況、保留数等に対応する第2変動パターン決定テーブルとに基づいて、第2変動パターンの内容(「通常変動パターン」、「リーチ変動パターン」等)を判定する。
さらに、変動時間設定処理では、判定した第1変動パターンの内容を指定する第1変動パターン指定コマンド(変動パターンm指定)及び判定した第2変動パターンの内容を指定する第2変動パターン指定コマンド(変動パターンn指定)を、ポート出力要求バッファに格納する。
また、変動時間設定処理では、図示していないが、対象の特図保留数(特
図1保留数又は特
図2保留数)を1減算し、特図保留数が1減少した内容を指定する特図保留減指定コマンドを、ポート出力要求バッファに格納する。
【0084】
ステップS256では、報知表示開始処理を実行し、一連の処理を終了して元の処理に復帰する。報知表示開始処理では、ステップS255で決定した特別図柄の変動時間(変動パターンに対応する変動時間)を、特図変動時間タイマに設定する。ここで、特別図柄の変動時間とは、第1変動パターンに係る変動時間と第2変動パターンに係る変動時間とを合計した時間をいう。
そして、特
図1表示装置61又は特
図2表示装置62において、特別図柄(第1特別図柄又は第2特別図柄)の変動表示を開始するとともに、設定した特図変動時間タイマによる変動時間の計測を開始する。
また、RAM230の始動情報記憶領域に記憶されている判定始動情報を消去して、当該判定始動情報を、RAM230の変動中始動情報記憶領域に記憶する。
ステップS257では、特図変動時間タイマに基づいて、ステップS256で設定した特別図柄の変動時間が経過したか否かを判定し、設定した特別図柄の変動時間が経過したと判定した場合(Yes)には、ステップS258に移行し、設定した特別図柄の変動時間が経過していないと判定した場合(No)には、一連の処理を終了して次の処理(S206)に移行する。
【0085】
ステップS258では、報知表示終了処理を実行し、ステップS259に移行する。報知表示終了処理では、特
図1表示装置61又は特
図2表示装置62において、ステップS254で設定された停止図柄による特別図柄(第1特別図柄又は第2特別図柄)の停止表示を行う。なお、特別図柄の停止表示は、予め設定されている所定時間行われる。
また、報知表示終了処理では、停止指定コマンドを、ポート出力要求バッファに格納する。
ステップS259では、ステップS258で停止表示された停止図柄が「大当たり図柄」(「通常大当たり図柄」又は「確変大当たり図柄」)であるか否かを判定し、大当たり図柄であると判定した場合(Yes)には、ステップS260に移行し、大当たり図柄でないと判定した場合(No)には、ステップS261に移行する。
【0086】
ステップS260では、大当たり遊技状態開始処理を実行し、一連の処理を終了して次の処理(S206)に移行する。大当たり遊技状態開始処理では、大当たり遊技状態開始フラグを、RAM230の所定領域に設定する。
ステップS261では、時短制御を実行中であるか否かを判定し、時短制御を実行中であると判定した場合(Yes)には、ステップS262に移行し、時短制御を実行中でないと判定した場合(No)には、一連の処理を終了して次の処理(S206)に移行する。
ステップS262では、時短制御を終了するか否かを判定し、時短制御を終了すると判定した場合(Yes)には、ステップS263に移行し、時短制御を終了しないと判定した場合(No)には、ステップS264に移行する。
本実施形態では、時短回数カウンタの値が「0」となっている場合には、時短制御を終了すると判定し、時短回数カウンタの値が「1」以上の場合には、時短制御を終了しないと判定する。
ステップS263では、時短制御停止処理を実行し、一連の処理を終了して次の処理(S206)に移行する。時短制御停止処理では、時短制御を停止して、時短回数カウンタの値をリセットする。
ステップS264では、時短回数カウンタ更新処理を実行し、一連の処理を終了して次の処理(S206)に移行する。時短回数カウンタ更新処理では、時短回数カウンタに設定されている値から「1」を減算した値を、新たに時短回数カウンタに設定する。
また、時短回数カウンタ更新処理では、図示していないが、更新後の時短回数カウンタの値(時短回数)を指定する時短回数指定コマンドを、ポート出力要求バッファに格納する。
その他、特図変動処理では、図示していないが、特別図柄の停止表示後に遊技状態が変化する場合には、その変化する内容を指定する遊技状態変化指定コマンドを、特別図柄の停止表示後の特図保留数が「0」である場合には、その旨を指定する客待ち指定コマンドを、ポート出力要求バッファに格納する。
また、タイマ割込み処理では、上記以外にも演出に必要なコマンドを、適宜、ポート出力要求バッファに格納する。
【0087】
次に、CPU210が実行する電源遮断時処理を説明する。
電源回路600の電源遮断検出回路は、主制御回路200に供給する電源電圧が所定の基準値を下回った場合に、電源遮断検出信号を主制御回路200に対して送信する。そして、CPU210は、電源遮断検出信号を受信すると、メインループ処理の割込み許可期間中において、
図10に示す電源遮断時処理を開始する。電源遮断時処理が開始されると、ステップS300に移行する。
ステップS300では、レジスタ退避処理を実行し、ステップS301に移行する。レジスタ退避処理では、メインループ処理の実行中に使用していたレジスタの値をRAM230の退避領域に退避させる。
【0088】
ステップS301では、ポート出力停止処理を実行し、ステップS302に移行する。ポート出力停止処理では、第1出力ポート251から表示装置60〜63及びソレノイド64,65のそれぞれに対して出力されている制御信号を停止する。これによって、始動口開閉部材52a及び大入賞口開閉部材53aのうち開放状態とされているものが、閉鎖状態とされる。また、ポート出力停止処理では、各検知センサ101〜104による遊技球の検出を停止する。
ステップS302では、チェックサム保存処理を実行し、ステップS303に移行する。チェックサム保存処理では、RAM230のワーク領域のうち電源遮断発生情報フラグ領域及びチェックサムバッファ領域を除く全ての領域に記憶されている情報について、チェックサムを算出して、算出したチェックサム値をチェックサムバッファ領域に保存する。
ステップS303では、電源遮断発生情報フラグ設定処理を実行し、ステップS304に移行する。電源遮断発生情報フラグ設定処理では、電源遮断発生情報フラグをRAM230の電源遮断発生情報フラグ領域に設定する。
ステップS304では、RAMアクセス禁止処理を実行し、ステップS305に移行する。RAMアクセス禁止処理では、RAM230におけるRAMプロテクト設定値にアクセス禁止を表す値を記憶する。これにより、CPU210によるRAM230のワーク領域(使用禁止領域及びスタック領域を含む)に対するアクセスが禁止された状態となる。
そして、電源遮断の発生後は、バックアップ電源回路からバックアップ電源が供給されることによって、RAM230に記憶された情報が保持される。これによって、RAM230に記憶されていた情報のうちステップS302でチェックサムが算出された情報が、バックアップ情報として保存される。そして、保持されたバックアップ情報は、
図6に示す初期化処理によって、RAM230に復帰される。
ステップS305では、電源回路600の電源遮断検出回路から電源遮断検出信号が入力されているか否かを所定時間、監視し、電源遮断検出信号が入力されていると判定した場合(Yes)には、ステップS305の処理を繰り返し、電源遮断検出信号がされていないと判定した場合(No)には、
図6に示す初期化処理に移行する。
【0089】
(演出制御回路300で実行される処理)
次に、演出制御回路300のCPUがROMに記憶されているプログラム(ソフトウェア)に基づいて実行する演出制御処理について説明する。
図14は、演出制御回路が実行するメインループ処理を示すフローチャートである。
図15は、演出制御回路が実行するシリアル通信受信割込み処理を示すフローチャートである。
図16は、演出制御回路が実行するタイマ割込み処理を示すフローチャートである。
図17は、第一実施形態に係る演出制御回路が実行する電源遮断時処理を示すフローチャートである。
演出制御回路300は、演出制御処理として、初期化処理(図示せず)、
図14に示すメインループ処理、
図15に示すシリアル通信受信割込み処理、
図16に示すタイマ割込み処理(CTC割込み)及び
図17に示す電源遮断時処理(INT割込み)を実行する。すなわち、演出制御回路300は、パチンコ機1に電源が投入されると、メインルーチンとして、初期化処理を実行した後に、メインループ処理を繰り返し実行する。また、演出制御回路300は、所定の割込み発生要因の成立に応じて、割込み処理として、リアル通信受信割込み処理、タイマ割込み処理及び電源遮断時処理のそれぞれを実行する。
シリアル通信受信割込み処理の割込み発生要因は、主制御回路200からの制御コマンドの受信となっている。タイマ割込み処理の割込み発生要因は、割込み要求信号の受信となっている。ここで、割込み要求信号は、所定割込み周期(本実施形態では、4.0[ms]周期)で発生する。電源遮断時処理の割込み発生要因は、電源遮断予告信号の受信となっている。
各割込み処理の割込み優先順位は、シリアル通信受信割込み処理、タイマ割込み処理、電源遮断時処理の順(高→低)に割込み優先順位が高くなるように設定されている。また、シリアル通信受信割込み処理及び電源遮断時処理は、それぞれ、多重割込みを禁止する。一方、タイマ割込み処理は、多重割込みを許可する。そして、各割込み処理は、割込み発生要因の成立後、割込み先の処理において割込み禁止状態が解除されていることを条件として開始される。
【0090】
次に、演出制御回路300のCPUが実行するメインループ処理を説明する。
演出制御回路300のCPUは、パチンコ機1に対して電源が投入されると、初期化処理を実行した後に、
図14に示すメインループ処理を開始する。メインループ処理が開始されると、ステップS50に移行する。
ステップS50では、割込み禁止処理を実行し、ステップS51に移行する。割込み禁止処理では、他の処理の割込みを禁止する割込み禁止状態を設定する。これにより、割込み禁止状態が設定されている期間中には、シリアル通信受信割込み処理、タイマ割込み処理、電源遮断時処理等の割込みが禁止される。
ステップS51では、制御コマンド解析処理を実行し、ステップS33に移行する。制御コマンド解析処理では、主制御回路200から受信した制御コマンドの解析を行う。
【0091】
ステップS52では、割込み許可処理を実行し、ステップS53に移行する。割込み許可処理では、割込み禁止状態を解除する。これにより、ステップS52の割込み許可処理終了後からステップS50の割込み禁止処理が開始される前までの期間が割込み許可期間となり、当該割込み許可期間中において、シリアル通信受信割込み処理、タイマ割込み処理、電源遮断時処理の割込みが許可される。
ステップS53では、演出用乱数更新処理を実行し、ステップS50に移行する。演出用乱数更新処理では、演出内容の抽選に用いる各種乱数を発生させるためのループカウンタの値を更新する。
【0092】
次に、演出制御回路300のCPUが実行するシリアル通信受信割込み処理を説明する。
演出制御回路300のCPUは、主制御回路200から制御コマンドを受信すると、メインループ処理の割込み許可期間中又はタイマ割込み処理の割込み許可期間中において、
図15に示すシリアル通信受信割込み処理を開始する。シリアル通信受信割込み処理が開始されると、ステップS400に移行する。
ステップS400では、レジスタ退避処理を実行し、ステップS401に移行する。レジスタ退避処理では、メインループ処理又はタイマ割込み処理の実行中に使用していたレジスタの値をRAM320の退避領域に退避させる。
ステップS401では、入力ポート310のFIFIバッファ313(受信バッファ)に制御コマンド(データ)が記憶されているか否かを判定し、FIFIバッファ313に制御コマンドが記憶されていると判定した場合(Yes)には、ステップS402に移行し、FIFIバッファ313に制御コマンドが記憶されていないと判定した場合(No)には、ステップS403に移行する。
ステップS402では、受信データ格納処理を実行し、ステップS403に移行する。受信データ格納処理では、入力ポート310のFIFOバッファ313に記憶されている制御コマンドをRAM320のコマンドバッファ領域に記憶する。
具体的には、受信データ格納処理では、演出制御回路300のCPUは、受信用データレジスタ314から制御コマンドの読み込みを実行する。これによって、FIFOバッファ313に記憶されている制御コマンドが、受信用データレジスタ314を介して、RAM320の所定領域に対して出力される。
ステップS403では、レジスタ復帰処理を実行し、一連の処理を終了して元の処理に復帰する。レジスタ復帰処理では、ステップS100で退避しておいたレジスタの値を復帰させる。そして、レジスタ復帰処理の終了後、メインループ処理又はタイマ割込み処理(スタックポインタで指示されるプログラムアドレス)に復帰する。
【0093】
次に、CPU210が実行するタイマ割込み処理を説明する。
演出制御回路300の周波数発生回路(図示せず)は、所定割込み周期(本実施形態では、4.0[ms])ごとに、割込み要求信号を発生させる。そして、演出制御回路300のCPUは、割込み要求信号の発生に応じて、メインループ処理の割込み許可期間中において、
図16に示すタイマ割込み処理を開始する。タイマ割込み処理が開始されると、ステップS500に移行する。
ステップS500では、レジスタ退避処理を実行し、ステップS501に移行する。レジスタ退避処理では、メインループ処理の実行中に使用していた全てのレジスタの値をRAM320の退避領域に退避させ、割込みを許可する。
ステップS501では、演出フラグ設定処理を実行し、ステップS502に移行する。演出フラグ設定処理では、状態指定コマンドを受信したか否かを判定し、状態指定コマンドを受信したと判定した場合には、各種演出フラグの設定を行う。なお、状態指令コマンドを受信したか否かは、状態指定コマンドがRAM320のコマンドバッファ領域に保存されているか否かに基づいて判定する。
具体的には、特図高確率状態を指定する状態指定コマンドを受信した場合には、確変演出フラグを、RAM320の所定領域に設定する。一方、特図低確率状態を指定する状態指定コマンドを受信した場合には、RAM320の所定領域に設定されている確変演出フラグを解除する。
【0094】
ステップS502では、変動表示制御処理を実行し、ステップS503に移行する。変動表示制御処理では、所定の制御コマンドを受信したか否かを判定し、所定の制御コマンドを受信したと判定した場合には、変動表示開始処理を実行する。ここで、所定の制御コマンドとは、図柄種別指定コマンド、第1変動パターン指定コマンド及び第2変動パターン指定コマンドをいう。所定の制御コマンドを受信したか否かは、図柄種別指定コマンド、第1変動パターン指定コマンド及び第2変動パターン指定コマンドがRAM320のコマンドバッファ領域に保存されているか否かに基づいて判定する。
変動表示開始処理では、第1変動パターン指定コマンドが指定する第1変動パターンの内容及び第2変動パターン指定コマンドが指定する第2変動パターンの内容に基づいて、演出図柄の変動表示の演出プログラムを決定する。そして、決定した演出プログラムにしたがって、演出図柄の変動表示に係る演出データ(以下、「変動演出データ」とする)を編集して、編集した変動演出データを設定する。
また、変動表示開始処理では、図柄種別指定コマンドが指定する停止図柄(「はずれ図柄」、「通常大当たり図柄」又は「確変大当たり図柄」)に基づいて、演出図柄の停止表示に係る画像データを編集して、編集した画像データ(以下、「停止画像データ」とする)を設定する。
さらに、変動表示開始処理では、設定した変動演出データに基づく演出を開始する。これによって、画像表示装置20において、演出図柄の変動表示が開始される。
ステップS503では、停止表示制御処理を実行し、ステップS504に移行する。停止表示制御処理では、停止指定コマンドを受信したか否かを判定し、停止指定を受信したと判定した場合には、停止表示開始処理を実行する。ここで、停止指定コマンドを受信したか否かは、停止指定コマンドがRAM320のコマンドバッファ領域に保存されているか否かに基づいて判定する。
停止表示開始処理では、ステップS502で設定した変動演出データに基づく演出を終了して、ステップS502で設定した停止画像データに基づく演出を開始する。これによって、画像表示装置20において、演出図柄の停止表示が開始される。
ステップS504では、レジスタ復帰処理を実行し、一連の処理を終了して元の処理に復帰する。レジスタ復帰処理では、ステップS500で退避しておいたレジスタの値を復帰させる。そして、レジスタ復帰処理の終了後、メインループ処理(スタックポインタで指示されるプログラムアドレス)に復帰する。
【0095】
次に、演出制御回路300のCPUが実行する電源遮断時処理を説明する。
電源回路600の電源遮断検出回路は、演出制御回路300に供給する電源電圧が所定の基準値を下回った場合に、電源遮断検出信号を演出制御回路300に対して送信する。そして、演出制御回路300のCPUは、電源遮断検出信号を受信すると、メインループ処理の割込み許可期間中において、
図17に示す電源遮断時処理を開始する。電源遮断時処理が開始されると、ステップS600に移行する。
ステップS600では、レジスタ退避処理を実行し、ステップS601に移行する。レジスタ退避処理では、メインループ処理の実行中に使用していたレジスタの値をRAM320の退避領域に退避させる。
ステップS601では、ポート出力停止処理を実行し、ステップS602に移行する。ポート出力停止処理では、画像表示装置20、ランプ21及び音発生装置22のそれぞれに対する制御データの出力、演出用の役物(図示せず)の駆動手段に対する制御信号の出力等を停止する。これによって、演出用の役物の動作が停止される。
【0096】
ステップS602では、チェックサム保存処理を実行し、ステップS603に移行する。チェックサム保存処理では、RAM320のワーク領域のうち電源遮断発生情報フラグ領域及びチェックサムバッファ領域を除く全ての領域に記憶されている情報について、チェックサムを算出して、算出したチェックサム値をチェックサムバッファ領域に保存する。また、チェックサム保存処理では、電源遮断発生情報フラグをRAM320の電源遮断発生情報フラグ領域に設定する。
ステップS603では、電源遮断発生情報フラグ設定処理を実行し、ステップS604に移行する。電源遮断発生情報フラグ設定処理では、電源遮断発生情報フラグをRAM320の電源遮断発生情報フラグ領域に設定する。
ステップS604では、RAMアクセス禁止処理を実行し、ステップS605に移行する。RAMアクセス禁止処理では、RAM320におけるRAMプロテクト設定値にアクセス禁止を表す値を記憶する。これにより、演出制御回路300のCPUによるRAM320のワーク領域(使用禁止領域及びスタック領域を含む)に対するアクセスが禁止された状態となる。
そして、電源遮断の発生後は、バックアップ電源回路からバックアップ電源が供給されることによって、RAM320に記憶された情報が保持される。これによって、RAM320に記憶されていた情報のうちステップS602でチェックサムが算出された情報が、バックアップ情報として保存される。そして、保持されたバックアップ情報は、初期化処理によって、RAM320に復帰される。
ステップS605では、電源回路600の電源遮断検出回路から電源遮断検出信号が入力されているか否かを所定時間、監視し、電源遮断検出信号が入力されていると判定した場合(Yes)には、ステップS605の処理を繰り返し、電源遮断検出信号がされていないと判定した場合(No)には、初期化処理に移行する。
【0097】
(パチンコ機1の動作)
次に、パチンコ機1の動作を説明する。
パチンコ機1では、主制御回路200のCPU210は、遊技制御処理(主に、タイマ割込み処理)に基づいて、演出制御回路300に対して送信する制御コマンド(図柄種別指定コマンド、第1変動パターン指定コマンド、第2変動パターン指定コマンド、停止指定コマンド、状態指定コマンド等)を生成する。遊技制御処理に基づいて生成された制御コマンドは、RAM230のポート出力要求バッファに記憶される。
そして、RAM230のポート出力要求バッファに記憶されている制御コマンドは、
図7に示すメインループ処理に含まれる制御コマンド格納処理(ステップS33)によって、第2出力ポート252の送信用データレジスタ290に対して出力される。この際、制御コマンド格納処理では、第2出力ポート252のFIFOバッファ291に記憶されている制御コマンドの数が所定記憶上限数を超えないように、ポート出力要求バッファに記憶されている制御コマンドが、送信用データレジスタ290に対して出力される。ここで、所定記憶上限数は、1周期送信可能数と同一に設定されている。
送信用データレジスタ290に入力された制御コマンドは、FIFOバッファ291に記憶(格納)される。そして、FIFOバッファ291に記憶された制御コマンドは、送信用シフトレジスタ292によって、所定の順番で、演出制御回路300に対して送信される。
また、送信用シフトレジスタ292によって送信された制御コマンドは、演出制御回路300が備える入力ポート310の受信用シフトレジスタ312によって受信される。そして、受信用シフトレジスタ312によって受信された制御コマンドは、入力ポート310のFIFOバッファ313に記憶(格納)される。
そして、入力ポート310のFIFOバッファ313に記憶されている制御コマンドは、
図15に示すシリアル通信受信割込み処理に含まれる受信データ格納処理(ステップS402)によって、受信用データレジスタ314を介して、演出制御回路300のRAM320のコマンドバッファ領域に対して出力される。
そして、演出制御回路300のCPUは、RAM320のコマンドバッファ領域に記憶(格納)された制御コマンドに基づいて、演出制御処理(変動表示制御処理(ステップS502)、停止表示制御処理(ステップS503)等)を実行する。
【0098】
一方、主制御回路200のCPU210は、電源回路600の電源遮断検出回路から電源遮断検出信号を受信した場合に、
図10に示す電源遮断時処理を開始する。これによって、電源遮断処理の開始後は、制御コマンド格納処理(ステップS33)が実行されず、よって、RAM230のポート出力要求バッファに記憶されている制御コマンドが、第2出力ポート252の送信用データレジスタ290に対して出力されることがなくなる。そして、電源遮断時処理によって、RAM230に記憶されている情報が保持される。
また、演出制御回路300のCPUは、電源回路600の電源遮断検出回路から電源遮断検出信号を受信した場合に、
図17に示す電源遮断時処理を開始する。ここで、シリアル通信受信割込み処理は、電源遮断時処理より優先順位が高くなっている。したがって、入力ポート310のFIFOバッファ313に制御コマンドが記憶されている場合には、シリアル通信受信割込み処理によって、FIFOバッファ313に記憶されている全ての制御コマンドがRAM320のコマンドバッファ領域に記憶された後に、電源遮断時処理が実行される。そして、電源遮断時処理によって、RAM320に記憶されている情報が保持される。
【0099】
(パチンコ機1の作用)
次に、パチンコ機1の作用について説明する。
パチンコ機1では、主制御回路200において、CPU210が、生成した制御コマンドを第2出力ポート252のFIFOバッファ291に記憶する制御コマンド格納処理を実行し、第2出力ポート252が、FIFOバッファ291に記憶された制御コマンドを演出制御回路300に対して送信する。
特に、制御コマンド格納処理が、繰り返し実行されるメインループ処理に含まれる。また、制御コマンド格納処理では、第2出力ポート252のFIFOバッファ291に記憶されている制御コマンドの数が所定記憶上限数を超えないように、制御コマンドが第2出力ポート252のFIFOバッファ291に記憶される。そして、所定記憶上限数が、割込み要求信号の発生に係る所定割込み周期あたりに第2出力ポート252の機能により演出制御回路300に対して送信することが可能な制御コマンドの数(1周期送信可能数)以下に設定されている。本実施形態では、所定記憶上限数が、1周期送信可能数と同一に設定されている。
【0100】
以上の構成によって、パチンコ機1では、以下に示す作用を奏することが可能となる。
すなわち、第2出力ポート252のFIFOバッファ291に複数の制御コマンドを記憶することを可能とすることによって、制御コマンド格納処理の待機が発生することを抑制することができ、主制御回路200と演出制御回路300との間における制御コマンドによる通信の効率を向上することが可能となる。
一方、上述のように、第2出力ポート252のFIFOバッファ291に記憶することが可能な制御コマンドの数を増やすほど、電源の遮断が発生した場合に、制御コマンドの欠落が生じる恐れが高くなり、遊技の進行に支障をきたす恐れがある。そこで、第2出力ポート252のFIFOバッファ291に記憶される制御コマンドの上限数(所定記憶上限数)を適切に設定する必要がある。
ここで、主制御回路200では、CPU210により生成された制御コマンドは、第2出力ポート252のFIFOバッファ291に記憶されることによって演出制御回路300に対して送信される。したがって、主制御回路200において、CPU210により生成された制御コマンドが存在する(RAM230のポート出力要求バッファに記憶されている制御コマンドが存在する)にも関わらず第2出力ポート252のFIFOバッファ291に制御コマンドが記憶されていない場合には、演出制御回路300に対して送信するべき制御コマンドが存在しているにも関わらず第2出力ポート252による制御コマンドを送信する機能が停止している状態(以下、「送信非効率状態」とする)が発生し、主制御回路200と演出制御回路300との間における制御コマンドによる通信の効率が低下する。
そこで、パチンコ機1では、第2出力ポート252による制御コマンドを送信する機能に基づいて、所定記憶上限数を設定している。具体的には、所定記憶上限数を、1周期送信可能数以下に設定することによって、電源の遮断が発生した場合に遊技の進行に支障をきたすことを抑制しつつ、送信非効率状態の発生を抑制している。
【0101】
すなわち、パチンコ機1では、制御コマンド格納処理がメインループ処理に含まれることによって、所定割込み周期の間に、少なくとも1回の制御コマンド格納処理が実行される。したがって、或る制御コマンド格納処理が終了してから次回の制御コマンド格納処理が開始されるまでの最長時間(以下、「記憶処理間最長時間」とする)が、所定割込み周期と略一致する。
具体的には、CPU210は、メインループ処理を繰り返し実行するなかで、所定割込み周期で発生する割込み信号の検出に応じて、メインループ処理を中断してタイマ割込み処理を開始し、当該タイマ割込み処理の終了に応じて、中断していたメインループ処理を再び開始する。
ここで、各回のタイマ割込み処理を開始してから終了するまでに要する時間は、当該タイマ割込み処理の実行時における遊技状態(各検知センサ101〜104からの検出信号の入力の有無等)に応じて変動する。そして、タイマ割込み処理は、1回のタイマ割込み処理を開始してから終了するまでに要する最長時間(以下、「処理最長時間」とする)が所定割込み周期より短い時間となるように、その処理内容が設定される。
したがって、或るタイマ割込み処理が終了されると、当該タイマ割込み処理が終了してから次回の所定割込み周期が到来するまでの期間(以下、「メイン処理実行期間」とする)中において、1回以上のメインループ処理が実行される。
よって、制御コマンド格納処理がメインループ処理に含まれる場合には、メイン処理実行期間中に少なくとも1回の制御コマンド格納処理が実行されるため、所定割込み周期の間に、1回以上の制御コマンド格納処理が実行される。
そして、各回の所定割込み周期の間に1回の制御コマンド格納処理が実行される場合に、或る制御コマンド格納処理が終了してから次回の制御コマンド格納処理が開始されるまでの時間が最長となり、この場合、記憶処理間最長時間は、所定割込み周期と略一致する。
【0102】
例えば、1回のメインループ処理の実行に要する時間(タイマ割込み処理の実行により中断されることがない場合における1回のメインループ処理の実行に要する時間)が10.0[μs]に設定され、所定割込み周期が4.0[ms]に設定されている遊技機では、タイマ割込み処理の処理最長時間は、4.0[ms]より短い時間に設定される。
この遊技機において、所定割込み周期の到来に応じて開始されたタイマ割込み処理が3.0[ms]で終了した場合には、当該タイマ割込み処理が終了してから次回の所定割込み周期が到来するまでの時間(メイン処理実行期間の時間)は、1.0[ms](4.0[ms]−3.0[ms]=1.0[ms])となり、このメイン処理実行期間中において、メインループ処理が繰り返し実行される。したがって、この場合には、当該メイン処理実行期間中において、100回(1.0[ms]/10.0[μs]=100[回])のメインループ処理が実行される。
一方、所定割込み周期の到来に応じて開始されたタイマ割込み処理が処理最長時間(例えば、略4.0[ms])で終了した場合には、当該タイマ割込み処理の終了と同時に割込み要求信号が発生するため、メイン処理実行期間中において、1回のメインループ処理が実行さる。
したがって、制御コマンド格納処理がメインループ処理に含まれる場合には、所定割込み周期(4.0[ms])の間に、少なくとも1回の制御コマンド格納処理が実行されることになる。そして、タイマ割込み処理が処理最長時間で終了した場合(メイン処理実行期間中に1回のメインループ処理が実行される場合)に、当該タイマ割込み処理の開始前に実行された制御コマンド格納処理が終了してから当該タイマ割込み処理の終了後に実行される制御コマンド格納処理が開始されるまでの時間が最長となり、この場合、記憶処理間最長時間は、所定割込み周期(4.0[ms])と略一致する。
【0103】
そして、制御コマンド格納処理に基づいて第2出力ポート252のFIFOバッファ291に記憶された制御コマンドの数が、記憶処理間最長時間あたりに第2出力ポート252の機能により演出制御回路300に対して送信することが可能な制御コマンドの数(以下、「記憶処理間送信可能数」とする)未満である場合には、送信非効率状態が発生する恐れがある。ここで、上述のように、記憶処理間最長時間は、所定割込み周期と略一致する。したがって、制御コマンド格納処理に基づいて第2出力ポート252のFIFOバッファ291に記憶された制御コマンドの数が、1周期送信可能数未満である場合には、送信非効率状態が発生する恐れがある。
例えば、パチンコ機1では、第2出力ポート252が1つの制御コマンドを送信するために要する時間が294.0[μs]に設定され、所定割込み周期が4.0[ms]に設定されているため、1周期送信可能数は、13[個](4.0[ms]/294.0[μs]≒13.6[個])となる。したがって、制御コマンド格納指令記憶処理に基づいて第2出力ポート252のFIFOバッファ291に記憶された制御コマンドの数が、1周期送信可能数未満(例えば、10[個])である場合には、送信非効率状態が発生する恐れがある。
一方、制御コマンド格納処理に基づいて第2出力ポート252のFIFOバッファ291に記憶された制御コマンドの数が、記憶処理間送信可能数(=1周期送信可能数)を超える場合には、FIFOバッファ291に記憶された制御コマンドのうち1周期送信可能数を超える分については、次回の制御コマンド格納処理の開始時においても、FIFOバッファ291に記憶されたままとなる。したがって、FIFOバッファ291に記憶された制御コマンドのうち1周期送信可能数を超える分については、次回の制御コマンド格納処理に基づいて第2出力ポート252のFIFOバッファ291に記憶した方が、電源の遮断が発生した際における制御コマンドの欠落の発生を抑制することができる。
例えば、制御コマンド格納処理に基づいて第2出力ポート252のFIFOバッファ291に記憶された制御コマンドの数が、1周期送信可能数(13[個])を超える数(例えば、15[個])である場合には、次回の制御コマンド格納処理の開始時に、2[個](15[個]−13[個]=2[個])の制御コマンドが、送信されずに第2出力ポート252のFIFOバッファ291に残る。
したがって、所定記憶上限数を、1周期送信可能数以下、好ましくは1周期送信可能数と同一に設定することによって、電源の遮断が発生した際における制御コマンドの欠落を抑制しつつ、送信非効率状態の発生を抑制することが可能となる。
以上のように、パチンコ機1によれば、電源の遮断が発生した場合に遊技の進行に支障をきたすことを抑制しつつ、主制御回路200と演出制御回路300との間における制御コマンドによる通信の効率を向上することが可能となる。
【0104】
(第二実施形態)
次に、本発明の第二実施形態について図面を参照しながら説明する。
本実施形態に係るパチンコ機9(図示せず)の基本構成は、第一実施形態に係るパチンコ機1の構成と同一となっている。したがって、パチンコ機9の構成のうちパチンコ機1の構成と同一の部分については説明を省略する。
パチンコ機9では、所定記憶上限数の設定方法、及び、演出制御回路300が実行する電源遮断時処理の内容が、パチンコ機1とは異なっている。
【0105】
まず、パチンコ機9の演出制御回路300のCPUが実行する電源遮断時処理を説明する。
図18は、第二実施形態に係る演出制御回路が実行する電源遮断時処理を示すフローチャートである。
電源回路600の電源遮断検出回路は、演出制御回路300に供給する電源電圧が所定の基準値を下回った場合に、電源遮断検出信号を演出制御回路300に対して送信する。そして、演出制御回路300のCPUは、電源遮断検出信号を受信すると、メインループ処理の割込み許可期間中において、
図18に示す電源遮断時処理を開始する。電源遮断時処理が開始されると、ステップS700に移行する。
ステップS700では、レジスタ退避処理を実行し、ステップS701に移行する。レジスタ退避処理では、メインループ処理の実行中に使用していたレジスタの値をRAM320の退避領域に退避させる。
ステップS701では、ポート出力停止処理を実行し、ステップS702に移行する。ポート出力停止処理では、画像表示装置20、ランプ21及び音発生装置22のそれぞれに対する制御データの出力、演出用の役物(図示せず)の駆動手段に対する制御信号の出力等を停止する。これによって、演出用の役物の動作が停止される。
ステップS702では、待機時間設定処理を実行し、ステップS703に移行する。待機時間設定処理では、所定待機時間を待機時間タイマに設定して、待機時間タイマによる電断待機時間の計測を開始する。
ここで、所定待機時間は、演出制御回路300が電源電圧の遮断を検出(電源遮断信号の入力を検出)してから電源が遮断される(演出制御回路300の動作が停止される)までの理論上の時間(以下、「理論電断時間」とする)未満に設定される。本実施形態では、所定待機時間は、理論安全時間未満に設定されている。ここで、理論安全時間とは、当該時間内に電源遮断時処理(ステップS700〜S707までの処理)が完了すれば当該処理が完了する前に演出制御回路300の動作が停止されることがない理論上の時間をいう。具体的には、理論安全時間は、理論電断時間から、電源遮断時処理(ステップS700〜S707までの処理)が完了するまでに要する時間を減算した時間となっている。パチンコ機1では、理論安全時間は10.0[ms]となっており、所定待機時間は、5.0[ms]に設定されている。
【0106】
ステップS703では、待機時間タイマに基づいて、ステップS702で設定した所定待機時間が経過したか否かを判定し、所定待機時間が経過していないと判定した場合(No)には、ステップS704に移行し、所定待機時間が経過したと判定した場合(Yes)には、ステップS705に移行する。
ステップS704では、受信データ格納処理を実行し、ステップS703に移行する。受信データ格納処理では、FIFOバッファ313に記憶されている制御コマンド(受信データ)をRAM320のコマンドバッファ領域に格納する。
【0107】
ステップS705では、チェックサム保存処理を実行し、ステップS706に移行する。チェックサム保存処理では、RAM320のワーク領域のうち電源遮断発生情報フラグ領域及びチェックサムバッファ領域を除く全ての領域に記憶されている情報について、チェックサムを算出して、算出したチェックサム値をチェックサムバッファ領域に保存する。また、チェックサム保存処理では、電源遮断発生情報フラグをRAM320の電源遮断発生情報フラグ領域に設定する。
ステップS706では、電源遮断発生情報フラグ設定処理を実行し、ステップS707に移行する。電源遮断発生情報フラグ設定処理では、電源遮断発生情報フラグをRAM320の電源遮断発生情報フラグ領域に設定する。
ステップS707では、RAMアクセス禁止処理を実行し、ステップS708に移行する。RAMアクセス禁止処理では、RAM320におけるRAMプロテクト設定値にアクセス禁止を表す値を記憶する。これにより、演出制御回路300のCPUによるRAM320のワーク領域(使用禁止領域及びスタック領域を含む)に対するアクセスが禁止された状態となる。
そして、電源遮断の発生後は、バックアップ電源回路からバックアップ電源が供給されることによって、RAM320に記憶された情報が保持される。これによって、RAM320に記憶されていた情報のうちステップS705でチェックサムが算出された情報が、バックアップ情報として保存される。そして、保持されたバックアップ情報は、初期化処理によって、RAM320に復帰される。
ステップS708では、電源回路600の電源遮断検出回路から電源遮断検出信号が入力されているか否かを所定時間、監視し、電源遮断検出信号が入力されていると判定した場合(Yes)には、ステップS708の処理を繰り返し、電源遮断検出信号がされていないと判定した場合(No)には、初期化処理に移行する。
【0108】
次に、本実施形態に係る所定記憶上限数の設定方法について説明する。
パチンコ機9では、パチンコ機1と同様に、制御コマンド格納処理(ステップS33)において、第2出力ポート252のFIFOバッファ291に記憶されている制御コマンドの数が所定記憶上限数を超えないように、制御コマンドが第2出力ポート252のFIFOバッファ291に記憶される。
そして、パチンコ機9では、所定記憶上限数が、所定待機時間に基づいて設定されている。具体的には、所定記憶上限数は、所定待機時間(本実施形態では、5.0[ms])あたりに第2出力ポート252の機能により演出制御回路300に対して送信することが可能な制御コマンドの数(以下、「待機時間送信可能数」)以下に設定されている。本実施形態では、所定記憶上限数は、待機時間送信可能数と同一に設定されている。
具体的には、主制御回路200と演出制御回路300との間で行われるシリアル通信のボーレート(1.0[s]あたりに送信することが可能なデータのビット数)は、68181.82[bps]に設定されている。したがって、上述のように、第2出力ポート252が1つの制御コマンドを送信するために必要な時間は、294.0[μs](14.7[μs]×10[ビット]×2[キャラクタデータ数]=294.0[μs])となる。
よって、待機時間送信可能数は、17[個](5.0[ms]/294.0[μs]≒17.0[個])となる。
そこで、本実施形態では、所定記憶上限数は、17[個]に設定されている。
【0109】
(パチンコ機9の動作)
次に、パチンコ機9の動作を説明する。
パチンコ機1では、主制御回路200のCPU210は、遊技制御処理(主に、タイマ割込み処理)に基づいて、演出制御回路300に対して送信する制御コマンド(図柄種別指定コマンド、第1変動パターン指定コマンド、第2変動パターン指定コマンド、停止指定コマンド、状態指定コマンド等)を生成する。CPU210により生成された制御コマンドは、RAM230のポート出力要求バッファに記憶される。
そして、RAM230のポート出力要求バッファに記憶されている制御コマンドは、
図7に示すメインループ処理に含まれる制御コマンド格納処理(ステップS33)によって、第2出力ポート252の送信用データレジスタ290に対して出力される。この際、制御コマンド格納処理では、第2出力ポート252のFIFOバッファ291に記憶されている制御コマンドの数が所定記憶上限数を超えないように、ポート出力要求バッファに記憶されている制御コマンドが、送信用データレジスタ290に対して出力される。ここで、所定記憶上限数は、待機時間送信可能数と同一に設定されている。
送信用データレジスタ290に入力された制御コマンドは、FIFOバッファ291に記憶(格納)される。そして、FIFOバッファ291に記憶された制御コマンドは、送信用シフトレジスタ292によって、所定の順番で、演出制御回路300に対して送信される。
また、送信用シフトレジスタ292によって送信された制御コマンドは、演出制御回路300が備える入力ポート310の受信用シフトレジスタ312によって受信される。そして、受信用シフトレジスタ312によって受信された制御コマンドは、入力ポート310のFIFOバッファ313に記憶(格納)される。
そして、入力ポート310のFIFOバッファ313に記憶されている制御コマンドは、
図15に示すシリアル通信受信割込み処理に含まれる受信データ格納処理(ステップS402)によって、受信用データレジスタ314を介して、演出制御回路300のRAM320のコマンドバッファ領域に対して出力される。
そして、演出制御回路300のCPUは、RAM320のコマンドバッファ領域に記憶(格納)された制御コマンドに基づいて、演出制御処理(変動表示制御処理(ステップS502)、停止表示制御処理(ステップS503)等)を実行する。
【0110】
一方、主制御回路200のCPU210は、電源回路600の電源遮断検出回路から電源遮断検出信号を受信した場合に、
図10に示す電源遮断時処理を開始する。これによって、電源遮断処理の開始後は、制御コマンド格納処理(ステップS33)が実行されず、よって、RAM230のポート出力要求バッファに記憶されている制御コマンドが、第2出力ポート252の送信用データレジスタ290に対して出力されることがなくなる。そして、電源遮断時処理によって、RAM230に記憶されている情報が保持される。
また、演出制御回路300のCPUは、電源回路600の電源遮断検出回路から電源遮断検出信号を受信した場合に、
図18に示す電源遮断時処理を開始する。電源遮断時処理では、演出制御回路300のCPUが電源遮断検出信号の入力を検出(電源の遮断を検出)してから所定待機時間が経過した後に、チェックサム保存処理が実行されて、チェックサムが算出された情報がバックアップ情報として保存される。そして、演出制御回路300のCPUは、電源の遮断を検出してから所定待機時間が経過するまでの期間中において、入力ポート310のFIFOバッファ313に記憶されている制御コマンドをRAM320のコマンドバッファ領域に記憶する処理を実行する。
【0111】
(パチンコ機9の作用)
次に、パチンコ機9の作用について説明する。
パチンコ機9では、主制御回路200において、CPU210が、生成した制御コマンドを第2出力ポート252のFIFOバッファ291に記憶する制御コマンド格納処理を実行し、第2出力ポートが、FIFOバッファ291に記憶されている制御コマンドを
演出制御回路300に対して送信する。そして、演出制御回路300において、入力ポート310が、第2出力ポート252により送信された制御コマンドを受信し、入力ポート310により受信された制御コマンドがRAM320のコマンドバッファ領域に記憶される。また、演出制御回路300では、CPUが、電源電圧の低下を検出した場合に、所定待機時間の経過を待って、RAM320に記憶されている情報を保存するための処理(ステップS705〜S707)を実行する。
特に、制御コマンド格納処理では、第2出力ポート252のFIFOバッファ291に記憶されている制御コマンドの数が所定記憶上限数を超えないように、制御コマンドが第2出力ポート252のFIFOバッファ291に記憶される。そして、所定記憶上限数が、所定待機時間あたりに第2出力ポート252の機能により演出制御回路300に対して送信することが可能な制御コマンドの数(待機時間送信可能数)以下に設定されている。本実施形態では、所定記憶上限数が、待機時間送信可能数と同一に設定されている。
以上の構成によって、パチンコ機9では、以下に示す作用を奏することが可能となる。
【0112】
すなわち、第2出力ポート252のFIFOバッファ291に複数の制御コマンドを記憶することを可能とすることによって、制御コマンド格納処理の待機が発生することを抑制することができ、主制御回路200と演出制御回路300との間における制御コマンドによる通信の効率を向上することが可能となる。
一方、上述したように、第2出力ポート252のFIFOバッファ291に記憶することが可能な制御コマンドの数を増やすほど、電源の遮断が発生した場合に、制御コマンドの欠落が生じする恐れが高くなり、遊技の進行に支障をきたす恐れがある。そこで、第2出力ポート252のFIFOバッファ291に記憶される制御コマンドの上限数(所定記憶上限数)を適切に設定する必要がある。
ここで、パチンコ機9では、演出制御回路300において、電源電圧の遮断を検出した場合に、第2出力ポート252のFIFOバッファ291に記憶されている制御コマンドを受信するために、所定待機時間の経過を待って、RAM320に記憶されている情報を保存するための処理(ステップS705〜S707)が実行される。そして、所定待機時間は、理論電断時間未満(本実施形態では、理論安全時間未満)に設定されている。
そこで、パチンコ機9では、所定待機時間に基づいて、所定記憶上限数を設定している。具体的には、所定記憶上限数を、待機時間送信可能数以下に設定することによって、電源の遮断が発生した場合に遊技の進行に支障をきたすことを抑制している。
【0113】
すなわち、制御コマンド格納処理に基づいて第2出力ポート252のFIFOバッファ291に記憶された制御コマンドの数が、待機時間送信可能数を超える場合には、演出制御回路300において、電源電圧の低下が検出された際に、第2出力ポート252のFIFOバッファ291に記憶されている全ての制御コマンドを受信する前にRAM320に記憶されている情報を保存するための処理(ステップS705〜S707)が実行される恐れがある。したがって、第2出力ポート252のFIFOバッファ291に記憶された制御コマンドのうち待機時間送信可能数を超える分については、所定待機時間が経過した時点(RAM320に記憶されている情報を保存するための処理(ステップS705〜S707)が開始される時点)においても、第2出力ポート252のFIFOバッファ291に記憶されたままとなる。よって、第2出力ポート252のFIFOバッファ291に記憶された制御コマンドのうち待機時間送信可能数を超える分については、電源の遮断の発生によって欠落する。
例えば、パチンコ機9では、第2出力ポート252が1つの制御コマンドを送信するために要する時間が294.0[μs]に設定され、所定待機時間が5.0[ms]に設定されているため、待機時間送信可能数は、17[個](5.0[ms]/294.0[μs]≒17.0[個])となる。したがって、制御コマンド格納処理に基づいて第2出力ポート252のFIFOバッファ291に記憶された制御コマンドの数が、待機時間送信可能数を超える数(例えば、19[個])である場合には、演出制御回路300において、電源電圧の低下が検出された後、所定待機時間が経過した時点で、2[個](19[個]−17[個]=2[個])の制御指令が、送信されずに第2出力ポート252のFIFOバッファ291に残る。
したがって、所定記憶上限数を、待機時間送信可能数以下、好ましくは待機時間送信可能数と同一に設定することによって、電源の遮断が発生した際における制御コマンドの欠落を抑制することが可能となる。
以上のように、パチンコ機9によれば、電源の遮断が発生した場合に遊技の進行に支障をきたすことを抑制しつつ、主制御回路200と演出制御回路300との間における制御コマンドによる通信の効率を向上することが可能となる。
【0114】
(変形例)
以上、本発明の実施形態について説明したが、上記実施形態では、種々の変更を行うことが可能である。
例えば、上記各実施形態では、制御コマンド格納処理が、メインループ処理に含まれている。しかしながら、制御コマンド格納処理が、タイマ割込み処理に含まれる構成としても構わない。例えば、制御コマンド格納処理を、
図9に示すタイマ割込み処理におけるステップS211とステップS212との間、又は、ステップS212とステップS213との間に含める。
制御コマンド格納処理がタイマ割込み処理に含まれる構成とした場合には、タイマ割込み処理が実行されるごとに1回の制御コマンド格納処理が実行されるため、所定割込み周期の間に、1回の制御コマンド格納処理が実行される。したがって、或る制御コマンド格納処理が終了してから次回の制御コマンド格納処理が開始される前までの時間は、略一定となり、記憶処理間最長時間は、所定割込み周期と略一致する。
そして、所定記憶上限数を、1周期送信可能数以下、好ましくは1周期送信可能数と同一に設定することによって、電源の遮断が発生した際における制御指令の欠落を抑制しつつ、送信非効率状態の発生を抑制することが可能となる。
なお、制御コマンド格納処理がタイマ割込み処理に含まれる構成とした場合には、1回の制御コマンド出力処理(ステップS43)により、複数の制御コマンドを送信用データレジスタ290に対して出力する構成とすることが好ましい。この場合には、各回の制御コマンド出力処理において、FIFOバッファ291に記憶されている制御コマンドの数が所定記憶上限数に達したこと、及び、ポート出力要求バッファに記憶されている制御コマンドがなくなったこと、のうち一方の条件を満たすまで、送信用データレジスタ290に対する制御コマンドの出力が行われる。これによって、1回の制御コマンド格納処理により、複数の制御コマンドをFIFOバッファ291に格納することができる。
または、制御コマンド格納処理がタイマ割込み処理に含まれる構成とした場合には、各回の制御コマンド格納処理において、FIFOバッファ291に記憶されている制御コマンドの数が所定記憶上限数に達したこと、及び、ポート出力要求バッファに記憶されている制御コマンドがなくなったこと、のうち一方の条件を満たすまで、ステップS40からステップS43の処理を繰り返す構成とすることが好ましい。これによって、1回の制御コマンド格納処理により、複数の制御コマンドをFIFOバッファ291に格納することができる。
【0115】
また、上記第二実施形態では、所定記憶上限数が、所定待機時間に基づいて設定されている。しかしながら、上記第二実施形態では、所定記憶上限数を、第2出力ポート252による制御コマンドを送信する機能及び所定待機時間の両方に基づいて設定しても構わない。
具体的には、所定記憶上限数を、1周期送信可能数以下、かつ、待機時間送信可能数以下に設定することによって、電源の遮断が発生した場合に遊技の進行に支障をきたすことを抑制しつつ、送信非効率状態の発生を抑制することが可能となる。特に、所定記憶上限数は、1周期送信可能数及び待機時間送信可能数のうち少ない方の数と同一に設定することが好ましい。
【0116】
さらに、上記第二実施形態では、所定記憶上限数が、所定待機時間に基づいて設定されている。しかしながら、上記第二実施形態では、所定記憶上限数を、第2出力ポート252による制御コマンドを送信する機能に基づいて設定しても構わない。
具体的には、所定記憶上限数を、1周期送信可能数以下1周期送信可能数以下(好ましくは、1周期送信可能数と同一)に設定する。そして、所定待機時間を、第2出力ポート252が所定記憶上限数の制御コマンドを送信するために要する時間以上に設定する。
これによって、電源の遮断が発生した場合に遊技の進行に支障をきたすことを抑制しつつ、送信非効率状態の発生を抑制することが可能となる。
【0117】
また、上記第二実施形態では、所定待機時間を設定するにあたって、主制御回路200が電源の遮断を検出したタイミングと演出制御回路300が電源の遮断を検出したタイミングとのずれを考慮しても構わない。
また、上記各実施形態では、制御コマンド格納処理は、主制御回路200から演出制御回路300に対する制御コマンドを送信するための処理となっている。しかしながら、制御コマンド格納処理を、主制御回路200から払出制御回路400に対する制御コマンドの送信、払出制御回路400から主制御回路200に対する制御コマンドの送信に適用しても構わない。この場合には、第3出力ポート253の構成を、
図4に示す第2出力ポート252の構成と同一とするとともに、払出制御回路400の入力ポート又は主制御回路200の入力ポート240の構成を、
図4に示す演出制御回路300の入力ポート310と同一の構成とする。
さらに、上記各実施形態においては、本発明をパチンコ機1に本発明を適用した場合について説明したが、これに限らず、本発明の主旨を逸脱しない範囲で他のアミューズメントゲーム機等の遊技機にも適用可能である。