本実施例では、パチンコ機にリセットがかかった場合、リセット後の初期処理において、主制御部のCPUがリセットの態様を識別して、特定のリセット態様に適した処理を行うようにした構成を示す。
パチンコ機のリセットの種別には、例えば、電源投入、ないしリセットスイッチの操作により実行されるシステムリセットと、IATリセット、WDTリセットなどのいわゆるユーザリセットがある。
また、本実施例におけるリセットの態様には、RAMクリア処理も含まれる。店員がRAMクリアスイッチを押した状態で遊技台の電源を投入すると、RAMクリア信号が主制御部に入力され、強制的なRAMクリア処理が行われる。
<全体構成>
まず、図1を用いて、本発明の実施例1に係るパチンコ機100の全体構成について説明する。なお、同図はパチンコ機100を正面側(遊技者側)から見た外観斜視図である。
パチンコ機100は、ガラス製または樹脂製の透明板部材152および透明部材保持枠154からなる扉部材156の奥側にガラスを通して視認可能に配設した後述する遊技盤(盤面)102を備えている。
扉部材156の下方には、後述する発射モータ602によって回動する発射杆138と、この発射杆138の先端部に取り付けて球を後述する遊技領域104に向けて打ち出す発射槌140と、この発射槌140によって打ち出す球を後述する外レール106に導くための発射レール142と、球を一時的に貯留すると共に、貯留している球を順次、発射レール142に供給するための貯留皿144と、遊技者による押下操作が可能であり、所定の時期にその操作を検出した場合に後述する装飾図柄表示装置110等による演出表示を変化させるためのチャンスボタン146を配設している。
また、発射杆138および発射槌140の下方には、発射杆138を制御して遊技領域104に向けて球の発射強度の操作を行うための操作ハンドル148を配設していると共に、貯留皿144の下方には、貯留皿144に貯留できない溢れ球を貯留するための下皿150を設けている。
図2は、図1の遊技盤102を正面から見た略示正面図である。
遊技盤102には、外レール106と内レール108とを配設し、遊技球(以下、単に「球」と称する場合がある。)が転動可能な遊技領域104を区画形成している。
遊技領域104の略中央には、演出装置200を配設している。この演出装置200には、略中央に横長の装飾図柄表示装置110を配設し、その周囲に、普通図柄表示装置112と、特別図柄表示装置114と、普通図柄保留ランプ116と、特別図柄保留ランプ118と、高確中ランプ120を配設している。なお、以下、普通図柄を「普図」、特別図柄を「特図」と称する場合がある。
演出装置200は、装飾図柄表示装置110の表示、および不図示の可動部を動作して演出を行うものである。
装飾図柄表示装置110は、装飾図柄(図4(b)参照)ならびに演出に用いる様々な画像を表示するための表示装置であり、本実施例では液晶表示装置(Liquid Crystal Display)によって構成する。この装飾図柄表示装置110は、左図柄表示領域110a、中図柄表示領域110b、右図柄表示領域110cおよび演出表示領域110dの4つの表示領域に分割し、左図柄表示領域110a、中図柄表示領域110bおよび左図柄表示領域110cはそれぞれ異なった装飾図柄を表示し、演出表示領域110dは演出に用いる画像を表示する。さらに、各表示領域110a、110b、110c、110dの位置や大きさは、装飾図柄表示装置110の表示画面内で自由に変更することを可能としている。なお、装飾図柄表示装置110は、液晶表示装置に代えて、ドットマトリクス表示装置、7セグメント表示装置、EL(ElectroLuminescence)表示装置、ドラム式表示装置、リーフ式表示装置等他の表示デバイスを採用してもよい。
普図表示装置112は、普図(図4(c参照)の表示を行うための表示装置であり、本実施例では7セグメントLEDによって構成する。特図表示装置114は、特図(図4(a)参照)の表示を行うための表示装置であり、本実施例では7セグメントLEDによって構成する。
普図保留ランプ116は、保留している普図変動遊技(詳細は後述)の数を示すためのランプであり、本実施例では、普図変動遊技を2つまで保留することを可能としている。特図保留ランプ118は、保留している特図変動遊技(詳細は後述)の数を示すためのランプであり、本実施例では、特図変動遊技を4つまで保留することを可能としている。高確中ランプ120は、遊技状態が高確率状態であること、または高確率状態になることを示すためのランプであり、遊技状態を低確率状態から高確率状態にする場合に点灯し、高確率状態から低確率状態にする場合に消灯する。
また、この演出装置200の周囲には、一般入賞口122と、普図始動口124と、第1特図始動口126と、第2特図始動口128と、可変入賞口130を配設している。
一般入賞口122は、本実施例では遊技盤102に複数配設しており、この一般入賞口122への入球を所定の球検出センサ(図示省略)が検出した場合(一般入賞口122に入賞した場合)、後述する払出装置552を駆動し、所定の個数(本実施例では10個)の球を賞球として後述する貯留皿144に排出する。貯留皿144に排出した球は遊技者が自由に取り出すことが可能であり、これらの構成により、入賞に基づいて賞球を遊技者に払い出すようにしている。なお、一般入賞口122に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。本実施例では、入賞の対価として遊技者に払い出す球を「賞球」、遊技者に貸し出す球を「貸球」と区別して呼ぶ場合があり、「賞球」と「貸球」を総称して「球(遊技球)」と呼ぶ。
普図始動口124は、ゲートやスルーチャッカーと呼ばれる、遊技領域の所定の領域を球が通過したか否かを判定するための装置で構成しており、本実施例では遊技盤102の左側に1つ配設している。普図始動口124を通過した球は一般入賞口122に入球した球と違って、遊技島側に排出することはない。球が普図始動口124を通過したことを所定の玉検出センサが検出した場合、パチンコ機100は、普図表示装置112による普図変動遊技を開始する。
第1特図始動口126は、本実施例では遊技盤102の中央に1つだけ配設している。この第1特図始動口126への入球を所定の球検出センサが検出した場合、後述する払出装置552を駆動し、所定の個数(本実施例では3個)の球を賞球として後述する貯留皿144に排出するとともに、特図表示装置114による特図変動遊技を開始する。なお、第1特図始動口126に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。
第2特図始動口128は、電動チューリップ(電チュー)と呼ばれ、本実施例では第1特図始動口126の真下に1つだけ配設している。この第2特図始動口128は、左右に開閉自在な羽根を備え、羽根の閉鎖中は球の入球が不可能であり、普図変動遊技に当選し、普図表示装置112が当たり図柄を停止表示した場合に羽根が所定の時間間隔、所定の回数で開閉する。第2特図始動口128への入球を所定の球検出センサが検出した場合、後述する払出装置552を駆動し、所定の個数(本実施例では5個)の球を賞球として後述する貯留皿144に排出するとともに、特図表示装置114による特図変動遊技を開始する。なお、第2特図始動口128に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。
可変入賞口130は、大入賞口またはアタッカーと呼ばれ、本実施例では遊技盤102の中央部下方に1つだけ配設している。この可変入賞口130は、開閉自在な扉部材を備え、扉部材の閉鎖中は球の入球が不可能であり、特図変動遊技に当選し、特図表示装置114が大当たり図柄を停止表示した場合に扉部材が所定の時間間隔(例えば、開放時間29秒、閉鎖時間1.5秒)、所定の回数(例えば15回)で開閉する。可変入賞口130への入球を所定の球検出センサが検出した場合、後述する払出装置552を駆動し、所定の個数(本実施例では15球)の球を賞球として後述する貯留皿144に排出する。なお、可変入賞口130に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。
さらに、これらの入賞口や始動口の近傍には、風車と呼ばれる円盤状の打球方向変換部材132や、遊技釘134を複数個、配設していると共に、内レール108の最下部には、いずれの入賞口や始動口にも入賞しなかった球をパチンコ機100の裏側に誘導した後、遊技島側に排出するためのアウト口136を設けている。
このパチンコ機100は、遊技者が貯留皿144に貯留している球を発射レール142の発射位置に供給し、遊技者の操作ハンドル148の操作量に応じた強度で発射モータ602を駆動し、発射杆138および発射槌140によって外レール106、内レール108を通過させて遊技領域104に打ち出す。そして、遊技領域104の上部に到達した球は、打球方向変換部材132や遊技釘134等によって進行方向を変えながら下方に落下し、入賞口(一般入賞口122、可変入賞口130)や始動口(第1特図始動口126、第2特図始動口128)に入賞するか、いずれの入賞口や始動口にも入賞することなく、または普図始動口124を通過するのみでアウト口136に到達する。
<演出装置>
次に、図2に示したパチンコ機100の演出装置200について説明する。
この演出装置200の前面側には、ワープ装置230およびステージを配設し、演出装置200の背面側には、装飾図柄表示装置110を配設している。すなわち、演出装置200において、装飾図柄表示装置110は、ワープ装置230およびステージの後方に位置することとなる。
ワープ装置230は、演出装置200の左上方に設けた入球口232に入った遊技球を演出装置200の前面下方の前面ステージ234に排出し、さらに、前面ステージ234に排出した遊技球が前面ステージ234の中央部後方に設けた第2の入球口236に入った場合は、遊技球を、第1特図始動口126の上方である演出装置200の下部中央に設けた排出口238から第1特図始動口126に向けて排出するものである。この排出口238から排出した遊技球は特図始動口126に入球しやすくなっている。
なお、演出装置200の一部として、装飾図柄表示装置110の表示と連動して動作する可動部材として、例えば装飾図柄表示装置110の表示領域の一部、ないし全部を遮蔽したり、露出させたりする遮蔽手段を設けることもできる。
図3は、本実施例のパチンコ機100を背面側から見た外観斜視図である。
パチンコ機100の背面上部には、上方に開口した開口部を有し、球を一時的に貯留するための球タンク152と、この球タンク152の下方に位置し、球タンク152の底部に形成した連通孔を通過して落下する球を背面右側に位置する払出装置154(後述の払出装置552に対応)に導くためのタンクレール153とを配設している。
払出装置154は、筒状の部材からなり、その内部には、スプロケット157と払出センサ158とを備えている。
スプロケット157は、モータによって回転可能に構成されており、タンクレール153を通過して払出装置154内に落下した球を一時的に滞留させると共に、モータを駆動して所定角度だけ回転することにより、一時的に滞留した球を払出装置154の下方へ1個ずつ送り出すように構成している。
払出センサ158は、スプロケット157が送り出した球の通過を検知するためのセンサであり、球が通過しているときにオンの信号を出力し、球が通過していないときはオフの信号を出力する。なお、この払出センサ158を通過した球は、図示しない球レールを通過してパチンコ機100の表側に配設した貯留皿144に到達するように構成しており、パチンコ機100は、この構成により遊技者に対して球の払い出しを行う。
払出装置154の左側には、後述する主制御部300を構成する主基板161と、後述する副制御部400を構成するサブ基板164とを配設している。
また、これら主基板161やサブ基板164の下方には、後述する発射制御部600を構成する発射基板166を配設している。
また、主基板161およびサブ基板164の下方には、電源管理部650を構成する電源基板162と、後述する払出制御部550を構成する払出基板165、およびこの払出基板165に接続したCRインターフェース部163とを配設している。
電源基板162側面には、操作パネルが設けられており、この操作パネルには、後述する電源スイッチ6501、リセットスイッチ6502、およびRAMクリアスイッチ6503、を配設している。
また、パチンコ機100背面の右上部には、外部集中端子板334aを配設している。この外部集中端子板334aには、後述の情報出力回路334不図示の外部のホールコンピュータ等の外部装置と接続するための信号線を収容する。
<制御部>
次に、図4を用いて、このパチンコ機100の制御部の回路構成について詳細に説明する。なお、同図は制御部の回路ブロック図を示したものである。
パチンコ機100の制御部は、大別すると、遊技の中枢部分を制御する主制御部300と、主制御部300が送信するコマンド信号(以下、単に「コマンド」と呼ぶ)に応じて、主に遊技の演出制御を行う副制御部400と、主制御部300が送信するコマンドに応じて、主に遊技球の払い出しに関する制御を行う払出制御部550と、遊技球の発射制御を行う発射制御部600と、パチンコ機100に供給される電源を制御する電源管理部650によって構成している。
<主制御部>
まず、パチンコ機100の主制御部300について説明する。
主制御部300は、主制御部300の全体を制御する基本回路302を備えており、この基本回路302には、CPU304と、制御プログラムや各種データを記憶するためのROM306と、一時的にデータを記憶するためのRAM308と、各種デバイスの入出力を制御するためのI/O310と、時間や回数等を計測するためのカウンタタイマ312を搭載している。なお、ROM306やRAM308については他の記憶手段を用いてもよく、この点は後述する副制御部400についても同様である。この基本回路302のCPU304は、水晶発信器314が出力する所定周期のクロック信号をシステムクロックとして入力して動作する。
また、基本回路302には、水晶発信器314が出力するクロック信号を受信する度に0〜65535の範囲で数値を変動させるハードウェア乱数カウンタとして使用しているカウンタ回路316(この回路には2つのカウンタを内蔵しているものとする)と、各始動口、入賞口の入り口および可変入賞口の内部に設けた球検出センサを含む各種センサ318が出力する信号を受信し、増幅結果や基準電圧との比較結果をカウンタ回路316および基本回路302に出力するためのセンサ回路320と、特図表示装置114の表示制御を行うための表示回路322と、普図表示装置112の表示制御を行うための表示回路324と、各種状態表示部326(普図保留ランプ116、特図保留ランプ118、高確中ランプ120等)の表示制御を行うための表示回路328と、第2特図始動口128や可変入賞口130等を開閉駆動する各種ソレノイド330を制御するためのソレノイド回路332を接続している。
さらに、基本回路302には、WDT(ウォッチ・ドッグ・タイマ)313を接続している。このWDT313は、後述するように主に主制御部の暴走を検出してWDTリセットを発生するための計時手段として用いるもので、後述する主制御部タイマ割り込み処理において定期的にリスタートする。このリスタートが行われなければ、WDT313に初期設定された時間(例えば32.8ms(本実施例の場合)程度)でWDTリセット信号が発生される。
なお、第1特図始動口126に球が入賞したことを球検出センサ318が検出した場合には、センサ回路320は球を検出したことを示す信号をカウンタ回路316に出力する。この信号を受信したカウンタ回路316は、第1特図始動口126に対応するカウンタのそのタイミングにおける値をラッチし、ラッチした値を、第1特図始動口126に対応する内蔵のカウンタ値記憶用レジスタに記憶する。また、カウンタ回路316は、第2特図始動口128に球が入賞したことを示す信号を受信した場合も同様に、第2特図始動口128に対応するカウンタのそのタイミングにおける値をラッチし、ラッチした値を、第2特図始動口128に対応する内蔵のカウンタ値記憶用レジスタに記憶する。
さらに、基本回路302には、情報出力回路334を接続しており、主制御部300は、この情報出力回路334を介して、外部のホールコンピュータ(図示省略)等が備える情報入力回路652にパチンコ機100の遊技情報(例えば、遊技状態)を出力する。情報出力回路334と、外部の情報入力回路652をインターフェースする信号線は、前述の外部集中端子板334aに収容する。
また、主制御部300には、電源管理部500から主制御部300に供給している電源の電圧値を監視する電圧監視回路336を設けており、この電圧監視回路336は、電源の電圧値が所定の値(本実施例では9v)未満である場合に電圧が低下したことを示す低電圧信号を基本回路302に出力する。
また、主制御部300には、電源が投入されると起動信号(リセット信号)を出力する起動信号出力回路(リセット信号出力回路)338を設けており、CPU304は、この起動信号出力回路338から起動信号を入力した場合に、遊技制御を開始する(後述する主制御部メイン処理を開始する)。
また、主制御部300は、副制御部400にコマンドを送信するための出力インタフェースと、払出制御部550にコマンドを送信するための出力インタフェースをそれぞれ備えており、この構成により、副制御部400および払出制御部550との通信を可能としている。なお、主制御部300と副制御部400および払出制御部550との情報通信は一方向の通信であり、主制御部300は副制御部400および払出制御部550にコマンド等の信号を送信できるように構成しているが、副制御部400および払出制御部550からは主制御部300にコマンド等の信号を送信できないように構成している。
<副制御部>
次に、パチンコ機100の副制御部400について説明する。
副制御部400は、主に主制御部300が送信したコマンド等に基づいて副制御部400の全体を制御する基本回路402を備えており、この基本回路402には、CPU404と、制御プログラムや各種データを記憶するためのROM406と、一時的にデータを記憶するためのRAM408と、各種デバイスの入出力を制御するためのI/O410と、時間や回数等を計測するためのカウンタタイマ412を搭載している。この基本回路402のCPU404は、水晶発信器414が出力する所定周期のクロック信号をシステムクロックとして入力して動作する。
また、基本回路402には、スピーカ416(およびアンプ)の制御を行うための音源IC418と、各種ランプ420の制御を行うための表示回路422と、演出装置200の演出用可動体等を駆動する駆動装置であるソレノイドまたはモータ等が含まれる各種演出用駆動装置424の制御を行うための演出用駆動装置制御回路426と、装飾図柄表示装置(液晶表示装置)110の制御を行うための副制御部500と、チャンスボタン146の押下を検出して信号を出力するチャンスボタン検出回路380を接続している。
<払出制御部、発射制御部、電源管理部>
次に、パチンコ機100の払出制御部550、発射制御部600、電源管理部650について説明する。
払出制御部550は、主に主制御部300が送信したコマンド等の信号に基づいて払出装置552を制御すると共に、払出センサ554が出力する制御信号に基づいて賞球または貸球の払い出しが完了したか否かを検出すると共に、インタフェース部556を介して、パチンコ機100とは別体で設けられたカードユニット654との通信を行う。
発射制御部600は、払出制御部550が出力する、発射許可または停止を指示する制御信号や、操作ハンドル148内に設けた発射強度出力回路が出力する、遊技者による発射ハンドル148の操作量に応じた発射強度を指示する制御信号に基づいて、発射杆138および発射槌140を駆動する発射モータ602の制御や、貯留皿144から発射レール142に球を供給する球送り装置604の制御を行う。
電源管理部650は、パチンコ機100に外部から供給される交流電源を直流化し、所定の電圧に変換して主制御部300、副制御部400等の各制御部や払出装置552等の各装置に供給する。さらに、電源管理部650は、外部からの電源が断たれた後も所定の部品(例えば主制御部300のRAM308等)に所定の期間(例えば10日間)電源を供給するための蓄電回路(例えばコンデンサ)を備えている。なお、本実施例では、電源管理部650の蓄電回路によりバックアップされる主制御部300のRAM308の記憶領域をバックアップ記憶領域と称する。
また、電源管理部650は、図3に示した電源スイッチ6501、リセットスイッチ6502、およびRAMクリアスイッチ6503の操作状態を検出することができ、主制御部300のCPU304はこれら各スイッチ6501〜6503の操作状態を各スイッチに対応した電源スイッチ信号、リセットスイッチ信号、およびRAMクリアスイッチ信号などの検出信号を介して検出することができるものとする。
<パチンコ機の制御、およびリセット処理の取り扱い>
次に上記構成におけるパチンコ機の制御について説明するとともに、本実施例におけるリセット処理の取り扱いにつき説明する。
パチンコ機の主制御部300のCPU304を含む基本回路302は、通常、1チップの遊技機用マイコンとして構成されることが多く、この種の遊技機用マイコンでは、電源投入、ないしリセットスイッチの操作により実行されるシステムリセットと、IATリセット、WDTリセットなどのいわゆるユーザリセット、のように複数のリセット種別が用意される。また、店員がRAMクリアスイッチを押した状態で遊技台の電源を投入すると、RAMクリア信号が主制御部に入力され、これにより行われる強制的なRAMクリア処理もリセット処理の一態様として考えることもできる。
本実施例では、パチンコ機にリセットがかかった場合、リセット後の初期処理において、主制御部のCPUがリセットの種別を識別して、特定のリセット種別に適した処理を各々行うものとする。
リセット種別を判定する手法は任意であるが、本実施例では、主制御部300の基本回路302のCPU304の特定の制御レジスタに、直前にかかったリセットのリセット種別(システムリセット、ユーザリセット(IATリセット、WDTリセット)など)を示す値が格納されるよう構成されているものとする。主制御部300の基本回路302を構成する遊技機用マイコンに上記のようなリセット種別判別機能が実装されていればその機能を用いればよいが、もし使用する遊技機用マイコンに上記のようなリセット種別判別機能が実装されていなければ、リセット種別判別それ自体には例えば前述の特許文献1に記載されているような手法を用いたり、あるいは、特定のリセット信号線の状態を記憶する外部回路(フリップフロップなど)の支援を借りてCPUがリセット種別を判別するような構成を用いてもよい。
ここで、遊技機用マイコンに特有のIAT(Illegal Address Trap)リセット、およびWDTリセットにつき説明する。
IAT(Illegal Address Trap)リセットは、指定エリア外走行禁止機能として遊技機用マイコンに実装される。すなわち、この機能は、遊技機メーカーが作成したユーザプログラムのみを実行する、つまり、所定の指定アドレスエリア内のみで遊技制御プログラムを実行するように設けられたもので、例えば違法なROMなどを用いてメモリの指定エリア外に配置した命令コードを不正実行しようとした場合にIATリセットが発生する。
例えばメモリ空間全体を64kバイトとした場合、指定エリア(ユーザプログラム実行可能なアドレス範囲)の設定において、その範囲の先頭アドレスをプログラムコードスタートアドレス(以下PCS)として0番地、終了アドレスをプログラムコードエンドアドレス(以下PCE)として1FFF(16進)番地とした場合、例えば2000(16進)〜FFFF(16進)番地の範囲に格納した不正プログラムの実行が禁止され、そのようなアドレッシングが起きた場合に直ちにIATリセットがかかる。このようにIATリセットは不正実行禁止手段として設けられた指定エリア外での命令実行を禁止する機能であり、あらかじめ指定したアドレス範囲(指定エリア)外で命令が実行(オペコードフェッチ)されると、IAT(Illegal Address Trap)信号を発生する。このIAT信号によりリセットが発生する。この実行を許可する指定エリアの情報は、ユーザプログラムと共にユーザ用ROM(ROM306)に書き込んでおく。
本実施例においては、リセット後の初期化処理において、発生したリセット種別を判定し、リセット種別に適した処理を行うが、IATリセットと判定した場合は、RAMクリアを行う。これにより、IATリセットの場合は、サスペンドフラグの確認処理やRAMのチェックサムを算出及び判定する処理を改めて行わなくて済み、無駄な制御処理工程を削減することができる。すなわち、本実施例では、IATリセットの場合には必ずRAMクリアを行うが、IATリセット以外のリセットの場合には、必ずしもRAMクリアは行わない。
また、システムリセットと判定した場合には、例えば即ち、店員がRAMクリアスイッチ6503を操作しながら電源投入を行い、これによりRAMクリアスイッチ信号が出力されていたとき、RAMクリアを行う。また、サスペンドフラグがオフ又は異常であるとき、又はチェックサムの値が特定値(例えば、0)ではないときにRAMクリアを行う。
さらに、IATリセットやシステムリセットではないと判定したときは、WDTリセットを含むその他のリセットと判定し、サスペンドフラグの確認処理やRAMのチェックサムを算出及び判定する処理を行う。なお、本実施例では、WDTリセットは、CPU(304)の処理が暴走して発生する場合の他、瞬間停電(瞬断)などによって瞬間的に電圧が低下した際に低電圧信号がオンしたと判定して電断時処理後にループ処理をしているときに発生する場合もある。
以下、図5および図6を参照して、主制御部のメイン処理と、タイマ割り込み処理を説明しつつ、本実施例におけるリセット種別に応じてリセット種別に適した処理を実行する例を具体的に説明する。
<主制御部メイン処理>
まず、図5を用いて、主制御部300のCPU304が実行する主制御部メイン処理について説明する。なお、同図は主制御部メイン処理の流れを示すフローチャートである。
上述したように、主制御部300には、電源が投入されると起動信号(リセット信号)を出力する起動信号出力回路(リセット信号出力回路)338を設けている。この起動信号を入力した基本回路302のCPU304は、リセット割り込みによりリセットスタートしてROM306に予め記憶している制御プログラムに従って処理を実行する。
ステップS101では、初期設定1を行う。この初期設定1では、CPU304のスタックポインタ(SP)へのスタック初期値の設定、割り込みマスクの設定、I/Oポート310の初期設定、RAM308に記憶する各種変数の初期設定、WDT313への動作許可及び初期値の設定等を行う。なお、本実施例では、WDT313に、初期値として32.8msに相当する数値を設定する。
ステップS102では、WDT313のカウンタの値をクリアし、WDT313による時間計測を再始動する。
ステップS103では、低電圧信号がオンであるか否か、すなわち、電圧監視回路336が、電源管理部650から主制御部300に供給している電源の電圧値が所定の値(本実施例では9v)未満である場合に電圧が低下したことを示す低電圧信号を出力しているか否かを監視する。そして、低電圧信号がオンの場合(CPU304が電源の遮断を検知した場合)にはステップS102に戻り、低電圧信号がオフの場合(CPU304が電源の遮断を検知していない場合)にはステップS104に進む。
ステップS104では、初期設定2を行う。この初期設定2では、後述する主制御部タイマ割り込み処理を定期毎に実行するための周期を決める数値をカウンタ・タイマ312に設定する処理、I/O310の所定のポート(例えば試験用出力ポート、副制御部400への出力ポート)からクリア信号を出力する処理、RAM308への書き込みを許可する設定等を行う。
また、ステップS104においては、発生したリセットの種別に関する情報を取得する。例えば、主制御部300の基本回路302のCPU304の特定の制御レジスタに、直前にかかったリセットのリセット種別(システムリセット、ユーザリセット(IATリセット、WDTリセット)など)を示す値が格納されるよう構成されているものとすれば、この制御レジスタの値を取り出せばよい。
また、取得したリセット種別に関する情報は、システムログ情報として記録するとよい。例えば、このようなログ情報は電源管理部650の蓄電回路によりバックアップされる主制御部300のRAM308のバックアップ記憶領域に累積的に格納する。このようなシステムログ情報を適当な手段により読み出して解析することによって、当該の遊技台の過去のリセット履歴を知ることができ、保守作業に役立てることこができる。
さらに、ステップS104において、取得したリセット種別に関する情報は、外部出力手段としての情報出力回路334、および外部集中端子板334aを介して不図示の外部のホールコンピュータ等の外部装置に出力するように構成してもよい。
また、外部のホールコンピュータ等の外部装置に出力するリセット種別に関する情報は、直前のものだけではなく、システムログ情報としてRAM308のバックアップ記憶領域に蓄積した過去のリセット種別情報であってよい。もちろん、このとき、リセット種別情報以外の情報がシステムログ情報として蓄積されている場合には、それらの情報も含めたシステムログ情報を外部装置に出力するようにしてもよい。
また、ステップS104において、取得したリセット種別に関する情報に応じた報知情報を表示するようにしてもよい。この報知表示は、例えば、普図表示装置112や特図表示装置114などを用いて特定の表示パターン(文字や図形)を表示することにより行なうことができる。なお、主制御部300側のみでこの報知表示を行う場合には普図表示装置112や特図表示装置114を用いることになるが、この段階で副制御部400、500を動作させることができる場合には、副制御部400に所定のコマンドを送信し、副制御部400、500を介して装飾図柄表示装置110を用いて装飾図柄表示装置110を用いてリセット種別に関する情報を表示するようにしてもよい。通常、装飾図柄表示装置110には表示面積の大きなLCDなどの表示素子を用いるため、より詳細に取得したリセット種別に関する情報の報知を行うことができる。また、もちろん、取得したリセット種別に関する情報の報知には専用の表示器を設けてもよい。
ここで、上記のような各表示手段を用いて取得したリセット種別に関する情報を報知する場合、遊技者による遊技開始後も継続して報知する、すなわち、リセット種別に関する表示情報を遊技開始後もそのまま表示させておくと好適である。これにより、遊技中であっても店員や保守要員は取得したリセット種別に関する情報表示を確認でき、パチンコ機の直前のリセット種別に関する情報表示を介して動作状態を確実に把握することができる。
さらに、ステップS104で、取得したリセット種別に関する情報に基づき、発生したリセットの回数を種別ごとにカウントするようにしてもよい。例えば、RAM308のバックアップ記憶領域にシステムログ情報として、発生したリセットの回数を種別ごとに累積的にカウントするカウンタ情報を記録したり、あるいは、可能であればCPU304に発生したリセットの回数を種別ごとに累積的にカウントするカウンタを含む制御レジスタを設けてもよい。
このように発生したリセットの回数を種別ごとに累積的にカウントするカウンタを設けておけば、特定のリセット、例えばゴト行為のような不正遊技の可能性が高いIATリセットや、WDTリセットのような種別のリセット発生回数が所定値を超えた場合に上述のような報知手段を用いて、その旨を警告する報知表示を行うことができる。この時、リセット発生回数を具体的に数値で表示してもよい。また、同様の報知情報は情報出力回路334、および外部集中端子板334aを介して不図示の外部のホールコンピュータ等の外部装置に出力することもできる。
上記のように、取得したリセット種別に関する情報、あるいはシステムログ情報として累積的に記憶したリセット種別に関する情報を外部のホールコンピュータなどに出力する構成によれば、ホールコンピュータなどを介して不正な手段によって発生させられたリセットを早期に、また、遠隔的に発見することができる。
さらに、発生したリセットの回数を種別ごとに累積的にカウントするカウンタを設けておけば、特定のリセット、例えばゴト行為のような不正遊技の可能性が高いIATリセットや、WDTリセットのような種別のリセット発生回数が所定値を超えた場合に遊技台を不能動化する制御を行うこともできる。この遊技台の不能動化の手法としては、上記のような特定リセットの検出に応じて、このステップS104から後述のステップS220(図6、あるいは図7においてはステップS123)のような電源遮断処理に移行したり、あるいは発射モータ602をディスエーブルするような処理が考えられる。
ステップS105、およびステップS106では、取得した発生したリセットの種別を判定する。ステップS105では発生したリセットがIATリセットであるか否かを、ステップS106では発生したリセットがシステムリセットであるか否かを判定する。また、ステップS107では、特にシステムリセットの場合において、RAMクリアスイッチ信号がオンであるか否かを判定する。
まず、ステップS105で発生したリセットがIATリセットであると判定すると、直ちに後述のステップS110の初期化処理に進む。IATリセットが発生した場合は、指定エリア外走行が発生したことを示しており、この場合、RAMクリア処理を含むステップS110の初期化処理を行うことができる。
ステップS105で発生したリセットがIATリセットではない場合、ステップS106で発生したリセットがシステムリセットであるか否かを判定し、ここでシステムリセットが発生したと判定した場合はステップS107に移行するが、システムリセットではない、例えばWDTリセットを含むユーザリセットが発生した場合にはステップS108に移行する。
そして、ステップS106でシステムリセットが検出されている場合はステップS107においてRAMクリアスイッチ信号がオンであるか否かを判定し、RAMクリアスイッチ信号がオンの場合、RAMクリア処理を含むステップS110の初期化処理に進む。
このステップS105〜S107の判定は、大きく分けると、電源の遮断前(電断前)の状態に復帰するか否かの判定と考えることができ、電断前の状態に復帰しない場合(主制御部300の基本回路302を初期状態にする場合)にはステップS110に進み、同様に電源ステータスの情報が「サスペンド」以外の情報を示している場合にもステップS110に進み、それ以外の場合にステップS109の復電時処理に進むものである。
具体的には、特にステップS107において、最初に、電源基板に設けた操作部を遊技店の店員などが操作した場合に送信されるRAMクリア信号がオン(操作があったことを示す)であるか否か、すなわちRAMクリアが必要であるか否かを判定し、RAMクリア信号がオンの場合(RAMクリアが必要な場合)には、基本回路302を初期状態にすべくステップS110に進む。
一方、ステップS107においてRAMクリア信号がオフの場合(RAMクリアが必要でない場合)は、ステップS108に進む。
ステップS108では、電源ステータスの情報がサスペンドを示す情報(例えばサスペンドフラグがオンになっている)であり、かつ、RAM308の所定の領域(例えば全ての領域)のチェックサムの結果が特定値であるか否かを判定する。ここでは、まず、RAM308に設けた電源ステータス記憶領域に記憶した電源ステータスの情報を読み出し、この電源ステータスの情報がサスペンドを示す情報であるか否かを判定する。そして、電源ステータスの情報がサスペンドを示す情報でない場合には、基本回路302を初期状態にすべくステップS110に進む。さらに、ステップS108においては、電源ステータスの情報がサスペンドを示す情報である場合には、RAM308の所定の領域(例えば全ての領域)に記憶している1バイトデータを初期値が0である1バイト構成のレジスタに全て加算することによりチェックサムを算出し、算出したチェックサムの結果が特定の値(例えば0)であるか否か(チェックサムの結果が正常であるか否か)を判定する。そして、チェックサムの結果が特定の値(例えば0)の場合(チェックサムの結果が正常である場合)には電断前の状態に復帰すべくステップS109に進み、チェックサムの結果が特定の値(例えば0)以外である場合(チェックサムの結果が異常である場合)には、パチンコ機100を初期状態にすべくステップS110に進む。同様に電源ステータスの情報が「サスペンド」以外の情報を示している場合にもステップS110に進む。
ステップS109では、復電時処理を行う。この復電時処理では、電断時にRAM308に設けられたスタックポインタ退避領域に記憶しておいたスタックポインタを読み出し、スタックポインタに再設定する。また、電断時にRAM308に設けられたレジスタ退避領域に記憶しておいた各レジスタの値を読み出し、各レジスタに再設定した後、割り込み許可の設定を行う。以降、CPU304が、再設定後のスタックポインタやレジスタに基づいて制御プログラムを実行する結果、パチンコ機100は電源断時の状態に復帰する。すなわち、電断直前にタイマ割り込み処理(後述)に分岐する直前に行った(ステップS111、ステップS112内の所定の)命令の次の命令から処理を再開する。
ステップS110では、初期化処理を行う。この初期化処理では、割り込み禁止の設定、スタックポインタへのスタック初期値の設定、RAM308の全ての記憶領域の初期化などを行う。
ステップS111では、割り込み禁止の設定を行った後、基本乱数初期値更新処理を行う。この基本乱数初期値更新処理では、普図当選乱数カウンタ、および特図乱数値カウンタの初期値をそれぞれ生成するための2つの初期値生成用乱数カウンタと、普図タイマ乱数値、特図タイマ乱数値をそれぞれ生成するための2つの乱数カウンタを更新する。例えば、普図タイマ乱数値として取り得る数値範囲が0〜20とすると、RAM308に設けた普図タイマ乱数値を生成するための乱数カウンタ記憶領域から値を取得し、取得した値に1を加算してから元の乱数カウンタ記憶領域に記憶する。このとき、取得した値に1を加算した結果が21であれば0を元の乱数カウンタ記憶領域に記憶する。他の初期値生成用乱数カウンタ、乱数カウンタもそれぞれ同様に更新する。また、この基本乱数初期値更新処理の終了後に割り込み許可の設定を行ってステップS112に進む。
ステップS112では、演出乱数更新処理を行う。この演出乱数更新処理では、主制御部300で使用する演出用乱数値を生成するための乱数カウンタを更新する。
主制御部300は、所定の周期ごとに開始するタイマ割り込み処理を行っている間を除いて、ステップS111およびS112の処理を繰り返し実行する。
<主制御部タイマ割り込み処理>
次に、図6を用いて、主制御部300のCPU304が実行する主制御部タイマ割り込み処理について説明する。なお、同図は主制御部タイマ割り込み処理の流れを示すフローチャートである。
主制御部300は、所定の周期(本実施例では約2msに1回)でタイマ割り込み信号を発生するカウンタ・タイマ312を備えており、このタイマ割り込み信号を契機として主制御部タイマ割り込み処理を所定の周期で開始する。
ステップS201では、タイマ割り込みスタート処理を行う。このタイマ割り込みスタート処理では、CPU304の各レジスタの値をスタック領域に一時的に退避する処理などを行う。
ステップS202では、WDT313のカウント値が初期設定値(本実施例では32.8ms)を超えてWDT割り込みが発生しないように(処理の異常を検出しないように)、WDT313を定期的に(本実施例では、主制御部タイマ割り込みの周期である約2msに1回)リスタートを行う。CPU304の制御プログラムが暴走していなければ図6の主制御部タイマ割り込み処理によりWDT313が定期的にリスタートされることになる。
ステップS203では、入力ポート状態更新処理を行う。この入力ポート状態更新処理では、I/O310の入力ポートを介して、上述のガラス枠開放センサ、前枠開放センサ、下皿満タンセンサ、複数の球検出センサを含む各種センサ318の検出信号を入力して検出信号の有無を監視し、RAM308に各種センサ318ごとに区画して設けた信号状態記憶領域に記憶する。本実施例では、前々回のタイマ割り込み処理(約4ms前)で検出した各々の球検出センサの検出信号の有無の情報を、RAM308に各々の球検出センサごとに区画して設けた前回検出信号記憶領域から読み出し、この情報をRAM308に各々の球検出センサごとに区画して設けた前々回検出信号記憶領域に記憶し、前回のタイマ割り込み処理(約2ms前)で検出した各々の球検出センサの検出信号の有無の情報を、RAM308に各々の球検出センサごとに区画して設けた今回検出信号記憶領域から読み出し、この情報を上述の前回検出信号記憶領域に記憶する。また、今回検出した各々の球検出センサの検出信号を、上述の今回検出信号記憶領域に記憶する。
また、ステップS203では、上述の前々回検出信号記憶領域、前回検出信号記憶領域、および今回検出信号記領域の各記憶領域に記憶した各々の球検出センサの検出信号の有無の情報を比較し、各々の球検出センサにおける過去3回分の検出信号の有無の情報が一致するか否かを判定する。そして、各々の球検出センサにおいて過去3回分の検出信号の有無の情報が、予め定めた入賞判定パターン情報(本実施例では、前々回検出信号無し、前回検出信号有り、今回検出信号有りであることを示す情報)と一致した場合に、入賞口(一般入賞口122、可変入賞口130)や始動口(第1特図始動口126、第2特図始動口128)への入球、または普図始動口124の通過があったと判定する。例えば、一般入賞口122への入球を検出する球検出センサにおいて過去3回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致した場合には、一般入賞口122へ入球したと判定し、以降の一般入賞口122への入球に伴う処理を行うが、過去3回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致しなかった場合には、以降の一般入賞口122への入球に伴う処理を行わずに後続の処理に分岐する。
ステップS204では、基本乱数初期値更新処理を行う。この基本乱数初期値更新処理では、上記ステップS110で行った初期値生成用乱数カウンタの値の更新を行い、次に主制御部300で使用する普図当選乱数値および特図乱数値をそれぞれ生成するための2つの乱数カウンタを更新する。例えば、普図当選乱数値として取り得る数値範囲が0〜100とすると、RAM308に設けた普図当選乱数値を生成するための乱数カウンタ記憶領域から値を取得し、取得した値に1を加算してから元の乱数カウンタ記憶領域に記憶する。このとき、取得した値に1を加算した結果が101であれば0を元の乱数カウンタ記憶領域に記憶する。また、取得した値に1を加算した結果、乱数カウンタが一周していると判定した場合にはそれぞれの乱数カウンタに対応する初期値生成用乱数カウンタの値を取得し、乱数カウンタの記憶領域にセットする。例えば、0〜100の数値範囲で変動する普図当選乱数値生成用の乱数カウンタから値を取得し、取得した値に1を加算した結果が、RAM308に設けた所定の初期値記憶領域に記憶している前回設定した初期値と等しい値(例えば7)である場合に、普図当選乱数値生成用の乱数カウンタに対応する初期値生成用乱数カウンタから値を初期値として取得し、普図当選乱数値生成用の乱数カウンタにセットすると共に、普図当選乱数値生成用の乱数カウンタが次に1周したことを判定するために、今回設定した初期値を上述の初期値記憶領域に記憶しておく。なお、普図当選乱数値生成用の乱数カウンタが次に1周したことを判定するための上述の初期値記憶領域とは別に、特図乱数生成用の乱数カウンタが1周したことを判定するための初期値記憶領域をRAM308に設けている。
ステップS207では、タイマ更新処理を行う。詳細は後述するが、このタイマ更新処理では、普通図柄表示装置112に図柄を変動・停止表示する時間を計時するための普図表示図柄更新タイマ、特別図柄表示装置114に図柄を変動・停止表示する時間を計時するための特図表示図柄更新タイマ、所定の入賞演出時間、所定の開放時間、所定の閉鎖時間、所定の終了演出期間などを計時するためのタイマなどを含む各種タイマを更新する。
ステップS208では、入賞口カウンタ更新処理を行う。この入賞口カウンタ更新処理では、入賞口(一般入賞口122、第1、第2特図始動口126、128、および可変入賞口130)に入賞(入球)があった場合に、RAM308に各入賞口ごとに設けた賞球数記憶領域の値を読み出し、1を加算して、元の賞球数記憶領域に設定する。
また、ステップS209では、入賞受付処理を行う。この入賞受付処理では、第1、第2特図始動口126、128に入賞があり、且つ、保留している特図変動遊技の数が4未満である場合には、入賞した始動口に対応するカウンタ回路316のカウンタ値記憶用レジスタから値を特図当選乱数値として取得する。また、上述の特図乱数値生成用の乱数カウンタから値を特図乱数値として取得し、RAM308に設けた乱数値記憶領域に特図当選乱数値と共に記憶する。また、普図始動口124を球が通過したことを検出し、且つ、保留している普図変動遊技の数が2未満の場合には、そのタイミングにおける普図当選乱数値生成用の乱数カウンタの値を普図当選乱数値として取得し、RAM308に設けた上述の特図用とは別の乱数値記憶領域に記憶する。また、この入賞受付処理では、所定の球検出センサにより第1、第2特図始動口126、128、普図始動口124、または可変入賞口の入賞(入球)を検出した場合に、副制御部400に送信すべき送信情報に、第1、第2特図始動口126、128、普図始動口124、および可変入賞口の入賞(入球)の有無を示す入賞受付情報を設定する。
ステップS210では、払出要求数送信処理を行う。なお、払出制御部550に出力する出力予定情報および払出要求情報は1バイトで構成しており、ビット7にストローブ情報(オンの場合、データをセットしていることを示す)、ビット6に電源投入情報(オンの場合、電源投入後一回目のコマンド送信であることを示す)、ビット4〜5に今回加工種別(0〜3)、およびビット0〜3に加工後の払出要求数を示すようにしている。
ステップS211では、普図状態更新処理を行う。この普図状態更新処理は、普図の状態に対応する複数の処理のうちの1つの処理を行う。例えば、普図変動中(後述する普図汎用タイマの値が1以上)における普図状態更新処理では、普図表示装置112を構成する7セグメントLEDの点灯と消灯を繰り返す点灯・消灯駆動制御を行う。
また、普図変動表示時間が経過したタイミング(普図表示図柄更新タイマの値が1から0になったタイミング)における普図状態更新処理では、当りフラグがオンの場合には、当りを示す普図1の態様(例えば「F」)となるように普図表示装置112を構成する7セグメントLEDの点灯・消灯駆動制御を行い、当りフラグがオフの場合には、外れを示す普図2の態様(例えば「−」)となるように普図表示装置112を構成する7セグメントLEDの点灯・消灯駆動制御を行うと共に、その後、所定の停止表示期間(例えば500m秒間)その表示を維持するためにRAM308に設けた普図停止時間管理用タイマの記憶領域に停止期間を示す情報を設定する。この設定により普図の停止表示を行い、普図変動遊技の結果を遊技者に報知するようにしている。
また、所定の停止表示期間が終了したタイミング(普図停止時間管理用タイマの値が1から0になったタイミング)で開始する普図状態更新処理では、当りフラグがオンの場合には、所定の開放期間(例えば2秒間)、第2特図始動口128の羽根部材の開閉駆動用のソレノイド330に、羽根部材を開放状態に保持する信号を出力するとともに、RAM308に設けた羽根開放時間管理用タイマの記憶領域に開放期間を示す情報を設定する。
また、所定の開放期間が終了したタイミング(羽根開放時間管理用タイマの値が1から0になったタイミング)で開始する普図状態更新処理では、所定の閉鎖期間(例えば500m秒間)、羽根部材の開閉駆動用のソレノイド330に、羽根部材を閉鎖状態に保持する信号を出力するとともに、RAM308に設けた羽根閉鎖時間管理用タイマの記憶領域に閉鎖期間を示す情報を設定する。
また、所定の閉鎖期間を経過したタイミング(羽根閉鎖時間管理用タイマの値が1から0になったタイミング)で開始する普図状態更新処理では、普図の状態を非作動中に設定する。普図の状態が非作動中の場合における普図状態更新処理では、何もせずに次のステップS212に移行するようにしている。
ステップS212では、普図関連抽選処理を行う。この普図関連抽選処理では、普図変動遊技および第2特図始動口128の開閉制御を行っておらず(普図の状態が非作動中)、且つ、保留している普図変動遊技の数が1以上である場合に、上述の乱数値記憶領域に記憶している普図当選乱数値に基づいた乱数抽選により普図変動遊技の結果を当選とするか、不当選とするかを決定する当り判定を行い、当選とする場合にはRAM308に設けた当りフラグにオンを設定する。不当選の場合には、当りフラグにオフを設定する。また、当り判定の結果に関わらず、次に上述の普図タイマ乱数値生成用の乱数カウンタの値を普図タイマ乱数値として取得し、取得した普図タイマ乱数値に基づいて複数の変動時間のうちから普図表示装置112に普図を変動表示する時間を1つ選択し、この変動表示時間を、普図変動表示時間として、RAM308に設けた普図変動時間記憶領域に記憶する。なお、保留している普図変動遊技の数は、RAM308に設けた普図保留数記憶領域に記憶するようにしており、当り判定をするたびに、保留している普図変動遊技の数から1を減算した値を、この普図保留数記憶領域に記憶し直すようにしている。また当り判定に使用した乱数値を消去する。
ステップS213では、特図状態更新処理を行う。この特図状態更新処理は、特図の状態に応じて、次の8つの処理のうちの1つの処理を行う。例えば、特図変動中(後述する特図汎用タイマの値が1以上)における特図状態更新処理では、特図表示装置112を構成する7セグメントLEDの点灯と消灯を繰り返す点灯・消灯駆動制御を行う。
また、特図変動表示時間が経過したタイミング(特図表示図柄更新タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、大当たりフラグがオンで確変フラグがオフの場合には特図表示装置114に特図1、大当たりフラグがオンで確変フラグがオンの場合には特図表示装置114に特図2、大当たりフラグがオフの場合には、特図3の態様となるように特図表示装置112を構成する7セグメントLEDの点灯・消灯駆動制御を行う。特図1、特図2、特図3は、例えば、特図表示装置112を構成する7セグメントLEDの2つのセグメントを用いてそれぞれ向きの異なるカギ型を表示することなどにより表現する。その後、所定の停止表示期間(例えば500m秒間)その表示を維持するためにRAM308に設けた特図停止時間管理用タイマの記憶領域に停止期間を示す情報を設定する。この設定により特図の停止表示をおこない、特図変動遊技の結果を遊技者に報知するようにしている。また、コマンド設定送信処理(ステップS215)で一般コマンド回転停止設定送信処理を実行させるために上述の送信情報記憶領域に02Hを送信情報(一般情報)として追加記憶する。
また、所定の停止表示期間が終了したタイミング(特図停止時間管理用タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、大当たりフラグがオンの場合には、所定の入賞演出期間(例えば3秒間)すなわち装飾図柄表示装置110による大当たりを開始することを遊技者に報知する画像を表示している期間待機するためにRAM308に設けた特図待機時間管理用タイマの記憶領域に入賞演出期間を示す情報を設定する。また、コマンド設定送信処理(ステップS215)で一般コマンド入賞演出設定送信処理を実行させるために上述の送信情報記憶領域に04Hを送信情報(一般情報)として追加記憶する。
また、所定の入賞演出期間が終了したタイミング(特図待機時間管理用タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、所定の開放期間(例えば29秒間、または可変入賞口130に所定球数(例えば10球)の遊技球の入賞を検出するまで)可変入賞口130の扉部材の開閉駆動用のソレノイド330に、扉部材を開放状態に保持する信号を出力するとともに、RAM308に設けた扉開放時間管理用タイマの記憶領域に開放期間を示す情報を設定する。また、コマンド設定送信処理(ステップS215)で一般コマンド大入賞口開放設定送信処理を実行させるために上述の送信情報記憶領域に10Hを送信情報(一般情報)として追加記憶する。
また、所定の開放期間が終了したタイミング(扉開放時間管理用タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、所定の閉鎖期間(例えば1.5秒間)可変入賞口130の扉部材の開閉駆動用のソレノイド330に、扉部材を閉鎖状態に保持する信号を出力するとともに、RAM308に設けた扉閉鎖時間管理用タイマの記憶領域に閉鎖期間を示す情報を設定する。また、コマンド設定送信処理(ステップS215)で一般コマンド大入賞口閉鎖設定送信処理を実行させるために上述の送信情報記憶領域に20Hを送信情報(一般情報)として追加記憶する。
また、この扉部材の開放・閉鎖制御を所定回数(例えば15ラウンド)繰り返し、終了したタイミングで開始する特図状態更新処理では、所定の終了演出期間(例えば3秒間)すなわち装飾図柄表示装置110による大当たりを終了することを遊技者に報知する画像を表示している期間待機するように設定するためにRAM308に設けた演出待機時間管理用タイマの記憶領域に演出待機期間を示す情報を設定する。また、コマンド設定送信処理(ステップS215)で一般コマンド終了演出設定送信処理を実行させるために上述の送信情報記憶領域に08Hを送信情報(一般情報)として追加記憶する。
また、所定の終了演出期間が終了したタイミング(演出待機時間管理用タイマの値が1から0になったタイミング)で開始する特図状態更新処理では、特図の状態を非作動中に設定する。特図の状態が非作動中の場合における特図状態更新処理では、何もせずに次のステップS214に移行するようにしている。
ステップS214では、特図関連抽選処理を行う。この特図関連抽選処理では、特図変動遊技および可変入賞口130の開閉制御を行っておらず(特図の状態が非作動中)、且つ、保留している特図変動遊技の数が1以上である場合に、ROM306に格納した大当たり判定テーブル、高確率状態移行判定テーブル、タイマ番号決定テーブルなどを使用した各種抽選のうち、最初に大当たり判定を行う。具体的には、ステップS203で乱数値記憶領域に記憶した特図当選乱数値が、大当たり判定テーブルの第1特図始動口用抽選データの数値範囲であるか否かを判定し、特図当選乱数値が第1特図始動口用抽選データの数値範囲である場合には、特図変動遊技の当選と判定してRAM308に設けた大当たりフラグの格納領域に大当たりとなることを示す情報を設定する(ここで、大当たりの情報をRAM308に設定することを大当たりフラグをオンに設定するという)。一方、特図当選乱数値が第1特図始動口用抽選データの数値範囲以外である場合には、特図変動遊技の外れと判定してRAM308に設けた大当たりフラグの格納領域に外れとなることを示す情報を設定する(ここで、外れの情報をRAM308に設定することを大当たりフラグをオフに設定するという)。なお、保留している特図変動遊技の数は、RAM308に設けた特図保留数記憶領域に記憶するようにしており、当り判定をするたびに、保留している特図変動遊技の数から1を減算した値を、この特図保留数記憶領域に記憶し直すようにしている。また、当り判定に使用した乱数値を消去する。
具体例としては、遊技状態が低確率状態であり、第1特図始動口126への球入賞の検出に基づいて取得した特図当選乱数値が10100の場合は大当たりフラグをオンに設定し、特図当選乱数値が10200の場合は大当たりフラグをオフに設定する。また、第2特図始動口128への球入賞の検出に基づいて取得した特図当選乱数値が20100の場合は大当たりフラグをオンに設定し、特図当選乱数値が20200の場合は大当たりフラグをオフに設定する。
大当たりフラグにオンを設定した場合には、次に確変移行判定を行う。具体的には、ステップS209で乱数値記憶領域に記憶した特図乱数値が、所定の移行判定乱数の数値範囲であるか否かを判定し、特図乱数値が抽選データの数値範囲である場合には、RAM308に設けた確変(確率変動)フラグの格納領域に、特別大当たり遊技を開始することを示す情報を設定する。(ここで、特別大当たり遊技開始の情報をRAM308に設定することを確変フラグをオンに設定するという)。一方、特図乱数値が抽選データの数値範囲以外である場合には、上述の確変フラグの格納領域に、大当たり遊技を開始することを示す情報を設定する(ここで、大当たり遊技開始の情報をRAM308に設定することを確変フラグをオフに設定するという)。例えば、取得した特図乱数値が20の場合には確変フラグをオフに設定する。一方、取得した特図乱数値が特図乱数値が80の場合には確変フラグをオンに設定する。
大当たり判定の結果に関わらず、次にタイマ番号を決定する処理を行う。具体的には、上述の特図タイマ乱数値生成用の乱数カウンタの値を特図タイマ乱数値として取得する。大当たりフラグの値、および取得した特図タイマ乱数値を含む所定のタイマ乱数の数値範囲に対応するタイマ番号を選択し、RAM308に設けた所定のタイマ番号格納領域に記憶する。さらに、そのタイマ番号に対応する変動時間を、特図変動表示時間として、上述の特図表示図柄更新タイマに記憶し、コマンド設定送信処理(ステップS215)で一般コマンド回転開始設定送信処理を実行させるために上述の送信情報記憶領域に01Hを送信情報(一般情報)として追加記憶してから処理を終了する。
例えば、大当たりフラグがオフで、取得した特図タイマ乱数値が50000の場合には、特図タイマ乱数値は0〜60235の範囲であることから、タイマ番号決定テーブルのそれらの条件に対応する1行目に記憶しているタイマ番号を示すタイマ1、および変動時間を示す5を選択し、RAM308に設けたそれぞれの記憶領域に記憶する。一方、大当たりフラグがオンで、取得した特図タイマ乱数値が64000の場合には、特図タイマ乱数値は0〜15535の範囲ではないことからタイマ2は選択せず、15536〜24535ではないことからタイマ3は選択せず、24536〜62535ではないことからタイマ4は選択しないが、62536〜65535の範囲内であることから、タイマ番号決定テーブルのそれらの条件に対応する8行目に記憶しているタイマ番号を示すタイマ5、および変動時間を示す50を選択し、RAM308に設けたそれぞれの記憶領域に記憶する。なお、割り込み処理の開始周期である2msを考慮して、選択した変動時間の値に500(1000ms/2ms)を掛けた値を変動時間記憶領域にセットする。例えば、変動時間が5秒の場合には、変動時間記憶領域には2500の値を初期値としてセットし、ステップS207のタイマ更新処理を実行する度に、この変動時間記憶領域の値を1だけ減算するようにすることで、割り込み処理の実行回数により時間の経過を計測できるようにしている。また、複数回(例えば5回)のタイマ割込処理の実行ごと(例えば2ms周期)に変動時間記憶領域の値を減算する場合には、変動時間が10秒の場合であれば、10秒が10000msであることから周期(2ms×5)で割り算して1000を変動時間記憶領域に設定する。
ステップS215では、副制御部400に対するコマンド設定送信処理を行う。なお、副制御部400に送信する出力予定情報は16ビットで構成しており、ビット15はストローブ情報(オンの場合、データをセットしていることを示す)、ビット11〜14はコマンド種別(00Hの場合は基本コマンド、01Hの場合は図柄変動開始コマンド、04Hの場合は図柄変動停止コマンド、05Hの場合は入賞演出開始コマンド、06Hの場合は終了演出開始コマンド、07Hの場合は大当たりラウンド数指定コマンド、0EHの場合は復電コマンド、0FHの場合はRAMクリアコマンドをそれぞれ示すなどコマンドの種類を特定可能な情報)、ビット0〜10はコマンドデータ(コマンド種別に対応する所定の情報)で構成している。
具体的には、ストローブ情報は上述のコマンド送信処理でオン、オフするようにしている。また、コマンド種別が図柄変動開始コマンドの場合であればコマンドデータに、大当たりフラグの値、確変フラグの値、特図関連抽選処理で選択したタイマ番号などを示す情報を含み、図柄変動停止コマンドの場合であれば、大当たりフラグの値、確変フラグの値などを含み、入賞演出コマンドおよび終了演出開始コマンドの場合であれば、確変フラグの値などを含み、大当たりラウンド数指定コマンドの場合であれば確変フラグの値、大当たりラウンド数などを含むようにしている。コマンド種別が基本コマンドを示す場合は、コマンドデータにデバイス情報、第1特図始動口126への入賞の有無、第2特図始動口128への入賞の有無、可変入賞口130への入賞の有無などを含む。
また、上述の一般コマンド回転開始設定送信処理では、コマンド種別に01H、コマンドデータにRAM308に記憶している大当たりフラグの値、確変フラグの値、特図関連抽選処理で選択したタイマ番号、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド回転停止設定送信処理では、コマンド種別に04H、コマンドデータにRAM308に記憶している大当たりフラグの値、確変フラグの値などを示す情報を設定する。上述の一般コマンド入賞演出設定送信処理では、コマンド種別に05H、コマンドデータにRAM308に記憶している入賞演出期間中に装飾図柄表示装置110・各種ランプ420・スピーカ416に出力する演出制御情報、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド終了演出設定送信処理では、コマンド種別に06H、コマンドデータにRAM308に記憶している演出待機期間中に装飾図柄表示装置110・各種ランプ420・スピーカ416に出力する演出制御情報、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド大入賞口開放設定送信処理では、コマンド種別に07H、コマンドデータにRAM308に記憶している大当たりラウンド数、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド大入賞口閉鎖設定送信処理では、コマンド種別に08H、コマンドデータにRAM308に記憶している大当たりラウンド数、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。副制御部400では、受信した出力予定情報に含まれるコマンド種別により、主制御部300における遊技制御の変化に応じた演出制御の決定が可能になるとともに、出力予定情報に含まれているコマンドデータの情報に基づいて、演出制御内容を決定することができるようになる。
ステップS216では、外部出力信号設定処理を行う。この外部出力信号設定処理では、RAM308に記憶している遊技情報を、情報出力回路334を介してパチンコ機100とは別体の情報入力回路652に出力する。
ステップS217では、デバイス監視処理を行う。このデバイス監視処理では、ステップ203において信号状態記憶領域に記憶した各種センサの信号状態を読み出して、ガラス枠開放エラーの有無、前枠開放エラーの有無、または下皿満タンエラーの有無などを監視し、ガラス枠開放エラー、前枠開放エラー、または下皿満タンエラーを検出した場合に、副制御部400に送信すべき送信情報に、ガラス枠開放エラーの有無、前枠開放エラーの有無、下皿満タンエラーの有無を示すデバイス情報を設定する。また、各種ソレノイド330を駆動して第2特図始動口128や、可変入賞口130の開閉を制御したり、表示回路322、324、328を介して普図表示装置112、特図表示装置114、各種状態表示部326などに出力する表示データを、I/O310の出力ポートに設定する。また、払出要求数送信処理(ステップS210)で設定した出力予定情報を出力ポート310を介して副制御部400に出力する。
ステップS218では、低電圧信号がオンであるか否かを監視する。そして、低電圧信号がオンの場合(電源の遮断を検知した場合)にはステップS220に進み、低電圧信号がオフの場合(電源の遮断を検知していない場合)にはステップS219に進む。
ステップS219では、タイマ割り込みエンド処理を行う。このタイマ割り込みエンド処理では、ステップS201で一時的に退避した各レジスタの値を元の各レジスタに設定したり、割り込み許可の設定などを行う。
ステップS220では、電源管理部650から主制御部300に供給している電源の電圧値を監視する電圧監視回路が、所定の値以下である場合に電圧が低下したことを示す電圧低下信号を出力しているか否か、すなわち電源の遮断を検知したか否かを監視し、電源の遮断を検知した場合には、復電時に電断時の状態に復帰するための特定の変数やスタックポインタを復帰データとしてRAM308の所定の領域に退避し、入出力ポートの初期化等の電断処理を行い、その後、実際に主電源が遮断されるのを待つループに入る。
以上のように、本実施例では、主制御部メイン処理において、直前のリセットの種別を判定し、特定のリセット、特にIAT(指定エリア外走行)リセットないしRAMクリアスイッチの操作を伴なうシステムリセット、と判定した場合に演算記憶手段の初期化を行うようにしている。これにより、サスペンドフラグの有無の判定や演算記憶手段のチェックサムの算出及び算出結果が特定値か否かの判定などの処理を、特定リセットに係るリセットのときに実行する必要が無くなるため、制御手段の処理負担を軽減することができる。
すなわち、本実施例においては、主制御部メイン処理において、直前のリセットの種別を判定し、そのリセット種別に適した初期処理を選択できるので、結果として無駄な処理を行わずに済むようになり、制御手段の処理負担を軽減することができる。