以下、遊技機の一種であるスロットマシンの一実施形態について説明する。この明細書において、上、下、左、右、前(表)、後(裏)の各方向は、スロットマシンで遊技を行う遊技者から見たときの各方向を指すものとする。
図1に示すように、スロットマシン10は、四角箱状の本体キャビネット11を備えている。本体キャビネット11は、前面に、図示されていない開口部11aを備えている。スロットマシン10は、本体キャビネット11の開口部11aを覆っている前面扉12を備えている。前面扉12は、本体キャビネット11に対して開閉可能に支持されている。本実施形態では、本体キャビネット11が機体に相当し、前面扉12が機体の開口部11aを閉じる扉に相当する。
スロットマシン10は、前面扉12の前面に、遊技に伴う演出(以下、遊技演出と示す)の1つとして、例えば、発光体を点灯、消灯及び点滅させる演出(以下、発光演出と示す)を実行できる装飾ランプ13を備えている。スロットマシン10は、前面扉12の前面に、遊技演出の1つとして、例えば、効果音や楽曲などの音声を出力する演出(以下、音声演出と示す)を実行できるスピーカ14を備えている。
スロットマシン10は、前面扉12の前面に、遊技演出の1つとして、例えば、キャラクタや文字などを模した画像を表示する演出(以下、表示演出と示す)を実行できる演出表示装置15を備えている。演出表示装置15としては、例えば液晶ディスプレイ、プラズマディスプレイ及び有機ELディスプレイなどを採用できる。
スロットマシン10は、前面扉12の前面であって且つ演出表示装置15の下方に、遊技者が機内部を透視できる略四角形の表示窓12aを備えている。スロットマシン10は、リールユニット16を備えている。リールユニット16は、表示窓12aを介して遊技者が視認できるように、機内部に配設されている。リールユニット16は、左リール16a(第1リール)と、中リール16b(第2リール)と、右リール16c(第3リール)と、を備えている。リール16a〜16cは、ドラムとも称される回胴である。
リール16a〜16cは、その外周面に沿って、複数の図柄が識別可能に配列されている図柄列をそれぞれ備えている。図柄列は、複数の図柄を長手方向に沿って印刷した帯状の透光性フィルムを、リール16a〜16cの外側に巻き付けることにより設けられている。リール16a〜16cの図柄列には、それぞれ図柄番号00から図柄番号20までの全21個の図柄が含まれている。
また、本実施形態の図柄には、複数種類の図柄がある。例えば、複数種類の図柄には、チェリーを模したチェリー図柄や、スイカを模したスイカ図柄、ベルを模したベル図柄、アラビア数字の「7」を模したセブン図柄、「BAR」の文字を模したBAR図柄、及び「REPLAY」の文字を模したリプレイ図柄が含まれている。
リールユニット16は、左リール16aを回転及び停止させる第1アクチュエータA1と、中リール16bを回転及び停止させる第2アクチュエータA2と、右リール16cを回転及び停止させる第3アクチュエータA3と、を備えている(図2に示す)。リール16a〜16cを駆動させるアクチュエータとしては、例えば、ステッピングモータを採用できる。リール16a〜16cは、それぞれに対応して設けられたアクチュエータによって、相互に独立して、縦方向に回転及び停止が可能である。スロットマシン10では、リール16a〜16cが回転すると、表示窓12aを介して視認可能な図柄列(複数種類の図柄)が変動され、これにより変動ゲームが実行される。例えば、図柄列の変動は、図柄列が上方から下方に向かって縦方向にスクロール表示される態様により行われる。リールユニット16のうち、表示窓12aから視認可能な部分は、複数の図柄列を変動させて変動ゲームを実行できるゲーム実行部といえる。このように、スロットマシン10は、複数の図柄が配列されたリールを動作(回転)させて変動ゲームを実行可能に構成されている。
リールユニット16は、左リール16aの回転位置を検出するための第1リールセンサSE1と、中リール16bの回転位置を検出するための第2リールセンサSE2と、右リール16cの回転位置を検出するための第3リールセンサSE3と、を備えている(図2に示す)。
表示窓12aは、リール16a〜16cにおいて周方向に連続している3つの図柄を表示可能な大きさである。表示窓12aには、リール16a〜16c毎に、上段停止位置、中段停止位置及び下段停止位置が設定されている。本実施形態のスロットマシン10では、リール16a〜16c毎に設定された3つの停止位置の中から1つずつ選択された停止位置の組み合わせによって、停止された図柄組合せを入賞と判定し得る有効な停止位置の組み合わせが設定されている。以下の説明では、有効な停止位置の組み合わせを構成する複数の停止位置を結んだラインを単に有効ラインNLと示す。本実施形態では、リール16a〜16cの各中段停止位置によって、有効ラインNL(有効な停止位置の組み合わせ)が構成されている。有効ラインは、入賞ラインともいわれる。
ここで、図柄について「停止」とは、図柄が表示窓12a内、即ち上段停止位置、中段停止位置及び下段停止位置の何れかに停止され、遊技者に視認可能に表示されることを意味している。また、「入賞」とは、賞を獲得するために必要な図柄組合せとして予め定められたものが有効ラインNL上に表示されることを意味している。スロットマシン10では、入賞が発生すると、該入賞した図柄組合せに予め定められた賞が付与される。以下の説明では、有効ラインNL上に表示されることによって賞を獲得できる図柄組合せを「役」又は「停止目」と示す場合がある。
なお、有効な停止位置の組み合わせ以外の組み合わせは、表示された図柄組合せを入賞と判定し得ない無効な停止位置の組み合わせ(所謂、無効ライン)となる。この明細書において「導出する」とは、有効ラインNL上に図柄を停止させることにより、有効ラインNL上にゲーム結果に相当する図柄組合せを表示することを意味している。したがって、変動ゲームにて導出されるゲーム結果とは、変動ゲームにおいて有効ラインNL上に停止される図柄組合せに相当する。
スロットマシン10は、前面扉12の前面に、遊技媒体としての遊技メダル(以下、単にメダルと示す)を投入するためのメダル投入口17を備えている。スロットマシン10は、前面扉12の前面に、ベットボタン18を備えている。ベットボタン18は、スロットマシン10において内部的に記憶しているクレジットからメダルを賭ける(以下、ベットと示す)ための手段として把握できる。スロットマシン10は、前面扉12の前面に、精算ボタン19を備えている。精算ボタン19は、ベットされたメダルや、スロットマシン10において内部的に記憶しているクレジットを払い戻すときに操作するための手段として把握できる。
スロットマシン10は、前面扉12の前面に、スタートレバー20を備えている。スタートレバー20は、リール16a〜16cの回転を開始させる開始操作をするための手段として把握できる。即ち、開始操作の受付は、変動ゲームを開始させる契機となる。
スロットマシン10は、前面扉12の前面に、左ストップボタン21a(第1ストップボタン)を備えている。左ストップボタン21aは、左リール16aと対応しており、左リール16aの回転を停止させる停止操作をするための手段として把握できる。スロットマシン10は、前面扉12の前面に、中ストップボタン21b(第2ストップボタン)を備えている。中ストップボタン21bは、中リール16bと対応しており、中リール16bの回転を停止させる停止操作をするための手段として把握できる。スロットマシン10は、前面扉12の前面に、右ストップボタン21c(第3ストップボタン)を備えている。右ストップボタン21cは、右リール16cと対応しており、右リール16cの回転を停止させる停止操作をするための手段として把握できる。このように、ストップボタン21a〜21cは、複数の図柄列と各別に対応している。また、対応している図柄列の変動を停止させることは、対応しているリールの回転(回動)を停止させることに相当する。
スロットマシン10は、前面扉12の前面における下部に、メダル払出し口22を備えている。スロットマシン10は、メダル払出し口22から払出されたメダルを受ける受皿23を備えている。また、スロットマシン10は、機内部に、メダルセレクタを備えている(図示していない)。メダルセレクタは、メダル投入口17から投入されたメダルを検出する投入センサを備えている(図示していない)。また、スロットマシン10は、機内部に、メダル払出し口22からメダルを払出す払出し動作が可能なホッパーユニットを備えている(図示していない)。
スロットマシン10は、前面扉12の前面に、予め定めた情報を表示できる情報表示部24を備えている。情報表示部24には、投入可能表示部、再遊技表示部、ウェイト表示部、状態表示部、賭数表示部、貯留枚数表示部、賞枚数表示部、及びエラー表示部が設けられている。
投入可能表示部は、例えば、発光体の点灯状態によって、メダルを投入可能な投入要求可状態であるか否かを表示する。ここで、メダルを投入可能とは、メダルをベット可能であること、及びメダルをスロットマシン10の機内部にクレジットとして記憶可能であることを含む。再遊技表示部は、例えば、発光体の点灯状態によって、再遊技(リプレイ)であるか否かを表示する。ウェイト表示部は、例えば、発光体の点灯状態によって、ウェイトタイム中であるか否かを表示する。ウェイトタイムは、単位時間当りの変動ゲームの実行回数が予め定めた規定回数を超えないように設定された最短の遊技時間(最短遊技時間)である。状態表示部は、例えば、発光体の点灯状態によって、スロットマシン10の状態を表示する。
賭数表示部は、例えば、3つの発光体の点灯状態によって、賭数(ベット数)を表示する。貯留枚数表示部は、機内部で貯留しているクレジット数を表示する。賞枚数表示部は、変動ゲーム中に入賞が発生した場合に、当該入賞に基づいて遊技者に付与されるメダルの枚数を表示する。また、エラー表示部は、スロットマシン10で発生した各種のエラー状態を特定可能な情報を表示する態様によりエラー報知を実行可能である。各種のエラー状態を特定可能な情報とは、例えば、エラー状態別に予め定められたエラー番号などである。
スロットマシン10は、前面扉12の前面に、前面扉12を開放するための開放錠25を備えている。スロットマシン10では、開放錠25に対して該開放錠25に適合するカギを挿入するとともに、該カギを所定方向に回動させることにより、開放錠25による施錠が解除され、前面扉12を開放可能となる。また、スロットマシン10は、開放錠25が解錠されたこと、即ち前面扉12が開放されていることを検知する扉開放センサSE4(図2に示す)を備えている。
スロットマシン10は、前面扉12の裏面に、操作可能な設定器26を備えている(図2に示す)。前面扉12の裏面に設けられた設定器26は、前面扉12が閉鎖されることで、本体キャビネット11の内部に収容される。
設定器26は、該設定器26に適合するカギを用いることで操作することが可能に構成されている。以下の説明において、設定器26が操作されることとは、該設定器26に適合するカギを用いて設定器26が操作されることを意味する。本実施形態のスロットマシン10では、設定器26を操作することによって、スロットマシン10の設定を変更することが許容される。即ち、設定器26は、設定変更するための操作が可能な操作部に相当する。
ここで、本実施形態における設定(設定値)について説明する。スロットマシン10は、大きさの異なるペイアウト率(遊技者に利益を付与する複数の確率)と対応付けられた複数段階(例えば「1」〜「6」の計6段階)の遊技機の設定のうち何れかの設定の下で遊技が行われる。ペイアウト率は、例えば、賞が定められた図柄組合せのうち少なくとも一部の図柄組合せを表示させることが許容される確率や、遊技者にとって有利な有利遊技状態へ移行する確率などによって異ならせることができる。本実施形態のスロットマシン10では、スロットマシン10の設定に応じて有利度が異なる。
上述のように、本実施形態のスロットマシン10において、設定器26は、開放錠25を解錠しなければ開放できない前面扉12の裏面、即ち、スロットマシン10の機内部に配設されているため、原則として、開放錠25に適合するカギを所持していなければ操作することができない。さらに、設定器26は、前面扉12を開放したとしても、原則として、設定器26に適合するカギを所持していなければ操作することができない。したがって、設定器26は、主に遊技場の管理者などによって操作が可能である一方で、遊技者などによっては操作が不可能であるように構成されている。
次に、スロットマシン10の電気的構成を説明する。
図2に示すように、スロットマシン10の機内部には、各種の処理を行うとともに、該処理の結果に応じて制御信号(制御コマンド)を出力する主基板100が配設されている。また、スロットマシン10の機内部には、主基板100から入力される各種の制御信号に基づいて、各種の処理を行う副基板200が配設されている。また、スロットマシン10には、スロットマシン10へ供給される電源の電圧を所定の電圧に変換して、主基板100や副基板200などのスロットマシン10を構成する各種構成部材に供給する電源基板300が配設されている。
まず、主基板100について詳しく説明する。
主基板100は、所定の処理を行う処理部としての主制御用CPU100aと、主制御用CPU100aの制御プログラムを格納する主制御用ROM100bと、主制御用CPU100aの処理結果を記憶する主制御用RAM100cとを備えている。
主基板100は、各リールセンサSE1〜SE3と接続されている。そして、主制御用CPU100aは、各リールセンサSE1〜SE3が出力する信号をそれぞれ入力可能に構成されている。また、主基板100は、扉開放センサSE4と接続されている。そして、主制御用CPU100aは、扉開放センサSE4から前面扉12が開放されていることを示す開放信号を入力可能に構成されている。
主基板100は、投入センサと接続されている。そして、主制御用CPU100aは、投入センサからメダルを検知したことを示すメダル検知信号を入力可能に構成されている。また、主基板100は、設定器26と接続されている。そして、主制御用CPU100aは、設定器26が操作されていることを示す操作信号を入力可能に構成されている。
主基板100は、情報表示部24と接続されている。そして、主制御用CPU100aは、情報表示部24を制御可能に構成されている。主基板100は、ベットボタン18、精算ボタン19、スタートレバー20、及び各ストップボタン21a〜21cと接続されている。そして、主制御用CPU100aは、ベットボタン18、精算ボタン19、スタートレバー20、及び各ストップボタン21a〜21cが操作されたときに出力する各種の操作信号を入力可能に構成されている。
また、主基板100は、各アクチュエータA1〜A3と接続されている。そして、主制御用CPU100aは、リール16a〜16cの各アクチュエータA1〜A3に対する制御信号(パルス信号)の出力態様を制御することにより、リール16a〜16cの各アクチュエータA1〜A3の動作を各別に制御可能に構成されている。
また、主基板100では、各種の抽選処理に用いられる乱数が生成される。この乱数は、例えば、クロック信号を入力する毎に値を更新する乱数生成回路を備えることにより、ハードウェア乱数として生成したり、主制御用CPU100aが所定の制御周期毎に値を更新する乱数更新処理を実行することにより、ソフトウェア乱数として生成したりできる。主基板100において生成される乱数には、変動ゲームにおいて導出表示(入賞)が可能な図柄組合せ(役)を特定可能な当選情報(例えば当選番号など)を決定するのに用いられる当選情報決定用乱数がある。なお、本実施形態のスロットマシン10において、各当選情報には、変動ゲームにおいて導出表示が可能な図柄組合せが1つ、又は複数対応付けられている。
また、主制御用ROM100bには、主制御プログラムが記憶されている。また、主制御用ROM100bには、変動ゲームに関する処理の実行に用いられる各種のテーブルが記憶されている。このようなテーブルには、例えば複数の当選情報の中から当選情報を決定するための当選情報決定テーブルなどがある。また、主制御用RAM100cには、前述した当選情報などの各種情報が記憶される。主制御用RAM100cに記憶された情報は、スロットマシン10の動作中に適宜更新される。なお、以下の説明では、情報を記憶させることや更新することをまとめて「書き換え」と示す場合がある。
ここで、主制御用RAM100cの記憶領域について詳しく説明する。
図3に示すように、本実施形態における主制御用RAM100cの記憶領域には、「F000H」から「F3FFH」までのアドレスが割り当てられている。以下、説明の便宜上、「F000H」から「F1FFH」までの第1範囲のアドレスが割り当てられた記憶領域を「第1記憶領域」と示す一方、「F200H」から「F3FFH」までの第2範囲のアドレスが割り当てられた記憶領域を「第2記憶領域」と示す。本実施形態では、第1記憶領域が第1領域に相当する一方で、第2記憶領域が第2領域に相当する。なお、以下の説明において、「記憶領域の記憶内容を書き換える」という場合、記憶領域の記憶内容の一部を書き換えることと、記憶領域の記憶内容の全てを書き換えることと、の両方を含む。
本実施形態における第1記憶領域及び第2記憶領域は、スロットマシン10において情報の書き換えが許容されているアドレス範囲を複数(本実施形態では2つ)に分割した記憶領域である。また、本実施形態において、第1記憶領域は、主制御用RAM100cの記憶領域のうち、第2記憶領域に割り当てられたアドレスよりも前のアドレスに割り当てられた記憶領域である。そして、本実施形態において、第1記憶領域及び第2記憶領域には、ワークエリア、スタックエリア、及び未使用エリアがそれぞれ設定されている。
なお、本実施形態において、第1記憶領域及び第2記憶領域は、独立して初期化が可能に構成されており、例えば、主制御用CPU100aは、第2記憶領域を初期化する一方で第1記憶領域を初期化しない処理が可能である。また、本実施形態において、第1記憶領域及び第2記憶領域は、各記憶領域の記憶内容を書き換えられる処理がそれぞれ異ならされている。具体的に、第1記憶領域は、主制御用CPU100aが行う処理のうち第2記憶領域を書き換える処理においては、書き換えられないように構成されている。また、第2記憶領域は、主制御用CPU100aが行う処理のうち第1記憶領域を書き換える処理においては、書き換えられないように構成されている。主制御用CPU100aが行う処理と書き換えられる記憶領域との関係について、詳しくは後述する。
また、本実施形態における第1記憶領域及び第2記憶領域は、記憶される記憶内容が異ならされている。本実施形態において、第1記憶領域には、遊技の進行に関する情報が記憶される。第1記憶領域に記憶される遊技の進行に関する情報には、例えば、前述した当選情報や、リールの回転に関する情報、クレジットに関する情報、遊技状態に関する情報などがある。一方、本実施形態において、第2記憶領域には、不正に関する情報が記憶される。第2記憶領域に記憶される不正に関する情報について、詳しくは後述する。
次に、副基板200について詳しく説明する。
図2に示すように、副基板200は、所定の処理を行う副制御用CPU200aと、副制御用CPU200aの制御プログラムなどを格納する副制御用ROM200bと、必要なデータの書き込み及び読み出しができる副制御用RAM200cとを備えている。副基板200は、演出表示装置15、装飾ランプ13、及びスピーカ14と接続されている。また、副基板200では、各種の抽選処理に用いられる乱数が生成される。この乱数は、例えば、クロック信号を入力する毎に値を更新する乱数生成回路を備えることにより、ハードウェア乱数として生成したり、副制御用CPU200aが所定の制御周期毎に値を更新する乱数更新処理を実行することにより、ソフトウェア乱数として生成したりできる。
また、副制御用ROM200bには、副制御プログラムが記憶されている。また、副制御用ROM200bには、演出表示装置15における表示演出の態様を特定可能な表示演出パターン、スピーカ14における音声演出の態様を特定可能な音声演出パターン、及び装飾ランプ13における発光演出の態様を特定可能な発光演出パターンが記憶されている。また、副制御用RAM200cには、スロットマシン10の内部状態に関するフラグなどの各種情報が記憶される。副制御用RAM200cに記憶された情報は、スロットマシン10の動作中に適宜更新される。
副基板200は、主基板100から一方向で情報(制御信号)が送信されるように主基板100と電気的に接続されている。そして、副制御用CPU200aは、主基板100(主制御用CPU100a)から入力した各種の制御信号に基づいて演出を実行させるように演出表示装置15、装飾ランプ13、及びスピーカ14を制御する。この演出には、例えば所定の図柄組合せを導出表示させるために必要なストップボタン21a〜21cの押し順を遊技者に報知する押し順報知演出や、導出表示が可能と決定された図柄組合せ(役)を遊技者に示唆する示唆演出などがある。また、副制御用CPU200aは、ボーナス遊技中などといったスロットマシン10の内部状態に対応させて演出を行わせることもできる。
次に、電源基板300について詳しく説明する。
電源基板300は、例えば遊技場において、スロットマシン10へ供給される電源の電圧を主基板100や副基板200が使用できる電圧に変換する電源回路300aを備えている。また、電源基板300は、スロットマシン10へ供給される電圧が所定の電圧まで低下(降下)したかを監視する電源断監視回路300bを備えている。電源断監視回路300bは、電源回路300aと接続されている。なお、所定の電圧は、遊技に支障をきたすことなくスロットマシン10を動作させるために最低限必要な電圧とされる。そして、電源断監視回路300bは、供給される電圧が所定の電圧以下である場合に電源断信号を出力する。電源断監視回路300bから出力される電源断信号は、主基板100(主制御用CPU100a)と、副基板200(副制御用CPU200a)とに出力される。ここで、スロットマシン10へ供給される電圧が所定の電圧以下に低下するのは、例えば、電源の遮断(電源OFF)時や停電時などである。これとは逆に、電源の投入(電源ON)時や復電時の場合は、スロットマシン10へ電源が供給されるので、電圧が上昇して所定の電圧を超える電圧となる。以下の説明では、スロットマシン10の電源が投入されることを「電源の供給が開始される」と示し、スロットマシン10の電源が遮断されることを「電源の供給が遮断される」と示す。
電源基板300は、例えば電気二重層コンデンサからなるバックアップ用電源300cを備えている。主基板100の主制御用RAM100c及び副基板200の副制御用RAM200cは、スロットマシン10に電源の供給が行われているときには電源回路300aからの電源の供給によって記憶内容を保持し、電源の供給が行われていないときにはバックアップ用電源300cからの電源の供給によって記憶内容を保持するように構成されている。これにより、主制御用RAM100c及び副制御用RAM200cは、電源の供給が遮断された後も記憶内容を保持することが可能に構成されている。
次に、本実施形態のスロットマシン10において、主制御用RAM100cに記憶される不正に関する情報について、具体例とともに説明する。
図4に示すように、不正に関する情報には、主制御用CPU100aが行う処理に関する情報を一時的に退避(記憶保持)させるための退避情報がある。詳しくは後述するが、退避情報は、スロットマシン10の電源が復帰した場合に実行される第2記憶領域電源復帰処理において書き換えられる情報である。なお、第2記憶領域電源復帰処理は、電源が復帰した場合に実行される処理であることから、不正が行われる虞がある処理といえる。即ち、退避情報は、不正が行われる虞がある処理において書き換えられる情報であることから、不正に関する重要な情報であるといえる。退避情報は、主制御用RAM100cの記憶領域のうち、第2記憶領域において予め定めた第1アドレスが割り当てられた記憶領域に記憶される。なお、以下の説明では、各アドレスが割り当てられた記憶領域を、単に「アドレスの記憶領域」と示す。
また、本実施形態の不正に関する情報には、前面扉12が開放されていることを示す開放信号を入力しているか否かを示す開放信号入力情報や、前面扉12が開放されていることを示す扉開放フラグがある。開放信号入力情報は、前面扉12が開放されていることで、不正が行われ易い状態に関する情報であることから、不正に関する重要な情報といえる。開放信号入力情報は、主制御用RAM100cの記憶領域のうち、第2記憶領域において予め定めた第2アドレスの記憶領域に記憶される。また、扉開放フラグは、前面扉12が開放されていることで、不正が行われ易い状態であることを示すフラグであることから、不正に関する重要な情報であるといえる。扉開放フラグは、主制御用RAM100cの記憶領域のうち、第2記憶領域において予め定めた第3アドレスの記憶領域に記憶される。
また、本実施形態の不正に関する情報には、設定器26が操作されていることを示す操作信号を入力しているか否かを示す操作信号入力情報や、設定器26が操作されていることを示す設定器操作フラグがある。操作信号入力情報は、遊技者の利益に直結するペイアウト率を変更する操作が可能であるために不正が行われ易い設定器26に関する情報であることから、不正に関する重要な情報といえる。操作信号入力情報は、主制御用RAM100cの記憶領域のうち、第2記憶領域において予め定めた第2アドレスの記憶領域に記憶される。なお、操作信号入力情報は、上述した開放信号入力信号と同一の第2アドレスの記憶領域内の別bitに記憶される。また、設定器操作フラグは、遊技者の利益に直結するペイアウト率を変更する操作が可能であるために不正が行われ易い設定器26に関するフラグであることから、不正に関する重要な情報であるといえる。設定器操作フラグは、主制御用RAM100cの記憶領域のうち、第2記憶領域において予め定めた第4アドレスの記憶領域に記憶される。
このように、本実施形態において、不正に関する情報のうち少なくとも一部の情報は、主制御用RAM100cの第2記憶領域に記憶される。換言すれば、第2記憶領域には、不正に関する重要な情報が記憶される。
本実施形態において、第1〜第4アドレスは、第2記憶領域のアドレス「F200H〜F3FFH」のうち、それぞれ異なるアドレスであってもよく、同一のアドレスであってもよい。なお、第1〜第4アドレスを同一のアドレスとすることにより、1つの記憶領域を複数の情報で共用する場合には、それぞれの情報と対応付けられたbitごとに書き換えるとよい。また、本明細書において、第1〜第4アドレスの第1〜第4の番号は、説明の便宜のために付したものであって、主制御用RAM100cの記憶領域内におけるアドレスの順序を特定するものではない。例えば、第1〜第4アドレスは、第2記憶領域のアドレス「F200H〜F3FFH」のうち、第1アドレス→第2アドレス→・・・→第4アドレスの順序で、昇順に連続する4つのアドレスであってもよく、これとは異なるアドレスであってもよい。
以下、主制御用CPU100aが主制御プログラムに基づき実行する各種の処理について説明する。まず、遊技の進行に関する遊技進行処理について説明する。本実施形態において、遊技進行処理は、メインルーチンに相当する。
図5に示すように、遊技進行処理において、主制御用CPU100aは、遊技開始セット処理を行う(ステップSa01)。遊技開始セット処理において、主制御用CPU100aは、スロットマシン10の遊技状態やリールユニット16を用いた演出(所謂フリーズ演出)に関するフラグなどの情報を主制御用RAM100cの第1記憶領域に記憶させる処理や、第1記憶領域のうち予め定めた記憶領域を初期化する処理などを行う。なお、本実施形態において、主制御用CPU100aは、主制御用RAM100cの第1記憶領域を初期化する処理と第2記憶領域を初期化する処理とを独立して実行することができる。換言すれば、第1記憶領域及び第2記憶領域は、独立して初期化が可能に構成されている。
次に、主制御用CPU100aは、メダルのベット受付を開始する(ステップSa02)。次に、主制御用CPU100aは、スロットマシン10の遊技状態をチェックする(ステップSa03)。ステップSa03において、主制御用CPU100aは、スロットマシン10の遊技状態がボーナス遊技であるか否かなどを特定する。
次に、主制御用CPU100aは、再遊技作動時であるか否かを判定する(ステップSa04)。主制御用CPU100aは、再遊技作動時ではない場合(ステップSa04:NO)、今回の変動ゲームにおけるベット数を設定するメダル管理処理を行う(ステップSa05)。ステップSa05の処理において主制御用CPU100aは、投入センサからメダルの検出信号を入力すると、主制御用RAM100cの第1記憶領域に記憶されているベット数に1加算する。また、ステップSa05の処理において主制御用CPU100aは、ベットボタン18から操作信号を入力すると、主制御用RAM100cに記憶されているベット数が規定ベット数となるようにベット数に加算するとともに、該加算分だけ、主制御用RAM100cの第1記憶領域に記憶されているクレジットを減算する。
主制御用CPU100aは、再遊技作動時である場合(ステップSa04:YES)、又はステップSa05の処理を終了した場合、今回の変動ゲームにおけるベット数が最大ベット数と一致するか否かを判定する(ステップSa06)。なお、主制御用CPU100aは、再遊技作動時である場合(ステップSa04:YES)、前回の変動ゲームにおけるベット数を今回の変動ゲームにおけるベット数として再設定する。
今回の変動ゲームにおけるベット数が最大ベット数と一致しない場合(ステップSa06:NO)、主制御用CPU100aは、ステップSa03の処理に移行する。即ち、ステップSa06の処理において、主制御用CPU100aは、変動ゲームを開始可能な状態であるか否かを判定している。一方、今回の変動ゲームにおけるベット数が最大ベット数と一致する場合(ステップSa06:YES)、主制御用CPU100aは、スタートレバー20による開始操作を受け付けたか否かを判定する(ステップSa07)。ステップSa07の処理において、主制御用CPU100aは、スタートレバー20から操作信号を入力した場合には肯定判定する一方で、スタートレバー20から操作信号を入力しない場合には否定判定する。開始操作を受け付けていない場合(ステップSa07:NO)、主制御用CPU100aは、ステップSa03の処理へ移行する。
一方、開始操作を受け付けた場合(ステップSa07:YES)、主制御用CPU100aは、当選情報を決定する(ステップSa08)。ステップSa08において、主制御用CPU100aは、当選情報決定用乱数の値を用いた抽選により1つの当選情報を決定する。ステップSa08の処理は、スロットマシン10において内部的に行う役抽選(内部抽選)となる。また、主制御用CPU100aは、ステップSa08の処理において、変動ゲームの開始を指示するとともに、決定した当選情報(図柄組合せ(役))を特定可能な変動ゲーム開始コマンドを生成し、副基板200に出力する制御を行う。なお、本実施形態において、ステップSa08の処理における役抽選は、利益を付与するか否かの抽選に相当する。即ち、遊技進行処理には、利益を付与するか否かの抽選に関する処理を含む。
次に、主制御用CPU100aは、最短遊技時間(ウェイトタイム)が経過したか否かを判定する(ステップSa09)。最短遊技時間が経過していない場合(ステップSa09:NO)、主制御用CPU100aは、最短遊技時間が経過するまで待機する。最短遊技時間が経過している場合(ステップSa09:YES)、主制御用CPU100aは、アクチュエータA1〜A3に作動信号(駆動信号)を出力して各リール16a〜16cの回転を開始させ、変動ゲームを開始させる(ステップSa10)。
続けて、主制御用CPU100aは、各ストップボタン21a〜21cの何れかによる停止操作を受け付けたか否かを判定する(ステップSa11)。ステップSa11において、主制御用CPU100aは、ストップボタン21a〜21cの何れかから操作信号を入力した場合には肯定判定する一方で、ストップボタン21a〜21cの何れかから操作信号を入力しない場合には否定判定する。
停止操作を受け付けた場合(ステップSa11:YES)、主制御用CPU100aは、決定済みの当選情報とストップボタンの操作タイミングとをもとに、入賞ライン上に停止表示させる図柄を決定し、該決定した図柄を入賞ライン上に停止表示させる図柄組合せ制御を実行する(ステップSa12)。
停止操作を受け付けていない場合(ステップSa11:NO)、及びステップSa12の処理を終了した場合、主制御用CPU100aは、各リール16a〜16cの全てを停止させたか否かを判定する(ステップSa13)。各リール16a〜16cのうち1つ以上のリールを停止させていない場合(ステップSa13:NO)、主制御用CPU100aは、ステップSa11の処理へ移行する。
一方、各リール16a〜16cの全てを停止させている場合(ステップSa13:YES)、主制御用CPU100aは、表示図柄判定を実行する(ステップSa14)。ステップSa14の処理において、主制御用CPU100aは、各リールにおいて、有効ラインNL上に停止表示されている図柄組合せが賞を定めた何れかの図柄組合せ(役)であるか否か、及び賞を定めた図柄組合せである場合にはその図柄組合せを判定する。即ち、ステップSa14の処理において、主制御用CPU100aは、ステップSa08の処理で決定した当選情報から特定可能な図柄組合せ(役)に実際に入賞したか否か、及び入賞している場合に入賞した図柄組合せを判定している。
次に、主制御用CPU100aは、遊技者にメダルの払出しを行うか否かを判定する(ステップSa15)。ステップSa15において、主制御用CPU100aは、払出役に入賞している場合には肯定判定する一方で、払出役に入賞していない場合には否定判定する。メダルの払出しを行う場合(ステップSa15:YES)、主制御用CPU100aは、ホッパーユニットを駆動してメダルを払出すためのメダル払出し処理を実行する(ステップSa16)。このように、スロットマシン10では、有効ラインNLに停止表示された図柄組合せに応じてメダルの払出しを発生可能である。
主制御用CPU100aは、メダルの払出しを行わない場合(ステップSa15:NO)、及びステップSa16の処理を終了した場合、1回の変動ゲームを終了させる終了処理を行う(ステップSa17)。即ち、本実施形態のスロットマシン10では、図柄組合せが導出表示されることによって遊技を終了可能となる。ステップSa17の終了処理において、主制御用CPU100aは、入賞と判定した図柄組合せ(役)に応じて内部状態を移行させる制御や、入賞と判定したことを示す入賞指示コマンドを副基板200に出力する制御を行う。この入賞指示コマンドは、変動ゲーム開始コマンドで指示される図柄組合せ(役)の入賞を副基板200に把握させる。その後、主制御用CPU100aは、1回の変動ゲームの実行に係る遊技進行処理を終了し、再びステップSa01の処理へ移行する。
上述したように、主制御用CPU100aは、遊技進行処理において、例えば、ステップSa08の処理で決定した当選情報、スロットマシン10の遊技状態、及びリールユニット16を用いた演出に関するフラグといった遊技の進行に関する情報を第1記憶領域に記憶させるなど、第1記憶領域の記憶内容を処理結果に応じて書き換える。一方で、主制御用CPU100aは、遊技進行処理において、原則として第2記憶領域の記憶内容を書き換えない。換言すれば、本実施形態の遊技進行処理は、後述するサブルーチン化された一部の処理を除いて、主制御用RAM100cの記憶領域のうち第1記憶領域の記憶内容を処理結果に応じて書き換える一方で、第2記憶領域の記憶内容を書き換えない処理である。
ここで、本明細書において、単に「特定の処理において特定の記憶領域の記憶内容を書き換えない」と示す場合、「特定の処理」に含まれる処理のうち、当該「特定の処理」の実行中に呼び出される処理(サブルーチン)を除いた処理の実行に伴って、「特定の記憶領域」の記憶内容を書き換えないことを意図している。即ち、本明細書では、「特定の処理において特定の記憶領域の記憶内容を書き換えない」と示す場合であっても、「特定の処理」の実行中に呼び出される処理において「特定の記憶領域」の記憶内容が書き換えられるときがある。また、本明細書において、単に「特定の処理において特定の記憶領域の記憶内容を書き換える」と示す場合、「特定の処理」に含まれる処理のうち、当該「特定の処理」の実行中に呼び出される処理(サブルーチン)を除いた処理の実行に伴って、「特定の記憶領域」の記憶内容を書き換えることを意図している。
次に、主制御用CPU100aが電源断信号を入力した場合に行う電源断処理について説明する。即ち、電源断処理は、スロットマシン10の電源の遮断時に行われる処理である。
図6に示すように、電源断処理において、主制御用CPU100aは、所定のレジスタを退避させる(ステップSb01)。ステップSb01の処理において、主制御用CPU100aは、所定のレジスタの記憶内容を主制御用RAM100cの第1記憶領域に記憶させる。
続いて、主制御用CPU100aは、電源断時の割込状態を主制御用RAM100cの第1記憶領域に記憶させる(ステップSb02)。ここで、割込状態とは、割込処理の実行を許可しているか否かの状態である。なお、本実施形態の割込処理は、割込処理の実行が許可されている場合に、所定周期毎に実行される。以下の説明では、割込処理の実行を許可することを、単に「割込みを許可」と示すとともに、割込み処理の実行を許可しないことを、単に「割込みを禁止」と示す。
ステップSb02の処理において、主制御用CPU100aは、電源断信号を入力したときに割込みが許可されていたか否かを特定可能な割込状態情報を所定のレジスタに記憶させた後、当該所定のレジスタの記憶内容を主制御用RAM100cの第1記憶領域に記憶させる。
その後、主制御用CPU100aは、所定のレジスタ以外のレジスタを退避させる(ステップSb03)。ステップSb03の処理において、主制御用CPU100aは、所定のレジスタ以外のレジスタの記憶内容を主制御用RAM100cの第1記憶領域に記憶させる。そして、主制御用CPU100aは、第1記憶領域において、処理結果に応じた情報(制御情報)を次に記憶させるスタックエリアのアドレスを特定可能なスタックポインタを主制御用RAM100cの第1記憶領域に記憶させる(ステップSb04)。
その後、主制御用CPU100aは、主制御用RAM100cの第1記憶領域に、電源断処理済フラグを設定する(ステップSb05)。ステップSb05において主制御用CPU100aは、ステップSb01〜ステップSb04の処理が正常に行われた場合には、正常に行われたことを特定可能なフラグを設定する一方、ステップSb01〜ステップSb04の処理が正常に行われなかった場合には、正常に行われなかったことを特定可能なフラグを設定する。
そして、主制御用CPU100aは、主制御用RAM100cの第1記憶領域に記憶されているチェックサムデータを消去する(ステップSb06)。その後、主制御用CPU100aは、主制御用RAM100cのチェックサムを算出する(ステップSb07)。ステップSb07の処理において、主制御用CPU100aは、主制御用RAM100cの全ての記憶領域(全アドレス範囲)を対象にチェックサムを算出する。即ち、ステップSb07の処理において、主制御用CPU100aは、主制御用RAM100cの第1記憶領域の記憶内容及び第2記憶領域の記憶内容の両方を参照して、チェックサムを算出する。
続いて、主制御用CPU100aは、ステップSb07にて算出したチェックサムの値を、チェックサムデータとして主制御用RAM100cの第1記憶領域に記憶させる(ステップSb08)。その後、主制御用CPU100aは、主制御用RAM100cへのアクセスを禁止する(ステップSb09)。その後、主制御用CPU100aは、電源の供給が開始されるまで待機する。
上述したように、主制御用CPU100aは、電源断処理において、第1記憶領域の記憶内容を処理結果に応じて書き換える。一方で、主制御用CPU100aは、電源断処理において、第2記憶領域の記憶内容を書き換えない。換言すれば、本実施形態の電源断処理は、主制御用RAM100cの記憶領域のうち第1記憶領域の記憶内容を処理結果に応じて書き換える一方で、第2記憶領域の記憶内容を書き換えない処理である。また、主制御用CPU100aは、電源断処理においては、主制御用RAM100cの第1記憶領域の記憶内容及び第2記憶領域の記憶内容の両方を参照できる。
次に、スロットマシン10への電源の供給が開始された際に主制御用CPU100aが行う電源投入処理について説明する。即ち、電源投入処理は、スロットマシン10の電源投入がされたときに行う処理である。本実施形態において、電源投入処理は、開始処理及び第1開始処理に相当する。
図7に示すように、電源投入処理において主制御用CPU100aは、第1記憶領域のスタックエリアのアドレスを特定可能なスタックポインタを設定する(ステップSc01)。続いて、主制御用CPU100aは、当該主制御用CPU100aの初期設定を実行する(ステップSc02)。
その後、主制御用CPU100aは、前面扉12が開放されているか否かの判定や設定器26が操作されているか否かの判定を含む第2記憶領域電源投入処理を行う(ステップSc03)。第2記憶領域電源投入処理について、詳しくは後述する。
続いて、主制御用CPU100aは、主制御用RAM100cの第2記憶領域のうち、第3アドレスの記憶領域を参照して、扉開放フラグが設定されている(扉開放フラグあり)か否かを判定する(ステップSc04)。扉開放フラグが設定されていない場合(ステップSc04:NO)、主制御用CPU100aは、電源断時のスロットマシン10の状態に復帰させるための電源復帰処理に移行する。電源復帰処理について、詳しくは後述する。
一方、扉開放フラグが設定されている場合(ステップSc04:YES)、主制御用CPU100aは、主制御用RAM100cの第2記憶領域のうち、第4アドレスの記憶領域を参照して、設定器操作フラグが設定されている(設定器操作フラグあり)か否かを判定する(ステップSc05)。設定器操作フラグが設定されていない場合(ステップSc05:NO)、主制御用CPU100aは、電源復帰処理に移行する。
一方、設定器操作フラグが設定されている場合(ステップSc05:YES)、主制御用CPU100aは、主制御用RAM100cの第1記憶領域に記憶されているスロットマシン10の設定を特定可能な設定情報(設定値)を参照し、スロットマシン10の設定が正常であるか否かを判定する(ステップSc06)。ここで、スロットマシン10の設定が正常であるか否かの判定は、設定情報から特定可能な設定の段階が、スロットマシン10において予め変更可能に用意された設定の段階の範囲内にあるか否かにより判定できる。
スロットマシン10の設定が正常でない場合(ステップSc06:NO)、主制御用CPU100aは、所定の設定をスロットマシン10の設定としてセットする(ステップSc07)。具体的に、本実施形態では、最も遊技者にとって有利でない設定を特定可能な設定情報を、主制御用RAM100cの第1記憶領域に記憶させる。
スロットマシン10の設定が正常である場合(ステップSc06:YES)、及びステップSc07の処理を終了した場合、主制御用CPU100aは、主制御用RAM100cの第1記憶領域の記憶内容を参照し、第1記憶領域の記憶内容が正常であるか否かを判定する(ステップSc08)。即ち、本実施形態の電源投入処理は、第1記憶領域の記憶内容が正常であるか否かをチェックすることを含む処理である。第1記憶領域の記憶内容が正常でない場合(ステップSc08:NO)、主制御用CPU100aは、エラーストップさせる。ここで、エラーストップさせるとは、復帰不可能なエラー状態が発生していることから、各種の処理を停止することである。
一方、第1記憶領域の記憶内容が正常である場合(ステップSc08:YES)、主制御用CPU100aは、主制御用RAM100cの第1記憶領域のうち所定の記憶領域を初期化する(ステップSc09)。即ち、本実施形態の電源投入処理は、第1記憶領域の記憶内容を初期化することを含む処理である。ここで、本明細書において「初期化」とは、初期化の対象となる記憶領域について、予め定めた情報(初期情報)に書き換えることである。即ち、初期化は、記憶内容の書き換えにあたる処理である。なお、ステップSc09の処理において、主制御用CPU100aは、第1記憶領域のうち、少なくとも設定情報が記憶されている記憶領域については初期化しない。これにより、設定器26が操作されているにもかかわらず、該操作による設定の変更が反映されない状況が生じることを抑制できる。
その後、主制御用CPU100aは、主制御用RAM100cの第2記憶領域の記憶内容が正常であるか否かをチェックし、初期化するための第2記憶領域チェック初期化処理を行う(ステップSc10)。第2記憶領域チェック初期化処理について、詳しくは後述する。
続いて、主制御用CPU100aは、割込みを許可する(ステップSc11)。そして、主制御用CPU100aは、スロットマシン10の設定を変更するための設定変更処理を行う(ステップSc12)。
設定変更処理において主制御用CPU100aは、所定の変更操作手段が操作される毎にスロットマシン10の設定として設定可能な設定を1段階ずつ変化させる。ここで、所定の変更操作手段は、設定変更専用の操作手段であってもよいし、例えばベットボタン18など、他の操作手段と兼用の操作手段であってもよい。そして、主制御用CPU100aは、所定の決定操作手段(例えば、スタートレバー20など)が操作されると、当該決定操作手段が操作されたときに選択されている設定を、スロットマシン10の設定とすることを決定する。その後、主制御用CPU100aは、設定器26の操作が終了すると、決定したスロットマシン10の設定を特定可能な設定情報を、主制御用RAM100cの第1記憶領域に記憶させ、設定変更処理を終了する。そして、設定変更処理を終了すると、主制御用CPU100aは、電源投入処理を終了する。
上述したように、主制御用CPU100aは、電源投入処理において、第1記憶領域の記憶内容を処理結果に応じて書き換える。一方で、主制御用CPU100aは、電源投入処理において、第2記憶領域の記憶内容を書き換えない。換言すれば、本実施形態の電源投入処理は、主制御用RAM100cの記憶領域のうち第1記憶領域の記憶内容を処理結果に応じて書き換える一方で、第2記憶領域の記憶内容を書き換えない処理である。また、主制御用CPU100aは、電源投入処理においては、主制御用RAM100cの第1記憶領域の記憶内容及び第2記憶領域の記憶内容の両方を参照できる。
次に、第2記憶領域電源投入処理について説明する。第2記憶領域電源投入処理は、電源投入処理のステップSc03において実行されることから、電源投入処理において呼び出される処理(所謂、サブルーチン)として把握できる。
図8に示すように、第2記憶領域電源投入処理において、主制御用CPU100aは、前面扉12が開放されているか否かを判定する(ステップSd01)。ステップSd01の処理において、主制御用CPU100aは、主制御用RAM100cの第2記憶領域のうち、第2アドレスの記憶領域に記憶されている開放信号入力情報を参照して、前面扉12が開放されていることを示す開放信号を入力しているか否かを特定する。そして、主制御用CPU100aは、開放信号を入力している場合には、前面扉12が開放されていると判定する一方、開放信号を入力していない場合には、前面扉12が開放されていないと判定する。前面扉12が開放されていると判定した場合(ステップSd01:YES)、主制御用CPU100aは、主制御用RAM100cの第2記憶領域のうち、第3アドレスの記憶領域に扉開放フラグを設定する(ステップSd02)。
前面扉12が開放されていないと判定した場合(ステップSd01:NO)、及びステップSd02の処理を終了した場合、主制御用CPU100aは、設定器26が操作されているか否かを判定する(ステップSd03)。ステップSd03の処理において、主制御用CPU100aは、主制御用RAM100cの第2記憶領域のうち、第2アドレスの記憶領域に記憶されている操作信号入力情報を参照して、設定器26が操作されていることを示す操作信号を入力しているか否かを特定する。そして、主制御用CPU100aは、操作信号を入力している場合には、設定器26が操作されていると判定する一方、操作信号を入力していない場合には、設定器26が操作されていないと判定する。設定器26が操作されていると判定した場合(ステップSd03:YES)、主制御用CPU100aは、主制御用RAM100cの第2記憶領域のうち、第4アドレスの記憶領域に設定器操作フラグを設定する(ステップSd04)。
設定器26が操作されていないと判定した場合(ステップSd03:NO)、及びステップSd04の処理を終了した場合、主制御用CPU100aは、第2記憶領域電源投入処理を終了する。
上述したように、主制御用CPU100aは、第2記憶領域電源投入処理において、第2記憶領域の記憶内容を処理結果に応じて書き換える。一方で、主制御用CPU100aは、第2記憶領域電源投入処理において、第1記憶領域の記憶内容を書き換えない。換言すれば、本実施形態の第2記憶領域電源投入処理は、主制御用RAM100cの記憶領域のうち第2記憶領域の記憶内容を処理結果に応じて書き換える一方で、第1記憶領域の記憶内容を書き換えない処理である。
本実施形態の第2記憶領域電源投入処理は、前面扉12が開放されているか否かを判定することを含む処理であることから、前面扉12の開放状態に関する処理として把握できる。即ち、第2記憶領域電源投入処理は、開放状態処理に相当する。また、本実施形態の第2記憶領域電源投入処理は、設定器26が操作されているか否かを判定することを含む処理であることから、設定器26の操作状態に関する処理として把握できる。即ち、第2記憶領域電源投入処理は、操作状態処理に相当する。
次に、第2記憶領域チェック初期化処理について説明する。第2記憶領域チェック初期化処理は、電源投入処理のステップSc10において実行されることから、電源投入処理において呼び出される処理(所謂、サブルーチン)として把握できる。本実施形態において、第2記憶領域チェック初期化処理は、第2開始処理に相当する。
図9に示すように、第2記憶領域チェック初期化処理において、主制御用CPU100aは、主制御用RAM100cの第2記憶領域の記憶内容を参照し、第2記憶領域の記憶内容が正常であるか否かを判定する(ステップSe01)。即ち、本実施形態の第2記憶領域チェック初期化処理は、第2記憶領域の記憶内容が正常であるか否かをチェックすることを含む処理である。第2記憶領域の記憶内容が正常でない場合(ステップSe01:NO)、主制御用CPU100aは、エラーストップさせる。
一方、第2記憶領域の記憶内容が正常である場合(ステップSe01:YES)、主制御用CPU100aは、第2記憶領域のうち所定の記憶領域を初期化する(ステップSe02)。即ち、本実施形態の第2記憶領域チェック初期化処理は、第2記憶領域の記憶内容を初期化することを含む処理である。その後、主制御用CPU100aは、第2記憶領域チェック初期化処理を終了する。
上述したように、主制御用CPU100aは、第2記憶領域チェック初期化処理において、第2記憶領域の記憶内容を処理結果に応じて書き換える。一方で、主制御用CPU100aは、第2記憶領域チェック初期化処理において、第1記憶領域の記憶内容を書き換えない。換言すれば、本実施形態の第2記憶領域チェック初期化処理は、主制御用RAM100cの記憶領域のうち第2記憶領域の記憶内容を処理結果に応じて書き換える一方で、第1記憶領域の記憶内容を書き換えない処理である。
次に、電源復帰処理について説明する。本実施形態において、電源復帰処理は、第1処理及び第1電断復帰処理に相当する。
図10に示すように、電源復帰処理において、主制御用CPU100aは、主制御用RAM100cのチェックサムを算出する(ステップSf01)。ステップSf01の処理において、主制御用CPU100aは、電源断処理におけるステップSb07の処理と同様、主制御用RAM100cの全ての記憶領域を対象にチェックサムを算出する。
続いて、主制御用CPU100aは、算出したチェックサムが正常であるか否かを判定する(ステップSf02)。ステップSf02において主制御用CPU100aは、ステップSf01にて算出したチェックサムと、電源断処理におけるステップSb08の処理にて主制御用RAM100cの第1記憶領域に記憶させたチェックサムとを比較して、一致する場合には正常であると判定する一方で、一致しない場合には正常でないと判定する。チェックサムが正常でない場合(ステップSf02:NO)、主制御用CPU100aはエラーストップさせる。
一方、チェックサムが正常である場合(ステップSf02:YES)、主制御用CPU100aは、スタックポインタを復帰させる(ステップSf03)。続いて、主制御用CPU100aは、電源断処理が正常に行われたか否かなどを判定するための第2記憶領域電源復帰処理を実行する(ステップSf04)。第2記憶領域電源復帰処理について、詳しくは後述する。
その後、主制御用CPU100aは、主制御用RAM100cの第1記憶領域のうちワークエリア及びスタックエリアの最大使用エリアを除く記憶領域を初期化する(ステップSf05)。続いて、主制御用CPU100aは、所定のレジスタ以外のレジスタを復帰させる(ステップSf06)。
その後、主制御用CPU100aは、電源断時(供給される電圧が所定の電圧以下になった時)の割込状態を参照し、割込みが許可されていたか否かを判定する(ステップSf07)。ステップSf07の処理において、主制御用CPU100aは、電源断処理のステップSb02にて主制御用RAM100cの第1記憶領域に記憶させた割込状態情報を参照し、割込みが許可されていたか否かを判定する。
電源断時において割込みが許可されていた場合(ステップSf07:YES)、主制御用CPU100aは、所定のレジスタを復帰させる(ステップSf08)。その後、主制御用CPU100aは、割込みを許可する(ステップSf09)。そして、主制御用CPU100aは、電源復帰処理を終了し、電源断時の遊技進行処理へと復帰する。これにより、割込みが許可された状態で、遊技を行うことが可能な状態へ復帰できる。
一方、電源断時において割込みが許可されていなかった(禁止されていた)場合(ステップSf07:NO)、主制御用CPU100aは、ステップSf08と同様に、所定のレジスタを復帰させる(ステップSf10)。そして、主制御用CPU100aは、電源復帰処理を終了し、電源断時の遊技進行処理へと復帰する。これにより、割込みが許可されていない状態で、遊技を行うことが可能な状態へ復帰できる。
上述したように、主制御用CPU100aは、電源復帰処理において、第1記憶領域の記憶内容を処理結果に応じて書き換える。一方で、主制御用CPU100aは、電源復帰処理において、第2記憶領域の記憶内容を書き換えない。換言すれば、本実施形態の電源復帰処理は、主制御用RAM100cの記憶領域のうち第1記憶領域の記憶内容を処理結果に応じて書き換える一方で、第2記憶領域の記憶内容を書き換えない処理である。また、主制御用CPU100aは、電源復帰処理においては、主制御用RAM100cの第1記憶領域の記憶内容及び第2記憶領域の記憶内容の両方を参照できる。
次に、第2記憶領域電源復帰処理について説明する。第2記憶領域電源復帰処理は、電源復帰処理のステップSf04において実行されることから、電源復帰処理において呼び出される処理(所謂、サブルーチン)として把握できる。本実施形態において、第2記憶領域電源復帰処理は、第2処理及び第2電断復帰処理に相当する。
図11に示すように、第2記憶領域電源復帰処理において、主制御用CPU100aは、主制御用RAM100cの第1記憶領域のスタックポインタを参照し、該スタックポインタを特定可能な退避情報を、第2記憶領域のうち第1アドレスの記憶領域に記憶(退避)させる(ステップSg01)。続いて、主制御用CPU100aは、全レジスタを、第2記憶領域のスタックエリアに退避させる(ステップSg02)。
その後、主制御用CPU100aは、主制御用RAM100cの第1記憶領域の記憶内容を参照し、電源断処理済フラグが設定されている(電源断処理済フラグあり)か否かを判定する(ステップSg03)。電源断処理済フラグが設定されている場合(ステップSg03:YES)、主制御用CPU100aは、主制御用RAM100cの第1記憶領域の記憶内容を参照し、スタックポインタが正常であるか否かを判定する(ステップSg04)。スタックポインタが正常であるか否かの判定は、スタックポインタに示される値がスタックエリアとして定めたアドレス範囲内(数値範囲内)にあるか否かにより判定できる。なお、ステップSg04の処理は、第2記憶領域のうち第1アドレスの記憶領域に記憶させた退避情報を参照して行うこともできる。スタックポインタが正常である場合(ステップSg04:YES)、主制御用CPU100aは、主制御用RAM100cの第1記憶領域の記憶内容を参照し、スロットマシン10の設定が正常であるか否かを判定する(ステップSg05)。
スロットマシン10の設定が正常である場合(ステップSg05:YES)、主制御用CPU100aは、第2記憶領域のスタックエリアから全レジスタを復帰させる(ステップSg06)。続いて、主制御用CPU100aは、第2記憶領域のうち第1アドレスの記憶領域を参照し、退避させていた第1記憶領域のスタックポインタを復帰させる(ステップSg07)。なお、ステップSg07の処理は、ステップSg01の処理において記憶(退避)させた退避情報から特定可能な第1記憶領域のスタックポインタに基づいて、第2記憶領域電源復帰処理後に復帰する処理を特定するものであり、第1記憶領域の記憶内容を書き換えるものではない。その後、主制御用CPU100aは、第2記憶領域電源復帰処理を終了する。
一方、電源断処理済フラグが設定されていない場合(ステップSg03:NO)、スタックポインタが正常でない場合(ステップSg04:NO)、及びスロットマシン10の設定が正常でない場合(ステップSg05:NO)、主制御用CPU100aは、エラーストップさせる。なお、本実施形態において、電源断処理済フラグが設定されていない場合や、スタックポインタが正常でない場合、スロットマシン10の設定が正常でない場合とは、例えば、主制御用RAM100cの記憶内容が不正に書き換えられた場合などが考えられる。したがって、本実施形態の第2記憶領域電源復帰処理は、スロットマシン10の不正に関する処理として把握できる。
上述したように、主制御用CPU100aは、第2記憶領域電源復帰処理において、第2記憶領域の記憶内容を処理結果に応じて書き換える。一方で、主制御用CPU100aは、第2記憶領域電源復帰処理において、第1記憶領域の記憶内容を書き換えない。換言すれば、本実施形態の第2記憶領域電源復帰処理は、主制御用RAM100cの記憶領域のうち第2記憶領域の記憶内容を処理結果に応じて書き換える一方で、第1記憶領域の記憶内容を書き換えない処理である。また、主制御用CPU100aは、第2記憶領域電源復帰処理においては、主制御用RAM100cの第1記憶領域の記憶内容及び第2記憶領域の記憶内容の両方を参照できる。
次に、上記のように構成したスロットマシン10の作用について説明する。
図12に示すように、本実施形態の主制御用CPU100aが実行可能な処理は、第1記憶領域を書き換え対象とする第1種処理と、第2記憶領域を書き換え対象とする第2種処理と、に分類可能である。本実施形態において、第1種処理は第1処理に相当し、第2種処理は、第2処理に相当する。
本実施形態の第1種処理には、遊技進行処理と、電源断処理と、電源投入処理と、電源復帰処理と、が分類される。また、本実施形態の第2種処理には、第2記憶領域電源投入処理と、第2記憶領域チェック初期化処理と、第2記憶領域電源復帰処理と、が分類される。このように、第2種処理は、何れも不正に関する処理である。
本実施形態の主制御用CPU100aは、第1種処理のような、主制御用RAM100cの第1記憶領域の記憶内容を書き換える処理においては、主制御用RAM100cの第2記憶領域の記憶内容を書き換えない。また、主制御用CPU100aは、第2種処理のような、主制御用RAM100cの第2記憶領域の記憶内容を書き換える処理においては、主制御用RAM100cの第1記憶領域の記憶内容を書き換えない。つまり、本実施形態の主制御用CPU100aは、実行する処理に応じて、記憶内容を書き換える記憶領域を異ならせている。
換言すれば、第1記憶領域は、第1種処理にとっては、使用可能(書き換え可能)な使用領域として把握できる一方、第2種処理にとっては、使用不能(書き換え不能)な使用外領域(未使用領域)として把握できる。また、第2記憶領域は、第1種処理にとっては、使用不能(書き換え不能)な使用外領域(未使用領域)として把握できる一方、第2種処理にとっては、使用可能(書き換え可能)な使用領域として把握できる。即ち、第1種処理は、処理結果を示す情報を記憶させるアドレスが第1記憶領域にある処理である一方で、第2種処理は、処理結果を示す情報を格納するアドレスが第2記憶領域にある処理である。
また、本実施形態の主制御用CPU100aは、第1種処理のなかでも電源断処理や電源投入処理、電源復帰処理において、第1記憶領域の記憶内容及び第2記憶領域の記憶内容の両方を参照できる。つまり、主制御用CPU100aは、第1記憶領域の記憶内容を書き換える処理においては、第1記憶領域の記憶内容及び第2記憶領域の記憶内容の両方に基づいて、第1記憶領域の記憶内容を書き換えることができる。また、主制御用CPU100aは、第2種処理のなかでも第2記憶領域電源復帰処理において、第1記憶領域の記憶内容及び第2記憶領域の記憶内容の両方を参照できる。つまり、主制御用CPU100aは、第2記憶領域の記憶内容を書き換える処理においては、第1記憶領域の記憶内容及び第2記憶領域の記憶内容の両方に基づいて、第2記憶領域の記憶内容を書き換えることができる。
また、本実施形態の主制御用CPU100aは、第2種処理のなかでも第2記憶領域電源復帰処理においては、第1記憶領域のスタックポインタを特定可能な退避情報や、全レジスタの記憶内容を第2記憶領域に記憶(退避)させる。そして、主制御用CPU100aは、これらの記憶内容を参照してスタックポインタや全レジスタを復帰させる。このため、主制御用CPU100aは、第2記憶領域の記憶領域を書き換える処理の実行中に、不正などによって第1記憶領域のスタックポインタや全レジスタの記憶内容が書き換えられることを抑制できる。
また、本実施形態の主制御用CPU100aは、第1種処理においては、別の第1種処理や、第2種処理を呼び出して実行することができるように構成されている。一方で、主制御用CPU100aは、第2種処理においては、別の第2種処理や、第1種処理を呼び出して実行することができないように構成されている。
したがって、本実施形態によれば、以下に示す効果を得ることができる。
(1)主制御用CPU100aが行う各種の処理について、処理毎に主制御用RAM100cの記憶領域のうち書き換える記憶領域を異ならせることができるため、各種の処理と書き換え対象となる記憶領域とを対応付け、主制御用RAM100cの記憶領域の管理を容易にできる。
(2)特に、第1種処理である電源復帰処理では、第1記憶領域の記憶内容を書き換える一方で第2記憶領域の記憶内容を書き換えない。また、電源復帰処理において呼び出される第2種処理である第2記憶領域電源復帰処理では、第2記憶領域の記憶内容を書き換える一方で第1記憶領域の記憶内容を書き換えない。このように、第1種処理と、該第1種処理により呼び出される第2種処理とで書き換え対象となる記憶領域を対応付けることで、主制御用RAM100cの記憶領域の管理をさらに容易にできる。
(3)電源投入処理や電源復帰処理などの第1種処理においては、第2種処理において書き換えられる第2記憶領域の記憶内容を参照できることから、第2種処理と同様の処理を第1種処理で行う必要がなく、遊技機の処理を全体的に効率化できる。
(4)例えば、電源復帰処理においては、第2記憶領域電源復帰処理において書き換えられる第2記憶領域の記憶内容を参照できることから、第2記憶領域電源復帰処理と同様の処理を電源復帰処理で行う必要がなく、遊技機の処理を全体的に効率化できる。
(5)また、電源投入処理においては、第2記憶領域チェック初期化処理において書き換えられる第2記憶領域の記憶内容を参照できることから、第2記憶領域チェック初期化処理と同様の処理を電源投入処理で行う必要がなく、遊技機の処理を全体的に効率化できる。
(6)さらに、電源投入処理においては、第2記憶領域電源投入処理において書き換えられる第2記憶領域の記憶内容を参照できることから、第2記憶領域電源投入処理と同様の処理を電源投入処理で行う必要がなく、遊技機の処理を全体的に効率化できる。
(7)具体的に、第2記憶領域電源投入処理では、前面扉12が開放されているか否かを判定し、扉開放フラグを第2記憶領域に設定する。そして、電源投入処理では、第2記憶領域電源投入処理で設定された第2記憶領域の扉開放フラグを参照できるため、前面扉12が開放されているか否かの処理を行う必要がない。このため、電源投入処理の処理内容を効率化できる。
(8)また、第2記憶領域電源投入処理では、設定器26が操作されているか否かを判定し、設定器操作フラグを第2記憶領域に設定する。そして、電源投入処理では、第2記憶領域電源投入処理で設定された第2記憶領域の設定器操作フラグを参照できるため、設定器26が操作されているか否かの処理を行う必要がない。このため、電源投入処理の処理内容を効率化できる。
(9)第2記憶領域電源復帰処理のような第2種処理においては、第1種処理において書き換えられる第1記憶領域の記憶内容を参照できることから、第1種処理と同様の処理を第2種処理で行う必要がなく、遊技機の処理を全体的に効率化できる。
(10)例えば、第2記憶領域電源復帰処理においては、電源復帰処理において書き換えられる第1記憶領域の記憶内容を参照できることから、電源復帰処理と同様の処理を第2記憶領域電源復帰処理で行う必要がなく、遊技機の処理を全体的に効率化できる。
(11)電源復帰処理及び第2記憶領域電源復帰処理は、スロットマシン10の復電時に行われる処理であることから、不正が行われ易い重要な処理といえる。そして、本実施形態では、このような重要な処理である電源復帰処理及び第2記憶領域電源復帰処理について、書き換え対象となる記憶領域を互いに異ならせたため、不要な記憶内容の混入を抑制し、セキュリティ性を向上できる。
(12)第2記憶領域電源復帰処理では、第1記憶領域のスタックポインタを特定可能な退避情報や、全レジスタの記憶内容を第2記憶領域に退避させるため、不正などによって第1記憶領域のスタックポインタや全レジスタの記憶内容が書き換えられることを抑制できる。したがって、不要な記憶内容の混入を抑制し、セキュリティ性をさらに向上できる。
(13)スロットマシン10の不正に関する処理である第2記憶領域電源復帰処理において、第2記憶領域の記憶内容を書き換えることとした。換言すれば、第2記憶領域には、不正に関する情報が記憶されるようにした。これによれば、各記憶領域に記憶される内容について規則性を持たせることができるため、主制御用RAM100cの記憶領域の管理をさらに容易にできる。
(14)電源投入処理及び第2記憶領域チェック初期化処理は、スロットマシン10の電源が投入されたときに行われる処理であることから、不正が行われ易い重要な処理であるといえる。そして、本実施形態では、このような重要な処理である電源投入処理及び第2記憶領域チェック初期化処理について、書き換え対象となる記憶領域を互いに異ならせたため、不要な記憶内容の混入を抑制し、セキュリティ性を向上できる。
(15)電源投入処理は、第1記憶領域の記憶内容を初期化することを含み、第2記憶領域チェック初期化処理は、第2記憶領域の記憶内容を初期化することを含む。これにより、各処理と、記憶内容の初期化の対象となる記憶領域とを対応付けることができ、主制御用RAM100cの記憶領域の管理をさらに容易にできる。
(16)電源投入処理は、第1記憶領域の記憶内容が正常であるか否かをチェックすることを含み、第2記憶領域チェック初期化処理は、第2記憶領域の記憶内容が正常であるか否かをチェックすることを含む。これにより、各処理と、記憶内容のチェックの対象となる記憶領域とを対応付けることができ、主制御用RAM100cの記憶領域の管理をさらに容易にできる。
(17)第2記憶領域電源投入処理は、前面扉12が開放されているか否かを判定することを含む処理であることから、前面扉12を開放して行う不正に関する重要な処理であるといえる。そして、本実施形態では、このような重要な処理である第2記憶領域電源投入処理について、電源投入処理のサブルーチンとして行うとともに、電源投入処理にて書き換えられる第1記憶領域ではなく、該第1記憶領域とは異なる第2記憶領域の記憶内容を書き換える。このため、主制御用RAM100cの記憶領域の管理をさらに容易にできるとともに、不要な記憶内容の混入を抑制し、セキュリティ性を向上できる。
(18)また、第2記憶領域電源投入処理は、スロットマシン10の設定を変更可能な設定器26が操作されているか否かを判定することを含む処理であることから、不正が行われ易い設定器26に関する重要な処理であるといえる。そして、本実施形態では、このような重要な処理である第2記憶領域電源投入処理について、電源投入処理のサブルーチンとして行うとともに、電源投入処理にて書き換えられる第1記憶領域ではなく、該第1記憶領域とは異なる第2記憶領域の記憶内容を書き換える。このため、主制御用RAM100cの記憶領域の管理をさらに容易にできるとともに、不要な記憶内容の混入を抑制し、セキュリティ性を向上できる。
なお、上記実施形態は以下のように変更してもよい。
・主制御用RAM100cの記憶領域において、第1記憶領域及び第2記憶領域をどのように定義するかは、適宜変更してもよい。例えば、第2記憶領域を、第1記憶領域よりも前のアドレスに割り当てられた記憶領域としてもよい。また、各記憶領域において、未使用エリアを設定しなくてもよい。即ち、主制御用CPU100aが行う処理の種別ごとに、書き換えられる記憶領域と書き換えられない記憶領域が異ならされていればよい。
・第1記憶領域及び第2記憶領域は、同一の基板に設けられた同一のRAM内の記憶領域でなくてもよく、例えば、同一の基板に設けられた別のRAM内の記憶領域であってもよいし、別の基板に設けられた別のRAM内の記憶領域であってもよい。この場合、複数のRAMの両方が記憶部に相当する。
・第1記憶領域に記憶させる記憶内容と、第2記憶領域に記憶させる記憶内容は、適宜変更してもよい。例えば、第1記憶領域に不正に関する情報を記憶させてもよいし、第2記憶領域に遊技の進行に関する情報を記憶させてもよい。ただし、主制御用RAM100cの記憶領域の管理を容易にするという観点では、情報を種類別に分類し、該情報の種類に応じて記憶させる記憶領域を異ならせるとよい。なお、情報の種類には、上記実施形態に記載した、遊技の進行に関する情報や不正に関する情報の他にも、リールの制御に関する情報や、演出に関する情報などを含む。
・主制御用CPU100aは、第1種処理及び第2種処理に加えて、主制御用RAM100cの第1記憶領域の記憶内容及び第2記憶領域の記憶内容の両方を書き換えない第3種処理を行ってもよい。また、このような第3種処理において、第1記憶領域の記憶内容及び第2記憶領域の記憶内容の両方を参照できるようにしてもよい。この場合、第3種処理において、第1記憶領域の記憶内容及び第2記憶領域の記憶内容の両方を参照できるため、記憶部の管理を容易にしつつも、さらに遊技機の処理を全体的に効率化できる。また、主制御用CPU100aは、第3種処理において、第1記憶領域の記憶内容及び第2記憶領域の記憶内容のうち何れか一方のみを参照してもよいし、何れも参照しないようにしてもよい。なお、第3種処理としては、例えば、第1記憶領域の記憶内容及び第2記憶領域の記憶内容のうち少なくとも一方の記憶内容を参照し、参照した結果に基づいて異なるサブルーチンを呼び出して実行させる処理などが想定できる。また、第3種処理としては、例えば、第1記憶領域の記憶内容及び第2記憶領域の記憶内容の何れも参照せず、当該第3種処理に予め定められた順序で所定のサブルーチンを呼び出して実行させる処理などが想定できる。
・上記実施形態において、主制御用CPU100aは、第1記憶領域の記憶内容及び第2記憶領域の記憶内容の何れかを書き換える処理のうち一部の処理において、該処理で書き換える記憶領域とは異なる記憶領域の記憶内容を参照できるようにしたが、これに限らない。例えば、第1記憶領域の記憶内容及び第2記憶領域の記憶内容の何れかを書き換える処理のうち全ての処理において、該処理で書き換える記憶領域とは異なる記憶領域の記憶内容を参照できるようにしてもよい。これによれば、所定の記憶領域の記憶内容を書き換える処理と同様の処理を、所定の記憶領域とは異なる記憶領域を書き換える処理において行う必要がなく、スロットマシン10の処理を全体的に効率化できる。
・また、第1記憶領域の記憶内容及び第2記憶領域の記憶内容の何れかを書き換える処理のうち全ての処理において、該処理で書き換える記憶領域とは異なる記憶領域の記憶内容を参照できないようにしてもよい。また、第1記憶領域の記憶内容を書き換える処理において、第2記憶領域の記憶内容を参照できる一方で、第2記憶領域の記憶内容を書き換える処理において、第1記憶領域の記憶内容を参照できないようにしてもよい。また、第2記憶領域の記憶内容を書き換える処理において、第1記憶領域の記憶内容を参照できる一方で、第1記憶領域の記憶内容を書き換える処理において、第2記憶領域の記憶内容を参照できないようにしてもよい。
・具体的に、第2記憶領域チェック初期化処理(第2種処理)において、第1記憶領域の記憶内容を参照できるようにしてもよい。また、第2記憶領域電源投入処理(第2種処理)において、第1記憶領域の記憶内容を参照できるようにしてもよい。また、遊技の進行に関する遊技進行処理(第1種処理)において、第2記憶領域の記憶内容を参照できるようにしてもよい。
・主制御用CPU100aが行う処理には、第1記憶領域の記憶内容及び第2記憶領域の記憶内容の両方を書き換える処理が含まれていてもよい。即ち、主制御用CPU100aが行う処理には、少なくとも第1記憶領域の記憶内容を書き換える一方で第2記憶領域の記憶内容を書き換えない処理と、第2記憶領域の記憶内容を書き換える一方で第2記憶領域の記憶内容を書き換えない処理と、が含まれていればよく、その他の処理をさらに含んでいてもよい。
・主制御用CPU100aは、第2記憶領域電源復帰処理において、第1記憶領域の記憶内容が書き換えられないように、第1記憶領域の記憶内容を第2記憶領域に退避させたが、他の記憶領域に退避させてもよいし、記憶内容を退避させなくてもよい。また、第2記憶領域の記憶内容を書き換える全ての処理において、第1記憶領域の記憶内容が書き換えられないように、第1記憶領域の記憶内容を退避させてもよい。これによれば、第1記憶領域の記憶内容を書き換えない処理を行っているにもかかわらず、不正などにより意図せず第1記憶領域の記憶内容が書き換えられることを抑制できる。また、主制御用CPU100aは、第1記憶領域の記憶内容を書き換える処理において、第2記憶領域の記憶内容が書き換えられないように、第2記憶領域の記憶内容を退避させてもよい。
・主制御用CPU100aが行う各種の処理における処理手順は、適宜変更してもよい。即ち、主制御用CPU100aが行う処理には、主制御用RAM100cの第1記憶領域の記憶内容を書き換える一方で第2記憶領域の記憶内容を書き換えない処理と、第2記憶領域の記憶内容を書き換える一方で第1記憶領域の記憶内容を書き換えない処理と、が少なくとも含まれていればよい。
・例えば、電源投入処理のステップSc10で実行される第2記憶領域チェック初期化処理のステップSe01の処理において、第2記憶領域の記憶内容が正常でないと判定された場合には、第2記憶領域にエラーフラグを設定した後、第2記憶領域チェック初期化処理を終了するようにしてもよい。この場合、第2記憶領域チェック初期化処理の終了後に、電源投入処理に復帰した際、エラーフラグが設定されているか否かを判定し、エラーフラグが設定されている場合にはエラーストップさせる一方で、エラーフラグが設定されていない場合には次の処理(ステップSc11)に進むようにしてもよい。
・また、電源復帰処理のステップSf04で実行される第2記憶領域電源復帰処理のステップSg03〜Sg05の処理において、否定判定された場合には、第2記憶領域にエラーフラグを設定した後、第2記憶領域電源復帰処理を終了するようにしてもよい。この場合、第2記憶領域電源復帰処理の終了後に、電源復帰処理に復帰した際、エラーフラグが設定されているか否かを判定し、エラーフラグが設定されている場合にはエラーストップさせる一方で、エラーフラグが設定されていない場合には次の処理(ステップSf05)に進むようにしてもよい。
・また、電源復帰処理のステップSf04で実行される第2記憶領域電源復帰処理における全レジスタを復帰させる処理(ステップSg06)及び第1記憶領域のスタックポインタを復帰させる処理(ステップSg07)のうち何れか一方又は両方の処理を、電源復帰処理において実行するようにしてもよい。即ち、第2記憶領域電源復帰処理においては、ステップSg05で肯定判定された場合に第2記憶領域電源復帰処理を終了し、その後の電源復帰処理において、全レジスタを復帰させる処理及び第1記憶領域のスタックポインタを復帰させる処理を実行するようにしてもよい。
・主制御用CPU100aは、第2種処理において、別の第2種処理や、第1種処理を呼び出して実行することができるように構成されていてもよい。
・第1種処理及び第2種処理に分類される処理の数は、適宜変更してもよい。例えば、第1種処理に分類される処理の数を1つとし、第2種処理に分類される処理の数を複数としてもよい。また、第1種処理に分類される処理の数を複数とし、第2種処理に分類される処理の数を1つとしてもよい。また、第1種処理に分類される処理の数と第2種処理に分類される処理の数を、何れも1つとしてもよい。また、第1種処理に分類される処理の数と第2種処理に分類される処理の数を、何れも複数としてもよく、この場合、第1種処理に分類される処理の数と第2種処理に分類される処理の数を異ならせてもよい。
・第1種処理や第2種処理として、割込処理を採用してもよい。また、第1種処理として割込処理を採用し、第2種処理として、割込処理により呼び出される処理(割込処理のサブルーチン)を採用してもよい。
・主制御用ROM100bは、主制御用CPU100aが行う各種の処理のうち、主制御用RAM100cの第1記憶領域を書き換える処理については、特定の記憶領域にて記憶保持する一方で、第2記憶領域を書き換える処理については、特定の記憶領域とは異なる非特定の記憶領域にて記憶保持するように構成されていてもよい。換言すれば、主制御用RAM100cの記憶領域のうち、第1記憶領域は、主制御用ROM100bの特定の記憶領域に記憶保持されている処理によって書き換えられる記憶領域であり、第2記憶領域は、主制御用ROM100bの非特定の記憶領域に記憶保持されている処理によって書き換えられる記憶領域として把握できる。
・また、主制御用ROM100bの特定の記憶領域に記憶されている処理では、特定の記憶領域に記憶されている別の処理や非特定の記憶領域に記憶されている処理を呼び出して実行させることができるようにしてもよい。また、主制御用ROM100bの非特定の記憶領域に記憶されている処理では、特定の記憶領域に記憶されている処理を呼び出して実行させることができないようにしてもよい。また、主制御用ROM100bの非特定の記憶領域に記憶されている処理では、非特定の記憶領域に記憶されている別の処理を呼び出して実行させることができるようにしてもよいし、できないようにしてもよい。
・主制御用ROM100bと主制御用RAM100cとは、異なるメモリであってもよいし、同一のメモリにおける別の記憶領域であってもよい。同様に、副制御用ROM200bと副制御用RAM200cとは、異なるメモリであってもよいし、同一のメモリにおける別の記憶領域であってもよい。
・電源基板300のバックアップ用電源300cは、主基板100の主制御用RAM100cに電源を供給可能である一方で、副基板200の副制御用RAM200cには電源を供給不可能に構成されていてもよい。即ち、副制御用RAM200cは、電源遮断時において記憶内容を保持できないように構成されていてもよい。
・副基板200の機能を複数の基板に分割してもよい。例えば、演出表示装置15を専門に制御する表示基板、スピーカ14を専門に制御する音声基板、及び装飾ランプ13を専門に制御するランプ基板を設けてもよく、これらの基板群を統括的に制御する統括基板をさらに設けてもよい。
・スロットマシン10は、設定器26に加えて又は代えて、主制御用RAM100cの記憶内容を消去(クリア)するためのRAMクリアスイッチを備えていてもよい。この場合、主制御用CPU100aは、図7に示す電源投入処理において、RAMクリアスイッチが操作されている場合、ステップSc09,Sc10の処理を実行するとよい。
・メダルとは異なる形状の遊技媒体を用いる遊技機に具体化してもよい。例えば、遊技媒体として遊技球(パチンコ球)を用いるスロットマシン(所謂パロット)や、パチンコ遊技機として具体化してもよい。パチンコ遊技機に具体化する場合、例えば、操作が可能な操作部として、設定器26に代えて、主制御用RAM100cの記憶内容を消去(クリア)するためのRAMクリアスイッチを備えるとよい。このとき、RAMクリアスイッチは、設定器26と同様に、前面扉(機体)の裏側に配設されるとよい。そして、主制御用CPU100aは、RAMクリアスイッチの操作状態に関する処理において、第2記憶領域の記憶内容を書き換える一方で、第1記憶領域の記憶内容を書き換えないようにしてもよい。なお、RAMクリアスイッチは、主制御用RAM100cの記憶内容を書き換える操作が可能な操作部であることから不正の対象となり易い。このため、RAMクリアスイッチの操作状態に関する処理は、不正に関する重要な処理として把握できる。また、RAMクリアスイッチの操作状態に関する処理において書き換えられる情報は、不正に関する情報として把握できる。
以下、上記実施形態及び別例から把握できる技術的思想を追記する。
(イ)前記第2処理は、遊技機の不正に関する処理である。
(ロ)処理を行う処理部と、前記処理部の処理結果を記憶する記憶部と、を備え、前記処理部が行う処理には、メインルーチンと、前記メインルーチンの実行中に呼び出されて実行されるサブルーチンと、があり、前記メインルーチンは、前記記憶部の記憶領域のうち第1領域の記憶内容を処理結果に応じて書き換える一方で、前記記憶部の記憶領域のうち第2領域の記憶内容を書き換えない処理であり、前記サブルーチンには、前記第2領域の記憶内容を処理結果に応じて書き換える一方で、前記第1領域の記憶内容を書き換えない処理を含むことを特徴とする遊技機。
(ハ)前記第2領域の記憶内容を処理結果に応じて書き換える一方で、前記第1領域の記憶内容を書き換えない処理は、遊技機の不正に関する処理である。