以下、本発明の実施形態について、図面を参照しながら説明する。
図1に示すパチンコ遊技機(以下、「パチンコ機」と略称する)Pは、遊技球を遊技媒体として用いるものであり、遊技者は、遊技場運営者から遊技球を借り受けてパチンコ機Pによる遊技を行う。なお、パチンコ機Pにおける遊技において、遊技球はその1個1個が遊技価値を有した媒体であり、遊技の成果として遊技者が享受する特典(利益)は、例えば遊技者が獲得した遊技球の数に基づいて遊技価値に換算することができる。以下、図1〜図4を参照して遊技機の構成について説明する。また、遊技媒体としてメダルを使用し、遊技の成果の特典としてメダルが払い出される回胴式遊技機(スロットマシン)等の他の遊技機にも適用可能である。
[遊技機の全体構成]
図1〜図3に示すように、パチンコ機Pは、機枠(外枠)1と内枠扉(前面枠)2とガラス扉3と遊技盤5とを備える。機枠1は、縦長矩形状の木製枠体であり、遊技場内の島設備(図示省略)に対して締結固定される。内枠扉2は、機枠1に開閉自在に取り付けられ、ガラス扉3は、内枠扉2に開閉自在に取り付けられる。
遊技盤5は、内枠扉2の内側に収容され、内枠扉2に対して着脱可能に固定される。ガラス扉3の中央部には、縦長円形状の開口窓6が形成され、開口窓6には、遊技盤5の前方を覆う透明なガラス板7が取り付けられる。遊技盤5の前面(盤面)は、遊技者が開口窓6を介して前方から視認可能な遊技領域8を含み、ガラス扉3が閉じられると、ガラス板7の内面(後面)と遊技領域8との間に遊技球が流下可能な空間が形成される。
内枠扉2の一側(図1中の右側)の縁部には、シリンダ錠9が設けられている。機枠1に対して内枠扉2及びガラス扉3を閉じてシリンダ錠9を施錠すると、機枠1に対する内枠扉2及びガラス扉3の開放が禁止される。
ガラス扉3は、その下部に前面ボード4を一体的に有し、前面ボード4には、前方へ突出する上皿10と下皿11とが設けられる。上皿10は前面ボード4の上部に配置され、下皿11は上皿10の下方に配置される。上皿10には、遊技者に貸し出された遊技球(貸球)や入賞により獲得した遊技球(賞球)が貯留され、下皿11には、上皿10が満杯の状態でさらに払い出された遊技球が貯留される。なお、本実施形態のパチンコ機PはいわゆるCR機(CRユニット50(図5に示す)に接続される機種)であり、遊技者が借り受けた遊技球は、賞球とは別に上皿10に払い出される。
前面ボード4の上面には、貸出操作部15と演出ボタン23とが設けられている。貸出操作部15は、球貸スイッチ12と返却スイッチ13と度数表示装置14と球貸表示装置24とを有し、遊技者がCRユニット50(図5に示す)に残高がゼロではなく且つ適正な有価媒体(例えば磁気記録媒体や記憶IC内蔵媒体等)を投入すると、投入された有価媒体の残存度数が球貸表示装置24に表示されるとともに、球貸表示装置24の球貸可能ランプ(図示省略)が点灯する。係る状態で遊技者が球貸スイッチ12を操作すると、予め決められた度数単位(例えば500円分に相当する5度数)に対応する個数(例えば125個)分の遊技球が貸し出され、球貸表示装置24に、貸出処理中であることが表示されるとともに、遊技球の貸出に応じて有価媒体の残高度数が減少する。なお、本実施形態ではCR機を例に挙げているが、パチンコ機Pは、CR機以外の機種(CRユニット50に接続されない機種)であってもよい。また、演出ボタン23は、演出に関する遊技者からの操作を受け付ける。
前面ボード4の前面には、上皿球抜き操作部16と下皿球抜き操作部17とが設けられている。上皿球抜き操作部16が操作されると、上皿10の遊技球が下皿11へ流下し、下皿球抜き操作部17が操作されると、下皿11の遊技球が下方へ落下して排出される。下皿11から排出された遊技球は、例えば球受け箱(図示省略)等に受け止められる。
前面ボード4の右下部には、発射ハンドル18が回転自在に支持され、内枠扉2の下部には、発射装置19が取り付けられている。上皿1の遊技球は発射装置19に1個ずつ供給され、遊技者が発射ハンドル18を回転操作すると、発射装置19(発射モータ86(図5に示す))が作動し、遊技領域8に向かって遊技球が発射される。遊技領域8は、ガイドレール20及び遊技球規制レール21によって略円形状に区画形成され、発射装置19から発射された遊技球は、レール20,21に沿って滑走して遊技領域8に左上方から進入し、遊技釘や風車等に誘導及び案内されて流下する。
ガラス扉3の左右上部と内枠扉2の左下部とには、スピーカ22がそれぞれ取り付けられ、ガラス扉3の前面には、複数の枠体ランプ25が取り付けられている。スピーカ22は、遊技に関する様々な効果音を発する。枠体ランプ25は、例えば内蔵するLEDの発光(点灯や点滅、輝度階調の変化、色調の変化等)により演出を実行する。
[盤面の構成]
遊技領域8内には、統合表示ユニット30、演出表示装置(画像表示器)31、スルーチャッカ32、電動チューリップ(普通電動役物)33、ステージ34、第1始動入賞口(第1特図始動入賞口)35、第2始動入賞口(第2特図始動入賞口)36、一般入賞口37、アウト口38、アタッカー装置(特別電動役物)39、複数の盤面ランプ60、遊技釘(図示省略)、及び風車(図示省略)等が設けられている。第1始動入賞口35と第2始動入賞口36とは上下方向に間隔を空けて配置されている。盤面ランプ60は、例えば内蔵するLEDの発光(点灯や点滅、輝度階調の変化、色調の変化等)により演出を実行する。
統合表示ユニット30は、演出表示装置31を視認している遊技者の視界に同時に入らないように、遊技盤3の右下部分に配置されている。図4に示すように、統合表示ユニット30は、第1特図表示装置(第1特別図柄表示装置)40と、第2特図表示装置(第2特別図柄表示装置)41と、普図表示装置(普通図柄表示装置)42と、状態表示装置43とを備え、これらの表示装置40〜43は、1つの統合表示基板48に実装された状態で遊技盤5に取り付けられる。
第1特図表示装置40は、第1始動入賞口35への遊技球の入賞を契機に行われた第1特別図柄に係る電子抽選の結果を、第1特別図柄(数字や絵柄)を変動させた後に停止表示するものである。第2特図表示装置41は、第2始動入賞口36への遊技球の入賞を契機に行われた第2特別図柄に係る電子抽選の結果を、第2特別図柄(数字や絵柄)を変動させた後に停止表示するものである。本実施形態の第1特図表示装置40及び第2特図表示装置41は、7セグメントLEDによって第1特別図柄及び第2特別図柄を変動後に停止表示する。なお、本実施形態では、第2始動入賞口36への入賞に基づく遊技の方が第1始動入賞口35への入賞に基づく遊技よりも優先して実行されるため、第1特別図柄と第2特別図柄とが同時に変動することはない。
普通図柄表示装置42は、スルーチャッカ32の遊技球の通過を契機に行われた普通図柄に係る電子抽選の結果を、普通図柄(数字や絵柄)を変動させた後に停止表示するものである。本実施形態の普通図柄表示装置42は、7セグメントLEDによって普通図柄を変動後に停止表示する。
状態表示装置43は、ラウンド数表示部44、第1特図保留数表示部45、第2特図保留数表示部46、及び普図保留数表示部47を有する。ラウンド数表示部44は、4つのランプ(LED)から構成され、ランプの消灯、点灯又は点滅の組合せによって現在の大当たりが何ラウンド継続するかを表示する。第1特図保留数表示部45は、第1始動入賞口35に遊技球が入賞し、当該入賞に応じて取得された第1特図当たり決定乱数(大当たり決定乱数)が第1特図保留乱数としてRAM75の第1特図保留乱数記憶領域(図示省略)に記憶されると、その記憶数を現在の保留数として表示する。第2特図保留数表示部46は、第2始動入賞口36に遊技球が入賞し、当該入賞に応じて取得された第2特図当たり決定乱数(大当たり決定乱数)が第2特図保留乱数としてRAM75の第2特図保留乱数記憶領域(図示省略)に記憶されると、その記憶数を現在の保留数を表示する。普図保留数表示部47は、スルーチャッカ32を遊技球が通過し、当該通過に応じて取得された普図当たり決定乱数(当たり決定乱数)が普図保留乱数としてRAM75の普図保留乱数記憶領域(図示省略)に記憶されると、その記憶数を現在の保留数を表示する。これらの保留数表示部45,46,47は、それぞれランプ(LED)から構成され、ランプの消灯、点灯又は点滅の組合せによって「0」個〜「4」個(保留球乱数の記憶数の上限)の間で保留数を表示する。
図2に示すように、演出表示装置31は、液晶の画像表示器を有し、遊技盤3の略中央部に設けられ、第1始動入賞口35及び第2始動入賞口36への遊技球の入賞を契機に行われた特別図柄に係る電子抽選の結果に基づいて所定の演出画像を表示する。演出画像には、第1特図表示装置40及び第2特図表示装置41に変動表示される第1特別図柄及び第2特別図柄と同期をとって変動するダミー図柄(演出図柄)と、第1特図当たり決定乱数の保留数表示と、第2特図当たり決定乱数の保留数表示とが含まれる。
電動チューリップ33は、1対の羽根部材49と電動チューリップ駆動装置51(図5に示す)とを備える。1対の羽根部材49は、遊技盤3との直交軸を中心に回転自在であり、第2始動入賞口36の入口の左右に配置される。電動チューリップ駆動装置51のソレノイド(図示省略)が通電されると、1対の羽根部材が互いに離れる方向に回転し、電動チューリップ33が開口して、第2始動入賞口36の入口が拡大される。電動チューリップ33が閉じた状態(通常状態)では、第2始動入賞口36に遊技球は入賞できず、第2始動入賞口36への入賞は、電動チューリップ33の開口時に制限される。
ステージ34は、遊技球が転動しながら一時的に滞在する構造物であり、演出表示装置31の下方に配置される。ステージ34の略中央の真下に第1始動入賞口35が配され、ステージ34の中央部分から落下した遊技球は、高い確率で第1始動入賞口35へと導かれる。
アタッカー装置39は、第1始動入賞口35及び第2始動入賞口36に遊技球が入賞することを契機に行われる特別図柄に係る電子抽選の結果、特図当たり(大当たり)となって大当たり遊技に移行した場合に所定回数(本実施形態では、2ラウンド又は15ラウンド)開放される装置である。アタッカー装置39は、横長矩形状の大入賞口52と横長板状の蓋部材53とアタッカー駆動装置54(図5に示す)とを備える。蓋部材53の下部は、水平な軸を中心として前後方向に開閉自在に支持され、アタッカー駆動装置54のソレノイド(図示省略)が通電されると、蓋部材53の上部が前下方へ傾動し、アタッカー装置39が開口して大入賞口52が露呈され、多量の遊技球が蓋部材53の上面(裏面)に案内されて大入賞口52へ入賞可能となる。アタッカー装置39が閉じた状態(通常状態)では、蓋部材53が大入賞口52を閉止するため、大入賞口52への入賞は、アタッカー装置39の開口時に制限される。
各入賞口(第1始動入賞口35、第2始動入賞口36、一般入賞口37、大入賞口52)に遊技球が入賞すると、所定個数の遊技球が賞球として遊技者に払い出され、入賞した遊技球は、その入賞口35,36,37,52から遊技盤5の裏側へ回収される。また、何れの入賞口35,36,37,52にも入賞しなかった遊技球は、最終的にアウト口38から遊技盤5の裏側へ回収される。回収された遊技球は、アウト通路アセンブリ(図示省略)を通じてパチンコ機Pの裏側から枠外へ排出され、さらに島設備の補給経路(図示省略)に合流する。
スルーチャッカ32、第1始動入賞口35、第2始動入賞口36、一般入賞口37、大入賞口52の内部には、それぞれ遊技球の通過を検知するためのセンサ(図5に示すゲート通過球検知センサ55、第1特図始動球検知センサ56、第2特図始動球検知センサ57、大入賞球検知センサ58及び一般入賞球検知センサ59)が設けられている。これらのセンサ55,56,57,58,59は、遊技球の通過を検知する度に、主制御装置70(図5に示す)に検知信号を送信する。なお、第1特図始動球検知センサ56と第2特図始動球検知センサ57と大入賞球検知センサ58と一般入賞球検知センサ59とは、遊技領域8に発射された遊技球の入賞を検知する入賞検知手段として機能する。また、以下の説明において、これらの検知信号のうち、センサ56,57,58,59が送信する検知信号を入賞球検知信号と称し、センサ55が送信する検知信号を球通過検知信号と称して、両者を区別する場合がある。
[裏側の構成]
図3に示すように、パチンコ機Pの裏側には、電源供給装置61、主制御基板ユニット62、払出制御基板ユニット63、サブ制御基板ユニット64、外部情報端子基板65、電源コード(電源プラグ)66、アース線(アース端子)67、パチンコ機Pの電源系統や制御系統を構成する各種の電子機器類(図示外の制御コンピュータを含む)等が設置されている。
外部情報端子基板65は、パチンコ機Pを外部の電子機器(例えば、ホールコンピュータ68(図5に示す)やデータ表示装置等)に接続するためのインタフェースであり、パチンコ機Pの遊技進行状態やメンテナンス状態等を表す各種の外部情報信号(例えばメイン賞球情報、賞球情報、扉開放情報、図柄確定回数情報、大当たり情報、始動口情報、エラー情報等)は、外部情報端子基板65から外部の電子機器に送信される。
電源コード66は、遊技場の島設備に設置された電源装置(例えばAC24V)に接続されて、パチンコ機Pの動作に必要な電源(電力)を確保する。アース線67は、島設備に設置されたアース端子に接続され、パチンコ機Pをアース(接地)する。
[制御に関する構成]
次に、パチンコ機Pの制御に関する構成について説明する。図5は、パチンコ機Pに装備された各種の電子機器類を示すブロック図である。
パチンコ機Pは、主制御装置70と払出制御装置71とサブ制御装置72と発射制御装置100とを備える。主制御装置70は、制御動作の中枢であり、主にパチンコ機Pにおける遊技処理の実行を制御する機能を有し、主制御基板ユニット62に内蔵されている。払出制御装置71は、主に遊技球の払い出しを制御する機能を有し、発射制御装置100は主に遊技球の発射を制御する機能を有し、払出制御装置71と発射制御装置100とは、共に払出制御基板ユニット63に内蔵され、共通の制御基板(払出制御基板)に実装されている。サブ制御装置72は、主に演出を制御する機能を有し、サブ制御基板ユニット64に内蔵されている。主制御装置70と払出制御装置71とは、主制御装置70から払出制御装置71に対して一方向への送信が行われる通信線(主コマンド許可信号線及び主コマンドデータ信号線)と、払出制御装置71から主制御装置70に対して一方向への送信が行われる通信線(払出コマンド許可信号線及び払出コマンドデータ信号線)とによって接続されている。
(電源供給装置61)
電源供給装置61は、電源コード66を通じて島設備から外部電源(例えば、24Vの交流電源)の供給を受け、この交流電源をパチンコ機Pで使用する複数の定電圧の直流電源や粗整流の直流電源に変換し、主制御装置70、払出制御装置71、サブ制御装置72、発射制御装置100等に供給する。電源供給装置61には、電源回路やコンデンサ等のバックアップ電源(図示省略)と、外部電源からの電源の供給が途絶えたとき(電源断の発生時)に電源断の発生時に電源断予告信号(電源断信号)を生成する電源断検出回路(電源断信号発生手段)96とが設けられている。電源供給装置61は、電源断の発生時に、主制御装置70及び払出制御装置71に対して、電源断予告信号を送信するとともに、バックアップ電源を供給する。なお、電源断検出回路96は、電源供給装置61以外(例えば、主制御装置70や払出制御装置71など)に設けてもよい。
RWMクリアスイッチ69は、主制御装置70及び払出制御装置71に保存されている過去の遊技情報をクリアするために操作されるスイッチであり、電源供給装置61に設けられ、RWMクリアスイッチ69が操作されると、RWMクリア信号を主制御装置70に送信する。RWMクリア信号は、1ビットのオン/オフ信号であり、RWMクリアスイッチ69の操作に応じてオフからオンとなる。主制御装置70は、起動時にCPU初期化処理を実行し、CPU初期化処理においてRWMクリア信号がオンであると判定すると(図9のステップS13)、主制御装置70のRAM75のRWM領域を全てクリアして初期値をセットする初期起動時初期設定処理(ステップS21,S22、図31のステップS404)を実行し、RWMクリア指定のサブコマンドをサブ制御装置72に送信するとともに(ステップS23)、RWMクリア指定のコマンド(RWMクリア指定信号・初期化指示信号)を払出制御装置71に送信する(ステップS24)。RWMクリア指定のサブコマンドを受信したサブ制御装置72は、サブ制御装置72のRAM94のRWM領域を全てクリアして初期値をセットする初期起動時初期設定処理を実行し、RWMクリア指定信号を受信した払出制御装置71は、払出制御装置71のRAM82のRWM領域を全てクリアして初期値をセットする初期起動時初期化設定処理(図21のステップS331)を実行する。すなわち、RWMクリアスイッチ69からのRWMクリア信号はサブ制御装置72及び払出制御装置71に直接入力せず、サブ制御装置72及び払出制御装置71は、主制御装置70からRWMクリア指定のコマンドを受信することによって初期起動時初期設定処理を実行してRWM領域を全てクリアする。また、主制御装置70は、起動時(電源断復帰時を含む)にのみCPU初期化処理を実行するため、RWMクリアスイッチ69の操作は、起動時のみ有効であり、起動時以外の通常時は無効である。すなわち、通常時にRWMクリアスイッチ69が操作されても、主制御装置70は、RWM領域をクリアせず、RWMクリア指定のサブコマンド及びRWMクリア指定信号を送信しない。なお、起動時のCPU初期化処理において、主制御装置70は、RWMクリア信号がオフの場合(RWMクリアスイッチ69が操作されていない場合)であっても、バックアップエラーと判断した場合(図9のステップS15:YES、又はステップS17:NO)には、RWMクリアスイッチ69が操作された場合と同様に初期起動時初期値設定処理を実行し(ステップS21,S22)、RWMクリア指定のサブコマンドをサブ制御装置72に送信し(ステップS23)、RWMクリア指定信号を払出制御装置71に送信する(ステップS24)。また、RWMクリアスイッチ69を設ける場所は、電源供給装置61に限定されず、例えば主制御装置70や払出制御装置71等の他の場所であってもよい。
(主制御装置70)
主制御装置70には、中央演算処理装置(中央命令処理部)である主制御CPU73を実装した回路基板(主制御基板)が装備されており、主制御CPU73(主記憶初期化実行手段、初期化指示信号送信手段、払出許可信号送信手段)は、CPUコア、各種レジスタ(汎用レジスタ、フラグレジスタ、インデックスレジスタ、リフレッシュレジスタ、割込レジスタ、命令レジスタなど)、スタックポインタ、プログラムカウンタ、命令レコーダ(何れも図示省略)等を含み、ROM74やRAM(RWM、払出記憶手段)75等の半導体メモリとともにLSIとして構成されている。各レジスタは、演算結果、次に読み込む命令のアドレス、実行状態等を保持する。また主制御装置70には、ハード乱数発生回路76やサンプリング回路(図示省略)が装備されている。ハード乱数発生回路76は、ハードウェア乱数(例えば10進数表記で0〜65535)を発生させるものであり、発生させた乱数は、サンプリング回路を通じて主制御CPU73に入力される。ハードウェア乱数は、大当たり判定用の第1特図当たり決定乱数及び第2特図当たり決定乱数や、当たり(普図当たり)判定用の普図当たり決定乱数として用いられる。主制御装置70には、クロック(周波数発生回路部)77、入出力(I/O)ポート、カウンタ/タイマ回路(CTC)等の周辺ICが装備されており、これらは主制御CPU73とともに回路基板上に実装されている。
RAM75には、各種フラグの記憶領域を含むワーク領域(図示省略)が設けられ、割り込み発生時やサブルーチンや関数を呼び出す際に、処理中のデータや戻りアドレスなどがワーク領域のスタック領域(退避領域)に一時的に退避される。また、主制御CPU73は、ROM74に記憶されている遊技制御用プログラムに従って処理を実行することにより、電源断検知手段及び実行制御手段として機能する。
球検知センサ類56〜59の入賞検知信号は、入出力ドライバ(図示省略)を介して主制御CPU73に入力される。なお、本実施形態では、第1特図始動球検知センサ56及び第2特図始動球検知センサ57からの入賞検知信号は、主制御装置70に直接送信され、ゲート通過球検知センサ55、大入賞球検知センサ58及び一般入賞球検知センサ59からの入賞検知信号は、中継端子板(図示省略)を経由して主制御装置70に送信される。
第1特図表示装置40、第2特図表示装置41、普図表示装置42、及び状態表示装置43の各表示は、主制御CPU73からの制御信号によって制御される。主制御CPU73は、遊技の進行状況に応じてこれら表示装置40〜43に対する制御信号を出力し、各LEDの点灯状態を制御する。
電動チューリップ駆動装置51及びアタッカー駆動装置54の駆動は、主制御CPU73からの制御信号によって制御される。各駆動装置51,54のソレノイドは、主制御CPU73からの制御信号に基づいて動作(励磁)し、電動チューリップ33及びアタッカー装置39を開閉動作(作動)させる。
内枠扉2には、ガラス扉開放スイッチ78と内枠扉開放スイッチ79とが設置されている。内枠扉2からガラス扉3が開放されると、ガラス扉開放スイッチ78からの接点信号が払出制御基板ユニット63を経由して主制御装置70及び外部情報端子基板65に入力される。また、機枠1から内枠扉2が開放されると、内枠扉開放スイッチ79からの接点信号が払出制御基板ユニット63を経由して主制御装置70及び外部情報端子基板65に入力される。なお、主制御装置70及び外部情報端子基板65への各接点信号は、払出制御基板ユニット63(払出制御基板)を単に経由するだけであり、後述する払出制御装置71の払出制御CPU80には入力されない。スイッチ78,79から接点信号を受信した主制御CPU73は、扉が開放したことを音やLEDや液晶などによって報知するため、これらの報知処理の実行を指示する制御信号をサブ制御装置72に送信する。また、スイッチ78,79から接点信号を受信した外部情報端子基板65は、扉開放を示す外部情報信号(扉開放情報)を出力する。
パチンコ機Pには磁気や電波等を検知するエラー検知センサ98が設けられ、エラー検知センサ98は、磁気や電波等を検知すると、主制御装置70にエラー検知信号を送信する。エラー検知信号を受信した主制御CPU73は、所定のエラー処理を実行するとともに、払出制御基板ユニット63を経由して外部情報端子基板65にエラー検知信号を送信する。エラー検知信号を受信した外部情報端子基板65は、エラー検知を示す外部情報信号(エラー情報)を出力する。なお、外部情報端子基板65へのエラー検知信号は、払出制御基板ユニット63(払出制御基板)を単に経由するだけであり、後述する払出制御装置71の払出制御CPU80には入力されない。
また、主制御装置70は、払出制御装置71に対し、スイッチ78,79からの接点信号の受信に応じて扉開放を示すエラー信号を出力し、エラー検知センサ98からのエラー検知信号の受信に応じてエラー検知を示すエラー信号を出力する。
(払出制御装置71)
払出制御装置71には、払出制御CPU80を実装した回路基板(払出制御基板)が装備されており、払出制御CPU80も、主制御CPU73と同様に、CPUコア(図示省略)を含み、ROM81、RAM82(払出記憶手段)等の半導体メモリとともにLSIとして構成されている。払出制御CPU80(払出記憶初期化実行手段、払出許可要求信号送信手段)は、主制御CPU73から受信した賞球指示コマンド(払出指示信号)に基づいて遊技球(賞球)の払い出し動作を制御し、賞球指示コマンドによって指示された個数(払出賞球数)の遊技球の払出動作を実行させる。
遊技場の球補給経路(図示省略)から補給された遊技球は、賞球タンク(図示省略)に蓄えられ、賞球樋(図示省略)を流下して賞球ケース(図示省略)に導入され、賞球ケースから上皿10に供給される。
賞球ケースには、払出モータ(例えばステッピングモータ)83が設けられ、払出制御装置71(払出制御基板ユニット63)には、払出モータ83の駆動回路(図示省略)が設けられている。払出制御装置71は、払出モータ83を回転駆動して遊技球を賞球ケースから払い出させる。払出モータ83の1回の払出動作(所定量の回転駆動)によって1個の遊技球が払い出され、払い出された遊技球は、払出流路(図示省略)を通って前面ボード4へ流下する。
払出モータ83の下流側には払出計数スイッチ84が設置され、払出モータ83の駆動によって実際に賞球が払い出されると、払出計数スイッチ84からの払出計数信号(払出検知信号)が払出制御装置71に送信される。払出計数信号は、1個の遊技球の払い出しを検出する度に送信され、払出制御CPU80は、受信した払出計数信号に基づき、実際の払出数や球切れ状態を検知して、遊技球の払い出しを管理する。
CRユニット50に残高がゼロではない適正な有価媒体が投入されると、CRユニット50は、貸出の処理中であること(球貸しが可能な状態であること)を示す貸出装置READY信号を、貸出装置接続基板101を経由して払出制御装置71へ送信し、貸出装置REDY信号を受信した払出制御装置71は、貸出可LED信号及び度数表示LED信号を、貸出装置接続基板101及び払出操作基板102を経由して球貸表示装置24及び度数表示装置14に送信する。球貸可LED信号を受信した球貸表示装置24では球貸可能ランプが点灯し、度数表示LED信号を受信した度数表示装置14では、有価媒体の残高度数が表示される。係る状態で球貸スイッチ12が操作されると、その操作信号(貸出スイッチ信号)が払出操作基板102及び貸出装置接続基板101を経由してCRユニット50に送信され、貸出スイッチ信号を受信したCRユニット50は、有価媒体の残高の減算処理を実行するとともに、台端末貸出要求完了確認信号を、貸出装置接続基板101を経由して払出制御装置71へ送信する。台端末貸出要求完了確認信号は、基本単位分(25個)の遊技球の貸出を要求する信号であり、例えば球貸スイッチ12の1回の操作が5度数分(125個)の貸出要求に対応するようにCRユニット50側で設定されている場合には、球貸スイッチ12が1回操作されると、台端末貸出要求完了確認信号は5回繰り返して送信(後述の台端末貸出完了信号(1回目)が受信されたことを確認後、2回目の台端末貸出要求完了確認信号を送信、後述の台端末貸出完了信号(2回目)が受信されたことを確認後、3回目の台端末貸出要求完了確認信号を送信、・・・)される。
払出制御装置71のRAM82には、遊技球の払出残数を記憶する払出残数記憶領域とが設けられている。払出残数記憶領域は、賞球として払い出す予定の遊技球数(賞球残数)を記憶する賞球メモリ領域と、貸出として払い出す予定の遊技球数(貸出残数)を記憶する貸出メモリ領域とに区分されている。払出制御CPU80は、主制御CPU73から賞球指示コマンドを受信すると、受信した賞球指示コマンドが示す賞球数分だけ賞球残数を加算し、CRユニット50から台端末貸出要求完了確認信号を受信すると、基本単位分だけ貸出残数を加算する。遊技球の払出動作において、払出制御CPU80は、払出計数SW84からの払出計数信号を受信する度に、賞球残数又は貸出残数の一方を1ずつ減算し、賞球残数及び貸出残数の双方がゼロになるまで払出動作を継続する。なお、本実施形態の払出制御CPU80は、貸出残数の払い出しを賞球残数よりも優先して実行する。すなわち、貸出残数がゼロではない場合には、貸出残数がゼロになるまで貸出残数を優先して減算し、貸出残数がゼロである場合に限り、賞球残数を減算し、賞球残数がゼロになったときに払い出しを終了する。なお、1回の賞球払出を所定単位個数(例えば25個)を上限とした個数分まで連続して実行する処理(賞球連続払出処理)が設定されている場合には、連続賞球払出処理の途中に貸出残数がゼロから増加しても、実行中の連続賞球払出処理が完了するまではその処理(賞球払出)を中断せずに継続する。そして、1回の連続賞球払出処理が完了した後は、賞球残数が未だゼロに達していなくても、貸出残数がゼロではない場合には、賞球残数よりも貸出残数の払い出しを優先して実行する。払出制御CPU80は、払出動作が実行可能であるときにはこれを示す台READY信号を、基本単位分の貸出が終了したときにはこれを示す台端末貸出完了信号を、貸出装置接続基板101を経由してCRユニット50へそれぞれ送信する。
図6(b)に示すように、主制御CPU73から賞球指示コマンドを受信した払出制御CPU80は、受信した賞球指示コマンドに基づく賞球払出処理(賞球残数の払出動作)の開始前に、払出指示を受けた払出予定の賞球数を示す所定単位数量毎のメイン賞球信号(メイン賞球情報)を外部情報端子基板65に送信(出力)する。払出制御装置71のRAM82には、メイン賞球数(払出指示を受けた賞球個数)を記憶するメイン賞球数記憶領域(メイン賞球カウンタ)が設けられている。払出制御CPU80は、受信した賞球指示コマンドが指示する賞球数分だけメイン賞球カウンタを加算し、メイン賞球数が所定単位数(本実施形態では10個)に達する毎に、メイン賞球信号を生成して外部情報端子基板65に出力し、メイン賞球カウンタを所定単位数分だけ減算する。
また、賞球払出処理を実行した払出制御CPU80は、払出動作によって払い出した賞球数量(賞球情報)を示す賞球情報信号を外部情報端子基板65に送信する。払出制御装置71のRAM82には、払出賞球数(払出済みの賞球個数)を記憶する払出賞球数記憶領域(賞球情報カウンタ)が設けられている。払出制御CPU80は、払い出しを行った賞球数分だけ賞球情報カウンタを加算し、払出賞球数が所定単位数(本実施形態では10個)に達する毎に、賞球情報信号を生成して外部情報端子基板65に出力し、賞球情報カウンタを所定単位数分だけ減算する。
外部情報端子基板65は、メイン賞球信号を受信するとメイン賞球情報を示す外部情報信号を出力し、賞球情報信号を受信すると、賞球情報を示す外部情報信号を出力する。
図5の全体構成に戻って説明する。上皿10(図1に示す)への遊技球の供給経路には皿満タンスイッチ85が設置され、下皿11(図1に示す)が遊技球で満杯になると、皿満タンスイッチ85がオンになり、満タン検出信号が払出制御装置71に送信される。満タン検出信号を受信した払出制御CPU80は、主制御CPU73から受信した賞球指示コマンドに応じた賞球動作を一旦保留とし、未払出の賞球残数をRAM82に記憶させておく。なお、RAM82の記憶は電源断時にもバックアップが可能であり、遊技中に停電(瞬間的な停電を含む)が発生しても、未払出の賞球残数情報が消失してしまうことはない。
払出制御装置71の基板上には、状態LED(図示省略)が設けられている。状態LEDは、電源からの電力供給時に発光する電源LED、受け皿の満タン時に発光する受け皿満タンLED、通信エラー時に発光する通信エラーLED、扉開放時に発光する扉開放LED、払出動作の不良時に発光する払出動作不良LED、CRユニット50との未接続時に発光するCR未接続LEDとを含む。状態LEDの発光制御は、対応する信号(コマンド)の受信に基づいて払出制御CPU80が実行する。
(発射制御装置100)
発射装置19(図2に示す)には、発射モータ86と球送りソレノイド87とが設けられ、発射ハンドル18(図1に示す)には、発射ボリューム88とタッチセンサ89と発射停止スイッチ90とが設けられている。球送りソレノイド87は、上皿10(図1に示す)から流下した遊技球を1個ずつ発射位置に送り出し、発射モータ86は、発射位置に送り出された遊技球を打ち出す。なお遊技球の発射間隔は、例えば0.6秒程度(1分間で100個以内)である。
発射ボリューム88は、発射ハンドル18(図1に示す)の回転操作量(ストローク)に比例した発射勢指示信号を発射制御装置100に送信する。タッチセンサ89は、静電容量の変化から遊技者の身体が発射ハンドル18に触れていることを検出し、その検出信号を発射制御装置100に送信する。発射停止スイッチ90は、遊技者から操作されたときに発射停止信号(接点信号)を発射制御装置100に送信する。
遊技者が発射ハンドル18を回転操作すると、発射ボリューム88から発射制御装置100に回転操作量に応じた発射勢指示信号が送信される。発射制御装置100は、受信した発射勢指示信号に基づいて発射モータ86の駆動を制御する。これにより、遊技者の操作量に応じて遊技球の打ち出し強さが調整される。但し、発射制御装置100は、タッチセンサ89からの検出信号がオフ(ローレベル)の場合、及び発射停止スイッチ90から発射停止信号が入力された場合には、発射モータ86の駆動を停止する。また、払出制御CPU80は、CRユニット50の接続に基づき発射許可信号を発射制御装置100に送信し、発射制御装置100は、払出制御CPU80からの発射許可信号の受信を条件として発射モータ86を駆動する。すなわち、発射制御装置100は、パチンコ機PにCRユニット50が接続されていない場合、発射モータ86の駆動を停止する。
また、上記制御に加え、主制御装置からの発射許可信号を条件に発射モータ86を駆動(発射許可信号を電源投入時にオン、電源断時にオフして発射許可信号オンで駆動)させてもよい。
(サブ制御装置72)
サブ制御装置72には、演出制御CPU92を実装した回路基板(複合サブ制御基板)が装備されており、演出制御CPU92も、主制御CPU73と同様に、CPUコア(図示省略)を含み、ROM93、RAM94等の半導体メモリとともにLSIとして構成されている。サブ制御装置72には、入出力ドライバや各種の周辺IC(共に図示省略)が装備されている。
サブ制御装置72のROM93には、演出の制御に関する演出制御プログラムが格納されており、演出制御CPU92は、格納された演出制御プログラムに従い、主制御CPU73から送信される演出用のコマンドに基づいて、演出表示装置31、各種ランプ25,60、音発生装置97及び可動役物による演出の制御を実行する。演出表示装置31は、画像プロセッサや液晶等を含み、音発生装置97は、サウンドプロセッサやスピーカ22等を含む。演出の制御には、演出表示装置31の画像の表示制御、各種ランプ25,60の発光制御、スピーカ22からの音声発生制御、及び可動役物の駆動装置95の駆動制御が含まれる。なお、画像プロセッサ及びサウンドプロセッサは、サブ制御基板ユニット64に設けてもよい。
(外部への出力)
主制御装置70及び払出制御装置71において生成された各種の外部情報信号は、外部情報端子基板65から外部に出力される。外部情報端子基板65から出力される信号は、例えば遊技場のホールコンピュータ68で集計される。
[主制御装置70の入力ポートの説明]
主制御装置70の入出力ポートには、複数のポート(本実施形態では、入力ポート0、入力ポート1及び入力ポート2の3つの入力ポートを含む)が設定されている。入力ポート0には、スイッチ異常信号(遊技盤5に搭載する検知センサ55〜59の断線信号)、扉開放信号(扉開放スイッチ78,79からの接点信号)、エラー検知信号(エラー検知センサ98からの信号)、払出コマンド許可信号、及びRWMクリア信号(RWMクリアスイッチ69の操作に基づく信号)が割り当てられている。入力ポート1には、大入賞球検知センサ58及び一般入賞球検知センサ59からの入賞球検知信号が割り当てられている。入力ポート2には、第1特図始動球検知センサ56からの入賞球検知信号、第2特図始動球検知センサ57からの入賞球検知信号、ゲート通過球検知センサ55からの球通過検知信号、及び電源供給装置61からの電源断予告信号が割り当てられている。各入力ポートには、各信号の受信時に状態が切り替わる(1/0で切り替わる)1ビットの受信記憶領域が設けられ、各信号の入力の確認は、対応する受信記憶領域のビットチェックによって行われる。入力ポート2は、電源断の発生時に電源断予告信号を受信する電源断信号受信手段として機能し、入力ポート2に電源断予告信号が入力している間、対応する受信記憶領域の状態が切り替わる。
[主制御装置70のシリアル入力/出力の説明]
主制御装置70は、払出制御装置71から払出コマンド送信信号を受信して主制御CPU73に入力するとともに、主制御装置70から払出制御装置71へ主コマンド送信信号を出力(送信)するシリアル通信回路を備えている。
[主制御装置70が実行する制御処理]
次に、主制御装置70の主制御CPU73がROM74に記憶されている遊技制御用プログラムに従って実行する制御処理について説明する。主制御CPU73が実行する制御処理は、メインルーチンとしてのCPU初期化処理及びメインループ、シリアル通信受信割り込み処理、タイマ割り込み処理(メイン割り込み処理)、並びに電源断時退避処理を含み、主制御CPU73は、これらの処理の実行を制御する。
図7(a)に示すように、シリアル通信受信割り込み処理の割り込み発生要因は主コマンドの受信によって成立し、タイマ割り込み処理の割り込み発生要因は、所定周期(本実施形態では4ms)毎に成立し、電源断時退避処理の割り込み発生要因は電源断予告信号の受信によるINT割り込み発生によって成立する。シリアル通信受信割り込み処理とタイマ割り込み処理と電源断時退避処理とは、この順番で割り込み優先順位が高くなるように設定されている。また、シリアル通信受信割り込み処理と電源断時退避処理とは多重割り込みを禁止し、タイマ割り込み処理は多重割り込みを許可する。
すなわち、主制御装置70では、図7(b)に示すように、メインルーチンが基本処理として繰り返して実行され、タイマ割り込み処理が所定周期毎に起動してメインループに割り込む。メインルーチンの実行中又はタイマ割り込み処理の実行中に主コマンドを受信すると、シリアル通信受信割り込み処理が起動してメインループ又はタイマ割り込み処理に割り込む(図示省略)。メインルーチンの実行中(シリアル通信受信割り込み処理及びタイマ割り込み処理の実行中ではなく、主コマンドも受信していない)に電源断予告信号を受信すると、電源断時退避処理が起動してメインルーチンに割り込む。また、タイマ割り込み処理の実行中に電源断予告信号を受信すると、タイマ割り込み処理が終了してメインループに復帰した後に電源断時退避処理が起動する。但し、電源断時退避処理の実行中にはシリアル通信受信割り込み処理及びタイマ割り込み処理は起動せず、電源断時退避処理の実行中に割り込み発生要因が成立した場合には、電源断時退避処理の終了を待って対応する割り込み処理が起動する。なお、割り込み処理は、割り込み先の処理(現在実行中の処理)が割り込み許可状態であることを条件として起動する。
また、タイマ割り込み処理は、入力ポート1及び入力ポート2の内容を取得して保存する処理(図13のステップS123、S126)と、ポート入力処理で取得した情報に基づいて遊技球が入賞したか否かを判定する入賞判定処理(入力ポート1のオンエッジ検出フラグを生成する処理(図13のステップS125)、入力ポート2のオンエッジ検出フラグを生成する処理(図13のステップS128))と、大当たり遊技状態を生成するか否かを判定するための電子的な当否抽選を入賞判定処理での判定結果に応じて実行する大当たり判定処理(図12のスイッチ管理処理(ステップS69)及び特別遊技管理処理(ステップS70))と、入賞判定処理での判定結果に応じた払出指示信号を生成し、その生成した払出指示信号を払出制御装置71に送信する払出制御管理処理(図12のステップS74)とを含む。メインCPU73は、タイマ割り込み処理の実行中は電源断時退避処理の割り込みを禁止する一方、実行中のタイマ割り込み処理において入賞判定処理の実行前に電源断予告信号を受信した場合(図13のステップS124:YES、ステップS127:YES)には、入賞判定処理を実行しない。
(CPU初期化処理)
パチンコ機Pに電源が投入されると、主制御CPU73はCPU初期化処理を開始する。CPU初期化処理によって、パチンコ機Pの安定した遊技動作が保証される。
図8及び図9は、主制御CPU73が実行するCPU初期化処理を示すフローチャートである。
CPU初期化処理の開始により、スタックポインタにスタック領域の先頭アドレス(アドレス初期値)をセットし(ステップS1)、ベクタ方式の割込モード(割り込みモードモード2)に設定する(ステップS2)。これにより、主制御CPU73は、任意のアドレス(但し最下位ビットは0)を割込ベクタとして参照し、指定の割込ハンドラを実行することができる。
次に、割り込みベクタテーブルを設定し(ステップS3)、内蔵レジスタを設定し(ステップS4)、入力ポート0の内容を2回読み込み(ステップS5)、入力ポート0の結果を論理変換してRAM75の退避領域に退避させる(ステップS6)。
次に、リセット時待機処理を実行する。この処理では、リセットスタート(例えば電源投入)時にある程度の待機時間(例えば数千ms程度)を確保し、その間に入力ポート2の電源断予告信号をチェックする。本実施形態では、サブ制御起動待ちとして2秒分のループカウンタをセットし(ステップS7)、ループカウンタの値をデクリメントしながら電源断予告信号の入力ポートをビットチェックする(ステップS8)。2秒間経過する前(ループカウンタが0になる前)に電源断予告信号が入力すると(ステップS9:YES)、リセット時待機処理の最初(ステップS7)に戻る。電源断予告信号が入力せずに2秒間が経過するまでこの処理を継続し(ステップS9:YES→ステップS7、又はステップS9:NO→ステップS10:NO→ステップS8)、電源断予告信号が入力せずに2秒間が経過すると(ステップS9:NO→ステップS10:YES)、この処理を終了する。これにより、例えばサブ制御装置72の起動処理終了前の主制御装置70からサブ制御装置72への制御信号の送信を防止することができる。また、主電源スイッチ(図示省略)の投入と切断の操作が短時間(1〜2秒程度)内に繰り返し行われた場合のシステム保護を図ることができる。
次に、RAM75のワーク領域に対するアクセスを許可する(ステップS11)。具体的には、ワーク領域のRAMプロテクト設定値をリセットする。これにより、以後はRAM75のワーク領域に対するアクセスが許可された状態となる。
次に、ステップS6で退避した入力ポート0の結果を復帰させ(ステップS12)、復帰させた入力ポート0のRWMクリア信号を参照し、RWMクリア信号のビットがオンか否か(RWMクリアスイッチ69が操作されたか否か)を判定する(ステップS13)。
RWMクリアスイッチ69が操作されていない場合(ステップS13:NO)、RAM75にバックアップ有効判定値(バックアップ有効判定フラグ)が保存されているか否かを判定する。具体的には、RAM75のバックアップ判定記憶領域のデータをバックアップ有効判定値と比較し(ステップS14)、両者が一致している場合(バックアップ有効判定フラグがセットされている場合)には、電源断時退避処理が適正に終了した後のCPU初期化処理であると判定し(ステップS15:NO)、不一致の場合(バックアップ有効判定フラグがセットされていない場合)には、電源断時退避処理が適正に終了した後のCPU初期化処理ではないと判定する(ステップS15:YES)。
電源断時退避処理が適正に終了した後のCPU初期化処理である場合(ステップS15:NO)、RAM75のバックアップ情報についてサムチェックを実行する。具体的には、RAM75のワーク領域(使用禁止領域及びスタック領域を含むユーザワーク領域)のうち、バックアップ判定記憶領域及びサムチェックバッファを除く領域について、チェックサム値を算出し(ステップS16)、算出したチェックサム値が正常値か否かを判定する(ステップS17)。具体的には、ステップS16で算出したチェックサム値と、後述する電源断時退避処理(ステップS108)で保存したチェックサム値とを比較し、両者が一致する場合には正常値であると判定し、相違する場合には正常値ではないと判定する。
チェックサム値が正常値の場合(ステップS17:YES)、復帰処理(ステップS18〜ステップS20)を実行する。
復帰処理(復電起動時初期設定処理)では、電源復帰時クリア領域(例えば、バックアップ判定記憶領域)をリセットした後(ステップS18)、演出制御復帰処理(ステップS19)及び払出制御復帰処理(ステップS20)を実行する。
演出制御復帰処理(ステップS19)では、サブ制御装置72に対する送信用のサブコマンド出力要求バッファに、電源復帰指定のサブコマンド(例えば機種指定コマンド、特別図柄確率状態指定コマンド、作動記憶数コマンド、回数切りカウンタ残数コマンド、特別遊技状態指定コマンド等)をセットする。電源復帰指定のサブコマンドを受信したサブ制御装置72は、前回の電源遮断時に実行中であった演出状態(例えば、内部確率状態、演出図柄の表示態様、作動記憶数の演出表示態様、音響出力内容、各種ランプの発光状態等)を復帰させる。
払出制御復帰処理(ステップS20)では、払出制御装置71に対する送信用の払出コマンド出力要求バッファに、電源復帰指定の主コマンド送信信号(電源復帰指定信号)をセットする。電源復帰指定信号を受信した払出制御装置71は、前回の電源遮断時の状態を復帰させるとともに、主制御装置70からの払出起動確認指定信号(賞球の払出許可を指示する払出許可信号)の受信を条件に払出禁止状態を解除する。
一方、RWMクリアスイッチ69が操作されていた場合(ステップS13:YES)、電源断時退避処理が適正に終了した後のCPU初期化処理ではない場合(ステップS15:YES)、又はチェックサム値が正常値でなかった場合(ステップS16:NO)、初期化処理(ステップS21〜ステップS24)を実行する。
初期化処理(初期起動時初期設定処理、主記憶初期化処理)では、RAM75の使用禁止領域以外の記憶領域を全てクリアする(ステップS21)。これにより、RAM75のワーク領域及びスタックエリアは全て初期化される。
次に、RAM75にクリア起動時の初期値をセットすることによりRAM75の初期設定を行い(ステップS22)、演出制御初期化処理(ステップS23)及び払出制御初期化処理(ステップS24)を実行する。
演出制御初期化処理(ステップS23)では、サブ制御装置72に対する送信用のサブコマンド出力要求バッファに、RWMクリア指定のサブコマンドをセットする。RWMクリア指定のサブコマンドを受信したサブ制御装置72は、演出制御状態を初期化する。また、払出制御初期化処理(ステップS24)では、払出制御装置71に対する送信用の払出コマンド出力要求バッファに、RWMクリア指定の主コマンド送信信号(RWMクリア指定信号、初期化指示信号)をセットする。RWMクリア指定信号を受信した払出制御装置71は、払出制御状態を初期化するとともに、主制御装置70からの払出起動確認指定信号の受信を条件に払出禁止状態を解除する。
払出制御復帰処理(ステップS20)又は払出制御初期化処理(ステップS24)が終了すると、演出制御装置73に電源投入後のサブコマンドをサブコマンド出力要求バッファにセットした後(ステップS25)、入力ポート1の内容を取得し(ステップS26)、入力ポート2の内容を取得し(ステップS27)、乱数ラッチレジスタをクリアし(ステップS28)、主コマンド許可信号をオンにセットし(ステップS29)、タイマ割り込み用カウンタをセットし(ステップS30)、割り込みデイジーチェンをリセットして(ステップS31)、メインループへ移行する。割り込みデイジーチェンをリセット(ステップS31)することにより、後述する電源断時退避処理におけるステップS113(図14参照)の判定がYESでCPU初期化処理へ移行した際に、割り込み処理から抜ける際のRETI処理を行っていないために、後述するメインループにおけるステップS45(図10参照)で割り込み許可を行っても各割り込み処理に移行しないといったことを防止している。
(メインループ)
図10は、主制御CPU73が実行するメインループを示すフローチャートである。
メインループでは、割り込みを禁止して(ステップS41)、初期値乱数更新処理(ステップS42)、主コマンド解析処理(ステップS43)、サブコマンド送信処理(ステップS44)を実行し、割り込みを許可した後(ステップS45)、その他乱数更新処理(ステップS46)を実行して、ステップS41へ戻る。従って、メインループに対して電源断時退避処理の割り込みが許容される期間は、その他乱数更新処理(ステップS46)の実行中となる。
初期値乱数更新処理(ステップS42)では、当たり図柄乱数用初期値更新乱数を更新する。当たり図柄乱数用初期値更新乱数とは、当たり図柄乱数の初期値及び終了値を決定するためのソフトウェア乱数である。当たり図柄乱数とは、大当たりの当選種別の抽選に用いるソフトウェア乱数である。なお、割込を禁止した状態(ステップS41)でステップS42を実行するのは、タイマ割り込み処理(図12のステップS67)でも同様の処理を実行するため、これとの重複(競合)を防止するためである。また、本実施形態の当たり決定乱数(普図当選決定乱数)と大当たり決定乱数(特図当選決定乱数)とは、ハード乱数発生回路76により発生されるハードウェア乱数であり、その更新周期はタイマ割込周期(例えば数ms)よりもさらに高速(例えば数μs)であるため、大当たり決定乱数の初期値を更新する必要はない。
主コマンド解析処理(ステップS43)は、払出制御装置71から受信したコマンド(各種エラー発生指定の払出コマンド送信信号やエラー解除指定の払出コマンド送信信号を含む)を解析する処理である。サブコマンド送信処理(ステップS44)では、サブコマンド(演出制御に必要なサブコマンド)を演出制御装置72に送信する。このサブコマンド送信処理によって、上記演出制御復帰処理(ステップS19)や演出制御初期化処理(ステップS23)や電源投入後のサブコマンドの設定処理(ステップS25)においてサブコマンド出力要求バッファに格納されたサブコマンド、並びに後述するタイマ割り込み処理の特別遊技管理処理(ステップS70)及び普通遊技管理処理(ステップS71)においてサブコマンド出力要求バッファに格納されたサブコマンド(演出関連コマンド)が演出制御装置72に送信される。その他乱数更新処理(ステップS46)では、例えばリーチグループ決定乱数やリーチモード決定乱数や変動パターン乱数などを更新する。リーチグループ決定乱数とは、特別図柄変動パターンのリーチグループの抽選に用いるソフトウェア乱数であり、リーチモード決定乱数とは、特別図柄変動パターンのリーチモードの抽選に用いるソフトウェア乱数であり、変動パターン乱数とは、特別図柄変動パターンの抽選に用いるソフトウェア乱数である。
(シリアル通信受信割り込み処理)
図11は、主制御CPU73が実行するシリアル通信受信割り込み処理を示すフローチャートである。主制御CPU73は、メインループの割り込み許可中又はタイマ割り込み処理の割り込み許可中において、主コマンド(例えば、払出制御装置71から入力する各種の払出コマンド送信信号)を受信すると、受信した主コマンドを優先して処理するためにシリアル通信受信割り込み処理を割り込ませる。
図11に示すように、シリアル通信受信割り込み処理では、AFレジスタの値をRAM75の退避領域に退避させ(ステップS51)、チャンネルA(CHA)のステータスレジスタの内容をロードし(ステップS52)、受信FIFOにデータがあるか否かをチェックし(ステップS53)、CHAデータレジスタから受信値を取得し(ステップS54)、受信FIFOにデータが無いか否かを判定し(ステップS55)、受信FIFOにデータがない場合(ステップS55:YES)には、ステップS51で退避させたAFレジスタの値を復帰させ(ステップS57)、割り込みを許可した後(ステップS58)、シリアル通信受信割り込み処理を終了する。一方、受信FIFOにデータがある場合(ステップS55:NO)、主コマンドバッファに受信データを格納し(ステップS56)、ステップS51で退避させたAFレジスタの値を復帰させ(ステップS57)、割り込みを許可した後(ステップS58)、シリアル通信受信割り込み処理を終了する。シリアル通信受信割り込み処理の終了により、メインループ(スタックポインタで指示されるプログラムアドレス)に復帰する。
(タイマ割り込み処理)
図12は、主制御CPU73が実行するタイマ割り込み処理を示すフローチャートである。主制御CPU73は、カウンタ/タイマ回路は所定周期毎に割込要求信号を発生し、割込要求信号の発生に基づき、割り込み許可中のメインループにタイマ割り込み処理を割り込ませる。
図12に示すように、タイマ割り込み処理では、メインループの実行中に使用していた全てのレジスタの値をRAM75の退避領域に退避させる(ステップS61)。値を退避させた後のレジスタには、タイマ割り込み処理の中で別の値を書き込むことができる。
次に、割り込みフラグを初期化し(ステップS62)、割り込みを許可し(ステップS63)、ダイナミックポート出力処理を実行した後(ステップS64)、ポート入力処理を実行する(ステップS65)。割り込みフラグの初期化(ステップS62)により、割り込みフラグが4ms毎にセットされ、タイマ割り込み処理が4ms毎に周期的に実行される。
ダイナミックポート出力処理(ステップS64)では、前回のタイマ割り込み処理の後述するLED表示設定処理(ステップS77)においてダイナミックポート出力要求バッファに格納されたLEDの駆動信号(例えば、第1特図表示装置40の点灯状態を制御するための駆動信号など)を、統合表示ユニット30(第1特図表示装置40、第2特図表示装置41、普図表示装置42、及び状態表示装置43)に対してポート出力する。
ポート入力処理(ステップS65)では、図13に示すように、オンエッジ検出フラグをクリアし(ステップS121)、入力ポート0の内容を取得・保存し(ステップS122)、入力ポート1の内容を取得・保存した後(ステップS123)、電源断予告信号を受信しているか否かを判定する(ステップS124)。具体的には、電源断予告信号の入力ポートをビットチェックし、電源断予告信号が入力しているか否かを判定する。
電源断予告信号を受信していない場合(ステップS124:NO)には、入力ポート1のオンエッジ検出フラグを生成し(ステップ125)、電源断予告信号を受信している場合(ステップS124:YES)には、入力ポート1のオンエッジ検出フラグを生成しない。大入賞口52及び一般入賞口37への遊技球の入賞の検知は、大入賞球検知センサ58及び一般入賞球検知センサ59にそれぞれに対応する受信記憶領域(1ビット)の受信状態への変化(立ち上がり)を検出することによって行われ、例えば、一般入賞球検知センサ59に対応する受信記憶領域が受信状態に切り替わっていた場合、対応するオンエッジ検出フラグを、電源断予告信号を受信していなければオンに設定し、電源断予告信号を受信していればオンに設定せずにオフのまま維持する。
次に、入力ポート1と同様に、入力ポート2の内容を取得・保存した後(ステップS126)、電源断予告信号を受信しているか否かを判定する(ステップS127)。
電源断予告信号を受信していない場合(ステップS127:NO)には、入力ポート2のオンエッジ検出フラグを生成して(ステップ128)、ポート入力処理を終了し、電源断予告信号を受信している場合(ステップS127:YES)には、入力ポート2のオンエッジ検出フラグを生成せずに、ポート入力処理を終了する。第1始動入賞口35及び第2始動入賞口36への遊技球の入賞の検知は、第1特図始動球検知センサ56及び第2特図始動球検知センサ57にそれぞれに対応する受信記憶領域(1ビット)の受信状態への変化(立ち上がり)を検出することによって行われ、例えば、第2特図始動球検知センサ57に対応する受信記憶領域が受信状態に切り替わっていた場合、対応するオンエッジ検出フラグを、電源断予告信号を受信していなければオンに設定し、電源断予告信号を受信していればオンに設定せずにオフのまま維持する。また、スルーチャッカ32への遊技球の通過の検知は、ゲート通過球検知センサ55に対応する受信記憶領域(1ビット)の受信状態への変化(立ち上がり)を検出することによって行われ、ゲート通過球検知センサ55に対応する受信記憶領域が受信状態に切り替わっていた場合、対応するオンエッジ検出フラグを、電源断予告信号を受信していなければオンに設定し、電源断予告信号を受信していればオンに設定せずにオフのまま維持する。
このように、ポート入力処理では、ゲート通過球検知センサ55からの通過検知信号や、第1特図始動球検知センサ56、第2特図始動球検知センサ57、大入賞球検知センサ58、及び一般入賞球検知センサ59からの入賞検知信号の入力状態(オン/オフ)をリードする。電源断発生時ではない場合には、受信記憶領域の受信状態への変化を検出することによって遊技球の通過や入賞を検知し、通過や入賞を検知すると、対応するオンエッジ検出フラグをオンに設定した後、本処理を終了する。一方、電源断発生時の場合には、遊技球の通過や入賞を検知せずに、本処理を終了する。ポート入力処理を終了すると、図12のタイマ更新処理(ステップS66)及び初期値乱数更新処理(ステップS67)を実行する。
タイマ更新処理(ステップS66)では、カウンタ/タイマ回路のカウント値を初期値に更新して周期のカウントを再開する。初期値乱数更新処理(ステップS67)では、メインループの初期値乱数更新処理(図10のステップS42)と同様の処理を実行する。
次に、当たり図柄乱数更新処理を実行する(ステップS68)。当たり図柄乱数更新処理では、大当たり図柄抽選用の当たり図柄乱数を発生させるためのカウンタの値を更新する。カウンタの値は、RAM75のカウンタ領域にてインクリメントされ、それぞれ規定の範囲内でループする。
次に、スイッチ管理処理を実行する(ステップS69)。スイッチ管理処理では、ポート入力処理(ステップS65)で検知された第1始動入賞口35への遊技球の入賞、第2始動入賞口36への遊技球の入賞、及びスルーチャッカ32への遊技球の通過に基づいて、各当否判定処理に用いるハード乱数を取得する。
具体的には、第1始動入賞口35への遊技球の入賞を検知している場合(対応するオンエッジフラグがオンの場合)、RAM75の第1特図保留乱数記憶領域に記憶された第1特図保留乱数の数が上限数(4個)未満であるか否かを判定し、上限数に達していなければ、第1特図当たり決定乱数を取得し、第1特図保留乱数として第1特図保留乱数記憶領域に記憶する。一方、第1特図保留乱数の数が上限数に達している場合には、第1特図当たり決定乱数を取得しない。
同様に、第2始動入賞口36への遊技球の入賞を検知している場合(対応するオンエッジフラグがオンの場合)、RAM75の第2特図保留乱数記憶領域に記憶された第2特図保留乱数の数が上限数(4個)未満であるか否かを判定し、上限数に達していなければ、第2特図当たり決定乱数を取得し、第2特図保留乱数として第2特図保留乱数記憶領域に記憶する。一方、第2特図保留乱数の数が上限数に達している場合には、第2特図当たり決定乱数を取得しない。
スルーチャッカ32への遊技球の通過を検知している場合(対応するオンエッジフラグがオンの場合)、RAM75の普図保留乱数記憶領域に記憶された普図保留乱数の数が上限数(4個)未満であるか否かを判定し、上限数に達していなければ、普図当たり決定乱数を取得し、普図保留乱数として普図保留乱数記憶領域に記憶する。一方、普図保留乱数の数が上限数に達している場合には、普図当たり決定乱数を取得しない。
また、第1特図当たり決定乱数又は第2特図当たり決定乱数を取得する場合、図柄表示用乱数として用いるソフト乱数を取得する。図柄表示乱数は、独立する複数の乱数(当たり図柄乱数、リーチグループ決定乱数、リーチモード決定乱数、及び変動パターン乱数)から構成され、図柄表示乱数も、特図保留乱数と同様に、上限数(4個)までRAM75に記憶される。
このように、第1特図当たり決定乱数又は第2特図当たり決定乱数、及び対応する図柄表示用乱数(当たり図柄乱数、リーチグループ決定乱数、リーチモード決定乱数、及び変動パターン乱数)を取得するタイミングは、第1始動入賞口35又は第2始動入賞口36への遊技球の入賞時(第1特図始動球検知センサ56又は第2特図始動検知センサ56による遊技球の検知時)であり、普図当たり決定乱数及び対応する図柄表示用乱数を取得するタイミングは、スルーチャッカ32への遊技球の通過時(ゲート通過球検知センサ55による遊技球の検知時)である。
次に、特別遊技管理処理を実行する(ステップS70)。特別遊技管理処理では、第1特別図柄又は第2特別図柄に関する内部抽選(特別図柄判定処理)や、第1特図表示装置40及び第2特図表示装置41による図柄の変動及び停止の表示態様の決定(図柄及び変動パターン決定処理)を実行する。
特別図柄判定処理では、第1特図保留乱数記憶領域に最先に記憶された第1特図保留乱数、又は第2特図保留乱数記憶領域に最先に記憶された第2特図保留乱数の何れか一方を読み出し、読み出した特図保留乱数(第1特図当たり決定乱数又は第2特図当たり決定乱数)が当選であるか否かを、予め設定された第1特図当否判定テーブル又は第2特図当否判定テーブルを参照して決定する(特図抽選)。第1特図保留乱数は、第1特図当たり決定乱数として読み出されることによって第1特図保留乱数記憶領域から消去され、第2特図保留乱数は、第2特図当たり決定乱数として読み出されることによって第2特図保留乱数記憶領域から消去される。第1特図保留乱数と第2特図保留乱数との双方が記憶されている場合、第2特図保留乱数を優先して読み出す設定または、記憶領域(第1特図であるか第2特図であるか)に関わらず最先に記憶された保留球乱数を読み出す設定となっている。
図柄及び変動パターン決定処理では、特図停止図柄及び変動パターン(変動パターンコマンド)を、上記読み出した第1特図当たり決定乱数又は第2特図当たり決定乱数と、この当たり決定用乱数に対応して最先に記憶された当たり図柄乱数、リーチグループ決定乱数、リーチモード決定乱数、及び変動パターン乱数との組合せに応じて、予め設定されたパターン決定テーブルを参照して決定する。当たり図柄乱数は、特図の停止図柄を規定するとともに、特図抽選に当選している場合には生起する大当たり遊技状態の態様(種別)を規定する。変動パターンは、変動時間、リーチの発生の有無、リーチ発生時の基本演出パターン等を規定する。
特図抽選に当選すると、当たり図柄乱数に応じた態様の大当たり遊技状態を生起する。大当たりの態様として、例えば2R通常当たり、2R確変当たり、15R通常当たり、15R確変当たり等が設定されており、2R当たりでは、アタッカー装置39を2ラウンド分開閉し、15R当たりでは、アタッカー装置39を15ラウンド分開閉する。また、通常当たりでは、大当たり遊技終了(アタッカー装置39の作動終了)後に通常遊技状態又は時短遊技状態へ移行する場合があり、確変当たりでは、大当たり遊技終了後に確変遊技状態へ移行する。
確変遊技状態では、特別図柄判定処理において参照する当否判定テーブルを、通常用の低確率判定テーブルから高確率判定テーブル(通常用よりも当選確率が高い判定テーブル)に変更する。確変遊技状態は、次回の特図当選まで継続するが、時短遊技状態は、特図抽選を所定回数実行することによって終了する。
また、特別遊技管理処理では、第1特別図柄及び第2特別図柄の変動の開始及び終了、大当たり遊技状態の開始及び終了、大当たり遊技状態におけるラウンド数、確変遊技状態の開始及び終了、時短遊技状態の開始及び終了などの管理を行い、これらの管理に関する演出関連コマンド(例えば、特別図柄の変動の開始を示す変動開始指示コマンドや終了を示す変動終了指示コマンドなどであり、上記決定した特別図柄の変動パターンコマンドを含む)をサブコマンド出力要求バッファに格納する。
次に、普通遊技管理処理を実行する(ステップS71)。普通遊技管理処理では、普通図柄に対応する内部抽選(普通図柄判定処理)や、普図表示装置42による図柄の変動及び停止の表示態様の決定(図柄及び変動パターン決定処理)などを実行する。
普通図柄判定処理では、普図保留乱数記憶領域に最先に記憶された普図保留乱数を読み出し、読み出した普図保留乱数(普図当たり決定乱数)が当選であるか否かを、予め設定された普図当否判定テーブルを参照して決定する(普図抽選)。普図保留乱数は、普図当たり決定乱数として読み出されることによって普図保留乱数記憶領域から消去される。
図柄及び変動パターン決定処理では、普図停止図柄及び変動パターン(変動パターンコマンド)を、上記読み出した普図当たり決定乱数と、この当たり決定用乱数に対応して最先に記憶された図柄表示用乱数の組合せに応じて、予め設定されたパターン決定テーブルを参照して決定する。
なお、普通図柄判定処理において普図抽選に当選すると、電動チューリップ33が所定回数(本実施形態では1回)開放される。また、確変遊技状態及び時短遊技状態では、普通図柄判定処理において参照する普図当否判定テーブルを、通常用の低確率判定テーブルから高確率判定テーブル(通常用よりも当選確率が高い判定テーブル)に変更し、図柄及び変動パターン決定処理において参照するパターン決定テーブルを、通常用のパターン決定テーブルから時短用パターン決定テーブル(通常用よりも変動時間が短い決定テーブル)に変更する。
また、普通図柄管理処理では、普通図柄の変動の開始及び終了、普図当選による電動チューリップ33開放の開始及び終了などの管理を行い、必要に応じて、これらの管理に関する演出関連コマンド(上記決定した普通図柄の変動パターンコマンドを含む)をサブコマンド出力要求バッファに格納する。
次に、エラー管理処理を実行する(ステップS72)。エラー管理処理では、ポート入力処理(ステップS122)で保存した入力ポート0のエラー検知信号の入力が確認された場合、磁石等を使用した不正が行われている可能性があるため、以降の通常の処理を実行せずに所定のエラー処理を実行する。
次に、入賞口スイッチ処理を実行する(ステップS73)。入賞口スイッチ処理では、ポート入力処理(ステップS65)で検知された第1始動入賞口35、第2始動入賞口36、一般入賞口37、及び大入賞口52への遊技球の入賞情報(各オンエッジフラグのオン情報)を取得する。
次に、払出制御管理処理を実行する(ステップS74)。払出制御管理処理では、入賞口スイッチ処理(ステップS73)において取得した入賞情報に基づき、払出制御装置71に対して賞球動作の実行及び賞球個数を指示する賞球指示コマンドを生成し、生成した賞球指示コマンドを払出制御装置71に出力する。また、上述した払出制御復帰処理(ステップS20)や払出制御初期化処理(ステップS24)において払出コマンド出力要求バッファに格納された主コマンド送信信号が払出制御装置71に送信される。さらに、CPU初期化処理完了後の払出制御管理処理では、後述する主起動情報指定信号を払出制御装置71に出力し、さらに、払出制御装置71からの後述する払出起動指定信号(払出許可要求信号)の受信に応じて、後述する払出起動確認指定信号(払出許可信号)を払出制御装置71に出力する(図31参照)。
次に、外部情報出力管理処理を実行する(ステップS75)。外部情報出力管理処理では、外部情報端子基板65を介して遊技場のホールコンピュータ68へ出力する外部情報信号(例えば扉開放情報、図柄確定回数情報、大当たり情報、始動口情報等)をポート出力要求バッファに格納する。
次に、試験信号管理処理を実行する(ステップS76)。試験信号管理処理では、主制御CPU73が自己の内部状態(例えば、普通図柄遊技管理状態、特別図柄遊技管理状態、大当たり中、確率変動機能作動中、時間短縮機能作動中)を表す各種の試験信号を生成し、これらをポート出力要求バッファに格納する。この試験信号により、例えば主制御装置70の外部で主制御CPU73の内部状態を試験することができる。
次に、LED表示設定処理を実行する(ステップS77)。LED表示設定処理では、第1特図表示装置40、第2特図表示装置41、普図表示装置42、状態表示装置43等の点灯状態を制御するために各LEDに対して印加するバイトデータとしての駆動信号を、ダイナミックポート出力要求バッファに格納する。
例えば、第1特図表示装置40及び第2特図表示装置41に対しては、特別遊技管理処理(ステップS70)において決定した特図停止図柄及び変動パターンでの点灯表示を行わせる駆動信号を格納し、普図表示装置42に対しては、普通遊技管理処理(ステップS71)において決定した普図停止図柄及び変動パターンでの点灯表示を行わせる駆動信号を格納し、第1特図保留数表示部45に対しては、第1特図保留乱数記憶領域に記憶された第1特図保留乱数の数を示す点灯表示を行わせる駆動信号を格納し、第2特図保留数表示部46に対しては、第2特図保留乱数記憶領域に記憶された第2特図保留乱数の数を示す点灯表示を行わせる駆動信号を格納し、普図保留数表示部47に対しては、普図保留乱数記憶領域に記憶された普図保留乱数の数を示す点灯表示を行わせる駆動信号を格納し、ラウンド数表示部44に対しては、特別遊技管理処理(ステップS70)において管理されている大当たり遊技中の現在のラウンド数を示す点灯表示を行わせる駆動信号を格納する。
次に、ソレノイド出力イメージ合成処理を実行する(ステップS78)。ソレノイド出力イメージ合成処理では、アタッカー装置39及び電動チューリップ33を開閉制御するためにアタッカー駆動装置54及び電動チューリップ駆動装置51に対して出力する制御コマンドとしての駆動信号を、ポート出力要求バッファに格納する。
例えば、アタッカー駆動装置54に対しては、特別遊技管理処理(ステップS70)において管理されている大当たり遊技中のラウンドに基づいてアタッカー装置39を開閉させる駆動信号を格納し、電動チューリップ駆動装置51に対しては、普通遊技管理処理(ステップS71)における普図抽選の当選に応じて電動チューリップ33を所定回数開放させる駆動信号を格納する。
次に、ポート出力処理を実行する(ステップS79)。ポート出力処理では、上述の各処理(ステップS70、ステップS75〜ステップS78)においてポート出力要求バッファに格納された各信号を、対応する送信対象に対してポート出力する。
例えば、外部情報出力管理処理(ステップS75)において格納された外部情報信号を外部情報端子基板65に送信し、ソレノイド出力イメージ合成処理(ステップS78)において格納された駆動信号をアタッカー駆動装置54や電動チューリップ駆動装置51に送信する。
なお、LED表示設定処理(ステップS77)において、ダイナミックポート出力要求バッファに格納されたLEDの駆動信号(例えば、第1特図表示装置40の点灯状態を制御するための駆動信号など)は、次回のタイマ割り込み処理のダイナミックポート出力処理(ステップS64)において各表示装置40〜43に送信される。
最後に、ステップS61において退避させた全てのレジスタの値を復帰させ(ステップS80)、タイマ割り込み処理を終了する。タイマ割り込み処理の終了により、メインループ(スタックポインタで指示されるプログラムアドレス)に復帰する。
(電源断時退避処理)
図14は、主制御CPU73が実行する電源断時退避処理を示すフローチャートである。主制御CPU73は、メインルーチンの割り込み許可中に電源断予告信号を受信すると、電源断時退避処理を割り込ませる。また、タイマ割り込み処理の実行中に電源断予告信号を受信すると、タイマ割り込み処理が終了してメインループに復帰した後に電源断時退避処理を割り込ませる。
図14に示すように、電源断時退避処理では、AFレジスタの値をRAM75の退避領域に退避させ(ステップS101)、電源断予告信号を受信しているか否かを判定する(ステップS102)。具体的には、電源断予告信号の入力ポートをビットチェックし、電源断予告信号が入力しているか否かを判定する。このように電源断時退避処理の開始直後に電源断予告信号を再度チェックすることによって、ノイズ等による誤検知に起因したステップS106以降の処理の実行を回避することができる。
電源断予告信号を受信していない場合(ステップS103:NO)には、ステップS101で退避させたAFレジスタの値を復帰させ(ステップS104)、割り込みを許可した後(ステップS105)、電源断時退避処理を終了する。電源断時退避処理の終了により、メインループ(スタックポインタで指示されるプログラムアドレス)に復帰する。
一方、電源断予告信号を受信している場合(ステップS103:YES)には、出力ポート(出力ポート要求バッファ)の全てにクリア値を出力する(ステップS106)。これにより、電源断時退避処理以前に出力ポート要求バッファに格納された信号は全て削除され、送信されない。
次に、RAM75のワーク領域(使用禁止領域及びスタック領域を含むユーザワーク領域)のうち、バックアップ判定記憶領域及びサムチェックバッファを除く領域について、チェックサム値を算出し、算出したチェックサム値をサムチェックバッファに保存する(ステップS108)。
次に、バックアップ判定記憶領域にバックアップ有効判定値(バックアップ有効判定フラグ)を保存し(ステップS108)、RAM75のワーク領域に対するアクセスを禁止して(ステップS109)、電源断時待機処理を実行する。
電源断時待機処理では、電源断時にある程度の待機時間(例えば数十ms程度)を確保し、その間に入力ポート2の電源断予告信号をチェックする。本実施形態では、リセット信号待ちとして80ms分のループカウンタをセットし(ステップS110)、ループカウンタの値をデクリメントしながら電源断予告信号の入力ポートをビットチェックする(ステップS111)。80ms間経過する前(ループカウンタが0になる前)に電源断予告信号が入力すると(ステップS112:YES)、電源断時待機処理の最初(ステップS110)に戻る。電源断予告信号が入力せずに80ms間が経過するまでこの処理を継続し(ステップS112:YES→ステップS110、又はステップS112:NO→ステップS113:NO→ステップS111)、電源断予告信号が入力せずに80ms間が経過すると(ステップS112:NO→ステップS113:YES)、電源断時退避処理を終了し、CPU初期化処理(図8のステップS1)へ移行する。電源断時待機処理によって、電源断予告信号が所定時間(80ms)以上入力しない安定した状態となった後にCPU初期化処理へ移行させることができ、処理の安定化及びシステム保護を図ることができる。
このように主制御装置70のタイマ割り込み処理は、電源断時退避処理に優先してメインループに割り込むので、タイマ割り込み処理の実行中に電源断が発生した場合であっても、タイマ割り込み処理は電源断時退避処理によって中断せず、電源断時退避処理はタイマ割り込み処理の終了を待って開始される。従って、電源断時退避処理において退避させるデータ量を最小限に抑えるとともに、復帰プログラムの複雑化を回避することができる。
すなわち、電源断時退避処理において、RAM75のワーク領域の内容をバックアップ情報としてRAM75の退避領域に退避させるバックアップ情報退避処理や、退避させたバックアップ情報をRAM75のワーク領域に復帰させて前回の電源断発生時に実行中であった遊技状態に復帰させる状態復帰処理を実行しないので、RAM75の退避領域の記憶量を低減させることができる。また、バックアップ情報退避処理や状態復帰処理を実行しないので、復帰プログラムの簡素化を図ることができる。
また、ポーリングによって電源断予告信号を監視していないので、主制御CPU73の処理負担を軽減することができる。
さらに、タイマ割り込み処理において、入賞判定処理(ステップS125、ステップS128)の実行前に電源断予告信号を受信した場合(ステップS124:YES、ステップS127:YES)には入賞判定処理を実行しないので、電源断によるノイズ等に起因して入賞球検知信号が誤って主制御装置に入力しても、誤入力に基づく払出(ステップS73、ステップS4)や当否抽選(ステップS69〜ステップS71)が実行されることはない。従って、例えば、故意に電源断を発生させるという遊技者の不正行為に起因して、賞球の払い出しや大当たり遊技状態の生成が行われることがなく、賞球の不正な取得を防止することができる。
[払出制御装置71の入力ポートの説明]
払出制御装置71(本実施形態では発射制御装置100を含む払出制御ユニット63)の複数の入出力ポートのうち、入力ポート0には、払出計数スイッチ84からの払出計数信号、CRユニット50からの貸出装置READY信号及び台端末貸出要求完了確認信号、主制御CPU73からの主コマンド許可信号、払出計数スイッチ84のエラー信号(断線、短絡など)、満タンスイッチ信号、CRユニット50との接続確認信号が割り当てられ、入力ポート1には、電源供給装置61からの電源断予告信号が割り当てられている。入力ポートには、各信号の受信時に状態が切り替わる(1/0で切り替わる)1ビットの受信記憶領域が設けられ、各信号の入力の確認は、対応する受信記憶領域のビットチェックによって行われる。入力ポート1は、電源断の発生時に電源断予告信号(電源断信号)を受信する電源断信号受信手段として機能し、入力ポート1に電源断予告信号が入力している間、対応する受信記憶領域の状態が切り替わる。
[払出制御装置71のシリアル入力/出力の説明]
払出制御装置71は、主制御装置70から主コマンド送信信号を受信して払出CPU80に入力するとともに、払出制御装置71から主制御装置70へ払出コマンド送信信号を出力(送信)するシリアル通信回路を備えている。
[払出制御装置71と主制御装置70との間の通信]
払出制御装置71(発射制御装置100を含む払出制御ユニット63)と主制御装置70との間では、図6(a)に示すように、4本の信号線を介して双方向通信が行われる。4本の信号線は、払出制御装置71から主制御装置70へ信号を送信する払出コマンド許可信号線及び払出コマンドデータ信号線と、主制御装置70から払出制御装置71へ信号を送信する主コマンド許可信号線及び主コマンドデータ信号線である。
払出コマンド許可信号線は、払出制御装置71がコマンド受信可能な状態を主制御装置70に通知する(払出コマンド許可信号をオフ状態からオン状態にする)。主コマンド許可信号線は、主制御装置70がコマンド受信可能な状態を払出制御装置71へ通知する(主コマンド許可信号をオフからオンにする)。払出コマンドデータ信号線は、主コマンド許可信号がオン状態のときにシリアル化された払出コマンド送信信号を送信する。主コマンドデータ信号線は、払出コマンド許可信号がオンのときにシリアル化された主コマンド送信信号を送信する。
起動時(電源投入時)に送信される主コマンド送信信号は、主制御装置70がコマンド受信可能な状態であることを払出制御装置71に通知するコマンドであり、主起動情報指定信号と払出起動確認指定信号とを含む。
起動時(電源投入時)に送信される払出コマンド送信信号は、払出制御装置71がコマンド受信可能な状態であることを主制御装置70に通知するコマンドであり、払出起動指定信号を含む。
起動して払出コマンド許可信号がオンであることを受信した主制御装置70は、図6(b)に示すように、主起動情報指定信号を送信する。同様に、起動して主コマンド許可信号がオンであることを受信した払出制御装置71は、払出起動指定信号を送信する。払出起動指定信号を受信した主制御装置70は、払出起動確認指定信号を送信し、払出起動確認指定信号を受信した払出制御装置71は、払出動作の実行が許可(払出禁止状態が解除)される。
[払出制御装置71が実行する制御処理]
次に、払出制御装置71の払出制御CPU80がROM81に記憶されている遊技制御用プログラム(払出発射制御プログラム)に従って実行する制御処理について説明する。払出制御CPU80が実行する制御処理は、メインルーチンとしてのCPU初期化処理及びメインループ、シリアル通信受信割り込み処理、タイマ割り込み処理(メイン割り込み処理)、並びに電源断時退避処理を含み、払出制御CPU80は、これらの処理の実行を制御する。なお、後述する発射制御処理(ステップS248)はCRユニット50との接続確認信号の入力に基づき発射制御装置100に対して発射許可の信号を出力する処理である。
図15(a)に示すように、シリアル通信受信割り込み処理の割り込み発生要因は主コマンドの受信によって成立し、タイマ割り込み処理の割り込み発生要因は、所定周期(本実施形態では1.4ms)毎に成立し、電源断時退避処理の割り込み発生要因は電源断予告信号の受信によるINT割り込み発生によって成立する。シリアル通信受信割り込み処理とタイマ割り込み処理と電源断時退避処理とは、この順番で割り込み優先順位が高くなるように設定されている。また、シリアル通信受信割り込み処理と電源断時退避処理とは多重割り込みを禁止し、タイマ割り込み処理は多重割り込みを許可する。
すなわち、払出制御装置71では、図15(b)に示すように、メインルーチンが基本処理として繰り返して実行され、タイマ割り込み処理が所定周期毎に起動してメインループに割り込む。メインルーチンの実行中又はタイマ割り込み処理の実行中に主コマンドを受信すると、シリアル通信受信割り込み処理が起動してメインループ又はタイマ割り込み処理に割り込む(図示省略)。メインルーチンの実行中(シリアル通信受信割り込み処理及びタイマ割り込み処理の実行中ではなく、主コマンドも受信していない)に電源断予告信号を受信すると、電源断時退避処理が起動してメインルーチンに割り込む。また、タイマ割り込み処理の実行中に電源断予告信号を受信すると、タイマ割り込み処理が終了してメインループに復帰した後に電源断時退避処理が起動する。但し、電源断時退避処理の実行中にはシリアル通信受信割り込み処理及びタイマ割り込み処理は起動せず、電源断時退避処理の実行中に割り込み発生要因が成立した場合には、電源断時退避処理の終了を待って対応する割り込み処理が起動する。なお、割り込み処理は、割り込み先の処理(現在実行中の処理)が割り込み許可状態であることを条件として起動する。
また、タイマ割り込み処理は、入力ポート0の内容(払出計数信号を含む)を取得する処理(図27のステップS262)と、入力ポート0の内容を更新して保存する処理(図27のステップS264)と、払出モータ83による1回の払出動作の完了を検出する払出検出処理(更新した入力ポート0の払出計数信号の立ち下がりを検出し、立ち下がりを検出したときに立ち下がりの検出(オンエッジ)を保存する処理(図27のステップS265))と、払出検出処理において1回の払出動作の完了を検出したときにRAM82に記憶された払出残数を1個減算する払出残数減算処理(図26のステップS247)と、RAM82に記憶された払出残数が正数であるときに払出モータ83に1回の払出動作を実行させるための払出駆動制御信号を生成し(図26のステップS247)、生成した払出駆動制御信号を払出モータ83に送信する払出指示処理(図26のステップS252)とを含む。メインCPU73は、タイマ割り込み処理の実行中は電源断時退避処理の割り込みを禁止する一方、実行中のタイマ割り込み処理において払出検出処理の実行前に電源断予告信号を受信した場合(図27のステップS263:YES)には、払出検出処理を実行しない。
(CPU初期化処理)
パチンコ機Pに電源が投入されると、払出制御CPU80はCPU初期化処理を開始する。CPU初期化処理によって、払出制御装置71の安定した払出動作が保証される。
図16は、払出制御CPU80が実行するCPU初期化処理を示すフローチャートである。
CPU初期化処理の開始により、スタックポインタにスタック領域の先頭アドレス(アドレス初期値)をセットし(ステップS201)、ベクタ方式の割込モード(割り込みモードモード2)に設定する(ステップS202)。これにより、払出制御CPU80は、任意のアドレス(但し最下位ビットは0)を割込ベクタとして参照し、指定の割込ハンドラを実行することができる。
次に、割り込みベクタテーブルを設定し(ステップS203)、内蔵レジスタを設定して(ステップS204)、リセット時待機処理を実行する。この処理では、リセットスタート(例えば電源投入)時にある程度の待機時間(例えば百ms程度)を確保し、その間に入力ポート1の電源断予告信号をチェックする。本実施形態では、供給電源安定待ち時間として100ミリ秒分のループカウンタをセットし(ステップS205)、ループカウンタの値をデクリメントしながら電源断予告信号の入力ポートをビットチェックする(ステップS206)。100ミリ秒間経過する前(ループカウンタが0になる前)に電源断予告信号が入力すると(ステップS207:YES)、リセット時待機処理の最初(ステップS205)に戻る。電源断予告信号が入力せずに100ミリ秒間が経過するまでこの処理を継続し(ステップS207:YES→ステップS205、又はステップS207:NO→ステップS208:NO→ステップS206)、電源断予告信号が入力せずに100ミリ秒間が経過すると(ステップS207:NO→ステップS208:YES)、この処理を終了する。
次に、RAM82のワーク領域に対するアクセスを許可する(ステップS209)。具体的には、ワーク領域のRAMプロテクト設定値をリセットする。これにより、以後はRAM82のワーク領域に対するアクセスが許可された状態となる。
次に、RAM82にバックアップ有効判定値(バックアップ有効判定フラグ)が保存されているか否かを判定する。具体的には、RAM82のバックアップ判定記憶領域のデータをバックアップ有効判定値と比較し(ステップS210)、両者が一致している場合(バックアップ有効判定フラグがセットされている場合)には、電源断時退避処理が適正に終了した後のCPU初期化処理であると判定し(ステップS211:NO)、不一致の場合(バックアップ有効判定フラグがセットされていない場合)には、電源断時退避処理が適正に終了した後のCPU初期化処理ではないと判定する(ステップS211:YES)。
電源断時退避処理が適正に終了した後のCPU初期化処理である場合(ステップS211:NO)、RAM82のバックアップ情報についてサムチェックを実行する。具体的には、RAM82のワーク領域(使用禁止領域及びスタック領域を含むユーザワーク領域)のうち、バックアップ判定記憶領域及びサムチェックバッファを除く領域について、チェックサム値を算出し(ステップS212)、算出したチェックサム値が正常値か否かを判定する(ステップS213)。具体的には、ステップS212で算出したチェックサム値と、後述する電源断時退避処理(ステップS280)で保存したチェックサム値とを比較し、両者が一致する場合には正常値であると判定し、相違する場合には正常値ではないと判定する。
チェックサム値が正常値の場合(ステップS213:YES)、バックアップエラーではないと判定して復帰処理(復電起動時初期設定処理)を実行する。復帰処理では、電源復帰時クリア領域(例えば、バックアップ判定記憶領域)をリセットする(ステップS214)。
一方、電源断時退避処理が適正に終了した後のCPU初期化処理ではない場合(ステップS211:YES)、又はチェックサム値が正常値でなかった場合(ステップS213:NO)、バックアップエラーであると判定して初期化処理(ステップS215、S216)を実行する。
初期化処理(初期起動時初期値設定処理)では、RAM82の使用禁止領域以外の記憶領域を全てクリアして初期値をセットする(ステップS215)。これにより、RAM82のワーク領域及びスタックエリアは全て初期化される。次に、RAM82にクリア起動時の初期値をセットすることによりRAM82の初期設定を行う(ステップS216)。
復帰処理(ステップS214)又は初期化処理(ステップS215、S216)が終了すると、起動時の設定値をセットし(ステップS217)、タイマ割り込み用カウンタをセットし(ステップS218)、割り込みデイジーチェンをリセットして(ステップS219)、メインループへ移行する。割り込みデイジーチェンをリセット(ステップS219)することにより、後述する電源断時退避処理におけるステップS286(図30参照)の判定がYESでCPU初期化処理へ移行した際に、割り込み処理から抜ける際のRETI処理を行っていないために、後述するメインループにおけるステップS224(図17参照)で割り込み許可を行っても各割り込み処理に移行しないといったことを防止している。
(メインループ)
図17は、払出制御CPU80が実行するメインループを示すフローチャートである。
メインループでは、割り込みを禁止して(ステップS221)、受信コマンド解析処理(ステップS222)、コマンド送受信関連処理(ステップS223)を実行し、割り込みを許可した後(ステップS224)、ステップS221へ戻る。このように受信コマンド解析処理(ステップS222)及びコマンド送受信関連処理(ステップS223)の実行中は割り込みが禁止されるため、開始されたこれらの処理は、途中で中断及び中止されることなく最後まで実行される。
受信コマンド解析処理(ステップS222)は、主制御装置70から受信したコマンドを解析する処理である。主制御装置70から受信するコマンドは、起動に関する起動関連コマンド(主起動情報指定信号、RWMクリア指定信号、電源復帰指定信号、払出起動確認指定信号)、払出停止のコマンド(例えば、扉開放やエラーが発生した場合に主制御装置70が出力するエラー信号)、及び賞球に関するコマンド(払出指示信号)を含む。
コマンド送受信解析処理(ステップS222)では、図18に示すように、起動関連コマンドを受信したか否かを判定し(ステップS301)、受信したコマンドが起動関連コマンドである場合(ステップS301:YES)、受信したコマンドに対応する受信関連情報をRAM82に記憶して一時的に保存する。受信したコマンドが起動関連コマンドではない場合(ステップS301:NO)、賞球指示コマンド(払出指示信号)を受信したか否かを判定する(ステップS303)。
受信したコマンドが賞球指示コマンドである場合(ステップS303:YES)、払出制御CPU80は、受信した賞球指示コマンドが示す賞球数を賞球メモリ領域の賞球残数(残払出個数)に加算し(ステップS304)、受信した賞球指示コマンドが示す賞球数をメイン賞球数記憶領域のメイン賞球数に加算して(ステップS305)、受信コマンド解析処理を終了する(ステップS306)。また、受信したコマンドが賞球指示コマンドではない場合(ステップS303:NO)、ステップS304及びS305の処理を実行せずに、受信コマンド解析処理を終了する(ステップS306)。なお、払出制御CPU80は、エラーに関するコマンドを受信した場合には、払出動作を中断する処理を実行する。
コマンド送受信関連処理(ステップS223)は、払出制御装置71から主制御装置70へのコマンドの送受信に関するゼネラルモジュールであり、図19に示すように、セットされているフェーズ番号(フェーズ0〜フェーズ6)に応じた処理を実行する(ステップ311)。具体的には、フェーズ0では払出起動指定送信処理を、フェーズ1では起動関連指定チェック処理1を、フェーズ2ではRWMクリア指定受信後処理を、フェーズ3では起動関連指定チェック処理2を、フェーズ4では払出エラーステータス送信チェック処理を、フェーズ5では、通常時RWMクリア指定受信時処理を、フェーズ6では、通常時電源復帰指定受信時処理をそれぞれ実行し、何れか1つのフェーズに応じた処理を実行すると、ステップS312へ移行する。電源断から起動した払出制御装置71では、フェーズ0がセットされて払出起動指定処理送信処理から実行される。
払出起動指定送信処理(フェーズ0)は、主制御装置70に払出起動指定信号を送信するモジュールである。払出起動指定送信処理では、主制御装置70に払出起動指定信号を送信し、フェーズ1をセットする。
起動関連指定チェック処理1(フェーズ1)は、主制御装置70から起動関連コマンドを受信したか否かの確認し、起動関連コマンドを受信している場合に、受信したコマンド(図18のステップS302で保存した起動関連情報)に応じてフェーズをセットするモジュールである。具体的には、図20に示すように、RWMクリア指定信号を受信したか否かを判定し(ステップS321)、受信したコマンドがRWMクリア指定信号である場合(ステップS321:YES)、フェーズ2をセットして(ステップS322)、起動関連指定チェック処理1を終了する(ステップS327)。受信したコマンドがRWMクリア指定信号ではない場合(ステップS321:NO)、払出起動確認指定信号を受信したか否かを判定する(ステップS323)。受信したコマンドが払出起動確認指定信号である場合(ステップS323:YES)、フェーズ4をセットして(ステップS324)、起動関連指定チェック処理1を終了する(ステップS327)。受信したコマンドが払出起動確認指定信号ではない場合(ステップS323:NO)、電源復帰指定信号を受信したか否かを判定する(ステップS325)。受信したコマンドが電源復帰指定信号である場合(ステップS325:YES)、フェーズ3をセットして(ステップS326)、起動関連指定チェック処理1を終了する(ステップS327)。受信したコマンドが電源復帰指定信号ではない場合(ステップS325:NO)、フェーズ1を維持したまま、起動関連指定チェック処理1を終了する(ステップS327)。起動関連指定チェック処理1により、RWMクリア指定信号の受信に応じてフェーズ2がセットされ、払出起動確認指定信号の受信に応じてフェーズ4がセットされ、電源復帰指定信号の受信に応じてフェーズ3がセットされる。また、ステップS321,S323又はS325において、RWMクリア指定信号、払出起動確認指定信号又は電源復帰指定信号の受信を確認した後、各信号をシリアル通信用バッファから削除(シリアル通信用バッファの各信号をクリア)する。
RWMクリア指定受信後処理(フェーズ2)は、RWM領域を全てクリアする(払出記憶初期化処理を実行する)モジュールである。具体的には、図21に示すように、RWM領域を全てクリア(RAM75の使用禁止領域以外の記憶領域を全てクリアして初期値を設定)し(ステップS331)、フェーズ3をセットした後(ステップS332)、RWMクリア指定受信後処理を終了する(ステップS333)。これにより、RAM75のワーク領域及びスタックエリアは全て初期化される。なお、シリアル通信用バッファはステップS331のクリア対象(払出記憶初期化処理の対象)ではないためクリアしない。
起動関連指定チェック処理2(フェーズ3)は、起動関連指定チェック処理1と同様に、主制御装置70から起動関連コマンドを受信したか否かを確認し、起動関連コマンドを受信している場合に、受信したコマンド(図18のステップS302で保存した起動関連情報)に応じてフェーズをセットするモジュールである。具体的には、図22に示すように、払出起動確認指定信号を受信したか否かを判定し(ステップS341)、受信したコマンドが払出起動確認指定信号である場合(ステップS341:YES)、フェーズ4をセットして(ステップS342)、起動関連指定チェック処理2を終了する(ステップS347)。受信したコマンドが払出起動確認指定信号ではない場合(ステップS341:NO)、RWMクリア指定信号を受信したか否かを判定する(ステップS343)。受信したコマンドがRWMクリア指定信号である場合(ステップS343:YES)、フェーズ5をセットして(ステップS344)、起動関連指定チェック処理2を終了する(ステップS347)。受信したコマンドがRWMクリア指定信号ではない場合(ステップS343:NO)、電源復帰指定信号を受信したか否かを判定する(ステップS345)。受信したコマンドが電源復帰指定信号である場合(ステップS345:YES)、フェーズ0をセットして(ステップS346)、起動関連指定チェック処理2を終了する(ステップS347)。受信したコマンドが電源復帰指定信号ではない場合(ステップS345:NO)、フェーズ3を維持したまま、起動関連指定チェック処理2を終了する(ステップS347)。起動関連指定チェック処理2により、起動確認指定信号の受信に応じてフェーズ4がセットされ、RWMクリア指定信号の受信に応じてフェーズ5がセットされ、電源復帰指定信号の受信に応じてフェーズ0がセットされる。
払出エラーステータス送信チェック処理(フェーズ4)は、払出制御装置71で管理しているエラーに関するコマンドを主制御装置70に送信するモジュールである。起動処理終了後の通常の動作時は、本モジュール(フェーズ4)に継続して滞在し、RWMクリア指定信号を受信するとフェーズ5を、電源復帰指定信号を受信するとフェーズ6をそれぞれセットする。具体的には、図23に示すように、RWMクリア指定信号を受信したか否かを判定し(ステップS351)、受信したコマンドがRWMクリア指定信号である場合(ステップS351:YES)、フェーズ5をセットして(ステップS352)、払出エラーステータス送信チェック処理を終了する(ステップS357)。受信したコマンドがRWMクリア指定信号ではない場合(ステップS351:NO)、電源復帰指定信号を受信したか否かを判定する(ステップS353)。受信したコマンドが電源復帰指定信号である場合(ステップS353:YES)、フェーズ6をセットして(ステップS354)、払出エラーステータス送信チェック処理を終了する(ステップS357)。受信したコマンドが電源復帰指定信号ではない場合(ステップS353:NO)、払出制御装置71で管理しているエラーの状態が変化したか否かを判定する(ステップS355)。具体的には、後述する図26のステップS249でセットされるエラー状態領域の状態が、前回の判定時から今回の判定時の間に変更されたか否かを判定する。エラーの状態が変化した場合(ステップS355:YES)、現在のエラー状態領域の状態に応じたコマンド(正常状態からエラー状態に変化した場合にはエラーの種別及びエラーの発生を示すエラー発生コマンド、エラー状態から正常状態に変化した場合には解消されたエラーの種別及び正常状態への復帰を示すエラー解除コマンド)を主制御装置70に送信し(ステップS356)、フェーズ4を維持したまま、払出エラーステータス送信チェック処理を終了する(ステップS357)。なお、エラーの種別は、払出中エラー、満タンエラー、払出計数スイッチエラー、球詰まりエラー、及び過剰賞球エラーの5種類である。エラーの状態が変化していない場合(ステップS355:NO)、ステップS356の処理を実行せず、フェーズ4を維持したまま、払出エラーステータス送信チェック処理を終了する(ステップS357)。
通常時RWMクリア指定受信時処理(フェーズ5)は、払出制御装置71の通常動作中に主制御装置70に電源断が発生し、且つ主制御装置71がRWMクリア起動した場合の処理を実行するモジュールである。具体的には、図24に示すように、主コマンド許可信号がオンであるか否かを判定し(ステップS361)、主コマンド許可信号がオンである場合(ステップS361:YES)、コマンド送信間隔タイマの値がゼロであるか否かを判定する(ステップS362)。コマンド送信間隔タイマの値がゼロである場合(ステップS362:YES)、払出起動指定信号を主制御装置70に送信し、所定送信時間からのカウントダウンを内部タイマであるコマンド送信間隔タイマによって開始して、主コマンド許可信号をオフに設定する(ステップS363)。最後に、フェーズ2をセットして(ステップS364)、通常時RWMクリア指定受信時処理を終了する(ステップS365)。また、主コマンド許可信号がオフである場合(ステップS361:NO)、及びコマンド送信間隔タイマの値がゼロではない場合(ステップS362:NO)は、ステップS363及びS364の処理を実行せずに通常時RWMクリア指定受信時処理を終了する(ステップS365)。
通常時電源復帰指定受信時処理(フェーズ6)は、払出制御装置71の通常動作中に主制御装置70に電源断が発生し、且つ主制御装置71が復電起動した場合の処理を実行するモジュールである。通常時電源復帰指定受信時処理では、払出モータ83に関連する所定の処理を実行し、フェーズ4をセットする。
ステップS311の処理が終了すると、図19に戻り、フェーズ4が設定されているか否かを判定する(ステップS312)。フェーズ4が設定されている場合(ステップS312:YES)、払出許可をセットして(ステップS313)、コマンド送受信関連処理を終了する(ステップS315)。フェーズ4が設定されていない場合(ステップS312:NO)、払出不可をセットして(ステップS315)、コマンド送受信関連処理を終了する(ステップS315)。フェーズ4であるときに、払出許可がセットされて払出禁止状態が解除され、フェーズ4以外であるときに、払出不可がセットされて払出禁止状態が設定又は維持される。
また、コマンド送受信関連処理(ステップS223)では、上記以外にも受信したコマンドに関連する処理を実行する。例えば、皿満タンSW85からの受信に基づいて皿満タンエラーを検知した場合や、払出計数スイッチ84からの受信に基づいて球切れエラーや球詰まりエラーを検知した場合には、発生したエラーを示すエラーコマンドを主制御装置70へ送信する(図23のステップS356)。
(シリアル通信受信割り込み処理)
図25は、払出制御CPU80が実行するシリアル通信受信割り込み処理を示すフローチャートである。払出制御CPU80は、メインループの割り込み許可中又はタイマ割り込み処理の割り込み許可中において、主コマンド(主制御装置70から入力する各種コマンド)を受信すると、受信した主コマンドを優先して処理するためにシリアル通信受信割り込み処理を割り込ませる。
図25に示すように、シリアル通信受信割り込み処理では、AFレジスタの値をRAM82の退避領域に退避させ(ステップS231)、SCUのステータスレジスタの内容をロードし(ステップS232)、受信データがあるか否かをチェックし(ステップS233)、SCUデータレジスタから受信値を取得し(ステップS234)、受信データを確認したか否かを判定し(ステップS235)、受信データを確認しなかった場合(ステップS235:NO)には、ステップS231で退避させたAFレジスタの値を復帰させ(ステップS237)、割り込みを許可した後(ステップS238)、シリアル通信受信割り込み処理を終了する。一方、受信データを確認した場合(ステップS235:NO)、シリアル通信用バッファに受信データを格納し(ステップS236)、ステップS231で退避させたAFレジスタの値を復帰させ(ステップS237)、割り込みを許可した後(ステップS238)、シリアル通信受信割り込み処理を終了する。シリアル通信受信割り込み処理の終了により、メインループ又は、タイマ割り込み処理(スタックポインタで指示されるプログラムアドレス)に復帰する。
(タイマ割り込み処理)
図26は、払出制御CPU80が実行するタイマ割り込み処理を示すフローチャートである。払出制御CPU80は、カウンタ/タイマ回路は所定周期毎に割込要求信号を発生し、割込要求信号の発生に基づき、割り込み許可中のメインループにタイマ割り込み処理を割り込ませる。
図26に示すように、タイマ割り込み処理では、メインループの実行中に使用していた全てのレジスタの値をRAM82の退避領域に退避させる(ステップS241)。値を退避させた後のレジスタには、タイマ割り込み処理の中で別の値を書き込むことができる。
次に、割り込みを許可し(ステップS242)、割り込みフラグを初期化した後(ステップS243)、ポート入力処理を実行する(ステップS244)。割り込みフラグの初期化(ステップS243)により、割り込みフラグが1.4ms毎にセットされ、タイマ割り込み処理が1.4ms毎に周期的に実行される。
ポート入力処理(ステップS244)では、図27に示すように、オンエッジ検出フラグをクリアし(ステップS261)、入力ポート1の内容を取得した後(ステップS262)、電源断予告信号を受信しているか否かを判定する(ステップS263)。具体的には、電源断予告信号の入力ポートをビットチェックし、電源断予告信号が入力しているか否かを判定する。
電源断予告信号を受信していない場合(ステップS263:NO)には、入力ポート0の内容を更新して保存し(ステップS264)、入力ポート0の払出計数信号のオンエッジを保存して(ステップS265)、ポート入力処理を終了する。払出計数SW84に対応する受信記憶領域(1ビット)の受信状態(レベル)は、通常はH(High)に設定され、払出計数信号の受信によってL(Low)に変更されるため、電源断予告信号を受信しておらず、且つ払出計数SW84に対応する受信記憶領域(1ビット)の受信状態への変化(HからLへの立ち下がり)を検出した場合に、ステップS265の処理によって払出計数信号のオンエッジが保存される。なお、払出計数信号のオンエッジは、HからLへの変更(H→L)のみによって検出してもよく、HからLへ変更された後のLの維持(H→L→L)によって検出してもよい。一方、電源断予告信号を受信している場合(ステップS263:YES)には、入力ポート0の内容の更新、及び入力ポート0のオンエッジの保存を実行せずに、ポート入力処理を終了する。
このように、ポート入力処理において、払出計数SW84からの払出計数信号の入力状態(H/L)をリードし、電源断発生時ではない場合には、受信記憶領域の受信状態への変化を検出することによって遊技球の払い出しを検知し、払出計数信号のオンエッジを保存した後、本処理を終了する。一方、電源断発生時の場合には、遊技球の払い出しを検知せずに、本処理を終了する。ポート入力処理を終了すると、図26のタイマ更新処理(ステップS245)を実行する。
タイマ更新処理(ステップS245)では、各処理の実行間隔を規定するカウンタ/タイマ回路のカウント値を初期値に一括して更新して周期のカウントを再開する。
次に、CR通信処理を実行する(ステップS246)。CR通信処理では、ポート入力処理(ステップS264)でCRユニット50から台端末貸出要求完了確認信号の受信を保存した場合に、基本単位分だけ貸出メモリ領域の貸出残数を加算する。
次に、ステップS313の払出許可がセットされた状態(ステップS315の払出不可がセットされていない状態)であることを条件として、払出モータ関連処理を実行する(ステップS247)。払出モータ関連処理では、図28に示すように、皿満タンエラーが発生しているか否か(ステップS371)、払出ユニット断線エラーが発生しているか否か(ステップS372)、球詰まりエラー又は球切れエラーが発生しているか否か(ステップS373)、及び扉開放エラーが発生しているか否か(ステップS374)を判定し、何れのエラー(賞球の払出動作を停止すべき払出停止対象エラー)も発生していない賞球払出可能状態であると判定した場合(ステップS371〜S374:NO)、払出動作を開始し(ステップS375)、何れかのエラーが発生している賞球払出停止状態であると判定した場合(ステップS371〜S374の何れか:YES)、払出動作を停止する(ステップS376)。なお、払出停止対象エラーは、上記エラーに限定されず、他のエラーであってもよい。
払出制御CPU80は、皿満タンSW85から球満タン検出信号を受信した場合に皿満タンエラーであると判定し、払出モータ83や払出計数スイッチ84の断線を検出した場合に払出ユニット断線エラーであると判定し、払出計数スイッチ84からの払出計数信号を所定時間以上継続して受信した場合に球詰まりエラーであると判定し、払出モータ83を駆動中に払出計数スイッチ84からの払出計数信号を所定時間以上継続して受信しなかった場合に球切れエラーであると判定し、主制御装置70から扉開放を示すエラー信号を受信した場合に扉開放エラーであると判定する。
払出制御CPU80は、払出動作を開始すると、ポート入力処理(ステップS265)で払出計数SW84からの払出計数信号のオンエッジを保存した場合に、賞球残数及び貸出残数の一方を貸出残数を優先して1つ減算する。また、賞球残数及び貸出残数の一方がゼロではない場合には、遊技球1個分の払出動作を払出モータ83に実行させるための払出駆動制御信号を生成し、ポート出力要求バッファに格納する。なお、1回の賞球払出を所定単位個数(例えば25個)を上限とした個数分まで連続で行う処理(賞球連続払出処理)が設定されている場合には、連続賞球払出処理の途中に貸出残数がゼロから増加した場合であっても、実行中の連続賞球払出処理を中断せずに継続する。そして、1回の連続賞球払出処理が完了した後は、賞球残数が未だゼロに達していなくても、貸出残数がゼロではない場合には、賞球残数よりも貸出残数の払い出しを優先して実行する。
また、払出制御CPU80は、払出動作の停止に応じて、払出モータ83を弱励磁状態で待機させる。弱励磁とは、払出モータ83の駆動軸の停止を維持するために必要十分な弱い励磁である。
次に、発射制御処理(ステップS248)を実行する。発射制御処理は、上述のようにCRユニット50との接続確認信号の入力に基づき発射制御装置100に対して発射許可の信号を出力する処理である。発射許可の信号が入力された発射制御装置100では、発射ボリューム88から受信した発射勢指示信号に基づいて発射モータ86の駆動を制御する。これにより、遊技者の操作量に応じて遊技球の打ち出し強さが調整される。但し、タッチセンサ89からの検出信号がオフ(ローレベル)の場合、発射停止スイッチ90から発射停止信号が入力された場合、及びパチンコ機PにCRユニット50が接続されていない場合(発射許可信号を払出制御CPU80から受信していない場合)には、発射モータ86の駆動を停止する。
次に、エラー関連処理を実行する(ステップS249)。エラー関連処理では、満タンスイッチ信号、払出計数スイッチエラー信号、及び払出計数スイッチ信号をそれぞれレベル監視することによってエラーを検知する。各スイッチ信号は、通常状態でオフであり、エラー状態でオンとなる。RAM82には各スイッチ信号の状態(オン/オフ)を記憶する領域としてエラー状態領域が設定され、各スイッチ信号の状態をチェック(エラー状態領域とスイッチ信号の状態とを比較)し、各スイッチ信号の状態が変化した(エラー状態領域とスイッチ信号の状態とが相違した)場合に、スイッチ信号の状態をエラー状態領域に更新してセット(記憶)する。エラー状態領域が更新されると、上述したように、メインループの払出エラーステータス送信チェック処理(図23のステップS356)において、エラー発生コマンド又はエラー解除コマンドが主制御装置70に送信される。
次に、外部情報出力管理処理を実行する(ステップS250)。外部情報出力管理処理では、図29に示すように、払出賞球数(賞球情報カウンタのカウント値)が所定単位数(10個)に達したか否かを判定し(ステップS381)、払出賞球数が所定単位数に達した場合(ステップS381:YES)、賞球情報信号をポート出力要求バッファに設定し(ステップS382)、賞球情報カウンタのカウント値を所定単位数(10個)減算して(ステップS383)、ステップS384へ移行する。また、払出賞球数が未だ所定単位数に達していない場合(ステップS381:NO)、ステップS382及びS383の処理を実行せずに、ステップS384へ移行する。
ステップS384では、メイン賞球数(メイン賞球カウンタのカウント値)が所定単位数(10個)に達したか否かを判定し(ステップS384)、メイン賞球数が所定単位数に達した場合(ステップS384:YES)、メイン賞球信号をポート出力要求バッファに格納し(ステップS385)、メイン賞球カウンタのカウント値を所定単位数(10個)減算して(ステップS383)、外部情報出力管理処理を終了する(ステップS387)。また、メイン賞球数が未だ所定単位数に達していない場合(ステップS384:NO)、ステップS385及びS386の処理を実行せずに、外部情報出力管理処理を終了する(ステップS387)。
このように、外部情報出力管理処理では、外部情報端子基板65を介して遊技場のホールコンピュータ68へ出力する外部情報信号(例えばメイン賞球情報、賞球情報等)をポート出力要求バッファに格納する。
払出制御CPU80は、ホールコンピュータ68にメイン賞球情報や賞球情報の外部情報信号を確実に送信するため、所定送信時間(本実施形態では60ms)が経過するまでの間、ポート出力要求バッファに賞球情報信号及びメイン賞球信号を連続的に繰り返して格納する。具体的には、ステップS382及びS385においてポート出力要求バッファに賞球情報信号及びメイン賞球信号を最初に格納する際に、所定送信時間からのカウントダウンを内部タイマによって開始し、内部タイマの値がゼロになるまでの間は、タイマ割り込み処理が実行される度に賞球情報信号及びメイン賞球信号を連続的に繰り返して格納し、内部タイマの値がゼロになることによって送信(ポート出力要求バッファへの連続格納)を完了する。本実施形態では、所定送信時間が60msであり、タイマ割り込み処理を1.4ms毎に実行するため、賞球情報信号及びメイン賞球信号は設計上最大で42回連続して格納されることになる。これにより、後述するポート出力処理(ステップS252)において、所定送信時間の間は賞球情報信号及びメイン賞球信号の送信状態(ビットオン状態)が継続して維持され、ホールコンピュータ68にメイン賞球情報や賞球情報の外部情報信号が確実に送信される。
また、払出制御CPU80は、電源断発生時(電源断予告信号の受信時)に、内部タイマによるカウントダウンを停止し、そのときの値(残り時間)をそのままRAM82に保持する。
次に、試験信号管理処理を実行する(ステップS251)。試験信号管理処理では、払出制御CPU80が自己の内部状態を表す各種の試験信号を生成し、これらをポート出力要求バッファに格納する。この試験信号により、例えば払出制御装置71の外部で払出制御CPU80の内部状態を試験することができる。
次に、ポート出力処理を実行する(ステップS252)。ポート出力処理では、上述の各処理においてポート出力要求バッファに格納された各信号を、対応する送信対象に対してポート出力する。ポート出力処理によって、払出モータ83への払出駆動制御信号の送信やホールコンピュータ68への賞球情報の送信の他、状態LEDの発光制御が実行される。
最後に、ステップS241において退避させた全てのレジスタの値を復帰させ(ステップS253)、タイマ割り込み処理を終了する。タイマ割り込み処理の終了により、メインループ(スタックポインタで指示されるプログラムアドレス)に復帰する。
(電源断時退避処理)
図30は、払出制御CPU80が実行する電源断時退避処理を示すフローチャートである。払出制御CPU80は、メインルーチンの割り込み許可中に電源断予告信号を受信すると、電源断時退避処理を割り込ませる。また、タイマ割り込み処理の実行中に電源断予告信号を受信すると、タイマ割り込み処理が終了してメインループに復帰した後に電源断時退避処理を割り込ませる。
図30に示すように、電源断時退避処理では、AFレジスタの値をRAM82の退避領域に退避させ(ステップS271)、電源断予告信号を受信しているか否かを判定する(ステップS272)。具体的には、電源断予告信号の入力ポートをビットチェックし、電源断予告信号が入力しているか否かを判定する。このように電源断時退避処理の開始直後に電源断予告信号を再度チェックすることによって、ノイズ等による誤検知に起因したステップS276以降の処理の実行を回避することができる。
電源断予告信号を受信していない場合(ステップS273:NO)には、ステップS271で退避させたAFレジスタの値を復帰させ(ステップS274)、割り込みを許可した後(ステップS275)、電源断時退避処理を終了する。電源断時退避処理の終了により、メインループ(スタックポインタで指示されるプログラムアドレス)に復帰する。
一方、電源断予告信号を受信している場合(ステップS273:YES)には、出力ポート(出力ポート要求バッファ)の全てにクリア値を出力する(ステップS276)。これにより、電源断時退避処理以前に出力ポート要求バッファに格納された信号は全て削除され、送信されない。
次に、コマンド受信待ち時間として4.5ミリ秒分のループカウンタをセットし(ステップS277)、ループカウンタの値をデクリメントしながらその値がゼロに達したか否か(4.5ミリ秒が経過したか否か)を判定し(ステップS278)、4.5ミリ秒が経過すると(ステップS278:YES)、データ格納処理を実行する(ステップS279)。データ格納処理では、払出制御CPU80に入力したデータ(入力ポートの状態)を格納する。データ格納処理は、シリアル通信受信割り込み処理におけるステップS232〜S236(図25参照)と同様の処理であり、SCUのステータスレジスタの内容をロードし、受信データがあるか否かをチェックし、SCUデータレジスタから受信値を取得し、受信データを確認したか否かを判定し、受信データを確認した場合にシリアル通信用バッファに受信データを格納する。データ格納処理までの待機時間は、4.5ミリ秒に限定されず、主制御装置71が実行するタイマ割り込み処理の周期(4ミリ秒)を超えていればよく、タイマ割り込み処理の周期(4ミリ秒)にタイマ割り込み処理に要する時間を加えた時間以上が好適である。データ格納処理までの待機時間を上述のように設定することにより、この待機時間内に主制御CPU73がタイマ割り込み処理を必ず1回実行することになる。従って、待機時間内に、主制御CPU73が払出制御管理処理(図12のステップS74)及びポート出力処理(図12のステップS79)が1回以上実行され、データ格納処理(ステップS279)において、電源断時退避処理の開始後に主制御CPU73から送信された最新の賞球指示コマンドを受信して格納することができる。
次に、RAM82のワーク領域(使用禁止領域及びスタック領域を含むユーザワーク領域)のうち、バックアップ判定記憶領域及びサムチェックバッファを除く領域について、チェックサム値を算出し、算出したチェックサム値をサムチェックバッファに保存する(ステップS280)。
次に、バックアップ判定記憶領域にバックアップ有効判定値(バックアップ有効判定フラグ)を保存し(ステップS281)、RAM82のワーク領域に対するアクセスを禁止して(ステップS282)、電源断時待機処理を実行する。
電源断時待機処理では、電源断時にある程度の待機時間(例えば十ms程度)を確保し、その間に入力ポート1の電源断予告信号をチェックする。本実施形態では、リセット信号待ちとして10ms分のループカウンタをセットし(ステップS283)、ループカウンタの値をデクリメントしながら電源断予告信号の入力ポートをビットチェックする(ステップS284)。10ms間経過する前(ループカウンタが0になる前)に電源断予告信号が入力すると(ステップS285:YES)、電源断時待機処理の最初(ステップS283)に戻る。電源断予告信号が入力せずに10ms間が経過するまでこの処理を継続し(ステップS285:YES→ステップS283、又はステップS285:NO→ステップS286:NO→ステップS284)、電源断予告信号が入力せずに10ms間が経過すると(ステップS285:NO→ステップS286:YES)、電源断時退避処理を終了し、CPU初期化処理(図16のステップS201)へ移行する。電源断時待機処理によって、電源断予告信号が所定時間(10ms)以上入力しない安定した状態となった後にCPU初期化処理へ移行させることができ、処理の安定化及びシステム保護を図ることができる。
このように払出御装置71のタイマ割り込み処理も、主制御装置70のタイマ割り込み処理と同様に、電源断時退避処理に優先してメインループに割り込むので、タイマ割り込み処理の実行中に電源断が発生した場合であっても、タイマ割り込み処理は電源断時退避処理によって中断せず、電源断時退避処理はタイマ割り込み処理の終了を待って開始される。従って、電源断時退避処理において退避させるデータ量を最小限に抑えるとともに、復帰プログラムの複雑化を回避することができる。
すなわち、電源断時退避処理において、RAM82のワーク領域の内容をバックアップ情報としてRAM82の退避領域に退避させるバックアップ情報退避処理や、退避させたバックアップ情報をRAM82のワーク領域に復帰させて前回の電源断発生時に実行中であった遊技状態に復帰させる状態復帰処理を実行しないので、RAM82の退避領域の記憶量を低減させることができる。また、バックアップ情報退避処理や状態復帰処理を実行しないので、復帰プログラムの簡素化を図ることができる。
また、ポーリングによって電源断予告信号を監視していないので、払出制御CPU80の処理負担を軽減することができる。
さらに、タイマ割り込み処理において、払出検出処理(ステップS265)の実行前に電源断予告信号を受信した場合(ステップS263:YES)には払出検出処理を実行しないので、電源断によるノイズ等に起因して払出計数信号が誤って払出制御装置71に入力しても、誤入力に基づいて遊技球の払出完了が誤検知されてしまうことがない。従って、電源断に起因して払出残数が不適正に減算されてしまうことがなく、賞球や貸し球の不当な損失の発生を未然に防止することができる。
(主制御装置70及び払出制御装置71の起動時の主な処理)
次に、図31を参照して、主制御装置70及び払出制御装置71が起動時(電源断復帰時を含む)に実行する主な処理について説明する。
主制御装置70及び払出制御装置71が起動すると、主制御CPU73及び払出制御CPU80がそれぞれCPU初期化処理(主側初期化処理及び払出側初期化処理)を開始する。
主制御装置70が実行する主側初期化処理では、セキュリティチェックの後に実行するCPU初期化処理(図8、図9)において、サブ制御起動待ち及び電源断信号の確認を実行し(ステップS401(図8のステップS7〜S10))、復電起動か否かを判定する(ステップS402(図9のステップS13〜S17))。具体的には、RWMクリア信号がオンではなく(ステップS13:NO)、且つバックアップエラーが発生していない(ステップS15:NO、及びステップS17:YES)ときに、復電起動と判定する。復電起動の場合(ステップS402:YES)、復電起動時初期設定処理(ステップS403(ステップS18〜S20))を実行し、電源復帰時クリア領域(例えば、バックアップ判定記憶領域)をリセットする(ステップS18)。一方、RWMクリアスイッチ69が操作されてRWMクリア信号がオンであるとき(ステップS13:YES)、又はバックアップエラーが発生しているとき(ステップS15:YES、又はステップS17:NO)に、復電起動ではない(初期起動である)と判定する。復電起動ではない場合(ステップS402:NO)、初期起動時初期化処理(ステップS404(ステップS21〜S24))を実行し、RAM75の使用禁止領域以外の記憶領域を全てクリアして初期値を設定した後(ステップS21,S22)、RWMクリア指定信号を払出コマンド出力要求バッファにセットする(ステップS24)。これにより、RAM75のワーク領域及びスタックエリアは全て初期化される。
復電起動時初期設定処理(ステップS403)又は初期起動時初期設定処理(ステップS404)を完了すると、初期・復電起動時共通設定処理(ステップS405(ステップS25〜S31))を実行する。初期・復電起動時共通設定処理(ステップS405)の実行によって主側初期化処理を終了し、主側正常処理(メインループ)へ移行して割り込みを許可する。
主側正常処理に移行した主制御装置70では、タイマ割り込み処理の払出制御管理処理(図12のステップS74)において、主起動情報指定信号を払出制御装置71に送信する。
払出制御装置71が実行する払出側初期化処理では、セキュリティチェックの後に実行するCPU初期化処理(図16)において、電源断信号を確認し(ステップS501(図16のステップS205〜S208))、RWMバックアップが正常か(バックアップエラーが発生していないか)否かを判定する(ステップS502(ステップS210〜S213))。RWMバックアップが正常であり、バックアップエラーが発生していない場合(ステップS502:YES(ステップS211:NO、及びステップS213:YES))、復電起動時初期設定処理(ステップS503)を実行し、電源復帰時クリア領域(例えば、バックアップ判定記憶領域)をリセットする(ステップS214)。一方、RWMバックアップが正常ではなく、バックアップエラーが発生している場合(ステップS502:NO(ステップS211:YES、又はステップS213:NO))、初期起動時初期化処理(ステップS504)を実行し、RAM82の使用禁止領域以外の記憶領域を全てクリアして、初期値を設定する(ステップS215,S216)。これにより、RAM80のワーク領域及びスタックエリアは全て初期化される。
復電起動時初期設定処理(ステップS503)又は初期起動時初期設定処理(ステップS504)を完了すると、初期・復電起動時共通設定処理(ステップS505(ステップS217〜S219))を実行する。初期・復電起動時共通設定処理(ステップS505)の実行によって払出側初期化処理を終了し、払出側正常処理(メインループ)へ移行して割り込みを許可する。
払出側正常処理に移行した払出制御装置71では、メインループのコマンド送受信関連処理(図17のステップS223)において、フェーズ0に対応する払出起動指定送信処理(図19のステップS311)を実行し、払出起動指定信号を主制御装置70に送信して、フェーズ1をセットする。なお、払出起動指定信号の送信は、主制御装置70からの主起動情報情報指定信号の受信を条件とすることなく実行される。
主制御装置70が初期起動である場合、主制御装置70は、タイマ割り込み処理の払出制御管理処理(図12のステップS74)において、RWMクリア指定信号を払出制御装置71に送信する。RWMクリア指定信号を受信した払出制御装置71は、シリアル通信受信割り込み処理において、受信したRWMクリア指定信号をシリアル通信用バッファに格納し(図25のステップS236)、メインループのコマンド送受信関連処理(図17のステップS223)において、フェーズ1に対応する起動関連指定チェック処理1(図19のステップS311、図20)を実行し、RWMクリア指定信号を受信したと判定して(図20のステップS321:YES)、フェーズ2をセットする(ステップS322)。そして、次回以降のメインループのコマンド送受信関連処理(図17のステップS223)において、フェーズ2に対応するRWMクリア指定受信後処理(図19のステップS311、図21)を実行し、RWM領域を全てクリアした後(図21のステップS331)、フェーズ3をセットする(ステップ322)。
主制御装置70は、払出制御装置71から払出起動指定信号を受信すると、シリアル通信受信割り込み処理において、受信した払出起動指定信号を主コマンドバッファに格納し(図11のステップS56)、タイマ割り込み処理の払出制御管理処理(図12のステップS74)において、払出起動確認指定信号を払出制御装置71に送信する。
払出制御装置71は、主制御装置70から払出起動確認指定信号を受信すると、シリアル通信受信割り込み処理において、受信した払出起動確認指定信号をシリアル通信用バッファに格納する(図25のステップS236)。主制御装置70が復電起動でありRWMクリア指定信号を送信していない場合には、メインループのコマンド送受信関連処理(図17のステップS223)において、フェーズ0からフェーズ1に移行した後、フェーズ1に対応する起動関連指定チェック処理1(図19のステップS311、図20)を実行することによって、払出起動確認指定信号を受信したと判定し(図20のステップS323:YES)、フェーズ4をセットして(図20のステップS324)、払出許可をセットする(図19のステップS313)。一方、主制御装置70が初期起動でありRWMクリア指定信号を送信している場合には、メインループのコマンド送受信関連処理(図17のステップS223)において、フェーズ0からフェーズ1(図20のステップS321:YES→ステップS322)及びフェーズ2(図21のステップS332)を介してフェーズ3に移行した後、フェーズ3に対応する起動関連指定チェック処理2(図19のステップS311、図22)を実行することによって、払出起動確認指定信号を受信したと判定し(図22のステップS341:YES)、フェーズ4をセットして(図22のステップS342)、払出許可をセットする(図19のステップS313)。このように、何れのチェック処理を実行した場合であっても、払出起動確認指定信号を受信したと判定され、フェーズ4がセットされて、払出許可がセットされる。
(通常時に主制御装置70に瞬断及びバックアップエラーが発生した場合の処理)
通常時に、瞬間的な電源断から復帰して起動する瞬断が払出制御装置71には発生せず、主制御装置70のみに瞬断及びバックアップエラーが発生した場合、主制御装置70は、上述の起動時と同様に、主側初期化処理を実行する。主側初期化処理において、バックアップエラーであると判定し(ステップS402:NO)、RWM領域を全てクリアして初期値をセットし(図9のステップS21,S22)、RWMクリア指定信号を払出コマンド出力要求バッファにセットし(ステップS24)、タイマ割り込み処理の払出制御管理処理(図12のステップS74)において、RWMクリア指定信号を払出制御装置71に送信する。
払出制御装置71は、フェーズ4がセットされており、主制御装置70からRWMクリア指定信号を受信すると、シリアル通信受信割り込み処理において、受信したRWMクリア指定信号をシリアル通信用バッファに格納し(図25のステップS236)、メインループのコマンド送受信関連処理(図17のステップS223)において、フェーズ4に対応する払出エラーステータス送信チェック処理(図19のステップS311)を実行し、フェーズ5をセットする。そして、次回以降のメインループのコマンド送受信関連処理(図17のステップS223)において、フェーズ5に対応する通常時RWMクリア指定受信時処理(図19のステップS311、図24)を実行し、払出起動指定信号を送信して(図24のステップS363)、フェーズ2をセットする(ステップS364)。さらに、次回以降のメインループのコマンド送受信関連処理(図17のステップS223)において、フェーズ2に対応するRWMクリア指定受信後処理(図19のステップS311、図21)を実行し、RWM領域を全てクリアした後(図21のステップS331)、フェーズ3をセットする(ステップ322)。
主制御装置70は、払出制御装置71からの払出起動指定信号の受信に応じて払出起動確認指定信号を送信し、払出起動確認指定信号を受信した払出制御装置71は、シリアル通信受信割り込み処理において、受信した払出起動確認指定信号をシリアル通信用バッファに格納し(図25のステップS236)、メインループのコマンド送受信関連処理(図17のステップS223)において、フェーズ3に対応する起動関連指定チェック処理2(図19のステップS311、図22)を実行し、払出起動確認指定信号を受信したと判定し(図20のステップS323:YES、図22のステップS341:YES)、フェーズ4をセットして(図20のステップS324、図22のステップS342)、払出許可をセットする(図19のステップS313)。
(起動時に主制御装置70に瞬断及びバックアップエラーが発生した場合の処理)
主制御装置70及び払出制御装置71の起動時(例えば電源投入時)に、払出制御装置71には瞬断が発生せず、主制御装置70のみに瞬断及びバックアップエラーが発生した場合について説明する。起動時の主制御装置70に瞬断が発生するタイミングとして、以下の(1)〜(3)の場合が想定される。(1)主制御装置70が最初の起動に応じてRWMクリア指定信号を送信する前に瞬断が発生する場合。(2)最初の起動に応じた主制御装置70からのRWMクリア指定信号の送信に応じて払出制御装置71が払出起動指定信号を送信し、払出起動指定信号の受信に応じて主制御装置70が払出起動確認指定信号を送信した後に瞬断が発生する場合。(3)主制御装置70がRWMクリア指定信号を送信した後であって払出起動確認指定信号を送信する前に瞬断が発生する場合。なお、以下の説明において、主制御装置70及び払出制御装置71が実際に送信したか否かに拘わらず、最初の起動に応じて主制御装置70が送信するRWMクリア指定信号をRWMクリア指定信号(1回目)、起動後の瞬断に応じて主制御装置70が送信するRWMクリア指定信号をRWMクリア信号(2回目)、RWMクリア指定信号(1回目)の受信に応じて払出制御装置71が送信する払出起動指定信号を払出起動指定信号(1回目)、RWMクリア指定信号(2回目)の受信に応じて払出制御装置71が送信する払出起動指定信号を払出起動指定信号(2回目)、払出起動指定信号(1回目)の受信に応じて主制御装置70が送信する払出起動確認指定信号を払出起動確認指定信号(1回目)、払出起動指定信号(2回目)の受信に応じて主制御装置70が送信する払出起動確認指定信号を払出起動確認指定信号(2回目)と称する。
(1)RWMクリア指定信号(1回目)の送信前に瞬断が発生した場合
主制御装置70は、RWMクリア指定信号(1回目)を送信せず、RWMクリア指定信号(2回目)のみを送信するため、払出起動指定信号(1回目)及び払出起動確認指定信号(1回目)の送受信は行われず、払出起動指定信号(2回目)及び払出起動確認指定信号(2回目)の送受信のみが行われる。従って、払出制御装置71は、起動時の主制御装置70に瞬断が発生しない上記通常の起動時と同様の処理を実行し、払出起動確認指定信号(2回目)の受信に応じてフェーズ4をセットして、払出許可をセットする。
(2)払出起動確認指定信号(1回目)の送信後に瞬断が発生した場合
払出起動確認指定信号(1回目)の送信後に主制御装置70に瞬断が発生するため、払出制御装置71は、払出起動確認指定信号(1回目)の受信に応じたコマンド送受信関連処理を上記通常の起動時と同様に実行する。すなわち、払出制御装置71は、メインループのコマンド送受信関連処理(図17のステップS223)において、フェーズ3に対応する起動関連指定チェック処理2(図19のステップS311、図22)を実行し、払出起動確認指定信号を受信したと判定し(図22のステップS341:YES)、フェーズ4をセットして(ステップS342)、払出許可をセットする(図19のステップS313)。このため、払出制御装置71は、RWMクリア指定信号(2回目)の受信に応じたコマンド送受信関連処理(図17のステップS223)において、フェーズ4に対応する払出エラーステータス送信チェック処理(図19のステップS311)を実行することになる。従って、以降の主制御装置70及び払出制御装置71の処理は、通常時に主制御装置70に瞬断及びバックアップエラーが発生した場合の上記処理と同様となり、払出制御装置71は、払出起動確認指定信号(2回目)の受信に応じてフェーズ4をセットして、払出許可をセットする。
(3)RWMクリア指定信号(1回目)の送信後であって払出起動確認指定信号(1回目)の送信する前に瞬断が発生した場合
RWMクリア指定信号(1回目)を受信した払出制御装置71は、上記通常の起動時と同様に、シリアル通信受信割り込み処理において、受信したRWMクリア指定信号をシリアル通信用バッファに格納し(図25のステップS236)、メインループのコマンド送受信関連処理(図17のステップS223)において、フェーズ1に対応する起動関連指定チェック処理1(図19のステップS311、図20)を実行し、RWMクリア指定信号を受信したと判定して(図20のステップS321:YES)、フェーズ2をセットする(ステップS322)。そして、次回以降のメインループのコマンド送受信関連処理(図17のステップS223)において、フェーズ2に対応するRWMクリア指定受信後処理(図19のステップS311、図21)を実行し、RWM領域を全てクリアした後(図21のステップS331)、フェーズ3をセットする(ステップ322)。
ここで、通常の起動時であれば、主制御装置70は、払出制御装置71からの払出起動指定信号(1回目)の受信に応じて払出指定確認信号(1回目)を送信するが、払出指定確認信号(1回目)の送信前に瞬断が発生しているため、払出指定確認信号(1回目)を送信せずに、RWMクリア指定(2回目)を送信することになる。換言すると、払出制御装置71は、払出指定確認信号(1回目)を受信することなく、RWMクリア指定(2回目)を受信する。なお、払出制御装置71は、フェーズ2に対応するRWMクリア指定受信後処理(図21)を含むタイマ割り込み処理の実行中にRWMクリア指定(2回目)を受信した場合、タイマ割り込み処理への割り込みは禁止されているため、実行中のタイマ割り込み処理の終了後のシリアル通信受信割り込み処理において、受信したRWMクリア指定信号(2回目)をシリアル通信用バッファに格納する(図25のステップS236)。
主制御装置70からRWMクリア指定信号(2回目)を受信した払出制御装置71は、シリアル通信受信割り込み処理において、受信したRWMクリア指定信号(2回目)をシリアル通信用バッファに格納し(図25のステップS236)、メインループのコマンド送受信関連処理(図17のステップS223)において、フェーズ3に対応する起動関連指定チェック処理2(図19のステップS311、図22)を実行し、払出起動確認指定信号を受信せずに(図22のステップS341:NO)、RWMクリア指定信号(2回目)を受信したと判定し(図22のステップS343:YES)、フェーズ5をセットする(図22のステップS344)。そして、次回以降のメインループのコマンド送受信関連処理(図17のステップS223)において、フェーズ5に対応する通常時RWMクリア指定受信時処理(図19のステップS311、図24)を実行し、払出起動指定信号(2回目)を送信して(図24のステップS363)、フェーズ2をセットし(ステップS364)、さらに次回以降のメインループのコマンド送受信関連処理(図17のステップS223)において、フェーズ2に対応するRWMクリア指定受信後処理(図19のステップS311、図21)を実行し、RWM領域を全てクリアした後(図21のステップS331)、フェーズ3をセットする(ステップ322)。
主制御装置70は、払出制御装置71からの払出起動指定信号(2回目)の受信に応じて払出起動確認指定信号(2回目)を送信し、払出起動確認指定信号を受信した払出制御装置71は、シリアル通信受信割り込み処理において、受信した払出起動確認指定信号(2回目)をシリアル通信用バッファに格納し(図25のステップS236)、メインループのコマンド送受信関連処理(図17のステップS223)において、フェーズ3に対応する起動関連指定チェック処理2(図19のステップS311、図22)を実行し、払出起動確認指定信号(2回目)を受信したと判定し(図22のステップS341:YES)、フェーズ4をセットして(図22のステップS342)、払出許可をセットする(図19のステップS313)。
図20及び図22に示すように、RWMクリア指定信号の受信に応じてセットするフェーズ(次回のタイマ割り込み処理で実行する処理)は、起動関連指定チェック処理1(図20)ではフェーズ2(RWMクリア指定受信後処理)であるのに対し、起動関連指定チェック処理2(図22)ではフェーズ5(通常時RWMクリア指定受信時処理)である。このように、起動関連指定チェック処理2においてRWMクリア指定信号の受信に応じてセットするフェーズを起動関連指定チェック処理1と相違させているのは、以下の理由による。
起動関連指定チェック処理2においてRWMクリア指定信号の受信に応じてセットするフェーズを、起動関連指定チェック処理1と同様にフェーズ2に設定すると、払出起動確認指定信号(1回目)を受信することなくRWMクリア指定信号(2回目)を受信した払出制御装置71は、メインループのコマンド送受信関連処理(図17のステップS223)において、フェーズ2に対応するRAMクリア指定受信後処理(図19のステップS311、図21)を実行し、RWM領域を全てクリアした後(図21のステップS331)、フェーズ3をセットする(ステップ322)。そして、次回以降のメインループのコマンド送受信関連処理(図17のステップS223)において、フェーズ3に対応する起動関連指定チェック処理2(図19のステップS311、図22)を実行することなる。すなわち、起動関連指定チェック処理2(フェーズ3)→RAMクリア指定受信後処理(フェーズ2)→起動関連指定チェック処理2(フェーズ3)・・・というように、フェーズ3とフェーズ2とが繰り返されてしまい、フェーズ4に移行させることができない。
このような不都合を解消するため、起動関連指定チェック処理2(図22)では、RWMクリア指定信号の受信に応じてセットするフェーズ(次回のタイマ割り込み処理で実行する処理)をフェーズ5(通常時RWMクリア指定受信時処理)としている。これにより、払出制御装置71からの払出起動指定信号(2回目)の受信に応じて払出起動確認指定信号(2回目)を送信して払出起動確認指定信号(2回目)を受信することができ、フェーズ4をセットして、払出許可をセットすることができる。
なお、RWMクリア指定信号(1回目)の送信後であって払出起動確認指定信号(1回目)の送信前に主制御装置70に瞬断が発生する状態は一例であり、RWMクリア指定信号(1回目)を受信した払出制御装置71が払出起動確認指定信号(1回目)を受信することなくRWMクリア指定信号(2回目)を受信する場合であれば、上記と同様の処理が実行される。
以上説明したように、本実施形態によれば、遊技中において、払出制御装置71が通常の動作を継続したまま、主制御装置70が初期起動時初期設定処理を実行してRAM75を初期化すると、主制御装置70は、RWMクリア指定信号を払出制御装置71に送信する。RWMクリア指定信号を受信した払出制御装置71は、RAM82を初期化する。
従って、遊技中において、払出制御装置71が通常の動作を継続したまま主制御装置70がRAM75を初期化した場合に、払出制御装置71のRAM82を初期化して両者の状態を整合させることができる。
また、主制御装置70の起動時以外にRWMクリアスイッチ69が操作されても、主制御装置70は初期起動時初期設定処理を実行せず、払出制御装置71も初期起動時初期設定処理を実行しない。また、払出制御装置71は、起動時にバックアップエラーが発生したとき、又はRWMクリア指定信号を受信したときに、RAM82をクリアする。従って、RWMクリアスイッチ69の操作及びバックアップエラーによるRAM75,83の初期化を、主制御装置70及び払出制御装置71の少なくとも一方の起動時に限定することができる。
また、払出制御装置71がRWMクリア指定信号(1回目)を受信した後、払出起動確認指定信号(1回目)を受信することなく、RWMクリア指定信号(2回目)を受信した場合、払出制御手段70は、RWMクリア指定信号(2回目)の受信に応じて主制御装置70に払出起動指定信号を送信する。主制御装置70は、払出起動指定信号の受信に応じて払出制御装置71に払出起動確認指定信号を送信するので、払出制御装置71を賞球の払出が可能な状態に確実に設定することができる。
なお、上記実施形態では、2種類の特別図柄を変動する例を説明したが、特別図柄は1種類でもよく、3種類以上であってもよい。また、特別図柄又は普通図柄の一方のみによる当否抽選を実行して大当たり遊技状態を生起してもよい。
以上、本発明者によってなされた発明を適用した実施形態について説明したが、この実施形態による本発明の開示の一部をなす論述及び図面により本発明は限定されることはない。すなわち、この実施形態に基づいて当業者等によりなされる他の実施形態、実施例及び運用技術等は全て本発明の範疇に含まれることは勿論であることを付け加えておく。