[1.パチンコ遊技機の構造]
以下、図面を参照して本発明の好適な実施形態について、図面を参照して説明する。まず、実施形態に係るパチンコ遊技機の構成について説明する。図1は、実施形態に係るパチンコ遊技機の外枠に対して本体枠を開放し、本体枠に対して扉枠を開放した状態を示す斜視図である。図2は、パチンコ遊技機を構成する外枠、本体枠、遊技盤、扉枠の後方から見た分解斜視図である。
図1及び図2に示すように、本実施形態に係るパチンコ遊技機1は、遊技ホールの島設備(図示しない)に設置される外枠2と、外枠2に開閉自在に軸支され前側が開放された箱枠状の本体枠3と、本体枠3に前側から装着固定され遊技媒体としての遊技球が打ち込まれる遊技領域1100を有した遊技盤4と、本体枠3及び遊技盤4の前面を遊技者側から閉鎖するように本体枠3に対して開閉自在に軸支された扉枠5とを備えている。パチンコ遊技機1の扉枠5には、遊技盤4の遊技領域1100が遊技者側から視認可能となるように形成された遊技窓101と、遊技窓101の下方に配置され遊技球を貯留する皿状の上皿301及び下皿302と、上皿301に貯留された遊技球を遊技盤4の遊技領域1100内へ打ち込むために遊技者が操作するハンドル装置500と、を備えている。
本実施形態のパチンコ遊技機1は、正面視において、外枠2、本体枠3、及び扉枠5が夫々上下方向へ延びた縦長の矩形状に形成されており、夫々の左右方向の横幅が略同じ寸法とされているとともに、上下方向の縦幅の寸法が、外枠2に対して本体枠3及び扉枠5の寸法が若干短く形成されている。そして、本体枠3及び扉枠5よりも下側の位置において、外枠2の前面に装飾カバー23が取付けられており、扉枠5及び装飾カバー23によって外枠2の前面が完全に閉鎖されるようになっている。また、外枠2、本体枠3、及び扉枠5は、上端が略揃うように夫々が配置されると共に、外枠2の左端前側の位置で本体枠3及び扉枠5が回転可能に軸支されており、外枠2に対して本体枠3及び扉枠5の右端が前側へ移動することで開状態となるようになっている。
パチンコ遊技機1は、正面視において、略円形状の遊技窓101を介して遊技球が打ち込まれる遊技領域1100が望むようになっており、遊技窓101の下側に前方へ突出するように二つの上皿301及び下皿302が上下に配置されている。また、扉枠5の前面右下隅部には、遊技者が操作するためのハンドル装置500が配置されており、上皿301内に遊技球が貯留されている状態で遊技者がハンドル装置500を回転操作すると、その回転角度に応じた打球強さで上皿301内の遊技球が遊技盤4の遊技領域1100内へ打ち込まれて、遊技をすることができるようになっている。
なお、扉枠5の遊技窓101は、透明なガラスユニット590によって閉鎖されており、遊技者から遊技領域1100内を視認することができるものの、遊技者が遊技領域1100内に手等を挿入して遊技領域1100内の遊技球や障害釘、各種入賞口や役物等に触ることができないようになっている。
[1−1.本体枠]
本体枠3は、外枠2に対して正面視左辺が軸支されており、扉枠5の後側で外枠2の前面を開閉するように扉状に支持されていると共に、前側が扉枠5によって開閉させられるようになっている。また、本体枠3は、扉枠5の遊技窓101と対応した位置に前側から遊技盤4を着脱自在に保持することができるようになっている。
本体枠3は、本体枠3の骨格を形成すると共に前後方向に貫通し遊技盤4を保持するための矩形状の遊技盤保持口601を有した本体枠ベース600と、本体枠ベース600の正面視左側端部の上端及び下端に夫々取付けられ外枠2に軸支されると共に扉枠5を軸支するための上軸支金具630及び下軸支金具640と、本体枠ベース600の下部前面に取付けられ遊技盤4の遊技領域1100内へ遊技球を打ち込むための打球発射装置650と、本体枠ベース600の後側に取付けられ皿ユニット300の上皿301へ遊技球を払出すための賞球ユニット700と、本体枠ベース600の前面に取付けられ本体枠3に対して扉枠5が開いた時に賞球ユニット700から扉枠5の皿ユニット300への遊技球の流れを遮断する球出口開閉ユニット790と、を備えている。
また、本体枠3は、本体枠ベース600の下部後面に取付けられ遊技盤4を除く扉枠5や本体枠3に備えられた電気的部品を制御するための各種の制御基板や電源基板851等を一纏めにしてユニット化した基板ユニット800と、本体枠ベース600における遊技盤保持口601の後側開口を覆う裏カバー900と、本体枠ベース600の正面視左側端部を被覆する側面防犯板950と、本体枠ベースの正面視右側端部に取付けられ外枠2に対する本体枠3の開閉施錠、及び本体枠3に対する扉枠5の開閉施錠をする錠装置1000と、を備えている。基板ユニット800は、基板ユニットベース810、スピーカボックス820、発射電源基板ボックス830、電源基板ボックスホルダ840、電源基板ボックス850、払出制御基板ボックス860、及び端子基板ボックス870等を備えている。電源基板851は、電源基板ボックス850の内部に収装されている。
また、本体枠3の後側には、各種の制御基板が備えられているとともに、遊技盤4の後方を覆うように閉鎖する裏カバー900が備えられている。裏カバー900は、裏カバー900を本体枠3に対して開かなくても、本体枠3に対して閉じた状態で、接続用切欠部910や確認用開口部912を通して、主制御基板4100の作動確認や外観確認、管理状態確認等を行うことができるようになっている。
[1−2.遊技盤]
次に、遊技盤4の全体構成について、図3及び図4を参照して説明する。図3は、本実施形態における裏面側からみた遊技盤の斜視図である。図4は、本実施形態における遊技盤の正面図である。
本実施形態のパチンコ遊技機1における遊技盤4は、外レール1111及び内レール1112を有し、遊技者がハンドル装置500を操作することで遊技媒体としての遊技球(単に「球」とも称す)が打ち込まれる遊技領域1100の内周を区画形成する枠状の前構成部材1110と、板状の遊技パネル1200と、を備えている。
遊技パネル1200は、前構成部材1110によって内周が区画された遊技領域1100の後端を区画可能な板状で前構成部材1110よりも外形が小さく形成された透明なパネル板1210と、パネル板1210を前側から脱着可能に保持すると共に前構成部材1110の後面に取付けられる枠状のパネルホルダ1220と、を備えている。遊技パネル1200の開口部は、透明なパネル板1210に形成されている。
また、遊技盤4は、遊技パネル1200の開口部に対して前側から取付けられる表ユニット2000と、遊技パネル1200(パネルホルダ1220)の後面に取付けられる裏ユニット3000と、裏ユニット3000の前端左端で透明なパネル板1210を通して遊技者側から視認可能とされると共にパチンコ遊技機1へ取付けた時に扉枠5の遊技窓101から遊技者側へ視認可能となる位置に配置された機能表示ユニット1180と、裏ユニット3000の後側に遊技者側から視認可能に取付けられ所定の演出画像を表示可能な矩形の表示画面(表示領域)を有する液晶表示装置1900と、裏ユニット3000の下部を後側から覆うように遊技パネル1200の後面下部に取付けられる基板ホルダ1160と、基板ホルダ1160の後面に取付けられる主制御基板ボックス1170と、を備えている。
表ユニット2000は、遊技領域1100内の左右方向略中央下部でアウト口1151の上側に配置され遊技パネル1150の前面に支持されるアタッカユニット2100と、アタッカユニット2100の左方で遊技領域1100の外周に沿って配置され遊技パネル1150の前面に支持されるサイド入賞口部材2200と、遊技領域1100の略中央部分に配置され遊技パネル1150に支持される枠状のセンター役物2300と、を備える。
裏ユニット3000は、遊技パネル1150の後面に取り付けて固定されており、遊技パネル1150から所定距離後側へ離れた位置に液晶表示装置1900を支持する裏箱3001と、裏箱3001内で液晶表示装置1900の上側に配置される上部ユニット3100と、裏箱3001内で液晶表示装置1900の右側に配置されるキャラクタユニット3400と、裏箱3001内で液晶表示装置1900の左側に配置される歯車装飾体ユニット3500と、を備える。上部ユニット3100、キャラクタユニット3400及び歯車装飾体ユニット3500は、遊技状態に応じてそれぞれ独立、あるいは、連係しながら可動するようになっており、その可動により遊技者に対して、遊技状態の変化やチャンスの到来等を示唆することができ、遊技者を楽しませることができるようになっている。
液晶表示装置1900は、図3に示すように、周辺制御部4150や液晶及び音制御部4160(図7参照)等を収容した周辺制御基板ボックス1910と、周辺制御基板ボックス1910の下部から後方へ延出したボリューム1912と、を備える。
周辺制御基板ボックス1910は、遊技機に取り付けられる取付ベースと、取付ベースに取り付けられ、取付ベースとの間に遊技制御基板を収納する収納空間を画成する蓋部材とを備える。周辺制御基板ボックス1910は、透明な合成樹脂によって構成され、蓋部材が取付ベースに取り付けられた状態でも内部に収納された周辺制御基板4140が透視可能に構成されている。
また、取付ベースと蓋部材とは、例えば、締め方向にしか回せないワンウェイネジ(固着具)によって封止されている(かしめ構造)。そのため、遊技制御基板を取り出すためには、ワンウェイネジを切り離す必要がある。なお、前述した主制御基板ボックス1170についても同様の構成となっている。したがって、取付ベースと蓋部材との固着を解除すると痕跡が残り、周辺制御基板(演出制御基板)4140や主制御基板(遊技制御基板)4100を交換するなどの不正行為が行われた場合に容易に発見することができる。
[1−3.扉枠]
次に、本体枠3の前面側に開閉自在に設けられる扉枠5について、図5を参照して説明する。図5は、本実施形態における扉枠5の斜視図である。扉枠5は、図4に示すように、外形が縦長の矩形状に形成され内周形状がやや縦長の円形状(楕円形状)とされた遊技窓101を有する扉枠ベースユニット100と、扉枠ベースユニット100の前面で遊技窓101の右外周に取り付けられる右サイド装飾ユニット200と、右サイド装飾ユニット200と対向し扉枠ベースユニット100の前面で遊技窓101の左外周に取り付けられる左サイド装飾ユニット240と、扉枠ベースユニット100の前面で遊技窓101の上部外周に取り付けられる上部装飾ユニット280と、右サイド装飾ユニット200及び左サイド装飾ユニット240の下端下側に配置され扉枠ベースユニット100の前面に取り付けられる一対のサイドスピーカカバー290と、を備える。
また、扉枠5は、扉枠ベースユニット100の前面で遊技窓101の下部に取り付けられる皿ユニット300と、皿ユニット300の上部中央に取り付けられる操作ユニット400と、皿ユニット300の右側に取り付けられ、上皿側液晶表示装置244、上皿側液晶表示装置244の上面を覆う透明なタッチパネル246、皿ユニット300を貫通して扉枠ベースユニット100の右下隅部に取り付けられ遊技球の打込操作をするためのハンドル装置500と、扉枠ベースユニット100を挟んで皿ユニット300の後側に配置され扉枠ベースユニット100の後面に取り付けられるファールカバーユニット540と、ファールカバーユニット540の右側で扉枠ベースユニット100の後面に取り付けられる球送ユニット580と、扉枠ベースユニット100の後側に遊技窓101を閉鎖するように取り付けられるガラスユニット590と、を備える。
[2.主制御基板、払出制御基板及び周辺制御基板]
次に、パチンコ遊技機1の各種制御を行う制御基板について、図6〜図9を参照しつつ説明する。図6は、主制御基板、払出制御基板及び周辺制御基板のブロック図であり、図7は、図6に示す周辺制御基板4140及びそれに接続される基板などの構成例を示すブロック図である。図8は、周辺制御MPUの概略を示すブロック図であり、図9は、液晶及び音制御部における音源内蔵VDP周辺構成例を示すブロック図である。
パチンコ遊技機1は、その制御に関係する構成として、図6に示すように、主として、主制御基板4100、払出制御基板4110及び周辺制御基板4140によって構成されており、各種制御が分担されている。まず、主制御基板について説明し、続いて、周辺制御基板について説明する。払出制御基板4110の詳細については説明を省略する。
[2−1.主制御基板]
遊技の進行を制御する主制御基板4100は、遊技動作を制御する主制御プログラムなどの各種制御プログラム及び各種コマンドを記憶するROM並びに一時的にデータを記憶するRAM等が内蔵されているマイクロプロセッサとしての主制御MPU4100aと、各種検出スイッチからの検出信号が入力される主制御入力回路4100bと、各種信号を外部の基板等へ出力するための主制御出力回路4100cと、各種ソレノイドを駆動するための主制御ソレノイド駆動回路4100dと、予め定めた電圧の停電又は瞬間的な停電状態(以下「瞬停」という)の兆候を監視する停電監視回路4100eと、を主として備えている。上述した主制御プログラムは、電源投入時から所定時間が経過した後に実行され、電源投入時に実行される電源投入時処理を制御する。
主制御MPU4100aには、その内蔵されているRAM(上記「主制御内蔵RAM」に相当)や、その内蔵されているROM(以下、「主制御内蔵ROM」と記載する。)の他に、その動作(システム)を監視するウォッチドックタイマや不正を防止するための機能等も内蔵されている。上述した主制御内蔵RAMは、その記憶領域の一部として、後述する始動記憶情報記憶領域に記憶される始動記憶情報ごとの大当り判定用乱数記憶領域、特別図柄用乱数記憶領域、リーチ判定用乱数記憶領域、変動パターン用乱数1,2記憶領域、及び変動タイプ用乱数記憶領域、並びに後述する始動記憶情報記憶領域及び送信情報記憶領域を有する。このうち始動記憶情報記憶領域は、第一特別図柄用の第一始動記憶情報記憶領域及び第二特別図柄用の第二始動記憶情報記憶領域を含んでいる。その他にも主制御内蔵RAMは、後述する大当りフラグの値を格納可能な大当りフラグ領域も含んでいる。大当りフラグは、後述するように、ハズレ(00H)であるか或いは大当り(01H)であるかのみならず、小当り(02H)であるかも表している。従って、主制御MPU4100aは、小当りフラグの値を格納可能な小当りフラグ領域にアクセスすることなく、大当りフラグ領域という1つの記憶領域にアクセスすれば、大当りであるか或いはハズレであるかだけでなく、小当りであるかについても同時に把握することができる。
また、主制御MPU4100aは、不揮発性のRAMが内蔵されている。この不揮発性のRAMには、主制御MPU4100aを製造したメーカによって個体を識別するためのユニークな符号(世界で1つしか存在しない符号)が付された固有のIDコードが予め記憶されている。この一度付されたIDコードは、不揮発性のRAMに記憶されるため、外部装置を用いても書き換えることができない。主制御MPU4100aは、不揮発性のRAMからIDコードを取り出して参照することができる。
主制御入力回路4100bは、その各種入力端子に各種検出スイッチからの検出信号がそれぞれ入力された情報を強制的にリセットするためのリセット端子が設けられず、リセット機能を有していない。このため、主制御入力回路4100bは、後述する主制御システムリセットからのシステムリセット信号が入力されない回路として構成されている。つまり、主制御入力回路4100bは、その各種入力端子に入力されている各種検出スイッチからの検出信号に基づく情報が後述する主制御システムリセットによりリセットされないことによって、その情報に基づく各種信号がその各種出力端子から出力される回路として構成されている。
主制御出力回路4100cは、エミッタ端子がグランド(GND)と接地されたオープンコレクタ出力タイプとして回路構成されており、その各種入力端子に各種信号を外部の基板等へ出力するための各種信号が入力された情報を強制的にリセットするためのリセット端子が設けられるリセット機能を有するリセット機能付き主制御出力回路4100caと、リセット端子が設けられていないリセット機能を有しないリセット機能なし主制御出力回路4100cbと、から構成されている。リセット機能付き主制御出力回路4100caは、後述する主制御システムリセットからのシステムリセット信号が入力される回路として構成されている。つまり、リセット機能付き主制御出力回路4100caは、その各種入力端子に入力されている各種信号を外部の基板等へ出力するための情報が後述する主制御システムリセットによりリセットされることによって、その情報に基づく信号がその各種出力端子から全く出力されない回路として構成されている。これに対して、リセット機能なし主制御出力回路4100cbは、後述する主制御システムリセットからのシステムリセット信号が入力されない回路として構成されている。つまり、リセット機能なし主制御出力回路4100cbは、その各種入力端子に入力されている各種信号を外部の基板等へ出力するための情報が後述する主制御システムリセットによりリセットされないことによって、その情報に基づく信号がその各種出力端子から出力される回路として構成されている。
第一始動口2101に入球した遊技球を検出する第一始動口スイッチ3022、第二始動口2102に入球した遊技球を検出する第二始動口スイッチ2109、及び一般入賞口2104に入球した遊技球を検出する一般入賞口スイッチ3020からの検出信号や停電監視回路4100eからの信号は、主制御入力回路4100bを介して主制御MPU4100aの所定の入力ポートの入力端子に入力されている。また、振分検知センサ2580、ゲート部2350を通過した遊技球を検出するゲートスイッチ2301、一般入賞口2201に入球した遊技球を検出する一般入賞口スイッチ3020、大入賞口2103に遊技球が受け入れられたことを検知すると検出信号を出力するカウントスイッチ2110、及び磁石を用いた不正行為を検出する磁気検出スイッチ3024からの検出信号は、遊技盤4に取り付けられたパネル中継端子板4161、そして主制御入力回路4100bを介して主制御MPU4100aの所定の入力ポートの入力端子に入力されている。
主制御MPU4100aは、これらの各スイッチからの検出信号に基づいて、その所定の出力ポートの出力端子からリセット機能付き主制御出力回路4100caに駆動信号を出力することにより、リセット機能付き主制御出力回路4100caから主制御ソレノイド駆動回路4100dに制御信号を出力し、主制御ソレノイド駆動回路4100dからパネル中継端子板4161を介して始動口ソレノイド2105、アタッカソレノイド2108A、アタッカソレノイド2108B及び振分駆動モータ2558(図示せず)にそれぞれ駆動信号を出力したり、その所定の出力ポートの出力端子からリセット機能付き主制御出力回路4100caに駆動信号を出力することにより、リセット機能付き主制御出力回路4100caからパネル中継端子板4161、そして機能表示基板1191を介して第一特別図柄表示器1185、第二特別図柄表示器1186、第一特別図柄記憶表示器1184、第二特別図柄記憶表示器1187、普通図柄表示器1189、普通図柄記憶表示器1188、遊技状態表示器1183、及びラウンド表示器1190に駆動信号を出力したりする。
また、主制御MPU4100aは、その所定の出力ポートの出力端子からリセット機能付き主制御出力回路4100caに遊技に関する各種情報(遊技情報)を出力することにより、リセット機能付き主制御出力回路4100caから払出制御基板4110に各種情報(遊技情報)を出力したり、その所定の出力ポートの出力端子からリセット機能付き主制御出力回路4100caに信号(停電クリア信号)を出力することにより、リセット機能付き主制御出力回路4100caから停電監視回路4100eに信号(停電クリア信号)を出力したりする。
なお、本実施形態おいて、第一始動口スイッチ3022、第二始動口スイッチ2109、ゲートスイッチ2301、及びカウントスイッチ2110には、非接触タイプの電磁式の近接スイッチを用いているのに対して、一般入賞口スイッチ3020,3020には、接触タイプのON/OFF動作式のメカニカルスイッチを用いている。これは、遊技球が第一始動口2101や第二始動口2102に頻繁に入球するし、ゲート部2350を頻繁に通過するため、第一始動口スイッチ3022、第二始動口スイッチ2109、及びゲートスイッチ2301による遊技球の検出も頻繁に発生する。このため、第一始動口スイッチ3022、第二始動口スイッチ2109、及びゲートスイッチ2301には、寿命の長い近接スイッチを用いている。また、遊技者にとって有利となる大当り遊技状態が発生すると、大入賞口2103が開放されて遊技球が頻繁に入球するため、カウントスイッチ2110による遊技球の検出も頻繁に発生する。このため、カウントスイッチ2110にも、寿命の長い近接スイッチを用いている。これに対して、遊技球が頻繁に入球しない一般入賞口2104,2201には、一般入賞口スイッチ3020,3020による検出も頻繁に発生しない。このため、一般入賞口スイッチ3020,3020には、近接スイッチより寿命が短いメカニカルスイッチを用いている。
また、主制御MPU4100aは、その所定のシリアル出力ポートの出力端子からリセット機能なし主制御出力回路4100cbに払い出しに関する各種コマンドをシリアルデータとして送信することにより、リセット機能なし主制御出力回路4100cbから払出制御基板4110に各種コマンドをシリアルデータとして送信する。払出制御基板4110は、主制御基板4100からの各種コマンドをシリアルデータとして正常受信完了すると、その旨を伝える信号(払主ACK信号)を主制御基板4100に出力する。この信号(払主ACK信号)が主制御入力回路4100bを介して主制御MPU4100aの所定の入力ポートの入力端子に入力されるようになっている。
また、主制御MPU4100aは、払出制御基板4110からのパチンコ遊技機1の状態に関する各種コマンドをシリアルデータとして主制御入力回路4100bで受信することにより、主制御入力回路4100bからその所定のシリアル入力ポートの入力端子で各種コマンドをシリアルデータとして受信する。主制御MPU4100aは、払出制御基板4110からの各種コマンドをシリアルデータとして正常受信完了すると、その旨を伝える信号(主払ACK信号)を、その所定の出力ポートの出力端子からリセット機能付き主制御出力回路4100caに出力し、リセット機能付き主制御出力回路4100caから払出制御基板4110に信号(主払ACK信号)を出力する。
また、主制御MPU4100aは、その所定のシリアル出力ポートの出力端子からリセット機能なし主制御出力回路4100cbに遊技演出の制御に関する各種コマンド及びパチンコ遊技機1の状態に関する各種コマンドをシリアルデータとして送信することにより、リセット機能なし主制御出力回路4100cbから周辺制御基板4140に各種コマンドをシリアルデータとして送信する。
ここで、周辺制御基板4140へ各種コマンドをシリアルデータとして送信する主周シリアル送信ポートについて簡単に説明する。主制御MPU4100aは、主制御CPUコア4100aaを中心として構成されており、上述した主制御内蔵RAMの他にも、主制御各種シリアルI/Oポートの1つである主周シリアル送信ポート4100ae等がバス4100ahを介して回路接続されている(図7を参照)。主周シリアル送信ポート4100aeは、周辺制御基板4140へ各種コマンドを主周シリアルデータとして送信するものであり、送信シフトレジスタ4100aea、送信バッファレジスタ4100aeb、シリアル管理部4100aec等を主として構成されている(図7を参照)。主制御CPUコア4100aaは、コマンドを送信バッファレジスタ4100aebにセットして送信開始信号をシリアル管理部4100aecに出力すると、このシリアル管理部4100aecが送信バッファレジスタ4100aebにセットされたコマンドを送信バッファレジスタ4100aebから送信シフトレジスタ4100aeaに転送して主周シリアルデータとして周辺制御基板4140に送信開始する。本実施形態では、送信バッファレジスタ4100aebの記憶容量として32バイトを有している。主制御CPUコア4100aaは、送信バッファレジスタ4100aebに複数のコマンドをセットした後にシリアル管理部4100aecに送信開始信号を出力することによって複数のコマンドを連続的に周辺制御基板4140に送信している。
なお、主制御基板4100に各種電圧を供給する電源基板851は、電源遮断時にでも所定時間、主制御基板4100に電力を供給するためのバックアップ電源としての電気二重層キャパシタ(以下、単に「キャパシタ」と記載する。)BC0を備えている。このキャパシタBC0により主制御MPU4100aは、電源遮断時にでも電源断時処理において各種情報を主制御内蔵RAMに記憶する。この主制御内蔵RAMに記憶される各種情報は、電源投入時から予め定めた期間内に後述する払出制御基板4110の操作スイッチ952が操作されると、この操作スイッチ952からの操作信号(RAMクリア信号)が払出制御基板4110から出力され、主制御入力回路4100bを介して、主制御MPU4100aの所定の入力ポートの入力端子に入力され、これを契機として、主制御MPU4100aによって主制御内蔵RAMから完全に消去(クリア)されるようになっている。
[2−2.周辺制御基板]
周辺制御基板4140は、図7に示すように、主制御基板4100からの各種コマンドに基づいて演出制御を行う一方、タッチパネル246の接触状態の検知制御を行う周辺制御部4150と、遊技盤側液晶表示装置1900及び上皿側液晶表示装置244の描画制御を行うとともに、本体枠3に設けたスピーカボックス920に収容されるスピーカー(音出力手段)及び扉枠5に設けたスピーカー(音出力手段)から流れる音楽や効果音等の音制御を行う液晶及び音制御部4160と、年月日を特定するカレンダー情報と時分秒を特定する時刻情報とを保持するリアルタイムクロック(以下、「RTC」と記載する。)制御部4165と、本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから流れる音楽や効果音等の音量をつまみ部の回動操作により調節する音量調整ボリューム4140a(第1の音量操作手段)と、を備えている。なお、周辺制御部4150と液晶及び音制御部4160とは図示のように別体であってもよいし、一体であってもよい。この場合、周辺制御基板4140の周辺制御MPU4150aが行っていた処理は、液晶及び音制御部4160の音源内蔵VDP4160aが代行したり、その逆とすることもできる。
[2−2−1.周辺制御部]
演出制御を行う周辺制御部4150は、図7に示すように、マイクロプロセッサとしての周辺制御MPU4150aと、電源投入時に実行される電源投入時処理を制御するとともに電源投入時から所定時間が経過した後に実行されるとともに演出動作を制御するサブ制御プログラムなどの各種制御プログラム、各種データ、各種制御データ及び各種スケジュールデータを記憶する周辺制御ROM4150bと、後述する液晶及び音制御部4160の音源内蔵VDP4160aからのVブランク信号が入力されるごとに実行される周辺制御部定常処理をまたいで継承される各種情報(例えば、遊技盤側液晶表示装置1900に描画する画面を規定するスケジュールデータや各種LED等の発光態様を規定するスケジュールデータなどを管理するための情報など)を記憶する周辺制御RAM4150cと、日をまたいで継続される各種情報(例えば、大当り遊技状態が発生した履歴を管理するための情報や特別な演出フラグの管理するための情報など)を記憶する周辺制御SRAM4150dと、周辺制御MPU4150aが正常に動作しているか否かを監視するための周辺制御外部ウォッチドックタイマ4150e(以下、「周辺制御外部WDT4150e」と記載する。)と、を備えている。
周辺制御RAM4150cは、瞬停が発生して電力がすぐ復帰する程度の時間しか記憶された内容を保持することができず、電力が長時間遮断された状態(長時間の電断が発生した場合)ではその内容を失うのに対して、周辺制御SRAM4150dは、電源基板851に設けられた図示しない大容量の電解コンデンサ(以下、「SRAM用電解コンデンサ」と記載する。)によりバックアップ電源が供給されることにより、記憶された内容を50時間程度、保持する。電源基板851にSRAM用電解コンデンサが設けられることにより、遊技盤4をパチンコ遊技機1から取り外した場合には、周辺制御SRAM4150dにバックアップ電源が供給されなくなるため、周辺制御SRAM4150dは、記憶された内容を保持することができなくなってその内容を失う。
周辺制御外部WDT4150eは、周辺制御MPU4150aのシステムが暴走していないかを監視するためのタイマであり、このタイマがタイマップすると、ハードウェア的にリセットをかけるようになっている。つまり、周辺制御MPU4150aは、一定期間内(タイマがタイマップするまで)に周辺制御外部WDT4150eのタイマをクリアするクリア信号を周辺制御外部WDT4150eに出力しないときには、リセットがかかることとなる。周辺制御MPU4150aは、一定期間内にクリア信号を周辺制御外部WDT4150eに出力するときには、周辺制御外部WDT4150eのタイマカウントを再スタートさせることができるため、リセットがかからない。
周辺制御MPU4150aは、パラレルI/Oポート、シリアルI/Oポート等を複数内蔵しており、主制御基板4100からの各種コマンドを受信すると、この各種コマンドに基づいて、遊技盤4の各装飾基板に設けた複数のLED等への点灯信号、点滅信号又は階調点灯信号を出力するための遊技盤側発光データをランプ駆動基板用シリアルI/Oポートから図示しない周辺制御出力回路を介してランプ駆動基板4170に送信したり、遊技盤4に設けた各種可動体を作動させるモータやソレノイド等の電気的駆動源への駆動信号を出力するための遊技盤側モータ駆動データをモータ駆動基板用シリアルI/Oポートから周辺制御出力回路を介してモータ駆動基板4180に送信したり、扉枠5に設けたダイヤル駆動モータ414等の電気的駆動源への駆動信号を出力するための扉側モータ駆動データを枠装飾駆動アンプ基板モータ用シリアルI/Oポートから周辺制御出力回路、枠周辺中継端子板868、そして周辺扉中継端子板882を介して枠装飾駆動アンプ基板194に送信したり、扉枠5の各装飾基板に設けた複数のLED等への点灯信号、点滅信号又は階調点灯信号を出力するための扉側発光データを枠装飾駆動アンプ基板LED用シリアルI/Oポートから周辺制御出力回路、枠周辺中継端子板868、そして周辺扉中継端子板882を介して枠装飾駆動アンプ基板194に送信したりする。
主制御基板4100からの各種コマンドは、図示しない周辺制御入力回路を介して、周辺制御MPU4150aの主制御基板用シリアルI/Oポートに入力されている。また、操作ユニット400に設けられた、ダイヤル操作部401の回転(回転方向)を検出するための回転検出スイッチからの検出信号、及び押圧操作部405の操作を検出するための押圧検出スイッチからの検出信号は、枠装飾駆動アンプ基板194に設けた図示しない扉側シリアル送信回路でシリアル化され、このシリアル化された操作ユニット検出データが扉側シリアル送信回路から、周辺扉中継端子板882、枠周辺中継端子板868、そして周辺制御入力回路を介して、周辺制御MPU4150aの操作ユニット検出用シリアルI/Oポートに入力されている。
遊技盤4に設けた各種可動体の原位置や可動位置等を検出するための各種検出スイッチ(例えば、フォトセンサなど。)からの検出信号は、モータ駆動基板4180に設けた図示しない遊技盤側シリアル送信回路でシリアル化され、このシリアル化された可動体検出データが遊技盤側シリアル送信回路から周辺制御入力回路を介して、周辺制御MPU4150aのモータ駆動基板用シリアルI/Oポートに入力されている。周辺制御MPU4150aは、モータ駆動基板用シリアルI/Oポートの入出力を切り替えることにより周辺制御基板4140とモータ駆動基板4180との基板間における各種データのやり取りを行うようになっている。
なお、周辺制御MPU4150aは、ウォッチドックタイマを内蔵(以下、「周辺制御内蔵WDT」と記載する。)しており、周辺制御内蔵WDTと周辺制御外部WDT4150eとを併用して自身のシステムが暴走しているか否かを診断している。
<周辺制御MPU>
次に、マイクロコンピュータである周辺制御MPU4150aについて説明する。周辺制御MPU4150aは、図8に示すように、周辺制御CPUコア4150aaを中心として、周辺制御内蔵RAM4150ab、周辺制御DMA(Direct Memory Accessの略)コントローラ4150ac、周辺制御バスコントローラ4150ad、周辺制御各種シリアルI/Oポート4150ae、周辺制御内蔵WDT4150af、周辺制御各種パラレルI/Oポート4150ag、及び周辺制御アナログ/デジタルコンバータ(以下、周辺制御A/Dコンバータと記載する)4150ak等から構成されている。
周辺制御CPUコア4150aaは、周辺制御内蔵RAM4150ab、周辺制御DMAコントローラ4150acに対して、内部バス4150ahを介して、各種データを読み書きする一方、周辺制御各種シリアルI/Oポート4150ae、周辺制御内蔵WDT4150af、周辺制御各種パラレルI/Oポート4150ag、及び周辺制御A/Dコンバータ4150akに対して、内部バス4150ah、周辺制御バスコントローラ4150ad、そして周辺バス4150aiを介して、各種データを読み書きする。
また、周辺制御CPUコア4150aaは、周辺制御ROM4150bに対して、内部バス4150ah、周辺制御バスコントローラ4150ad、そして外部バス4150hを介して、各種データを読み込む一方、周辺制御RAM4150c、及び周辺制御SRAM4150dに対して、内部バス4150ah、周辺制御バスコントローラ4150ad、そして外部バス4150hを介して、各種データを読み書きする。
周辺制御DMAコントローラ4150acは、周辺制御内蔵RAM4150ab、周辺制御ROM4150b、周辺制御RAM4150c、及び周辺制御SRAM4150d等の記憶装置と、周辺制御各種シリアルI/Oポート4150ae、周辺制御内蔵WDT4150af、周辺制御各種パラレルI/Oポート4150ag、及び周辺制御A/Dコンバータ4150ak等の入出力装置と、の装置間において、周辺制御CPUコア4150aaを介すことなく、独立してデータ転送を行う専用のコントローラであり、DMA0〜DMA3という4つのチャンネルを有している。
具体的には、周辺制御DMAコントローラ4150acは、周辺制御MPU4150aに内蔵される周辺制御内蔵RAM4150abの記憶装置と、周辺制御MPU4150aに内蔵される、周辺制御各種シリアルI/Oポート4150ae、周辺制御内蔵WDT4150af、周辺制御各種パラレルI/Oポート4150ag、及び周辺制御A/Dコンバータ4150ak等の入出力装置と、の装置間において、周辺制御CPUコア4150aaを介すことなく、独立してデータ転送を行うために、周辺制御内蔵RAM4150abの記憶装置に対して、内部バス4150ahを介して、読み書きする一方、周辺制御各種シリアルI/Oポート4150ae、周辺制御内蔵WDT4150af、周辺制御各種パラレルI/Oポート4150ag、及び周辺制御A/Dコンバータ4150ak等の入出力装置に対して、周辺制御バスコントローラ4150ad及び周辺バス4150aiを介して、読み書きする。
また、周辺制御DMAコントローラ4150acは、周辺制御MPU4150aに外付けされる、周辺制御ROM4150b、周辺制御RAM4150c、及び周辺制御SRAM4150d等の記憶装置と、周辺制御MPU4150aに内蔵される、周辺制御各種シリアルI/Oポート4150ae、周辺制御内蔵WDT4150af、周辺制御各種パラレルI/Oポート4150ag、及び周辺制御A/Dコンバータ4150ak等の入出力装置と、の装置間において、周辺制御CPUコア4150aaを介すことなく、独立してデータ転送を行うために、周辺制御ROM4150b、周辺制御RAM4150c、及び周辺制御SRAM4150d等の記憶装置に対して、周辺制御バスコントローラ4150ad及び外部バス4150hを介して、読み書きする一方、周辺制御各種シリアルI/Oポート4150ae、周辺制御内蔵WDT4150af、周辺制御各種パラレルI/Oポート4150ag、及び周辺制御A/Dコンバータ4150ak等の入出力装置に対して、周辺制御バスコントローラ4150ad及び周辺バス4150aiを介して、読み書きする。
周辺制御バスコントローラ4150adは、内部バス4150ah、周辺バス4150ai、及び外部バス4150hをコントロールして周辺制御CPUコア4150aaの中央処理装置と、周辺制御内蔵RAM4150ab、周辺制御ROM4150b、周辺制御RAM4150c、及び周辺制御SRAM4150d等の記憶装置と、周辺制御各種シリアルI/Oポート4150ae、周辺制御内蔵WDT4150af、周辺制御各種パラレルI/Oポート4150ag、及び周辺制御A/Dコンバータ4150ak等の入出力装置と、の各種装置間において、各種データのやり取りを行う専用のコントローラである。
周辺制御各種シリアルI/Oポート4150aeは、ランプ駆動基板用シリアルI/Oポート、モータ駆動基板用シリアルI/Oポート、枠装飾駆動アンプ基板モータ用シリアルI/Oポート、枠装飾駆動アンプ基板LED用シリアルI/Oポート、枠装飾駆動アンプ基板モータ用シリアルI/Oポート、主制御基板用シリアルI/Oポート、及び操作ユニット情報取得用シリアルI/Oポートを有している。
周辺制御内蔵ウォッチドックタイマ(周辺制御内蔵WDT)4150afは、周辺制御MPU4150aのシステムが暴走していないかを監視するためのタイマであり、このタイマがタイマップすると、ハードウェア的にリセットをかけるようになっている。つまり、周辺制御CPUコア4150aaは、ウォッチドックタイマをスタートさせた場合には、一定期間内(タイマがタイマップするまで)にそのタイマをクリアするクリア信号を周辺制御内蔵WDT4150afに出力しないときには、リセットがかかることとなる。周辺制御CPUコア4150aaは、ウォッチドックタイマをスタートさせて一定期間内にクリア信号を周辺制御内蔵WDT4150afに出力するときには、タイマカウントを再スタートさせることができるため、リセットがかからない。
周辺制御各種パラレルI/Oポート4150agは、遊技盤側モータ駆動ラッチ信号、扉側モータ駆動発光ラッチ信号等の各種ラッチ信号を出力する他に、周辺制御外部WDT4150eにクリア信号を出力したり、遊技盤4に設けた各種可動体の原位置や可動位置等を検出するための各種検出スイッチからの検出信号をモータ駆動基板4180に設けた図示しない遊技盤側シリアル送信回路でシリアル化して、このシリアル化された可動体検出データを遊技盤側シリアル送信回路から周辺制御MPU4150aのモータ駆動基板用シリアルI/Oポートで受信するための可動体情報取得ラッチ信号を出力したり、扉枠5における上部装飾ユニット280の上部装飾基板に実装されたLEDの点灯信号を出力したりする。このLEDは、高輝度の白色LEDであり、大当り遊技状態の発生が確定している旨を伝えるための確定告知ランプとなっている。本実施形態では、LEDと周辺制御各種パラレルI/Oポート4150agとが電気的に直接接続された構成を採用することにより、LEDと周辺制御各種パラレルI/Oポート4150agとの経路を短くすることで遊技上重量な意味を持つLEDの点灯制御についてノイズ対策を講ずることができる。なお、LEDの点灯制御については、後述する周辺制御部1msタイマ割り込み処理において実行されるようになっており、このLEDを除く他のLED等は、後述する周辺制御部定常処理において実行されるようになっている。
周辺制御A/Dコンバータ4150akは、音量調整ボリューム4140aと電気的に接続されており、音量調整ボリューム4140aのつまみ部が回動操作されることにより抵抗値が可変し、つまみ部の回転位置における抵抗値により分圧された電圧を、アナログ値からデジタル値に変換して、値0〜値1023までの1024段階の値に変換している。本実施形態では、1024段階の値を7つに分割して基板ボリューム0〜6として管理している。基板ボリューム0では消音、基板ボリューム6では最大音量に設定されており、基板ボリューム0から基板ボリューム6に向かって音量が大きくなるようにそれぞれ設定されている。基板ボリューム0〜6に設定された音量となるように液晶及び音制御部4160(後述する音源内蔵VDP4160a)を制御して本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから音楽や効果音が流れるようになっている。このように、つまみ部の回動操作に基づく音量調整により本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから音楽や効果音が流れるようになっている。
なお、本実施形態では、音楽や効果音の他に、パチンコ遊技機1の不具合の発生やパチンコ遊技機1に対する不正行為をホールの店員等に報知するための報知音や、遊技演出に関する内容等を告知する(例えば、遊技盤側液晶表示装置1900に繰り広げられている画面をより迫力あるものとして演出したり、遊技者にとって有利な遊技状態に移行する可能性が高いこと告知したりする等。)ための告知音も本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから流れるが、報知音や告知音は、つまみ部の回動操作に基づく音量調整に全く依存されずに流れる仕組みとなっており、消音から最大音量までの音量をプログラムにより液晶及び音制御部4160(後述する音源内蔵VDP4160a)を制御して調整する。このプログラムにより調整される音量は、上述した7段階に分けられた基板ボリュームと異なり、消音から最大音量までを滑らかに変化させることができるようになっている。これにより、例えば、ホールの店員等が音量調整ボリューム4140aのつまみ部を回動操作して音量を小さく設定した場合であっても、本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから流れる音楽や効果音等の演出音が小さくなるものの、パチンコ遊技機1に不具合が発生しているときや遊技者が不正行為を行っているときには大音量(本実施形態では、最大音量)に設定した報知音を流すことができる。従って、演出音の音量を小さくしても、報知音によりホールの店員等が不具合の発生や遊技者の不正行為を気付き難くなることを防止することができる。また、つまみ部の回動操作に基づく音量調整により設定されている現在の基板ボリュームに基づいて、広告音を流す音量を小さくして音楽や効果音の妨げとならないようにしたりする一方、広告音を流す音量を大きくして音楽や効果音に加えて遊技盤側液晶表示装置1900で繰り広げられている画面をより迫力あるものとして演出したり、遊技者にとって有利な遊技状態に移行する可能性が高いこと告知したりすることもできる。
<周辺制御ROM>
周辺制御ROM4150bは、周辺制御部4150、液晶及び音制御部4160、RTC制御部4165等を制御する各種制御プログラム、各種データ、各種制御データ、各種スケジュールデータ、及び予め定められた個体情報(以下「規定の個体情報」という)を予め記憶している(演出制御記憶部)。各種スケジュールデータには、遊技盤側液晶表示装置1900及び上皿側液晶表示装置244に描画する画面を生成する画面生成用スケジュールデータ、各種LEDの発光態様を生成する発光態様生成用スケジュールデータ、音楽や効果音等を生成する音生成用スケジュールデータ、及びモータやソレノイド等の電気的駆動源の駆動態様を生成する電気的駆動源スケジュールデータ等がある。画面生成用スケジュールデータは、画面の構成を規定する画面データが時系列に配列されて構成されており、遊技盤側液晶表示装置1900及び上皿側液晶表示装置244に描画する画面の順序が規定されている。発光態様生成用スケジュールデータは、各種LEDの発光態様を規定する発光データが時系列に配列されて構成されている。音生成用スケジュールデータは、音指令データが時系列に配列されて構成されており、音楽や効果音が流れる順番が規定されている。この音指令データには、後述する液晶及び音制御部4160の音源内蔵VDP4160aの内蔵音源における複数の出力チャンネルのうち、どの出力チャンネルを使用するのかを指示するための出力チャンネル番号と、音源内蔵VDP4160aの内蔵音源における複数のトラックのうち、どのトラックに音楽及び効果音等の音データを組み込むのかを指示するためのトラック番号と、が規定されている。電気的駆動源スケジュールデータは、モータやソレノイド等の電気的駆動源の駆動データが時系列に配列されて構成されており、モータやソレノイド等の電気的駆動源の動作が規定されている。
なお、周辺制御ROM4150bに記憶されている各種制御プログラムは、周辺制御ROM4150bから直接読み出されて実行されるものもあれば、後述する周辺制御RAM4150cの各種制御プログラムコピーエリアに電源投入時等においてコピーされたものが読み出されて実行されるものもある。また周辺制御ROM4150bに記憶されている、各種データ、各種制御データ及び各種スケジュールデータも、周辺制御ROM4150bから直接読み出されるものもあれば、後述する周辺制御RAM4150cの各種制御データコピーエリアに電源投入時等においてコピーされたものが読み出されるものもある。
また、周辺制御ROM4150bには、RTC制御部4165を制御する各種制御プログラムの1つとして、遊技盤側液晶表示装置1900の使用時間に応じて遊技盤側液晶表示装置1900の輝度を補正するための輝度補正プログラムが含まれている。この輝度補正プログラムは、遊技盤側液晶表示装置1900のバックライトがLEDタイプのものが装着されている場合には、遊技盤側液晶表示装置1900の経年変化にともなう輝度低下を補正するものであり、後述するRTC制御部4165の内蔵RAMから遊技盤側液晶表示装置1900を最初に電源投入した日時、現在の日時、輝度設定情報等を取得して、この取得した輝度設定情報を補正情報に基づいて補正する。この補正情報は、周辺制御ROM4150bに予め記憶されている。輝度設定情報は、後述するように、遊技盤側液晶表示装置1900のバックライトであるLEDの輝度が100%〜70%までに亘る範囲を5%刻みで調節するための輝度調節情報と、現在設定されている遊技盤側液晶表示装置1900のバックライトであるLEDの輝度と、が含まれているものであり、例えば、遊技盤側液晶表示装置1900を最初に電源投入した日時と現在の日時とから、遊技盤側液晶表示装置1900を最初に電源投入した日時からすでに6月を経過している場合には、周辺制御ROM4150bから対応する補正情報(例えば、5%)を取得するとともに、輝度設定情報に含まれるLEDの輝度が75%で遊技盤側液晶表示装置1900のバックライトを点灯するときには、この75%に対して取得した補正情報である5%だけさらに上乗せした80%の輝度となるように、輝度設定情報に含まれる輝度調節情報に基づいて遊技盤側液晶表示装置1900のバックライトの輝度を調節して点灯し、遊技盤側液晶表示装置1900を最初に電源投入した日時からすでに12月を経過している場合には、周辺制御ROM4150bから対応する補正情報(例えば、10%)を取得するとともに、輝度設定情報に含まれるLEDの輝度が75%で遊技盤側液晶表示装置1900のバックライトを点灯するときには、この75%に対して取得した補正情報である10%だけさらに上乗せした85%の輝度となるように、輝度設定情報に含まれる輝度調節情報に基づいて遊技盤側液晶表示装置1900のバックライトの輝度を調節して点灯する。
<周辺制御RAM>
周辺制御MPU4150aに外付けされる周辺制御RAM4150cは、図8に示すように、各種制御プログラムが実行されることにより更新される各種情報のうち、バックアップ対象となっているものを専用に記憶するバックアップ管理対象ワークエリア4150caと、このバックアップ管理対象ワークエリア4150caに記憶されている各種情報がコピーされたものを専用に記憶するバックアップ第1エリア4150cb及びバックアップ第2エリア4150ccと、周辺制御ROM4150bに記憶されている各種制御プログラムがコピーされたものを専用に記憶する各種制御プログラムコピーエリア4150cdと、周辺制御ROM4150bに記憶されている、各種データ、各種制御データ、及び各種スケジュールデータ等がコピーされたものを専用に記憶する各種制御データコピーエリア4150ceと、各種制御プログラムが実行されることにより更新される各種情報のうち、バックアップ対象となっていないものを専用に記憶するバックアップ非管理対象ワークエリア4150cfと、が設けられている。
なお、パチンコ遊技機1の電源投入時(瞬停や停電による復電時も含む。)には、バックアップ非管理対象ワークエリア4150cfに対して値0が強制的に書き込まれてゼロクリアされる一方、バックアップ管理対象ワークエリア4150ca、バックアップ第1エリア4150cb、及びバックアップ第2エリア4150ccについては、パチンコ遊技機1の電源によって電力の供給が開始された際(電源投入時)に主制御基板4100(電源投入コマンド出力手段)によって出力される電源投入コマンド(図10を参照)がRAMクリア演出開始及びそれぞれの状態演出開始を指示するものである(例えば、電源投入時から予め定めた期間内に図6に示した操作スイッチ952が操作された時における演出の開始を指示したりするものである)ときにはゼロクリアされる。
バックアップ管理対象ワークエリア4150caは、後述する液晶及び音制御部4160の音源内蔵VDP4160aからのVブランク信号が入力されるごとに実行される周辺制御部定常処理において更新される各種情報である演出情報(1fr)をバックアップ対象として専用に記憶するBank0(1fr)と、後述する1msタイマ割り込みが発生するごとに実行される周辺制御部1msタイマ割り込み処理において更新される各種情報である演出情報(1ms)をバックアップ対象として専用に記憶するBank0(1ms)と、から構成されている。ここで、Bank0(1fr)及びBank0(1ms)の名称について簡単に説明すると、「Bank」とは、各種情報を記憶するための記憶領域の大きさを表す最小管理単位であり、「Bank」に続く0は、各種制御プログラムが実行されることにより更新される各種情報を記憶するための通常使用する記憶領域であることを意味している。つまり「Bank0」とは、通常使用する記憶領域の大きさを最小管理単位としているという意味である。そして、後述するバックアップ第1エリア4150cbからバックアップ第2エリア4150ccに亘るエリアに設けられる、「Bank1」、「Bank2」、「Bank3」、及び「Bank4」とは、「Bank0」と同一の記憶領域の大きさを有していることを意味している。「(1fr)」は、後述するように、音源内蔵VDP4160aが1画面分(1フレーム分)の描画データを遊技盤側液晶表示装置1900及び上皿側液晶表示装置244に出力すると、周辺制御MPU4150aからの画面データを受け入れることができる状態である旨を伝えるVブランク信号を周辺制御MPU4150aに出力するようになっているため、Vブランク信号が入力されるごとに、換言すると、1フレーム(1frame)ごとに周辺制御部定常処理が実行されるところから、「Bank0」、「Bank1」、「Bank2」、「Bank3」、及び「Bank4」にそれぞれ付記されている(演出情報(1fr)や後述する演出バックアップ情報(1fr)についても、同一の意味で用いる)。「(1ms)」は、後述するように、1msタイマ割り込みが発生するごとに周辺制御部1msタイマ割り込み処理が実行されるところから、「Bank0」、「Bank1」、「Bank2」、「Bank3」、及び「Bank4]にそれぞれ付記されている(演出情報(1ms)や後述する演出バックアップ情報(1ms)についても、同一の意味で用いる)。
Bank0(1fr)には、ランプ駆動基板側送信データ記憶領域4150caa、枠装飾駆動アンプ基板側LED用送信データ記憶領域4150cab、受信コマンド記憶領域4150cac、RTC情報取得記憶領域4150cad、及びスケジュールデータ記憶領域4150cae等が設けられている。ランプ駆動基板側送信データ記憶領域4150caaは、遊技盤4の各装飾基板に設けた複数のLEDへの点灯信号、点滅信号又は階調点灯信号を出力するための遊技盤側発光データSL−DATがセットされる記憶領域であり、枠装飾駆動アンプ基板側LED用送信データ記憶領域4150cabは、扉枠5の各装飾基板に設けた複数のLED等への点灯信号、点滅信号又は階調点灯信号を出力するための扉側発光データSTL−DATがセットされる記憶領域であり、受信コマンド記憶領域4150cacは、主制御基板4100から送信される各種コマンドを受信してその受信した各種コマンドがセットされる記憶領域であり、RTC情報取得記憶領域4150cadは、RTC制御部4165(後述するRTC4165aのRTC内蔵RAM4165aa)から取得した各種情報がセットされる記憶領域であり、スケジュールデータ記憶領域4150caeは、主制御基板4100(の主制御MPU4100a)から受信したコマンドに基づいて、この受信したコマンドと対応する各種スケジュールデータがセットされる記憶領域である。スケジュールデータ記憶領域4150caeには、周辺制御ROM4150bから各種制御データコピーエリア4150ceにコピーされた各種スケジュールデータが読み出されてセットされるものもあれば、周辺制御ROM4150bから各種スケジュールデータが直接読み出されてセットされるものもある。
Bank0(1ms)には、枠装飾駆動アンプ基板側モータ用送信データ記憶領域4150caf、モータ駆動基板側送信データ記憶領域4150cag、可動体情報取得記憶領域4150cah、操作ユニット情報取得記憶領域4150cai、及び履歴情報記憶領域4150caj等が設けられている。枠装飾駆動アンプ基板側モータ用送信データ記憶領域4150cafは、扉枠5に設けたダイヤル駆動モータ414等の電気的駆動源への駆動信号を出力するための扉側モータ駆動データSTM−DATがセットされる記憶領域であり、モータ駆動基板側送信データ記憶領域4150cagは、遊技盤4に設けた各種可動体を作動させるモータやソレノイド等の電気的駆動源への駆動信号を出力するための遊技盤側モータ駆動データSM−DATがセットされる記憶領域である。また、可動体情報取得記憶領域4150cahは、遊技盤4に設けた各種検出スイッチからの検出信号に基づいて遊技盤4に設けた各種可動体の原位置や可動位置等を取得した各種情報がセットされる記憶領域であり、操作ユニット情報取得記憶領域4150caiは、操作ユニット400に設けられた各種検出スイッチからの検出信号に基づいてダイヤル操作部401の回転(回転方向)及び押圧操作部405の操作等を取得した各種情報(例えば、操作ユニット400に設けられた各種検出スイッチからの検出信号に基づいて作成するダイヤル操作部401の回転(回転方向)履歴情報、及び押圧操作部405の操作履歴情報など。)がセットされる記憶領域である。一方、履歴情報記憶領域4150cajは、後述する表示履歴記憶領域の他にも、操作履歴記憶領域が形成されている。この操作履歴記憶領域には、タッチパネル246の操作面における規定の接触状態の一例として「規定の筆跡」に関する情報が予め記憶されている(演出制御記憶手段)。この規定の筆跡に関する情報としては、例えば、直線或いは曲線であって描画途中における筆圧の増減に伴う太さの変化及び描画速度の変化の少なくとも一方に関する情報を含んでいる。
なお、Bank0(1fr)のランプ駆動基板側送信データ記憶領域4150caa及び枠装飾駆動アンプ基板側LED用送信データ記憶領域4150cabと、Bank0(1ms)の枠装飾駆動アンプ基板側モータ用送信データ記憶領域4150caf及びモータ駆動基板側送信データ記憶領域4150cagとは、第1領域及び第2領域という2つの領域にそれぞれ分割されている。
ランプ駆動基板側送信データ記憶領域4150caaは、後述する周辺制御部定常処理が実行されると、ランプ駆動基板側送信データ記憶領域4150caaの第1領域に、遊技盤側発光データSL−DATがセットされ、次の周辺制御部定常処理が実行されると、ランプ駆動基板側送信データ記憶領域4150caaの第2領域に遊技盤側発光データSL−DATがセットされるようになっており、周辺制御部定常処理が実行されるごとに、ランプ駆動基板側送信データ記憶領域4150caaの第1領域、第2領域に遊技盤側発光データSL−DATが交互にセットされる。周辺制御部定常処理が実行され、例えば、今回の周辺制御部定常処理においてランプ駆動基板側送信データ記憶領域4150caaの第2領域に遊技盤側発光データSL−DATがセットされるときには、前回の周辺制御部定常処理が実行された際に、ランプ駆動基板側送信データ記憶領域4150caaの第1領域にセットした遊技盤側発光データSL−DATに基づいて処理を進行するようになっている。
枠装飾駆動アンプ基板側LED用送信データ記憶領域4150cabは、周辺制御部定常処理が実行されると、枠装飾駆動アンプ基板側LED用送信データ記憶領域4150cabの第1領域に、扉側発光データSTL−DATがセットされ、次の周辺制御部定常処理が実行されると、枠装飾駆動アンプ基板側LED用送信データ記憶領域4150cabの第2領域に扉側発光データSTL−DATがセットされるようになっており、周辺制御部定常処理が実行されるごとに、枠装飾駆動アンプ基板側LED用送信データ記憶領域4150cabの第1領域、第2領域に扉側発光データSTL−DATが交互にセットされる。周辺制御部定常処理が実行され、例えば、今回の周辺制御部定常処理において枠装飾駆動アンプ基板側LED用送信データ記憶領域4150cabの第2領域に扉側発光データSTL−DATがセットされるときには、前回の周辺制御部定常処理が実行された際に、枠装飾駆動アンプ基板側LED用送信データ記憶領域4150cabの第1領域にセットした扉側発光データSTL−DATに基づいて処理を進行するようになっている。
枠装飾駆動アンプ基板側モータ用送信データ記憶領域4150cafは、後述する周辺制御部1msタイマ割り込み処理が実行されると、枠装飾駆動アンプ基板側モータ用送信データ記憶領域4150cafの第1領域に、扉側モータ駆動データSTM−DATがセットされ、次の周辺制御部1msタイマ割り込み処理が実行されると、枠装飾駆動アンプ基板側モータ用送信データ記憶領域4150cafの第2領域に扉側モータ駆動データSTM−DATがセットされるようになっており、周辺制御部1msタイマ割り込み処理が実行されるごとに、枠装飾駆動アンプ基板側モータ用送信データ記憶領域4150cafの第1領域、第2領域に扉側モータ駆動データSTM−DATが交互にセットされる。周辺制御部1msタイマ割り込み処理が実行され、例えば、今回の周辺制御部1msタイマ割り込み処理において枠装飾駆動アンプ基板側モータ用送信データ記憶領域4150cafの第2領域に扉側モータ駆動データSTM−DATがセットされるときには、前回の周辺制御部1msタイマ割り込み処理が実行された際に、枠装飾駆動アンプ基板側モータ用送信データ記憶領域4150cafの第1領域にセットした扉側モータ駆動データSTM−DATに基づいて処理を進行するようになっている。
モータ駆動基板側送信データ記憶領域4150cagは、周辺制御部1msタイマ割り込み処理が実行されると、モータ駆動基板側送信データ記憶領域4150cagの第1領域に、遊技盤側モータ駆動データSM−DATがセットされ、次の周辺制御部1msタイマ割り込み処理が実行されると、モータ駆動基板側送信データ記憶領域4150cagの第2領域に遊技盤側モータ駆動データSM−DATがセットされるようになっており、周辺制御部1msタイマ割り込み処理が実行されるごとに、モータ駆動基板側送信データ記憶領域4150cagの第1領域、第2領域に遊技盤側モータ駆動データSM−DATが交互にセットされる。周辺制御部1msタイマ割り込み処理が実行され、例えば、今回の周辺制御部1msタイマ割り込み処理においてモータ駆動基板側送信データ記憶領域4150cagの第2領域に遊技盤側モータ駆動データSM−DATがセットされるときには、前回の周辺制御部1msタイマ割り込み処理が実行された際に、モータ駆動基板側送信データ記憶領域4150cagの第1領域にセットした遊技盤側モータ駆動データSM−DATに基づいて処理を進行するようになっている。
次に、バックアップ管理対象ワークエリア4150caに記憶されている各種情報である演出情報がコピーされたものを専用に記憶するバックアップ第1エリア4150cb及びバックアップ第2エリア4150ccについて説明する。バックアップ第1エリア4150cb及びバックアップ第2エリア4150ccは、2つのバンクを1ペアとする2ペアが1ページとして管理されている。通常使用する記憶領域であるBank0(1fr)に記憶される内容である演出情報(1fr)は、演出バックアップ情報(1fr)として、1フレーム(1frame)ごとに周辺制御部定常処理が実行されるごとに、バックアップ第1エリア4150cb及びバックアップ第2エリア4150ccに周辺制御DMAコントローラ4150acにより高速にコピーされるとともに、通常使用する記憶領域であるBank0(1ms)に記憶される内容である演出情報(1ms)は、演出バックアップ情報(1ms)として、1msタイマ割り込みが発生するごとに周辺制御部1msタイマ割り込み処理が実行されるごとに、バックアップ第1エリア4150cb及びバックアップ第2エリア4150ccに周辺制御DMAコントローラ4150acにより高速にコピーされる。1ページの整合性は、そのページを構成する2つのバンクの内容が一致しているか否かにより行う。
具体的には、バックアップ第1エリア4150cbは、Bank1(1fr)及びBank2(1fr)を1ペアとし、Bank1(1ms)及びBank2(1ms)を1ペアとする、計2ペアが1ページとして管理されている。通常使用する記憶領域であるBank0(1fr)に記憶される内容は、1フレーム(1frame)ごとに周辺制御部定常処理が実行されるごとに、Bank1(1fr)及びBank2(1fr)に周辺制御DMAコントローラ4150acにより高速にコピーされるとともに、通常使用する記憶領域であるBank0(1ms)に記憶される記憶は、1msタイマ割り込みが発生するごとに周辺制御部1msタイマ割り込み処理が実行されるごとに、Bank1(1ms)及びBank2(1ms)に周辺制御DMAコントローラ4150acにより高速にコピーされ、このページの整合性は、Bank1(1fr)及びBank2(1fr)の内容が一致しているか否かにより行うとともに、Bank1(1ms)及びBank2(1ms)の内容が一致しているか否かにより行う。
また、バックアップ第2エリア4150ccは、Bank3(1fr)及びBank4(1fr)を1ペアとし、Bank3(1ms)及びBank4(1ms)を1ペアとする、計2ペアが1ページとして管理されている。通常使用する記憶領域であるBank0(1fr)に記憶される内容は、1フレーム(1frame)ごとに周辺制御部定常処理が実行されるごとに、Bank3(1fr)及びBank4(1fr)に周辺制御DMAコントローラ4150acにより高速にコピーされるとともに、通常使用する記憶領域であるBank0(1ms)に記憶される記憶は、1msタイマ割り込みが発生するごとに周辺制御部1msタイマ割り込み処理が実行されるごとに、Bank3(1ms)及びBank4(1ms)に周辺制御DMAコントローラ4150acにより高速にコピーされ、このページの整合性は、Bank3(1fr)及びBank4(1fr)の内容が一致しているか否かにより行うとともに、Bank3(1ms)及びBank4(1ms)の内容が一致しているか否かにより行う。
このように、本実施形態では、バックアップ第1エリア4150cbは、Bank1(1fr)及びBank2(1fr)を1ペアとし、Bank1(1ms)及びBank2(1ms)を1ペアとする、計2ペアを1ページとして管理するためのエリアであり、バックアップ第2エリア4150ccは、Bank3(1fr)及びBank4(1fr)を1ペアとし、Bank3(1ms)及びBank4(1ms)を1ペアとする、計2ペアを1ページとして管理するためのエリアである。各ページの先頭と終端とには、つまりバックアップ第1エリア4150cb及びバックアップ第2エリア4150ccの先頭と終端とには、それぞれ異なるIDコートが記憶されるようになっている。
また、本実施形態では、通常使用する記憶領域であるBank0(1fr)に記憶される内容である演出情報(1fr)は、演出バックアップ情報(1fr)として、1フレーム(1frame)ごとに周辺制御部定常処理が実行されるごとに、バックアップ第1エリア4150cb及びバックアップ第2エリア4150ccに周辺制御DMAコントローラ4150acにより高速にコピーされるとともに、通常使用する記憶領域であるBank0(1ms)に記憶される内容である演出情報(1ms)は、演出バックアップ情報(1ms)として、1msタイマ割り込みが発生するごとに周辺制御部1msタイマ割り込み処理が実行されるごとに、バックアップ第1エリア4150cb及びバックアップ第2エリア4150ccに周辺制御DMAコントローラ4150acにより高速にコピーされるようになっているが、これらの周辺制御DMAコントローラ4150acによる高速コピーを実行するプログラムは共通化されている。つまり本実施形態では、演出情報(1fr)、演出情報(1ms)を、共通の管理手法(共通のプログラムの実行)で情報を管理している。
<周辺制御SRAM>
周辺制御MPU4150aに外付けされる周辺制御SRAM4150dは、各種制御プログラムが実行されることにより更新される各種情報のうち、バックアップ対象となっているものを専用に記憶するバックアップ管理対象ワークエリア4150daと、このバックアップ管理対象ワークエリア4150daに記憶されている各種情報がコピーされたものを専用に記憶するバックアップ第1エリア4150db及びバックアップ第2エリア4150dcと、が設けられている。なお、周辺制御SRAM4150dに記憶された内容は、パチンコ遊技機1の電源投入時(瞬停や停電による復電時も含む。)に主制御基板4100からの電源投入コマンド(図10を参照)がRAMクリア演出開始及びそれぞれの状態演出開始を指示するものである(例えば、電源投入時から予め定めた期間内に図6に示した操作スイッチ952が操作された時における演出の開始を指示したりするものである)ときにおいても、ゼロクリアされない。この点については、上述した周辺制御RAM4150cのバックアップ管理対象ワークエリア4150ca、バックアップ第1エリア4150cb、及びバックアップ第2エリア4150ccがゼロクリアされる点と、全く異なる。また、パチンコ遊技機1の電源投入後、所定時間内において、操作ユニット400のダイヤル操作部401や押圧操作部405を操作すると、設定モードを行うための画面が遊技盤側液晶表示装置1900に表示されるようになっている。この設定モードの画面に従って操作ユニット400のダイヤル操作部401や押圧操作部405を操作することで、周辺制御SRAM4150dに記憶されている内容(項目)ごとに(例えば、大当り遊技状態が発生した履歴など。)クリアすることができる一方、周辺制御RAM4150cに記憶されている内容(項目)については、全く表示されず、設定モードにおいてクリアすることができないようになっている。この点についても、周辺制御RAM4150cと周辺制御SRAM4150dとで全く異なる。
バックアップ管理対象ワークエリア4150daは、日をまたいで継続される各種情報である演出情報(SRAM)(例えば、大当り遊技状態が発生した履歴を管理するための情報や特別な演出フラグの管理するための情報など)をバックアップ対象として専用に記憶するBank0(SRAM)から構成されている。ここで、Bank0(SRAM)の名称について簡単に説明すると、「Bank」とは、上述したように、各種情報を記憶するための記憶領域の大きさを表す最小管理単位であり、「Bank」に続く0は、各種制御プログラムが実行されることにより更新される各種情報を記憶するための通常使用する記憶領域であることを意味している。つまり「Bank0」とは、通常使用する記憶領域の大きさを最小管理単位としているという意味である。そして、後述するバックアップ第1エリア4150dbからバックアップ第2エリア4150dcに亘るエリアに設けられる、「Bank1」、「Bank2」、「Bank3」、及び「Bank4」とは、「Bank0」と同一の記憶領域の大きさを有していることを意味している。「(SRAM)」は、周辺制御MPU4150aに外付けされる周辺制御SRAM4150dに記憶されている各種情報がバックアップ対象となっていることから、「Bank0」、「Bank1」、「Bank2」、「Bank3」、及び「Bank4]にそれぞれ付記されている(演出情報(SRAM)や後述する演出バックアップ情報(SRAM)についても、同一の意味で用いる)。
次に、バックアップ管理対象ワークエリア4150daに記憶されている各種情報である演出情報(SRAM)がコピーされたものを専用に記憶するバックアップ第1エリア4150db及びバックアップ第2エリア4150dcについて説明する。バックアップ第1エリア4150db及びバックアップ第2エリア4150dcは、2つのバンクを1ペアとする、この1ペアを1ページとして管理されている。通常使用する記憶領域であるBank0(SRAM)に記憶される内容である演出情報(SRAM)は、演出バックアップ情報(SRAM)として、1フレーム(1frame)ごとに周辺制御部定常処理が実行されるごとに、バックアップ第1エリア4150db及びバックアップ第2エリア4150dcに周辺制御DMAコントローラ4150acにより高速にコピーされる。1ページの整合性は、そのページを構成する2つのバンクの内容が一致しているか否かにより行う。
具体的には、バックアップ第1エリア4150dbは、Bank1(SRAM)及びBank2(SRAM)を1ペアとする、この1ペアが1ページとして管理されている。通常使用する記憶領域であるBank0(SRAM)に記憶される内容は、1フレーム(1frame)ごとに周辺制御部定常処理が実行されるごとに、Bank1(SRAM)及びBank2(SRAM)に周辺制御DMAコントローラ4150acにより高速にコピーされ、このページの整合性は、Bank1(SRAM)及びBank2(SRAM)の内容が一致しているか否かにより行う。
また、バックアップ第2エリア4150dcは、Bank3(SRAM)及びBank4(SRAM)を1ペアとする、この1ペアが1ページとして管理されている。通常使用する記憶領域であるBank0(SRAM)に記憶される内容は、1フレーム(1frame)ごとに周辺制御部定常処理が実行されるごとに、Bank3(SRAM)及びBank4(SRAM)に周辺制御DMAコントローラ4150acにより高速にコピーされ、このページの整合性は、Bank3(SRAM)及びBank4(SRAM)の内容が一致しているか否かにより行う。
このように、本実施形態では、バックアップ第1エリア4150dbは、Bank1(SRAM)及びBank2(SRAM)を1ペアとする、この1ペアを1ページとして管理するためのエリアであり、バックアップ第2エリア4150dcは、Bank3(SRAM)及びBank4(SRAM)を1ペアとする、この1ペアを1ページとして管理するためのエリアである。各ページの先頭と終端とには、つまりバックアップ第1エリア4150db及びバックアップ第2エリア4150dcの先頭と終端とには、それぞれ異なるIDコートが記憶されるようになっている。
[2−2−2.液晶及び音制御部]
遊技盤側液晶表示装置1900及び上皿側液晶表示装置244の描画制御と本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから流れる音楽や効果音等の音制御とを行う液晶及び音制御部4160は、音楽や効果音等の音制御を行うための音源が内蔵(以下、「内蔵音源」と記載する。)されるとともに遊技盤側液晶表示装置1900及び上皿側液晶表示装置244の描画制御を行う音源内蔵VDP(Video Display Processorの略)4160aと、遊技盤側液晶表示装置1900の表示領域(第1の表示領域)及び上皿側液晶表示装置244の表示領域(第2の表示領域)に表示される表示内容としての各種キャラクタデータ(やスプライト番号が付されたスプライトデータ)を記憶したり音楽や効果音等の各種音データを記憶する液晶及び音制御ROM4160b(演出情報記憶領域、演出情報記憶手段)と、シリアル化された音楽や効果音等をオーディオデータとして枠装飾駆動アンプ基板194に向かって送信するオーディオデータ送信IC4160cと、を備えている。
さらに、この液晶及び音制御ROM4160bには、後述する画面や画像の表示に用いるスプライトデータとして、例えばリング状表示物(環状の表示物)の表示に用いる環状画像データ、後述する操作メニュー背景画像の表示に用いる操作メニュー背景画像データ、後述する少なくとも1つの選択表示物の表示に用いる選択表示物画像データ、後述するボリュームスケールを含む音量調整画面の表示に用いる音調調整背景画像データ、後述する音量調整アイコンの表示に用いる音量設定アイコン画像データ等の他、遊技者から見て本体枠3の背面における各部位の位置が視認可能な本体枠背面画像の表示に用いる本体枠背面画像データ、サービスモード画面の表示に用いるサービスモード画面画像データ、休憩タイマ設定画面の表示に用いる休憩タイマ設定画面画像データ、及び、休憩中画面の表示に用いる休憩中画面画像データが格納されている。なお、液晶及び音制御ROM4160bは、上皿側液晶表示装置244の表示領域に表された表示ボタンを操作すべき旨を促すための後述する示唆表示物の表示に用いる示唆表示物画像データのみならず、タッチパネル246(接触型入力手段)の操作面を触れさせるよう促すために上皿側液晶表示装置244に表示させる後述する接触催促表示物の表示に用いる接触催促表示物データが記憶されている(データ格納手段)。
さらに、この液晶及び音制御ROM4160bには、遊技盤側液晶表示装置1900の表示領域(第1の表示領域)及び上皿側液晶表示装置244の表示領域(第2の表示領域)に表示サイズを変更させて共通画像を各々表示させるのに用いられるサイズ変換画像データが予め記憶されている(演出制御記憶手段)。
周辺制御部4150では、周辺制御MPU4150aが、主制御基板4100からのコマンドと対応する画面生成用スケジュールデータを、周辺制御部4150の周辺制御ROM4150b又は周辺制御RAM4150cの各種制御データコピーエリア4150ceから抽出して周辺制御RAM4150cのスケジュールデータ記憶領域に4150caeにセットする。この周辺制御MPU4150aは、このスケジュールデータ記憶領域4150caeにセットされた画面生成用スケジュールデータの先頭の画面データを、周辺制御部4150の周辺制御ROM4150b又は周辺制御RAM4150cの各種制御データコピーエリア4150ceから抽出して音源内蔵VDP4160aに出力した後に、後述するVブランク信号が入力されたことを契機として、スケジュールデータ記憶領域4150caeにセットされた画面生成用スケジュールデータに従って先頭の画面データに続く次の画面データを、周辺制御部4150の周辺制御ROM4150b又は周辺制御RAM4150cの各種制御データコピーエリア4150ceから抽出して音源内蔵VDP4160aに出力する。このように、周辺制御MPU4150aは、スケジュールデータ記憶領域4150caeにセットされた画面生成用スケジュールデータに従って、この画面生成用スケジュールデータに時系列に配列された画面データを、Vブランク信号が入力されるごとに、先頭の画面データから1つずつ音源内蔵VDP4160aに出力する。
また、周辺制御MPU4150aは、主制御基板4100からのコマンドと対応する音生成用スケジュールデータの先頭の音指令データを、周辺制御部4150の周辺制御ROM4150b又は周辺制御RAM4150cの各種制御データコピーエリア4150ceから抽出して周辺制御RAM4150cのスケジュールデータ記憶領域に4150caeにセットし、このスケジュールデータ記憶領域4150caeにセットされた音生成用スケジュールデータの先頭の音指令データを、周辺制御部4150の周辺制御ROM4150b又は周辺制御RAM4150cの各種制御データコピーエリア4150ceから抽出して音源内蔵VDP4160aに出力した後に、Vブランク信号が入力されたことを契機として、スケジュールデータ記憶領域4150caeにセットされた音生成用スケジュールデータに従って先頭の音指令データに続く次の音指令データを、周辺制御部4150の周辺制御ROM4150b又は周辺制御RAM4150cの各種制御データコピーエリア4150ceから抽出して音源内蔵VDP4160aに出力する。このように、周辺制御MPU4150aは、スケジュールデータ記憶領域4150caeにセットされた音生成用スケジュールデータに従って、この音生成用スケジュールデータに時系列に配列された音指令データを、Vブランク信号が入力されるごとに、先頭の音指令データから1つずつ音源内蔵VDP4160aに出力する。
<音源内蔵VDP>
音源内蔵VDP4160a(描画制御手段)は、上述した内蔵音源の他にも、データを一時的に記憶可能な内蔵RAMを備えている。このような内蔵RAMの一部として、音源内蔵VDP4160aは、スプライトデータなどの素材画像データを一時的に記憶可能であって繰り返し多数の素材画像データが上書きされる転送メモリとして後述する素材画像RAM(図示せず)を備えている。
さらに音源内蔵VDP4160aは、そのような内蔵RAMの一部として、周辺制御MPU4150aから画面生成用スケジュールデータに含まれる画面データが入力されると、この入力された画面データに基づいて、図9に示すように、液晶及び音制御ROM4160bから遊技盤側キャラクタデータ及び上皿側キャラクタデータをそれぞれ抽出して遊技盤側スプライトデータ及び上皿側スプライトデータ(以下、単に「スプライトデータ」という)を作成して遊技盤側液晶表示装置1900及び上皿側液晶表示装置244に表示するために各々生成された1画面分(1フレーム分)の描画データを記憶するともに、さらに映像加工用に1画面分(1フレーム分)の描画データを記憶するためのVRAMも内蔵している(以下、「内蔵VRAM」と記載する。)。音源内蔵VDP4160aは、内蔵VRAM(のフレームバファ)上に生成した描画データのうち、遊技盤側液晶表示装置1900に対する画像データをチャンネルCH1から遊技盤側液晶表示装置1900に出力するとともに、上皿側液晶表示装置244に対する画像データをチャンネルCH2から上皿側液晶表示装置244に出力することで、遊技盤側液晶表示装置1900と上皿側液晶表示装置244との同期化を図っている。このように、周辺制御MPU4150aが遊技盤側液晶表示装置1900及び上皿側液晶表示装置244に表示する1画面分(1フレーム分)の画面データを音源内蔵VDP4160aに出力すると、音源内蔵VDP4160aは、この入力された画面データに基づいて液晶及び音制御ROM4160bからキャラクタデータを抽出してスプライトデータを作成して遊技盤側液晶表示装置1900及び上皿側液晶表示装置244に表示する1画面分(1フレーム分)の描画データを内蔵VRAM上で生成し、この生成した描画データうち、遊技盤側液晶表示装置1900に対する画像データをチャンネルCH1から遊技盤側液晶表示装置1900に出力するとともに、上皿側液晶表示装置244に対する画像データをチャンネルCH2から上皿側液晶表示装置244に出力する。つまり、「1画面分(1フレーム分)の画面データ」とは、遊技盤側液晶表示装置1900及び上皿側液晶表示装置244に表示する1画面分(1フレーム分)の描画データを内蔵VRAM上で生成するためのデータのことである。なお、以下の説明では、液晶及び音制御ROM4160bからキャラクタデータを抽出して(読み出して)スプライトデータを作成することを、略して「液晶及び音制御ROM4160bからスプライトデータを読み出す」とも表現する。
また、音源内蔵VDP4160aは、1画面分(1フレーム分)の描画データを、チャンネルCH1から遊技盤側液晶表示装置1900に出力するとともに、上皿側液晶表示装置244に対する画像データをチャンネルCH2から上皿側液晶表示装置244に出力すると、周辺制御MPU4150aからの画面データを受け入れることができる状態である旨を伝えるVブランク信号を周辺制御MPU4150aに出力する。本実施形態では、遊技盤側液晶表示装置1900及び上皿側液晶表示装置244のフレーム周波数(1秒間あたりの画面更新回数)として概ね秒間30fpsに設定しているため、Vブランク信号が出力される間隔は、約33.3ms(=1000ms÷30fps)となっている。周辺制御MPU4150aは、このVブランク信号が入力されたことを契機として、後述する周辺制御部Vブランク信号割り込み処理を実行するようになっている。ここで、Vブランク信号が出力される間隔は、遊技盤側液晶表示装置1900及び上皿側液晶表示装置244の液晶サイズによって多少変化する。また、周辺制御MPU4150aと音源内蔵VDP4160aとが実装された周辺制御基板4140の製造ロットにおいてもVブランク信号が出力される間隔が多少変化する場合がある。
なお、音源内蔵VDP4160aは、フレームバッファ方式が採用されている。この「フレームバッファ方式」とは、遊技盤側液晶表示装置1900及び上皿側液晶表示装置244の画面に描画する1画面分(1フレーム分)の描画データをフレームバッファ(内蔵VRAM)に保持し、このフレームバッファに保持した1画面分(1フレーム分)の描画データを、遊技盤側液晶表示装置1900及び上皿側液晶表示装置244に出力する方式である。本実施形態では、いわゆるダブルバッファ方式を採用している。
また、音源内蔵VDP4160aは、主制御基板4100からのコマンドに基づいて周辺制御MPU4150aから上述した音指令データが入力されると、図9に示すように、液晶及び音制御ROM4160bに記憶されている音楽や効果音等の音データを抽出して内蔵音源を制御することにより、音指令データに規定された、トラック番号に従って音楽及び効果音等の音データをトラックに組み込むとともに、出力チャンネル番号に従って使用する出力チャンネルを設定して本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから流れる音楽や効果音等をシリアル化してオーディオデータとしてオーディオデータ送信IC4160cに出力する。
なお、音指令データには、音データを組み込むトラックの音量を調節するためのサブボリューム値も含まれており、音源内蔵VDP4160aの内蔵音源における複数のトラックには、音楽や効果音等の演出音の音データとその音量を調節するサブボリューム値の他に、パチンコ遊技機1の不具合の発生やパチンコ遊技機1に対する不正行為をホールの店員等に報知するための報知音の音データとその音量を調節するサブボリューム値が組み込まれる。具体的には、演出音に対しては、上述した、音量調整ボリューム4140aのつまみ部が回動操作されて調節された基板ボリュームがサブボリューム値として設定され、報知音に対しては、音量調整ボリューム4140aのつまみ部の回動操作に基づく音量調整に全く依存されず最大音量がサブボリューム値として設定されるようになっている。演出音のサブボリューム値は、操作ユニット400のダイヤル操作部401や押圧操作部405を操作することで後述する設定モードへ移行して調節する。
また、音指定データには、出力するチャンネルの音量を調節するためのマスターボリューム値も含まれており、音源内蔵VDP4160aの内蔵音源における複数の出力チャンネルには、音源内蔵VDP4160aの内蔵音源における複数のトラックうち、使用するトラックに組み込まれた演出音の音データと、使用するトラックに組み込まれた演出音の音量を調節するサブボリューム値と、を合成して、この合成した演出音の音量を、実際に、本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから流れる音量となるマスターボリューム値まで増幅し、この増幅した演出音をシリアル化してオーディオデータとしてオーディオデータ送信IC4160cに出力するようになっている。
本実施形態では、マスターボリューム値は一定値に設定されており、合成した演出音の音量が最大音量であるときに、マスターボリューム値まで増幅されることにより、本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから流れる音量が許容最大音量となるように設定されている。具体的には、演出音に対しては、複数のトラックのうち、使用するトラックに組み込まれた演出音の音データと、使用するトラックに組み込まれた演出音の音量を調節するサブボリューム値として設定された音量調整ボリューム4140aのつまみ部が回動操作されて調節された基板ボリュームと、を合成して、この合成した演出音の音量を、実際に、本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから流れる音量となるマスターボリューム値まで増幅し、この増幅した演出音をシリアル化してオーディオデータとしてオーディオデータ送信IC4160cに出力し、報知音に対しては、使用するトラックに組み込まれた報知音の音データと、使用するトラックに組み込まれた報知音の音量を調節するサブボリューム値として設定された音量調整ボリューム4140aのつまみ部の回動操作に基づく音量調整に全く依存されず最大音量と、を合成して、この合成した報知音の音量を、実際に、本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから流れる音量となるマスターボリューム値まで増幅し、この増幅した報知音をシリアル化してオーディオデータとしてオーディオデータ送信IC4160cに出力する。
ここで、演出音が本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから流れている場合に、パチンコ遊技機1の不具合の発生やパチンコ遊技機1に対する不正行為をホールの店員等に報知するため報知音を流す制御について簡単に説明すると、まず演出音が組み込まれているトラックのサブボリューム値を強制的に消音に設定し、この演出音が組み込まれたトラックの音データと、その消音に設定したサブボリューム値と、報知音が組み込まれたトラックの音データと、報知音の音量が最大音量に設定されたサブボリューム値と、を合成し、この合成した演出音の音量と報知音の音量とを、実際に、本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから流れる音量となるマスターボリューム値まで増幅し、この増幅した演出音及び報知音をシリアル化してオーディオデータとしてオーディオデータ送信IC4160cに出力する。
つまり、実際に、本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから流れる音は、最大音量の報知音だけが流れることとなる。このとき、演出音は消音となっているため、本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから流れないものの、演出音は、上述した音生成用スケジュールデータに従って進行している。本実施形態では、報知音は所定期間(例えば、90秒)だけ本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから流れるようになっており、この所定期間経過すると、これまで消音に強制的に設定された音生成用スケジュールデータに従って進行している演出音の音量が、音量調整ボリューム4140aのつまみ部が回動操作されて調節された基板ボリュームがサブボリューム値として再び設定され(このとき、表示ボタンを操作することで設定モードへ移行して調節されている場合には、その調節された演出音のサブボリューム値に設定され)、本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから流れるようになっている。
このように、演出音が本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから流れている場合に、パチンコ遊技機1の不具合の発生やパチンコ遊技機1に対する不正行為をホールの店員等に報知するため報知音が流れるときには、演出音の音量が消音になって報知音が本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから流れるものの、この消音となった演出音は、音生成用スケジュールデータに従って進行しているため、報知音が所定期間経過して本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから流れなくなると、演出音は、報知音が流れ始めたところから再び流れ始めるのではなく、報知音が流れ始めて所定期間経過した時点まで音生成用スケジュールデータに従って進行したところから再び流れ始めるようになっている。
<液晶及び音制御ROM>
液晶及び音制御ROM4160bは、図9に示すように、遊技盤側液晶表示装置1900の表示領域に描画するための遊技盤側キャラクタデータと、上皿側液晶表示装置244の表示領域に描画するための上皿側キャラクタデータと、が予め記憶されるとともに、音楽、効果音、報知音、及び告知音等の各種の音データも予め記憶されている。
<オーディオデータ送信IC>
オーディオデータ送信IC4160cは、音源内蔵VDP4160aからのシリアル化したオーディオデータが入力されると、右側オーディオデータをプラス信号、マイナス信号とする差分方式のシリアルデータとして枠装飾駆動アンプ基板194に向かって送信するとともに、左側オーディオデータをプラス信号、マイナス信号とする差分方式のシリアルデータとして枠装飾駆動アンプ基板194に向かって送信する。これにより、本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから各種演出に合わせた音楽や効果音等がステレオ再生されるようになっている。
なお、オーディオデータ送信IC4160cは、周辺制御基板4140から枠装飾駆動アンプ基板194に亘る基板間を、左右それぞれ差分方式のシリアルデータとしてオーディオデータを出力することにより、例えば、左側オーディオデータのプラス信号、マイナス信号にノイズの影響を受けても、プラス信号に乗ったノイズ成分と、マイナス信号に乗ったノイズ成分と、を枠装飾駆動アンプ基板194で合成して1つの左側オーディオデータにする際に、互いにキャンセルし合ってノイズ成分が除去されるようになっているため、ノイズ対策を講じることができる。
[2−2−3.RTC制御部]
年月日を特定するカレンダー情報と時分秒を特定する時刻情報とを保持するRTC制御部4165は、図7に示すように、RTC4165aを中心として構成されている。このRTC4165aには、カレンダー情報と時刻情報とが保持されるRAM4165aa(計時記憶部)が内蔵(以下、「RTC内蔵RAM4165aa」と記載する。)されている。RTC4165aは、駆動用電源及びRTC内蔵RAM4165aaのバックアップ用電源(第2の電源)として電池4165b(本実施形態では、ボタン電池を採用している。)から電力が供給されるようになっている。つまりRTC4165aは、周辺制御基板4140(パチンコ遊技機1)からの電力が全く供給されずに、周辺制御基板4140(パチンコ遊技機1)と独立して電池4165bから電力が供給されている。これにより、RTC4165aは、パチンコ遊技機1の電力が遮断されても、電池4165bからの電力供給により、カレンダー情報や時刻情報を更新保持する。なお、電池4165bは、電力(第1の電力)を供給する主電源(第1の電源)とは別に、後述する停電予告信号の受け取りを契機として電力(第2の電力)を供給する一方、主電源による電力の供給が開始されたことを契機として電力(第2の電力)の供給を停止する形態であっても良く、このような電源形態である場合、RTC4165aは、主電源又は電池4165bから電力が供給される。
[2−2−4.音量調整ボリューム]
音量調整ボリューム4140aは、上述したように、本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから流れる音楽や効果音等の音量を、つまみ部を回動操作することにより調節する。音量調整ボリューム4140aは、上述したように、そのつまみ部が回動操作されることにより抵抗値が可変するようになっており、電気的に接続された周辺制御A/Dコンバータ4150akがつまみ部の回転位置における抵抗値により分圧された電圧を、アナログ値からデジタル値に変換して、値0〜値1023までの1024段階の値に変換している。本実施形態では、上述したように、1024段階の値を7つに分割して基板ボリューム0〜6として管理している。基板ボリューム0では消音、基板ボリューム6では最大音量に設定されており、基板ボリューム0から基板ボリューム6に向かって音量が大きくなるようにそれぞれ設定されている。基板ボリューム0〜6に設定された音量となるように液晶及び音制御部4160(音源内蔵VDP4160a)を制御して本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから音楽や効果音が流れるようになっている。
[3.主制御基板から送信される各種コマンド]
次に、主制御基板4100から他の制御基板に送信される各種コマンドについて説明する。主制御基板4100から各種コマンドが送信される制御基板には、例えば、遊技球の払出制御を行う払出制御基板4110や遊技の演出を行う周辺制御基板4140などがある。ここでは、主制御基板4100から周辺制御基板4140に送信される各種コマンドについて図10及び図11を参照しながら説明する。
図10は主制御基板から周辺制御基板へ送信される各種コマンドの一例を示すテーブルであり、図11は図10の主制御基板から周辺制御基板へ送信される各種コマンドのつづきを示すテーブルである。
主制御基板4100の主制御MPU4100aは、遊技の進行に基づいて周辺制御基板4140に各種コマンドを送信する。各種コマンドは、図10及び図11に示すように、特図1同調演出関連、特図2同調演出関連、大当り関連、電源投入、普図同調演出関連、普通電役演出関連、報知表示、状態表示、テスト関連、及びその他に区分されている。これらの各種コマンドは、2バイト(16ビット)の記憶容量を有するコマンドであり、図10及び図11に示すように、1バイト(8ビット)の記憶容量を有するとともにコマンドの種類を示すステータス(STTS値)と、1バイト(8ビット)の記憶容量を有するとともに演出のバリエーションを示すモード(MODE値)と、から構成されている。
これらステータス(STTS値)及びモード(MODE値)には、主制御内蔵RAMの送信情報記憶領域に確保された複数の送信情報記憶領域(以下「RWM」ともいう)の値が使用される。つまり、各コマンド8ビットのうち、例えば上位3ビットは第一送信情報記憶領域(RWM1)の値を用いる一方、下位5ビットは第二送信情報記憶領域(RWM2)の値を用いるようにする。このようにすると、周辺制御基板4140では、周辺制御MPU4150aが、主制御基板4100から送信されるコマンドを受信すると、このコマンドをビット単位で分解してステータスやモードを把握できるようになる。
[3−1.特図1同調演出関連]
特図1同調演出関連は、図6に示した第一始動口スイッチ3022からの検出信号に基づくものであり、その区分には、図10に示すように、図6に示した機能表示基板1191の第一特別図柄表示器1185に関する、特図1同調演出開始、特別図柄1指定、特図1同調演出終了、及び変動時状態指定という名称のコマンドから構成されている。これらの各種コマンドには、ステータスとして「A*H」、モードとして「**H」(「H」は16進数を表す。)が割り振られている(「*」は、特定の16進数であることを示し、パチンコ遊技機1の仕様内容によって予め定められたものである)。
特図1同調演出開始コマンドは、モードで指定された演出パターンで特図同調演出開始を指示するためのコマンドであり、特別図柄1指定コマンドは、はずれ、特定大当り、非特定大当りを指定するためのコマンドである。特図1同調演出終了コマンドは、特図1同調演出終了を指示するためのコマンドであり、変動時状態指定コマンドは、確率及び時短状態の少なくとも一方への移行を指示するためのコマンドである。
これらの各種コマンドの送信タイミングとしては、特図1同調演出開始コマンドは、特別図柄1変動開始時に送信され、特別図柄1指定コマンドは、特図1同調演出開始の直後に送信され、特図1同調演出終了コマンドは、特別図柄1変動時間経過時(特別図柄1確定時)に送信され、変動時状態指定コマンドは、特図当落情報指定の直後に送信される。なお、これらの各種コマンドは、実際には後述する主制御側タイマ割り込み処理における周辺制御基板コマンド送信処理(ステップS92)で送信される(コマンド送信手段)。
[3−2.特図2同調演出関連]
特図2同調演出関連は、図6に示した第二始動口スイッチ2109からの検出信号に基づくものであり、その区分には、図10に示すように、図6に示した機能表示基板1191の第二特別図柄表示器1186に関する、特図2同調演出開始、特別図柄2指定、及び特図2同調演出終了という名称のコマンドから構成されている。これらの各種コマンドには、ステータスとして「B*H」、モードとして「**H」(「H」は16進数を表す。)が割り振られている(「*」は、特定の16進数であることを示し、パチンコ遊技機1の仕様内容によって予め定められたものである)。
特図2同調演出開始コマンドは、モードで指定された演出パターンで特図同調演出開始を指示するものであり、特別図柄2指定コマンドは、はずれ、特定大当り、非特定大当りを指定するものであり、特図2同調演出終了は、特図2同調演出終了を指示するものである。
これらの各種コマンドの送信タイミングとして、特図2同調演出開始コマンドは、特別図柄2変動開始時に送信され、特別図柄2指定コマンドは、特図2同調演出開始の直後に送信され、特図2同調演出終了コマンドは、特別図柄2変動時間経過時(特別図柄2確定時)に送信される。なお、これらの各種コマンドは、実際には主制御側タイマ割り込み処理におけるステップS92の周辺制御基板コマンド送信処理で送信される。
[3−3.大当り関連]
大当り関連という区分には、図10に示すように、大当りオープニング、大入賞口1開放N回目表示、大入賞口1閉鎖表示、大入賞口1カウント表示、大当りエンディング、大当り図柄表示、小当りオープニング、小当り開放表示、小当りカウント表示、及び小当りエンディングという名称のコマンドから構成されている。これらの各種コマンドには、ステータスとして「C*H」、モードとして「**H」(「H」は16進数を表す。)が割り振られている(「*」は、特定の16進数であることを示し、パチンコ遊技機1の仕様内容によって予め定められたものである)。
大当りオープニングコマンドは、大当りオープニング開始を指示するものであり、大入賞口1開放N回目表示コマンドは、1〜16ラウンド目の大入賞口1開放中開始(、アタッカユニット2100の大入賞口2103のN回目のラウンドの開放中又は開放開始)を指示するものであり、大入賞口1閉鎖表示コマンドは、ラウンド間の大入賞口1閉鎖中開始(アタッカユニット2100の大入賞口2103のラウンド間の閉鎖中又は閉鎖開始)を指示するものであり、大入賞口1カウント表示コマンドは、カウント0〜10個をカウントした旨(図6に示したカウントスイッチ2110によって検出された、大入賞口2103に入球した遊技球の球数)を伝えるものであり、大当りエンディングコマンドは、大当りエンディング開始を指示するものであり、大当り図柄表示コマンドは、大当り図柄情報表示を指示するものである。
また、小当りオープニングコマンドは、小当りオープニング開始を指示するものであり、小当り開放表示コマンドは、小当り開放中開始(小当り時における、アタッカユニット2100の大入賞口2103の開放中又は開放開始)を指示するものであり、小当りカウント表示コマンドは、小当り中大入賞口入賞演出(小当り中における、大入賞口2103に入球した遊技球がカウントスイッチ2110によって検出された場合における演出)を指示するものであり、小当りエンディングコマンドは、小当りエンディング開始を指示するものである。
これらの各種コマンドの送信タイミングとして、大当りオープニングコマンドは、大当りオープニング開始時に送信され、大入賞口1開放N回目表示コマンドは、1〜16ラウンド目の大入賞口1開放時(アタッカユニット2100の大入賞口2103のN回目のラウンドの開放時)に送信され、大入賞口1閉鎖表示コマンドは、大入賞口1閉鎖時(アタッカユニット2100の大入賞口2103の閉鎖開始時)に送信され、大入賞口1カウント表示コマンドは、大入賞口1開放時及び大入賞口1へのカウント変化時(アタッカユニット2100の大入賞口2103の開放時、及び大入賞口2103に入球した遊技球がカウントスイッチ2110によって検出された時)に送信され、大当りエンディングコマンドは、大当りエンディング開始時に送信され、大当り図柄表示コマンドは、大入賞口開放時(アタッカユニット2100の大入賞口2103の開放時)に送信される。
また、小当りオープニングコマンドは、小当りオープニング開始時に送信され、小当り開放表示コマンドは、小当り開放時(小当り時における、アタッカユニット2100の大入賞口2103の開放時)に送信され、小当りカウント表示コマンドは、小当り中大入賞口入賞時(小当り中における、大入賞口2103に入球した遊技球がカウントスイッチ2110によって検出された時)に送信され、小当りエンディングコマンドは、小当りエンディング開始時に送信される。なお、これらの各種コマンドは、実際には主制御側タイマ割り込み処理におけるステップS92の周辺制御基板コマンド送信処理で送信される。
[3−4.電源投入]
電源投入という区分には、図10に示すように、電源投入という名称の各種コマンドから構成されている。この電源投入コマンドには、ステータスとして「D*H」、モードとして「**H」(「H」は16進数を表す。)が割り振られている(「*」は、特定の16進数であることを示し、パチンコ遊技機1の仕様内容によって予め定められたものである)。
電源投入コマンドは、RAMクリア演出開始及びそれぞれの状態演出開始を指示するものである(例えば、電源投入時に払出制御基板4110の操作スイッチ952が操作された時における演出の開始を指示したりするものである)。
電源投入コマンドの送信タイミングとして、主制御基板電源投入時RAMクリア及びRAMクリア以外の時に送信される。具体的には、パチンコ遊技機1の電源投入時、停電又は瞬停から復帰するときであって、払出制御基板4110の操作スイッチ952が操作されたときに、後述する主制御側電源投入時処理が実行されて主制御側タイマ割り込み処理におけるステップS92の周辺制御基板コマンド送信処理で電源投入コマンドが送信される。
[3−5.普図同調演出関連]
普図同調演出関連は、図6に示したゲートスイッチ2301からの検出信号に基づくものであり、その区分には、図10に示すように、図6に示した機能表示基板1191の普通図柄表示器1189に関する、普図同調演出開始、普図柄指定、普図同調演出終了、及び変動時状態指定という名称のコマンドから構成されている。これらの各種コマンドには、ステータスとして「E*H」、モードとして「**H」(「H」は16進数を表す。)が割り振られている(「*」は、特定の16進数であることを示し、パチンコ遊技機1の仕様内容によって予め定められたものである)。
普図同調演出開始コマンドは、モードで指定された演出パターンで普図同調演出開始を指示するものであり、普図柄指定コマンドは、はずれ、特定大当り、非特定大当りを指定するものであり、普図同調演出終了コマンドは、普図同調演出終了を指示するものであり、変動時状態指定コマンドは、確率及び時短状態を指示するものである。
これらの各種コマンドの送信タイミングとして、普図同調演出開始コマンドは、普通図柄1変動開始時に送信され、普図柄指定コマンドは、普図同調演出開始の直後に送信され、普図同調演出終了コマンドは、普通図柄変動時間経過時(普通図柄確定時)に送信され、変動時状態指定コマンドは、普図当落情報指定の直後に送信される。なお、これらの各種コマンドは、実際には主制御側タイマ割り込み処理におけるステップS92の周辺制御基板コマンド送信処理で送信される。
[3−6.普通電役演出関連]
普通電役演出関連は、始動口ソレノイド2105の駆動により開閉される一対の可動片2106に関するものであり、その区分には、図10に示すように、普図当りオープニング、普電開放表示、及び普図当りエンディングという名称のコマンドから構成されている。これらの各種コマンドには、ステータスとして「F*H」、モードとして「**H」(「H」は16進数を表す。)が割り振られている(「*」は、特定の16進数であることを示し、パチンコ遊技機1の仕様内容によって予め定められたものである)。
普図当りオープニングコマンドは、普図当りオープニング開始を指示するものであり、普電開放表示コマンドは、普電開放中開始(一対の可動片2106が始動口ソレノイド2105の駆動により左右方向へ拡開した状態、又は拡開する時)を指示するものであり、普図当りエンディングコマンドは、普図当りエンディング開始を指示するものである。
これらの各種コマンドの送信タイミングとして、普図当りオープニングコマンドは、普図当りオープニング開始時に送信され、普電開放表示コマンドは、普電開放時(一対の可動片2106が始動口ソレノイド2105の駆動により左右方向へ拡開する時)に送信され、普図当りエンディングコマンドは、普図当りエンディング開始時に送信される。なお、これらの各種コマンドは、実際には主制御側タイマ割り込み処理におけるステップS92の周辺制御基板コマンド送信処理で送信される。
[3−7.報知表示]
報知表示の区分には、図11に示すように、入賞異常表示、接続異常表示、断線・短絡異常表示、磁気検出スイッチ異常表示、扉開放、及び扉閉鎖という名称のコマンドから構成されている。これらの各種コマンドには、ステータスとして「6*H」、モードとして「**H」(「H」は16進数を表す。)が割り振られている(「*」は、特定の16進数であることを示し、パチンコ遊技機1の仕様内容によって予め定められたものである)。
入賞異常表示コマンドは、大当り中(条件装置作動中)以外に大入賞口2103に入球した時(大当り中でもないのに、アタッカユニット2100の大入賞口2103に遊技球が入球してその遊技球をカウントスイッチ2110が検出した時)に、入賞異常報知の開始を指示するものである。接続異常表示コマンドは、例えば、主制御基板4100と払出制御基板4110との基板間に亘る経路において電気的な接続異常がある場合に接続異常報知の開始を指示するものであり、断線・短絡異常表示コマンドは、例えば、主制御基板4100と、第一始動口スイッチ3022、第二始動口スイッチ2109、カウントスイッチ2110等のいずれかとの電気的な接続の断線・短絡が生じた場合に断線・短絡異常表示の開始を指示するものであり、磁気検出スイッチ異常表示コマンドは、磁気検出スイッチ3024に異常が生じた場合に磁気検出スイッチ異常報知の開始を指示するものである。
また、扉枠開放コマンドは、払出制御基板4110を介して入力される扉枠開放スイッチ618からの検出信号(開放信号)に基づいて、扉枠5が本体枠3に対して開放された状態である場合に、扉開放報知を指示するものであり、扉枠閉鎖コマンドは、その扉枠開放スイッチ618からの検出信号に基づいて、扉枠5が本体枠3に対して閉鎖された状態である場合に扉開放報知終了を指示するものである。一方、本体枠開放コマンドは、払出制御基板4110を介して入力される本体枠開放スイッチ619からの検出信号(開放信号)に基づいて、本体枠3が外枠2に対して開放された状態である場合に、本体枠開放報知を指示するものであり、本体枠閉鎖コマンドは、その本体枠開放スイッチ619からの検出信号に基づいて、本体枠3が外枠2に対して閉鎖された状態である場合に本体枠開放報知終了を指示するものである。
これらの各種コマンドの送信タイミングとして、入賞異常表示コマンドは、大当り中(条件装置作動中)以外に大入賞口に入賞した時に送信され、接続異常表示コマンドは、主制御基板4100から払出制御基板4110へのコマンド送信時に払出制御基板4110からのACK返信(ACK信号)がなかった時に送信され、断線・短絡異常表示コマンドは、第一始動口スイッチ3022、第二始動口スイッチ2109、カウントスイッチ2110等のうち、いずれが断線又は短絡状態となった時に送信され、磁気検出スイッチ異常表示コマンドは、磁気検出スイッチ3024の異常を検知した時に送信される。また、扉枠開放コマンドは、扉開放を検知した時(扉枠開放スイッチ618からの検出信号に基づいて、扉枠5が本体枠3に対して開放された状態である場合)に送信され、扉枠閉鎖コマンドは、扉閉鎖を検知した時(扉枠開放スイッチ618からの検出信号に基づいて、扉枠5が本体枠3に対して閉鎖された状態である場合)に送信される。本体枠開放コマンドは、本体枠開放を検知した時(本体枠開放スイッチ619からの検出信号に基づいて、本体枠3が外枠2に対して開放された状態である場合)に送信され、本体枠閉鎖コマンドは、本体枠閉鎖を検知した時(本体枠開放スイッチ619からの検出信号に基づいて、本体枠3が外枠2に対して閉鎖された状態である場合)に送信される。なお、これらの各種コマンドは、実際には主制御側タイマ割り込み処理におけるステップS92の周辺制御基板コマンド送信処理で送信される。
[3−8.状態表示]
状態表示の区分には、図11に示すように、枠状態1コマンド(エラー発生コマンドに相当)、エラー解除ナビコマンド(エラー解除コマンドに相当)及び枠状態2コマンドという名称のコマンドから構成されている。これらの各種コマンドには、ステータスとして「7*H」、モードとして「**H」(「H」は16進数を表す。)が割り振られている(「*」は、特定の16進数であることを示し、パチンコ遊技機1の仕様内容によって予め定められたものである)。
枠状態1コマンド、エラー解除ナビコマンド及び枠状態2コマンドは、それぞれ、払出制御基板4110から送信された1バイト(8ビット)の記憶容量を有するコマンドであり、これらの詳細な説明は、後述する。なお、主制御基板4100の主制御MPU4100aは、払出制御基板4110からの枠状態1コマンド、エラー解除ナビコマンド、及び枠状態2コマンドを受信すると、図11に示すように、「7*H」をステータスとして設定するとともに、その受信したコマンドをそのままモードとして設定する。つまり、主制御MPU4100aは、払出制御基板4110からの枠状態1コマンド、エラー解除ナビコマンド、及び枠状態2コマンドを受信すると、これら受信したコマンドに付加情報である「7*H」を付加することにより、2バイト(16ビット)の記憶容量を有するコマンドに整形する。
整形された、枠状態1コマンドは、電源復旧時、枠状態の変化時、及びエラー解除ナビ時に送信され、エラー解除ナビコマンドは、エラー解除ナビ時に送信され、枠状態2コマンドは、電源復旧時、及び枠状態の変化時に送信される。なお、これら整形された、枠状態1コマンド、エラー解除ナビコマンド、及び枠状態2コマンドは、実際には主制御側タイマ割り込み処理におけるステップS92の周辺制御基板コマンド送信処理で送信される。
[3−9.テスト関連]
テスト関連の区分には、図11に示すように、テストという名称の各種コマンドから構成されている。このテストコマンドには、ステータスとして「8*H」、モードとして「**H」(「H」は16進数を表す。)が割り振られている(「*」は、特定の16進数であることを示し、パチンコ遊技機1の仕様内容によって予め定められたものである)。
テストコマンドは、主制御基板4100から周辺制御基板4140に対して送信されるコマンドであって周辺制御基板4140の各種検査を指示するものである。このようなテストコマンドとしては、例えば、図7に示した、周辺制御部4150、液晶及び音制御部4160、ランプ駆動基板4170、モータ駆動基板4180、及び枠装飾駆動アンプ基板194等の各種基板の検査を行うコマンドを挙げることができる。
この主制御基板4100では、ハードウェア側の都合によりテストコマンド用のポートをその都度逐一割り当てるためハードウェア側で管理しにくい態様の代わりに、ソフトウェア側で管理しやすくするために、テストコマンド用のポートとして、ソフトウェアのタイマで管理できるものについては複数のポートのうちの所定のポートに割り付ける一方、フラグで管理できるものについては特定のポートに割り付けるようにしている。
テストコマンドの送信タイミングとして、主制御基板電源投入時RAMクリア及びRAMクリア以外の時に送信される。具体的には、パチンコ遊技機1の電源投入時、停電又は瞬停から復帰するときであって、払出制御基板4110の操作スイッチ952が操作されたときに、後述する主制御側電源投入時処理が実行されて主制御側タイマ割り込み処理におけるステップS92の周辺制御基板コマンド送信処理でテストコマンドが送信される。
[3−10.その他]
その他の区分には、図11に示すように、始動口入賞、変動短縮作動終了指定、高確率終了指定、特別図柄1記憶、特別図柄2記憶、普通図柄記憶、特別図柄1記憶先読み演出、及び特別図柄2記憶先読み演出という名称のコマンドが含まれている。これらの各種コマンドには、ステータスとして「9*H」、モードとして「**H」(「H」は16進数を表す。)が割り振られている(「*」は、特定の16進数であることを示し、パチンコ遊技機1の仕様内容によって予め定められたものである)。
始動口入賞コマンドは、始動口入賞演出開始を指示するものであって、第一始動口スイッチ3022からの検出信号に基づいて第一始動口2101に遊技球が入球した場合における演出の開始と、第二始動口スイッチ2109からの検出信号に基づいて第二始動口2102に遊技球が入球した場合における演出の開始と、をそれぞれ指示するものであり、変動短縮作動終了指定コマンドは、変動短縮作動状態から変動短縮非作動状態への状態移行を指示するものであり、高確率終了指定コマンドは、高確率状態(後述する確率変動状態に相当)から低確率状態(後述する通常遊技状態などに相当)への状態移行を指示するものであり、特別図柄1記憶コマンド(特別図柄記憶コマンド)は、特別図柄1保留0〜4個(第一始動口2101に遊技球が入球して機能表示基板1191の第一特別図柄表示器1185で特別図柄の変動表示に未だ使用されていない球数(保留数))を伝えるものであり、特別図柄2記憶コマンド(特別図柄記憶コマンド)は、特別図柄2保留0〜4個(第二始動口2102に遊技球が入球して機能表示基板1191の第二特別図柄表示器1186で特別図柄の変動表示に未だ使用されていない球数(保留数))を伝えるものであり、普通図柄記憶コマンドは、普通図柄1保留0〜4個(ゲート部2350を遊技球が通過して機能表示基板1191の普通図柄表示器1189で普通図柄の変動表示に未だ使用されていない球数(保留数))を伝えるものであり、特別図柄1記憶先読み演出コマンド(先行判定指示コマンド)は、特別図柄1保留が機能表示基板1191の第一特別図柄表示器1185で特別図柄の変動表示に使用される前に、先読みしてその特別図柄1保留に基づく第一特別図柄表示器1185による表示結果の予告を報知する先読み演出開始を指示するものであり、特別図柄2記憶先読み演出コマンド(先行判定指示コマンド)は、特別図柄2保留が機能表示基板1191の第二特別図柄表示器1186で特別図柄の変動表示に使用される前に、先読みしてその特別図柄2保留に基づく第二特別図柄表示器1186による表示結果の予告を報知する先読み演出開始を指示するものである。なお、本実施形態では、これら特別図柄1記憶先読み演出コマンド及び特別図柄2記憶先読み演出コマンドを総称して「特別図柄記憶先読み演出コマンド」とも呼んでいる。
これらの各種コマンドの送信タイミングとして、始動口入賞コマンドは、始動口入賞時(第一始動口スイッチ3022からの検出信号に基づいて第一始動口2101に遊技球が入球した時や、第二始動口スイッチ2109からの検出信号に基づいて第二始動口2102に遊技球が入球した時)に、図5に示した本体枠3に設けたスピーカボックス920に収容されるスピーカー及び図2に示した扉枠5に設けたスピーカーから主に音声でその旨を報知するために送信され、変動短縮作動終了指定コマンドは、規定回数の変動短縮を消化した変動確定後の停止期間終了時(はずれ停止期間経過後)に送信され、高確率終了指定コマンドは、「高確率N回」の場合の高確率回数を消化した変動確定後の停止期間終了時(はずれ停止期間経過後)に送信され、特別図柄1記憶コマンドは、特別図柄1作動保留球数変化時(第一始動口2101に遊技球が入球して機能表示基板1191の第一特別図柄表示器1185で特別図柄の変動表示に未だ使用されていない保留数がある状態において、さらに第一始動口2101に遊技球が入球して保留数が増加した時や、その保留数から第一特別図柄表示器1185で特別図柄の変動表示に使用してその保留数が減少した時)に送信され、特別図柄2記憶コマンドは、特別図柄2作動保留球数変化時(第二始動口2102に遊技球が入球して機能表示基板1191の第二特別図柄表示器1186で特別図柄の変動表示に未だ使用されていない保留数がある状態において、さらに第二始動口2102に遊技球が入球して保留数が増加した時や、その保留数から第二特別図柄表示器1186で特別図柄の変動表示に使用してその保留数が減少した時)に送信され、普通図柄記憶コマンドは、普通図柄1作動保留球数変化時(ゲート部2350を遊技球が通過して機能表示基板1191の普通図柄表示器1189で普通図柄の変動表示に未だ使用されていない保留数がある状態において、さらにゲート部2350を遊技球が通過して保留数が増加した時や、その保留数から普通図柄表示器1189で普通図柄の変動表示に使用してその保留数が減少した時)に送信され、特別図柄1記憶先読み演出コマンドは、特別図柄1作動保留球数増加時(第一始動口2101に遊技球が入球して保留数が増加した時)に送信され、特別図柄2記憶先読み演出コマンドは、特別図柄2作動保留球数増加時(第二始動口2102に遊技球が入球して保留数が増加した時)に送信される。なお、これらの各種コマンドは、実際には主制御側タイマ割り込み処理におけるステップS92の周辺制御基板コマンド送信処理で送信される。
ところで、始動口入賞コマンドは、上述したように、始動口入賞時(第一始動口スイッチ3022からの検出信号に基づいて第一始動口2101に遊技球が入球した時や、第二始動口スイッチ2109からの検出信号に基づいて第二始動口2102に遊技球が入球した時)に、本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから主に音声でその旨を報知するために送信されるが、図7に示した周辺制御基板4140が始動口入賞コマンドをどのように利用するかについては、パチンコ遊技機の仕様によって異なる場合もある。例えば、本実施形態におけるパチンコ遊技機1では、本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから音声で報知する他に、不正行為の有無を監視するためにも利用するという仕様のものである。これに対して、他のパチンコ遊技機では、周辺制御基板4140が始動口入賞コマンドを単に受信するだけで、本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから音声で報知しない仕様のものもある。
[4.主制御基板の各種制御処理]
次に、パチンコ遊技機1の遊技の進行に応じて、主制御基板4100が行う各種制御処理について、図12〜図16を参照して説明する。図12は主制御側電源投入時処理の一例を示すフローチャートであり、図13は図12の主制御側電源投入時処理のつづきを示すフローチャートであり、図14は主制御側タイマ割り込み処理の一例を示すフローチャートである。まず、遊技制御に用いられる各種乱数について説明し、続いて初期値更新型のカウンタの動き、主制御側電源投入時処理、主制御側タイマ割り込み処理について説明する。
[4−1.各種乱数]
遊技制御に用いられる各種乱数として、大当り遊技状態又は小当り遊技状態を発生させるか否かの決定に用いるための大当り判定用乱数と、この大当り判定用乱数の初期値の決定に用いるための大当り判定用初期値決定用乱数と、大当り遊技状態を発生させないときにリーチ(リーチはずれ)を発生させるか否かの決定に用いるためのリーチ判定用乱数と、第一特別図柄表示器1185及び第二特別図柄表示器1186で変動表示される特別図柄の変動表示パターンの決定に用いるための変動表示パターン用乱数と、大当り遊技状態を発生させるときに第一特別図柄表示器1185及び第二特別図柄表示器1186で導出表示される大当り図柄の決定に用いられる大当り図柄用乱数と、この大当り図柄用乱数の初期値の決定に用いられる大当り図柄用初期値決定用乱数等が用意されている。なお、上述した大当り図柄用乱数は、小当り遊技状態を発生させるときに第一特別図柄表示器1185及び第二特別図柄表示器1186で導出表示される小当り図柄の決定に用いられる小当り図柄用乱数としても利用される。一方、上述した大当り図柄用初期値決定用乱数は、この小当り図柄用乱数の初期値の決定に用いるための小当り図柄用初期値決定用乱数としても利用される。またこれらの乱数に加えて、一対の可動片2106を開閉動作させるか否かの決定に用いるための普通図柄当り判定用乱数と、この普通図柄当り判定用乱数の初期値の決定に用いるための普通図柄当り判定用初期値決定用乱数と、普通図柄表示器1189で変動表示される普通図柄の変動表示パターンの決定に用いるための普通図柄変動表示パターン用乱数等が用意されている。
例えば、大当り判定用乱数を更新するカウンタは、チップに内蔵されたハードウェアにより構成されており、最小値から最大値までに亘る予め定めた固定数値範囲(本実施形態では、最小値として値0〜最大値として値32767)内で更新し、この最小値から最大値までに亘る範囲を、後述する主制御側タイマ割り込み処理が行われるごとに値1ずつ加算されることでカウントアップする。このカウンタは、大当り判定用初期値決定用乱数から最大値に向かってカウントアップし、続いて最小値(値0)から大当り判定用初期値決定用乱数に向かってカウントアップする。大当り判定用乱数の最小値から最大値までに亘る範囲をカウンタがカウントアップし終えると、大当り判定用初期値決定用乱数は更新される。このようなカウンタの更新方法を「初期値更新型のカウンタ」という。大当り判定用初期値決定用乱数は、大当り判定用乱数を更新するカウンタの固定数値範囲から一の値を抽選する初期値抽選処理を実行して得られる。一方、上述した普通図柄当り判定用乱数及び普通図柄当り判定用初期値決定用乱数も、上述した大当り判定用乱数の更新方法と同一の方法により更新される。
なお、本実施形態では、大当り判定用乱数の最小値から最大値までに亘る範囲を、大当り判定用乱数を更新するカウンタがカウントアップされ終ると、上述したように、大当り判定用初期値決定用乱数は初期値抽選処理を実行することにより更新されるようになっているが、払出制御基板4110の操作スイッチ952が電源投入時に操作された場合や、後述する、主制御側電源投入時処理において主制御MPU4100aの主制御内蔵RAMに記憶されている遊技情報を数値とみなしてその合計を算出して得たチェックサムの値(サム値)が主制御側電源断時処理(電源断時)において記憶されているチェックサムの値(サム値)と一致していない場合など、主制御内蔵RAMの全領域をクリアする場合には、大当り判定用初期値決定用乱数は、主制御MPU4100aがその内蔵する不揮発性のRAMからIDコードを取り出し、この取り出したIDコードに基づいて大当り判定用乱数を更新するカウンタの固定数値範囲から常に同一の固定値を導出する初期値導出処理を実行し、この導出した固定値がセットされる仕組みとなっている。つまり、大当り判定用初期値決定用乱数は、初期値導出処理の実行によりIDコードに基づいて導出された同一の固定値が常に上書き更新されるようになっている。このように、大当り判定用初期値決定用乱数にセットされる値は、IDコードを利用して導出されており、主制御MPU4100aを製造したメーカによって主制御MPU4100aに内蔵する不揮発性のRAMにIDコードを記憶させるとIDコードが外部装置を用いても書き換えられないという第1のセキュリティ対策と、主制御内蔵RAMの全領域をクリアする場合に初期値導出処理を実行することによってIDコードに基づいて同一の固定値を導出するという第2のセキュリティ対策と、による2段階のセキュリティ対策が講じられることよって解析されるのを防止している。
ここで、主制御MPU4100aに内蔵する不揮発性のRAMからIDコードを取り出し、この取り出したIDコードを大当り判定用初期値決定用乱数として用いる利点について説明する。例えば、賞球として払い出される遊技球を不正に獲得しようとする者が何らかの方法で遊技盤4を入手して分解し、主制御MPU4100aに内蔵する不揮発性のRAMに予め記憶されているIDコードを不正に取得し、大当り判定用乱数を更新するカウンタの値と大当り判定値とが一致するタイミングを把握することができたとしても、そのIDコードが個体を識別するためのユニークな符号が付されたものであるため、他の遊技盤に備える主制御MPUに内蔵する不揮発性のRAMに予め記憶されているIDコードとまったく異なるものとなる。つまり他の遊技盤においては、大当り判定用乱数を更新するカウンタの値と大当り判定値とが一致するタイミングも、入手した遊技盤4のものとまったく異なる。換言すると、入手した遊技盤4を分解して解析して得たIDコードは、他の遊技盤、つまり他のパチンコ遊技機において、まったく役に立たないものであるため、分解して解析した得た所定間隔ごとに瞬停を発生させ、その所定間隔ごとに、第一始動口2101や第二始動口2102に遊技球を入球させるという始動入賞を狙っても、大当り遊技状態を発生させることができない。
[4−2.初期値更新型のカウンタの動き]
初期値更新型のカウンタは、主制御内蔵RAMの全領域をクリアする場合(RAMクリア時)に主制御MPU4100aがその内蔵する不揮発性のRAMからIDコードを取り出し、この取り出したIDコードに基づいて大当り判定用乱数を更新するカウンタの固定数値範囲から常に同一の固定値を導出する初期値導出処理を実行し、この導出した固定値がセットされる。初期値更新型のカウンタは、1サイクル目として、この固定値から最大値に向かってカウントアップし、続いて最小値から固定値に向かってカウントアップする。大当り判定用乱数の最小値から最大値までに亘る範囲をカウンタがカウントアップし終えると、大当り判定用初期値決定用乱数として大当り判定用乱数を更新するカウンタの固定数値範囲から一の値を抽選する初期値抽選処理を実行し、この抽選で得た値がセットされる。初期値更新型のカウンタは、2サイクル目として、抽選で得た値から最大値に向かってカウントアップし、続いて最小値から抽選で得た値に向かってカウントアップする。大当り判定用乱数の最小値から最大値までに亘る範囲をカウンタがカウントアップし終えると、再び、初期値抽選処理を実行し、この抽選で得た値がセットされ、初期値更新型のカウンタは、3サイクル目として、抽選で得た値から最大値に向かってカウントアップすることとなる。本実施形態では、大当り判定値の範囲(大当り判定範囲)として、低確率では値32668〜値32767が設定されており、通常時判定テーブルから読み出されるのに対して、高確率では値31768〜値32767が設定されており、確変時判定テーブルから読み出されるようになっている。大当り判定用乱数を更新するカウンタは、本実施形態では、最小値として値0〜最大値として値32767までに亘る予め定めた固定数値範囲を更新するようになっている。換言すると、大当り判定値の範囲(大当り判定範囲)は、低確率と高確率とのうち、どちらにおいても、最小値と最大値との中間値(値16384)から最大値側に寄った範囲に設定されている。
ここで本実施形態では、大当り判定値の範囲(大当り判定範囲)として、低確率では値10〜値209が設定され、高確率では値10〜値339が設定されている場合を例示する。つまり、低確率では、大当りとなる乱数値(大当り判定用乱数)の数が200個としており、高確率では、大当りとなる乱数値(大当り判定用乱数)の数が330個としている。ここで、本実施形態では、カウントして更新する複数の乱数同士が同期しないようにするため、乱数値の取得時期が異なる場合を除いて、同時に取得する他の乱数値の数を当該200個以外、例えば素数個としている。すなわち、本実施形態では、大当り判定用乱数とは乱数値の取得時期が異なれば、大当りとなる乱数値の数が素数でないようにすることができる。なお、本実施形態では、上述した小当りとなるのは、例えば、低確率での大当り図柄の個数(200個)を4で割った個数分(50個)の大当り判定用乱数としている。
そのような大当り判定値の範囲が設定されている場合について検討してみると、大当り判定値の範囲(大当り判定範囲)が低確率と高確率とのうち、どちらにおいても、最小値と最大値との中間値(値16384)から最小値側に寄った範囲に設定されることとなる。このような場合には、初期値更新型のカウンタの値が値0となるタイミングから大当り判定値の範囲(大当り判定範囲)のうち最初の値10となる時期までに亘る期間と、この値10の次の値11から最大値(値32767)までに亘る期間と、を比べると、前者の期間の方が後者の期間と比べて上述した初期値抽選処理によって抽選される確率が極めて低い。換言すると、初期値更新型のカウンタの値が値0となるタイミングから大当り判定値の範囲(大当り判定範囲)のうち最後の値(低確率では値209、高確率では値339)までに亘る範囲と、この最後の値の次の値(低確率では値210、高確率では値340)から最大値(値32767)となるまでに亘る範囲と、を比べると、前者の範囲の方が後者の範囲と比べて初期値抽選処理によって抽選される確率が極めて低い。そうすると、例えば、何らかの方法によって初期値更新型のカウンタの値が値0となるタイミングを不正に取得して第一始動口2101や第二始動口2102に向かって電波を照射することにより遊技球が第一始動口2101や第二始動口2102に入球したかのように装う不正行為が行われると、初期値更新型のカウンタの値が大当り判定値の範囲(大当り判定範囲)うち、いずれかの値となる確率が高いと言える。
これに対して、本実施形態のように、大当り判定値の範囲(大当り判定範囲)が低確率と高確率とのうち、どちらにおいても、最小値と最大値との中間値(値16384)から最大値側に寄った範囲に設定されている場合には、初期値更新型のカウンタの値が値0となるタイミングから大当り判定値の範囲(大当り判定範囲)のうち最初の値となる手前の値(低確率では値32667、高確率では値31767)となる時期までに亘る期間と、最初の値(低確率では値32668、高確率では値31768)から最大値(値32767)までに亘る期間と、を比べると、前者の期間の方が後者の期間と比べて上述した初期値抽選処理によって抽選される確率が極めて高い。換言すると、初期値更新型のカウンタの値が値0となるタイミングから大当り判定値の範囲(大当り判定範囲)のうち最初の値の手前の値(低確率では値32667、高確率では値31767)までに亘る範囲と、最初の値(低確率では値32668、高確率では値31768)から最大値(値32767)までに亘る範囲と、を比べると、前者の範囲の方が後者の範囲と比べて初期値抽選処理によって抽選される確率が極めて高い。そうすると、初期値更新型のカウンタは、値0から大当り判定値の範囲(大当り判定範囲)のうち最初の値の手前の値(低確率では値32667、高確率では値31767)までに亘る範囲のうち、いずれかの値が初期値抽選処理により抽選された値となって上述した大当り判定用初期値決定用乱数にセットされることとなるため、この抽選で得た値から最大値に向かってカウントアップし、続いて最小値から抽選で得た値に向かってカウントアップすることとなる。大当り判定用乱数の最小値から最大値までに亘る範囲をカウンタがカウントアップし終えると、再び、初期値抽選処理を実行し、この抽選で得た値がセットされ、初期値更新型のカウンタは、抽選で得た値から最大値に向かってカウントアップすることとなる。
つまり、本実施形態のように、大当り判定値の範囲(大当り判定範囲)が低確率と高確率とのうち、どちらにおいても、最小値と最大値との中間値(値16384)から最大値側に寄った範囲に設定されている場合には、初期値更新型のカウンタの値が値0となるタイミングから大当り判定値の範囲(大当り判定範囲)のうち最初の値となる手前の値(低確率では値32667、高確率では値31767)となる時期までに亘る期間が不規則となり、ランダム性に富んだものとなっている。これにより、例えば、何らかの方法によって初期値更新型のカウンタの値が値0となるタイミングを不正に取得して第一始動口2101や第二始動口2102に向かって電波を照射することにより遊技球が第一始動口2101や第二始動口2102に入球したかのように装う不正行為が行われたとしても、初期値更新型のカウンタの値が大当り判定値の範囲(大当り判定範囲)うち、いずれかの値となる確率が低いと言える。
なお、初期値更新型のカウンタは、最小値から最大値までの範囲を繰り返し更新される。初期値から大当り判定値の範囲(大当り判定範囲)の最小値(最初の値)から2サイクル目においてカウンタが大当り判定値の範囲(大当り判定範囲)の最小値(最初の値)となるまでに要する時間は時間T0となる。時間T0から3サイクル目においてカウンタが大当り判定値の範囲(大当り判定範囲)の最小値(最初の値)となるまでに要する時間は時間T1となり、時間T0に比べて時間T1の方が短くなる。時間T1から4サイクル目においてカウンタが大当り判定値の範囲(大当り判定範囲)の最小値(最初の値)となるまでに要する時間は時間T2となり、時間T1に比べて時間T2の方が短くなる。このように、初期値更新型のカウンタでは、更新されるカウンタが大当り判定値の範囲(大当り判定範囲)の最小値(最初の値)となる時間に対してゆらぎを持たせることによって(周期性を排除した状態にすることによって)遊技者に察知されないようになっている。
[4−3.主制御側電源投入時処理]
パチンコ遊技機1に電源が投入されると、上述した主制御プログラムが、主制御基板4100の主制御MPU4100aによる制御の下、図12及び図13に示すように、主制御側電源投入時処理を行う。この主制御側電源投入時処理が開始されると、主制御プログラムは、主制御MPU4100aの制御の下、スタックポインタの設定を行う(ステップS10)。スタックポインタは、例えば、使用中の記憶素子(レジスタ)の内容を一時記憶するためにスタックに積んだアドレスを示したり、サブルーチンを終了して本ルーチンに復帰するときの本ルーチンの復帰アドレスを一時記憶するためにスタックに積んだアドレスを示したりするものであり、スタックが積まれるごとにスタックポインタが進む。ステップS10では、主制御プログラムが、スタックポインタに初期アドレスをセットし、この初期アドレスから、レジスタの内容、復帰アドレス等をスタックに積んで行く。そして最後に積まれたスタックから最初に積まれたスタックまで、順に読み出すことによりスタックポインタが初期アドレスに戻る。
ステップS10に続いて、主制御プログラムは、停電監視回路4100eに停電クリア信号の出力を開始する(ステップS11)。この停電監視回路4100eは、電圧比較回路であるコンパレータMICと、DタイプフリップフロップMICと、から構成されている。電圧比較回路であるコンパレータMICは、+24Vとリファレンス電圧との電圧を比較したり、+12Vとリファレンス電圧との電圧を比較したりすることで、その比較結果を出力する。この比較結果は、停電又は瞬停が発生していない場合ではその論理がHIとなってDタイプフリップフロップMICのプリセット端子であるPR端子に入力される一方、停電又は瞬停が発生した場合ではその論理がLOWとなってDタイプフリップフロップMICのプリセット端子であるPR端子に入力されるようになっている。ステップS11では、このDタイプフリップフロップMICのクリア端子であるCLR端子に停電クリア信号の出力を開始する。この停電クリア信号は、主制御MPU4100aの所定の出力ポートの出力端子からその論理をLOWとして、リセット機能付き主制御出力回路4100caを介して、DタイプフリップフロップICのクリア端子であるCLR端子に入力される。これにより、主制御MPU4100aは、DタイプフリップフロップMICのラッチ状態を解除することができ、ラッチ状態をセットするまでの間、DタイプフリップフロップMICのプリセット端子であるPR端子に入力された論理を反転して出力端子である1Q端子から出力する状態とすることができ、その1Q端子からの信号を監視することができる。
ステップS12に続いて、主制御プログラムは、ウェイトタイマ処理1を行い(ステップS12)、停電予告信号が入力されているか否かを判定する(ステップS14)。電源投入時から所定電圧となるまでの間では電圧がすぐに上がらない。一方、停電又は瞬停(電力の供給が一時停止する現象)となるときでは電圧が下がり、停電予告電圧より小さくなると、停電監視回路4100eから停電予告として停電予告信号が入力される。電源投入時から所定電圧に上がるまでの間では同様に電圧が停電予告電圧より小さくなると、停電監視回路4100eから停電予告信号が入力される。そこで、ステップS12のウェイトタイマ処理1は、電源投入後、電圧が停電予告電圧より大きくなって安定するまで待つための処理であり、本実施形態では、待ち時間(ウェイトタイマ)として200ミリ秒(ms)が設定されている。ステップS14の判定でその停電予告信号が入力されているか否かの判定を行っている。この判定では、停電予告信号として、上述したDタイプフリップフロップMICの出力端子である1Q端子から出力されている信号に基づいて行う。
ステップS14で電源投入後に電圧が停電予告電圧より大きくなって安定するまで待っても停電予告信号の入力がなかったときには、主制御プログラムは、DタイプフリップフロップMICのクリア端子であるCLR端子に停電クリア信号の出力を停止する(ステップS15)。ここでは、停電クリア信号は、主制御MPU4100aの所定の出力ポートの出力端子からその論理をHIとして、リセット機能付き主制御出力回路4100caを介して、DタイプフリップフロップICのクリア端子であるCLR端子に入力される。これにより、主制御MPU4100aは、DタイプフリップフロップMICをラッチ状態にセットすることができる。DタイプフリップフロップMICは、そのプリセット端子であるPR端子に論理がLOWとなって入力された状態をラッチすると、出力端子である1Q端子から停電予告信号を出力する。
ステップS15に続いて、主制御プログラムは、電源投入時から所定時間に亘って主制御内蔵RAM(遊技記憶部)の初期化を行うRAMクリア処理を実行可能な状態とする(遊技側電源投入時操作制御手段)。具体的には、主制御プログラムは、まず、図16に示した払出制御基板4110の操作スイッチ952が操作されているか否かを判定する(ステップS16)。この判定では、主制御プログラムが、払出制御基板4110の操作スイッチ952が操作されたことに伴う操作信号(検出信号)に基づくエラー解除ナビコマンド(第1のエラー解除コマンド)が主制御MPU4100aに入力されているか否かにより行う。主制御プログラムは、その操作信号の論理値に基づいて、操作スイッチ952からの操作信号の論理値がHIであるときにはRAMクリアを行うことを指示するものではないと判断して操作スイッチ952が操作されていないと判定する一方、操作スイッチ952からの操作信号の論理値がLOWであるときにはRAMクリアを行うことを指示するものであると判断して操作スイッチ952が操作されていると判定する。
ステップS16において、主制御プログラムは、上記操作スイッチ952が操作されているときには、RAMクリア報知フラグRCL−FLGに値1をセットする(ステップS18)。一方、主制御プログラムは、ステップS16で操作スイッチ952が操作されていないときには、RAMクリア報知フラグRCL−FLGに値0をセットする(ステップS20)。すなわち、主制御プログラムは、電源投入時から所定時間に亘って、主制御MPU4100aに内蔵されたRAM(以下、「主制御内蔵RAM」と記載する。)の初期化を行うRAMクリア処理を実行可能な状態とする(遊技制御側電源投入時操作制御手段)。上述したRAMクリア報知フラグRCL−FLGは、主制御MPU4100aの主制御内蔵RAM(遊技記憶部)に記憶されている、確率変動、未払い出し賞球等の遊技に関する遊技情報を消去するか否かを示すフラグであり、遊技情報を消去するとき値1、遊技情報を消去しないとき値0にそれぞれ設定される。なお、ステップS18及びステップS20でセットされたRAMクリア報知フラグRCL−FLGの値は、主制御MPU4100aの汎用記憶素子(汎用レジスタ)に記憶される。
ステップS18又はステップS20に続いて、主制御プログラムは、ウェイトタイマ処理2を行う(ステップS22)。このウェイトタイマ処理2では、図7に示した、周辺制御基板4140の液晶及び音制御部4160による遊技盤側液晶表示装置1900及び上皿側液晶表示装置244の描画制御を行うシステムが起動する(ブートする)まで待っている。本実施形態では、ブートするまでの時間(ブートタイマ)として2秒(s)が設定されている。
ステップS22に続いて、主制御プログラムは、RAMクリア報知フラグRCL−FLGが値0である否かを判定する(ステップS24)。上述したように、RAMクリア報知フラグRCL−FLGは、遊技情報を消去するとき値1、遊技情報を消去しないとき値0にそれぞれ設定される。ステップS24でRAMクリア報知フラグRCL−FLGが値0であるとき、つまり遊技情報を消去しないときには、チェックサムの算出を行う(ステップS26)。このチェックサムは、主制御内蔵RAMに記憶されている遊技情報を数値とみなしてその合計を算出するものである。
ステップS26に続いて、主制御プログラムは、算出したチェックサムの値(サム値)が後述する主制御側電源断時処理(電源断時)において記憶されているチェックサムの値(サム値)と一致しているか否かを判定する(ステップS28)。一致しているときには、この主制御プログラムは、バックアップフラグBK−FLGが値1であるか否かを判定する(ステップS30)。このバックアップフラグBK−FLGは、遊技情報、チェックサムの値(サム値)及びバックアップフラグBK−FLGの値等の遊技バックアップ情報を後述する主制御側電源断時処理において主制御内蔵RAMに記憶保持したか否かを示すフラグであり、主制御側電源断時処理を正常に終了したとき値1、主制御側電源断時処理を正常に終了していないとき値0にそれぞれ設定される。
ステップS30でバックアップフラグBK−FLGが値1であるとき、つまり主制御側電源断時処理を正常に終了したときには、主制御プログラムは、復電時として主制御内蔵RAMの作業領域を設定する(ステップS32)。この設定は、バックアップフラグBK−FLGに値0をセットするほか、主制御MPU4100aに内蔵されたROM(以下、「主制御内蔵ROM」と記載する。)から復電時情報を読み出し、この復電時情報を主制御内蔵RAMの作業領域にセットする。なお、「復電」とは、電源を遮断した状態から電源を投入した状態のほかに、停電又は瞬停からその後の電力の復旧した状態、高周波が照射されたことを検出してリセットし、その後に復帰した状態も含める。
ステップS32に続いて、主制御プログラムは、電源投入時コマンド作成処理を行う(ステップS34)。この電源投入時コマンド作成処理では、遊技バックアップ情報から遊技情報を読み出してこの遊技情報に応じた各種コマンドを主制御内蔵RAMの所定記憶領域に記憶する。
一方、ステップS24でRAMクリア報知フラグRCL−FLGが値0でない(値1である)とき、つまり遊技情報を消去するときには、或いはステップS28でチェックサムの値(サム値)が一致していないときには、又はステップS30でバックアップフラグBK−FLGが値1でない(値0である)とき、つまり主制御側電源断時処理を正常に終了していないときには、主制御プログラムは、主制御内蔵RAMの全領域をクリアする(ステップS36)。すなわち、主制御プログラムは、上述した操作スイッチ952の操作に伴う検出信号の入力を契機として遊技制御側RAMクリア処理を実行している(払出制御側電源投入時操作制御手段)。具体的には、主制御プログラムは、値0を主制御内蔵RAMに書き込むことよって行う。なお、その代わりに、主制御プログラムは、初期値として主制御内蔵ROMから所定値を読み出して、セットしてもよい。また、主制御MPU4100aは、操作スイッチ952からの操作信号の論理値がRAMクリアを指示するもので遊技情報を消去するとき、サム値が一致していないとき、又は主制御側電源断時処理を正常に終了していないときには、主制御MPU4100aの不揮発性のRAMに予め記憶された固有のIDコードを取り出し、この取り出したIDコードに基づいて大当り判定用乱数を更新するカウンタの固定数値範囲から常に同一の固定値を導出する初期値導出処理を行い、この固定値を、上述した大当り判定用乱数の初期値の決定に用いるための大当り判定用初期値決定用乱数にセットする。
ステップS36に続いて、主制御プログラムは、初期設定として主制御内蔵RAMの作業領域を設定する(ステップS38)。この設定は、主制御内蔵ROMから初期情報を読み出してこの初期情報を主制御内蔵RAMの作業領域にセットされることにより実施される。
ステップS38に続いて、主制御プログラムは、RAMクリア報知及びテストコマンド作成処理を行う(ステップS40)。このRAMクリア報知及びテストコマンド作成処理では、主制御内蔵RAMをクリアして初期設定を行った旨を報知するための図10に示した電源投入に区分される電源投入コマンドを作成するとともに、周辺制御基板4140の各種検査を行うための図11に示したテスト関連に区分されるテストコマンドを作成して、送信情報として主制御内蔵RAMの送信情報記憶領域にそれぞれ記憶する。
ステップS34又はステップS40に続いて、主制御プログラムは、割り込み初期設定を行う(ステップS42)。この設定は、後述する主制御側タイマ割り込み処理が行われるときの割り込み周期を設定するものである。本実施形態では4msに設定されている。
ステップS42に続いて、主制御プログラムは、割り込み許可設定を行う(ステップS44)。この設定によりステップS42で設定した割り込み周期、つまり4msごとに主制御側タイマ割り込み処理が繰り返し行われる。
ステップS44に続いて、主制御プログラムは、電源投入時から所定時間を経過すると、つまり、主制御側メイン処理が開始されると、操作スイッチ952(操作スイッチ)の操作に伴うエラー解除ナビコマンドの受け取りを契機とした遊技制御側RAMクリア処理の実行を規制することとなる(通常時操作制御手段)。以上のように、主制御プログラムは、操作スイッチ952の操作に伴って入力される検出信号を、タイムシェアリングの概念により、上述のように電源投入時から所定時間に亘ってエラー解除ナビコマンドの入力を契機としてRAMクリア処理を実行させたり(遊技制御側電源投入時操作制御手段)、当該所定時間の経過後は当該エラー解除ナビコマンドの入力があってもRAMクリア処理の実行を規制し(遊技制御側通常時操作制御手段)、発生したエラーに伴うエラー報知を解除するための解除スイッチとして取り扱っている。つまり、本来、払出動作に関して発生したエラーを解除するために使用されるはずであった操作スイッチ952(エラー解除部)を、電源投入時から所定時間に亘って、その代わりに、遊技記憶部としての主制御内蔵RAM(及び後述する払出記憶部としての払出制御内蔵RAM)の初期化を開始させるためのRAMクリア処理を実行するための操作部として機能させたり、当該所定時間の経過後に、遊技球の払出動作に関して発生したエラーを解除するための操作部として機能させることができるようになっている。
次に主制御プログラムは、ウォッチドックタイマクリアレジスタWCLに値Aをセットする(ステップS46)。このウォッチドックタイマクリアレジスタWCLに、値A、値Bそして値Cを順にセットすることによりウォッチドックタイマがクリア設定される。
ステップS46に続いて、主制御プログラムは、停電予告信号が入力されているか否かを判定する(ステップS48)。上述したように、パチンコ遊技機1の電源を遮断したり、停電又は瞬停したりするときには、電圧が停電予告電圧以下となると、停電予告として停電予告信号が停電監視回路4100eから入力される。ステップS48の判定は、この停電予告信号に基づいて行う。
ステップS48で停電予告信号の入力がないときには、主制御プログラムは非当落乱数更新処理を行う(ステップS50)。この非当落乱数更新処理では、上述した、リーチ判定用乱数、変動表示パターン用乱数、大当り図柄用初期値決定用乱数、及び小当り図柄用初期値決定用乱数等を更新する。このように、非当落乱数更新処理では、当落判定(大当り判定)にかかわらない乱数を更新する。なお、上述した、普通図柄当り判定用乱数、普通図柄当り判定用初期値決定用乱数及び普通図柄変動表示パターン用乱数等もこの非当落乱数更新処理により更新される。
ステップS50に続いて、再びステップS46に戻り、主制御プログラムは、ウォッチドックタイマクリアレジスタWCLに値Aをセットし、ステップS48で停電予告信号の入力があるか否かを判定し、この停電予告信号の入力がなければ、ステップS50で非当落乱数更新処理を行い、ステップS46〜ステップS50を繰り返し行う。なお、このステップS46〜ステップS50の処理を「主制御側メイン処理」という。
一方、ステップS48で停電予告信号の入力があったときには、主制御プログラムは、割り込み禁止設定を行う(ステップS52)。この設定により後述する主制御側タイマ割り込み処理が行われなくなり、主制御内蔵RAMへの書き込みを防ぎ、遊技情報の書き換えを保護している。
ステップS52に続いて、主制御プログラムは、停電クリア信号を出力開始する(ステップS53)。ここでは、ステップS11において停電クリア信号を出力開始した処理と同一の処理を行う。これにより、主制御プログラムは、主制御MPU4100aの制御の下、DタイプフリップフロップMICのラッチ状態を解除することができる。
ステップS53に続いて、主制御プログラムは、始動口ソレノイド2105、アタッカソレノイド2108A,2108B、第一特別図柄表示器1185、第二特別図柄表示器1186、第一特別図柄記憶表示器1184、第二特別図柄記憶表示器1187、普通図柄表示器1189、普通図柄記憶表示器1188、遊技状態表示器1183、ラウンド表示器1190等に出力している駆動信号を停止する(ステップS54)。
ステップS54に続いて、主制御プログラムは、チェックサムの算出を行ってこの算出した値を記憶する(ステップS56)。このチェックサムは、上述したチェックサムの値(サム値)及びバックアップフラグBK−FLGの値の記憶領域を除く、主制御内蔵RAMの作業領域の遊技情報を数値とみなしてその合計を算出する。
ステップS56に続いて、主制御プログラムは、バックアップフラグBK−FLGに値1をセットする(ステップS58)。これにより、遊技バックアップ情報の記憶が完了する。
ステップS58に続いて、主制御プログラムは、ウォッチドックタイマのクリア設定を行う(ステップS60)。このクリア設定は、上述したように、ウォッチドックタイマクリアレジスタWCLに値A、値Bそして値Cを順にセットすることにより行われる。
ステップS60に続いて、無限ループに入る。この無限ループでは、ウォッチドックタイマクリアレジスタWCLに値A、値Bそして値Cを順にセットしないためウォッチドックタイマがクリア設定されなくなる。このため、主制御MPU4100aにリセットがかかり、その後主制御MPU4100aは、この主制御側電源投入時処理を再び行う。なお、ステップS52〜ステップS60の処理及び無限ループを「主制御側電源断時処理」という。
パチンコ遊技機1(主制御MPU4100a)は、停電したとき又は瞬停したときにはリセットがかかり、その後の電力の復旧により主制御側電源投入時処理を行う。
なお、ステップS28では主制御内蔵RAMに記憶されている遊技バックアップ情報が正常なものであるか否かを検査し、続いてステップS30では主制御側電源断時処理が正常に終了された否かを検査している。このように、主制御内蔵RAMに記憶されている遊技バックアップ情報を2重にチェックすることにより遊技バックアップ情報が不正行為により記憶されたものであるか否かを検査している。
[4−4.主制御側タイマ割り込み処理]
次に、主制御側タイマ割り込み処理について説明する。主制御側タイマ割り込み処理は、図12及び図13に示した主制御側電源投入時処理において設定された割り込み周期(本実施形態では、4ms)ごとに繰り返し行われる。
主制御側タイマ割り込み処理が開始されると、主制御基板4100では、主制御プログラムが、主制御MPU4100aの制御の下、図14に示すように、ウォッチドックタイマクリアレジスタWCLに値Bをセットする(ステップS70)。このとき、ウォッチドックタイマクリアレジスタWCLには、主制御側電源投入時処理(主制御側メイン処理)のステップS46においてセットされた値Aに続いて値Bがセットされる。
ステップS70に続いて、主制御プログラムは、割り込みフラグのクリアを行う(ステップS72)。この割り込みフラグがクリアされることにより割り込み周期が初期化され、次の割り込み周期がその初期値から計時される。
ステップS72に続いて、主制御プログラムは、スイッチ入力処理を行う(ステップS74)。このスイッチ入力処理では、主制御MPU4100aの各種入力ポートの入力端子に入力されている各種信号を読み取り、入力情報として主制御内蔵RAMの入力情報記憶領域に記憶する。具体的には、この主制御プログラムは、例えば、一般入賞口2104,2201に入球した遊技球を検出する一般入賞口スイッチ3020,3020からの各々の検出信号、大入賞口2103に入球した遊技球を検出するカウントスイッチ2110からの検出信号、第一始動口2101に入球した遊技球を検出する第一始動口スイッチ3022からの検出信号、第二始動口2102に入球した遊技球を検出する第二始動口スイッチ2109からの検出信号、ゲート部2350を通過した遊技球を検出するゲートスイッチ2301からの検出信号、磁石を用いた不正行為を検出する磁気検出スイッチ3024からの検出信号や後述する賞球制御処理で送信した賞球コマンドを払出制御基板4110が正常に受信した旨を伝える払出制御基板4110からの払主ACK信号、をそれぞれ読み取り、入力情報として入力情報記憶領域に記憶する。また、第一始動口2101に入球した遊技球を検出する第一始動口スイッチ3022からの検出信号、第二始動口2102に入球した遊技球を検出する第二始動口スイッチ2109からの検出信号をそれぞれ読み取ると、これと対応する図10に示したその他に区分される始動口入賞コマンドを送信情報として上述した送信情報記憶領域に記憶する。つまり、第一始動口スイッチ3022からの検出信号があると、これと対応する始動口入賞コマンドが送信情報として送信情報記憶領域に記憶されるし、第二始動口スイッチ2109からの検出信号があると、これと対応する始動口入賞コマンドが送信情報として送信情報記憶領域に記憶されるようになっている。
なお、本実施形態では、一般入賞口2104,2201に入球した遊技球を検出する一般入賞口スイッチ3020,3020からの検出信号、大入賞口2103に入球した遊技球を検出するカウントスイッチ2110からの検出信号、第一始動口2101に入球した遊技球を検出する第一始動口スイッチ3022からの検出信号、第二始動口2102に入球した遊技球を検出する第二始動口スイッチ2109からの検出信号、及びゲート部2350を通過した遊技球を検出するゲートスイッチ2301からの検出信号は、このスイッチ入力処理が開始されると、まず1回目としてそれぞれ読み取られ、所定時間(例えば、10μs)経過した後、2回目としてそれぞれ再び読み取られる。そして、この2回目に読み取られた結果と、1回目に読み取られた結果と、を比較する。この比較結果のうち、同結果となっているものがあるか否かを判定する。同結果でないものについては、さらに、3回目として再び読み取られ、この3回目に読み取られた結果と、2回目に読み取られた結果と、を比較する。この比較結果のうち、同結果となっているものがあるか否かを再び判定する。同結果でないものについては、さらに、4回目として再び読み取られ、この4回目に読み取られた結果と、3回目に読み取られた結果と、を比較する。この比較結果のうち、同結果となっているものがあるか否かを再び判定する。同結果とならいものについては、遊技球の入球がないものとして扱う。
このように、スイッチ入力処理では、主制御プログラムが、一般入賞口スイッチ3020,3020、カウントスイッチ2110、第一始動口スイッチ3022、第二始動口スイッチ2109、及びゲートスイッチ2301からの検出信号を、1回目〜3回目に亘って比較する2度読み取りと、2回目〜4回目に亘って比較する2度読み込みと、による計2回の2度読み取りを行うことによって、チャタリングやノイズ等の影響による誤検出を回避することができるようになっているため、一般入賞口スイッチ3020,3020、カウントスイッチ2110、第一始動口スイッチ3022、第二始動口スイッチ2109、及びゲートスイッチ2301からの検出信号の信頼性を高めることができる。
ステップS74に続いて、主制御プログラムは、タイマ減算処理を行う(ステップS76)。このタイマ減算処理では、例えば、後述する特別図柄及び特別電動役物制御処理で決定される変動表示パターンに従って第一特別図柄表示器1185及び第二特別図柄表示器1186が点灯する時間、後述する普通図柄及び普通電動役物制御処理で決定される普通図柄変動表示パターンに従って普通図柄表示器1189が点灯する時間のほかに、主制御基板4100(主制御MPU4100a)が送信した各種コマンドを払出制御基板4110が正常に受信した旨を伝える払主ACK信号が入力されているか否かを判定する際にその判定条件として設定されているACK信号入力判定時間等の時間管理を行う。具体的には、変動表示パターン又は普通図柄変動表示パターンの変動時間が5秒間であるときには、タイマ割り込み周期が4msに設定されているので、このタイマ減算処理を行うごとに変動時間を4msずつ減算し、その減算結果が値0になることで変動表示パターン又は普通図柄変動表示パターンの変動時間を正確に計っている。
本実施形態では、ACK信号入力判定時間が100msに設定されている。このタイマ減算処理を行うごとにACK信号入力判定時間が4msずつ減算し、その減算結果が値0になることでACK信号入力判定時間を正確に計っている。なお、これらの各種時間及びACK信号入力判定時間は、時間管理情報として主制御内蔵RAMの時間管理情報記憶領域に記憶される。
ステップS76に続いて、主制御プログラムは、当落乱数更新処理を行う(ステップS78)。この当落乱数更新処理では、上述した、大当り判定用乱数、大当り図柄用乱数、及び小当り図柄用乱数を更新する。またこれらの乱数に加えて、図13に示した主制御側電源投入時処理(主制御側メイン処理)におけるステップS50の非当落乱数更新処理で更新される、大当り図柄用初期値決定用乱数、及び小当り図柄用初期値決定用乱数も更新する。これらの大当り図柄用初期値決定用乱数、及び小当り図柄用初期値決定用乱数は、主制御側メイン処理及びこの主制御側タイマ割り込み処理においてそれぞれ更新されることでランダム性をより高めている。これに対して、大当り判定用乱数、大当り図柄用乱数、及び小当り図柄用乱数は、当落判定(大当り判定)にかかわる乱数であるためこの当落乱数更新処理が行われるごとにのみ、それぞれのカウンタがカウントアップする。
例えば、大当り判定用乱数を更新するカウンタは、上述したように、初期値更新型のカウンタであり、最小値から最大値までに亘る予め定めた固定数値範囲(本実施形態では、最小値として値0〜最大値として値32767)内において更新され、この最小値から最大値までに亘る範囲を、この主制御側タイマ割り込み処理が行われるごとに値1ずつ加算されることでカウントアップする。大当り判定用初期値決定用乱数から最大値(値32767)に向かってカウントアップし、続いて最小値(値0)から大当り判定用初期値決定用乱数に向かってカウントアップする。大当り判定用乱数の最小値から最大値までに亘る範囲を、大当り判定用乱数を更新するカウンタがカウントアップし終えると、この当落乱数更新処理により大当り判定用初期値決定用乱数は更新される。大当り判定用初期値決定用乱数は、大当り判定用乱数を更新するカウンタの固定数値範囲から一の値を抽選する初期値抽選処理を実行して得ることができるようになっている。なお、上述した、普通図柄当り判定用乱数、普通図柄当り判定用初期値決定用乱数もこの当落乱数更新処理により更新される。普通図柄当り判定用乱数等は、上述した大当り判定用乱数の更新方法と同一であり、その説明を省略する。
本実施形態では、大当り判定用初期値決定用乱数、大当り図柄用初期値決定用乱数、及び小当り図柄用初期値決定用乱数を、図13に示した主制御側電源投入時処理(主制御側メイン処理)におけるステップS50の非当落乱数更新処理、及び本ルーチンである主制御側タイマ割り込み処理におけるステップS78の当落乱数更新処理でそれぞれ更新しているが、割り込みタイマが発生するごとに本ルーチンの処理時間にムラが生じて次の割り込みタイマが発生するまでの残り時間内において主制御側メイン処理を繰り返し実行することによりステップS50の非当落乱数更新処理の実行回数がランダムとなる場合には、大当り判定用初期値決定用乱数、大当り図柄用初期値決定用乱数、及び小当り図柄用初期値決定用乱数をステップS50の非当落乱数更新処理においてのみ更新する仕組みとしてもよい。
ステップS78に続いて、主制御プログラムは賞球制御処理を行う(ステップS80)。この賞球制御処理では、主制御プログラムが、上述した入力情報記憶領域から入力情報を読み出してこの入力情報に基づいて遊技球を払い出すための賞球コマンドを作成したり、主制御基板4100と払出制御基板4110との基板間の接続状態を確認するためのセルフチェックコマンドを作成したりする。この主制御プログラムは、作成した賞球コマンドやセルフチェックコマンドを主払シリアルデータとして払出制御基板4110に送信する。
さらに賞球制御処理では、主制御プログラムが、そのプログラムコードの一部である賞球制御プログラムコードを実行し、例えば、大入賞口2103への遊技球の受け入れに伴ってカウントスイッチ2110から出力された検出信号に基づく検出情報が、大入賞口2103の数分に亘って1ビットずつ連続させて定義されている各々対応する定義ビット領域に書き込まれたことを契機として、例えば賞球として15球を払い出すべき旨の賞球指示として賞球コマンドを作成し、払出制御基板4110(払出制御手段)に送信する。
本実施形態では、大入賞口として大入賞口2103の2個が設けられているため、主制御プログラムは、上述した定義ビット領域として、主制御RAM内に予め用意された複数の定義ビット領域のうちから、大入賞口2103用の2個分の各定義ビットを使用する。以下、順に「第一ビット領域」および「第二ビット領域」という。なお、大入賞口の数が例えば1個である遊技盤の場合には、1つの定義ビット領域が使用されることになる。これら使用される定義ビット領域は、例えば1ビットであり、互いに隣り合う領域とされている。大入賞口2103に遊技球が受け入れられると、カウントスイッチ2110から出力された検出信号に基づく検出情報として、例えば、「1」が例えば4ビット目である第一定義ビット領域に書き込まれる。その後、主制御プログラムは、遊技球が受け入れられたことを識別した大入賞口に対応する定義ビット領域を、例えば「0」を書き込んで初期化し、次の遊技球の受け入れに備える。
ここで、主制御プログラムは、どの定義ビット領域の状態を確認するかについても決定する。例えば主制御プログラムは、大入賞口2103のカウントスイッチ2110に対応する定義ビット領域を仮に4ビット目とした場合、本実施形態のように大入賞口が1個のみ設けられているパチンコ遊技機の場合、主制御プログラムは、4ビット目の定義ビット領域の情報を取得する。
さらに主制御プログラムは、このように取得した検出情報について、後述する大入賞口2103の賞球有効範囲に応じてマスク処理を実行して、賞球コマンドを作成して送信情報記憶領域に書き込んで払出制御基板4110に対して出力しないようにすべきか否かを決定する。この賞球コマンドが送信されるべきでないと決定した場合、主制御プログラムは、上述したカウントスイッチ2110からの検出信号に基づく検出情報が書き込まれる各定義ビット領域に対してマスク処理として、例えば強制的にビットをOFF(「0」)に設定し、賞球コマンドを送信情報記憶領域に書き込まないようにしてもよい。
この賞球制御処理では、主制御プログラムが、第一特別遊技状態において、大入賞口2103に遊技球が1球受け入れられたことを示すカウントスイッチ2110からの検出信号に対応する検出情報が、この大入賞口2103に対応する上記定義ビット領域に書き込まれていることを契機として、例えば賞球として15球を払い出すべき旨の賞球指示として賞球コマンドを作成し、上述した送信情報記憶領域に書き込む。併せて、主制御プログラムは、上述した送信情報記憶領域に、所定の音を出力させる指令としての入賞音コマンドを書き込み、その後周辺制御基板4140に送信させて周辺制御MPU4150aに、スピーカーに、例えば「ポコン」という音を出力させる。
その一方、主制御プログラムは、第一特別遊技状態において、大入賞口2103に遊技球が1球受け入れられたことを示すカウントスイッチ2110からの検出信号に基づく検出情報が、この大入賞口2103に対応する上記定義ビット領域に書き込まれていないと、例えば賞球として15球を払い出すべき旨の賞球指示として賞球コマンドを作成しない。この場合も、主制御プログラムは、上述した送信情報記憶領域に、所定の音を出力させる指令としての入賞音コマンドを書き込むが、賞球コマンドが払出制御基板4110(払出制御手段)に送信されて遊技球の払い出し動作が実行されないようにする。その後、主制御プログラムは、この大入賞口2103に対応する上記定義ビット領域を初期化して、カウントスイッチ2110からの検出信号に基づく検出情報をクリアすることにより遊技球の払い出しが許容される状態とする。
この際、主制御プログラムは、大入賞口2103への遊技球の受け入れに応じて払い出しうる規定払い出し数以上分の遊技球の払い出しがなされると、入賞過多異常コマンド(図11において図示を省略する)を上記送信情報記憶領域に書き込んで、その後コマンド送信処理(ステップSS92)において周辺制御基板4140に送信する。すると、周辺制御MPU4150aがスピーカーに所定の報知を行わせる。
このようにすると、実質的に不正な遊技球の払い出しがなされないようになるため、遊技場(遊技ホール)が被る損害を最小限に抑制することができる。
一方、主制御プログラムは、その代わりに、大入賞口2103への遊技球の受け入れが検出された場合、即座に、入賞過多異常コマンドを上記送信情報記憶領域に書き込んで、周辺制御MPU4150aの制御に、スピーカーに報知させるようにしてもよい。
その後、主制御プログラムは、上述した送信情報記憶領域から賞球コマンドを読み出して、払出制御基板4110(払出制御手段)に送信する。
上述のようにすると、大入賞口2103について遊技球を受け入れた際に、対応するカウントスイッチ2110が機能しているか否かを聴覚により確認することができる。
一方、この主制御プログラムは、この賞球コマンドを払出制御基板4110が正常に受信完了した旨を伝える払主ACK信号が所定時間内に入力されない場合、主制御基板4100と払出制御基板4110との基板間の接続状態を確認するセルフチェックコマンドを作成し、払出制御基板4110に送信する。
ステップS80に続いて、主制御プログラムは、枠コマンド受信処理を行う(ステップS82)。払出制御基板4110では、払出制御プログラムが、状態表示に区分される1バイト(8ビット)の各種コマンド(例えば、枠状態1コマンド、エラー解除ナビコマンド、及び枠状態2コマンド)を送信する。一方、後述するように払出制御プログラムは、払出動作にエラーが発生した場合にエラー発生コマンドを出力したり、操作スイッチ952の検出信号に基づいてエラー解除ナビコマンドを出力する。上述した枠コマンド受信処理では、主制御プログラムが、この各種コマンドを払主シリアルデータとして正常に受信すると、その旨を払出制御基板4110に伝える情報を、出力情報として主制御内蔵RAMの出力情報記憶領域に記憶する。また、主制御プログラムは、その正常に払主シリアルデータとして受信したコマンドを2バイト(16ビット)のコマンドに整形し(図11の状態表示に区分される各種コマンド(枠状態1コマンド、エラー解除ナビコマンド、及び枠状態2コマンド))、送信情報として上述した送信情報記憶領域に記憶する。なお、ここでいう枠状態1コマンドは第1のエラー発生コマンドに相当するとともに、エラー解除ナビコマンドは第1のエラー解除コマンドに相当する。
ステップS82に続いて、主制御プログラムは、不正行為検出処理を行う(ステップS84)。この不正行為検出処理では、賞球に関する異常状態を確認する。例えば、上述した入力情報記憶領域から入力情報を読み出し、大当り遊技状態でない場合にカウントスイッチ2110によって大入賞口2103に遊技球が入球していると検知されたとき等には、主制御プログラムは、異常状態として図11に示した報知表示に区分される入賞異常表示コマンドを作成し、送信情報として上述した送信情報記憶領域に記憶する。
ステップS84に続いて、主制御プログラムは、特別図柄及び特別電動役物制御処理を行う(ステップS86)。特別図柄及び特別電動役物制御処理では、主制御プログラムは、大当り用乱数値が主制御内蔵ROMに予め記憶されている確変当り判定値と一致するか否かを判定する。主制御プログラムは、抽選結果に基づいて確率変動状態に移行させるか否かを判定し、大当り用乱数値が確変当り判定値に一致している(確変移行条件が成立している)場合には、その後、確率変動状態に移行させる一方、大当り用乱数値が確変当り判定値に一致していない(確変移行条件が成立していない)場合には当該確変以外の遊技状態に移行させる(当選確率制御手段)。ここで、「確率変動状態」とは、上述した特別抽選の当選確率が通常遊技状態(低確率状態)と比較して相対的に高く設定された状態(高確率状態)をいう。特別図柄及び特別電動役物制御処理の詳細については、図15にて後述する。
次に、主制御プログラムは、特別図柄の種別に応じて、始動入賞時に決定した変動表示パターンに従って、第一特別図柄表示器1185を点灯させるよう点灯信号の出力を設定したり、第二特別図柄表示器1186を点灯させるよう点灯信号の出力を設定し、出力情報として上述した出力情報記憶領域に記憶する。また、主制御プログラムは、例えば大当り遊技状態に移行させる場合には、図10に示した大当り関連に区分される各種コマンド(大当りオープニングコマンド、大入賞口1開放N回目表示コマンド、大入賞口1閉鎖表示コマンド、大入賞口1カウント表示コマンド、大当りエンディングコマンド、及び大当り図柄表示コマンド)を作成し、送信情報として送信情報記憶領域に記憶したり、開閉部材2107を開閉動作させるようアタッカソレノイド2108A或いはアタッカソレノイド2108Bへの駆動信号の出力を設定して出力情報として出力情報記憶領域に記憶する。また、主制御プログラムは、大入賞口2103が閉鎖状態から開放状態となる回数(ラウンド)が2回であるときには、ラウンド表示器1190の2ラウンド表示ランプ(図示せず)を点灯させるよう2ラウンド表示ランプへの点灯信号の出力を設定して出力情報として出力情報記憶領域に記憶したり、ラウンドが6回であるときには、ラウンド表示器1190の6ラウンド表示ランプ(図示せず)を点灯させるよう6ラウンド表示ランプへの点灯信号の出力を設定して出力情報として出力情報記憶領域に記憶したり、ラウンドが12回であるときには、ラウンド表示器1190の12ラウンド表示ランプ(図示せず)を点灯させるよう12ラウンド表示ランプへの点灯信号の出力を設定して出力情報として出力情報記憶領域に記憶したり、ラウンドが16回であるときにはラウンド表示器1190の16ラウンド表示ランプ(図示せず)を点灯させるよう16ラウンド表示ランプへの点灯信号の出力を設定して出力情報として出力情報記憶領域に記憶する。また、主制御プログラムは、確率変動状態への移行の有無を所定の色で点灯させるよう遊技状態表示器1183への点灯信号の出力を設定して出力情報として出力情報記憶領域に記憶する。
ところで、一般的なパチンコ遊技機においては、遊技球の始動入賞を契機として、その後特別図柄を変動表示を開始するとともに大当り抽選を実行し、所定の当選条件が成立しているともに所定の確変移行条件が成立している場合、遊技状態表示器としてのいわゆる確変ランプの点灯態様を変更するとともに確率変動状態に移行する。確率変動状態では、上述した大当り抽選の確率が通常遊技状態よりも相対的に高く設定されており、再度当選条件が成立して大当りとなることがほぼ保証されている。このように確率変動状態が終了した後にその後さらに確率変動状態に移行する可能性のある遊技機としては、主として、次に大当りとなるまで確率変動状態を継続してあたかも大当り遊技がループしているかのように挙動するものと(以下「ループ機」という)、大当り遊技が終了した後に特別図柄の変動回数が所定の回数になるまで確率変動状態を継続するもの(以下「ST(スペシャルタイム)機」という)とが存在している。このように確率変動状態の継続の仕方が異なる機種のパチンコ遊技機では、上述した遊技状態表示器の制御が異なっており、開発段階においては各機種ごとに遊技状態表示器の制御を逐一設計しなければならず開発効率を向上しにくかった。
そこで、本実施形態では、主制御プログラムは、第一始動口2101又は第二始動口2102に遊技球が受け入れられると、その後当選条件が成立しているか否かを判定し、当選条件が成立している場合には通常遊技状態から大当り遊技状態に移行させる一方、当選条件が成立しているとともにさらに確変移行条件が成立している場合には当選条件が成立する確率を通常遊技状態よりも相対的に高く設定した確率変動状態に移行させるとともに遊技状態表示器1183の表示態様を点灯状態とする。主制御プログラムは、その後再度当選条件が成立しているとともにさらに確変移行条件が成立している場合、その確率変動状態が継続された状態で遊技状態表示器1183の表示態様をある特定の割り込み周期内に点灯状態から一旦消灯状態とさせた後、当該特定の割り込み周期と同一の割り込み周期内において遊技状態表示器1183の表示態様を消灯状態から再度点灯状態とする。
具体的に説明すると、まず、上述のように主制御プログラムは、第一始動口2101又は第二始動口2102に遊技球が受け入れられたことを契機として、その後当選条件が成立しているか否かを判定し(抽選手段)、当選条件が成立している場合、通常遊技状態から大当り遊技状態に移行させる一方、当選条件が成立しているとともに確変移行条件が成立している場合、当選条件が成立する確率を通常遊技状態よりも相対的に高く設定した確率変動状態に移行させる(遊技状態制御手段)。主制御プログラムは、確率変動状態が継続している間に亘って遊技状態表示器1183の表示態様を点灯状態とする一方、確率変動状態以外の遊技状態に移行すると遊技状態表示器1183の表示態様を消灯状態とする(点灯態様制御手段)。主制御プログラムは、上述した確率変動状態への移行を契機として遊技状態表示器1183の表示態様を点灯状態とし、その後再度当選条件が成立しているとともにさらに確変移行条件が成立している場合、その確率変動状態が継続された状態で遊技状態表示器1183の表示態様をある特定の割り込み周期内において点灯状態から一旦消灯状態とさせた後、当該特定の割り込み周期と同一の割り込み周期内において遊技状態表示器1183の表示態様を再度消灯状態から点灯状態とさせる(点灯状態継続制御手段)。なお、このように遊技者に確率変動状態が継続しているように視認させたいにもかかわらず、このように、ごく短時間に亘って遊技状態表示器1183の表示態様を変化させても、遊技者の視覚上、遊技状態表示器1183の表示態様が変わっていないように見せることができる。
このようにすると、遊技状態表示器1183の表示態様上、遊技者の目には、一旦消灯状態になったことが視認し難く、点灯状態が継続しているかのように視認される。すると、本実施形態におけるパチンコ遊技機1が、確率変動状態が連続的に継続するいわゆるループ機であっても、大当り遊技状態が終了した後特別図柄が規定の変動回数まで確率変動状態が継続するとともに当該規定変動回数内に当選条件が成立するとその後再度確率変動状態に移行するいわゆるST(スペシャルタイム)機であっても、互いに異なる機種間において遊技状態表示器1183の表示態様を制御するプログラムコードを共用することができる。これにより、互いに異なる機種のパチンコ遊技機の開発効率を向上することができるようになる。
さらに、特別図柄及び特別電動役物制御処理では、主制御プログラム(遊技制御手段)が、上述のように当選条件が成立している場合には通常遊技状態から大当り遊技状態に移行させる一方、さらに移行条件の一例としての確変移行条件が成立している場合には特定遊技状態の一例としての確変遊技状態にも移行させる(遊技状態制御手段)。ここで、主制御プログラムは、実質的に大当り遊技状態での遊技球の払い出しをほぼ行うことなく、特定遊技状態の一例としての確変遊技状態に移行させるようにしてもよい。なお、特定遊技状態としては、移行条件の他の一例としての時短作動条件が成立して時短機能が作動している状態であってもよいし、上述した確変遊技状態と併せて同時に両方の遊技状態であってもよい。主制御プログラムは、ある遊技状態から他の遊技状態に移行するまでの期間における特別図柄の変動表示回数の残り回数を管理しており、当該管理している遊技状態を表す遊技状態情報を送信情報として送信情報記憶領域に書き込むことによって、その後同一のタイマ割り込み周期内において、後述するコマンド送信処理S92において送信させる(遊技状態通知手段)。
具体的には、主制御プログラムが、上述した確変移行条件が成立している場合、遊技状態が確変遊技状態以外の遊技状態、例えば通常遊技状態に移行するまでに特別図柄が変動表示される残り回数に関する情報(以下「残り回数情報」という)を、始動条件が成立した後に開始条件が成立したことを契機として送信されるいずれかのコマンド、例えば変動パターンに対応する変動パターンコマンドに含めて送信情報として送信情報記憶領域に書き込むことによって、その後同一のタイマ割り込み周期内において、後述するコマンド送信処理S92において送信させている(残り変動回数通知手段)。なお、主制御プログラムは、上述した残り回数情報をその他のコマンドに含めたり、独立したコマンドとして周辺制御基板4140に送信させるようにしてもよい。
ところで、プログラムコードの集合によって構成されているプログラムモジュールであるサブルーチンは、一般的には、メインルーチンに含まれるCALL命令によって呼び出されてこのプログラムモジュールに含まれるプログラムコード群が実行された後に、最後にリターン命令でメインルーチンに戻るように構成されている。このようにすると、呼び出した戻しのための命令が必要となるため、一見すると、プログラム容量を低減することが困難であるようにも思える。
しかしながら、本実施形態では、メインルーチンが連続するサブルーチンを含む場合、例えば、メインルーチンが最初のサブルーチンをCALL命令で呼び出して実行した後、さらに連続して次のサブルーチンを別のCALL命令で呼び出す代わりに、最初のサブルーチンのプログラムコード群の最後にリターン命令を配置せずそのまま次のサブルーチンのプログラムコード群の最初に繋ぐようにしてもよい。このような構成のプログラムモジュールとすると、プログラム全体として容量を低減することができるようになる。
ステップS86に続いて、主制御プログラムは、普通図柄及び普通電動役物制御処理を行う(ステップS88)。この普通図柄及び普通電動役物制御処理では、主制御プログラムが、上述した入力情報記憶領域から入力情報を読み出してこの入力情報に基づいてゲート入賞処理を行う。このゲート入賞処理では、主制御プログラムが、入力情報からゲートスイッチ2301からの検出信号が入力端子に入力されていたか否かを判定する。主制御プログラムは、この判定結果に基づいて、検出信号が入力端子に入力されていた場合、上述した普通図柄当り判定用乱数を更新するカウンタの値等を抽出してゲート情報として主制御内蔵RAMのゲート情報記憶領域に記憶する。
このゲート情報記憶領域には、第0区画〜第3区画(4つの区画)が設けられており、第0区画、第1区画、第2区画、そして第3区画の順にゲート情報が格納されるようになっている。例えばゲート情報がゲート情報記憶の第0区画〜第2区画に格納されている場合、ゲートスイッチ2301からの検出信号が入力端子に入力されていたときにはゲート情報をゲート情報記憶の第3区画に格納する。
ゲート情報はゲート情報記憶の第0区画に格納されているものが主制御内蔵RAMの作業領域にセットされる。このゲート情報がセットされると、ゲート情報記憶の第1区画のゲート情報がゲート情報記憶の第0区画に、ゲート情報記憶の第2区画のゲート情報がゲート情報記憶の第1区画に、ゲート情報記憶の第3区画のゲート情報がゲート情報記憶の第2区画に、それぞれシフトされてゲート情報記憶の第3区画が空き領域となる。例えば、ゲート情報記憶の第1区画〜第2区画にゲート情報が記憶されている場合には、ゲート情報記憶の第1区画のゲート情報がゲート情報記憶の第0区画に、ゲート情報記憶の第2区画のゲート情報がゲート情報記憶の第1区画にそれぞれシフトされてゲート情報記憶の第2区画及びゲート情報記憶の第3区画が空き領域となる。ここで、ゲート情報記憶の第1区画〜第3区画にゲート情報が格納されていると、格納されたゲート情報の総数を保留球として普通図柄記憶表示器1188を点灯させるよう、上述したゲート情報に基づいて普通図柄記憶表示器1188の点灯信号の出力を設定し、出力情報として上述した出力情報記憶領域に記憶する。
このようなゲート入賞処理に続いて、主制御プログラムは、主制御内蔵RAMの作業領域にセットされたゲート情報を読み出し、この読み出したゲート情報から普通図柄当り判定用乱数の値を取り出して主制御内蔵ROMに予め記憶されている普通図柄当り判定値と一致するか否かを判定する(「普通抽選」という)。主制御プログラムは、この判定結果(普通抽選による抽選結果)に応じて一対の可動片2106を開閉動作させるか否かを決定する。主制御プログラムは、この決定により開閉動作をさせる場合、一対の可動片2106が開放状態となることで第二始動口2102へ遊技球が受け入れ可能となる遊技状態となって遊技者にとって有利な遊技状態に移行させる。さらに主制御プログラムは、上述した普通図柄変動表示パターン用乱数の値に基づいて、上述した決定と対応する普通図柄の変動表示パターンを決定し、図10に示した普図同調演出関連に区分される各種コマンドを作成し、送信情報として上記送信情報記憶領域に記憶するとともに、その決定した普通図柄の変動表示パターンに従って普通図柄表示器1189を点灯させるよう普通図柄表示器1189への点灯信号の出力を設定し、出力情報として上記出力情報記憶領域に記憶する。また、主制御プログラムは、その取り出した普通図柄当り判定用乱数の値が主制御内蔵ROMに予め記憶されている普通図柄当り判定値と一致しているときには、図10に示した普通電役演出関連の各種コマンドを作成し、送信情報として送信情報記憶領域に記憶するとともに、一対の可動片2106を開閉動作させるよう始動口ソレノイド2105への駆動信号の出力を設定し、出力情報として上述した出力情報記憶領域に記憶する。一方、主制御プログラムは、その取り出した普通図柄当り判定用乱数の値が主制御内蔵ROMに予め記憶されている普通図柄当り判定値と一致していないときには、上述した普通図柄変動表示パターン用乱数に基づいて普通図柄変動表示パターンを決定し、図10に示した普図同調演出関連に区分される各種コマンドを作成し、送信情報として上述した送信情報記憶領域に記憶するとともに、その決定した普通図柄変動表示パターンに従って普通図柄表示器1189を点灯させるよう普通図柄表示器1189への点灯信号の出力を設定し、出力情報として上述した出力情報記憶領域に記憶する。
ステップS88に続いて、主制御プログラムはポート出力処理を行う(ステップS90)。このポート出力処理では、この主制御プログラムが主制御MPU4100aの各種出力ポートの出力端子から、上述した出力情報記憶領域から出力情報を読み出してこの出力情報に基づいて各種信号を出力する。この主制御プログラムは、例えば、出力情報に基づいて主制御MPU4100aの所定の出力ポートの出力端子から、払出制御基板4110からの各種コマンドを正常に受信完了したときには主払ACK信号を払出制御基板4110に出力したり、大当り遊技状態であるときには大入賞口2103の開閉部材2107の開閉動作を行うアタッカソレノイド2108A,2108Bに駆動信号を出力したり、一対の可動片2106の開閉動作を行う始動口ソレノイド2105に駆動信号を出力したりするほかに、2ラウンド大当り情報出力信号、6ラウンド大当り情報出力信号、12ラウンド大当り情報出力信号、16ラウンド大当り情報出力信号、確率変動中情報出力信号、特別図柄表示情報出力信号、普通図柄表示情報出力信号、時短中情報出力情報、始動口入賞情報出力信号等の遊技に関する各種情報(遊技情報)信号を払出制御基板4110に出力したりする。
ステップS90に続いて、主制御プログラムは、周辺制御基板コマンド送信処理を行う(ステップS92)。この周辺制御基板コマンド送信処理では、この主制御プログラムが、上述した送信情報記憶領域からコマンドやデータなどの送信情報を読み出してこの送信情報を主周シリアルデータとして周辺制御基板4140に送信する(コマンド送信手段)。この送信情報には、本ルーチンである主制御側タイマ割り込み処理で作成した、図10に示した、特図1同調演出関連に区分される各種コマンド、特図2同調演出関連に区分される各種コマンド、大当り関連に区分される各種コマンド(例えば、大入賞口2103に入球した遊技球を検出した際にカウントスイッチ2110からの検出信号に基づく大入賞口カウントコマンドに相当する大入賞口1カウント表示コマンド)、電源投入に区分される各種コマンド、普図同調演出関連に区分される各種コマンド、普通電役演出関連に区分される各種コマンド、図11に示した、報知表示に区分される各種コマンド(扉枠開放コマンド、扉枠閉鎖コマンド、本体枠開放コマンド、本体枠閉鎖コマンドなど)、状態表示に区分される各種コマンド(枠状態1コマンド、エラー解除ナビコマンド及び枠状態2コマンド)、テスト関連に区分される各種コマンド及びその他に区分される各種コマンドが記憶されている。主周シリアルデータは、1パケットが3バイトに構成されている。具体的には、主周シリアルデータは、1バイト(8ビット)の記憶容量を有するコマンドの種類を示すステータスと、1バイト(8ビット)の記憶容量を有する演出のバリエーションを示すモードと、ステータス及びモードを数値とみなしてその合計を算出したサム値と、から構成されており、このサム値は、送信時に作成されている。
この周辺制御基板コマンド送信処理では、主制御プログラムが、RXA端子の受信ポートによって払出制御基板4110から枠状態1コマンド(第1のエラー発生コマンド)を受信した場合、周辺制御基板4140(演出制御部)に対して枠状態1コマンド(第2のエラー発生コマンド)を送信する(エラーコマンド送出手段)。この場合、主制御プログラムは、払出制御基板4110から受け取った枠状態1コマンドを、図11に示す形態の枠状態1コマンドとして周辺制御基板4140に転送している。
またその一方、この周辺制御基板コマンド送信処理では、主制御プログラムが、RXA端子の受信ポートによって払出制御基板4110からエラー解除ナビコマンド(第1のエラー解除コマンド)を受信した場合、周辺制御基板4140に対してエラー解除ナビコマンド(第2のエラー解除コマンド)を送信する(エラーコマンド送出手段)。この場合、主制御プログラムは、払出制御基板4110から受け取ったエラー解除ナビコマンドを、図11に示す形態のエラー解除ナビコマンドとして周辺制御基板4140に転送している。
またさらに、この周辺制御基板コマンド送信処理では、主制御プログラムが、RXA端子の受信ポートによって払出制御基板4110から本体枠開放コマンド(第1の本体枠開放コマンド)を受信した場合、周辺制御基板4140(演出制御部)に対して本体枠開放コマンド(第2の本体枠開放コマンド)を送信する(本体枠コマンド送出手段、第2の本体枠送出手段)。この場合、主制御プログラムは、払出制御基板4110から受け取った本体枠開放コマンドを、図11に示す形態である本体枠開放コマンドとして周辺制御基板4140に転送している。一方、この周辺制御基板コマンド送信処理では、主制御プログラムが、RXA端子の受信ポートによって払出制御基板4110から本体枠閉鎖コマンド(第1の本体枠閉鎖コマンド)を受信した場合、周辺制御基板4140(演出制御部)に対して本体枠閉鎖コマンド(第2の本体枠閉鎖コマンド)を送信する(本体枠コマンド送出手段、第2の本体枠コマンド送出手段、第2の特定枠コマンド送出手段)。この場合、主制御プログラムは、払出制御基板4110から受け取った本体枠閉鎖コマンドを、図11に示す形態である本体枠閉鎖コマンドとして周辺制御基板4140に転送している。
また、この周辺制御基板コマンド送信処理では、主制御プログラムが、RXA端子の受信ポートによって払出制御基板4110から扉枠開放コマンド(第1の扉枠開放コマンド)を受信した場合、周辺制御基板4140(演出制御部)に対して扉枠開放コマンド(第2の扉枠開放コマンド)を送信する(扉枠コマンド送出手段、第2の扉枠コマンド送出手段、第2の特定枠コマンド送出手段)。この場合、主制御プログラムは、払出制御基板4110から受け取った扉枠閉鎖コマンドを、図11に示す形態である扉閉鎖コマンドとして周辺制御基板4140に転送している。一方、この周辺制御基板コマンド送信処理では、主制御プログラムが、RXA端子の受信ポートによって払出制御基板4110から扉閉鎖コマンド(第1の扉閉鎖コマンド)を受信した場合、周辺制御基板4140(演出制御部)に対して扉閉鎖コマンド(第2の扉閉鎖コマンド)を送信する(扉枠コマンド送出手段、第2の扉枠コマンド送出手段、第2の特定枠コマンド送出手段)。この場合、主制御プログラムは、払出制御基板4110から受け取った扉閉鎖コマンドを、図11に示す形態である扉閉鎖コマンドとして周辺制御基板4140に転送している。
ステップS92に続いて、主制御プログラムは、ウォッチドックタイマクリアレジスタWCLに値Cをセットする(ステップS94)。ステップS94でウォッチドックタイマクリアレジスタWCLに値Cがセットされることにより、ウォッチドックタイマクリアレジスタWCLには、ステップS70においてセットされた値Bに続いて値Cがセットされる。これにより、ウォッチドックタイマクリアレジスタWCLには、値A、値Bそして値Cが順にセットされ、ウォッチドックタイマがクリア設定される。
ステップS94に続いて、主制御プログラムは、レジスタの切替(復帰)を行い(ステップS96)、このルーチンを終了する。ここで、本ルーチンである主制御側タイマ割り込み処理が開始されると、主制御MPU4100aは、ハード的に汎用レジスタの内容をスタックに積んで退避する。これにより、主制御側メイン処理で使用していた汎用レジスタの内容の破壊を防いでいる。ステップS96では、スタックに積んで退避した内容を読み出し、もとのレジスタに書き込む。なお、主制御MPU4100aは、ステップS96による復帰の後に割り込み許可の設定を行う。
[4−5.特別図柄及び特別電動役物制御処理]
次に、特別図柄及び特別電動役物制御処理について説明する。図15は、本実施形態における特別図柄及び特別電動役物制御処理の手順の一例を示すフローチャートである。特別図柄及び特別電動役物制御処理は、図14に示した主制御側タイマ割り込み処理におけるステップS86の処理で実行される。
特別図柄及び特別電動役物制御処理では、主制御プログラムが、上述した大当り判定用乱数をカウンタにより+1ずつ更新しており、第一始動口2101又は第二始動口2102への遊技球の受け入れ、すなわち、始動入賞を契機として(始動条件の成立)、この始動条件が成立した始動記憶情報ごとに、上述したカウンタの値を取り出して大当り用乱数値とし、この大当り用乱数値が主制御内蔵ROMに予め記憶されている大当り判定値と一致するか否かを判定する(抽選手段)。以下、この判定処理を「特別抽選」とも表現する。主制御プログラムは、抽選結果に基づいて大当り遊技状態を発生させるか否かを判定し、大当り用乱数値が大当り判定値と一致している(予め定められた当選条件が成立している)場合には通常遊技状態から大当り遊技状態に移行させる。大当り遊技状態は、特別遊技状態、第一特別遊技状態、第二特別遊技状態に相当し、これらを総称した遊技状態を示すものとする。
なお、主制御プログラムは、大当り遊技態様を決定する際、大当り遊技態様決定処理においてセットされる大当り遊技の態様を定義するためのデータとして、例えばラウンド数、開放時間、閉鎖時間、及び遊技球の入賞制限数カウント数を表す定義データ(テーブル)を、大入賞口の数に応じてオフセットさせたアドレスで指定される主制御内蔵RAMの一部の記憶領域である定義データ領域(図示せず)から読み出している。以下、図15に示したフローチャートに沿って特別図柄及び特別電動役物制御処理の手順を説明する。
特別図柄及び特別電動役物制御処理が開始されると、主制御基板4100の主制御MPU4100aは、まず、下大入賞口(大入賞口1)に遊技球が入賞したか否かを判定する(ステップS100)。下大入賞口に遊技球が入賞した場合には(ステップS100の結果が「yes」)、下大入賞口に入賞したことを示す大入賞口入賞指定コマンドをセットし(ステップS104)、所定の領域にコマンドを格納するコマンド格納処理を実行する(ステップS106)。
同様に、主制御MPU4100aは、上大入賞口(大入賞口2)に遊技球が入賞したか否かを判定する(ステップS106)。上大入賞口に遊技球が入賞した場合には(ステップS106の結果が「yes」)、上大入賞口に入賞したことを示す大入賞口入賞指定コマンドをセットし(ステップS108)、コマンド格納処理を実行する(ステップS110)。なお、大入賞口に遊技球が入球したか否かはカウントスイッチ2110によって検出される。
さらに、主制御MPU4100aは、ゲート部(上ゲート)2350を遊技球が通過したか否かを判定する(ステップS112)。ゲート部2350を遊技球が通過した場合には(ステップS112の結果が「yes」)、ゲート部2350を遊技球が通過したことを示す役連作動ゲート通過コマンドをセットし(ステップS114)、コマンド格納処理を実行する(ステップS116)。
続いて、主制御MPU4100aは、始動入賞口(第一始動口2101、第二始動口2102)に遊技球が入賞したか否かを判定する。まず、入賞の判定の対象となる始動口を示す始動口識別エリアに始動口1識別値を設定する(ステップS118)。
そして、主制御MPU4100aは、第一始動口2101に遊技球が入賞したか否かを判定する(ステップS120)。第一始動口2101に遊技球が入賞したか否かは、第一始動口スイッチ3022からの検出信号があるか否かによって判定される。具体的には、図14に示した主制御側タイマ割り込み処理におけるステップS74のスイッチ入力処理で第一始動口スイッチ3022からの検出信号の有無を読み取って主制御内蔵RAMの入力情報記憶領域に記憶された入力情報に基づいて行われる。
主制御MPU4100aは、第一始動口2101に遊技球が入賞した場合には(ステップS120の結果が「yes」)、始動口入賞時処理を実行する(ステップS122)。始動口入賞時処理では、始動口に新たに遊技球が入賞した場合送信される始動口入賞コマンドを設定したり、大当り判定用乱数等を抽出して所定の領域に格納したり、先読み演出を実行するための処理等を実行したりする。始動口入賞時処理の詳細については、図16にて後述する。
次に、主制御MPU4100aは、始動口識別エリアに始動口2識別値を設定し(ステップS124)、第二始動口2102に遊技球が入賞したか否かを判定する(ステップS126)。第二始動口2102に遊技球が入賞した場合には(ステップS126の結果が「yes」)、第一始動口2101の場合と同様に、始動口入賞時処理を実行する(ステップS128)。
続いて、主制御MPU4100aは、遊技の進行に応じて実行される分岐処理の種類が指定された遊技進行状態変数に基づいて対応する処理を実行する(ステップS130)。遊技進行状態変数は、主制御内蔵RAMの遊技進行状態記憶領域に記憶されており、遊技の進行に応じて実行された各分岐処理において更新される。ステップS130の処理では、遊技進行状態記憶領域に記憶されている遊技進行状態変数の値に基づいて指定された分岐処理に移行し、移行した分岐処理を終えると、特別図柄及び特別電動役物制御処理を終了する。なお、遊技進行状態記憶領域に記憶される遊技進行状態変数の値等は、遊技情報であるため、主制御側電源断時処理においてバックアップされる。
ステップS130処理では、遊技進行状態変数の値に基づいて、分岐処理として、特別図柄変動待ち処理(ステップS200)、特別図柄変動中処理(ステップS220)、特別図柄大当り判定処理(ステップS240)、特別図柄はずれ停止処理(ステップS260)、特別図柄大当り停止処理(ステップS280)、大入賞口開放前インターバル処理(ステップS300)、大入賞口開放処理(ステップS320)、大入賞口閉鎖中処理(ステップS340)、大入賞口開放終了インターバル処理(ステップS360)、役連作動ゲート有効待ち処理(ステップS380)又は役連作動ゲート有効処理(ステップS400)が実行される。
特別図柄変動待ち処理(ステップS200)では、第一始動口2101や第二始動口2102に遊技球が入球したことに基づいて、第一特別図柄表示器641や第二特別図柄表示器642における特別図柄の変動表示を開始させる処理等を行う。
特別図柄変動中処理(ステップS220)では、第一特別図柄表示器641や第二特別図柄表示器642における特別図柄の変動表示を制御する処理等を行う。
特別図柄大当り判定処理(ステップS240)では、第一始動口2101や第二始動口2102に遊技球が入球したことに基づいて、大当り遊技状態を発生させるか否かの判定等を行う。
特別図柄はずれ停止処理(ステップS260)では、大当り遊技状態を発生させない場合に第一特別図柄表示器641や第二特別図柄表示器642における特別図柄の変動表示を停止させてその旨を報知する処理等を行う。
特別図柄大当り停止処理(ステップS280)では、大当り遊技状態を発生させる場合に第一特別図柄表示器1185や第二特別図柄表示器1186における特別図柄の変動表示を停止させてその旨を報知する処理等を行う。
大入賞口開放前インターバル処理(ステップS300)では、大当り遊技状態を発生させて大当り動作が開始される旨を報知するための処理等を行う。
大入賞口開放処理(ステップS320)では、開閉部材2006を閉じた状態から開いた状態とすることにより大入賞口2103に遊技球が入球容易とする大当り動作に関する処理等を行う。
大入賞口閉鎖中処理(ステップS340)では、開閉部材2006を開いた状態から閉じた状態とすることにより大入賞口2103に遊技球が入球困難とする大当り動作に関する処理等を行う。
入賞口開放終了インターバル処理(ステップS360)では、大当り動作が終了したか否かを判定して終了しているときにはその旨を報知する処理等を行う。
役連作動ゲート有効待ち処理(ステップS380)又は役連作動ゲート有効処理(ステップS400)では、条件装置の作動制御等の処理を行う。
[4−6.始動口入賞時処理]
次に、始動口入賞時処理について説明する。図16は、本実施形態における始動口入賞時処理の手順の一例を示すフローチャートである。始動口入賞時処理は、図15に示した特別図柄及び特別電動役物制御処理におけるステップS122(第一始動口2101)及びS128(第二始動口2102)の処理で実行される。
主制御プログラムは、まず、格納するコマンドデータアドレスとして、始動口入賞時コマンド作成データの先頭アドレスをセットし(ステップS500)、コマンドバッファ設定処理1を実行する(ステップS502)。さらに、入賞した始動口に対応する始動口入賞時制御データテーブルをセットする(ステップS504)。
始動口入賞時処理では、第一始動口2101又は第二始動口2102への遊技球の受け入れを契機として、図11に示した始動口入賞コマンドを作成する。このとき、始動口入賞コマンドは始動入賞口ごとに設定されるものであってもよいし、始動入賞口にかかわらず共通のものであってもよい。主制御プログラムは、このように作成したコマンドを送信情報として送信情報記憶領域に記憶させる。
続いて、主制御プログラムは、ステップS504の処理で設定された始動口入賞時制御データテーブルに設定された保留球数アドレスが示す領域に格納された保留球数を取得する(ステップS506)。そして、取得された保留球数が上限値(本実施形態では、4)以上であるか否かを判定する(ステップS508)。保留球数が上限値以上の場合には(ステップS508の結果が「yes」)、本処理を終了する。
一方、主制御プログラムは、保留球数が上限値未満の場合には(ステップS508の結果が「no」)、保留球数を1加算する(ステップS510)。さらに、特図1保留数と特図2保留数の合計である特別図柄合計作動保留数を1加算する(ステップS512)。
さらに、主制御プログラムは、始動入賞によって抽出される大当り判定用乱数の格納場所(特別図柄保留記憶エリア)を特定する。具体的には、特別図柄1大当り判定用乱数記憶1エリアのアドレスを基準としてセットし、保留球数に応じた値(具体的には保留球数に格納領域のサイズを乗算した値)をアドレスに加算し、大当り判定用乱数の格納場所を算出する。そして、大当り判定用乱数エリアのアドレスを転送元アドレスとしてセットし、転送元アドレスに格納された値(大当り判定用乱数のカウンタ値)を転送先アドレスに格納する(ステップS514)。また、大当り判定用乱数以外にも、大当り図柄用乱数、リーチ判定用乱数、変動パターン用乱数といった変動時に当落判定若しくは変動パターンを決定するための乱数が始動口入賞時に抽出され、所定の記憶エリアに記憶される。
続いて、主制御プログラムは、特別図柄合計作動保留数に基づいて、新たな保留記憶における図柄変動の変動パターンを選択するための特図識別値を、対応する保留識別履歴エリアにセットする(ステップS516)。
最後に、主制御プログラムは、先読み予告演出を実行するための記憶先読み処理を実行する(ステップS518)。先読み予告演出は、特別図柄の変動表示が終了する前に特別抽選の抽選結果を事前に暗示させる演出である。記憶先読み処理では、特別図柄の変動表示を開始する前に各種乱数を取得し、取得した乱数値に基づいて先読み演出を周辺制御基板で決定するための情報を生成し、送信情報として送信情報記憶領域に記憶させる。この際、主制御プログラムは、特別抽選の乱数値そのものの代わりに、大当り遊技の種別を示唆している情報として特別図柄の停止図柄に関する情報をコマンドに含めるようにしてもよい。
[5.周辺制御基板の各種制御処理]
次に、主制御基板4100(主制御MPU4100a)から各種コマンドを受信する周辺制御基板4140の各種処理について、図17〜図25を参照して説明する。図17は周辺制御部電源投入時処理の一例を示すフローチャートであり、図18は周辺制御部Vブランク割り込み処理の一例を示すフローチャートであり、図19は周辺制御部1msタイマ割り込み処理の一例を示すフローチャートであり、図20は周辺制御部コマンド受信割り込み処理の一例を示すフローチャートである。
周辺制御基板4140は、図7に示したように、周辺制御部4150と液晶及び音制御部4160等から構成されており、ここでは、周辺制御部4150の各種制御処理について説明する。まず、周辺制御部電源投入時処理について説明し、続いて周辺制御部Vブランク割り込み処理、周辺制御部1msタイマ割り込み処理、周辺制御部コマンド受信割り込み処理、周辺制御部停電予告信号割り込み処理について説明する。なお、本実施形態では、割り込み処理の優先順位として、周辺制御部停電予告信号割り込み処理が最も高く設定され、続いて周辺制御部1msタイマ割り込み処理、周辺制御部コマンド受信割り込み処理、そして周辺制御部Vブランク割り込み処理という順番に設定されている。
[5−1.周辺制御部の各種制御処理]
[5−1−1.周辺制御部電源投入時処理]
まず、周辺制御部電源投入時処理について、図17を参照して説明する。パチンコ遊技機1に電源が投入されると、図7に示した周辺制御部4150の周辺制御MPU4150aは、図17に示すように、周辺制御部電源投入時処理を行う。この周辺制御部電源投入時処理が開始されると、演出制御プログラムが周辺制御MPU4150aの制御の下、初期設定処理を行う(ステップS1000)。この初期設定処理では、演出制御プログラムが、周辺制御MPU4150a自身を初期化する処理と、ホットスタート/コールドスタートの判定処理と、リセット後のウェイトタイマを設定する処理等を行う。周辺制御MPU4150aは、まず自身を初期化する処理を行うが、この周辺制御MPU4150aを初期化する処理にかかる時間は、マイクロ秒(μs)オーダーであり、極めて短い時間で周辺制御MPU4150aを初期化することができる。これにより、周辺制御MPU4150aは、割り込み許可が設定された状態となることによって、例えば、後述する周辺制御部コマンド受信割り込み処理において、主制御基板4100から出力される、図10及び図11に示した、遊技演出の制御に関するコマンドやパチンコ遊技機1の状態に関するコマンド等の各種コマンドを受信することができる状態となる。また、当該周辺制御MPU4150a自身を初期化する処理においては、周辺制御MPU4150aが、音源内蔵VDP4160aにその内蔵VRAMの記憶領域に、例えば「0」を書き込ませることによってその内蔵VRAMを初期化する。
ホットスタート/コールドスタートの判定処理では、図8に示した周辺制御RAM4150cついては、そのバックアップ第1エリア4150cbにおける、Bank1(1fr)及びBank2(1fr)にバックアップされている内容である演出バックアップ情報(1fr)を比較するとともに、Bank1(1ms)及びBank2(1ms)にバックアップされている内容である演出バックアップ情報(1ms)を比較し、そのバックアップ第2エリア4150ccにおける、Bank3(1fr)及びBank4(1fr)にバックアップされている内容である演出バックアップ情報(1fr)を比較するとともに、Bank3(1ms)及びBank4(1ms)にバックアップされている内容である演出バックアップ情報(1ms)を比較し、この比較した内容が一致しているときには図8に示した周辺制御RAM4150cの通常使用する記憶領域である、Bank0(1fr)に対してBank1(1fr)に記憶されている内容である演出バックアップ情報(1fr)と、Bank0(1ms)に対してBank1(1ms)に記憶されている内容である演出バックアップ情報(1ms)と、をそれぞれコピーバックしてホットスタートとする一方、比較した内容が一致していないとき(つまり、不一致であるとき)には周辺制御RAM4150cの通常使用する記憶領域である、Bank0(1fr)及びBank0(1ms)に対してそれぞれ値0を強制的に書き込んでコールドスタートとする。
またホットスタート/コールドスタートの判定処理では、周辺制御SRAM4150dについても、そのバックアップ第1エリア4150dbにおける、Bank1(SRAM)及びBank2(SRAM)にバックアップされている内容である演出バックアップ情報(SRAM)を比較するとともに、そのバックアップ第2エリア4150dcにおける、Bank3(SRAM)及びBank4(SRAM)にバックアップされている内容である演出バックアップ情報(SRAM)を比較する。この比較した内容が一致しているときには周辺制御SRAM4150d(図7参照)の通常使用する記憶領域であるBank0(SRAM)に対してBank0(SRAM)に記憶されている内容である演出バックアップ情報(SRAM)をコピーバックしてホットスタートとする一方、比較した内容が一致していないとき(つまり、不一致であるとき)には周辺制御SRAM4150dの通常使用する記憶領域であるBank0(SRAM)に対して値0を強制的に書き込んでコールドスタートとする。このようなホットスタート又はコールドスタートに続いて、周辺制御RAM4150c(図8参照)のバックアップ非管理対象ワークエリア4150cfに対して値0を強制的に書き込んでゼロクリアする。そして周辺制御MPU4150aは、この初期化設定処理を行った後に、周辺制御内蔵WDT4150afと、周辺制御外部WDT4150e(図7参照)と、にクリア信号を出力して周辺制御MPU4150aにリセットがかからないようにしている。
さらに、この周辺制御部電源投入時処理では、タッチパネルモジュール246a(接触入力制御手段)に内蔵されている電源投入時接触感度調整機能が次のように作動する。すなわち、この電源投入時接触感度調整機能では、タッチパネルモジュール246a自身が、電源制御部によって電力の供給が開始されたことを契機としてタッチパネル246の接触面における接触感度を調整する(初期接触感度調整手段)。具体的には、まず、タッチパネルコントローラ481のコントロールレジスタ481aには、タッチパネル246の接触面が非接触状態にある場合における静電容量としての接触判定用閾値が記憶されている。タッチパネルコントローラ481は、電源制御部によって電力の供給が開始されたことを契機として、コントロールレジスタ481aに記憶されている接触判定用閾値を予め定められた接触判定用閾値の初期値(以下「初期接触判定用閾値」ともいう)で更新する。
ステップS1000に続いて、演出制御プログラムは現在時刻情報取得処理を行う(ステップS1002)。この現在時刻情報取得処理では、図7に示したRTC制御部4165のRTC4165aのRTC内蔵RAM4165aaから、年月日を特定するカレンダー情報と時分秒を特定する時刻情報とを取得して、図8に示した周辺制御RAM4150cのRTC情報取得記憶領域4150cadに、現在のカレンダー情報としてカレンダー情報記憶部にセットするとともに、現在の時刻情報として時刻情報記憶部にセットする。また、現在時刻情報取得処理では、液晶表示装置の輝度設定処理も行う。この液晶表示装置の輝度設定処理では、周辺制御MPU4150aがRTC制御部4165のRTC内蔵RAM4165aaから輝度設定情報を取得して、この取得した輝度設定情報に含まれるLEDの輝度となるように、遊技盤側液晶表示装置1900のバックライトの輝度を調節して点灯する処理を行う。輝度設定情報は、上述したように、遊技盤側液晶表示装置1900のバックライトであるLEDの輝度が100%〜70%までに亘る範囲を5%刻みで調節するための輝度調節情報と、現在設定されている遊技盤側液晶表示装置1900のバックライトであるLEDの輝度と、が含まれているものである。
液晶表示装置の輝度設定処理では、具体的には、RTC制御部4165のRTC内蔵RAM4165aaに記憶されている輝度設定情報に含まれるLEDの輝度が75%で遊技盤側液晶表示装置1900のバックライトを点灯するときには、輝度設定情報に含まれる輝度調節情報に基づいて遊技盤側液晶表示装置1900のバックライトの輝度を調節して点灯し、RTC制御部4165のRTC内蔵RAM4165aaに記憶されている輝度設定情報に含まれるLEDの輝度が80%で遊技盤側液晶表示装置1900のバックライトを点灯するときには、輝度設定情報に含まれる輝度調節情報に基づいて遊技盤側液晶表示装置1900のバックライトの輝度を調節して点灯する。なお、この液晶表示装置の輝度設定処理では、上述した、遊技盤側液晶表示装置1900の使用時間に応じて遊技盤側液晶表示装置1900の輝度を補正するための輝度補正プログラムと同様な補正が全く行われないようになっている。これは、この液晶表示装置の輝度設定処理に輝度補正プログラムと同様な補正プログラムが組み込まれることにより、液晶表示装置の輝度設定処理が実行されるごとに、LEDの輝度が100%に向かって補正されるのを防止するためである。
本実施形態では、周辺制御MPU4150aがRTC4165aのRTC内蔵RAM4165aaからカレンダー情報と時刻情報とを取得するのは、電源投入時の1回のみとなっている。また周辺制御MPU4150aは、この現在時刻情報取得処理を行った後に、周辺制御内蔵WDT4150afと周辺制御外部WDT4150eとにクリア信号を出力して周辺制御MPU4150aにリセットがかからないようにしている。
ステップS1002に続いて、演出制御プログラムは、Vブランク信号検出フラグVB−FLGに値0をセットする(ステップS1006)。このVブランク信号検出フラグVB−FLGは、後述する周辺制御部定常処理を実行するか否かを決定するためのフラグであり、周辺制御部定常処理を実行するとき値1、周辺制御部定常処理を実行しないとき値0にそれぞれ設定される。Vブランク信号検出フラグVB−FLGは、周辺制御MPU4150aからの画面データを受け入れることができる状態である旨を伝えるVブランク信号が音源内蔵VDP4160aから入力されたことを契機として実行される後述する周辺制御部Vブランク信号割り込み処理において値1がセットされるようになっている。このステップS1006では、Vブランク信号検出フラグVB−FLGに値0をセットすることによりVブランク信号検出フラグVB−FLGを一度初期化している。また周辺制御MPU4150aは、このVブランク信号検出フラグVB−FLGに値0をセットした後に、周辺制御内蔵WDT4150afと周辺制御外部WDT4150eとにクリア信号を出力して周辺制御MPU4150aにリセットがかからないようにしている。
ステップS1006に続いて、演出制御プログラムは、Vブランク信号検出フラグVB−FLGが値1であるか否かを判定する(ステップS1008)。このVブランク信号検出フラグVB−FLGが値1でない(値0である)ときには、再びステップS1008に戻ってVブランク信号検出フラグVB−FLGが値1であるか否かを繰り返し判定する。このような判定を繰り返すことにより、周辺制御部定常処理を実行するまで待機する状態となる。また周辺制御MPU4150aは、このVブランク信号検出フラグVB−FLGが値1であるか否かを判定した後に、周辺制御内蔵WDT4150afと周辺制御外部WDT4150eとにクリア信号を出力して周辺制御MPU4150aにリセットがかからないようにしている。
ステップS1008でVブランク信号検出フラグVB−FLGが値1であるとき、つまり周辺制御部定常処理を実行するときには、まず定常処理中フラグSP−FLGに値1をセットする(ステップS1009)。この定常処理中フラグSP−FLGは、周辺制御部定常処理を実行中であるとき値1、周辺制御部定常処理を実行完了したとき値0にそれぞれセットされる。
ステップS1009に続いて、演出制御プログラムは1ms割り込みタイマ起動処理を行う(ステップS1010)。この1ms割り込みタイマ起動処理では、後述する周辺制御部1msタイマ割り込み処理を実行するための1ms割り込みタイマを起動するとともに、この1ms割り込みタイマが起動して周辺制御部1msタイマ割り込み処理が実行された回数をカウントするための1msタイマ割り込み実行回数STNに値1をセットして1msタイマ割り込み実行回数STNの初期化も行う。この1msタイマ割り込み実行回数STNは周辺制御部1msタイマ割り込み処理で更新される。
ステップS1010に続いて、演出制御プログラムは、ランプデータ出力処理を行う(ステップS1012)。このランプデータ出力処理では、演出制御プログラムが図7に示したランプ駆動基板4170へのDMAシリアル連続送信を行う。ここでは、図8に示した周辺制御MPU4150aの周辺制御DMAコントローラ4150acを利用してランプ駆動基板用シリアルI/Oポート連続送信を行う。このランプ駆動基板用シリアルI/Oポート連続送信が開始されるときには、図8に示した周辺制御MPU4150aに外付けされる周辺制御RAM4150cのランプ駆動基板側送信データ記憶領域4150caaに、遊技盤4に設けた各種装飾基板の複数のLEDへの点灯信号、点滅信号、又は階調点灯信号を出力するための遊技盤側発光データSL−DATが後述するランプデータ作成処理で作成されてセットされた状態となっている。
周辺制御MPU4150aの周辺制御CPUコア4150aaは、周辺制御DMAコントローラ4150acの要求要因にランプ駆動基板用シリアルI/Oポートの送信を指定し、ランプ駆動基板側送信データ記憶領域4150caaの先頭アドレスに格納された遊技盤側発光データSL−DATのうちの最初の1バイトを、外部バス4150h、周辺制御バスコントローラ4150ad、そして周辺バス4150aiを介して、ランプ駆動基板用シリアルI/Oポートの送信バッファレジスタに転送して書き込む。これにより、ランプ駆動基板用シリアルI/Oポートは、この書き込まれた送信バッファレジスタのデータを送信シフトレジスタに転送し、遊技盤側発光クロック信号SL−CLKと同期して送信シフトレジスタの1バイトのデータを、1ビットずつ送信開始する。
周辺制御DMAコントローラ4150acは、ランプ駆動基板用シリアルI/Oポートの送信割り込み要求が発生するごとに、これを契機として(本実施形態では、ランプ駆動基板用シリアルI/Oポートの送信バッファレジスタに書き込まれた1バイトのデータが送信シフトレジスタに転送され、その送信バッファレジスタに1バイトのデータがなくなって空となったことを契機としている。)、周辺制御CPUコア4150aaがバスを使用していない場合に、ランプ駆動基板側送信データ記憶領域4150caaに格納された残りの遊技盤側発光データSL−DATを1バイトずつ、外部バス4150h、周辺制御バスコントローラ4150ad、そして周辺バス4150aiを介して、ランプ駆動基板用シリアルI/Oポートの送信バッファレジスタに転送して書き込むことで、ランプ駆動基板用シリアルI/Oポートは、この書き込まれた送信バッファレジスタのデータを送信シフトレジスタに転送し、遊技盤側発光クロック信号SL−CLKと同期して送信シフトレジスタの1バイトのデータを、1ビットずつ送信開始し、ランプ駆動基板用シリアルI/Oポートによる連続送信を行っている。
またランプデータ出力処理では、演出制御プログラムが、図7に示した枠装飾駆動アンプ基板194へのDMAシリアル連続送信処理を行う。ここでも、周辺制御MPU4150aの周辺制御DMAコントローラ4150acを利用して枠装飾駆動アンプ基板LED用シリアルI/Oポート連続送信を行う。この枠装飾駆動アンプ基板LED用シリアルI/Oポート連続送信が開始されるときには、図8に示した周辺制御MPU4150aに外付けされる周辺制御RAM4150cの枠装飾駆動アンプ基板側LED用送信データ記憶領域4150cabに、扉枠5に設けた各種装飾基板の複数のLEDへの点灯信号、点滅信号又は階調点灯信号を出力するための扉側発光データSTL−DATが後述するランプデータ作成処理で作成されてセットされた状態となっている。
周辺制御MPU4150aの周辺制御CPUコア4150aaは、周辺制御DMAコントローラ4150acの要求要因に枠装飾駆動アンプ基板LED用シリアルI/Oポートの送信を指定し、枠装飾駆動アンプ基板側LED用送信データ記憶領域4150cabの先頭アドレスに格納された扉側発光データSTL−DATのうちの最初の1バイトを、外部バス4150h、周辺制御バスコントローラ4150ad、そして周辺バス4150aiを介して、枠装飾駆動アンプ基板LED用シリアルI/Oポートの送信バッファレジスタに転送して書き込む。これにより、枠装飾駆動アンプ基板LED用シリアルI/Oポートは、この書き込まれた送信バッファレジスタのデータを送信シフトレジスタに転送し、扉側発光クロック信号STL−CLKと同期して送信シフトレジスタの1バイトのデータを、1ビットずつ送信開始する。
周辺制御DMAコントローラ4150acは、枠装飾駆動アンプ基板LED用シリアルI/Oポートの送信割り込み要求が発生するごとに、これを契機として(本実施形態では、枠装飾駆動アンプ基板LED用シリアルI/Oポートの送信バッファレジスタに書き込まれた1バイトのデータが送信シフトレジスタに転送され、その送信バッファレジスタに1バイトのデータがなくなって空となったことを契機としている。)、周辺制御CPUコア4150aaがバスを使用していない場合に、枠装飾駆動アンプ基板側LED用送信データ記憶領域4150cabに格納された残りの扉側発光データSTL−DATを1バイトずつ、外部バス4150h、周辺制御バスコントローラ4150ad、そして周辺バス4150aiを介して、枠装飾駆動アンプ基板LED用シリアルI/Oポートの送信バッファレジスタに転送して書き込むことで、枠装飾駆動アンプ基板LED用シリアルI/Oポートは、この書き込まれた送信バッファレジスタのデータを送信シフトレジスタに転送し、扉側発光クロック信号STL−CLKと同期して送信シフトレジスタの1バイトのデータを、1ビットずつ送信開始し、枠装飾駆動アンプ基板LED用シリアルI/Oポートによる連続送信を行っている。
ステップS1012に続いて、演出制御プログラムは、操作ユニット監視処理を行う(ステップS1014)。この操作ユニット監視処理では、後述する周辺制御部1msタイマ割り込み処理における操作ユニット情報取得処理において、図7に示した操作ユニット400に設けられた各種検出スイッチからの検出信号に基づいてダイヤル操作部401の回転(回転方向)及び押圧操作部405の操作等を取得した各種情報(例えば、操作ユニット400に設けられた各種検出スイッチからの検出信号に基づいて作成するダイヤル操作部401の回転(回転方向)履歴情報、及び押圧操作部405の操作履歴情報など。)がセットされる図8に示した周辺制御RAM4150cの操作ユニット情報取得記憶領域4150caiに基づいて、ダイヤル操作部401の回転方向や押圧操作部405の操作有無を監視し、ダイヤル操作部401の回転方向や押圧操作部405の操作の状態を遊技演出に反映するか否かを適宜決定する。
ステップS1014に続いて、演出制御プログラムは、表示データ出力処理を行う(ステップS1016)。この表示データ出力処理では、後述する表示データ作成処理で音源内蔵VDP4160aの内蔵VRAM上に生成した1画面分(1フレーム分)の描画データを音源内蔵VDP4160aがチャンネルCH1,2から遊技盤側液晶表示装置1900及び上皿側液晶表示装置244に出力する。これにより、遊技盤側液晶表示装置1900及び上皿側液晶表示装置244にさまざまな画面が描画される。なお、表示データ出力処理では、音源内蔵VDP4160aの描画能力を超える描画を行った場合には、生成した1画面分(1フレーム分)の描画データを遊技盤側液晶表示装置1900及び上皿側液晶表示装置244に出力することをキャンセルするようになっている。これにより、処理時間の遅れを防止することができるが、いわゆるコマ落ちが発生することとなるものの、ステップS1012のランプデータ出力処理による、遊技盤4に設けた各種装飾基板の複数のLED、及び扉枠5に設けた各種装飾基板の複数のLEDによる演出と、後述する音データ出力処理による、図5に示した本体枠3に設けたスピーカボックス920に収容されるスピーカー及び図2に示した扉枠5に設けたスピーカーから各種演出に合わせた音楽や効果音等による演出と、の同期を優先することができる仕組みとなっている。
ステップS1016に続いて、演出制御プログラムは、音データ出力処理を行う(ステップS1018)。この音データ出力処理では、演出制御プログラムが、後述する音データ作成処理で音源内蔵VDP4160aに設定された音楽及び効果音等の音データをシリアル化したオーディオデータとしてオーディオデータ送信IC4160cに出力したり、音楽及び効果音のほかに報知音や告知音の音データをシリアル化したオーディオデータとしてオーディオデータ送信IC4160cに出力したりする。このオーディオデータ送信IC4160cは、音源内蔵VDP4160aからのシリアル化したオーディオデータが入力されると、右側オーディオデータを、プラス信号及びマイナス信号とする差分方式のシリアルデータとして枠装飾駆動アンプ基板194に向かって送信するとともに、左側オーディオデータを、プラス信号及びマイナス信号とする差分方式のシリアルデータとして枠装飾駆動アンプ基板194に向かって送信する。これにより、本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから各種演出に合わせた音楽や効果音等がステレオ再生されたりするほかに報知音や告知音もステレオ再生されたりする。
ステップS1018に続いて、演出制御プログラムはスケジューラ更新処理を行う(ステップS1020)。このスケジューラ更新処理では、演出制御プログラムが図8に示した周辺制御RAM4150cのスケジュールデータ記憶領域4150caeにセットされた各種スケジュールデータを更新する。例えば、スケジューラ更新処理では、スケジュールデータ記憶領域4150caeにセットされた画面生成用スケジュールデータを構成する時系列に配列された画面データのうち、先頭の画面データから何番目の画面データを音源内蔵VDP4160aに出力するのかを指示するために、ポインタを更新する。
またスケジューラ更新処理では、スケジュールデータ記憶領域4150caeにセットされた発光態様生成用スケジュールデータを構成する時系列に配列された発光データのうち、先頭の発光データから何番目の発光データを各種LEDの発光態様とするのかを指示するために、ポインタを更新する。
またスケジューラ更新処理では、スケジュールデータ記憶領域4150caeにセットされた音生成用スケジュールデータを構成する時系列に配列された、音楽や効果音等の音データ、報知音や告知音の音データを指示する音指令データのうち、先頭の音指令データから何番目の音指令データを音源内蔵VDP4160aに出力するのかを指示するために、ポインタを更新する。
またスケジューラ更新処理では、スケジュールデータ記憶領域4150caeにセットされた電気的駆動源スケジュールデータを構成する時系列に配列されたモータやソレノイド等の電気的駆動源の駆動データのうち、先頭の駆動データから何番目の駆動データを出力対象とするのかを指示するために、ポインタを更新する。電気的駆動源スケジュールデータを構成する時系列に配列されたモータやソレノイド等の電気的駆動源の駆動データは、後述する、1msタイマ割り込みが発生するごとに繰り返し実行される周辺制御部1msタイマ割り込み処理におけるモータ及びソレノイド駆動処理で更新される。この1msタイマ割り込みが発生するごとに繰り返し実行されるモータ及びソレノイド駆動処理では、ポインタが指示する駆動データに従ってモータやソレノイド等の電気的駆動源を駆動するとともに、時系列に規定された次の駆動データにポインタを更新し、自身の処理を実行するごとに、ポインタを更新する。つまり、モータ及びソレノイド駆動処理において更新したポインタの指示する駆動データは、スケジューラ更新処理において強制的に更新される仕組みとなっているため、仮に、モータ及びソレノイド駆動処理においてポインタが何らかの原因で本来指示するはずの駆動データから他の駆動データを指示することとなっても、スケジューラ更新処理において強制的に本来指示するはずの駆動データに指示するように強制的に更新されるようになっている。
ステップS1020に続いて、演出制御プログラムは、受信コマンド解析処理を行う(ステップS1022)。受信コマンド解析処理では、演出制御プログラムが、主制御基板4100から送信された各種コマンドを、後述する周辺制御部コマンド受信割り込み処理(コマンド受信手段)において受信した各種コマンドの解析を行う(コマンド解析手段)。すなわち、演出制御プログラムは、周辺制御部コマンド受信割り込み処理で受信されたコマンドが、例えば、始動口入賞演出の開始を指示するための始動口入賞コマンド、普通図柄の保留数(0〜4個)を識別するための普通図柄記憶コマンド、図柄同調演出の開始を指示するための図柄同調演出開始コマンド、始動保留数が変化すると出力される図柄記憶コマンド、大入賞口2103に遊技球が受け入れられる度に出力された大入賞口1カウント表示コマンド(大入賞口カウントコマンド)、又は、図11に示される満タンという内容を示す枠状態1コマンド(第2のエラー発生コマンド、満タンエラー発生コマンド)であるか否かを解析し(コマンド解析手段)、現在、どの遊技状態であるかを認識する。また、この演出制御プログラムは、電源投入時から所定時間が経過した後、周辺制御部コマンド受信割り込み処理によって受信されたコマンドが本体枠開放コマンド、本体枠閉鎖コマンド、扉枠開放コマンド又は扉枠閉鎖コマンドであるか否かを解析する。主制御基板4100からの各種コマンドは、周辺制御部コマンド受信割り込み処理で受信されて図8に示した周辺制御RAM4150cの受信コマンド記憶領域4150cacに記憶されるようになっており、受信コマンド解析処理では、演出制御プログラムが、受信コマンド記憶領域4150cacに記憶された各種コマンドの解析を行う。各種コマンドには、図10に示した、特図1同調演出関連に区分される各種コマンド、特図2同調演出関連に区分される各種コマンド、大当り関連に区分される各種コマンド、電源投入に区分される各種コマンド、普図同調演出関連に区分される各種コマンド、普通電役演出関連に区分される各種コマンド、図11に示した、報知表示に区分される各種コマンド、上述した扉枠開放コマンド、扉枠閉鎖コマンド、本体枠開放コマンド及び本体枠閉鎖コマンド並びにエラー解除ナビコマンド(第2のエラー解除コマンドに相当)及び枠状態1コマンド(第2のエラー発生コマンドに相当)などの状態表示に区分される各種コマンド、テスト関連に区分される各種コマンド及びその他に区分される各種コマンドがある。
ステップS1022に続いて、演出制御プログラムが警告処理を行う(ステップS1024)。警告処理では、さらに、演出制御プログラムが、上述のようにステップS1022の受信コマンド解析処理で解析したコマンドに、図11に示した報知表示に区分される各種コマンドが含まれているときには、各種異常報知を実行するための異常表示態様に設定されている、画面生成用スケジュールデータ、発光態様生成用スケジュールデータ、音生成用スケジュールデータ、及び電気的駆動源スケジュールデータ等を、周辺制御部4150の周辺制御ROM4150b又は周辺制御RAM4150cの各種制御データコピーエリア4150ceから抽出して周辺制御RAM4150cのスケジュールデータ記憶領域に4150caeにセットする。なお、警告処理では、複数の異常が同時に発生した場合には、予め登録した優先度の高い順から異常報知から行われ、その異常が解決して残っている他の異常報知に自動的に遷移するようになっている。これにより、一の異常が発生した後であってその異常を解決する前に他の異常が発生して一の異常が発生しているという情報を失うことなく、複数の異常を同時に監視することができる。
さらに、警告処理では、電源投入時から所定時間が経過した後に、演出制御プログラムが、受信コマンド解析処理(ステップS1022)において解析したコマンドが、図11に示した状態表示に区分される各種コマンド、例えばエラー解除ナビコマンド(第2のエラー解除コマンド)である場合、演出動作に伴う通常の演出態様とは異なる態様で液晶及び音制御部4160を制御することにより、例えば、遊技盤側液晶表示装置1900(演出装置)、上皿側液晶表示装置244(演出装置)、ランプ(演出装置)を用いて視覚的に外部に警告したり、一対のサイドスピーカ(演出装置)を用いて聴覚的に外部に警告する(エラー報知手段)。このようにすると、悪意のある遊技者が、遊技状態であるにも拘わらず払出制御基板4110の操作スイッチ952を操作することにより主制御基板4100にエラー解除ナビコマンドを入力しようと試行した際に、パチンコ遊技機1が外部に警告を行う構成となっているため、遊技の進行に影響を及ぼしかねない主制御基板4100に対する不正行為が抑止されるようになる。
次に、ステップS1024の処理に続いて、演出制御プログラムは、RTC取得情報更新処理を行う(ステップS1026)。RTC取得情報更新処理では、演出制御プログラムが、ステップS1002の現在時刻情報取得処理で取得して図8に示した周辺制御RAM4150cのRTC情報取得記憶領域4150cadにセットした、カレンダー情報記憶部に記憶されたカレンダー情報と時刻情報記憶部に記憶された時刻情報とを更新する。このRTC取得情報更新処理により、時刻情報記憶部に記憶される時刻情報である時分秒が更新され、この更新される時刻情報に基づいてカレンダー情報記憶部に記憶されるカレンダー情報である年月日が更新される。
ステップS1026に続いて、演出制御プログラムは演出制御処理を行う(ステップS1027)。演出制御処理では、演出制御プログラムが、実行中の演出の進行状態に基づく処理の実行を指示する。例えば、変動表示ゲームが実行されていない状態でデモ画面を表示したり、特図同調演出のコマンドを受信した場合には特図同調演出の進行を制御する。また、変動表示ゲームの結果に基づいて大当り遊技演出や小当り遊技演出を実行する。演出制御処理の詳細については、図22にて後述する。
ステップS1027に続いて、演出制御プログラムはランプデータ作成処理を行う(ステップS1028)。ランプデータ作成処理では、演出制御プログラムが、ステップS1020のスケジューラ更新処理においてポインタが更新されて、発光態様生成用スケジュールデータを構成する時系列に配列された発光データのうち、そのポインタが指示する発光データに基づいて、遊技盤4に設けた各種装飾基板の複数のLEDへの点灯信号、点滅信号、又は階調点灯信号を出力するための遊技盤側発光データSL−DATを、周辺制御部4150の周辺制御ROM4150b又は周辺制御RAM4150cの各種制御データコピーエリア4150ceから抽出して作成するとともに、図8に示した周辺制御RAM4150cのランプ駆動基板側送信データ記憶領域4150caaにセットするとともに、扉枠5に設けた各種装飾基板の複数のLEDへの点灯信号、点滅信号又は階調点灯信号を出力するための扉側発光データSTL−DATを、周辺制御部4150の周辺制御ROM4150b又は周辺制御RAM4150cの各種制御データコピーエリア4150ceから抽出して作成して、図8に示した周辺制御RAM4150cの枠装飾駆動アンプ基板側LED用送信データ記憶領域4150cabにセットする。
ステップS1028に続いて、演出制御プログラムは表示データ作成処理を行う(ステップS1030)。表示データ作成処理では、ステップS1020のスケジューラ更新処理においてポインタが更新されることにより、演出制御プログラムが、周辺制御MPU4150aに、上記画面生成用スケジュールデータを構成するデータであって時系列に配列された画面データのうち当該ポインタが示す画面データを、周辺制御部4150の周辺制御ROM4150b又は周辺制御RAM4150cの各種制御データコピーエリア4150ceから抽出して音源内蔵VDP4160aに出力する。この音源内蔵VDP4160aは、周辺制御MPU4150aから画面データが入力されると、この入力された画面データに基づいて液晶及び音制御ROM4160bから少なくとも1つのキャラクタデータを抽出するとともに当該抽出した少なくとも1つのキャラクタデータからスプライトデータを作成し、遊技盤側液晶表示装置1900及び上皿側液晶表示装置244に表示する1画面分(1フレーム分)の描画データを内蔵VRAM(フレームバッファに相当)上に生成する。
ところで、従来のパチンコ遊技機では、遊技の進行に応じて、各フレームにおいて背景画像に多数の素材画像を重ねて構成した映像を表示することにより、遊技者の興味が尽きにくい態様としようとしており、より多彩な映像を表示すべくさらに多数の素材画像を各フレームに含めるように表示制御を実行することが要請されているものの、各フレームに多数の素材画像を含めることは、一見すると、表示制御に大きな負担が掛かるように思える。
そこで本実施形態では、多数の素材画像を含むフレームの表示制御を簡素化して処理負担を軽減することを目的として、演出制御プログラムが、描画データに基づいて表示される各フレームと、各フレームに表されうる複数の素材画像との対応関係が予め定義されている対応関係情報を管理する一方、各フレームのうちの所定のフレームを表示させようとした際に当該対応関係情報を参照し当該所定のフレームに含めて表すべき少なくとも1つの所定の素材画像を特定し、音源内蔵VDP4160aに、上記所定の素材画像を含めるとともに当該所定の素材画像を除いた他の素材画像を含めずに描画データを生成させて内蔵VRAM(フレームバッファ)に格納し、この内蔵VRAMに格納された描画データに基づく当該所定フレームを遊技盤側液晶表示装置1900(表示手段)に表示させている。以下、具体的に説明する。
まず、本実施形態においては、各フレームを構成する多数の背景画像の表示に用いる多数の背景画像データのうち、少なくとも一部の背景画像データ(以下「特定の背景画像データ」ともいう)は、この特定の背景画像データに基づく背景画像上において少なくとも1つのスプライトなどの素材画像(以下「特定のスプライト」ともいう)が、本来配置されるべき位置(以下「本来の配置位置」という)において、視認できない表示態様(以下「秘匿状態」という)で表されるように、次のように管理されている。
まず、周辺制御基板4140においては、周辺制御ROM4150bに、次のような対応関係紐付けテーブル(対応関係情報管理手段)が格納されており、周辺制御MPU4150a及び音源内蔵VDP4160aなどがこの対応関係紐付けテーブルを参照する。この対応関係紐付けテーブルにおいては、音源内蔵VDP4160aによって生成される各描画データに基づいて表示される各フレームと当該各フレーム(若しくは所定数のフレーム群グループ)に表されうる少なくとも1つのスプライトとの対応関係を、当該少なくとも1つのスプライトの視覚的な秘匿状態を解除させる秘匿解除コマンド(秘匿解除指令)とともに、予め定義した対応関係情報が管理されている。この対応関係紐付けテーブルにおいては、スプライト番号を用いて各スプライト(や各背景画像)が識別可能とされているとともに、上記対応関係情報の一部として、各フレームの表示範囲における各スプライトの座標値が管理されている。
この対応関係紐付けテーブルでは、このような対応関係情報として、例えば、音源内蔵VDP4160aによって生成される各描画データに基づいて表示される各フレームに表されうるスプライトなどの少なくとも1つの素材画像と、当該少なくとも1つの素材画像の視覚的な秘匿状態を解除させる秘匿解除コマンドとの対応関係が予め定義されている。以下の説明では、当該少なくとも1つの素材画像を「所望のスプライト」という。
上述したように周辺制御MPU4150aは、スケジューラデータに基づいて音源内蔵VDP4160aにスプライトデータから描画データを生成させる機能を有する(描画管理手段)。演出制御プログラムは、始動条件の成立を契機として実行された所定の演出抽選の結果に応じて所定のフレームを表示させようとした際に、周辺制御MPU4150aの制御によって対応関係紐付けテーブルの対応関係情報を参照し、当該所定のフレームに含めて表すべき所望のスプライトを特定する(素材画像特定手段)。
さらに演出制御プログラムは、スケジュールデータに従って所定のフレームに所望のスプライトを表すべき場合に対応関係紐付けテーブルの対応関係情報を参照することによって、当該所望のスプライトに対応する秘匿解除コマンドを特定し、この特定した秘匿解除コマンドを音源内蔵VDP4160aに出力する(秘匿解除指示手段)。この秘匿解除コマンドには、上記所定のフレームにおいて秘匿状態を解除すべき所望のスプライトを識別可能なスプライト番号(以下「所望のスプライト番号」という)が含められている。このような秘匿解除コマンドの出力によって名札情報の表示状態フラグは、初期状態としてオフであったものがオンに更新される。この名札情報及びその表示状態フラグは、各フレームに表されうる各スプライトごとに用意されており、音源内蔵VDP4160aが描画処理を実行する際に参照される。
ここで、演出制御プログラムは、周辺制御MPU4150aの制御によって所定のフレームを表示させようとした際、次のように音源内蔵VDP4160a(描画制御手段)を動作させる。すなわち、音源内蔵VDP4160aは、上記秘匿解除コマンドを受け取っていない場合、上記対応関係紐付けテーブルの対応関係情報に基づき当該所定のフレームに含められうる所望のスプライトを秘匿状態としたままの表示態様とするための描画データをフレームバッファに生成する。これにより、演出制御プログラムは、周辺制御MPU4150aの制御によって、遊技盤側液晶表示装置1900に、当該所望のスプライトが視認できない態様のフレームを表示させることができる。
一方、音源内蔵VDP4160aは、上記秘匿解除コマンドを受け取った場合には、この秘匿解除コマンドを受け取ってこれに含まれる所望のスプライト番号に対応する名札情報の表示状態フラグがオンに更新されたことを契機として、対応関係紐付けテーブルの対応関係情報を参照し当該秘匿解除コマンドに対応する所望のスプライトを特定する。さらに音源内蔵VDP4160aは、この特定された所望のスプライトの秘匿状態を解除して当該所望のスプライトを視覚的に認識しうる表示態様とするための描画データをフレームバッファに生成する。これにより、演出制御プログラムは、周辺制御MPU4150aの制御によって、遊技盤側液晶表示装置1900に、当該所望のスプライトが本来の配置位置に視認可能な表示態様のフレームを表示させることができる。
このようにすると、演出制御プログラムは、対応関係紐付けテーブルの存在によって、あるシーンのフレーム群を表示させる際に各フレームに表されうるスプライト群がどれであるかを細かく管理しなくても良くなる一方、周辺制御MPU4150aに秘匿解除コマンドを出力させるか否かという、従前の表示制御に比べると非常に簡単な制御によって、音源内蔵VDP4160aに、各所望のスプライトを表したフレームを描画させたり所望のスプライトを表さないフレームを描画させることができる。これにより、多数のスプライトを含むフレームの表示制御を簡素化して処理負担を軽減することができる。
しかも、上述した対応関係紐付けテーブルによって、上記所望のスプライトを含むスプライト群と演出制御プログラム(によって発行される秘匿解除コマンド群)とをリンクさせて対応関係を管理する構成を採用しているため、スプライトデータの創作作業と演出制御プログラムの設計作業とを独立させて完全に分離でき、表示制御に関係する設計作業を簡素化することができる。
ところで、上述したようにパチンコ遊技機に搭載されうる検知デバイスとしては、一般的に電源投入時に初期処理として感度の調整が実施され、その後当該感度で作動するものが多い。このように初期処理において接触感度の調整が実施されたとしても、その後の遊技環境次第では、一見すると、徐々に感度が適切でなくなってしまうことも考えられる。
そこで本実施形態では、この表示データ作成処理においてさらに、演出制御プログラムが周辺制御MPU4150aの制御によって、上皿側液晶表示装置244(第2の表示手段)に、タッチパネル246(接触型入力手段)の操作面への接触を促す態様の表示動作を実行させる上記演出コマンド(演出実行指令)を出力する一方、タッチパネルモジュール246a(接触入力制御手段)に、タッチパネル246の接触面の接触感度を調整させる機能(接触感度調整手段)を有効にする閾値設定コマンド(感度調整指令)と、を出力する(指令出力手段)。すなわち、演出制御プログラムは、演出コマンド(演出実行指令)として、上皿側液晶表示装置244に、タッチパネル246の操作面に指で触れることを催促する態様の画面(接触型入力手段の操作面への接触を促す態様)の表示動作を実行させるコマンドを送信情報記憶領域に書き込み、その後、液晶及び音制御部4160に出力する(接触催促指令手段)。次に、この液晶及び音制御部4160では、当該コマンドを受け取ると、演出制御プログラム(の制御によって表示制御プログラム)が当該コマンドに基づいて、タッチパネル246(接触型入力手段)の操作面に指で触れることを催促する態様の画面を、上皿側液晶表示装置244に表示させる。
次にステップS1030に続いて、演出制御プログラムは、タッチパネル処理を行う(ステップS1031)。このタッチパネル処理では、主として、演出制御プログラムが周辺制御MPU4150aの制御の下、タッチパネル246のタッチパネルモジュール246aから受け取った検知信号としての接触検知信号に基づいて、タッチパネル246の操作面における接触状態を検知する(接触状態検知手段)。つまり、この演出制御プログラムは、タッチパネル246の操作面における接触状態を検出するタッチパネルドライバ(接触状態検出手段)としての機能も有する。この演出制御プログラムは、上記接触状態に基づく接触部分の中心を示すタッチパネル246の操作面の座標値を取得し、この座標値で表される位置を検出ポイントとして特定し(検出ポイント取得手段)、この初期位置を含む操作情報を取得する。なお、この演出制御プログラムは、このような座標値を取得するのみならず操作面の範囲(以下、接触範囲という)を取得するようにしてもよい。
このタッチパネル処理では、上述した懸念事項への対処として、さらに、演出制御プログラムが周辺制御MPU4150aの制御によって、上述した演出コマンド(演出実行指令)とは別途、その後、タッチパネルコントローラ481のコントロールレジスタ481aに記憶済の接触判定用閾値を更新させるための閾値設定コマンド(感度調整指令)を所定のタイミングで上記送信情報記憶領域に書き込み、その後、タッチパネルモジュール246a(接触入力制御手段)に出力する(感度調整指令手段)。
具体的には、演出制御プログラムは、上述した所定のタイミングとして、主制御MPU4100aから、特別図柄1(第一特別図柄)の変動時間が経過した際に特図1同調演出終了コマンド(図10参照)を最後に受け取ってから所定時間(例えば1分間)が経過したことを契機として、又は、特別図柄2(第二特別図柄)の変動時間が経過した際に特図2同調演出終了コマンド(図10参照)を最後に受け取ってから所定時間(例えば1分間)が経過したことを契機として、上述した閾値設定コマンドを送信情報記憶領域に書き込んでタッチパネルモジュール246aのタッチパネルコントローラ481に対して送信する。
演出制御プログラムは、このタッチパネルモジュール246aを制御し、タッチパネルコントローラ481がその外部の一例としての周辺制御MPU4150aから出力された閾値設定コマンド(感度調整コマンド)を受信したことを契機として、タッチパネル246の接触面における接触感度を調整させる。つまり、この演出制御プログラムは、タッチパネルモジュール246aのタッチパネルコントローラ481に、周辺制御MPU4150aから閾値設定コマンドを受け取ったことを契機として、この閾値設定コマンドに基づいて、コントロールレジスタ481aに記憶されている接触判定用閾値を更新させることにより、タッチパネル246による接触感度を調整させる。具体的には、タッチパネルコントローラ481は、この閾値設定コマンドを受け取ったことを契機として、タッチパネルセンサ482が出力する検知信号に基づく静電容量を取得し、この静電容量を、タッチパネル246の接触面が非接触状態にある場合における新たな接触判定用閾値であるとみなすとともに、コントロールレジスタ481aに記憶済の接触判定用閾値を、当該新たな接触判定用閾値で更新する。
すると、それ以降、タッチパネルコントローラ481は、コントロールレジスタ481aにおいて更新された新たな接触判定用閾値と、上述したように接触状態が検知される度に取得される検知静電容量とを比較し、この検知静電容量が接触判定用閾値未満であると判定した場合には接触面が非接触状態にあると判断する一方、この検知静電容量が接触判定用閾値以上であると判定した場合には接触面が接触状態にあると判断する。
上記同様、タッチパネルコントローラ481は、接触面が接触状態にあると判断した場合、接触面における検知座標値が含められた接触検知情報を周辺制御基板4140に対して出力する。この周辺制御基板4140では、この接触検知情報を受け取ると、周辺制御MPU4150aが、当該受け取った接触検知情報に含まれる検知座標値に基づいて、上述した接触面における接触位置を把握することができる。
以上のようにすると、タッチパネルコントローラ481が、周辺制御基板4140の周辺制御MPU4150aによって出力された閾値設定コマンド(感度調整指令)を受け取ったことを契機とした所望のタイミングで、タッチパネル246の接触感度を定める接触判定用閾値が更新されるため、周辺制御MPU4150aによる閾値設定コマンドの出力タイミングが適切に制御されれば、所望のタイミングでタッチパネル246(接触型入力手段)の接触感度が調整されるようになる(キャリブレーション)。このため、演出制御プログラムが、遊技者による遊技に影響を与えるおそれのある出力タイミングを外して閾値設定コマンドをタッチパネルコントローラ481に受け取らせることにより、遊技に影響を与えることなく、常に、タッチパネル246における接触状態の検知を適切な作動態様とさせることができる。
演出制御プログラムが周辺制御MPU4150aの制御によってタッチパネルコントローラ481に閾値設定コマンドを出力すべきタイミングとしては、上述したように、例えば、特別図柄の変動表示が終了すると出力される特図1同調演出終了コマンド又は特図2同調演出終了コマンドを受け取ってから所定の時間(例えば1分間)が経過しており、遊技者が遊技を中止しているためタッチパネル246の操作面に接触している可能性が低いタイミングを例示することができる。すなわち、このような接触感度の調整は、タッチパネル246を用いた演出を実行するかもしれない特別図柄の変動表示中には極力実行を控え、その変動表示が終了したことに伴って行うようにしている。
また、閾値設定コマンドを出力すべきタイミングとしては、その他にも、演出制御プログラムが主制御MPU4100aから、普通図柄変動時間が経過した時に送信される普図同調演出終了時コマンド(図10参照)を受け取ってから所定の時間(例えば1分間)が経過したタイミングであってもよい。
一方、既述のようにタッチパネル246は、静電容量型であるとともに、多数の遊技球を貯留可能であって静電気が発生しやすい上皿301に設けられているものの、電源投入後も必要に応じて所定のタイミングで感度調整が実施されるため、このような周辺環境の変化を原因とするものであり遊技者の操作によるものでない場合でも、静電容量に変化が生じたものと誤検知しにくくなる。
ステップS1031に続いて、演出制御プログラムは音データ作成処理を行う(ステップS1032)。音データ作成処理では、演出制御プログラムが、ステップS1020のスケジューラ更新処理においてポインタが更新されて、音生成用スケジュールデータを構成する時系列に配列された音指令データのうち、そのポインタが指示する音指令データを、周辺制御部4150の周辺制御ROM4150b又は周辺制御RAM4150cの各種制御データコピーエリア4150ceから抽出して音源内蔵VDP4160aに出力する。音源内蔵VDP4160aは、周辺制御MPU4150aから音指令データが入力されると、液晶及び音制御ROM4160bに記憶されている音楽や効果音等の音データを抽出して内蔵音源を制御することにより、音指令データに規定された、トラック番号に従って音楽及び効果音等の音データを組み込むとともに、出力チャンネル番号に従って使用する出力チャンネルを設定する。
なお、音データ作成処理では、この音データ作成処理を行うごとに(つまり、周辺制御部定常処理を行うごとに)、図8に示した周辺制御A/Dコンバータ4150akを起動し、音量調整ボリューム4140aのつまみ部の回転位置における抵抗値により分圧された電圧を、値0〜値1023までの1024段階の値に変換している。本実施形態では、1024段階の値を7つに分割して基板ボリューム0〜6として管理しており、基板ボリューム0では消音、基板ボリューム6では最大音量に設定されており、基板ボリューム0から基板ボリューム6に向かって音量が大きくなるようにそれぞれ設定されている。基板ボリューム0〜6に設定された音量となるように液晶及び音制御部4160の音源内蔵VDP4160aを制御して、上述したステップS1018の音データ出力処理で音データをシリアル化したオーディオデータとしてオーディオデータ送信IC4160cに出力することにより、本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから音楽や効果音が流れるようになっている。
また、報知音や告知音は、つまみ部の回動操作に基づく音量調整に全く依存されずに流れる仕組みとなっており、消音から最大音量までの音量をプログラムにより液晶及び音制御部4160の音源内蔵VDP4160aを制御して調整することができるようになっている。このプログラムにより調整される音量は、上述した7段階に分けられた基板ボリュームと異なり、消音から最大音量までを滑らかに変化させることができるようになっている。例えば、ホールの店員等が音量調整ボリューム4140aのつまみ部を回動操作して音量を小さく設定した場合であっても、本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから流れる音楽や効果音等の演出音が小さくなるものの、パチンコ遊技機1に不具合が発生しているときや遊技者が不正行為を行っているときには大音量(本実施形態では、最大音量)に設定した報知音を流すことができる。従って、演出音の音量を小さくしても、報知音によりホールの店員等が不具合の発生や遊技者の不正行為を気付き難くなることを防止することができる。また、つまみ部の回動操作に基づく音量調整により設定されている現在の基板ボリュームに基づいて、広告音を流す音量を小さくして音楽や効果音の妨げとならないようにしたりする一方、広告音を流す音量を大きくして音楽や効果音に加えて遊技盤側液晶表示装置1900及び上皿側液晶表示装置244で繰り広げられている画面をより迫力あるものとして演出したり、遊技者にとって有利な遊技状態に移行する可能性が高いこと告知したりすることもできる。
ステップS1032に続いて、演出制御プログラムはバックアップ処理を行う(ステップS1034)。このバックアップ処理では、演出制御プログラムが、図8に示した、周辺制御MPU4150aと外付けされる周辺制御RAM4150cに記憶されている内容を、バックアップ第1エリア4150cbと、バックアップ第2エリア4150ccと、にそれぞれコピーしてバックアップするとともに、周辺制御MPU4150aと外付けされる周辺制御SRAM4150dに記憶されている内容を、バックアップ第1エリア4150dbと、バックアップ第2エリア4150dcと、にそれぞれコピーしてバックアップする。
具体的には、バックアップ処理では、周辺制御RAM4150cについて、図8に示した、バックアップ管理対象ワークエリア4150caにおける、1フレーム(1frame)ごとに、つまり周辺制御部定常処理が実行されるごとに、バックアップ対象となっているBank0(1fr)に含まれる、ランプ駆動基板側送信データ記憶領域4150caa、枠装飾駆動アンプ基板側LED用送信データ記憶領域4150cab、受信コマンド記憶領域4150cac、RTC情報取得記憶領域4150cad、及びスケジュールデータ記憶領域4150caeに記憶されている内容である演出情報(1fr)を、演出バックアップ情報(1fr)として、バックアップ第1エリア4150cbのBank1(1fr)及びBank2(1fr)に周辺制御DMAコントローラ4150acが高速にコピーし、そしてバックアップ第2エリア4150ccのBank3(1fr)及びBank4(1fr)に周辺制御DMAコントローラ4150acが高速にコピーする。
この周辺制御DMAコントローラ4150acによるBank0(1fr)に記憶されている内容の高速コピーについて簡単に説明すると、図8に示した周辺制御MPU4150aの周辺制御CPUコア4150aaが周辺制御DMAコントローラ4150acの要求要因にBank0(1fr)に記憶されている内容を、バックアップ第1エリア4150cbのBank1(1fr)へのコピーを指定し、Bank0(1fr)の先頭アドレスに格納された内容からBank0(1fr)の終端アドレスに格納された内容までを、所定バイト(例えば、1バイト)ずつ連続してバックアップ第1エリア4150cbのBank1(1fr)の先頭アドレスから順番にすべてコピーし、そして周辺制御CPUコア4150aaが周辺制御DMAコントローラ4150acの要求要因にBank0(1fr)に記憶されている内容を、バックアップ第1エリア4150cbのBank2(1fr)へのコピーを指定し、Bank0(1fr)の先頭アドレスに格納された内容からBank0(1fr)の終端アドレスに格納された内容までを、所定バイト(例えば、1バイト)ずつ連続してバックアップ第1エリア4150cbのBank2(1fr)の先頭アドレスから順番にすべてコピーする。
続いて、周辺制御CPUコア4150aaが周辺制御DMAコントローラ4150acの要求要因にBank0(1fr)に記憶されている内容を、バックアップ第2エリア4150ccのBank3(1fr)へのコピーを指定し、Bank0(1fr)の先頭アドレスに格納された内容からBank0(1fr)の終端アドレスに格納された内容までを、所定バイト(例えば、1バイト)ずつ連続してバックアップ第2エリア4150ccのBank3(1fr)の先頭アドレスから順番にすべてコピーし、そして周辺制御CPUコア4150aaが周辺制御DMAコントローラ4150acの要求要因にBank0(1fr)に記憶されている内容を、バックアップ第2エリア4150ccのBank4(1fr)へのコピーを指定し、Bank0(1fr)の先頭アドレスに格納された内容からBank0(1fr)の終端アドレスに格納された内容までを、所定バイト(例えば、1バイト)ずつ連続してバックアップ第2エリア4150ccのBank4(1fr)の先頭アドレスから順番にすべてコピーする。
またバックアップ処理では、周辺制御SRAM4150dについて、図8に示した、バックアップ管理対象ワークエリア4150daにおける、1フレーム(1frame)ごとに、つまり周辺制御部定常処理が実行されるごとに、バックアップ対象となっているBank0(SRAM)に記憶されている内容である演出情報(SRAM)を、演出バックアップ情報(SRAM)として、バックアップ第1エリア4150dbのBank1(SRAM)及びBank2(SRAM)に周辺制御DMAコントローラ4150acが高速にコピーし、そしてバックアップ第2エリア4150dcのBank3(SRAM)及びBank4(SRAM)に周辺制御DMAコントローラ4150acが高速にコピーする。
この周辺制御DMAコントローラ4150acによるBank0(SRAM)に記憶されている内容の高速コピーについて簡単に説明すると、図8に示した周辺制御MPU4150aの周辺制御CPUコア4150aaが周辺制御DMAコントローラ4150acの要求要因にBank0(SRAM)に記憶されている内容を、バックアップ第1エリア4150dbのBank1(SRAM)へのコピーを指定し、Bank0(SRAM)の先頭アドレスに格納された内容からBank0(SRAM)の終端アドレスに格納された内容までを、所定バイト(例えば、1バイト)ずつ連続してバックアップ第1エリア4150dbのBank1(SRAM)の先頭アドレスから順番にすべてコピーし、そして周辺制御CPUコア4150aaが周辺制御DMAコントローラ4150acの要求要因にBank0(SRAM)に記憶されている内容を、バックアップ第1エリア4150dbのBank2(SRAM)へのコピーを指定し、Bank0(SRAM)の先頭アドレスに格納された内容からBank0(SRAM)の終端アドレスに格納された内容までを、所定バイト(例えば、1バイト)ずつ連続してバックアップ第1エリア4150dbのBank2(SRAM)の先頭アドレスから順番にすべてコピーする。
続いて、周辺制御CPUコア4150aaが周辺制御DMAコントローラ4150acの要求要因にBank0(SRAM)に記憶されている内容を、バックアップ第2エリア4150dcのBank3(SRAM)へのコピーを指定し、Bank0(SRAM)の先頭アドレスに格納された内容からBank0(SRAM)の終端アドレスに格納された内容までを、所定バイト(例えば、1バイト)ずつ連続してバックアップ第2エリア4150dcのBank3(SRAM)の先頭アドレスから順番にすべてコピーし、そして周辺制御CPUコア4150aaが周辺制御DMAコントローラ4150acの要求要因にBank0(SRAM)に記憶されている内容を、バックアップ第2エリア4150dcのBank4(SRAM)へのコピーを指定し、Bank0(SRAM)の先頭アドレスに格納された内容からBank0(SRAM)の終端アドレスに格納された内容までを、所定バイト(例えば、1バイト)ずつ連続してバックアップ第2エリア4150dcのBank4(SRAM)の先頭アドレスから順番にすべてコピーする。
ステップS1034に続いて、WDTクリア処理を行う(ステップS1036)。このWDTクリア処理では、周辺制御内蔵WDT4150afと、周辺制御外部WDT4150eと、にクリア信号を出力して周辺制御MPU4150aにリセットがかからないようにしている。
ステップS1036に続いて、演出制御プログラムが、周辺制御部定常処理の実行完了として定常処理中フラグSP−FLGに値0をセットし(ステップS1038)、再びステップS1006に戻り、Vブランク信号検出フラグVB−FLGに値0をセットして初期化し、後述する周辺制御部Vブランク信号割り込み処理においてVブランク信号検出フラグVB−FLGに値1がセットされるまで、ステップS1008の判定を繰り返し行う。つまりステップS1008では、Vブランク信号検出フラグVB−FLGに値1がセットされるまで待機し、ステップS1008でVブランク信号検出フラグVB−FLGが値1であると判定されると、ステップS1009〜ステップS1038の処理を行い、再びステップS1006に戻る。このように、ステップS1008でVブランク信号検出フラグVB−FLGが値1であると判定されると、ステップS1009〜ステップS1038の処理を行うようになっている。ステップS1009〜ステップS1038の処理を「周辺制御部定常処理」という。
周辺制御部定常処理は、演出制御プログラムが、まずステップS1009で周辺制御部定常処理を実行中であるとして定常処理中フラグSP−FLGに値1をセットすることから開始し、ステップS1010で1ms割り込みタイマ起動処理を行い、ステップS1012、ステップS1014、・・・、そしてステップS1036の各処理を行って最後にステップS1038において周辺制御部定常処理の実行完了として定常処理中フラグSP−FLGに値0をセットすると、完了することとなる。周辺制御部定常処理は、ステップS1008でVブランク信号検出フラグVB−FLGが値1であるときに実行される。このVブランク信号検出フラグVB−FLGは、上述したように、周辺制御MPU4150aからの画面データを受け入れることができる状態である旨を伝えるVブランク信号が音源内蔵VDP4160aから入力されたことを契機として実行される後述する周辺制御部Vブランク信号割り込み処理において値1がセットされるようになっている。本実施形態では、遊技盤側液晶表示装置1900及び上皿側液晶表示装置244のフレーム周波数(1秒間あたりの画面更新回数)として、上述したように、概ね秒間30fpsに設定しているため、Vブランク信号が入力される間隔は、約33.3ms(=1000ms÷30fps)となっている。つまり、周辺制御部定常処理は、約33.3msごとに繰り返し実行されるようになっている。
[5−1−2.周辺制御部Vブランク信号割り込み処理]
次に、図7に示した、周辺制御部4150の周辺制御MPU4150aからの画面データを受け入れることができる状態である旨を伝えるVブランク信号が液晶及び音制御部4160の音源内蔵VDP4160aから入力されたことを契機として実行する周辺制御部Vブランク信号割り込み処理について説明する。この周辺制御部Vブランク信号割り込み処理が開始されると、周辺制御部4150の周辺制御MPU4150aは、図18に示すように、定常処理中フラグSP−FLGが値0であるかを判定する(ステップS1045)。この定常処理中フラグSP−FLGは、上述したように、図17の周辺制御部電源投入時処理におけるステップS1009〜ステップS1038の周辺制御部定常処理を実行中であるとき値1、周辺制御部定常処理を実行完了したとき値0にそれぞれセットされる。
ステップS1045で定常処理中フラグSP−FLGが値0でない(値1である)とき、つまり周辺制御部定常処理を実行中であるときには、そのままこのルーチンを終了する。一方、ステップS1045で定常処理中フラグSP−FLGが値0であるとき、つまり周辺制御部定常処理を実行完了したときには、Vブランク信号検出フラグVB−FLGに値1をセットし(ステップS1050)、このルーチンを終了する。このVブランク信号検出フラグVB−FLGは、上述したように、周辺制御部定常処理を実行するか否かを決定するためのフラグであり、周辺制御部定常処理を実行するとき値1、周辺制御部定常処理を実行しないとき値0にそれぞれ設定される。
本実施形態では、ステップS1045で定常処理中フラグSP−FLGが値0であるか否か、つまり周辺制御部定常処理を実行完了したか否かを判定し、周辺制御部定常処理を実行完了したときにはステップS1050でVブランク信号検出フラグVB−FLGに値1をセットするようになっているが、これは、周辺制御部定常処理を実行中であるときに、Vブランク信号が入力されてVブランク信号検出フラグVB−FLGに値1をセットすると、図17の周辺制御部電源投入時処理におけるステップS1008の判定で周辺制御部定常処理を実行するものとして、現在実行中の周辺制御部定常処理を途中で強制的にキャンセルして周辺制御部定常処理を最初から実行開始するため、これを防止する目的で、図17の周辺制御部電源投入時処理(周辺制御部定常処理)におけるステップS1009で定常処理中フラグSP−FLGに値1をセットすることで周辺制御部定常処理を実行中である旨を、本ルーチンである周辺制御部Vブランク信号割り込み処理に伝えるとともに、図17の周辺制御部電源投入時処理(周辺制御部定常処理)におけるステップS1038で定常処理中フラグSP−FLGに値0をセットすることで周辺制御部定常処理を実行完了した旨を、本ルーチンである周辺制御部Vブランク信号割り込み処理に伝えることにより、本ルーチンである周辺制御部Vブランク信号割り込み処理におけるステップS1045の判定で定常処理中フラグSP−FLGが値0であるか否か、つまり周辺制御部定常処理を実行完了したか否かを判定するようになっている。換言すると、Vブランク信号が入力されて次のVブランク信号が入力されるまでに周辺制御部定常処理を実行完了することができず、いわゆる処理落ちした場合の処置である。
これにより、今回の周辺制御部定常処理においては、約33.3msという時間でその処理を完了できず処理落ちした場合には、図17の周辺制御部電源投入時処理におけるステップS1008の判定で次回のVブランク信号が入力されるまで待機する状態となる。つまり、処理落ちした今回の周辺制御部定常処理を実行するための時間が約66.6msとなる。通常、図17の周辺制御部電源投入時処理(周辺制御部定常処理)におけるステップS1010で1ms割り込みタイマの起動により1ms割り込みタイマが発生するごとに繰り返し実行する、後述する周辺制御部1msタイマ割り込み処理は1回の周辺制御部定常処理に対して32回だけ実行されるものの、上述した処理落ちした今回の周辺制御部定常処理が存在する場合には、周辺制御部1msタイマ割り込み処理が64回ではなく、32回だけ実行されるようになっている。つまり、周辺制御部定常処理が処理落ちした場合であっても、周辺制御部定常処理による演出の進行状態とタイマ割り込み制御である周辺制御部1msタイマ割り込み処理による演出の進行状態との整合性が崩れないようになっている。従って、周辺制御部定常処理が処理落ちした場合であっても演出の進行状態を確実に整合させることができる。
[5−1−3.周辺制御部1msタイマ割り込み処理]
次に、図17の周辺制御部電源投入時処理の周辺制御部定常処理におけるステップS1010で1ms割り込みタイマの起動により1ms割り込みタイマが発生するごとに繰り返し実行する周辺制御部1msタイマ割り込み処理について説明する。この周辺制御部1msタイマ割り込み処理が開始されると、図7に示した周辺制御部4150では、演出制御プログラムが周辺制御MPU4150aの制御の下、図17に示すように、1msタイマ割り込み実行回数STNが33回より小さいか否かを判定する(ステップS1100)。この1msタイマ割り込み実行回数STNは、上述したように、図17の周辺制御部電源投入時処理の周辺制御部定常処理におけるステップS1010の1ms割り込みタイマ起動処理で1ms割り込みタイマが起動して本ルーチンである周辺制御部1msタイマ割り込み処理が実行された回数をカウントするカウンタである。本実施形態では、遊技盤側液晶表示装置1900及び上皿側液晶表示装置244のフレーム周波数(1秒間あたりの画面更新回数)として、上述したように、概ね秒間30fpsに設定しているため、Vブランク信号が入力される間隔は、約33.3ms(=1000ms÷30fps)となっている。つまり、周辺制御部定常処理は、約33.3msごとに繰り返し実行されるようになっているため、周辺制御部定常処理におけるステップS1010で1ms割り込みタイマを起動した後、次の周辺制御部定常処理が実行されるまでに、周辺制御部1msタイマ割り込み処理が32回だけ実行されるようになっている。具体的には、周辺制御部定常処理におけるステップS1010で1ms割り込みタイマが起動されると、まず1回目の1msタイマ割り込みが発生し、2回目、・・・、そして32回目の1msタイマ割り込みが順次発生することとなる。
ステップS1100で1msタイマ割り込み実行回数STNが33回より小さくないとき、つまり33回目の1msタイマ割り込みが発生してこの周辺制御部1msタイマ割り込み処理が開始されたときには、演出制御プログラムは、そのままこのルーチンを終了する。33回目の1msタイマ割り込みの発生が次回のVブランク信号の発生よりたまたま先行した場合には、本実施形態では、割り込み処理の優先順位として、周辺制御部1msタイマ割り込み処理の方が周辺制御部Vブランク割り込み処理と比べて高く設定されているものの、この33回目の1msタイマ割り込みによる周辺制御部1msタイマ割り込み処理の開始を強制的にキャンセルするようになっている。換言すると、本実施形態では、Vブランク信号が周辺制御基板4140のシステム全体を支配する信号であるため、33回目の1msタイマ割り込みの発生が次回のVブランク信号の発生よりたまたま先行した場合には、周辺制御部Vブランク割り込み処理を実行するために33回目の1msタイマ割り込みによる周辺制御部1msタイマ割り込み処理の開始が強制的にキャンセルさせられている。そして、Vブランク信号の発生により周辺制御部定常処理におけるステップS1010で1ms割り込みタイマを再び起動した後、新たに1回目の1msタイマ割り込みの発生による周辺制御部1msタイマ割り込み処理を開始するようになっている。
一方、ステップS1100で1msタイマ割り込み実行回数STNが33回より小さいときには、1msタイマ割り込み実行回数STNに値1だけ足す(インクリメントする、ステップS1102)。この1msタイマ割り込み実行回数STNに値1が足されることにより、図17の周辺制御部電源投入時処理の周辺制御部定常処理におけるステップS1010の1ms割り込みタイマ起動処理で1ms割り込みタイマが起動して本ルーチンである周辺制御部1msタイマ割り込み処理が実行された回数が1回分だけ増えることとなる。
ステップS1102に続いて、演出制御プログラムはモータ及びソレノイド駆動処理を行う(ステップS1104)。このモータ及びソレノイド駆動処理では、図8に示した、周辺制御MPU4150aと外付けされる周辺制御RAM4150cのスケジュールデータ記憶領域4150caeにセットされた電気的駆動源スケジュールデータを構成する時系列に配列されたモータやソレノイド等の電気的駆動源の駆動データのうち、ポインタが指示する駆動データに従って、演出制御プログラムが、枠装飾駆動アンプ基板194及びモータ駆動基板4180のモータやソレノイド等の電気的駆動源を駆動するとともに、時系列に規定された次の駆動データにポインタを更新し、このモータ及びソレノイド駆動処理を実行するごとに、ポインタを更新する。
具体的には、モータ及びソレノイド駆動処理では、演出制御プログラムが枠装飾駆動アンプ基板194へのDMAシリアル連続送信処理を行う。ここでは、演出制御プログラムは、周辺制御MPU4150aの周辺制御DMAコントローラ4150acを利用して枠装飾駆動アンプ基板モータ用シリアルI/Oポート連続送信を行う。この枠装飾駆動アンプ基板モータ用シリアルI/Oポート連続送信が開始されるときには、まず周辺制御MPU4150aと外付けされる周辺制御RAM4150cのスケジュールデータ記憶領域4150caeにセットされた電気的駆動源スケジュールデータを構成する時系列に配列されたモータやソレノイド等の電気的駆動源の駆動データのうち、ポインタが指示する駆動データに基づいて、図7に示した操作ユニット400のダイヤル駆動モータ414への駆動信号を出力するための扉側モータ駆動データSTM−DATを、周辺制御部4150の周辺制御ROM4150b又は周辺制御RAM4150cの各種制御データコピーエリア4150ceから抽出して作成するとともに、図8に示した周辺制御RAM4150cの枠装飾駆動アンプ基板側モータ用送信データ記憶領域4150cafにセットする。そして周辺制御MPU4150aの周辺制御CPUコア4150aaは、周辺制御DMAコントローラ4150acの要求要因に枠装飾駆動アンプ基板モータ用シリアルI/Oポートの送信を指定し、枠装飾駆動アンプ基板側モータ用送信データ記憶領域4150cafの先頭アドレスに格納された扉側モータ駆動データSTM−DATのうちの最初の1バイトを、外部バス4150h、周辺制御バスコントローラ4150ad、そして周辺バス4150aiを介して、枠装飾駆動アンプ基板モータ用シリアルI/Oポートの送信バッファレジスタに転送して書き込む。これにより、枠装飾駆動アンプ基板モータ用シリアルI/Oポートは、この書き込まれた送信バッファレジスタのデータを送信シフトレジスタに転送し、扉側モータ駆動クロック信号STM−CLKと同期して送信シフトレジスタの1バイトのデータを、1ビットずつ送信開始する。
周辺制御DMAコントローラ4150acは、枠装飾駆動アンプ基板モータ用シリアルI/Oポートの送信割り込み要求が発生するごとに、これを契機として(本実施形態では、枠装飾駆動アンプ基板モータ用シリアルI/Oポートの送信バッファレジスタに書き込まれた1バイトのデータが送信シフトレジスタに転送され、その送信バッファレジスタに1バイトのデータがなくなって空となったことを契機としている。)、周辺制御CPUコア4150aaがバスを使用していない場合に、枠装飾駆動アンプ基板側モータ用送信データ記憶領域4150cafに格納された残りの扉側モータ駆動データSTM−DATを1バイトずつ、外部バス4150h、周辺制御バスコントローラ4150ad、そして周辺バス4150aiを介して、枠装飾駆動アンプ基板モータ用シリアルI/Oポートの送信バッファレジスタに転送して書き込むことで、枠装飾駆動アンプ基板モータ用シリアルI/Oポートは、この書き込まれた送信バッファレジスタのデータを送信シフトレジスタに転送し、扉側モータ駆動クロック信号STM−CLKと同期して送信シフトレジスタの1バイトのデータを、1ビットずつ送信開始し、枠装飾駆動アンプ基板モータ用シリアルI/Oポートによる連続送信を行っている。
またモータ及びソレノイド駆動処理では、モータ駆動基板4180へのDMAシリアル連続送信処理を行う。ここでも、図8に示した周辺制御MPU4150aの周辺制御DMAコントローラ4150acを利用してモータ駆動基板用シリアルI/Oポート連続送信を行う。このモータ駆動基板用シリアルI/Oポート連続送信が開始されるときには、まず周辺制御MPU4150aと外付けされる周辺制御RAM4150cのスケジュールデータ記憶領域4150caeにセットされた電気的駆動源スケジュールデータを構成する時系列に配列されたモータやソレノイド等の電気的駆動源の駆動データのうち、ポインタが指示する駆動データに基づいて、遊技盤4に設けられる各種可動体を可動させるためのモータやソレノイドへの駆動信号を出力するための遊技盤側モータ駆動データSM−DATを、周辺制御部4150の周辺制御ROM4150b又は周辺制御RAM4150cの各種制御データコピーエリア4150ceから抽出して作成するとともに、図8に示した周辺制御RAM4150cのモータ駆動基板側送信データ記憶領域4150cagにセットする。そして周辺制御MPU4150aの周辺制御CPUコア4150aaは、周辺制御DMAコントローラ4150acの要求要因にモータ駆動基板用シリアルI/Oポートの送信を指定し、モータ駆動基板側送信データ記憶領域4150cagの先頭アドレスに格納された遊技盤側モータ駆動データSM−DATのうちの最初の1バイトを、外部バス4150h、周辺制御バスコントローラ4150ad、そして周辺バス4150aiを介して、モータ駆動基板用シリアルI/Oポートの送信バッファレジスタに転送して書き込む。これにより、モータ駆動基板用シリアルI/Oポートは、この書き込まれた送信バッファレジスタのデータを送信シフトレジスタに転送し、遊技盤側モータ駆動クロック信号SM−CLKと同期して送信シフトレジスタの1バイトのデータを、1ビットずつ送信開始する。
周辺制御DMAコントローラ4150acは、モータ駆動基板用シリアルI/Oポートの送信割り込み要求が発生するごとに、これを契機として(本実施形態では、モータ駆動基板用シリアルI/Oポートの送信バッファレジスタに書き込まれた1バイトのデータが送信シフトレジスタに転送され、その送信バッファレジスタに1バイトのデータがなくなって空となったことを契機としている。)、周辺制御CPUコア4150aaがバスを使用していない場合に、モータ駆動基板側送信データ記憶領域4150cagに格納された残りの遊技盤側モータ駆動データSM−DATを1バイトずつ、外部バス4150h、周辺制御バスコントローラ4150ad、そして周辺バス4150aiを介して、モータ駆動基板用シリアルI/Oポートの送信バッファレジスタに転送して書き込むことで、モータ駆動基板用シリアルI/Oポートは、この書き込まれた送信バッファレジスタのデータを送信シフトレジスタに転送し、遊技盤側モータ駆動クロック信号SM−CLKと同期して送信シフトレジスタの1バイトのデータを、1ビットずつ送信開始し、モータ駆動基板用シリアルI/Oポートによる連続送信を行っている。
ステップS1104に続いて、可動体情報取得処理を行う(ステップS1106)。この可動体情報取得処理では、遊技盤4に設けた各種検出スイッチからの検出信号が入力されているか否かを判定することにより各種検出スイッチからの検出信号の履歴情報(例えば、原位置履歴情報、可動位置履歴情報など。)を作成し、図8に示した、周辺制御MPU4150aと外付けされる周辺制御RAM4150cの可動体情報取得記憶領域4150cahにセットする。この可動体情報取得記憶領域4150cahにセットされる各種検出スイッチからの検出信号の履歴情報から遊技盤4に設けた各種可動体の原位置や可動位置等を取得することができる。
ステップS1106に続いて、操作ユニット情報取得処理を行う(ステップS1108)。この操作ユニット情報取得処理では、操作ユニット400に設けられた各種検出スイッチからの検出信号が入力されているか否かを判定することにより各種検出スイッチからの検出信号の履歴情報(例えば、ダイヤル操作部401の回転(回転方向)履歴情報、及び押圧操作部405の操作履歴情報など。)を作成し、図8に示した、周辺制御MPU4150aと外付けされる周辺制御RAM4150cの操作ユニット情報取得記憶領域4150caiにセットする。この操作ユニット情報取得記憶領域4150caiにセットされる各種検出スイッチからの検出信号の履歴情報からダイヤル操作部401の回転方向や押圧操作部405の操作有無を取得することができる。
ステップS1108に続いて、演出制御プログラムは、描画状態取得処理(S1110)を行い、続いてバックアップ処理を行い(ステップS1112)、このルーチンを終了する。バックアップ処理では、図8に示した、周辺制御MPU4150aと外付けされる周辺制御RAM4150cに記憶されている内容を、バックアップ第1エリア4150cbと、バックアップ第2エリア4150ccと、にそれぞれコピーしてバックアップするとともに、周辺制御MPU4150aと外付けされる周辺制御SRAM4150dに記憶されている内容を、バックアップ第1エリア4150dbと、バックアップ第2エリア4150dcと、にそれぞれコピーしてバックアップする。
具体的には、バックアップ処理では、周辺制御RAM4150cについて、図8に示した、バックアップ管理対象ワークエリア4150caにおける、1ms割り込みタイマが発生するごとに、つまり本ルーチンである周辺制御部1msタイマ割り込み処理が実行されるごとに、バックアップ対象となっているBank0(1ms)に含まれる、枠装飾駆動アンプ基板側モータ用送信データ記憶領域4150caf、モータ駆動基板側送信データ記憶領域4150cag、可動体情報取得記憶領域4150cah、及び操作ユニット情報取得記憶領域4150caiに記憶されている内容である演出情報(1ms)を、演出バックアップ情報(1ms)として、バックアップ第1エリア4150cbのBank1(1ms)及びBank2(1ms)に周辺制御DMAコントローラ4150acが高速にコピーし、そしてバックアップ第2エリア4150ccのBank3(1ms)及びBank4(1ms)に周辺制御DMAコントローラ4150acが高速にコピーする。
この周辺制御DMAコントローラ4150acによるBank0(1ms)に記憶されている内容の高速コピーについて簡単に説明すると、図8に示した周辺制御MPU4150aの周辺制御CPUコア4150aaが周辺制御DMAコントローラ4150acの要求要因にBank0(1ms)に記憶されている内容を、バックアップ第1エリア4150cbのBank1(1ms)へのコピーを指定し、Bank0(1ms)の先頭アドレスに格納された内容からBank0(1ms)の終端アドレスに格納された内容までを、所定バイト(例えば、1バイト)ずつ連続してバックアップ第1エリア4150cbのBank1(1ms)の先頭アドレスから順番にすべてコピーし、そして周辺制御CPUコア4150aaが周辺制御DMAコントローラ4150acの要求要因にBank0(1ms)に記憶されている内容を、バックアップ第1エリア4150cbのBank2(1ms)へのコピーを指定し、Bank0(1ms)の先頭アドレスに格納された内容からBank0(1ms)の終端アドレスに格納された内容までを、所定バイト(例えば、1バイト)ずつ連続してバックアップ第1エリア4150cbのBank2(1ms)の先頭アドレスから順番にすべてコピーする。
続いて、周辺制御CPUコア4150aaが周辺制御DMAコントローラ4150acの要求要因にBank0(1ms)に記憶されている内容を、バックアップ第2エリア4150ccのBank3(1ms)へのコピーを指定し、Bank0(1ms)の先頭アドレスに格納された内容からBank0(1ms)の終端アドレスに格納された内容までを、所定バイト(例えば、1バイト)ずつ連続してバックアップ第2エリア4150ccのBank3(1ms)の先頭アドレスから順番にすべてコピーし、そして周辺制御CPUコア4150aaが周辺制御DMAコントローラ4150acの要求要因にBank0(1ms)に記憶されている内容を、バックアップ第2エリア4150ccのBank4(1ms)へのコピーを指定し、Bank0(1ms)の先頭アドレスに格納された内容からBank0(1ms)の終端アドレスに格納された内容までを、所定バイト(例えば、1バイト)ずつ連続してバックアップ第2エリア4150ccのBank4(1ms)の先頭アドレスから順番にすべてコピーする。
このように、周辺制御部1msタイマ割り込み処理では、1msという期間内において、演出の進行として上述したステップS1104〜ステップS1108の演出に関する各種処理を実行している。これに対して、図17の周辺制御部電源投入時処理における周辺制御部定常処理では、約33.3msという期間内において、演出の進行として上述したステップS1012〜ステップS1032の演出に関する各種処理を実行している。周辺制御部1msタイマ割り込み処理では、ステップS1100で1msタイマ割り込み実行回数STNが値33より小さくないとき、つまり33回目の1msタイマ割り込みが発生してこの周辺制御部1msタイマ割り込み処理が開始されたときには、そのままこのルーチンを終了するようになっているため、仮に、33回目の1msタイマ割り込みの発生が次回のVブランク信号の発生よりたまたま先行した場合でも、この33回目の1msタイマ割り込みによる周辺制御部1msタイマ割り込み処理の開始を強制的にキャンセルし、Vブランク信号の発生により周辺制御部定常処理におけるステップS1010で1ms割り込みタイマを再び起動した後、新たに1回目の1msタイマ割り込みの発生による周辺制御部1msタイマ割り込み処理を開始するようになっている。つまり、周辺制御部定常処理による演出の進行状態とタイマ割り込み制御である周辺制御部1msタイマ割り込み処理による演出の進行状態との整合性が崩れないようになっている。従って、演出の進行状態を確実に整合させることができる。
また、上述したように、Vブランク信号が出力される間隔は、遊技盤側液晶表示装置1900及び上皿側液晶表示装置244の液晶サイズによって多少変化するし、周辺制御MPU4150aと音源内蔵VDP4160aとが実装された周辺制御基板4140の製造ロットにおいてもVブランク信号が出力される間隔が多少変化する場合もある。本実施形態では、Vブランク信号が周辺制御基板4140のシステム全体を支配する信号であるため、33回目の1msタイマ割り込みの発生が次回のVブランク信号の発生よりたまたま先行した場合には、周辺制御部Vブランク割り込み処理を実行するために33回目の1msタイマ割り込みによる周辺制御部1msタイマ割り込み処理の開始が強制的にキャンセルさせられている。つまり本実施形態では、Vブランク信号が出力される間隔が多少変化する場合であっても、33回目の1msタイマ割り込みによる周辺制御部1msタイマ割り込み処理の開始を強制的にキャンセルすることによって、このVブランク信号が出力される間隔が多少変化することによる時間ズレを吸収することができるようになっている。
[5−1−4.周辺制御部コマンド受信割り込み処理]
次に、主制御基板4100からの各種コマンドを受信する周辺制御部コマンド受信割り込み処理について説明する。図7に示した周辺制御部4150の周辺制御MPU4150aは、主制御基板4100からの各種コマンドがシリアルデータとして送信開始されると、これを契機として主周シリアルデータを周辺制御MPU4150aに内蔵する主制御基板用シリアルI/Oポートで1バイト(8ビット)の情報を受信バッファに取り込み、この取り込みが完了すると、これを契機として割り込みが発生し、周辺制御部コマンド受信割り込み処理を行う。主周シリアルデータは、1パケットが3バイトに構成されており、1バイト目としてステータスが割り振られ、2バイト目としてモードが割り振られ、3バイト目としてステータスとモードとを数値とみなしてその合計を算出したサム値が割り振られている。
周辺制御部コマンド受信割り込み処理が開始されると、周辺制御部4150の周辺制御MPU4150aは、1バイト受信期間タイマがタイムアウトしたか否かを判定する(ステップS1200)。この1バイト受信期間タイマは、主制御基板4100から送信される主周シリアルデータのうち、1バイト(8ビット)の情報を受信し得る期間を設定するものである。
ステップS1200で1バイト受信期間タイマがタイムアウトしていないとき、つまり主制御基板4100から送信される主周シリアルデータのうち、1バイト(8ビット)の情報を受信し得る期間内であるときには、周辺制御MPU4150aの内蔵する主制御基板用シリアルI/Oポートの受信バッファから受信した1バイトの情報を取り込み(ステップS1202)、受信カウンタSRXCに値1を加える(インクリメントする、ステップS1204)。この受信カウンタSRXCは、受信バッファから取り出した回数を示すカウンタであり、主周シリアルデータの1バイト目であるステータスを受信バッファから取り出すと値1、主周シリアルデータの2バイト目であるモードを受信バッファから取り出すと値2、主周シリアルデータの3バイト目であるサム値を受信バッファから取り出すと値3となる。なお、受信カウンタSRXCは、電源投入時等に初期値0がセットされる。
ステップS1204に続いて、受信カウンタSRXCが値3であるか否か、つまり主周シリアルデータの3バイト目であるサム値を受信バッファから取り出したか否かを判定する(ステップS1206)。この判定では、主周シリアルデータの1バイト目であるステータスに続いて、主周シリアルデータの2バイト目であるモード、そして主周シリアルデータの3バイト目であるサム値を、順に受信バッファから取り出したか否かを判定している。
ステップS1206で受信カウンタSRXCが値3でないとき、つまり主周シリアルデータの1バイト目であるステータスに続いて、まだ主周シリアルデータの2バイト目であるモード、そして主周シリアルデータの3バイト目であるサム値を、順に受信バッファから取り出していないときには、1バイト受信期間タイマのセットを行い(ステップS1208)、このルーチンを終了する。ステップS1208で1バイト受信期間タイマがセットされることで、主周シリアルデータの2バイト目であるモード又は主周シリアルデータの3バイト目であるサム値を受信し得る期間が設定される。
一方、ステップS1206で受信カウンタSRXCが値3であるとき、つまり主周シリアルデータの1バイト目であるステータスに続いて、主周シリアルデータの2バイト目であるモード、そして主周シリアルデータの3バイト目であるサム値を、順に受信バッファから取り出したときには、受信カウンタSRXCに初期値0をセットし(ステップS1210)、サム値を算出する(ステップS1212)。この算出は、ステップS1202で受信バッファからすでに取り出した、主周シリアルデータの1バイト目であるステータスと、主周シリアルデータの2バイト目であるモードと、を数値とみなしてその合計(サム値)を算出する。
ステップS1212に続いて、ステップS1202で受信バッファからすでに取り出した主周シリアルデータの3バイト目であるサム値と、ステップS1212で算出したサム値と、が一致しているか否かを判定する(ステップS1214)。ステップS1202で受信バッファからすでに取り出した主周シリアルデータの3バイト目であるサム値は、主制御基板4100からの主周シリアルデータのうち、主周シリアルデータの3バイト目として割り振られたサム値であるため、ステップS1212で算出したサム値と一致しているはずである。ところが、パチンコ遊技機1は、パチンコ島設備から遊技球が供給されており、遊技球は、互いにこすれ合って帯電すると、静電放電してノイズを発生するため、パチンコ遊技機1はノイズの影響を受けやすり環境下にある。そこで、本実施形態では、周辺制御部4150側において、受信した主周シリアルデータの1バイト目として割り振られたステータスと、主周シリアルデータの2バイト目として割り振られたモードと、を数値とみなしてその合計(サム値)を算出し、この算出したサム値が、主制御基板4100からの主周シリアルデータのうち、主周シリアルデータの3バイト目として割り振られたサム値と一致しているか否かを判定している。これにより、周辺制御MPU4150aは、主制御基板4100と周辺制御基板4140との基板間において、主周シリアルデータがノイズの影響を受けて正規と異なる主周シリアルデータに変化したか否かを判定することができる。
ステップS1214で、ステップS1202で受信バッファからすでに取り出した主周シリアルデータの3バイト目であるサム値と、ステップS1212で算出したサム値と、が一致しているときには、受信した、主周シリアルデータの1バイト目として割り振られたステータスと、主周シリアルデータの2バイト目として割り振られたモードとを、図8に示した、周辺制御MPU4150aと外付けされる周辺制御RAM4150cの受信コマンド記憶領域4150cacに記憶し(ステップS1216)、このルーチンを終了する。この受信コマンド記憶領域4150cacは、リングバッファとして用いており、主周シリアルデータの1バイト目として割り振られたステータスと、主周シリアルデータの2バイト目として割り振られたモードとは、受信コマンド記憶領域4150cacの周辺制御部受信リングバッファに記憶される。この「周辺制御部受信リングバッファ」とは、バッファの最後と先頭が繋がっているように使われるバッファのことであり、バッファの先頭から順次データを記憶し、バッファの最後まできたら最初に戻って記憶する。なお、周辺制御MPU4150aは、ステップS1216で周辺制御部受信リングバッファに記憶する際に、受信した、主周シリアルデータの1バイト目として割り振られたステータスと、主周シリアルデータの2バイト目として割り振られたモードと、を対応付けて記憶しており、3バイト目として割り振られたサム値を破棄する。
一方、ステップS1200で1バイト受信期間タイマがタイムアウトしていないとき、つまり主制御基板4100から送信される主周シリアルデータのうち、1バイト(8ビット)の情報を受信し得る期間を超えているときには、又はステップS1214で、ステップS1202で受信バッファからすでに取り出した主周シリアルデータの3バイト目であるサム値と、ステップS1212で算出したサム値と、が一致していないときには、そのままこのルーチンを終了する。
[5−1−5.受信コマンド解析処理]
続いて、受信コマンド解析処理(図17のステップS1022の処理)について、図21を参照しながら説明する。図21は、本実施形態の受信コマンド解析処理の一例を示すフローチャートである。
受信コマンド解析処理では、演出制御プログラムが周辺制御基板4140(周辺制御MPU4150a)に実行されることによって、まず、主制御基板4100から送信されたコマンドが周辺制御部受信リングバッファに記憶されているか否かを判定する(ステップS1401)。
本実施形態にかかる周辺制御基板4140は、主制御基板4100からコマンドを受信すると、周辺制御部コマンド受信割り込み処理(図20)を発生させ、周辺制御部コマンド受信割り込み処理において、主制御基板4100からの各種コマンドを周辺制御基板4140に備えられる周辺制御RAM4150cの受信コマンド記憶領域4150cac(周辺制御部受信リングバッファ)に記憶する。なお、周辺制御部受信リングバッファには複数の領域が設けられており、主制御基板4100から送信された各種コマンドが受信された順序でそれぞれ記憶される。
演出制御プログラムは、周辺制御部受信リングバッファにコマンドが記憶されている場合には(ステップS1401の結果が「Yes」)、主制御基板4100からの受信順序が最も早いコマンドを周辺制御部受信リングバッファから読み出す(ステップS1402)。
次いで、演出制御プログラムは、ステップS1402の処理で読み出したコマンドが特図同期演出開始コマンド(特図1同期演出開始コマンド又は特図2同期演出開始コマンド、変動パターンを示すコマンド、図10)であるか否かを判定する(ステップS1403)。特図同期演出開始コマンドであると判定された場合には(ステップS1403の結果が「Yes」)、周辺制御基板4140の変動表示パターン格納領域(RAM)に特図同期演出開始コマンドを記憶するとともに、変動パターン受信フラグをセットし(ステップS1404)、受信コマンド解析処理を終了する。
一方、周辺制御MPU4150aは、読み出したコマンドが特図同期演出開始コマンドでない場合には(ステップS1403の結果が「No」)、該読み出したコマンドが特別図柄指定コマンド(特別図柄1指定コマンド又は特別図柄2指定コマンド、「はずれ」「特定大当り」「非特定大当り」を示す当選情報コマンド、図10)であるか否かを判定する(ステップS1405)。特別図柄指定コマンドであると判定された場合には(ステップS1405の結果が「Yes」)、周辺制御基板4140の当選情報格納領域(RAM)に当落情報を記憶し(ステップS1406)、受信コマンド解析処理を終了する。
一方、周辺制御MPU4150aは、読み出した演出コマンドが特別図柄指定コマンドでない場合には(ステップS1405の結果が「No」)、受信したコマンドに対応したフラグをセットするなどの処理を実行し(ステップS1407)、受信コマンド解析処理を終了する。
なお、主制御基板4100から受信するコマンドには、図10及び図11にて説明したように、例えば、特別図柄の変動表示を停止させる特図同調演出終了コマンド(特図1同調演出終了コマンド又は特図2同調演出終了コマンド)や、変動表示ゲームの結果が大当りとなった場合に、大当り遊技終了後の遊技状態(確変状態、時短状態、通常遊技状態)を指定する変動時状態指定コマンドが含まれる。特図同調演出終了コマンドを受信した場合には、同調演出終了フラグを設定する。また、変動表示ゲームの結果に応じて、大当り遊技の開始時の演出の実行を指示する大当りオープニングコマンドや大当り遊技の終了時の演出の実行を指示する大当りエンディングコマンド等が含まれる。
さらに、第一始動口2101又は第二始動口2102に遊技球が入賞した場合には、主制御基板4100から始動口入賞コマンドが送信され、始動口に遊技球が入賞したことを報知する始動口入賞演出(例えば、音声出力)の開始が指示される。また、第一始動口2101への遊技球の入賞や第一特別図柄表示器1185における特別図柄の変動表示の終了によって特別図柄1作動保留球数が変化した場合には、特別図柄1記憶コマンドを主制御基板4100から受信する。同様に、第二始動口2102への遊技球の入賞や第二特別図柄表示器1186における特別図柄の変動表示の終了によって特別図柄2作動保留球数が変化した場合には、特別図柄2記憶コマンドを主制御基板4100から受信する。
また、特別図柄1記憶コマンド(特別図柄2記憶コマンド)には特別図柄1作動保留球数(特別図柄2作動保留球数)が含まれており、遊技盤側液晶表示装置1900における特別図柄1作動保留球数(特別図柄2作動保留球数)に対応する表示を更新するように設定される。
さらに、特別図柄1作動保留球数(特別図柄2作動保留球数)が増加した場合には、新たに保留された変動表示に関する先読み演出の開始を指示する特別図柄1記憶先読み演出コマンド(特別図柄2記憶先読み演出コマンド)を主制御基板4100から受信する。このとき、先読み演出の開始を指示するフラグを設定する。
また、演出関連コマンド以外のエラー発生などを報知する報知コマンドを受信した場合には、所定の記憶領域にフラグ等をセットし(ステップS1407)、警告処理など(図17のステップS1024)によって対応する処理を実行する。
[5−1−6.演出制御処理]
続いて、演出制御処理(図17のステップS1027の処理)について、図22を参照しながら説明する。図22は、本実施形態の演出制御処理の一例を示すフローチャートである。
演出制御処理は、遊技の進行状態を示す処理選択フラグの値に基づいて、装飾図柄変動開始処理(ステップS1500)、装飾図柄変動処理(ステップS1600)、大当り表示処理(ステップS1700)、及び小当り表示処理(ステップS1800)のいずれかの処理を選択的に行う。
処理選択フラグが「0」の場合に実行される装飾図柄変動開始処理(ステップS1500)では、受信コマンド解析処理のステップS1404(図21参照)の処理にて変動パターン受信フラグがセットされている場合に、装飾図柄の変動表示を含む特図同調演出を開始するための処理を行う。例えば、変動パターンや変動表示ゲームの当落情報に基づいて演出内容(装飾図柄の停止図柄、リーチ演出の種類、予告演出の実行可否の判定、予告演出態様、延長演出の有無など)を決定し、決定した演出内容に応じた設定等を行う。また、特図同調演出が実行されない場合にデモ演出を実行するように制御する。装飾図柄変動開始処理の詳細については図23にて後述する。
また、処理選択フラグが「1」の場合に実行される装飾図柄変動処理(ステップS16000)では、特図同調演出(装飾図柄の変動表示)が開始されていることを条件に、変動表示ゲームと同調して実行される特図同調演出を制御する。また、特図同調演出終了コマンドを受信した場合には、特図同調演出を終了させて確定停止させるための処理を実行する。すなわち、装飾図柄変動処理では、特図同調演出が開始されてから終了するまでの演出制御を行う。装飾図柄変動処理の詳細については図24にて後述する。
また、特図同調演出終了コマンドの受信時には、装飾図柄の変動表示を伴う特図同調演出を終了させるため、演出制御プログラムは、変動表示ゲームの結果に基づく装飾図柄を確定停止させる。最後に、演出制御プログラムは、変動表示ゲームの結果に基づいて、処理選択フラグを設定する。具体的には、変動表示ゲームの結果が「大当り」の場合には処理選択フラグを[2]に設定し、変動表示ゲームの結果が「小当り」の場合には処理選択フラグを[3]に設定し、変動表示ゲームの結果が「はずれ」の場合には処理選択フラグを[0]に設定する。
特図同調演出終了条件を満たすまでの間は、特図同調演出を継続するため、演出制御プログラムは、例えば、遊技盤側液晶表示装置1900で表示中のシーン(映像)を切り替えたり、キャラクタを登場させたりするなどの演出を実行する。また、変動パターンに依存しない演出を独立して実行するようにしてもよく、例えば、次回以降に実行される変動表示ゲームの結果を示唆する先読み演出などを実行する。
また、処理選択フラグが「2」の場合に実行される大当り表示処理(ステップS1700)では、ステップS1407(図21参照)の処理で設定される大当り時のインターバル演出コマンドに対応したフラグや、大当り開始コマンドに対応したフラグがセットされていることを条件に、大入賞口2103が開放されることを遊技盤側液晶表示装置1900に示す表示や、大当り遊技状態中の表示(例えば、ラウンド表示等)をさせる制御をそれぞれ行う。また、当該処理の終了時には、大当り時のインターバル演出コマンドに対応したフラグや、大当り開始コマンドに対応したフラグがリセットされる。
また、処理選択フラグが「3」の時に実行される小当り表示処理(ステップS1240)では、ステップS1407(図21参照)の処理で設定される小当り時のインターバル演出コマンドに対応したフラグや、小当り開始コマンドに対応したフラグがセットされていることを条件に、大入賞口2103が開放されることを遊技盤側液晶表示装置1900にて示す表示や、小当り遊技状態中の演出表示をさせる制御をそれぞれ行う。また、当該処理の終了時には、小当り時のインターバル演出コマンドに対応したフラグや、小当り開始コマンドに対応したフラグがリセットされる。
[5−1−7.装飾図柄変動開始処理]
次に、処理選択フラグが「0」のときに実行される装飾図柄変動開始処理(ステップS1500)について説明する。図23は、本実施形態における装飾図柄変動開始処理の一例を示すフローチャートである。
装飾図柄変動開始処理では、演出制御プログラムは、まず、ステップS1404(図21参照)の処理で設定される変動パターン受信フラグがセットされているか否かを判定する(ステップS1501)。すなわち、ステップS1501の処理では、主制御基板4100側で所定の始動条件(所定条件)が成立したことに基づいてステップS1404(図21参照)の処理で変動パターン受信フラグがセットされるまで待機する。そして、変動パターン受信フラグがセットされるまでの間(すなわち、変動表示ゲームが開始されるまで)、ステップS1511からステップS1513までの処理によってデモ演出にかかる制御を実行する。
具体的に説明すると、変動パターン受信フラグがセットされていない場合には(ステップS1501の結果が「No」)、演出制御プログラムは、遊技盤側液晶表示装置1900においてデモ演出の実行中であるか否かを判定する(ステップS1511)。そして、デモ演出の実行中でないと判定した場合には(ステップS1511の結果が「No」)、前回の図柄変動などの表示演出が終了してから所定時間が経過したか否かを判定する(ステップS1512)。所定時間が経過した場合には(ステップS1512の結果が「Yes」)、遊技盤側液晶表示装置1900においてデモ演出を開始させるデモ演出表示フラグを設定する(ステップS1513)。
一方、所定時間が経過していないと判定された場合には(ステップS1512の結果が「No」)、演出制御プログラムは、当該装飾図柄変動開始処理を一旦終了し、変動パターン受信フラグがセットされるか(ステップS1501の結果が「Yes」)、所定時間が経過するか(ステップS1512の結果が「Yes」)のいずれかの条件が満たされるまで待機する。
また、演出制御プログラムは、遊技盤側液晶表示装置1900においてデモ演出を実行していると判定された場合には(ステップS1511の結果が「Yes」)、そのままデモ演出の実行を継続する。
これに対し、変動パターン受信フラグがセットされている場合には(ステップS1501の結果が「Yes」)、演出制御プログラムは、変動パターン受信フラグをクリアする(ステップS1502)。そして、受信した特図同調演出開始コマンド及び特別図柄指定コマンドに基づいて、主制御基板4100から送信された特図同調演出開始コマンドに基づいて、対応するフラグの設定やパラメータの設定を行う。
具体的には、まず、主制御基板4100から受信した特図同期演出開始コマンドに基づいて変動パターンを特定する(ステップS1503)。このとき、現在の遊技状態(例えば、確率変動状態、時間短縮状態、確変時短状態、通常遊技状態等、演出態様のみに関連する演出モードのようなものであってもよい)に基づいて、変動パターンを選択するようにしてもよい。さらに、特定された変動パターンに基づく演出を実行するために必要な情報を設定する(ステップS1504)。
続いて、演出制御プログラムは、遊技状態に応じた演出パターン及び停止図柄を設定する(ステップS1505)。遊技状態に応じた演出パターンとしては、例えば、遊技盤側液晶表示装置1900で表示されている画像の背景、スピーカーから出力されている音楽や音声などを遊技状態に応じて設定する。また、演出パターンには、変動パターンに対応した予告態様も含まれる。例えば、変動表示の結果を示唆するために、特定のキャラクタを登場させたり、背景色を通常とは異なる色に設定したりする。設定された停止図柄は、主制御基板4100から特図同調演出の終了条件を満たしたタイミングで、装飾図柄変動処理において確定表示される。
以上のように、特図同調演出を実行するために必要な情報が設定されると、周辺制御部定常処理(図17)のランプデータ出力処理(ステップS1012)、表示データ出力処理(ステップS1016)、音データ出力処理(ステップS1018)、ランプデータ作成処理(ステップS1028)、表示データ作成処理(ステップS1030)、音データ作成処理(ステップS1032)などが実行されることによって、装飾図柄の変動表示などの特図同調演出が開始される。
最後に、演出制御プログラムは、処理選択フラグを[1]に更新する(ステップS1506)。このように制御することによって、装飾図柄変動開始処理は、特図同調演出の実行開始時に1回だけ実行されるようになる。
[5−1−8.装飾図柄変動処理]
次に、処理選択フラグが「1」のときに実行される装飾図柄変動処理(ステップS1600)について説明する。図24は、本実施形態における装飾図柄変動処理の一例を示すフローチャートである。
装飾図柄変動処理は、装飾図柄変動開始処理が実行されて処理選択フラグが「1」の場合に実行される。そして、装飾図柄変動処理では、特図同調演出(装飾図柄の変動表示)が開始されていることを条件に、変動表示ゲームと同調して実行される特図同調演出を制御する。
装飾図柄変動処理が開始されると、演出制御プログラムは、まず、特図同調演出の終了条件が成立したか否かを判定する(ステップS1601)。例えば、特図同調演出終了コマンド(図柄確定コマンド)を受信した場合に特図同調演出を終了してもよいし、特図同調演出の開始から所定時間経過した場合に特図同調演出を終了してもよい。また、特図同調演出終了コマンドの受信及び特図同調演出の開始からの経過時間の両方を特図同調演出の終了条件としてもよく、例えば、特図同調演出の開始から所定時間を経過していなくても、特図同調演出終了コマンドを受信した場合には、変動表示を強制的に終了し、装飾図柄を確定停止させるように表示画面を切り替えるようにしてもよい。
特図同調演出の終了条件が成立した場合には(ステップS1601の結果が「yes」)、装飾図柄の変動表示を伴う特図同調演出を終了させるため、演出制御プログラムは、変動表示ゲームの結果に基づく装飾図柄を確定停止させる(ステップS1602)。
さらに、演出制御プログラムは、実行中の変動表示ゲームの結果に基づいて、処理選択フラグを設定する(ステップS1603)。具体的には、変動表示ゲームの結果が「大当り」の場合には処理選択フラグを[2]に設定し、変動表示ゲームの結果が「小当り」の場合には処理選択フラグを[3]に設定し、変動表示ゲームの結果が「はずれ」の場合には処理選択フラグを[0]に設定する。
一方、特図同調演出の終了条件が成立していない場合には(ステップS1601の結果が「no」)、演出制御プログラムは、特図同調演出を継続するため、例えば、遊技盤側液晶表示装置1900で表示中のシーン(映像)を切り替えたり、キャラクタを登場させたりするなどの演出を実行する。また、変動パターンに依存しない演出を独立して実行するようにしてもよく、例えば、次回以降に実行される変動表示ゲームの結果を示唆する先読み演出などを実行してもよい。
[5−1−9.演出例]
以上の処理によって、実行される特図同調演出の一例について説明する。図25は、本実施形態の特図同調演出の画面遷移の一例を示す図である。
図25(A)は、変動表示ゲームが実行されずに保留されている始動記憶が2個ある状態で、装飾図柄が確定表示された状態を示している。始動記憶は左から順に消化され、図25(A)では、次に実行される変動表示に対応する始動保留表示態様が変化している状態(先読み予告演出)となっている。
図25(B)は、始動保留表示態様が変化している始動記憶に基づく装飾図柄の変動表示が開始され、特図同調演出が実行されている状態を示している。各装飾図柄は、左装飾図柄、右装飾図柄、中装飾図柄の順で停止する。図25(C)は、左装飾図柄及び右装飾図柄が停止した状態を示している。このとき、左装飾図柄と右装飾図柄とが同じ装飾図柄で停止しており、図25(D)に示すように、リーチ演出(スペシャル(SP)リーチ)が実行される。
[5−2.グラフックチップ(音源内蔵VDP)による処理]
次にグラフックチップ(音源内蔵VDP4160a)による処理について、適宜、図6及び図7を参照しながら説明する。一般的に、周辺制御基板4140は、主制御基板4100によって出力されたコマンドを受け取り、当該受け取ったコマンドに応じて、液晶表示装置1900に、特別図柄の変動時間に亘って装飾図柄を変動表示させた後、大当り抽選の結果に応じた装飾停止図柄を表示させる機能を有する。
[5−2−1.制御データ]
本実施形態では、液晶及び音制御部4160が、上述した画像データ(素材画像データ)を記憶可能な液晶及び音制御ROM4160b(映像データ記憶部)、音源内蔵VDP4160a、この音源内蔵VDP4160aを制御する周辺制御MPU4150a(制御部)及び音源内蔵VDP4160a内蔵のフレームバッファを備えている。さらにこの液晶及び音制御ROM4160bには、複数の非映像演出実行部を各々特定の態様で制御するための属性情報が含められた複数の制御データが予め記憶されている。
図26(A)は、上述したように液晶及び音制御ROM4160bに予め用意されている制御データ列2635A,2635B,2635Cの格納状態の一例を示す図である。液晶及び音制御ROM4160bには、フレームの表示順を規定する映像表示用のスケジュールデータとは別途、これら制御データ列2635A,2635B,2635Cを含むスケジュールデータ(後述する非映像用スケジュールデータに対応)が格納されている。制御データ列2635A,2635B,2635Cは、それぞれ、この液晶及び音制御ROM4160bにおいて次のような具体的な圧縮方法を用いて圧縮された状態で予め格納されており、後述する伸張方法を用いて音源内蔵VDP4160aによって読み出される際に伸張される。
制御データ列2635A,2635B,2635Cは、これらを1つの組み合わせとしてフレームごとに、例えば演出時間tに沿って時系列に配列された状態で格納されている。本実施形態では、このように演出時間tに沿って時系列に配列された状態の制御データ列2635A,2635B,2635Cの集合体を「非映像用スケジュールデータ」とも総称している。これら制御データ列2635A,2635B,2635Cは互いに同一のデータサイズであるため、音源内蔵VDP4160aは、制御データ列2635Aの先頭アドレスを指定すると、残りの制御データ列2635B,2632Cの格納位置を容易に特定することができる。
図26(B)は、図26(A)に示す制御データ列2635Aの詳細を示すデータフォーマットの一例を示している。制御データ列2635Aは、図26(B)に示すように、例えば2ビットの種別コード、各24ビット(3バイト)の第1制御データ、第2制御データ、第3制御データ、・・・、第100制御データを含んでいる。
上述した2ビットの種別コードとしては、例えば、ランプ或いはLEDを用いた光出力制御用には「00」が設定されており、スピーカーを用いた音制御用には「01」が設定されており、モータを用いた役物制御用には「10」が設定されている。
一方、種別コードが「00(光出力制御)」である場合には、24ビットの制御データとしては、例えば、各画素の光の輝度、デューティ比などを規定するための属性情報であることを挙げることができる。具体的には、各制御データは、例えば制御対象がLEDである場合には、光の三原色に応じて赤色(8ビット:1バイト)、緑色(8ビット:1バイト)及び青色(8ビット:1バイト)の3個の画素で構成される1ドットを特定の態様の光として出力させるためのデータである。すなわち、各制御データは、対応する各LEDを所望の態様、例えば輝度、デューティ比の態様で駆動するための属性情報として用いられる。
種別コードが「01(音出力制御)」である場合には、24ビットの制御データには、例えば、可聴範囲(約20〜20000Hz)を網羅する音の周波数を指定するための16ビットの周波数指定部と、音の振幅の大きさを256段階で指定するための8ビットの振幅指定部とが含まれている。
種別コードが「10(モータ制御)」である場合には、24ビットの制御データとしては、例えば、制御対象のモータが4相のステッピングモータであれば、6ビットごとの4つの値に応じた通電時間に亘る励磁電流を各相に与えている。
ここで、上述した図7においては、液晶及び音制御部4160が周辺制御部4150から独立した構成を採用しているが、この液晶及び音制御部4160の機能は、周辺制御基板4140(演出制御部)に搭載されている構成であってもよい。
この周辺制御基板4140では、周辺制御ROM4150bに、予め対応管理テーブル2611が格納されている。この対応管理テーブル2611は、周辺制御基板4140の周辺制御MPU4150aのみならず、音源内蔵VDP4160aからも参照することができる。なお、この対応管理テーブル2611は、液晶及び音制御部4160の周辺制御MPU4150aの内蔵ROMに格納されている構成であってもよい。
音源内蔵VDP4160a(演出映像形成部)は、映像表示用スケジュールデータに従った順序で、液晶及び音制御ROM4160bから読み出した素材画像データを用いてフレームの表示に用いるフレームデータを生成する一方、この液晶及び音制御ROM4160bから読み出した複数の制御データ列に含まれる複数の制御に基づいて後述するように複数の画素データを生成する。
図27は、フレームバッファの記憶領域の構成例を示している。フレームバッファは、図27に示すように表示領域内記憶領域2631及び表示領域外記憶領域2632を備えている。表示領域内記憶領域2631は、音源内蔵VDP4160aによって生成されたフレームデータを記憶するための記憶領域である。一方、表示領域外記憶領域2632は、音源内蔵VDP4160aによって生成された複数の画素データを各々記憶するための記憶領域である。また、この表示領域外記憶領域2632は、複数の非映像演出実行部の数に相当する特定個数分の画素領域が形成されている。
表示領域外記憶領域2632には、例えば、非映像演出実行部の種類の数(本実施形態では、例えば、ランプ或いはLED、スピーカー及びモータの3種類)をそれぞれ特定の態様で制御するための制御データ列2635A,2635B,2635Cを記憶するための記憶領域が形成されている。本実施形態においては、例えば、制御データ列2635Aがランプ或いはLEDの制御用であり、制御データ列2635Bがスピーカーの制御用であり、制御データ列2635Cがモータ用に設定されている。
制御データ列2635Aには、ランプ或いはLED群を制御するための制御データが記憶され、制御データ列2635Bには、スピーカーを制御するための制御データが記憶され、制御データ列2635Cには、スピーカーを制御するための制御データが記憶される。
図28は、対応管理テーブル2611の内容の一例を示す図である。この対応管理テーブル2611は、例えば、液晶及び音制御部4160の周辺制御MPU4150aの内蔵ROMに予め格納されている。音源内蔵VDP4160aは、上述のように生成したフレームデータを表示領域内記憶領域2631に格納させる一方、生成した各画素データを、対応管理テーブル2611に基づいて特定される表示領域外記憶領域2632における各画素領域に格納させる。
この対応管理テーブル2611では、種別コードによって、上述した非映像演出実行部の種類を区別して管理している。また本実施形態では、同一種類の非映像演出実行部が複数設けられている構成であるため、当該同一種類の複数の非映像演出実行部は、それぞれ独立した系統として系統番号が付されて管理されている。
本実施形態では、例えば種別コード「00」に対応するランプ或いはLEDであれば100個搭載されているため、100系統存在していることになり、対応管理テーブル2611では、当該同一種類の複数の非映像演出実行部には、「1」〜「100」という系統番号が付されている。これら各系統番号に対応する各画素領域の画素領域番号は、「A−1」〜「A−100」となっている。これらの画素領域番号は、図27に示す各画素領域番号A−1〜A−100と対応している。
種別コード「01」に対応するスピーカーであれば4個搭載されているため、4系統存在していることになり、対応管理テーブル2611では、当該同一種類の複数の非映像演出実行部には、「1」〜「4」という系統番号が付されている。これら系統番号に対応する各画素領域の画素領域番号は、「B−1」〜「B−4」となっている。ここで、画素領域番号「B−5」から「B−100」に対応する各画素領域は、制御対象となるスピーカーが存在しないため、使用されないことになるが、この場合には、スピーカーを作動させないようにするためのデータを格納している。なお、これらの画素領域番号は、図27に示す各画素領域番号B−1〜B−100と対応している。
種別コード「10」に対応するモータであれば30個搭載されているため、30系統存在していることになり、対応管理テーブル2611では、当該同一種類の複数の非映像演出実行部には、「1」〜「30」という系統番号が付されている。これら系統番号に対応する各画素領域の画素領域番号は、「C−1」〜「C−30」となっている。ここで、画素領域番号「C−31」〜「C−100」に対応する各画素領域は、制御対象となるモータが存在しないため、使用されないことになるが、この場合には、モータの各相に励磁を掛けないようにするためのデータを格納している。なお、これらの画素領域番号は、図27に示す各画素領域番号C−1〜C−100と対応している。
[5−2−2.制御データ抽出処理]
図29は、制御データ抽出処理の一例を示すフローチャートである。制御データ抽出処理では、液晶及び音制御部4160の音源内蔵VDP4160aが、制御データ列2635A,2635B,2635Cから種別コードごとに各制御データを抽出する。音源内蔵VDP4160aは、約33msごとに実行するタイマ割り込み処理の一部として、通常の表示データ作成処理(S1030)液晶表示制御処理とともに、この制御データ抽出処理を実行している。
まず、音源内蔵VDP4160aは、周辺制御基板4140からの抽出指示コマンドが図示しないコマンドバッファに格納されているか否かを確認する(ステップS1301)。音源内蔵VDP4160aは、コマンドバッファに抽出指示コマンドが格納されていなければ制御データ抽出処理を終了し、上述したタイマ割り込み処理の続きを実行する。
一方、音源内蔵VDP4160aは、コマンドバッファに抽出指示コマンドが格納されている場合には、複数の非映像演出実行部の種類数の変数としての種別種類数変数mを初期化して「0」と設定する(ステップS1302)。
次に音源内蔵VDP4160aは、フレームバッファの表示領域内記憶領域2631から1フレーム分の描画データ(映像演出データに相当)を読み出した際に、同時に併せて、同一フレームに対応する表示領域外記憶領域2632の複数の画素領域から各々複数の画素データ(非映像演出データに相当)を含む全ての制御データ列2635A,2635B.2835Cを抽出する(ステップS1303)。
まず、音源内蔵VDP4160aは、現在の種別種類数変数m(ここでは「0」)に「1」を加算し(ステップS1304)、種別種類数変数mを「1」とする。次に音源内蔵VDP4160aは、同一フレームにおけるm個目(ここでは1つめ)の制御データ列2635Aの種別を取得する(ステップS1305)。その後、音源内蔵VDP4160aは、この制御データ列2635Aの100個分の各制御データを抽出し(ステップS1306)、先頭の制御データ(第1系統)から最後の制御データ(第100系統)に至るまで、それぞれ系統番号として「1」〜「100」を割り当てる。
次に音源内蔵VDP4160aは、対応管理テーブル2611を参照し、当該制御データ列2635Aに関する各系統に対応する各画素領域番号を特定する。ここで、本実施形態では、フレームバッファの表示対象外記憶領域2632には、図27に示すように、制御データ列2635A用として、各画素領域A−1〜A−100が形成されており、制御データ列2635B用として、各画素領域B−1〜B−100が形成されており、制御データ列2635C用として、各画素領域C−1〜C−100が形成されている。従って、音源内蔵VDP4160aは、当該制御データ列2635Aに関し、各系統「1」〜「100」に対応する各画素領域番号として、A−1〜A−100を特定することができる。最後に、音源内蔵VDP4160aは、各系統の各制御データを各画素領域A−1〜A−100に格納する(ステップS1308)。
次に音源内蔵VDP4160aは、種別種類数変数mが3以上であるかを判断する(ステップS1309)。なお、このように種別種類数が3以上であるか否かを確認しているのは、本実施形態では、複数の非映像演出実行部の種類が、ランプ或いはLED、スピーカー及びモータの3種類であるものと設定しているためである。音源内蔵VDP4160aは、種別種類数変数mが3以上である場合には制御データ抽出処理を終了する一方、種別種類数変数mが3以上でない場合には上述したステップS1305〜ステップS1309を繰り返し、制御データ列2635B,2635Cについても同様に、各系統の各制御データを対応する各画素領域B−1〜B−100及び各画素領域C−1〜C−100に格納させる。
以上のように、音源内蔵VDP4160aは、同一フレームにおける各制御データの各画素領域への格納が完了し、制御パターンの合成が終了すると、種別コードに対応付けて各画素領域の各制御データを周辺制御基板4140の周辺制御MPU4150aに転送し、その周辺制御MPU4150aが内蔵するRAMの特定領域に格納する。
[5−2−3.制御データの圧縮方法]
ところで、従来の遊技機では、遊技の進行に応じて、多数の素材画像を含む多彩な映像を表示させたり、ランプやスピーカを用いて光や音を出力して多彩な演出を実行することにより、遊技者の興味が尽きにくくすることがなされている(上記参考文献1参照)。近年、そのような様々な演出動作を制御するために用いる演出制御データのデータサイズが大きくなってきており、いわゆるキャラクタROMなどの不揮発性メモリの容量が圧迫されてきている。
そこで本実施形態では、規則的な演出動作を制御するための演出制御データのデータ容量を大幅に削減することを目的とし、後述のような構成を採用している。まず、上述した制御データ列2635A,2635B,2635Cのうちの少なくとも制御データ列2635B(光出力制御データ)は、少なくとも1つのランプ又はLED(以下「ランプ」を例示する)に出力させるべき光の出力態様を表す出力態様情報が経過時間に沿って少なくとも3つ繰り返し設定されている。この出力態様情報は、各フレームにおいて同期するこれら制御データ列2635A,2635B,2635Cの少なくとも1つに対応し、本実施形態では、例えば制御データ列2635Bを挙げて説明する。なお、本実施形態は、上記制御データ列2635A,2635Cに関しても制御データ列2635Bと同様な説明を構成であり、以下のように処理されるようにしても同様の効果を挙げることができる。
そのような構成の制御データ列2635B(光出力制御データ)は周辺制御ROM4150b(演出制御記憶手段)に予め格納されているが、この周辺制御ROM4150bにおいては、制御データ列2635Bが、上記少なくとも3つの出力態様情報のうち時間的に連続する出力態様情報同士の差分の「規則性」を利用して、これら少なくとも3つの出力態様情報が圧縮された状態でデータサイズが元々の制御データ列2635Bのデータサイズよりも小さくした態様とされている。以下、まず、制御データ列2635Bの内容の具体例について説明する。
まず、本実施形態では、上述のように制御データ列2635Bが24ビットであるとともにランプが100系統(100個)であるとする代わりに、簡素化して、例えば制御データ列2635Bが3ビットであるとともにランプが5系統(5個)であるものとして説明する。
本実施形態においては、例えば5個のランプを用いたある特定の演出を制御するための制御データとしての制御データ列2635Bに基づく当該5個のランプによる光の出力態様が、それぞれ、各フレームが予め定められた周期ごとに表示される度に一定の割合で均等に変化する(本実施形態では、ランプによる光の出力が徐々に低下して暗くなる)演出態様を想定している。
例えば、図30に示す制御データ列2635B(種別コード2633は省略)は、第N−1フレーム、第Nフレーム及び第N+1フレームにおいてそれぞれ、第1制御データ〜第5制御データ(1つの出力態様情報に相当)を含んでいるものとする。各フレームごとの第1制御データから第5制御データは、それぞれ、各フレームが表示される際における5種類のランプの出力態様を規定している。例えば、図30は、第N−1フレームが表示される際に併せて、5個のランプから出力されるべき光の出力態様を規定する制御データ列2635B(1つの出力態様情報に対応)を表している。
図示の第N−1フレームにおいては、制御データ列2635Bが、例えば3ビットで表した場合に、「111(輝度7)」という第1制御データと、「110(輝度6)」という第2の制御データと、「100(輝度4)」という第3制御データと、「101(輝度5)」という第4制御データと、「011(輝度3)」という第5制御データという5種類の制御データを含んでいる。第1制御データは、5個のランプのうち第1のランプによる光の出力態様が規定されており、第2制御データは、5個のランプのうち第2のランプによる光の出力態様が規定されており、第3制御データは、5個のランプのうち第3のランプによる光の出力態様が規定されており、第4制御データは、5個のランプのうち第4のランプによる光の出力態様が規定されており、第5制御データは、5個のランプのうち第5のランプによる光の出力態様が規定されている。
図示の第Nフレームにおいては、制御データ列2635Bが、例えば3ビットで表した場合に、「110(輝度6:輝度の差分「−1」)」という第1制御データと、「101(輝度5:輝度の差分「−1」)」という第2の制御データと、「011(輝度3)」という第3制御データと、「100(輝度4:輝度の差分「−1」)」という第4制御データと、「010(輝度2:輝度の差分「−1」)」という第5制御データという5種類の制御データを含んでいる。第1制御データは、5個のランプのうち第1のランプによる光の出力態様が規定されており、第2制御データは、5個のランプのうち第2のランプによる光の出力態様が規定されており、第3制御データは、5個のランプのうち第3のランプによる光の出力態様が規定されており、第4制御データは、5個のランプのうち第4のランプによる光の出力態様が規定されており、第5制御データは、5個のランプのうち第5のランプによる光の出力態様が規定されている。
図示の第N+1フレームにおいては、制御データ列2635Bが、例えば3ビットで表した場合に、「101(輝度5:輝度の差分「−1」)」という第1制御データと、「100(輝度4:輝度の差分「−1」)」という第2の制御データと、「010(輝度2:輝度の差分「−1」)」という第3制御データと、「011(輝度3:輝度の差分「−1」)」という第4制御データと、「001(輝度1:輝度の差分「−1」)」という第5制御データという5種類の制御データを含んでいる。第1制御データは、5個のランプのうち第1のランプによる光の出力態様が規定されており、第2制御データは、5個のランプのうち第2のランプによる光の出力態様が規定されており、第3制御データは、5個のランプのうち第3のランプによる光の出力態様が規定されており、第4制御データは、5個のランプのうち第4のランプによる光の出力態様が規定されており、第5制御データは、5個のランプのうち第5のランプによる光の出力態様が規定されている。
以上のように本実施形態においては、例えば5個のランプを用いたある特定の演出を制御するための演出制御データ列2635Bに基づく当該5個のランプによる光の出力態様は、それぞれ、各フレームが予め定められた周期ごとに表示される度に各ランプの輝度の「差分」が「−1」で等しいという規則性が保持されているため、一定の割合で均等に変化しているようになる(本実施形態では、ランプによる光の出力が徐々に低下して暗くなる)。
本実施形態では、制御データ列2635Bが、各フレームにおける3つの第1制御データが表す光の輝度の差分が「−1」であるため(上記規則性に相当)、例えば第N−1フレームにおける第1制御データ(「111」)及び次の2フレームについて輝度の差分が「−1」であるというデータ構成情報(以下「圧縮制御データ列2635B)ともいう)のみを周辺制御ROM4150bに格納するようにしている。これにより、本来、制御データ列2635Bの第1制御データは、第N−1フレームから第N+1フレームにおいて「111」、「110」「101」という9ビットとなるはずであるが、上記圧縮制御データ列2635Bのようなデータサイズが小さな情報となる。このため、このような圧縮制御データ列2635Bが予め用意されているべき周辺制御ROM4150bの記憶容量を大きく抑制することができる。しかも、制御データ列2635Bがこの一例のように3ビットでなく既述のように24ビットである場合には、取り扱うビット数が多ければ多いほどこのような圧縮方法によるデータサイズの大幅な抑制を図ることができる。
[5−2−4.制御データの伸張方法]
一方、周辺制御基板4140においては、演出制御プログラムが、周辺制御MPU4150aの代わりに、例えば音源内蔵VDP4160a(データ制御手段)に、周辺制御ROM4150b(演出制御記憶手段)において少なくとも3つの出力態様情報が圧縮された状態で格納されている制御データ列(光出力制御データ)2635Bについて(以下「圧縮制御データ列2635B」ともいう)、上記時間的に連続する出力態様情報同士の差分の「規則性」を利用して当該少なくとも3つの出力態様情報を復元することにより伸張させる。
ところで、周辺制御基板4140においては、周辺制御ROM4150bに、そのような出力態様情報の差分の規則性を管理する規則性管理テーブルが予め用意されている。この規則性管理テーブルでは、各フレームの識別子ごとに、あるフレームにおける各制御データ列が表す出力態様情報と、次のフレームにおける各制御データ列が表す次の出力態様情報との差分の「規則性」が管理されている。従って、演出制御プログラムが、表示しようとするフレームの識別子を検索キーとして、この規則性管理テーブルを検索すると、このフレームに対応する出力態様情報の差分の「規則性」を取得することができる。
具体的には、演出制御プログラムは、周辺制御ROM4150bから圧縮制御データ列2635Bを読み出す際に、上記規則性管理テーブルにおいて各フレームごとに管理されている規則性を利用して、例えば第N−1フレームにおける第1制御データ「111」と、輝度の差分が「−1」であるという規則性とに基づいて、第Nフレームにおける第1制御データを「110」と復元するとともに、第N−1フレームにおける第1制御データを「101」と復元することができる。
この演出制御プログラムは、周辺制御MPU4150aの制御の下、音源内蔵VDP4160a(描画制御手段)に、上記スケジュールデータに従って互いに同期させるべき各スプライトデータ(素材画像データ)を周辺制御ROM4150b(演出制御記憶手段)から読み出させたり、或いは、内蔵RAM(演出制御記憶手段)に展開済みの場合にはこの内蔵RAMから読み出させ、その後、この周辺制御ROM4150bから読み出した各スプライトデータから予め定められた周期ごとに描画データを生成してフレームバッファに格納させるとともに当該フレームバッファに格納された描画データに基づくフレームを遊技盤側液晶表示装置1900(表示手段)に繰り返し表示させている(フレーム制御手段)。
上述のように本実施形態では、演出制御プログラムは、周辺制御MPU4150aの制御の下、音源内蔵VDP4160aに、周辺制御ROM4150bにおいて既述のように少なくとも3つの出力態様情報が圧縮された状態で格納されている制御データ列2635B(光出力制御データ)について次のように上記少なくとも3つの出力態様情報を復元させて伸張する。すなわち、演出制御プログラムは、周辺制御MPU4150aの制御の下、音源内蔵VDP4160aに、上述のように繰り返し遊技盤側液晶表示装置1900(表示手段)に表示される各フレームに同期させて、上記連続する出力態様情報同士の差分の「規則性」を利用して上記少なくとも3つの出力態様情報を復元することにより伸張させる(データ伸張制御手段)。
さらに周辺制御基板4140では、演出制御プログラムが、周辺制御MPU4150aの制御の下、音源内蔵VDP4160aに、上記復元したこれら少なくとも3つの出力態様情報からこれらに各々対応する各出力態様の光を少なくとも1つのランプ(光出力手段)に、上記生成されたフレームに同期させつつ光を出力させる(光出力制御手段)。なお、周辺制御基板4140では、演出制御プログラムが、周辺制御MPU4150a(データ制御手段)に上記同様の処理をさせる形態であってもよい。
このようにすると、規則的な演出動作を制御するための演出制御データの一例として、例えば規則的に光の出力態様を変化させるための制御データ列2635B(光出力制御データ)のデータ容量を大幅に削減することができる。
なお、以上の実施形態においては、上述のような圧縮・伸張方法を用いた演出態様として、ランプによる光の出力が徐々に低下して遊技者に暗闇をイメージさせて緊張感を与えるような演出態様を例示したが、これに限られず、その逆に、各フレームに対応する出力態様情報同士の差分の規則性を「+1」とすることにより、ランプによる光の出力を徐々に高くして遊技者を気分的に高揚させて期待感を抱かせうる演出態様に適用してもよい。勿論、ランプによる光の出力に代えて音の出力を変化させる形態であっても同様の効果を挙げることができる。
[6.演出情報の読み出し規制]
図31は、本実施形態における周辺制御MPU4150aからの指示に基づいて演出情報(画像データ)の秘匿化を解除する構成を説明する周辺制御基板のブロック図である。
主制御基板4100は、演出の開始を指示するコマンドを周辺制御基板4140に送信する。演出の開始を指示するコマンドは、例えば、図10に示した特図1同調演出開始コマンドや特図2同調演出開始コマンドである。
周辺制御基板4140の周辺制御MPU4150aは、主制御基板4100から受信した演出の開始を指示するコマンドに基づいて、指定された演出を実行するための演出構成情報を周辺制御ROM4150bから取得する。演出構成情報には、例えば、演出における各シーンのスケジュールデータが含まれる。その後、周辺制御MPU4150aは、音源内蔵VDP4160aに対し、演出構成情報に基づく演出のディスプレイコマンド(実行指示コマンド、演出制御情報)を出力する。
音源内蔵VDP4160aは、周辺制御MPU4150aから出力されたディスプレイコマンドに基づいて、キャラクタや背景などの画像データと、スピーカーから出力されるキャラクタの音声や効果音などの音データ等の演出データを液晶及び音制御ROM4160bから取得する。そして、入力されたディスプレイコマンドに基づいて、液晶及び音制御ROM4160bから取得された画像データ及び音データを液晶表示装置やスピーカーに出力する。
本実施形態では、液晶及び音制御ROM4160bに格納されている演出データは、一部又は全部が秘匿化(暗号化)されており、秘匿解除情報4201に基づいて秘匿化を解除する。秘匿化を解除せずに液晶及び音制御ROM4160bに格納されている演出データを取り出しても、取り出した演出データを正常に出力することができないようになっている。
なお、秘匿化の解除は、ディスプレイコマンドに基づいて行ってもよいし、ディスプレイコマンドとともに送信された演出データの秘匿化を解除するための解除コマンドを受信した場合に秘匿化を解除するようにしてもよい。例えば、演出構成情報に画像データが秘匿化されているか否かの情報を含ませることによって、ディスプレイコマンドとともに解除コマンドを送信すればよい。
演出データの秘匿化は、例えば、共通鍵暗号方式に基づいて演出データを共通鍵で暗号化して液晶及び音制御ROM4160bに格納し、共通鍵を予め決定されている公開鍵で暗号化する。このとき、秘匿解除情報4201が公開鍵で暗号化された共通鍵に対応する。そして、公開鍵に対応した秘密鍵を音源内蔵VDP4160aが公開鍵とともに保持する。
演出データの復号化は、まず、復号化対象の演出データに対応する秘匿解除情報4201を取得し、音源内蔵VDP4160aに保持された公開鍵及び秘密鍵によって復号化して共通鍵を取得する。最後に、取得された共通鍵によって暗号化された演出データを復号化すればよい。
また、演出データの取得ごとに解除コマンドを受け付けるのではなく、遊技機の電源投入時などに解除コマンドの入力を受け付け、以降、電源が遮断されるまで秘匿化の解除を許可するようにしてもよい。また、特別な演出の実行時(例えば、所定の変動パターンに基づく変動表示が実行される場合)に秘匿化された演出データを取得する場合には、当該特別な演出の実行時(例えば、変動開始時、大当り遊技開始時など)に解除コマンドを周辺制御MPU4150aから音源内蔵VDP4160aに送信するようにしてもよい。
さらに、周辺制御MPU4150aから送信される解除コマンドによって秘匿化を解除するのではなく、音源内蔵VDP4160aが独自に秘匿化を解除するか否かを判定し、演出データの秘匿化を解除するようにしてもよい。ここで、電源投入時に音源内蔵VDP4160aが独自に秘匿化を解除する例について説明する。図32は、音源内蔵VDP4160aが独自に演出情報の秘匿化を解除する構成を説明する周辺制御基板のブロック図である。
遊技機の電源が投入されると、電源基板851から主制御基板4100、周辺制御基板4140に制御基板毎の駆動電源(主制御用駆動電源、周辺制御用駆動電源)が供給される(電源基板からの電源の供給は、主制御基板、周辺制御基板のみに限定されず他の制御基板(例えば、払出制御基板等)に対しての駆動電源を供給するが、その点については説明を省略する)。
そして、電源の供給が開始されると、起動信号出力手段4401は電源の供給開始を検知して、周辺制御MPU4150aや音源内蔵VDP4160を含む液晶及び音制御部4160にリセット信号(起動信号)を出力する。液晶及び音制御部4160は、リセット信号(起動信号)が入力されたことに基づいて、演出データの秘匿化を解除するか否かを判定する。
演出データの秘匿化を解除するか否かは、例えば、受信した起動信号が正当であるか否かに基づいて判定してもよい。また、受信した起動信号の送信元が正当であるか否かに基づいて判定してもよい。すなわち、起動信号の送信元が周辺制御MPU4150aからであれば、演出データが正当に取得されると判定し、演出データの秘匿化を解除するようにしてもよい。
さらに、電源投入時に周辺制御MPU4150aから音源内蔵VDP4160aに初期化設定情報(秘匿化の解除を指示する情報は含まれていない)が入力されたことに基づいて演出データの秘匿化を解除するか否かを判定するようにしてもよい。
さらに、周辺制御MPU4150aからディスプレイコマンドが入力されたことを契機とし、ディスプレイコマンドが画像データの読み出しにかかるコマンドであった場合に演出データ(画像データ)の秘匿化を解除するか否かを判定するようにしてもよい。このとき、まず、演出データが秘匿化されているか否かを判定し、その後、演出データの秘匿化を解除するか否かを判定してもよい。秘匿化されていない演出データを読み出す場合には、演出データの秘匿化を解除するか否かを判定せずに、データの読み出しを許可するようにしてもよい。なお、演出データが秘匿化されているか否かの判定は、演出データを解析してもよいし、演出データが秘匿化されているか否かを示す情報を保持するようにしてもよい。
また、演出データは、特別なデータの場合にのみ暗号化するようにしてもよい。特別なデータとは、例えば、画像データが版権を有したキャラクタである場合に、当該キャラクタが登場する原作にはないオリジナルのシーンなどに限定してもよい。このように構成することによって、遊技中のみ見ることが可能なシーンを記憶媒体(液晶及び音制御ROM4160b)から不正に抽出して外部に公開するなどの行為を防止し、著作権を保護することができる。また、音声データについては、著作権を有するデータのみを秘匿化するようにしてもよい。例えば、音声データの秘匿化を演出時にスピーカーから出力される歌やBGMなどに限定し、報知音や警告音などは秘匿化しなくてもよい。
続いて、音源内蔵VDP4160aにおける処理についてさらに詳細を説明する。ここでは、画像データを処理する場合について説明するが、音データについては図33にて後述する。
音源内蔵VDP4160aは、秘匿解除情報判定部4301、秘匿画像データ変換部4302、ビデオRAM(VRAM)4303、表示画像構成部4304、フレームバッファ4305及び表示画像データ出力手段4306を有する。
秘匿解除情報判定部4301は、周辺制御MPU4150aから送信されたディスプレイコマンドの入力を受け付けると、液晶及び音制御ROM4160bから取得する画像データに対応する秘匿解除情報4201を取得し(秘匿解除情報取得手段)、取得した秘匿解除情報4201が正当であるか否かを判定する(秘匿解除情報判定手段)。取得した秘匿解除情報4201が正当でない場合には、画像の読み出しを中止し、周辺制御MPU4150aにエラーを通知する。
さらに、周辺制御MPU4150aは、音源内蔵VDP4160aからエラー発生の通知を受信すると、通知の内容を解析してエラーの種類を特定する。そして、特定されたエラーの種類に対応するエラー報知用の画面表示及び音声(報知音)出力を実行するためのスケジュールデータを選択し、周辺制御ROM4150bから取得する。続いて、取得されたスケジュールデータに基づいて、ディスプレイコマンドを作成し、音源内蔵VDP4160aに送信する。
音源内蔵VDP4160aは、周辺制御MPU4150aからエラー報知用のディスプレイコマンドを受信すると、受信したディスプレイコマンドに従ってエラー報知用の画面を液晶表示装置1900に表示し、スピーカーから音声(報知音)を出力する。なお、エラー報知用(特に秘匿化解除の失敗報知)に表示される画面や出力される音声は、秘匿化されていない状態で液晶及び音制御ROM4160bに格納されており、この場合は秘匿化を解除するか否かを判定せずにエラー報知を実行してもよい。また、エラー報知用の画面の他に、初期画面(電源投入画面)やデモ画面等についても秘匿化せずにデータを液晶及び音制御ROM4160bに格納するようにしてもよい。このように、エラー報知画面や初期画面などのデータを秘匿化の対象からはずすことによって、秘匿化の解除に失敗した場合に遊技状態などの報知ができなくなってしまうことを回避することができる。
一方、取得した秘匿解除情報4201が正当な場合には、秘匿画像データ変換部4302が、液晶及び音制御ROM4160bから秘匿画像データ4202を取得し、取得した秘匿解除情報4201によって秘匿化を解除し、表示画像データ(秘匿化(暗号化)されていない画像データ)を取得する。
なお、取得対象の画像データが秘匿化されていない場合には、液晶及び音制御ROM4160bから指定された秘匿画像データ4202をそのまま取得すればよい。秘匿化された画像データと秘匿化されていない画像データとが混在して液晶及び音制御ROM4160bに格納されている場合には、ディスプレイコマンドに取得対象の画像データが秘匿情報であるか否かを示す情報を含ませるようにしてもよい。
また、画像データの秘匿化は、液晶及び音制御ROM4160bと音源内蔵VDP4160aとを接続するデータバス単位で解除してもよいし、所定のデータ容量単位で解除してもよい。さらに、キャラクタごとに解除してもよいし、フレーム(時間)単位で解除してもよいし、複数のフレーム単位で解除してもよい。このとき、秘匿化を解除する単位で秘匿解除情報4201を設定すればよい。
続いて、秘匿画像データ変換部4302は、取得した表示画像データを音源内蔵VDP4160aに含まれるビデオRAM(VRAM)4303に一時的に記憶する。なお、VRAM4303は、音源内蔵VDP4160aの外部に接続するようにしてもよい。
さらに、表示画像構成部4304は、VRAM4303に記憶された表示画像データを処理することによって表示画面を構成する画像データ(表示画面データ)を生成し、表示画面データをフレームバッファ4305に記憶する。表示画像データは、例えば、キャラクタや背景であって、表示画面データは表示画像データを組み合わせた画像(例えば、背景とキャラクタを組み合わせた(複合化した)画像)である。
最後に、表示画像データ出力手段4306は、フレームバッファ4305に記憶された表示画面データを制御情報に基づいて、液晶表示装置1900に出力する。
なお、秘匿解除情報判定部4301、秘匿画像データ変換部4302、表示画像構成部4304は、所定のプログラムを実行することによって機能するソフトウェアで構成されていてもよいし、ハードウェアで構成されていてもよい。
続いて、音源内蔵VDP4160aによって、音データを処理する場合について説明する。図33は、本実施形態における周辺制御MPU4150aからの指示に基づいて演出情報(音データ)の秘匿化を解除する構成を説明する周辺制御基板のブロック図である。演出情報の秘匿化を解除する構成については、図31に示した画像データを処理する構成と同様である。また、図32に示したように、音源内蔵VDP4160aが独自に演出情報の秘匿化を解除する場合についても同様である。
音源内蔵VDP4160aは、秘匿解除情報判定部4301、秘匿音データ変換部4312、及び内蔵RAM4313を有する。秘匿解除情報判定部4301は、図31に示した構成と同じであり、画像出力の場合と同様に処理する。周辺制御MPU4150aから音出力を指示するコマンドが入力されると、対応する秘匿解除情報4201を取得し、当該秘匿解除情報4201が正当であるか否かを判定する。取得した秘匿解除情報4201が正当でない場合には、音データの読み出しを中止し、周辺制御MPU4150aにエラーを通知する。
なお、前述のように、秘匿化されていない音データ(例えば、エラー報知音や警告音など)を出力する場合には、秘匿解除情報4201を取得せずに正当なコマンドとして処理すればよい。周辺制御MPU4150aは、音源内蔵VDP4160aから秘匿化解除情報が正当でないことを示すエラー通知を受信すると、画像出力の場合と同様に、対応するエラーの発生を報知するコマンドを作成し、音源内蔵VDP4160aに送信する。音源内蔵VDP4160aは、エラー報知用のコマンドを受信すると、発生したエラーを報知する。
一方、取得した秘匿解除情報4201が正当な場合には、秘匿音データ変換部4312が、液晶及び音制御ROM4160bから秘匿音データ4203を取得し、秘匿解除情報4201によって秘匿化を解除し、出力可能な音データを取得する。なお、秘匿音データ変換部4312は、秘匿画像データ変換部4302と共通であってもよい。
また、音データの秘匿化は、画像データと同様に容量単位等で解除してもよいし、時間単位で解除してもよい。また、使用されるシーンの単位であってもよいし、曲単位、セリフ単位などであってもよい。
続いて、秘匿音データ変換部4312は、取得した音データを音源内蔵VDP4160aに含まれる内蔵RAM4313に一時的に記憶する。なお、画像を一時的に記憶するVRAM4303と内蔵RAM4313とを共用としてもよい。
さらに、音源内蔵VDP4160aは、内蔵RAM4313に記憶された音データをシリアル化してオーディオデータとしてオーディオデータ送信IC4160cに出力する。そして、オーディオデータ送信IC4160cにシリアル化されたオーディオデータが入力されると、前述のように、枠装飾駆動アンプ基板194を介して、本体枠3に設けたスピーカボックス920に収容されるスピーカー及び扉枠5に設けたスピーカーから各種演出に合わせた音楽や効果音等がステレオ再生されたり、報知音や告知音がステレオ再生されたりする。
本実施形態では、画像データや音データは、液晶及び音制御ROM4160bに格納されているが、画像ROM及び音源ROMとして別々の記憶媒体に格納するようにしてもよい。例えば、画像データ及び音データそれぞれを異なる記憶媒体に格納するようにしてもよいし、秘匿解除情報を別の記憶媒体に格納してもよい。さらに、液晶及び音制御ROM4160bが複数のメモリモジュールによって構成されている場合には、モジュール(デバイス)ごとに秘匿解除情報を設定するようにしてもよい。
さらに、液晶及び音制御ROM4160bと、音源内蔵VDP4160aとの間を専用のコネクタによって接続するようにしてもよい。メモリモジュール(液晶及び音制御ROM4160b)を制御基板上に直接設けるのではなく、コネクタ接続で別基板として設けることで、制御ブロックとメモリブロックとを切り分け、機種単位でメモリ容量等を変化させることが可能となるためである。さらに、汎用のコネクタではなく、専用のコネクタで接続することによって、画像データや音データを外部から取り出すことを物理的に困難にし、よりセキュリティを向上させることができる。
また、画像データや音データを格納する記憶媒体を、周辺制御基板4140とは別体の基板で構成するようにしてもよい。このとき、ハーネスを介することなく、当該記憶媒体を周辺制御基板4140と接続可能に構成してもよい。このとき、接続端子の形状を専用の形状とすることによって、専用コネクタによって接続した場合と同様に、セキュリティを向上させることができる。
また、前述したように、周辺制御基板4140は、カシメを有する専用のケースに格納されているが、画像データや音データを格納する記憶媒体も別体の専用ケースに格納するようにしてもよい。
また、秘匿化を解除した演出データを揮発性の記憶媒体で記憶し、電源が遮断されるまで保持するようにしてもよい。このように構成することによって、以降の演出データの読み出し時に秘匿化を解除する処理を省略することができる。この場合には、遊技機の電源を遮断すると秘匿化を解除した演出データは消去されるが、再度電源が投入された後、画像データが読み出されるタイミングで再度秘匿化を解除すればよい。
[7.その他]
以上、本発明について好適な実施形態を挙げて説明したが、本発明はこれらの実施形態に限定されるものではなく、以下に示すように、本発明の要旨を逸脱しない範囲において、種々の改良及び設計の変更が可能である。
すなわち、上記実施形態は、主として弾球式遊技機(パチンコ遊技機)に適用した場合を示しているが、これに限定されるものではなく、後述する回動式遊技機(パチスロ遊技機)にも適用することができる。またその代わりに本実施形態は、パチンコ遊技機とパチスロ遊技機とを融合させてなる遊技機に適用してもよい。このいずれ場合でも、既述の作用効果と同様の作用効果を奏することができる。
そのような回動式遊技機又は当該融合させてなる遊技機の基本構成としては、例えば、複数種類の図柄が付されたリール(回転体)を複数備える回転表示体(回転表示手段)と、この回転表示体を備える筐体と、この記筐体の外部に設けられた操作レバー(第1の操作手段)と、上記複数のリールに各々対応して上記筐体の外部に設けられた複数の停止ボタン(第2の操作手段)と、を備える遊技機において、上記操作レバーが操作されたこと(始動条件の成立に相当)を契機として上記複数のリールをそれぞれ回転させ、上記複数の停止ボタンの操作順序に応じて、対応する各上記リールの回転を停止させる回転体制御手段と、上記始動レバーが操作されたことを契機として所定の当選条件が成立したか否かを判定する内部抽選を実行する抽選手段と、上記所定の当選条件が成立している場合、その後通常遊技状態から遊技者に有利な特別遊技状態に移行させる遊技状態制御手段と、を有する遊技制御手段(既述の主制御基板4100の機能にほぼ相当)と、この遊技制御手段の制御によって上記所定の当選条件の成立状況に応じた演出動作を制御する演出制御手段(既述の周辺制御基板4140の機能にほぼ相当)と、上記演出制御手段によって上記演出動作の一部として表示動作を実行する表示手段(既述の液晶表示装置1900の機能にほぼ相当)と、上記遊技制御手段の制御によって、上記複数のリールに付された上記複数の図柄の変動態様が視認可能な図柄表示領域内に停止した複数の図柄の組み合わせ態様に応じた遊技媒体の払出動作を実行する払出装置(払出手段)と、を備える。