(57)【特許請求の範囲】
【請求項１】
遊技を行う遊技機であって、
プログラムに基づいて複数のレジスタを用いて演算を行うＣＰＵと、
第１制御に係る第１プログラムが記憶される第１プログラム記憶領域と、
第２制御に係る第２プログラムが記憶される第２プログラム記憶領域と、
前記第１制御において更新及び参照され、前記第２制御において更新されない第１変動データが記憶される第１変動データ記憶領域と、
前記第２制御において更新及び参照され、前記第１制御において更新されない第２変動データが記憶される第２変動データ記憶領域と、
を備え、
前記第１制御が行われているときに、前記第２制御を行う場合において、前記第１制御において使用していたか否かにかかわらず、前記レジスタの値を保護する保護処理を前記第１プログラムにおいて行った後、前記第２プログラムを呼び出して前記第２制御を行い、前記第２制御を行った後に、保護されていた値を復帰させる復帰処理を前記第１プログラムにおいて行う、遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パチンコ遊技機やスロットマシン等の遊技機に関する。
【背景技術】
【０００２】
この種の遊技機としては、例えば、遊技者の操作に応じて抽選や各部の動作を行わせるための遊技の進行に係わるプログラムと、遊技の進行とは直接係わらない異常検知（例えば、異常入賞判定）等に係るプログラムと、が一の記憶領域に混在して格納されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２２２４１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の遊技機では、一の記憶領域において遊技の進行に係わるプログラムと、遊技の進行とは直接係わらないプログラムと、が混在していると、どのプログラムが遊技の進行に係わるプログラムであるか、の判別が困難であった。
【０００５】
本発明は、このような問題点に着目してなされたものであり、遊技の進行に係わるプログラムと、遊技の進行と関わらないプログラムと、を容易に判別できる遊技機を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の請求項１の遊技機は、
遊技を行う遊技機であって、
プログラムに基づいて複数のレジスタを用いて演算を行うＣＰＵと、
第１制御に係る第１プログラムが記憶される第１プログラム記憶領域と、
第２制御に係る第２プログラムが記憶される第２プログラム記憶領域と、
前記第１制御において更新及び参照され、前記第２制御において更新されない第１変動データが記憶される第１変動データ記憶領域と、
前記第２制御において更新及び参照され、前記第１制御において更新されない第２変動データが記憶される第２変動データ記憶領域と、
を備え、
前記第１制御が行われているときに、前記第２制御を行う場合において、前記第１制御において使用していたか否かにかかわらず、前記レジスタの値を保護する保護処理を前記第１プログラムにおいて行った後、前記第２プログラムを呼び出して前記第２制御を行い、前記第２制御を行った後に、保護されていた値を復帰させる復帰処理を前記第１プログラムにおいて行う
ことを特徴としている。
本発明の手段１の遊技機は、
遊技を行う遊技機（スロットマシン１）において、
遊技の進行に係わる遊技プログラム（遊技プログラム）が記憶される遊技プログラム記憶領域（遊技プログラム領域）と、
前記遊技プログラムが参照する遊技用固定データ（遊技データ）が読み出し可能に記憶される遊技用固定データ記憶領域（遊技データ領域）と、
前記遊技プログラムが参照する遊技用変動データ（遊技プログラムのワークデータ）が読み出し及び書き込み可能に記憶される遊技用変動データ記憶領域（遊技ＲＡＭ領域）と、
前記遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラム（非遊技プログラム）が記憶される非遊技プログラム記憶領域（非遊技プログラム領域）と、
前記非遊技プログラムが参照する非遊技用固定データ（非遊技データ）が読み出し可能に記憶される非遊技用固定データ記憶領域（非遊技データ領域）と、
前記非遊技プログラムが参照する非遊技用変動データ（非遊技プログラムのワークデータ）が読み出し及び書き込み可能に記憶される非遊技用変動データ記憶領域（非遊技ＲＡＭ領域）と、
前記遊技プログラム及び前記非遊技プログラムを実行するプログラム実行手段（ＣＰＵ４１ａ）と、
前記プログラム実行手段が用いる特定記憶領域（レジスタ）と、
を備え、
前記プログラム実行手段は、
前記遊技プログラムを実行する際に、前記非遊技用変動データ記憶領域（非遊技ＲＡＭ領域）を参照も更新もせず、
前記非遊技プログラムを実行する際に、前記遊技用変動データ記憶領域（遊技ＲＡＭ領域）を参照することはあるが更新はせず、
前記非遊技プログラムを実行する際に、前記遊技プログラムが使用していた領域であるか否かに関わらず特定記憶領域（レジスタ）の全ての領域を保護する保護処理（スタックに退避する処理）を行う
ことを特徴としている。
この特徴によれば、遊技の進行に係わる遊技プログラムが記憶される遊技プログラム記憶領域と、遊技プログラムが参照する遊技用固定データが読み出し可能に記憶される遊技用固定データ記憶領域と、遊技プログラムが参照する遊技用変動データが読み出し及び書き込み可能に記憶される遊技用変動データ記憶領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム記憶領域と、非遊技プログラムが参照する非遊技用固定データが読み出し可能に記憶される非遊技用固定データ記憶領域と、非遊技プログラムが参照する非遊技用変動データが読み出し及び書き込み可能に記憶される非遊技用変動データ記憶領域と、がそれぞれ別個に割り当てられているため、遊技プログラム、遊技用固定データ及び遊技用変動データと、非遊技プログラム、非遊技用固定データ及び非遊技用変動データと、を記憶領域の違いに応じて容易に特定することができる。
また、プログラム実行手段が、遊技プログラムを実行する際に、非遊技用変動データ記憶領域を参照も更新もしない一方で、非遊技プログラムを実行する際に、遊技用変動データ記憶領域を参照することはあるが更新はしないため、非遊技プログラムを実行するにあたり、遊技プログラムが使用していたデータを簡単に利用することができつつ、非遊技プログラムが遊技プログラムの処理に影響を及ぼすことがない。
また、非遊技プログラムを実行する際に、遊技プログラムが使用していた領域であるか否かに関わらず特定記憶領域の全ての領域を保護する保護処理が行われるため、遊技プログラムに復帰する際に、非遊技プログラムが呼び出された時点の状態から確実に復帰することができる。
【０００７】
本発明の手段２の遊技機は、手段１に記載の遊技機であって、
前記プログラム実行手段は、前記遊技プログラムにおいて前記保護処理（レジスタの退避）を行った後、前記非遊技プログラムを呼び出し、非遊技プログラムからの復帰後に前記保護処理によって保護したデータを特定記憶領域に復帰させる復旧処理（レジスタの復帰）を行う
ことを特徴としている。
この特徴によれば、非遊技プログラムの呼び出し前に特定記憶領域の保護処理が行われ、非遊技プログラムからの復帰後に特定記憶領域の復旧処理が行われるため、非遊技プログラムによって特定記憶領域に記憶されたデータが遊技プログラムに影響を及ぼすことがない。
【０００８】
本発明の手段３の遊技機は、手段１または２に記載の遊技機であって、
前記プログラム実行手段は、前記非遊技プログラムを実行する際に、前記遊技用変動データ記憶領域（遊技ＲＡＭ領域）のうち特定の記憶領域（特定の領域）のみ参照可能とする
ことを特徴としている。
この特徴によれば、非遊技プログラムが参照するデータが特定の記憶領域に制限されているため、非遊技プログラムの参照先を容易に特定することができる。
【０００９】
本発明の手段４の遊技機は、手段１〜３のいずれかに記載の遊技機であって、
前記非遊技プログラムは、特定条件が成立したとき（異常が検知されたとき）に遊技の進行を不能化させる処理（エラー処理）を含む
ことを特徴としている。
この特徴によれば、非遊技プログラムにおける処理で異常等が検知されたときにそのまま遊技が進行してしまうことを防止できる。
【００１０】
本発明の手段５の遊技機は、手段１〜４のいずれかに記載の遊技機であって、
前記遊技プログラムは、遊技の進行に係わる複数種類の処理から呼び出されて実行される共通プログラム（遊技プログラムに含まれる共通汎用プログラム）を含み、
前記プログラム実行手段は、非遊技プログラムに含まれる遊技の進行に係わらない複数種類の処理から前記共通プログラム（遊技プログラムに含まれる共通汎用プログラム）を呼び出して実行することが可能である
ことを特徴としている。
この特徴によれば、遊技プログラムにおいて複数種類の処理で共通する共通プログラムを非遊技プログラムにおいても利用することが可能となる。
【００１１】
本発明の手段６の遊技機は、手段１〜５のいずれかに記載の遊技機であって、
遊技の進行に用いられない非遊技検出手段（投入口センサ２６、満タンセンサ３５ａ、ドア開放検出スイッチ２５）を備え、
前記非遊技検出手段（投入口センサ２６、満タンセンサ３５ａ、ドア開放検出スイッチ２５）により所定の検出がされたか否かの判定は非遊技プログラムにより行われる
ことを特徴としている。
この特徴によれば、非遊技検出手段により所定の検出がされたか否かの判定は非遊技プログラムにより行われることで遊技プログラムが複雑となってしまうことがない。
【００１２】
本発明の手段７の遊技機は、手段１〜６のいずれかに記載の遊技機であって、
遊技の進行に用いられる遊技検出手段（投入メダルセンサ３１、払出センサ３４ｃ）を備え、
前記遊技検出手段（投入メダルセンサ３１、払出センサ３４ｃ）の検出結果が遊技の進行に用いられない状況では、前記遊技検出手段（投入メダルセンサ３１、払出センサ３４ｃ）により所定の検出がされたか否かの判定は非遊技プログラムにより行われる
ことを特徴としている。
この特徴によれば、遊技検出手段の検出結果が遊技の進行に用いられない状況では、遊技検出手段により所定の検出がされたか否かの判定は非遊技プログラムにより行われることで、遊技検出手段の検出結果が遊技の進行に用いられない状況においても遊技検出手段の検出結果を利用できるうえに、遊技プログラムが必要以上に複雑となってしまうことがない。
【００１３】
尚、本発明は、本発明の請求項に記載された発明特定事項のみを有するものであって良いし、本発明の請求項に記載された発明特定事項とともに該発明特定事項以外の構成を有するものであっても良い。
【図面の簡単な説明】
【００１４】
【図１】本発明が適用された実施例１〜３のスロットマシンの正面図である。
【図２】スロットマシンの内部構造を示す斜視図である。
【図３】リールの図柄配列を示す図である。
【図４】スロットマシンの構成を示すブロック図である。
【図５】メイン制御部の構成を示すブロック図である。
【図６】メイン制御部におけるアドレスマップの一例を示す図である。
【図７】実施例１における遊技プログラム及び非遊技プログラムの構成を示す図である。
【図８】実施例１における遊技領域と非遊技領域との関係を示す図である。
【図９】実施例１において非遊技プログラムを呼び出す際の処理の流れを示すフローチャートである。
【図１０】実施例１のメイン制御部における起動処理の制御内容を示すフローチャートである。
【図１１】実施例１のメイン制御部における電断処理の制御内容を示すフローチャートである。
【図１２】実施例２における遊技領域と非遊技領域との関係を示す図である。
【図１３】実施例２において非遊技プログラムを呼び出す際の処理の流れを示すフローチャートである。
【図１４】実施例３における遊技プログラム及び非遊技プログラムの構成を示す図である。
【図１５】実施例３における遊技領域と非遊技領域との関係を示す図である。
【図１６】変形例１における遊技領域と非遊技領域との関係を示す図である。
【図１７】変形例２における遊技領域と非遊技領域との関係を示す図である。
【図１８】変形例３における遊技領域と非遊技領域との関係を示す図である。
【図１９】変形例４における遊技領域と非遊技領域との関係を示す図である。
【図２０】変形例５における遊技領域と非遊技領域との関係を示す図である。
【図２１】変形例６における遊技領域と非遊技領域との関係を示す図である。
【発明を実施するための形態】
【００１５】
本発明に係る遊技機を実施するための形態を実施例に基づいて以下に説明する。
【実施例１】
【００１６】
本発明が適用されたスロットマシンの実施例１を図面を用いて説明すると、本実施例のスロットマシン１は、図１に示すように、前面が開口する筐体１ａと、この筐体１ａの側端に回動自在に枢支された前面扉１ｂと、から構成されている。
【００１７】
本実施例のスロットマシン１の筐体１ａの内部には、図２に示すように、外周に複数種の図柄が配列されたリール２Ｌ、２Ｃ、２Ｒ（以下、左リール、中リール、右リール）が水平方向に並設されており、図１に示すように、これらリール２Ｌ、２Ｃ、２Ｒに配列された図柄のうち連続する３つの図柄が前面扉１ｂに設けられた透視窓３から見えるように配置されている。
【００１８】
リール２Ｌ、２Ｃ、２Ｒの外周部には、図３に示すように、それぞれ「赤７」、「青７」、「白７」、「ＢＡＲ」、「スイカ」、「チェリーａ」、「チェリーｂ」、「ベル」、「リプレイ」、「プラム」といった互いに識別可能な複数種類の図柄が所定の順序で、それぞれ２１個ずつ描かれている。リール２Ｌ、２Ｃ、２Ｒの外周部に描かれた図柄は、前面扉１ｂの略中央に設けられた透視窓３において各々上中下三段に表示される。尚、以下では、「赤７」、「青７」、「白７」をまとめて単に「７」という場合があり、「チェリーａ」、「チェリーｂ」をまとめて単に「チェリー」という場合がある。
【００１９】
各リール２Ｌ、２Ｃ、２Ｒは、各々対応して設けられたリールモータ３２Ｌ、３２Ｃ、３２Ｒ（図４参照）によって回転されることで、各リール２Ｌ、２Ｃ、２Ｒの図柄が透視窓３に連続的に変化しつつ表示される一方で、各リール２Ｌ、２Ｃ、２Ｒの回転が停止されることで、透視窓３に３つの連続する図柄が表示結果として導出表示されるようになっている。
【００２０】
リール２Ｌ、２Ｃ、２Ｒの内側には、リール２Ｌ、２Ｃ、２Ｒそれぞれに対して、基準位置を検出するリールセンサ３３Ｌ、３３Ｃ、３３Ｒと、リール２Ｌ、２Ｃ、２Ｒを背面から照射するリールＬＥＤ５５と、が設けられている。また、リールＬＥＤ５５は、リール２Ｌ、２Ｃ、２Ｒの連続する３つの図柄に対応する１２のＬＥＤからなり、各図柄をそれぞれ独立して照射可能とされている。
【００２１】
前面扉１ｂの各リール２Ｌ、２Ｃ、２Ｒの手前側（遊技者側）の位置には、液晶表示器５１（図１参照）の表示領域５１ａが配置されている。液晶表示器５１は、液晶素子に対して電圧が印加されていない状態で透過性を有する液晶パネルを有しており、表示領域５１ａの透視窓３に対応する透過領域５１ｂ及び透視窓３を介して遊技者側から各リール２Ｌ、２Ｃ、２Ｒが視認できるようになっている。また、表示領域５１ａの裏面には、裏面側から表示領域５１ａを照射するための導光板（図示略）が設けられているとともに、さらにその裏面には、表示領域５１ａのうち透過領域５１ｂを除く領域に内部を隠蔽する隠蔽部材（図示略）が設けられている。液晶表示器５１は、液晶素子を、導光板により照射された光を通過させる状態と通過させない状態とのいずれかに制御することにより、表示態様を変化させることが可能な表示装置である。
【００２２】
前面扉１ｂには、図１に示すように、メダルを投入可能なメダル投入部４、メダルが払い出されるメダル払出口９、クレジット（遊技者所有の遊技用価値として記憶されているメダル数）を用いて、その範囲内において遊技状態に応じて定められた規定数の賭数のうち最大の賭数を設定する際に操作されるＭＡＸＢＥＴスイッチ６、クレジットとして記憶されているメダル及び賭数の設定に用いたメダルを精算する（クレジット及び賭数の設定に用いた分のメダルを返却させる）際に操作される精算スイッチ１０、ゲームを開始する際に操作されるスタートスイッチ７、リール２Ｌ、２Ｃ、２Ｒの回転を各々停止する際に操作されるストップスイッチ８Ｌ、８Ｃ、８Ｒが遊技者により操作可能にそれぞれ設けられている。
【００２３】
尚、本実施例では、回転を開始した３つのリール２Ｌ、２Ｃ、２Ｒのうち、最初に停止するリールを第１停止リールと称し、また、その停止を第１停止と称する。同様に、２番目に停止するリールを第２停止リールと称し、また、その停止を第２停止と称し、３番目に停止するリールを第３停止リールと称し、また、その停止を第３停止あるいは最終停止と称する。
【００２４】
また、前面扉１ｂには、図１に示すように、クレジットとして記憶されているメダル枚数が表示されるクレジット表示器１１、入賞の発生により払い出されたメダル枚数やエラー発生時にその内容を示すエラーコード、後述のナビ報知によるリールの停止順を識別可能な情報が表示される遊技補助表示器１２、賭数が１設定されている旨を点灯により報知する１ＢＥＴＬＥＤ１４、賭数が２設定されている旨を点灯により報知する２ＢＥＴＬＥＤ１５、賭数が３設定されている旨を点灯により報知する３ＢＥＴＬＥＤ１６、メダルの投入が可能な状態を点灯により報知する投入要求ＬＥＤ１７、スタートスイッチ７の操作によるゲームのスタート操作が有効である旨を点灯により報知するスタート有効ＬＥＤ１８、ウェイト（前回のゲーム開始から一定期間経過していないためにリールの回転開始を待機している状態）中である旨を点灯により報知するウェイト中ＬＥＤ１９、後述するリプレイゲーム中である旨を点灯により報知するリプレイ中ＬＥＤ２０が設けられた遊技用表示部１３が設けられている。
【００２５】
ＭＡＸＢＥＴスイッチ６の内部には、ＭＡＸＢＥＴスイッチ６の操作による賭数の設定操作が有効である旨を点灯により報知するＢＥＴスイッチ有効ＬＥＤ２１（図４参照）が設けられており、ストップスイッチ８Ｌ、８Ｃ、８Ｒの内部には、該当するストップスイッチ８Ｌ、８Ｃ、８Ｒによるリールの停止操作が有効である旨を点灯により報知する左、中、右停止有効ＬＥＤ２２Ｌ、２２Ｃ、２２Ｒ（図４参照）がそれぞれ設けられている。
【００２６】
前面扉１ｂの内側には、図２に示すように、所定のキー操作により後述するエラー状態及び後述する打止状態を解除するためのリセット操作を検出するリセットスイッチ２３、後述する設定値の変更中や設定値の確認中にその時点の設定値が表示される設定値表示器２４、所定の契機に打止状態（リセット操作がなされるまでゲームの進行が規制される状態）に制御する打止機能の有効／無効を選択するための打止スイッチ３６ａ、所定の契機に自動精算処理（クレジットとして記憶されているメダルを遊技者の操作によらず精算（返却）する処理）に制御する自動精算機能の有効／無効を選択するための自動精算スイッチ３６ｂ、メダル投入部４から投入されたメダルの流路を、筐体１ａの内部に設けられた後述のホッパータンク３４ａ（図２参照）側またはメダル払出口９側のいずれか一方に選択的に切り替えるための流路切替ソレノイド３０、メダル投入部４から投入され、ホッパータンク３４ａ側に流下したメダルを検出する投入メダルセンサ３１、投入メダルセンサ３１の上流側で異物の挿入を検出する投入口センサ２６を有するメダルセレクタ２９、前面扉１ｂの開放状態を検出するドア開放検出スイッチ２５（図４参照）が設けられている。
【００２７】
筐体１ａの内部には、図２に示すように、前述したリール２Ｌ、２Ｃ、２Ｒ、リールモータ３２Ｌ、３２Ｃ、３２Ｒ（図４参照）、各リール２Ｌ、２Ｃ、２Ｒのリール基準位置をそれぞれ検出可能なリールセンサ３３Ｌ、３３Ｃ、３３Ｒ（図４参照）からなるリールユニット２、外部出力信号を出力するための外部出力基板１０００（図４参照）、メダル投入部４から投入されたメダルを貯留するホッパータンク３４ａ、ホッパータンク３４ａに貯留されたメダルをメダル払出口９より払い出すためのホッパーモータ３４ｂ（図４参照）、ホッパーモータ３４ｂの駆動により払い出されたメダルを検出する払出センサ３４ｃ（図４参照）からなるホッパーユニット３４、電源ボックス１００が設けられている。
【００２８】
ホッパーユニット３４の側部には、ホッパータンク３４ａから溢れたメダルが貯留されるオーバーフロータンク３５が設けられている。オーバーフロータンク３５の内部には、貯留されたメダルが所定量以上となったこと、すなわちオーバーフロータンク３５が満タン状態となったことを検出する満タンセンサ３５ａ（図４参照）が設けられている。
【００２９】
電源ボックス１００の前面には、図２に示すように、設定変更状態または設定確認状態に切り替えるための設定キースイッチ３７、通常時においてはエラー状態や打止状態を解除するためのリセットスイッチとして機能し、設定変更状態においては遊技者にとっての有利度（出玉率）の設定値を変更するための設定スイッチとして機能するリセット／設定スイッチ３８、電源をｏｎ／ｏｆｆする際に操作される電源スイッチ３９が設けられている。
【００３０】
尚、電源ボックス１００は、筐体１ａの内部に設けられており、さらに前面扉１ｂは、店員等が所持する所定のキー操作により開放可能な構成であるため、これら電源ボックス１００の前面に設けられた設定キースイッチ３７、リセット／設定スイッチ３８、電源スイッチ３９は、キーを所持する店員等の者のみが操作可能とされ、遊技者による操作ができないようになっている。また、所定のキー操作により検出されるリセットスイッチ２３も同様である。特に、設定キースイッチ３７は、キー操作により前面扉１ｂを開放したうえで、さらにキー操作を要することから、遊技場の店員のなかでも、設定キースイッチ３７の操作を行うキーを所持する店員のみ操作が可能とされている。
【００３１】
本実施例のスロットマシン１においてゲームを行う場合には、まず、メダルをメダル投入部４から投入するか、あるいはクレジットを使用して賭数を設定する。クレジットを使用するにはＭＡＸＢＥＴスイッチ６を操作すれば良い。遊技状態に応じて定められた規定数の賭数が設定されると、入賞ラインＬＮ（図１参照）が有効となり、スタートスイッチ７の操作が有効な状態、すなわち、ゲームが開始可能な状態となる。尚、遊技状態に対応する規定数のうち最大数を超えてメダルが投入された場合には、その分はクレジットに加算される。
【００３２】
入賞ラインとは、各リール２Ｌ、２Ｃ、２Ｒの透視窓３に表示された図柄の組合せが入賞図柄の組合せであるかを判定するために設定されるラインである。本実施例では、図１に示すように、リール２Ｌの中段、リール２Ｃの中段、リール２Ｒの中段、すなわち中段に水平方向に並んだ図柄に跨って設定された入賞ラインＬＮのみが入賞ラインとして定められている。尚、本実施例では、１本の入賞ラインのみを適用しているが、複数の入賞ラインを適用しても良い。
【００３３】
また、本実施例では、入賞ラインＬＮに入賞を構成する図柄の組合せが揃ったことを認識しやすくするために、入賞ラインＬＮとは別に、無効ラインＬＭ１〜４を設定している。無効ラインＬＭ１〜４は、これら無効ラインＬＭ１〜４に揃った図柄の組合せによって入賞が判定されるものではなく、入賞ラインＬＮに特定の入賞を構成する図柄の組合せが揃った際に、無効ラインＬＭ１〜４のいずれかに入賞ラインＬＮに揃った場合に入賞となる図柄の組合せ（例えば、ベル−ベル−ベル）が揃う構成とすることで、入賞ラインＬＮに特定の入賞を構成する図柄の組合せが揃ったことを認識しやすくするものである。本実施例では、図１に示すように、リール２Ｌの上段、リール２Ｃの上段、リール２Ｒの上段、すなわち上段に水平方向に並んだ図柄に跨って設定された無効ラインＬＭ１、リール２Ｌの下段、リール２Ｃの下段、リール２Ｒの下段、すなわち下段に水平方向に並んだ図柄に跨って設定された無効ラインＬＭ２、リール２Ｌの上段、リール２Ｃの中段、リール２Ｒの下段、すなわち右下がりに並んだ図柄に跨って設定された無効ラインＬＭ３、リール２Ｌの下段、リール２Ｃの中段、リール２Ｒの上段、すなわち右上がりに並んだ図柄に跨って設定された無効ラインＬＭ４の４種類が無効ラインＬＭとして定められている。
【００３４】
また、本実施例では、入賞役として、入賞ラインＬＮに役として定められた所定の図柄の組合せ（例えば、「ベル−スイカ−チェリーｂ」）が揃ったときに入賞するとともに、かつ所定の図柄組合せが揃うことにより無効ラインＬＭ１〜ＬＭ４のいずれかに所定の図柄組合せよりも認識しやすい指標となる図柄の組合せ（例えば、「スイカ−スイカ−スイカ」）が揃うことにより、無効ラインＬＭ１〜ＬＭ４のいずれかに揃った図柄の組合せによって入賞したように見せることが可能な役を含む。以下では、所定の図柄の組合せが入賞ラインＬＮに揃ったときに無効ラインＬＭ１〜ＬＭ４のいずれかに揃う図柄の組合せを、指標となる図柄の組合せと呼び、指標となる図柄の組合せを構成する図柄を指標図柄と呼ぶ。
【００３５】
ゲームが開始可能な状態でスタートスイッチ７を操作すると、各リール２Ｌ、２Ｃ、２Ｒが回転し、各リール２Ｌ、２Ｃ、２Ｒの図柄が連続的に変動する。この状態でいずれかのストップスイッチ８Ｌ、８Ｃ、８Ｒを操作すると、対応するリール２Ｌ、２Ｃ、２Ｒの回転が停止し、透視窓３に表示結果が導出表示される。
【００３６】
そして全てのリール２Ｌ、２Ｃ、２Ｒが停止されることで１ゲームが終了し、入賞ラインＬＮ上に予め定められた図柄の組合せ（以下、役ともいう）が各リール２Ｌ、２Ｃ、２Ｒの表示結果として停止した場合には入賞が発生し、その入賞に応じて定められた枚数のメダルが遊技者に対して付与され、クレジットに加算される。また、クレジットが上限数（本実施例では５０）に達した場合には、メダルが直接メダル払出口９（図１参照）から払い出されるようになっている。また、入賞ラインＬＮ上に、遊技状態の移行を伴う図柄の組合せが各リール２Ｌ、２Ｃ、２Ｒの表示結果として停止した場合には図柄の組合せに応じた遊技状態に移行するようになっている。
【００３７】
尚、本実施例では、スタートスイッチ７の操作が有効な状態でスタートスイッチ７の操作が検出されたときにゲームが開始し、全てのリールが停止したときにゲームが終了する。また、ゲームを実行するための１単位の制御（ゲーム制御）は、前回のゲームの終了に伴う全ての制御が完了したときに開始し、当該ゲームの終了に伴う全ての制御が完了したときに終了する。
【００３８】
また、本実施例では、３つのリールを用いた構成を例示しているが、リールを１つのみ用いた構成、２つのリールを用いた構成、４つ以上のリールを用いた構成としても良く、２以上のリールを用いた構成においては、２以上の全てのリールに導出された表示結果の組合せに基づいて入賞を判定する構成とすれば良い。また、本実施例では、物理的なリールにて可変表示装置が構成されているが、液晶表示器などの画像表示装置にて可変表示装置が構成されていても良い。
【００３９】
また、本実施例におけるスロットマシン１にあっては、ゲームが開始されて各リール２Ｌ、２Ｃ、２Ｒが回転して図柄の変動が開始した後、いずれかのストップスイッチ８Ｌ、８Ｃ、８Ｒが操作されたときに、当該ストップスイッチ８Ｌ、８Ｃ、８Ｒに対応するリールの回転が停止して図柄が停止表示される。ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作から対応するリール２Ｌ、２Ｃ、２Ｒの回転を停止するまでの最大停止遅延時間は１９０ｍｓ（ミリ秒）である。
【００４０】
リール２Ｌ、２Ｃ、２Ｒは、１分間に８０回転し、８０×２１（１リール当たりの図柄コマ数）＝１６８０コマ分の図柄を変動させるので、１９０ｍｓの間では最大で４コマの図柄を引き込むことができることとなる。つまり、停止図柄として選択可能なのは、ストップスイッチ８Ｌ、８Ｃ、８Ｒが操作されたときに表示されている図柄と、そこから４コマ先までにある図柄、合計５コマ分の図柄である。
【００４１】
このため、例えば、ストップスイッチ８Ｌ、８Ｃ、８Ｒのいずれかが操作されたときに当該ストップスイッチに対応するリールの下段に表示されている図柄を基準とした場合、当該図柄から４コマ先までの図柄を下段に表示させることができるため、リール２Ｌ、２Ｃ、２Ｒ各々において、ストップスイッチ８Ｌ、８Ｒのうちいずれかが操作されたときに当該ストップスイッチに対応するリールの中段に表示されている図柄を含めて５コマ以内に配置されている図柄を入賞ライン上に表示させることができる。
【００４２】
以下では、特に区別する必要がない場合にはリール２Ｌ、２Ｃ、２Ｒを単にリールという場合がある。また、リール２Ｌを左リール、リール２Ｃを中リール、リール２Ｒを右リールという場合がある。また、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作によりリール２Ｌ、２Ｃ、２Ｒを停止させる操作を停止操作という場合がある。
【００４３】
図４は、スロットマシン１の構成を示すブロック図である。スロットマシン１には、図４に示すように、遊技制御基板４０、演出制御基板９０、電源基板１０１が設けられており、遊技制御基板４０によって遊技状態が制御され、演出制御基板９０によって遊技状態に応じた演出が制御され、電源基板１０１によってスロットマシン１を構成する電気部品の駆動電源が生成され、各部に供給される。
【００４４】
電源基板１０１には、外部からＡＣ１００Ｖの電源が供給されるとともに、このＡＣ１００Ｖの電源からスロットマシン１を構成する電気部品の駆動に必要な直流電圧が生成され、遊技制御基板４０及び遊技制御基板４０を介して接続された演出制御基板９０に供給されるようになっている。尚、演出制御基板に対して電源を供給する電源供給ラインが遊技制御基板４０を介さず、電源基板１０１から演出制御基板９０に直接接続され、電源基板１０１から演出制御基板９０に対して直接電源が供給される構成としても良い。
【００４５】
また、電源基板１０１には、前述したホッパーモータ３４ｂ、払出センサ３４ｃ、満タンセンサ３５ａ、設定キースイッチ３７、リセット／設定スイッチ３８、電源スイッチ３９が接続されている。
【００４６】
遊技制御基板４０には、前述したＭＡＸＢＥＴスイッチ６、スタートスイッチ７、ストップスイッチ８Ｌ、８Ｃ、８Ｒ、精算スイッチ１０、リセットスイッチ２３、打止スイッチ３６ａ、自動精算スイッチ３６ｂ、投入メダルセンサ３１、投入口センサ２６、ドア開放検出スイッチ２５、リールセンサ３３Ｌ、３３Ｃ、３３Ｒが接続されているとともに、電源基板１０１を介して前述した払出センサ３４ｃ、満タンセンサ３５ａ、設定キースイッチ３７、リセット／設定スイッチ３８が接続されており、これら接続されたスイッチ類の検出信号が入力されるようになっている。
【００４７】
また、遊技制御基板４０には、前述したクレジット表示器１１、遊技補助表示器１２、１〜３ＢＥＴＬＥＤ１４〜１６、投入要求ＬＥＤ１７、スタート有効ＬＥＤ１８、ウェイト中ＬＥＤ１９、リプレイ中ＬＥＤ２０、ＢＥＴスイッチ有効ＬＥＤ２１、左、中、右停止有効ＬＥＤ２２Ｌ、２２Ｃ、２２Ｒ、設定値表示器２４、流路切替ソレノイド３０、リールモータ３２Ｌ、３２Ｃ、３２Ｒが接続されているとともに、電源基板１０１を介して前述したホッパーモータ３４ｂが接続されており、これら電気部品は、遊技制御基板４０に搭載された後述のメイン制御部４１の制御に基づいて駆動されるようになっている。
【００４８】
遊技制御基板４０には、メイン制御部４１、制御用クロック生成回路４２、乱数用クロック生成回路４３、スイッチ検出回路４４、モータ駆動回路４５、ソレノイド駆動回路４６、ＬＥＤ駆動回路４７、電断検出回路４８、リセット回路４９が搭載されている。
【００４９】
メイン制御部４１は、主に遊技の進行に関する処理を行うととともに、遊技制御基板４０に搭載された制御回路の各部を直接的または間接的に制御する。
【００５０】
制御用クロック生成回路４２は、メイン制御部４１の外部にて、所定周波数の発振信号となる制御用クロックＣＣＬＫを生成する。制御用クロック生成回路４２により生成された制御用クロックＣＣＬＫは、図５に示すクロック回路５０２に供給される。乱数用クロック生成回路４３は、メイン制御部４１の外部にて、制御用クロックＣＣＬＫの発振周波数とは異なる所定周波数の発振信号となる乱数用クロックＲＣＬＫを生成する。乱数用クロック生成回路４３により生成された乱数用クロックＲＣＬＫは、図５に示す乱数回路５０８ａ、５０８ｂに供給される。
【００５１】
スイッチ検出回路４４は、遊技制御基板４０に直接または電源基板１０１を介して接続されたスイッチ類から入力された検出信号を取り込んでメイン制御部４１に伝送する。モータ駆動回路４５は、メイン制御部４１から出力されたモータ駆動信号（ステッピングモータの位相信号）をリールモータ３２Ｌ、３２Ｃ、３２Ｒに伝送する。ソレノイド駆動回路４６は、メイン制御部４１から出力されたソレノイド駆動信号を流路切替ソレノイド３０に伝送する。ＬＥＤ駆動回路４７は、メイン制御部４１から出力されたＬＥＤ駆動信号を遊技制御基板４０に接続された各種表示器やＬＥＤに伝送する。電断検出回路４８は、スロットマシン１に供給される電源電圧を監視し、電圧低下を検出したときに、その旨を示す電圧低下信号をメイン制御部４１に対して出力する。リセット回路４９は、電源投入時または電源遮断時などの電源が不安定な状態においてメイン制御部４１にシステムリセット信号を与える。
【００５２】
図５は、遊技制御基板４０に搭載されたメイン制御部４１の構成例を示している。図５に示すメイン制御部４１は、１チップマイクロコンピュータであり、外部バスインターフェイス５０１と、クロック回路５０２と、照合用ブロック５０３と、固有情報記憶回路５０４と、演算回路５０５と、リセット／割込コントローラ５０６と、ＣＰＵ（Central  Processing  Unit）４１ａと、ＲＯＭ（Read  Only  Memory）４１ｂと、ＲＡＭ（Random  Access  Memory）４１ｃと、フリーランカウンタ回路５０７と、乱数回路５０８ａ、５０８ｂと、タイマ回路５０９と、割込コントローラ５１０と、パラレル入力ポート５１１と、シリアル通信回路５１２と、パラレル出力ポート５１３と、アドレスデコード回路５１４と、を備えて構成される。
【００５３】
リセット／割込コントローラ５０６は、メイン制御部４１の内部や外部にて発生する各種リセット、割込み要求を制御するためのものである。
【００５４】
リセット／割込コントローラ５０６は、指定エリア外走行禁止（ＩＡＴ）回路５０６ａとウォッチドッグタイマ（ＷＤＴ）５０６ｂとを備える。ＩＡＴ回路５０６ａは、ユーザプログラムが指定エリア内で正しく実行されているか否かを監視する回路であり、指定エリア外でユーザプログラムが実行されたことを検出するとＩＡＴ発生信号を出力する機能を備える。また、ウォッチドッグタイマ５０６ｂは、設定期間ごとにタイムアウト信号を発生させる機能を備える。
【００５５】
外部バスインターフェイス５０１は、メイン制御部４１を構成するチップの外部バスと内部バスとのインターフェイス機能や、アドレスバス、データバス及び各制御信号の方向制御機能などを有するバスインターフェイスである。
【００５６】
クロック回路５０２は、制御用クロックＣＣＬＫを２分周することなどにより、内部システムクロックＳＣＬＫを生成する回路である。
【００５７】
照合用ブロック５０３は、外部の照合機と接続し、チップの照合を行う機能を備える。固有情報記憶回路５０４は、メイン制御部４１の内部情報となる複数種類の固有情報を記憶する回路である。演算回路５０５は、乗算及び除算を行う回路である。
【００５８】
ＣＰＵ４１ａは、ＲＯＭ４１ｂから読み出した制御コードに基づいてユーザプログラム（ゲーム制御用の遊技制御処理プログラム）を実行することにより、スロットマシン１における遊技制御を実行する制御用ＣＰＵである。こうした遊技制御が実行されるときには、ＣＰＵ４１ａがＲＯＭ４１ｂから固定データを読み出す固定データ読出動作や、ＣＰＵ４１ａがＲＡＭ４１ｃに各種の変動データを書き込んで一時記憶させる変動データ書込動作、ＣＰＵ４１ａがＲＡＭ４１ｃに一時記憶されている各種の変動データを読み出す変動データ読出動作、ＣＰＵ４１ａが外部バスインターフェイス５０１やパラレル入力ポート５１１、シリアル通信回路５１２などを介してメイン制御部４１の外部から各種信号の入力を受け付ける受信動作、ＣＰＵ４１ａが外部バスインターフェイス５０１やシリアル通信回路５１２、パラレル出力ポート５１３などを介してメイン制御部４１の外部へと各種信号を出力する送信動作等も行われる。
【００５９】
ＲＯＭ４１ｂには、ユーザプログラム（ゲーム制御用の遊技制御処理プログラム）を示す制御コードや固定データ等が記憶されている。
【００６０】
ＲＡＭ４１ｃは、ゲーム制御用のワークエリアを提供する。ここで、ＲＡＭ４１ｃの少なくとも一部（本実施例ではＲＡＭ４１ｃの全領域）は、バックアップ電源によってバックアップされているバックアップＲＡＭであれば良い。すなわち、スロットマシン１への電力供給が停止しても、所定期間はＲＡＭ４１ｃの少なくとも一部の内容が保存される。
【００６１】
フリーランカウンタ回路５０７として、８ビットのフリーランカウンタを４チャネル搭載している。
【００６２】
乱数回路５０８ａ、５０８ｂは、８ビット乱数や１６ビット乱数といった、所定の更新範囲を有する乱数値となる数値データを生成する回路である。本実施例では、乱数回路５０８ａ、５０８ｂのうち１６ビット乱数回路５０８ｂが生成するハードウェア乱数は、後述する内部抽選用の乱数として用いられる。
【００６３】
タイマ回路５０９は、８ビットプログラマブルタイマであり、メイン制御部４１は、タイマ回路５０９として、８ビットのカウンタを３チャネル備える。本実施例では、タイマ回路５０９を用いてユーザプログラムによる設定により、リアルタイム割込要求や時間計測を行うことが可能である。
【００６４】
割込コントローラ５１０は、ＰＩ５／ＸＩＮＴ端子からの外部割込要求や、内蔵の周辺回路（例えば、シリアル通信回路５１２、乱数回路５０８ａ、５０８ｂ、タイマ回路５０９）からの割込要求を制御する回路である。
【００６５】
パラレル入力ポート５１１は、８ビット幅の入力専用ポート（ＰＩＰ）を内蔵する。また、図５に示すメイン制御部４１が備えるパラレル出力ポート５１３は、１１ビット幅の出力専用ポート（ＰＯＰ）を内蔵する。
【００６６】
シリアル通信回路５１２は、外部に対する入出力において非同期シリアル通信を行う回路である。尚、メイン制御部４１は、シリアル通信回路５１２として、送受信両用の１チャネルの回路と、送信用のみの３チャネルの回路と、を備える。
【００６７】
アドレスデコード回路５１４は、メイン制御部４１の内部における各機能ブロックのデコードや、外部装置用のデコード信号であるチップセレクト信号のデコードを行うための回路である。チップセレクト信号により、メイン制御部４１の内部回路、あるいは、周辺デバイスとなる外部装置を、選択的に有効動作させて、ＣＰＵ４１ａからのアクセスが可能となる。
【００６８】
本実施例においてメイン制御部４１は、パラレル出力ポート５１３を介してサブ制御部９１に各種のコマンドを送信する。メイン制御部４１からサブ制御部９１へ送信されるコマンドは一方向のみで送られ、サブ制御部９１からメイン制御部４１へ向けてコマンドが送られることはない。また、本実施例では、パラレル出力ポート５１３を介してサブ制御部９１に対してコマンドが送信される構成、すなわちコマンドがパラレル信号にて送信される構成であるが、シリアル通信回路５１２を介してサブ制御部９１に対してコマンドを送信する構成、すなわちコマンドをシリアル信号にて送信する構成としても良い。
【００６９】
また、メイン制御部４１は、遊技制御基板４０に接続された各種スイッチ類の検出状態がパラレル入力ポート５１１から入力される。そしてメイン制御部４１は、これらパラレル入力ポート５１１から入力される各種スイッチ類の検出状態に応じて段階的に移行する基本処理を実行する。
【００７０】
また、メイン制御部４１は、割込の発生により基本処理に割り込んで割込処理を実行できるようになっている。本実施例では、タイマ回路５０９にてタイムアウトが発生したこと、すなわち一定時間間隔（本実施例では、約０．５６ｍｓ）毎に後述するタイマ割込処理（メイン）を実行する。
【００７１】
また、メイン制御部４１は、割込処理の実行中に他の割込を禁止するように設定されているとともに、複数の割込が同時に発生した場合には、予め定められた順位によって優先して実行する割込が設定されている。尚、割込処理の実行中に他の割込要因が発生し、割込処理が終了してもその割込要因が継続している状態であれば、その時点で新たな割込が発生することとなる。
【００７２】
メイン制御部４１は、基本処理として遊技制御基板４０に接続された各種スイッチ類の検出状態が変化するまでは制御状態に応じた処理を繰り返しループし、各種スイッチ類の検出状態の変化に応じて段階的に移行する処理を実行する。また、メイン制御部４１は、一定時間間隔（本実施例では、約０．５６ｍｓ）毎にタイマ割込処理（メイン）を実行する。尚、タイマ割込処理（メイン）の実行間隔は、基本処理において制御状態に応じて繰り返す処理が一巡する時間とタイマ割込処理（メイン）の実行時間とを合わせた時間よりも長い時間に設定されており、今回と次回のタイマ割込処理（メイン）との間で必ず制御状態に応じて繰り返す処理が最低でも一巡することとなる。
【００７３】
演出制御基板９０には、液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ５５等の演出装置が接続されており、これら演出装置は、演出制御基板９０に搭載された後述のサブ制御部９１による制御に基づいて駆動されるようになっている。
【００７４】
尚、本実施例では、演出制御基板９０に搭載されたサブ制御部９１により、液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ５５等の演出装置の出力制御が行われる構成であるが、サブ制御部９１とは別に演出装置の出力制御を直接的に行う出力制御部を演出制御基板９０または他の基板に搭載し、サブ制御部９１がメイン制御部４１からのコマンドに基づいて演出装置の出力パターンを決定し、サブ制御部９１が決定した出力パターンに基づいて出力制御部が演出装置の出力制御を行う構成としても良く、このような構成では、サブ制御部９１及び出力制御部の双方によって演出装置の出力制御が行われることとなる。
【００７５】
また、本実施例では、演出装置として液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ５５を例示しているが、演出装置は、これらに限られず、例えば、機械的に駆動する表示装置や機械的に駆動する役モノなどを演出装置として適用しても良い。
【００７６】
演出制御基板９０には、サブＣＰＵ９１ａ、ＲＯＭ９１ｂ、ＲＡＭ９１ｃ、Ｉ／Ｏポート９１ｄを備えたマイクロコンピュータにて構成され、演出の制御を行うサブ制御部９１、演出制御基板９０に接続された液晶表示器５１の表示制御を行う表示制御回路９２、演出効果ＬＥＤ５２、リールＬＥＤ５５の駆動制御を行うＬＥＤ駆動回路９３、スピーカ５３、５４からの音声出力制御を行う音声出力回路９４、電源投入時またはサブＣＰＵ９１ａからの初期化命令が一定時間入力されないときにサブＣＰＵ９１ａにリセット信号を与えるリセット回路９５、演出制御基板９０に接続されたスイッチ類から入力された検出信号を検出するスイッチ検出回路９６、日付情報及び時刻情報を含む時間情報を出力する時計装置９７、スロットマシン１に供給される電源電圧を監視し、電圧低下を検出したときに、その旨を示す電圧低下信号をサブＣＰＵ９１ａに対して出力する電断検出回路９８、その他の回路等、が搭載されており、サブＣＰＵ９１ａは、遊技制御基板４０から送信されるコマンドを受けて、演出を行うための各種の制御を行うとともに、演出制御基板９０に搭載された制御回路の各部を直接的または間接的に制御する。
【００７７】
リセット回路９５は、遊技制御基板４０においてメイン制御部４１にシステムリセット信号を与えるリセット回路４９よりもリセット信号を解除する電圧が低く定められており、電源投入時においてサブ制御部９１は、メイン制御部４１よりも早い段階で起動するようになっている。一方で、電断検出回路９８は、遊技制御基板４０においてメイン制御部４１に電圧低下信号を出力する電断検出回路４８よりも電圧低下信号を出力する電圧が低く定められており、電断時においてサブ制御部９１は、メイン制御部４１よりも遅い段階で停電を検知し、後述する電断処理（サブ）を行うこととなる。
【００７８】
サブ制御部９１は、メイン制御部４１と同様に、割込機能を備えており、メイン制御部４１からのコマンド受信時に割込を発生させて、メイン制御部４１から送信されたコマンドを取得し、バッファに格納するコマンド受信割込処理を実行する。また、サブ制御部９１は、システムクロックの入力数が一定数に到達する毎、すなわち一定時間間隔（約２ｍｓ）毎に割込を発生させて後述するタイマ割込処理（サブ）を実行する。
【００７９】
また、サブ制御部９１は、メイン制御部４１とは異なり、コマンドの受信に基づいて割込が発生した場合には、タイマ割込処理（サブ）の実行中であっても、当該処理に割り込んでコマンド受信割込処理を実行し、タイマ割込処理（サブ）の契機となる割込が同時に発生してもコマンド受信割込処理を最優先で実行するようになっている。
【００８０】
また、サブ制御部９１にも、停電時においてバックアップ電源が供給されており、バックアップ電源が供給されている間は、ＲＡＭ９１ｃに記憶されているデータが保持されるようになっている。
【００８１】
本実施例のスロットマシン１は、設定値に応じてメダルの払出率が変わるものである。詳しくは、後述する内部抽選等の遊技者に対する有利度に影響する抽選において設定値に応じた当選確率を用いることにより、メダルの払出率が変わるようになっている。設定値は１〜６の６段階からなり、６が最も払出率が高く、５、４、３、２、１の順に値が小さくなるほど払出率が低くなる。すなわち設定値として６が設定されている場合には、遊技者にとって最も有利度が高く、５、４、３、２、１の順に値が小さくなるほど有利度が段階的に低くなる。
【００８２】
設定値を変更するためには、設定キースイッチ３７をｏｎ状態としてからスロットマシン１の電源をｏｎする必要がある。設定キースイッチ３７をｏｎ状態として電源をｏｎすると、設定値表示器２４にＲＡＭ４１ｃから読み出された設定値が表示値として表示され、リセット／設定スイッチ３８の操作による設定値の変更操作が可能な設定変更状態に移行する。設定変更状態において、リセット／設定スイッチ３８が操作されると、設定値表示器２４に表示された表示値が１ずつ更新されていく（設定値６からさらに操作されたときは、設定値１に戻る）。そして、スタートスイッチ７が操作されると表示値を設定値として確定する。そして、設定キースイッチ３７がｏｆｆされると、確定した表示値（設定値）がメイン制御部４１のＲＡＭ４１ｃに格納され、遊技の進行が可能な状態に移行する。
【００８３】
尚、設定キースイッチ３７がｏｎ状態で電源投入された場合に、ドア開放検出スイッチ２５により前面扉１ｂの開放が検出されていることを条件に、設定変更状態に移行する構成としても良く、このような構成とすることで、前面扉１ｂが開放されていない状態で不正に設定変更がされてしまうことを防止できる。また、前面扉１ｂの開放が検出されていることを条件に、設定変更状態に移行する構成においては、設定変更状態に移行後、ドア開放検出スイッチ２５により前面扉１ｂの開放が検出されなくなっても、設定変更状態を維持することが好ましく、これにより、設定変更中に前面扉１ｂが一時的に閉じてしまっても、再度、設定変更状態に移行させるための操作を必要とせず、設定変更操作が煩雑となってしまうことがない。また、設定変更状態に移行後、スタートスイッチ７が操作されて設定値が確定した後、設定キースイッチ３７がｏｆｆとなったときに、ドア開放検出スイッチ２５により前面扉１ｂの開放が検出されていることを条件に、設定変更状態を終了して遊技の進行が可能な状態に移行する構成としても良く、このような構成においても、前面扉１ｂが開放されていない状態で不正に設定変更がされてしまうことを防止できる。
【００８４】
また、設定値を確認するためには、ゲーム終了後、賭数が設定されていない状態で設定キースイッチ３７をｏｎ状態とすれば良い。このような状況で設定キースイッチ３７をｏｎ状態とすると、設定値表示器２４にＲＡＭ４１ｃから読み出された設定値が表示されることで設定値を確認可能な設定確認状態に移行する。設定確認状態においては、ゲームの進行が不能であり、設定キースイッチ３７をｏｆｆ状態とすることで、設定確認状態が終了し、ゲームの進行が可能な状態に復帰することとなる。
【００８５】
尚、ゲーム終了後、賭数が設定されていない状態で設定キースイッチ３７がｏｎ状態となったときに、ドア開放検出スイッチ２５により前面扉１ｂの開放が検出されていることを条件に、設定確認状態に移行する構成としても良く、このような構成とすることで、前面扉１ｂが開放されていない状態で不正に設定値が確認されてしまうことを防止できる。また、前面扉１ｂの開放が検出されていることを条件に、設定確認状態に移行する構成においては、設定確認状態に移行後、ドア開放検出スイッチ２５により前面扉１ｂの開放が検出されなくなっても、設定確認状態を維持することが好ましく、これにより、設定確認中に前面扉１ｂが一時的に閉じてしまっても、再度、設定確認状態に移行させるための操作を必要とせず、設定確認操作が煩雑となってしまうことがない。また、設定確認状態に移行後、スタートスイッチ７が操作されて設定値が確定した後、設定キースイッチ３７がｏｆｆとなったときに、ドア開放検出スイッチ２５により前面扉１ｂの開放が検出されていることを条件に、設定確認状態を終了して遊技の進行が可能な状態に復帰する構成としても良く、このような構成においても、前面扉１ｂが開放されていない状態で不正に設定値が確認されてしまうことを防止できる。
【００８６】
本実施例のスロットマシン１においては、メイン制御部４１は、タイマ割込処理（メイン）を実行する毎に、電断検出回路４８からの電圧低下信号が検出されているか否かを判定する停電判定処理を行い、停電判定処理において電圧低下信号が検出されていると判定した場合に、次回復帰時にＲＡＭ４１ｃのデータが正常か否かを判定するためのデータを設定する電断処理（メイン）を実行する。
【００８７】
そして、メイン制御部４１は、その起動時においてＲＡＭ４１ｃのデータが正常であることを条件に、ＲＡＭ４１ｃに記憶されているデータに基づいてメイン制御部４１の処理状態を電断前の状態に復帰させるが、ＲＡＭ４１ｃデータが正常でない場合には、ＲＡＭ異常と判定し、ＲＡＭ異常エラーコードをレジスタにセットしてＲＡＭ異常エラー状態に制御し、遊技の進行を不能化させるようになっている。
【００８８】
また、サブ制御部９１もタイマ割込処理（サブ）において電断検出回路９８からの電圧低下信号が検出されているか否かを判定し、電圧低下信号が検出されていると判定した場合に、次回復帰時にＲＡＭ９１ｃのデータが正常か否かを判定するためのデータを設定する電断処理（サブ）を実行する。
【００８９】
そして、サブ制御部９１は、その起動時においてＲＡＭ９１ｃのデータが正常であることを条件に、ＲＡＭ９１ｃに記憶されているデータに基づいてサブ制御部９１の処理状態を電断前の状態に復帰させるが、ＲＡＭ９１ｃのデータが正常でない場合には、ＲＡＭ異常と判定し、ＲＡＭ９１ｃを初期化するようになっている。この場合、メイン制御部４１と異なり、ＲＡＭ９１ｃが初期化されるのみで演出の実行が不能化されることはない。
【００９０】
また、サブ制御部９１は、その起動時においてＲＡＭ９１ｃのデータが正常であると判断された場合でも、メイン制御部４１から設定変更状態に移行した旨を示す後述の設定コマンドを受信した場合、起動後一定時間が経過してもメイン制御部４１の制御状態が復帰した旨を示す後述の復帰コマンドも設定コマンドも受信しない場合にも、ＲＡＭ９１ｃを初期化するようになっている。この場合も、ＲＡＭ９１ｃが初期化されるのみで演出の実行が不能化されることはない。
【００９１】
次に、メイン制御部４１のＲＡＭ４１ｃの初期化について説明する。メイン制御部４１のＲＡＭ４１ｃの格納領域は、重要ワーク、非保存ワーク、一般ワーク、特別ワーク、未使用領域、スタック領域に区分されている。
【００９２】
本実施例においてメイン制御部４１は、ＲＡＭ異常エラー発生時、設定キースイッチ３７がｏｎの状態での起動時、ボーナス終了時、設定キースイッチ３７がｏｆｆの状態での起動時でＲＡＭ４１ｃのデータが破壊されていないとき、１ゲーム終了時の５つからなる初期化条件が成立した際に、各初期化条件に応じて初期化される領域の異なる４種類の初期化を行う。
【００９３】
初期化１は起動時において設定キースイッチ３７がｏｎの状態であり、設定変更状態へ移行する場合において、その前に行う初期化、またはＲＡＭ異常エラー発生時に行う初期化であり、初期化１では、ＲＡＭ４１ｃの格納領域のうち重要ワーク及び特別ワーク以外の領域が初期化される。初期化２は、ボーナス終了時に行う初期化であり、初期化２では、ＲＡＭ４１ｃの格納領域のうち一般ワーク、未使用領域及び未使用スタック領域が初期化される。初期化３は、起動時において設定キースイッチ３７がｏｆｆの状態であり、かつＲＡＭ４１ｃのデータが破壊されていない場合において行う初期化であり、初期化３では、非保存ワーク、未使用領域及び未使用スタック領域が初期化される。初期化４は、１ゲーム終了時に行う初期化であり、初期化４では、ＲＡＭ４１ｃの格納領域のうち、未使用領域及び未使用スタック領域が初期化される。
【００９４】
尚、本実施例では、初期化１を設定変更状態の移行前に行っているが、設定変更状態の終了時に行ったり、設定変更状態移行前、設定変更状態終了時の双方で行ったりするようにしても良い。
【００９５】
また、本実施例では、初期化１においてＲＡＭ４１ｃの格納領域のうち重要ワーク及び特別ワーク以外の領域が初期化される構成であるが、ＲＡＭ４１ｃの全ての領域が初期化される構成としても良い。
【００９６】
また、特別ワークは、遊技状態を示す遊技状態フラグが格納される遊技状態格納ワーク及び内部当選フラグが格納される内部当選フラグ格納ワークを含み、前述のように設定変更状態に移行する場合にも特別ワークは初期化されることがないため、設定変更がされた場合でも設定変更前の遊技状態及び内部当選フラグが維持されるようになっている。
【００９７】
本実施例のスロットマシン１は、遊技状態に応じて設定可能な賭数の規定数が定められており、遊技状態に応じて定められた規定数の賭数が設定されたことを条件にゲームを開始させることが可能となる。尚、本実施例では、遊技状態に応じた規定数の賭数が設定された時点で、入賞ラインＬＮが有効化される。
【００９８】
そして、本実施例では、全てのリール２Ｌ、２Ｃ、２Ｒが停止した際に、有効化された入賞ライン（本実施例の場合、常に全ての入賞ラインが有効化されるため、以下では、有効化された入賞ラインを単に入賞ラインという）上に役と呼ばれる図柄の組合せが揃うと入賞となる。役は、同一図柄の組合せであっても良いし、異なる図柄を含む組合せであっても良い。
【００９９】
入賞となる役の種類は、遊技状態に応じて定められているが、大きく分けて、メダルの払い出しを伴う小役と、賭数の設定を必要とせずに次のゲームを開始可能となる再遊技役と、遊技者にとって有利な遊技状態への移行を伴う特別役と、がある。以下では、小役と再遊技役をまとめて一般役とも呼ぶ。
【０１００】
遊技状態に応じて定められた各役の入賞が発生するためには、後述する内部抽選に当選して、当該役の当選フラグがＲＡＭ４１ｃに設定されている必要がある。
【０１０１】
尚、これら各役の当選フラグのうち、小役及び再遊技役の当選フラグは、当該フラグが設定されたゲームにおいてのみ有効とされ、次のゲームでは無効となるが、特別役の当選フラグは、当該フラグにより許容された役の組合せが揃うまで有効とされ、許容された役の組合せが揃ったゲームにおいて無効となる。すなわち特別役の当選フラグが一度当選すると、例え、当該フラグにより許容された役の組合せを揃えることができなかった場合にも、その当選フラグは無効とされずに、次のゲームへ持ち越されることとなる。
【０１０２】
以下、本実施例の内部抽選について説明する。内部抽選は、メイン制御部４１が、上記した各役への入賞を許容するか否かを、全てのリール２Ｌ、２Ｃ、２Ｒの表示結果が導出される以前（具体的には、スタートスイッチ７の検出時）に決定するものである。内部抽選では、まず、スタートスイッチ７の検出時に内部抽選用の乱数値（０〜６５５３５の整数）を取得する。詳しくは、乱数回路５０８ｂにより生成され、乱数回路５０８ｂの乱数値レジスタに格納されている値をＲＡＭ４１ｃに割り当てられた抽選用ワークに設定する。そして、遊技状態に応じて定められた各役について、抽選用ワークに格納された数値データと、現在の遊技状態、賭数及び設定値に応じて定められた各役の判定値数に応じて入賞を許容するか否かの判定が行われる。
【０１０３】
内部抽選では、内部抽選の対象となる役、現在の遊技状態及び設定値に対応して定められた判定値数を、内部抽選用の乱数値（抽選用ワークに格納された数値データ）に順次加算し、加算の結果がオーバーフローしたときに、当該役に当選したものと判定される。このため、判定値数の大小に応じた確率（判定値数／６５５３６）で役が当選することとなる。
【０１０４】
そして、いずれかの役の当選が判定された場合には、当選が判定された役に対応する当選フラグをＲＡＭ４１ｃに割り当てられた内部当選フラグ格納ワークに設定する。内部当選フラグ格納ワークは、２バイトの格納領域にて構成されており、そのうちの上位バイトが、特別役の当選フラグが設定される特別役格納ワークとして割り当てられ、下位バイトが、一般役の当選フラグが設定される一般役格納ワークとして割り当てられている。詳しくは、特別役が当選した場合には、当該特別役が当選した旨を示す特別役の当選フラグを特別役格納ワークに設定し、一般役格納ワークに設定されている当選フラグをクリアする。また、一般役が当選した場合には、当該一般役が当選した旨を示す一般役の当選フラグを一般役格納ワークに設定する。尚、いずれの役及び役の組合せにも当選しなかった場合には、一般役格納ワークのみクリアする。
【０１０５】
次に、リール２Ｌ、２Ｃ、２Ｒの停止制御について説明する。
【０１０６】
メイン制御部４１は、リールの回転が開始したとき、及びリールが停止し、かつ未だ回転中のリールが残っているときに、ＲＯＭ４１ｂに格納されているテーブルインデックス及びテーブル作成用データを参照して、回転中のリール別に停止制御テーブルを作成する。そして、ストップスイッチ８Ｌ、８Ｃ、８Ｒのうち、回転中のリールに対応するいずれかの操作が有効に検出されたときに、該当するリールの停止制御テーブルを参照し、参照した停止制御テーブルの滑りコマ数に基づいて、操作されたストップスイッチ８Ｌ、８Ｃ、８Ｒに対応するリール２Ｌ、２Ｃ、２Ｒの回転を停止させる制御を行う。
【０１０７】
テーブルインデックスには、内部抽選による当選フラグの設定状態（以下、内部当選状態という）別に、テーブルインデックスを参照する際の基準アドレスから、テーブル作成用データが格納された領域の先頭アドレスを示すインデックスデータが格納されているアドレスまでの差分が登録されている。これにより内部当選状態に応じた差分を取得し、基準アドレスに対してその差分を加算することで該当するインデックスデータを取得することが可能となる。尚、役の当選状況が異なる場合でも、同一の制御が適用される場合においては、インデックスデータとして同一のアドレスが格納されており、このような場合には、同一のテーブル作成用データを参照して、停止制御テーブルが作成されることとなる。
【０１０８】
テーブル作成用データは、停止操作位置に応じた滑りコマ数を示す停止制御テーブルと、リールの停止状況に応じて参照すべき停止制御テーブルのアドレスと、からなる。
【０１０９】
リールの停止状況に応じて参照される停止制御テーブルは、全てのリールが回転しているか、左リールのみ停止しているか、中リールのみ停止しているか、右リールのみ停止しているか、左、中リールが停止しているか、左、右リールが停止しているか、中、右リールが停止しているか、によって異なる場合があり、さらに、いずれかのリールが停止している状況においては、停止済みのリールの停止位置によっても異なる場合があるので、それぞれの状況について、参照すべき停止制御テーブルのアドレスが回転中のリール別に登録されており、テーブル作成用データの先頭アドレスに基づいて、それぞれの状況に応じて参照すべき停止制御テーブルのアドレスが特定可能とされ、この特定されたアドレスから、それぞれの状況に応じて必要な停止制御テーブルを特定できるようになっている。尚、リールの停止状況や停止済みのリールの停止位置が異なる場合でも、同一の停止制御テーブルが適用される場合においては、停止制御テーブルのアドレスとして同一のアドレスが登録されているものもあり、このような場合には、同一の停止制御テーブルが参照されることとなる。
【０１１０】
停止制御テーブルは、停止操作が行われたタイミング別の滑りコマ数を特定可能なデータである。本実施例では、リールモータ３２Ｌ、３２Ｃ、３２Ｒに、３３６ステップ（０〜３３５）の周期で１周するステッピングモータを用いている。すなわちリールモータ３２Ｌ、３２Ｃ、３２Ｒを３３６ステップ駆動させることでリール２Ｌ、２Ｃ、２Ｒが１周することとなる。そして、リール１周に対して１６ステップ（１図柄が移動するステップ数）毎に分割した２１の領域（コマ）が定められており、これらの領域には、リール基準位置から０〜２０の領域番号が割り当てられている。一方、１リールに配列された図柄数も２１であり、各リールの図柄に対して、リール基準位置から０〜２０の図柄番号が割り当てられているので、０番図柄から２０番図柄に対して、それぞれ０〜２０の領域番号が順に割り当てられていることとなる。そして、停止制御テーブルには、領域番号別の滑りコマ数が所定のルールで圧縮して格納されており、停止制御テーブルを展開することによって領域番号別の滑りコマ数を取得できるようになっている。
【０１１１】
前述のようにテーブルインデックス及びテーブル作成用データを参照して作成される停止制御テーブルは、領域番号に対応して、各領域番号に対応する領域が停止基準位置（本実施例では、透視窓３の下段図柄の領域）に位置するタイミング（リール基準位置からのステップ数が各領域番号のステップ数の範囲に含まれるタイミング）でストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出された場合の滑りコマ数がそれぞれ設定されたテーブルである。
【０１１２】
次に、停止制御テーブルの作成手順について説明すると、まず、リール回転開始時においては、そのゲームの内部当選状態に応じたテーブル作成用データの先頭アドレスを取得する。具体的には、まずテーブルインデックスを参照し、内部当選状態に対応するインデックスデータを取得し、そして取得したインデックスデータに基づいてテーブル作成用データを特定し、特定したテーブル作成用データから全てのリールが回転中の状態に対応する各リールの停止制御テーブルのアドレスを取得し、取得したアドレスに格納されている各リールの停止制御テーブルを展開して全てのリールについて停止制御テーブルを作成する。
【０１１３】
また、いずれか１つのリールが停止したとき、またはいずれか２つのリールが停止したときには、リール回転開始時に取得したインデックスデータ、すなわちそのゲームの内部当選状態に応じたテーブル作成用データの先頭アドレスに基づいてテーブル作成用データを特定し、特定したテーブル作成用データから停止済みのリール及び当該リールの停止位置の領域番号に対応する未停止リールの停止制御テーブルのアドレスを取得し、取得したアドレスに格納されている各リールの停止制御テーブルを展開して未停止のリールについて停止制御テーブルを作成する。
【０１１４】
次に、メイン制御部４１がストップスイッチ８Ｌ、８Ｃ、８Ｒのうち、回転中のリールに対応するいずれかの操作を有効に検出したときに、該当するリールに表示結果を導出させる際の制御について説明すると、ストップスイッチ８Ｌ、８Ｃ、８Ｒのうち、回転中のリールに対応するいずれかの操作を有効に検出すると、停止操作を検出した時点のリール基準位置からのステップ数に基づいて停止操作位置の領域番号を特定し、停止操作が検出されたリールの停止制御テーブルを参照し、特定した停止操作位置の領域番号に対応する滑りコマ数を取得する。そして、取得した滑りコマ数分リールを回転させて停止させる制御を行う。具体的には、停止操作を検出した時点のリール基準位置からのステップ数から、取得した滑りコマ数引き込んで停止させるまでのステップ数を算出し、算出したステップ数分リールを回転させて停止させる制御を行う。これにより、停止操作が検出された停止操作位置の領域番号に対応する領域から滑りコマ数分先の停止位置となる領域番号に対応する領域が停止基準位置（本実施例では、透視窓３の下段図柄の領域）に停止することとなる。
【０１１５】
本実施例のテーブルインデックスには、一の遊技状態における一の内部当選状態に対応するインデックスデータとして１つのアドレスのみが格納されており、更に、一のテーブル作成用データには、一のリールの停止状況（及び停止済みのリールの停止位置）に対応する停止制御テーブルの格納領域のアドレスとして１つのアドレスのみが格納されている。すなわち一の遊技状態における一の内部当選状態に対応するテーブル作成用データ、及びリールの停止状況（及び停止済みのリールの停止位置）に対応する停止制御テーブルが一意的に定められており、これらを参照して作成される停止制御テーブルも、一の遊技状態における一の内部当選状態、及びリールの停止状況（及び停止済みのリールの停止位置）に対して一意となる。このため、遊技状態、内部当選状態、リールの停止状況（及び停止済みのリールの停止位置）の全てが同一条件となった際に、同一の停止制御テーブル、すなわち同一の制御パターンに基づいてリールの停止制御が行われることとなる。
【０１１６】
また、本実施例では、滑りコマ数として０〜４の値が定められており、停止操作を検出してから最大４図柄を引き込んでリールを停止させることが可能である。すなわち停止操作を検出した停止操作位置を含め、最大５コマの範囲から図柄の停止位置を指定できるようになっている。また、１図柄分リールを移動させるのに１コマの移動が必要であるので、停止操作を検出してから最大４図柄を引き込んでリールを停止させることが可能であり、停止操作を検出した停止操作位置を含め、最大５図柄の範囲から図柄の停止位置を指定できることとなる。
【０１１７】
本実施例では、いずれかの役に当選している場合には、停止操作が行われた際に、入賞ライン上に最大４コマの引込範囲で当選している役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役は、最大４コマの引込範囲で揃えずに停止させる制御が行われることとなる。
【０１１８】
また、本実施例では、特別役が前ゲーム以前から持ち越されている状態で小役が当選した場合など、特別役と小役が同時に当選している場合には、停止操作が行われた際に、入賞ライン上に最大４コマの引込範囲で当選している小役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、入賞ライン上に最大４コマの引込範囲で当選している小役を引き込めない場合には、入賞ライン上に最大４コマの引込範囲で当選している特別役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役は、４コマの引込範囲で揃えずに停止させる制御が行われることとなる。すなわちこのような場合には、特別役よりも小役を入賞ライン上に揃える制御が優先され、小役を引き込めない場合にのみ、特別役を入賞させることが可能となる。尚、特別役と小役を同時に引き込める場合には、小役のみを引き込み、特別役と同時に小役が入賞ライン上に揃わないようになる。
【０１１９】
また、特別役と小役が同時に当選している場合に、小役よりも特別役を入賞ライン上に揃える制御が優先され、特別役を引き込めない場合にのみ、小役を入賞ライン上に揃える制御を行っても良い。
【０１２０】
また、本実施例では、特別役が前ゲーム以前から持ち越されている状態で再遊技役が当選した場合など、特別役と再遊技役が同時に当選している場合には、停止操作が行われた際に、入賞ライン上に最大４コマの引込範囲で再遊技役の図柄を揃えて停止させる制御を行う。尚、この場合、再遊技役を構成する図柄または同時当選する再遊技役を構成する図柄は、リール２Ｌ、２Ｃ、２Ｒのいずれについても５図柄以内、すなわち４コマ以内の間隔で配置されており、４コマの引込範囲で必ず任意の位置に停止させることができるので、特別役と再遊技役が同時に当選している場合には、遊技者によるストップスイッチ８Ｌ、８Ｃ、８Ｒの操作タイミングに関わらずに、必ず再遊技役が揃って入賞することとなる。すなわちこのような場合には、特別役よりも再遊技役を入賞ライン上に揃える制御が優先され、必ず再遊技役が入賞することとなる。尚、特別役と再遊技役を同時に引き込める場合には、再遊技役のみを引き込み、再遊技役と同時に特別役が入賞ライン上に揃わないようになる。
【０１２１】
尚、本実施例では、停止操作が行われたタイミング別の滑りコマ数を特定可能な停止制御テーブルを用いてリールの停止制御を行う構成であるが、停止可能な位置を特定可能な停止位置テーブルから停止位置を特定し、特定した停止位置にリールを停止させる停止制御を行う構成、停止制御テーブルや停止位置テーブルを用いずに、停止操作がされたタイミングで停止可能な停止位置を検索・特定し、特定した停止位置にリールを停止させる停止制御を行う構成、停止制御テーブルを用いた停止制御、停止位置テーブルを用いた停止制御、停止制御テーブルや停止位置テーブルを用いずに停止可能な停止位置を検索・特定することによる停止制御を併用する構成、停止制御テーブルや停止位置テーブルを一部変更して停止制御を行う構成としても良い。
【０１２２】
本実施例においてメイン制御部４１は、リール２Ｌ、２Ｃ、２Ｒの回転が開始した後、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されるまで、停止操作が未だ検出されていないリールの回転を継続し、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されたことを条件に、対応するリールに表示結果を停止させる制御を行うようになっている。尚、リール回転エラーの発生により、一時的にリールの回転が停止した場合でも、その後リール回転が再開した後、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されるまで、停止操作が未だ検出されていないリールの回転を継続し、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されたことを条件に、対応するリールに表示結果を停止させる制御を行うようになっている。
【０１２３】
尚、本実施例では、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されたことを条件に、対応するリールに表示結果を停止させる制御を行うようになっているが、リールの回転が開始してから、予め定められた自動停止時間が経過した場合に、リールの停止操作がなされない場合でも、停止操作がなされたものとみなして自動的に各リールを停止させる自動停止制御を行うようにしても良い。この場合には、遊技者の操作を介さずにリールが停止することとなるため、例え、いずれかの役が当選している場合でもいずれの役も構成しない表示結果を導出させることが好ましい。
【０１２４】
本実施例においてメイン制御部４１は、ゲームの開始後、リールの回転を開始させる毎にその時点、すなわちリールの回転を開始させた時点から経過した時間であるゲーム時間を計時するようになっており、１ゲームの終了後、メダルの投入等により規定数の賭数が設定され、ゲームの開始操作が有効となった状態でゲームの開始操作がされたときに、前のゲームのリール回転開始時点から計時を開始したゲーム時間が規定時間（本実施例では４．１秒）以上であれば、すなわち前のゲームのリール回転開始時点から規定時間が経過していれば、ウェイトを発生させず、その時点で当該ゲームにおける遊技のためのリールの回転を開始させる。
【０１２５】
一方、１ゲームの終了後、メダルの投入等により規定数の賭数が設定され、ゲームの開始操作が有効となった状態でゲームの開始操作がされたときに、前のゲームのリール回転開始時点から計時を開始したゲーム時間が規定時間未満であれば、すなわち前のゲームのリール回転開始時点から規定時間が経過していなければ、ウェイトを発生させて、その時点ではリールの回転を開始させず、前のゲームのリール回転開始時点から計時を開始したゲーム時間が規定時間に到達するまで待機し、規定時間に到達した時点でリールの回転を開始させる。
【０１２６】
本実施例においてメイン制御部４１は、遊技状態やエラーの発生状況などを示す外部出力信号を出力する制御を行う。
【０１２７】
これら外部出力信号は、外部出力基板１０００、スロットマシン１が設置される遊技店（ホール）の情報提供端子板を介してホールコンピュータなどのホール機器に出力されるようになっている。
【０１２８】
メイン制御部４１は、賭数の設定に用いられたメダル数を示すメダルＩＮ信号、入賞の発生により遊技者に付与されたメダル数を示すメダルＯＵＴ信号、遊技状態がＲＢ（レギュラーボーナス）中の旨を示すＲＢ中信号、遊技状態が後述するＢＢ（ビッグボーナス）中の旨を示すＢＢ中信号、ＲＴ（リプレイタイム）中の旨を示すＲＴ中信号、前面扉１ｂが開放中の旨を示すドア開放信号、後述する設定変更モードに移行している旨を示す設定変更信号、メダルセレクタの異常を示す投入エラー信号、ホッパーユニット３４の異常を示す払出エラー信号をそれぞれ出力する。
【０１２９】
外部出力基板１０００には、リレー回路、パラレル・シリアル変換回路、出力信号毎の端子が設けられ、情報提供端子板の回路と電気的に接続するための接続されるコネクタが設けられている。
【０１３０】
遊技制御基板４０から出力された信号のうち、メダルＩＮ信号、メダルＯＵＴ信号、ＲＢ中信号、ＢＢ中信号は、リレー回路を介して、そのままパルス信号として情報提供端子板に出力される。
【０１３１】
これに対してドア開放信号、設定変更信号、投入エラー信号、払出エラー信号は、パラレル・シリアル変換回路にて、これらの信号を個別に識別可能なシリアル信号であるセキュリティ信号に変換されて情報提供端子板に出力される。
【０１３２】
本実施例では、遊技制御基板４０が、インターフェイス（ＩＦ）基板を介して試験装置と接続可能とされており、試験用信号が試験装置から遊技制御基板４０に対して入力されるとともに、遊技の結果に関連して発生する試験信号が遊技制御基板４０から試験装置に対して出力されるようになっており、遊技制御基板４０と試験装置を接続することにより自動的にシミュレーション試験を行うことが可能とされている。
【０１３３】
本実施例では、投入要求ランプ信号、スタート可能ランプ信号、ＢＢ中信号、ＲＢゲーム中信号、リプレイゲーム中信号、第１〜３リールストップ可能ランプ信号、第１〜３リールインデックス信号、払出要求信号、払出カウント信号、打止信号、設定値表示用７セグメント表示ａ〜ｇ信号、内部当選フラグ信号、第１リールモータ励磁信号、第２リールモータ励磁信号、第３リールモータ励磁信号が、試験信号として遊技制御基板４０から試験装置に対して出力される。
【０１３４】
これら遊技制御基板４０から試験装置１３００に対して出力される試験信号は、メイン制御部４１の制御によって出力されるようになっている。
【０１３５】
投入要求ランプ信号は、投入要求ＬＥＤ１７の駆動信号、すなわち投入要求ＬＥＤ１７が点灯しているか否かを示す信号であり、メダルの投入が要求されている状態か否かを特定可能とされている。
【０１３６】
スタート可能ランプ信号は、スタート有効ＬＥＤ１８の駆動信号、すなわちスタート有効ＬＥＤ１８が点灯しているか否かを示す信号であり、ゲームの開始操作が要求されている状態か否かを特定可能とされている。
【０１３７】
ＢＢ中信号、ＲＢゲーム中信号、リプレイゲーム中信号は、各々遊技状態がＢＢ中、ＲＢ中、リプレイゲーム中を示す信号であり、その時点の遊技状態を特定可能とされている。
【０１３８】
第１〜３リールストップ可能ランプ信号は、左、中、右停止有効ＬＥＤ２２Ｌ、２２Ｃ、２２Ｒの駆動信号、すなわち左、中、右停止有効ＬＥＤ２２Ｌ、２２Ｃ、２２Ｒが点灯しているか否かを示す信号であり、左リール、中リール、右リールの停止操作が可能か否かを特定可能とされている。
【０１３９】
第１〜３リールインデックス信号は、リールセンサ３３Ｌ、３３Ｃ、３３Ｒの検出信号であり、左リール、中リール、右リールの基準位置の通過を特定可能とされている。
【０１４０】
払出要求信号は、ホッパーモータ３４ｂの駆動信号、すなわちホッパーモータ３４ｂが駆動しているか否かを示す信号であり、メダルの払出動作が行われている旨を特定可能とされている。
【０１４１】
払出カウント信号は、入賞に伴うメダルの払出を検出する毎に出力される信号であり、試験装置１３００側でメダルの払出をカウントさせるための信号である。
【０１４２】
打止信号は、打止状態に制御されている旨を示す信号である。
【０１４３】
設定値表示用７セグメント表示ａ〜ｇ信号は、設定値表示器２４の各セグメントを構成するＬＥＤの駆動信号であり、設定値表示器２４に表示されている設定値を特定可能とされている。
【０１４４】
内部当選フラグ信号は、役の当選状況を示す信号である。
【０１４５】
第１〜３リールモータ励磁信号は、リールモータ３２Ｌ、３２Ｃ、３２Ｒ、すなわち左リール、中リール、右リールを駆動するリールモータの駆動信号であり、各リールの駆動状況を特定可能とされている。
【０１４６】
本実施例では、投入スイッチ信号、リールスタートスイッチ信号、第１〜３リールストップスイッチ信号、払出スイッチ信号、打止解除スイッチ信号、設定キースイッチ信号、設定スイッチ信号が、試験用信号として試験装置から遊技制御基板４０に対して入力される。これら試験用信号は、スロットマシン１が備える各種スイッチやセンサの検出信号と同様に機能する信号であり、これら試験用信号は、遊技制御基板４０が備えるスイッチ検出回路４４により検出され、メイン制御部４１により各試験用信号に対応したスイッチやセンサの検出が判定されるようになっている。
【０１４７】
投入スイッチ信号は、投入メダルセンサ３１に対応する信号であり、リールスタートスイッチ信号は、スタートスイッチ７に対応する信号である。第１〜３リールストップスイッチ信号は、ストップスイッチ８Ｌ、８Ｃ、８Ｒに各々対応する信号である。払出スイッチ信号は、払出センサ３４ｃに対応する信号である。打止解除スイッチ信号は、リセットスイッチ２３に対応する信号である。設定キースイッチ信号は、設定キースイッチ３７に対応する信号である。設定スイッチ信号は、リセット／設定スイッチ３８に対応する信号である。
【０１４８】
また、本実施例において遊技制御基板４０には、ＩＦ基板からの配線を接続可能な接続端子が設けられているともに、メイン制御部４１及び各種駆動回路から出力された試験信号を接続端子に伝達するための配線パターン、及び接続端子からスイッチ検出回路４４へ試験用信号を伝達するための配線パターンが形成されており、メイン制御部４１及び各種駆動回路から出力された試験信号がこれら配線パターン及び接続端子を介して出力されるとともに、接続端子及び配線パターンを介して入力された試験用信号がスイッチ検出回路４４に入力されるようになっている。
【０１４９】
また、接続端子は、例えば、ＩＦ基板からのプローブを接続可能な信号ピンやＩＦ基板からのケーブルを接続可能なコネクタにて構成されているため、これら接続端子を介してＩＦ基板からの配線を簡単に接続することが可能となる。
【０１５０】
また、接続端子は、ＩＦ基板を接続するために便宜的に設けられたものであり、これらの試験信号及び試験用信号の入出力が行われる接続端子は、遊技店に出荷されるスロットマシンの遊技制御基板４０には必要のないものである。このため、本実施例の遊技制御基板４０には、接続端子が設けられた部分を切断するための複数の切断孔が形成され、これら切断孔に沿って切断できるようになっており、遊技店への出荷時には、接続端子が設けられた部分を切断して不用な信号の入出力ができない状態とすることができる。これにより、例えば、ホール機器にて内部当選フラグ信号を検出し、内部当選フラグ信号から内部当選フラグの当選状況を特定してその旨を報知する等、試験信号が試験以外の目的で容易に利用できてしまうことを防止できる。また、遊技制御基板４０に対して不要な信号が容易に入力されてしまうことを防止できる。
【０１５１】
尚、第３者機関が試験を行うために提供するスロットマシンは通常数台程度であり、その他、遊技店に出荷される量産用のスロットマシンは、これら試験信号や試験用信号の入出力を行う必要性が低いことから、これら量産用のスロットマシンには、配線パターンは形成されているものの前述した接続端子を設けない遊技制御基板４０を搭載するようにしても良く、これにより量産用のスロットマシンの製造コストを軽減することができる。更にこの場合には、遊技制御基板４０に試験信号や試験用信号を伝達するための配線パターンは形成されているため、接続端子を実装するのみでＩＦ基板や試験装置１３００を簡単に接続することが可能となる。また、試験用のスロットマシンのみ試験信号や試験用信号を伝達するための配線パターン及びＩＦ基板や試験装置と接続するための接続端子を設け、量産用のスロットマシンには、これら配線パターンや接続端子を設けない構成としても良い。すなわちメイン制御部４１が試験信号の出力制御を行うが、実際に試験信号が出力されない構成としても良い。これにより量産用のスロットマシンの製造コストを更に軽減できる。
【０１５２】
本実施例では、このような試験用信号、試験信号のやりとりをスロットマシンと試験装置との間で行うことにより、自動的にシミュレーション試験が行われるようになっており、試験装置では、これらの試験結果としてスロットマシンの払出率を出力することが可能とされている。
【０１５３】
次に、メイン制御部４１がサブ制御部９１に対して送信するコマンドについて説明する。
【０１５４】
本実施例では、メイン制御部４１は、サブ制御部９１に対して、投入枚数コマンド、クレジットコマンド、遊技状態コマンド、ＡＴ状態コマンド、内部当選コマンド、停止順コマンド、リール加速情報コマンド、停止操作時コマンド、滑りコマ数コマンド、停止コマンド、遊技終了コマンド、入賞枚数コマンド、払出開始コマンド、払出終了コマンド、待機コマンド、打止コマンド、エラーコマンド、復帰コマンド、設定コマンド、設定確認コマンド、ドアコマンド、操作検出コマンドを含む複数種類のコマンドを送信する。
【０１５５】
これらコマンドは、コマンドの種類を示す１バイトの種類データとコマンドの内容を示す１バイトの拡張データとからなり、サブ制御部９１は、種類データからコマンドの種類を判別できるようになっている。
【０１５６】
投入枚数コマンドは、メダルの投入枚数、すなわち賭数の設定に使用されたメダル枚数を特定可能なコマンドであり、ゲーム終了後（設定変更後）からゲーム開始までの状態であり、電断復帰時、または規定数の賭数が設定されていない状態においてメダルが投入されるか、ＭＡＸＢＥＴスイッチ６が操作されて賭数が設定されたときに送信される。また、投入枚数コマンドは、賭数の設定操作がなされたときに送信されるので、投入枚数コマンドを受信することで賭数の設定操作がなされたことを特定可能である。
【０１５７】
クレジットコマンドは、クレジットとして記憶されているメダル枚数を特定可能なコマンドであり、ゲーム終了後（設定変更後）からゲーム開始までの状態であり、規定数の賭数が設定されている状態において、メダルが投入されてクレジットが加算されたときに送信される。
【０１５８】
遊技状態コマンドは、当該ゲームの遊技状態を特定可能なコマンドであり、スタートスイッチ７が操作されてゲームが開始したときに送信される。
【０１５９】
ＡＴ状態コマンドは、当該ゲームがアシストタイム（遊技者にとって有利な操作態様が報知される遊技状態、以下ＡＴと称す）であるか否か等を特定可能なコマンドであり、ゲームが開始したときであって、遊技状態コマンドの後に送信される。
【０１６０】
内部当選コマンドは、内部抽選結果を特定可能なコマンドであり、スタートスイッチ７が操作されてゲームが開始したときであって、遊技状態コマンドの送信後に送信される。内部当選コマンドは、ゲームが開始したときであって、ＡＴ状態コマンドの後に送信される。
【０１６１】
遊技状態コマンド、ＡＴ状態コマンド、内部当選コマンドは、スタートスイッチ７が操作されてゲームが開始したときに送信されるので、これらコマンドを受信することで、スタートスイッチ７が操作されてゲームが開始したことを特定可能である。
【０１６２】
また、内部当選コマンドは、操作態様に応じて有利度の異なる特定役のいずれかが当選したことは特定可能であるが、どの種類が当選したか、すなわち特定役の当選時に、遊技者にとって有利な操作態様が特定できないようになっている。
【０１６３】
停止順コマンドは、特定役当選時の遊技者にとって有利な操作態様を特定可能なコマンドであり、ゲームが開始したときであって、後述のナビ報知を行うときに、内部当選コマンドの送信後に送信される。
【０１６４】
リール加速情報コマンドは、遊技の進行に伴いリールの回転が開始する旨を特定可能なコマンドであり、遊技の進行に伴いリールの回転を開始するときに送信する。
【０１６５】
停止操作時コマンドは、停止するリールが左リール、中リール、右リールのいずれのリールであるか、該当するリールの停止操作位置の領域番号を特定可能なコマンドであり、各リールの停止操作に伴う停止制御が行われる毎に送信される。
【０１６６】
滑りコマ数コマンドは、停止するリールが左リール、中リール、右リールのいずれのリールであるか、該当するリールの停止操作がされてから停止するまでに移動する滑りコマ数を特定可能なコマンドであり、各リールの停止操作に伴う停止制御が行われる毎に、対応する停止操作時コマンドが送信された後に送信される。
【０１６７】
停止コマンドは、停止するリールが左リール、中リール、右リールのいずれのリールであるか、該当するリールの停止位置の領域番号を特定可能なコマンドであり、各リールの停止操作に伴う停止制御が行われる毎に、対応する滑りコマ数コマンドが送信された後に送信される。
【０１６８】
停止操作時コマンド、滑りコマ数コマンド、停止コマンドは、いずれも停止するリールが左リール、中リール、右リールのいずれのリールであるか、を特定可能であり、かつ各リールの停止操作に伴う停止制御が行われる毎に送信されるので、これらコマンドを受信することで、いずれかのリールの停止操作がされたこと及び停止するリールを特定可能である。
【０１６９】
遊技終了コマンドは、遊技が終了された旨及び次ゲームの遊技状態を特定可能なコマンドであり、遊技者が第３停止リールを停止させるためにストップスイッチを押下して、そのストップスイッチを離したときに送信される。
【０１７０】
入賞枚数コマンドは、入賞ラインＬＮに揃った図柄の組合せ、入賞の有無、並びに入賞の種類、入賞時のメダルの払出枚数を特定可能なコマンドであり、遊技者が第３停止リールを停止させるためにストップスイッチを押下して、そのストップスイッチを離したときであり、遊技終了コマンドの送信後に送信される。
【０１７１】
遊技終了コマンド、入賞枚数コマンドは、いずれも遊技者が第３停止リールを停止させるためにストップスイッチを押下して、そのストップスイッチを離したときに送信されるので、これらコマンドを受信することで、１ゲームを進行させるのに必要な全ての操作が終了したことを特定可能である。
【０１７２】
払出開始コマンドは、メダルの払出開始を通知するコマンドであり、入賞やクレジット（賭数の設定に用いられたメダルを含む）の精算によるメダルの払出が開始されたときに送信される。また、払出終了コマンドは、メダルの払出終了を通知するコマンドであり、入賞及びクレジットの精算によるメダルの払出が終了したときに送信される。
【０１７３】
待機コマンドは、待機状態へ移行する旨を示すコマンドであり、１ゲーム終了後、賭数が設定されずに終了推定時間（本実施例では６０秒）経過して待機状態に移行するとき、クレジット（賭数の設定に用いられたメダルを含む）の精算によるメダルの払出が終了し、払出終了コマンドが送信された後に送信される。
【０１７４】
打止コマンドは、打止状態の発生または解除を示すコマンドであり、ＢＢ終了後、エンディング演出待ち時間が経過した時点で打止状態の発生を示す打止コマンドが送信され、リセット操作がなされて打止状態が解除された時点で、打止状態の解除を示す打止コマンドが送信される。
【０１７５】
エラーコマンドは、エラー状態の発生または解除、エラー状態の種類を示すコマンドであり、エラーが判定され、エラー状態に制御された時点でエラー状態の発生及びその種類を示すエラーコマンドが送信され、リセット操作がなされてエラー状態が解除された時点で、エラー状態の解除を示すエラーコマンドが送信される。
【０１７６】
復帰コマンドは、メイン制御部４１が電断前の制御状態に復帰した旨を示すコマンドであり、メイン制御部４１の起動時において電断前の制御状態に復帰した際に送信される。
【０１７７】
設定コマンドは、設定変更状態の開始または終了、設定変更後設定値を示すコマンドであり、設定変更状態に移行する時点で設定変更状態の開始を示す設定コマンドが送信され、設定変更状態の終了時に設定変更状態の終了及び設定変更後の設定値を示す設定コマンドが送信される。また、設定変更状態への移行に伴ってメイン制御部４１の制御状態が初期化されるため、設定開始を示す設定コマンドによりメイン制御部４１の制御状態が初期化されたことを特定可能である。
【０１７８】
設定確認コマンドは、設定確認状態の開始または終了を示すコマンドであり、設定確認状態に移行する際に設定確認開始を示す設定確認コマンドが送信され、設定確認状態の終了時に設定確認終了を示す設定確認コマンドが送信される。
【０１７９】
ドアコマンドは、ドア開放検出スイッチ２５の検出状態、すなわちｏｎ（開放状態）／ｏｆｆ（閉状態）を示すコマンドであり、電源投入時、１ゲーム終了時（ゲーム終了後、次のゲームの賭数の設定が開始可能となる前までの時点）、ドア開放検出スイッチ２５の検出状態が変化（ｏｎからｏｆｆ、ｏｆｆからｏｎ）した時に送信される。
【０１８０】
操作検出コマンドは、操作スイッチ類（ＭＡＸＢＥＴスイッチ６、スタートスイッチ７、ストップスイッチ８Ｌ、８Ｃ、８Ｒ）の検出状態（ｏｎ／ｏｆｆ）を示すコマンドであり、一定時間毎に送信される。
【０１８１】
これらコマンドのうちドアコマンド及び操作検出コマンド以外のコマンドは、基本処理において生成され、ＲＡＭ４１ｃに設けられたコマンドキューに一時格納され、その後のタイマ割込処理（メイン）のコマンド送信処理おいて送信される。
【０１８２】
一方、ドアコマンドは、タイマ割込処理（メイン）のドア監視処理においてに生成され、ＲＡＭ４１ｃに設けられたコマンドキューに一時格納され、その後のタイマ割込処理（メイン）のコマンド送信処理おいて送信される。
【０１８３】
また、操作検出コマンドは、タイマ割込処理（メイン）のコマンド送信処理が１０回実行される毎に、スイッチの検出状態に基づいて生成されるとともに、ＲＡＭ４１ｃに設けられたコマンドキューに一時格納され、その後のタイマ割込処理（メイン）のコマンド送信処理おいて送信される。
【０１８４】
本実施例においてメイン制御部４１は、ゲームの開始後、リールの回転を開始させる毎にその時点、すなわちリールの回転を開始させた時点から経過した時間であるゲーム時間を計時するようになっており、１ゲームの終了後、メダルの投入等により規定数の賭数が設定され、ゲームの開始操作が有効となった状態でゲームの開始操作がされたときに、前のゲームのリール回転開始時点から計時を開始したゲーム時間が規定時間（本実施例では４．１秒）以上であれば、すなわち前のゲームのリール回転開始時点から規定時間が経過していれば、ウェイトを発生させず、その時点で当該ゲームにおける遊技（以下では、後述の擬似遊技と区別するため、ゲームの進行に伴う遊技を通常遊技とする）のためのリールの回転を開始させる。
【０１８５】
一方、１ゲームの終了後、メダルの投入等により規定数の賭数が設定され、ゲームの開始操作が有効となった状態で通常遊技の開始操作がされたときに、前のゲームのリール回転開始時点から計時を開始したゲーム時間が規定時間未満であれば、すなわち前のゲームのリール回転開始時点から規定時間が経過していなければ、ウェイトを発生させて、その時点ではリールの回転を開始させず、前のゲームのリール回転開始時点から計時を開始したゲーム時間が規定時間に到達するまで待機し、規定時間に到達した時点で通常遊技におけるリールの回転を開始させる。
【０１８６】
次に、メイン制御部４１が演出制御基板９０に対して送信するコマンドに基づいてサブ制御部９１が実行する演出の制御について説明する。
【０１８７】
サブ制御部９１は、メイン制御部４１からのコマンドを受信した際に、コマンド受信割込処理を実行する。コマンド受信割込処理では、ＲＡＭ９１ｃに設けられた受信用バッファに、コマンド伝送ラインから取得したコマンドを格納する。
【０１８８】
受信用バッファには、最大で１６個のコマンドを格納可能な領域が設けられており、複数のコマンドを蓄積できるようになっている。
【０１８９】
サブ制御部９１は、タイマ割込処理（サブ）において、受信用バッファに未処理のコマンドが格納されているか否かを判定し、未処理のコマンドが格納されている場合には、そのうち最も早い段階で受信したコマンドに基づいてＲＯＭ９１ｂに格納された制御パターンテーブルを参照し、制御パターンテーブルに登録された制御内容に基づいて液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ５５等の各種演出装置の出力制御を行う。
【０１９０】
制御パターンテーブルには、複数種類の演出パターン毎に、コマンドの種類に対応する液晶表示器５１の表示パターン、演出効果ＬＥＤ５２の点灯態様、スピーカ５３、５４の出力態様、リールＬＥＤ５５の点灯態様等、これら演出装置の制御パターンが登録されており、サブ制御部９１は、コマンドを受信した際に、制御パターンテーブルの当該ゲームにおいてＲＡＭ９１ｃに設定されている演出パターンに対応して登録された制御パターンのうち、受信したコマンドの種類に対応する制御パターンを参照し、当該制御パターンに基づいて演出装置の出力制御を行う。これにより演出パターン及び遊技の進行状況に応じた演出が実行されることとなる。
【０１９１】
尚、サブ制御部９１は、あるコマンドの受信を契機とする演出の実行中に、新たにコマンドを受信した場合には、実行中の制御パターンに基づく演出を中止し、新たに受信したコマンドに対応する制御パターンに基づく演出を実行するようになっている。すなわち演出が最後まで終了していない状態でも、新たにコマンドを受信すると、受信した新たなコマンドが新たな演出の契機となるコマンドではない場合を除いて実行していた演出はキャンセルされて新たなコマンドに基づく演出が実行されることとなる。
【０１９２】
演出パターンは、内部当選コマンドを受信した際に、内部当選コマンドが示す内部抽選の結果に応じた選択率にて選択され、ＲＡＭ９１ｃに設定される。演出パターンの選択率は、ＲＯＭ９１ｂに格納された演出テーブルに登録されており、サブ制御部９１は、内部当選コマンドを受信した際に、内部当選コマンドが示す内部抽選の結果に応じて演出テーブルに登録されている選択率を参照し、その選択率に応じて複数種類の演出パターンからいずれかの演出パターンを選択し、選択した演出パターンを当該ゲームの演出パターンとしてＲＡＭ９１ｃに設定するようになっており、同じコマンドを受信しても内部当選コマンドの受信時に選択された演出パターンによって異なる制御パターンが選択されるため、結果として演出パターンによって異なる演出が行われることがある。
【０１９３】
本実施例におけるスロットマシンでは、メイン制御部４１により、内部抽選結果に応じて遊技者にとって有利となる停止順を遊技補助表示器１２の点灯態様により報知するナビ報知を実行可能な報知期間となるアシストタイム（以下、ＡＴという）に制御可能となっている。
【０１９４】
メイン制御部４１は、ＡＴに制御している場合には、遊技状態に応じたナビ対象役に当選することにより、ナビ報知を実行するとともに、サブ制御部９１に対して押し順コマンドを送信することで、液晶表示器５１等を用いたナビ演出を実行させる。また、本実施例においてメイン制御部４１は、ＡＴに制御していない通常状態であっても、一定の条件を満たすことにより、ナビ報知を実行し、ナビ演出を実行させることが可能である。
【０１９５】
図６は、メイン制御部４１におけるアドレスマップの一例を示している。メイン制御部４１が管理するメモリ領域は、図６に示すように、ＲＯＭ４１ｂに割り当てられたＲＯＭ領域と、ＲＡＭ４１ｃに割り当てられたＲＡＭ領域と、を含む。
【０１９６】
さらにＲＯＭ領域は、遊技の進行に係わる遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムが用いる遊技データが記憶される遊技データ領域と、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、非遊技プログラムが用いる非遊技データが記憶される非遊技データ領域と、未使用領域と、を含む。
【０１９７】
尚、遊技の進行とは、遊技を構成する一連のプロセスを進行させることであり、スロットマシンであれば、賭数を設定してゲームを開始可能とする段階、ゲームを開始してリールを回転させる段階、リールを停止させて表示結果を導出させる段階、表示結果に応じてメダル等の価値を付与する段階を進行させることである。
【０１９８】
遊技プログラム領域と遊技データ領域、非遊技プログラム領域と非遊技データはそれぞれ連続するアドレス領域に割り当てられており、遊技プログラム領域及び遊技データ領域と、非遊技プログラム領域及び非遊技データと、は未使用領域を挟んで連続しないアドレス領域に割り当てられている。
【０１９９】
また、ＲＡＭ領域は、遊技プログラムがワークとして用いる遊技ＲＡＭ領域と、遊技ＲＡＭ領域の未使用領域１と、非遊技プログラムがワークとして用いる非遊技ＲＡＭ領域と、非遊技ＲＡＭ領域の未使用領域２と、未使用スタック領域と、使用中スタック領域と、を含む。
【０２００】
遊技ＲＡＭ領域と非遊技ＲＡＭ領域とは未使用領域を挟んで連続しないアドレス領域に割り当てられている。
【０２０１】
以下では、遊技プログラム領域、遊技データ領域及び遊技ＲＡＭ領域をまとめて遊技領域と称す場合があり、非遊技プログラム領域、非遊技データ領域及び非遊技ＲＡＭ領域をまとめて非遊技領域と称す場合がある。また、未使用領域１及び未使用領域２をまとめて未使用領域と称す場合がある。
【０２０２】
遊技プログラムとは、前述のように遊技の進行に係わるプログラムであり、当該プログラムに基づく処理を実行しないと、遊技の進行に支障をきたす処理を実行するためのプログラムである。
【０２０３】
一方、非遊技プログラムとは、前述のように遊技の進行に係わらないプログラムであり、遊技プログラムから呼び出されて当該プログラムに基づく処理が実行されずに遊技プログラムに復帰した場合でも、遊技を進行させることが可能な処理を実行するためのプログラムである。
【０２０４】
遊技プログラムは、図７に示すように、遊技プログラムだけに含まれる遊技専用プログラムと、遊技プログラム及び非遊技プログラム双方に含まれる共通判定プログラム及び共通汎用プログラムと、を含む。
【０２０５】
遊技専用プログラムは、例えば、ＢＥＴ処理、内部抽選処理、リール回転処理、払出処理、外部出力１処理を含む。ＢＥＴ処理は、１ゲームの制御の終了後、メダルの投入等により賭数を設定し、規定数の賭数が設定された後、スタートスイッチ７が操作されることでゲームを開始させるための処理であり、内部抽選処理は、内部抽選を行い、当選フラグの設定等を行う処理であり、リール回転処理は、リールの回転を開始し、ストップスイッチ８Ｌ、８Ｃ、８Ｒが操作されることでリールを停止させるための処理であり、払出処理は、停止したリールの停止位置に応じて入賞が発生したか否かを判定し、メダルの払出、再遊技の設定、遊技状態の移行等を行うための処理であり、外部出力１処理は、外部出力信号のうちメダルＩＮ信号、メダルＯＵＴ信号、ＲＢ中信号、ＢＢ中信号、ＲＴ中信号の出力制御を行うための処理である。また、特に図示しないが、遊技プログラムは、ＡＴに関連する処理（ＡＴに係る抽選やナビ報知に係る制御等）も含む。
【０２０６】
遊技プログラムにおける共通判定プログラムは、例えば、投入判定処理、払出判定処理を含む。投入判定処理は、投入メダルセンサ３１によるメダルの正常な通過であるか否かを判定する処理であり、賭数の設定等のためにメダルの投入が可能な状態において実行される処理である。払出判定処理は、払出センサ３４ｃによるメダルの正常な通過であるか否かを判定する処理であり、小役の入賞時やクレジットの精算時にメダルの払出が許可されている状態において実行される処理である。
【０２０７】
遊技プログラムにおける共通汎用プログラムは、遊技プログラムを構成する複数種類の処理から呼び出されて実行される処理であり、例えば、カウンタ更新処理、ポート入力処理、データ変換処理、ＬＥＤ表示処理、データ設定処理、コマンド設定処理を含む。カウンタ更新処理は、指定されたカウンタ値を更新するための処理であり、ポート入力処理は、指定されたポートの入力状態を取得する処理であり、データ変換処理は、遊技データを用いて入力されたデータを変換して出力する処理であり、ＬＥＤ表示処理は、指定された値をＬＥＤに表示させるために設定する処理であり、データ設定処理は、指定されたデータを設定する処理であり、コマンド設定処理は、指定されたコマンドをコマンドキューに設定する処理である。
【０２０８】
非遊技プログラムは、図７に示すように、非遊技プログラムだけに含まれる非遊技専用プログラムと、遊技プログラムと同じ共通判定プログラム及び共通汎用プログラムと、を含む。
【０２０９】
非遊技専用プログラムは、例えば、試験信号出力処理、異物検知処理、ドア監視処理、外部出力２処理、投入メダルエラー判定処理、払出メダルエラー判定処理、起動処理、設定値異常確認処理、エラー処理を含む。試験信号出力処理は、遊技の結果に関連して発生する試験信号を出力するための処理であり、異物検知処理は、投入口センサ２６によるメダル通路内の異物を検知するための処理であり、ドア監視処理は、前面扉１ｂの開放を検知するための処理であり、外部出力２処理は、外部出力信号のうちセキュリティ信号（ドア開放信号、設定変更信号、投入エラー信号、払出エラー信号）の出力制御を行うための処理であり、投入メダルエラー判定処理は、投入メダルセンサ３１の検出状況に基づいて投入メダルの逆流検知、メダルセレクタ２９内のメダル詰り検知、メダルセレクタ２９内の異物検知を行うための処理であり、払出メダルエラー判定処理は、払出センサ３４ａの検出状況に基づいて払出メダルの逆流検知、払出口付近のメダル詰り検知、払出口付近の異物検知を行うための処理であり、起動処理は、電源投入時においてゲームを可能な状態とするための処理（乱数異常確認、ＲＡＭ異常確認、バックアップ異常確認、レジスタ初期化等）であり、設定値異常確認処理は、設定値が正常な範囲の値であるか否かを判定するための処理であり、エラー処理は、各種の異常（メダルの投入異常、メダルセレクタ２９内の異物検知、リール回転異常、メダルの払出異常、払出口付近の異物検知、ＲＡＭ異常、設定値異常、ホッパータンク３４ａの空、オーバーフロータンク３５の満タン検知等）が検知された場合に遊技を不能化するための処理である。
【０２１０】
非遊技プログラムにおける共通汎用プログラムは、非遊技プログラムを構成する複数種類の処理から呼び出されて実行される処理であり、遊技プログラムにおける共通汎用プログラムと同様に、例えば、カウンタ更新処理、ポート入力処理、データ変換処理、ＬＥＤ表示処理、データ設定処理、コマンド設定処理を含む。
【０２１１】
特に、非遊技プログラムは、上述のように異常が検知された場合に、異常の種別に応じた解除条件（乱数異常、ＲＡＭ異常、バックアップ異常、設定値異常の場合は、設定値の再設定、それ以外の異常の場合はリセット操作）が成立するまで遊技の進行を不能化するエラー処理を含む。
【０２１２】
また、非遊技プログラムは、遊技の進行に係わらない検知手段（投入口センサ２６、満タンセンサ３５ａ、ドア開放検出スイッチ２５）の検出状況に基づいて所定の検出状況か否かを判定する処理を含む。
【０２１３】
また、非遊技プログラムは、複数の制御状態（ＢＥＴ処理、内部抽選処理、リール回転処理、払出処理）のうち特定の制御状態においては、遊技の進行に係わる検知手段として機能し、他の制御状態においては、遊技の進行に係わらない検出手段として機能する検出手段（例えば、投入メダルセンサ３１、払出センサ３４ｃ）が、遊技の進行に係わらない制御状態での検出状況に基づいて所定の検出状況か否かを判定する処理（例えば、リール回転中のメダルの投入やメダルの払出が検出されたことによる異常を検知するための投入メダルの検出処理や払出メダルの検出処理）を含む。尚、このような判定処理は、遊技プログラムにおいて遊技の進行に係わる制御状態での検出状況に基づいて所定の検出状況か否かを判定する処理と同じ処理であるため、共通判定プログラムに該当する。
【０２１４】
尚、遊技プログラムに含まれる処理のうち、外部出力１処理、ＢＥＴ処理においてメダルの投入数を計数する処理、流路切替ソレノイド３０を切り替える処理、払出処理においてメダルの払出数を計数する処理、ホッパータンク３４ａが空になったことを検知する処理、ソフトウェア乱数を更新する処理、ＡＴに関連する処理等、ゲームの進行に直接的には関連しないものであればこれらの処理の全部または一部が非遊技プログラムに含まれる構成であっても良い。一方で、非遊技プログラムに含まれる処理のうち起動処理、設定値異常確認処理等、遊技の進行に間接的に関連するものであればこれらの処理の全部または一部が遊技プログラムに含まれる構成であっても良い。
【０２１５】
本実施例においてメイン制御部４１のＣＰＵ４１ａは、図８に示すように、遊技プログラムに基づく処理において非遊技プログラムを呼び出して非遊技プログラムに基づく処理を実行し、非遊技プログラムに基づく処理の終了後、遊技プログラムに基づく処理に復帰する。
【０２１６】
ＣＰＵ４１ａは、図９に示すように、遊技プログラムに基づく処理から非遊技プログラムを呼び出した場合に、非遊技プログラムの最初に、ＣＰＵ４１ａが演算に用いる演算用のレジスタ（Ａ、Ｆ、ＢＣ、ＤＥ、ＨＬレジスタ、以下では、演算用のレジスタを単にレジスタと称す）の値を全てスタック領域に退避し、遊技プログラムが使用していたデータを保護する。そして、非遊技プログラムに基づく処理が全て終了した後、スタック領域に退避していた値をレジスタに復帰し、その後、遊技プログラムに基づく処理に復帰するようになっている。
【０２１７】
尚、本実施例では、遊技プログラムが使用していたレジスタの値をスタック領域に退避することで保護する構成であるが、表レジスタと裏レジスタの値を変更することで遊技プログラムが使用していたレジスタの値を保護する構成としても良い。
【０２１８】
また、本実施例では、遊技プログラムに基づく処理から非遊技プログラムを呼び出した場合に、非遊技プログラムの最初に、遊技プログラムが使用していたレジスタの値を保護し、非遊技プログラムの最後に、保護されているレジスタの値を復帰させる構成であるが、遊技プログラムに基づく処理から非遊技プログラムを呼び出す直前に遊技プログラムが使用していたレジスタの値を保護し、非遊技プログラムに基づく処理が全て終了した後に、遊技プログラムに復帰した最初の段階で保護されているレジスタの値を復帰させる構成、遊技プログラムに基づく処理から非遊技プログラムを呼び出した場合に、非遊技プログラムの最初に、遊技プログラムが使用していたレジスタの値を保護し、非遊技プログラムに基づく処理が全て終了した後に、遊技プログラムに復帰した最初の段階で保護されているレジスタの値を復帰させる構成、遊技プログラムに基づく処理から非遊技プログラムを呼び出す直前に遊技プログラムが使用していたレジスタの値を保護し、非遊技プログラムの最後に、保護されているレジスタの値を復帰させる構成としても良い。
【０２１９】
図８に示すように、ＣＰＵ４１ａは、原則として遊技プログラムに基づく処理を実行するにあたり、遊技データ領域の遊技データを参照して遊技プログラムに基づく処理を実行するとともに、遊技ＲＡＭ領域をワークとして使用し、遊技ＲＡＭ領域の内容を参照及び更新することが可能である。また、ＣＰＵ４１ａは、原則として非遊技プログラムに基づく処理を実行するにあたり、非遊技データ領域の遊技データを参照して非遊技プログラムに基づく処理を実行するとともに、非遊技ＲＡＭ領域をワークとして使用し、非遊技ＲＡＭ領域の内容を参照及び更新することが可能である。
【０２２０】
また、ＣＰＵ４１ａは、遊技プログラムに基づく処理を実行するにあたり、非遊技データ領域を参照することはなく、非遊技ＲＡＭ領域を更新することはないが、非遊技ＲＡＭ領域を参照することは可能であり、非遊技プログラムに基づく処理を実行するにあたり、遊技データ領域を参照することはなく、遊技ＲＡＭ領域を更新することはないが、遊技ＲＡＭ領域を参照することは可能である。
【０２２１】
また、遊技プログラムに基づく処理は、非遊技ＲＡＭ領域のうち遊技プログラムに必要な特定の領域（例えば、異常の検知を示すエラーフラグの設定領域等）のみ参照可能とされており、非遊技プログラムに基づく処理は、遊技ＲＡＭ領域のうち非遊技プログラムに必要な特定の領域（例えば、内部当選フラグの設定領域、遊技状態の設定領域、ＲＴの設定領域等）のみ参照可能とされている。また、非遊技ＲＡＭ領域のうち遊技プログラムに基づく処理が参照可能な特定の領域、遊技ＲＡＭ領域のうち非遊技プログラムに基づく処理が参照可能な特定の領域は、連続するアドレス領域に割り当てられることが好ましいが、一部または全部が連続しないアドレス領域に割り当てられる構成であっても良い。
【０２２２】
ただし、起動処理におけるＲＡＭ異常確認、バックアップ異常確認、ＲＡＭ４１ｃの初期化、後述する電断処理は、非遊技プログラムに含まれるが、これらの処理は例外として、ＲＡＭ４１ｃの全領域へのアクセスが可能とされている。
【０２２３】
また、本実施例では、メイン制御部４１のＩＡＴ回路５０６ａが監視する指定エリアとして、遊技プログラム領域及び非遊技プログラム領域がそれぞれ別個に設定されており、これら指定エリアとして設定された遊技プログラム領域及び非遊技プログラム領域以外でユーザプログラムが実行された場合に、ＩＡＴ回路５０６ａがＩＡＴ発生信号を出力するようになっている。そして、ＣＰＵ４１ａは、ＩＡＴ発生信号が出力された場合に、エラー状態に制御し、遊技を不能化するようになっている。この場合は、通常のエラーと異なり、新たに設定値が設定されるまでゲームを進行可能な状態には復帰することがない。
【０２２４】
尚、本実施例では、遊技プログラム領域及び非遊技プログラム領域が未使用領域を挟んで連続しないアドレス領域に割り当てられているが、遊技プログラム領域及び非遊技プログラム領域が連続するアドレス領域に割り当てられている場合でも、ＩＡＴ回路５０６ａが監視する指定エリアとして、遊技プログラム領域及び非遊技プログラム領域がそれぞれ別個に設定されていることが好ましい。
【０２２５】
このように本実施例では、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムが参照する遊技データが読み出し可能に記憶される遊技データ領域と、遊技プログラムが参照するワークデータが読み出し及び書き込み可能に記憶される遊技ＲＡＭ領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、非遊技プログラムが参照する非遊技データが読み出し可能に記憶される非遊技データ領域と、非遊技プログラムが参照するワークデータが読み出し及び書き込み可能に記憶される非遊技ＲＡＭ領域と、がそれぞれ別個に割り当てられているため、遊技プログラム、遊技データ及び遊技プログラムのワークデータと、非遊技プログラム、非遊技データ及び非遊技プログラムのワークデータと、を記憶領域の違いに応じて容易に特定することができる。
【０２２６】
また、遊技プログラム領域及び遊技データ領域と、非遊技プログラム領域及び非遊技データ領域と、を分けることで、それぞれの機能に応じてＲＯＭ４１ｂに占める領域をコンパクトに管理することができるため、各領域において該当するデータを特定することがさらに容易となる。
【０２２７】
また、本実施例では、遊技プログラムを実行する際に、非遊技ＲＡＭ領域を参照することが可能であり、非遊技プログラムを実行する際に、遊技ＲＡＭ領域を参照することが可能であるため、遊技プログラムを実行するにあたり、非遊技プログラムが使用していたデータを簡単に利用することができ、非遊技プログラムを実行するにあたり、遊技プログラムが使用していたデータを簡単に利用することができる。一方で、遊技プログラムを実行する際に、非遊技ＲＡＭ領域を更新することは不可能であり、非遊技プログラムを実行する際に、遊技ＲＡＭ領域を更新することは不可能であるため、遊技プログラムが非遊技プログラムの処理に影響を及ぼすことなく、非遊技プログラムが遊技プログラムの処理に影響を及ぼすことがない。
【０２２８】
また、本実施例では、遊技プログラムに基づく処理は、非遊技ＲＡＭ領域のうち遊技プログラムに必要な特定の領域（例えば、異常の検知を示すエラーフラグの設定領域等）のみ参照可能とされており、非遊技プログラムに基づく処理は、遊技ＲＡＭ領域のうち非遊技プログラムに必要な特定の領域（例えば、内部当選フラグの設定領域、遊技状態の設定領域、ＲＴの設定領域等）のみ参照可能とされているので、遊技プログラムが非遊技ＲＡＭ領域において参照可能なデータ、非遊技プログラムが参照可能なデータが特定の領域に制限されているため、遊技プログラムまたは非遊技プログラムの参照先を容易に特定することができる。
【０２２９】
また、本実施例では、非遊技プログラムが、異常が検知された場合に、異常の種別に応じて解除条件が成立するまで遊技の進行を不能化するエラー処理を含むため、非遊技プログラムにおける処理で異常等が検知されたときにそのまま遊技が進行してしまうことを防止できる。
【０２３０】
また、本実施例では、非遊技プログラムが、遊技プログラムに含まれる共通判定プログラム（例えば、投入判定処理、払出判定処理）と同じ内容の共通判定プログラムを含むため、遊技プログラム及び非遊技プログラムが互いの結果に影響を及ぼさずに同様の判定を行うことができる。
【０２３１】
また、本実施例では、非遊技プログラムが、非遊技プログラムを構成する複数種類の処理から呼び出されて実行される処理であり、遊技プログラムに含まれる共通汎用プログラムと同様の共通汎用プログラムを含むため、処理内容が同じ共通汎用プログラムであっても遊技プログラムと非遊技プログラムとでそれぞれ備えるため、処理内容が同じ共通汎用プログラムであっても遊技プログラムに含まれるものか非遊技プログラムに含まれるものかを容易に特定することができる。
【０２３２】
また、本実施例では、非遊技プログラムが、遊技の進行に係わらない検知手段（投入口センサ２６、満タンセンサ３５ａ、ドア開放検出スイッチ２５）の検出状況に基づいて所定の検出状況か否かを判定する処理を含むため、遊技の進行に係わらない検知手段により所定の検出がされたか否かの判定は非遊技プログラムにより行われることで遊技プログラムが複雑となってしまうことがない。
【０２３３】
また、本実施例では、非遊技プログラムが、複数の制御状態（ＢＥＴ処理、内部抽選処理、リール回転処理、払出処理）のうち特定の制御状態においては、遊技の進行に係わる検知手段として機能し、他の制御状態においては、遊技の進行に係わらない検出手段として機能する検出手段（例えば、投入メダルセンサ３１、払出センサ３４ｃ）が、遊技の進行に係わらない制御状態での検出状況に基づいて所定の検出状況か否かを判定する処理（例えば、リール回転中のメダルの投入やメダルの払出が検出されたことによる異常を検知するための投入メダルの検出処理や払出メダルの検出処理）を含むため、上記のような検出手段の検出結果が遊技の進行に用いられない状況では、当該検出手段により所定の検出がされたか否かの判定は非遊技プログラムにより行われることで、当該検出手段の検出結果が遊技の進行に用いられない状況においても検出手段の検出結果を利用できるうえに、遊技プログラムが必要以上に複雑となってしまうことがない。
【０２３４】
また、本実施例では、遊技プログラムが非遊技プログラムを呼び出して非遊技プログラムを実行する際に、遊技プログラムが実際に使用していたレジスタであるか否かに関わらずレジスタの全ての領域を保護する処理が行われるため、遊技プログラムに復帰する際に、非遊技プログラムが呼び出された時点の状態から確実に復帰することができる。
【０２３５】
また、本実施例では、遊技プログラムに基づく処理から非遊技プログラムを呼び出した場合に、非遊技プログラムの最初に、遊技プログラムが使用していたレジスタの値を保護し、非遊技プログラムの最後に、保護されているレジスタの値を復帰させるようになっているため、遊技プログラムの容量を削減することができる。
【０２３６】
尚、遊技プログラムに基づく処理から非遊技プログラムを呼び出す直前に遊技プログラムが使用していたレジスタの値を保護し、非遊技プログラムに基づく処理が全て終了した後に、遊技プログラムに復帰した最初の段階で保護されているレジスタの値を復帰させる構成としても良く、このような構成とすることで、非遊技プログラムの呼び出し前にレジスタの保護処理が行われ、非遊技プログラムからの復帰後にレジスタの復旧処理が行われるため、非遊技プログラムによってレジスタに記憶されたデータが遊技プログラムに影響を及ぼすことがない。
【０２３７】
また、本実施例では、メイン制御部４１のＩＡＴ回路５０６ａが監視する指定エリアとして、遊技プログラム領域及び非遊技プログラム領域がそれぞれ別個に設定されており、これら指定エリアとして設定された遊技プログラム領域及び非遊技プログラム領域以外でユーザプログラムが実行された場合に、ＩＡＴ回路５０６ａがＩＡＴ発生信号を出力するようになっている。そして、ＣＰＵ４１ａは、ＩＡＴ発生信号が出力された場合に、エラー状態に制御し、遊技を不能化するようになっている。また、ＩＡＴ回路５０６ａが監視する指定エリアとして、遊技プログラム領域及び非遊技プログラム領域がそれぞれ別個に設定されているので、遊技プログラム領域の遊技プログラムや非遊技プログラム領域の非遊技プログラムが変更された場合でも指定領域として設定された記憶領域を簡単に再設定することができる。
【０２３８】
次に、メイン制御部４１が、電源投入に伴う起動時またはリセット信号の入力に伴う再起動時に実行する起動処理及び電断を検出したときに実行する電断処理について説明する。尚、本実施例において起動処理及び電断処理は、非遊技プログラムに含まれる。
【０２３９】
図１０に示すように、起動処理では、まず割込を禁止に設定して（Ｓａ１）、パラレル出力ポート５１３を初期化し（Ｓａ２）、内蔵レジスタを初期化する（Ｓａ３）。次いで電断検出回路４８からの電圧低下信号が検出されているか否か、すなわち電圧が不安定な状態か否かを判定し（Ｓａ４）、電圧低下信号が検出されている場合には、電圧低下信号が検出されなくなるまで待機する。
【０２４０】
ステップＳａ４において電圧低下信号が検出されない場合には、乱数回路の異常を判定する乱数異常確認処理を行い（Ｓａ６）、割込発生時に実行するプログラムのアドレスをＩレジスタに設定して（Ｓａ６）、ＲＡＭ４１ｃへのアクセスを許可し（Ｓａ７）、さらにスタックポインタを設定する（Ｓａ８）。
【０２４１】
次いで、ＲＡＭ４１ｃの遊技ＲＡＭ領域の全ての領域（未使用領域１を含む）のＲＡＭパリティ（以下、ＲＡＭパリティ１と称す）及び非遊技ＲＡＭ領域の全ての領域（未使用領域２及び未使用スタック領域を含む）のＲＡＭパリティ（以下、ＲＡＭパリティ２と称す）、スタック領域（未使用スタック領域及び使用中スタック領域）のＲＡＭパリティ（以下、ＲＡＭパリティ３と称す）を計算し（Ｓａ９）、ＲＡＭパリティ１〜３が０か否かを判定する（Ｓａ１０）。後述のように前回の電源遮断時に正常に電断処理が行われていれば、ＲＡＭパリティ１〜３がいずれも０になるはずであるので、Ｓａ１０のステップにおいてＲＡＭパリティ１〜３のいずれか１つでも０でなければ、ＲＡＭ４１ｃに格納されているデータが正常ではなく、この場合には、ステップＳａ１４に進む。
【０２４２】
一方、Ｓａ１０のステップにおいてＲＡＭパリティ１〜３が０であれば、更に遊技ＲＡＭ領域に格納されている破壊診断用データ１、非遊技ＲＡＭ領域に格納されている破壊診断用データ２、スタック領域に格納されている破壊診断用データ３が正常か否かを判定する（Ｓａ１１）。後述のように前回の電源遮断時に正常に電断処理が行われていれば、破壊診断用データ１が遊技ＲＡＭ領域に設定され、破壊診断用データ２が非遊技ＲＡＭ領域に設定され、破壊診断用データ３がスタック領域に設定されているはずであり、Ｓａ１１のステップにおいて破壊診断用データ１〜３が正常でない場合（破壊診断用データ１〜３が電断時に格納される５Ａ（Ｈ）（００（Ｈ）以外の特定の値）以外の場合）には、ＲＡＭ４１ｃのデータが正常ではなく、Ｓａ１４のステップに進む。
【０２４３】
Ｓａ１１のステップにおいて破壊診断用データ１〜３が正常であると判定した場合には、ＲＡＭ４１ｃのデータは正常であるので、破壊診断用データ１〜３をクリアし（Ｓａ１２）、ＲＡＭ４１ｃのデータが正常である旨を示すＲＡＭ正常フラグをＲＡＭ４１ｃに設定し（Ｓａ１３）、Ｓａ１４のステップに進む。
【０２４４】
Ｓａ１４のステップでは、設定キースイッチ３７がｏｎか否かを判定し、設定キースイッチ３７がｏｎであれば、ＲＡＭ４１ｃの格納領域のうち重要ワーク及び特別ワーク以外の領域を初期化する初期化１を実行する（Ｓａ１４）。初期化１では、遊技ＲＡＭ領域のうち重要ワーク及び特別ワーク以外の領域及び未使用領域１を初期化する初期化処理と、非遊技ＲＡＭ領域のうち重要ワーク及び特別ワーク以外の領域及び未使用領域２を初期化する初期化処理と、スタック領域を初期化する初期化処理と、をそれぞれ別個に行う。尚、初期化１において、遊技ＲＡＭ領域及び非遊技ＲＡＭ領域を分けずに、全ての領域を一括して初期化する構成であっても良い。
【０２４５】
Ｓａ１５のステップにおける初期化１の後、割込を許可し（Ｓａ１６）、設定値を変更可能な設定変更状態に制御される設定変更処理に移行し（Ｓａ１７）、新たに設定値が設定されることにより設定変更処理が終了した後、レジスタを初期化し（Ｓａ１８）、遊技プログラムのうちのＢＥＴ処理の先頭に移行する。
【０２４６】
Ｓａ１４のステップにおいて設定キースイッチ３７がｏｆｆであれば、ＲＡＭ正常フラグの設定の有無に基づいてＲＡＭ４１ｃのデータが正常か否かを判定し（Ｓａ２２）、ＲＡＭ４１ｃのデータが正常でないと判定された場合には、Ｓａ１５のステップと同様の初期化１を実行してＲＡＭ４１ｃの格納領域のうち重要ワーク及び特別ワーク以外の領域を初期化し（Ｓａ１９）、割込を許可する（Ｓａ２０）。そして、ＲＡＭ異常を示すエラーコードを設定し（Ｓａ２１）、エラー処理、すなわちＲＡＭ異常エラー状態に移行する。また、ＲＡＭ異常エラーは、通常のエラーと異なり、新たに設定値が設定されるまでゲームを進行可能な状態には復帰することがない。
【０２４７】
Ｓａ２２のステップにおいてＲＡＭ４１ｃのデータが正常であると判定された場合には、ＲＡＭ４１ｃの非保存ワーク、未使用領域１、未使用領域２及び未使用スタック領域を初期化する初期化３を行う（Ｓａ２３）。その後、スタックポインタを電断前の状態に復帰し（Ｓａ２４）、パラレル入力ポート５１１に入力された各種スイッチ類等の検出信号の入力状態が格納される入力バッファを初期化し（Ｓａ２５）、パラレル出力ポート５１３の出力状態を電断前の状態に復帰し（Ｓａ２６）、各レジスタを電断前の状態、すなわちスタック領域に保存されている状態に復帰し（Ｓａ２７）、割込を許可して（Ｓａ２８）、電断前の最後に実行していた処理に戻る。
【０２４８】
図１１に示すように、電断処理においては、まず、使用している可能性がある全てのレジスタをスタック領域に退避する（Ｓｍ１）。
【０２４９】
次いで、破壊診断用データ１を遊技ＲＡＭ領域に、破壊診断用データ２を非遊技ＲＡＭ領域に、破壊診断用データ３をスタック領域に、それぞれセットする（Ｓｍ２）。破壊診断用データは、いずれも５Ａ（Ｈ）である。次いで、パラレル出力ポート５１３を初期化（Ｓｍ３）、遊技ＲＡＭ領域の全ての領域（未使用領域１を含む）の排他的論理和が０になるようにＲＡＭパリティ調整用データ１を計算して遊技ＲＡＭ領域にセットし、非遊技ＲＡＭ領域の全ての領域（未使用領域２を含む）の排他的論理和が０になるようにＲＡＭパリティ調整用データ２を計算して非遊技ＲＡＭ領域にセットし、スタック領域の全ての領域（未使用スタック領域及び使用中スタック領域）の排他的論理和が０になるようにＲＡＭパリティ調整用データ３を計算してスタック領域にセットし（Ｓｍ４）、ＲＡＭ４１ｃへのアクセスを禁止し（Ｓｍ５）、ループ処理に入る。
【０２５０】
ループ処理では、電圧低下信号の出力状況を監視した状態で待機する（Ｓｍ６）。この状態で、電圧低下信号が入力されなくなった場合に電圧の回復を判定し、起動処理からプログラムをスタートさせる。一方、電圧低下信号が入力されたまま電圧が低下すると内部的に動作停止状態になる。
【０２５１】
以上の処理によって、ＡＣ１００Ｖの電力供給が停止される場合には、電断処理が実行され、破壊診断用データ１〜３及びＲＡＭパリティ調整用データ１〜３がバックアップＲＡＭへストアされ、ＲＡＭアクセスが禁止状態にされ、出力ポートがクリアされる。
【０２５２】
このように本実施例では、電断を検出したときに実行する電断処理において、ＲＡＭ４１ｃのデータが正常か否かを判定するためのＲＡＭパリティ調整用データを算出する処理、電源投入時にデータが正常か否かを判定するためのＲＡＭパリティを算出する処理、電源投入時にＲＡＭパリティに基づいてＲＡＭ４１ｃのデータが正常か否かを判定する処理を、遊技ＲＡＭ領域、非遊技ＲＡＭ領域に分けて行うため、これらの処理を設計するうえで必要なデータの記憶領域を容易に特定することができる。
【０２５３】
尚、本実施例では、電断処理において対象となる領域の演算結果が特定の値（本実施例では０）となるように調整用データを対象となる領域に設定し、起動処理において対象となる領域の演算結果が特定の値となるか否かによってＲＡＭ４１ｃのデータが正常か否かを判定しているが、電断処理において対象となる領域の演算結果と、起動処理において対象となる領域の演算結果と、が一致するか否かによってＲＡＭ４１ｃのデータが正常か否かを判定する構成としても良い。また、演算方法は、排他的論理和に限らず、他の演算方法（例えば、総和）を用いても良い。
【０２５４】
また、本実施例では、電断処理において未使用領域１を含む遊技ＲＡＭ領域の全ての領域に格納されたデータを用いてＲＡＭパリティ調整用データ１を算出し、未使用領域２を含む非遊技ＲＡＭ領域全ての領域に格納されたデータを用いてＲＡＭパリティ調整用データを算出し、起動処理において未使用領域１を含む遊技ＲＡＭ領域の全ての領域に格納されたデータを用いて算出されたＲＡＭパリティ１、未使用領域２を含む非遊技ＲＡＭ領域の全ての領域に格納されたデータを用いて算出されたＲＡＭパリティ２に基づいてＲＡＭ４１ｃが正常か否かを判定するようになっており、未使用領域１、２に不正なプログラムが記憶された場合には、ＲＡＭ異常と判定されるため、未使用領域１、２に不正なプログラムが記憶されることを防止できる。
【０２５５】
尚、本実施例では、電断処理において未使用領域１を含む遊技ＲＡＭ領域の全ての領域に格納されたデータを用いてＲＡＭパリティ調整用データ１を算出し、未使用領域２を含む非遊技ＲＡＭ領域全ての領域に格納されたデータを用いてＲＡＭパリティ調整用データを算出し、起動処理において未使用領域１を含む遊技ＲＡＭ領域の全ての領域に格納されたデータを用いて算出されたＲＡＭパリティ１、未使用領域２を含む非遊技ＲＡＭ領域の全ての領域に格納されたデータを用いて算出されたＲＡＭパリティ２に基づいてＲＡＭ４１ｃが正常か否かを判定する構成であるが、未使用領域１を含まない遊技ＲＡＭ領域に格納されたデータを用いてＲＡＭパリティ調整用データ１を算出し、未使用領域２を含まない非遊技ＲＡＭ領域に格納されたデータを用いてＲＡＭパリティ調整用データを算出し、起動処理において未使用領域１を含まない遊技ＲＡＭ領域に格納されたデータを用いて算出されたＲＡＭパリティ１、未使用領域２を含まない非遊技ＲＡＭ領域に格納されたデータを用いて算出されたＲＡＭパリティ２に基づいてＲＡＭ４１ｃが正常か否かを判定する構成としても良い。
【０２５６】
また、電断処理において未使用領域１を含む遊技ＲＡＭ領域の全ての領域に格納されたデータを用いてＲＡＭパリティ調整用データ１を算出し、未使用領域２を含まない非遊技ＲＡＭ領域に格納されたデータを用いてＲＡＭパリティ調整用データを算出し、起動処理において未使用領域１を含む遊技ＲＡＭ領域の全ての領域に格納されたデータを用いて算出されたＲＡＭパリティ１、未使用領域２を含まない非遊技ＲＡＭ領域に格納されたデータを用いて算出されたＲＡＭパリティ２に基づいてＲＡＭ４１ｃが正常か否かを判定する構成としても良く、このような構成であっても、未使用領域１に不正なプログラムが記憶された場合には、ＲＡＭ異常と判定されるため、未使用領域１に不正なプログラムが記憶されることを防止できる。
【０２５７】
また、電断処理において未使用領域１を含まない遊技ＲＡＭ領域に格納されたデータを用いてＲＡＭパリティ調整用データ１を算出し、未使用領域２を含む非遊技ＲＡＭ領域全ての領域に格納されたデータを用いてＲＡＭパリティ調整用データを算出し、起動処理において未使用領域１を含まない遊技ＲＡＭ領域に格納されたデータを用いて算出されたＲＡＭパリティ１、未使用領域２を含む非遊技ＲＡＭ領域の全ての領域に格納されたデータを用いて算出されたＲＡＭパリティ２に基づいてＲＡＭ４１ｃが正常か否かを判定する構成としても良く、このような構成であっても、未使用領域２に不正なプログラムが記憶された場合には、ＲＡＭ異常と判定されるため、未使用領域２に不正なプログラムが記憶されることを防止できる。
【０２５８】
また、本実施例では、電断を検出したときに実行する電断処理において、ＲＡＭ４１ｃのデータが正常か否かを判定するためのＲＡＭパリティ調整用データを算出する処理、電源投入時にデータが正常か否かを判定するためのＲＡＭパリティを算出する処理、電源投入時にＲＡＭパリティに基づいてＲＡＭ４１ｃのデータが正常か否かを判定する処理を、遊技ＲＡＭ領域、非遊技ＲＡＭ領域に分けて行う構成であるが、電断処理において、遊技ＲＡＭ領域に格納されたデータ及び非遊技ＲＡＭ領域に格納されたデータの双方を用いた演算結果が特定の値となる調整用データを算出して遊技ＲＡＭ領域または非遊技ＲＡＭ領域に設定し、起動処理において遊技ＲＡＭ領域に格納されたデータ及び非遊技ＲＡＭ領域に格納されたデータの双方を用いた演算結果が特定の値となるか否かに基づいてＲＡＭ４１ｃのデータが正常か否かを判定する構成、すなわち電断処理において、ＲＡＭ４１ｃのデータが正常か否かを判定するための調整用データを算出する処理、電源投入時にデータが正常か否かを判定するためのデータを算出する処理、電源投入時に算出したデータに基づいてＲＡＭ４１ｃのデータが正常か否かを判定する処理を、遊技ＲＡＭ領域、非遊技ＲＡＭ領域を区別することなく行う構成としても良く、このような構成とすることで、電断処理において、ＲＡＭ４１ｃのデータが正常か否かを判定するための調整用データを算出する処理、電源投入時にデータが正常か否かを判定するためのデータを算出する処理、電源投入時に算出したデータに基づいてＲＡＭ４１ｃのデータが正常か否かを判定する処理に必要なプログラム容量を削減できる。
【０２５９】
また、このような構成においても、電断処理において遊技ＲＡＭ領域、非遊技ＲＡＭ領域だけでなく、未使用領域１、２を含む全ての領域のデータを用いて調整用データを算出し、起動処理においても遊技ＲＡＭ領域、非遊技ＲＡＭ領域だけでなく、未使用領域１、２を含む全ての領域のデータを用いて算出した結果が特定の値となるか否かによってＲＡＭ４１ｃのデータが正常か否かを判定する構成とすることが好ましく、このような構成においても、未使用領域１、２に不正なプログラムが記憶された場合には、ＲＡＭ異常と判定されるため、未使用領域１、２に不正なプログラムが記憶されることを防止できる。
【０２６０】
また、本実施例では、ＲＡＭ４１ｃのデータを初期化する場合に、遊技ＲＡＭ領域のうち重要ワーク及び特別ワーク以外の領域及び未使用領域１を初期化する初期化処理と、非遊技ＲＡＭ領域のうち重要ワーク及び特別ワーク以外の領域及び未使用領域２を初期化する初期化処理と、をそれぞれ別個に行うようになっており、例えば、遊技ＲＡＭ領域、非遊技ＲＡＭ領域のサイズ等を変更した場合でも、容易に対応することができる。
【０２６１】
尚、本実施例では、遊技ＲＡＭ領域及び非遊技ＲＡＭ領域がそれぞれ連続するアドレス領域に割り当てられた構成であるが、遊技ＲＡＭ領域の全部または一部が連続しないアドレス領域に割り当たられた構成、非遊技ＲＡＭ領域の全部または一部が連続しないアドレス領域に割り当てられた構成としても良い。
【０２６２】
また、このような構成とした場合には、例えば、初期化２により初期化される遊技ＲＡＭ領域の一般ワークと、初期化２により初期化される非遊技ＲＡＭ領域の一般ワークと、を連続するアドレス領域に割り当てる等、遊技ＲＡＭ領域のうち特定の初期化条件が成立した場合に初期化される領域と、非遊技ＲＡＭ領域のうち特定の初期化条件が成立した場合に初期化される領域と、が連続するアドレス領域に割り当てることで、特定の初期化条件が成立した場合に、初期化される遊技ＲＡＭ領域の先頭アドレスから初期化される非遊技ＲＡＭ領域の終了アドレスまで一括して初期化することが可能となり、初期化処理に要するプログラム容量を削減することができる。
【０２６３】
以上、本発明の実施例１を図面により説明してきたが、本発明はこの実施例１に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。
【０２６４】
実施例１では、本発明を遊技用価値としてメダル並びにクレジットを用いて賭数が設定されるスロットマシンに適用した例について説明したが、遊技用価値として遊技球を用いて賭数を設定するスロットマシンや、遊技用価値としてクレジットのみを使用して賭数を設定する完全クレジット式のスロットマシンに適用しても良い。遊技球を遊技用価値として用いる場合は、例えば、メダル１枚分を遊技球５個分に対応させることができ、前記実施例１で賭数として３を設定する場合は、１５個の遊技球を用いて賭数を設定するものに相当する。
【０２６５】
さらに、メダル及び遊技球等の複数種類の遊技用価値のうちいずれか１種類のみを用いるものに限定されるものではなく、例えば、メダル及び遊技球等の複数種類の遊技用価値を併用できるものであっても良い。すなわち、メダル及び遊技球等の複数種類の遊技用価値のいずれを用いても賭数を設定してゲームを行うことが可能であり、かつ入賞の発生によってメダル及び遊技球等の複数種類の遊技用価値のいずれをも払い出し得るスロットマシンを適用しても良い。
【０２６６】
また、実施例１では、遊技の制御を行うメイン制御部４１において遊技の進行に係わる遊技プログラムと遊技の進行に係わらない非遊技プログラムを区別し、さらに遊技プログラムを含む遊技領域と非遊技プログラムを含む非遊技領域を区別して管理する構成であるが、遊技の制御の一部（例えば、リール制御、クレジットの制御、メダルの払出制御、ＡＴに関連する制御）を、メイン制御部４１以外の一または複数の制御部に行わせる構成とした場合には、これらの制御部において、遊技の進行に係わる遊技プログラムと遊技の進行に係わらない非遊技プログラムを区別し、さらに遊技プログラムを含む遊技領域と非遊技プログラムを含む非遊技領域を区別して管理する構成としても良い。
【０２６７】
また、実施例１では、本発明をスロットマシンに適用しているが、遊技領域に遊技球を発射させて遊技を行うパチンコ遊技機に適用しても良い。この場合には、パチンコ遊技機において遊技の制御を行う遊技制御部が、遊技の進行に係わる遊技プログラムと遊技の進行に係わらない非遊技プログラムを区別し、さらに遊技プログラムを含む遊技領域と非遊技プログラムを含む非遊技領域を区別して管理する構成とすれば良い。
【０２６８】
尚、パチンコ遊技機において遊技の進行とは、パチンコ球が入賞口に入賞する段階、入賞することによりパチンコ球を付与する段階を進行させること、パチンコ球が入賞口に入賞する段階、入賞することにより識別情報を変動する段階、識別情報に表示結果を導出させる段階、導出された表示結果に応じて大当り状態等の価値を付与する段階を進行させることである。
【０２６９】
また、パチンコ遊技機においても、遊技の制御の一部（例えば、識別情報の表示制御、パチンコ球の増減を得点やポイント数で管理する得点管理式のパチンコ遊技機における得点やポイント数に係る制御、パチンコ球の払出制御）を、遊技制御部以外の一または複数の制御部に行わせる構成とした場合には、これらの制御部において、遊技の進行に係わる遊技プログラムと遊技の進行に係わらない非遊技プログラムを区別し、さらに遊技プログラムを含む遊技領域と非遊技プログラムを含む非遊技領域を区別して管理する構成としても良い。
【実施例２】
【０２７０】
本発明が適用されたスロットマシンの実施例２について説明する。尚、本実施例のスロットマシンの構成は、前述した実施例１と同一の構成を含むため、ここでは異なる点について主に説明する。
【０２７１】
実施例１では、ＣＰＵ４１ａは、遊技プログラムに基づく処理を実行するにあたり、非遊技ＲＡＭ領域を更新することはないが、非遊技ＲＡＭ領域を参照することは可能であり、非遊技プログラムに基づく処理を実行するにあたり、遊技ＲＡＭ領域を更新することはないが、遊技ＲＡＭ領域を参照することは可能である構成であったが、本実施例では、図１２に示すように、ＣＰＵ４１ａは、遊技プログラムに基づく処理を実行するにあたり、非遊技ＲＡＭ領域を更新も参照もすることがなく、非遊技プログラムに基づく処理を実行するにあたり、遊技ＲＡＭ領域を更新することも参照することもないようになっている。
【０２７２】
また、本実施例では、ＣＰＵ４１ａは、遊技ＲＡＭ領域のデータ等のうち非遊技プログラムで必要なデータについては、レジスタを介して受け渡すことができるようになっている。
【０２７３】
詳しくは、ＣＰＵ４１ａは、図１３に示すように、遊技プログラムに基づく処理から非遊技プログラムを呼び出す場合に、まず、レジスタの値を全てスタック領域に退避し、遊技プログラムが使用していたデータを保護する。次いで、呼び出す遊技プログラムにおいて必要なデータ、例えば、内部当選フラグの設定内容、遊技状態の種類、ＲＴの種類等を遊技ＲＡＭ領域から読み出してレジスタにセットする。そして、非遊技プログラムを呼び出す。非遊技プログラムでは、レジスタの値を読み出して、受け渡されたデータ、すなわち内部当選フラグの設定内容、遊技状態の種類、ＲＴの種類等のデータを非遊技ＲＡＭ領域に格納することで、以後、非遊技プログラムにおいてもこれらのデータを特定可能となる。その後、非遊技プログラムに基づく処理が全て終了した後、遊技プログラムに基づく処理に復帰し、スタック領域に退避していた値をレジスタに復帰し、遊技プログラムに基づく処理を再開するようになっている。
【０２７４】
本実施例では、実施例１と同様に、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムが参照する遊技データが読み出し可能に記憶される遊技データ領域と、遊技プログラムが参照するワークデータが読み出し及び書き込み可能に記憶される遊技ＲＡＭ領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、非遊技プログラムが参照する非遊技データが読み出し可能に記憶される非遊技データ領域と、非遊技プログラムが参照するワークデータが読み出し及び書き込み可能に記憶される非遊技ＲＡＭ領域と、がそれぞれ別個に割り当てられているため、遊技プログラム、遊技データ及び遊技プログラムのワークデータと、非遊技プログラム、非遊技データ及び非遊技プログラムのワークデータと、を記憶領域の違いに応じて容易に特定することができる。
【０２７５】
また、遊技プログラム領域及び遊技データ領域と、非遊技プログラム領域及び非遊技データ領域と、を分けることで、それぞれの機能に応じてＲＯＭ４１ｂに占める領域をコンパクトに管理することができるため、各領域において該当するデータを特定することがさらに容易となる。
【０２７６】
また、本実施例では、遊技プログラムを実行する際に、非遊技データ領域及び非遊技ＲＡＭ領域を参照せず、非遊技プログラムを実行する際に、遊技データ領域及び遊技ＲＡＭ領域を参照しないため、遊技プログラム及び非遊技プログラムの双方の設計も容易となる。
【０２７７】
また、遊技プログラムを実行する際に、非遊技ＲＡＭ領域を参照せず、非遊技プログラムを実行する際に、遊技ＲＡＭ領域を参照しない構成であっても、遊技状態が特定状態である場合に、遊技ＲＡＭ領域に特定状態であることを示す情報（内部当選フラグの設定内容、遊技状態の種類、ＲＴの種類等のデータ）を記憶させるとともに、非遊技ＲＡＭ領域にも特定状態であることを示す情報（内部当選フラグの設定内容、遊技状態の種類、ＲＴの種類等のデータ）を記憶させるようになっており、遊技プログラム及び非遊技プログラムの双方にて遊技状態が特定状態であることを特定し、それぞれ特定状態に応じた制御を行わせることができる。
【０２７８】
また、本実施例では、遊技プログラムにおいてレジスタに記憶させた値を非遊技プログラムが使用できるように受け渡すので、非遊技プログラムを実行する際に、遊技ＲＡＭ領域を参照しない構成であっても、遊技プログラムにおいて使用するデータを非遊技プログラムにおいても使用することが可能となる。
【０２７９】
また、本実施例では、非遊技プログラムから遊技プログラムに復帰する際に、レジスタの値がスタックに退避して保護されていた値に更新されるようになっており、非遊技プログラムにおいてレジスタに記憶された値が遊技プログラムに影響を及ぼすことがない。
【０２８０】
尚、非遊技プログラムから遊技プログラムに復帰する際に、レジスタの値をクリアする等、特定の値に更新する構成とした場合でも、非遊技プログラムにおいてレジスタに記憶された値が遊技プログラムに影響を及ぼすことがない。
【０２８１】
また、本実施例では、実施例１と同様に非遊技プログラムが、異常が検知された場合に、異常の種別に応じて解除条件が成立するまで遊技の進行を不能化するエラー処理を含むため、非遊技プログラムにおける処理で異常等が検知されたときにそのまま遊技が進行してしまうことを防止できる。
【０２８２】
また、本実施例では、実施例１と同様に非遊技プログラムが、遊技プログラムに含まれる共通判定プログラム（例えば、投入判定処理、払出判定処理）と同じ内容の共通判定プログラムを含むため、遊技プログラム及び非遊技プログラムが互いの結果に影響を及ぼさずに同様の判定を行うことができる。
【０２８３】
また、本実施例では、実施例１と同様に非遊技プログラムが、非遊技プログラムを構成する複数種類の処理から呼び出されて実行される処理であり、遊技プログラムに含まれる共通汎用プログラムと同様の共通汎用プログラムを含むため、処理内容が同じ共通汎用プログラムであっても遊技プログラムと非遊技プログラムとでそれぞれ備えるため、処理内容が同じ共通汎用プログラムであっても遊技プログラムに含まれるものか非遊技プログラムに含まれるものかを容易に特定することができる。
【０２８４】
また、本実施例では、実施例１と同様に非遊技プログラムが、遊技の進行に係わらない検知手段（投入口センサ２６、満タンセンサ３５ａ、ドア開放検出スイッチ２５）の検出状況に基づいて所定の検出状況か否かを判定する処理を含むため、遊技の進行に係わらない検知手段により所定の検出がされたか否かの判定は非遊技プログラムにより行われることで遊技プログラムが複雑となってしまうことがない。
【０２８５】
また、本実施例では、実施例１と同様に非遊技プログラムが、複数の制御状態（ＢＥＴ処理、内部抽選処理、リール回転処理、払出処理）のうち特定の制御状態においては、遊技の進行に係わる検知手段として機能し、他の制御状態においては、遊技の進行に係わらない検出手段として機能する検出手段（例えば、投入メダルセンサ３１、払出センサ３４ｃ）が、遊技の進行に係わらない制御状態での検出状況に基づいて所定の検出状況か否かを判定する処理（例えば、リール回転中のメダルの投入やメダルの払出が検出されたことによる異常を検知するための投入メダルの検出処理や払出メダルの検出処理）を含むため、上記のような検出手段の検出結果が遊技の進行に用いられない状況では、当該検出手段により所定の検出がされたか否かの判定は非遊技プログラムにより行われることで、当該検出手段の検出結果が遊技の進行に用いられない状況においても検出手段の検出結果を利用できるうえに、遊技プログラムが必要以上に複雑となってしまうことがない。
【０２８６】
以上、本発明の実施例２を説明してきたが、本発明はこの実施例２に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。また、実施例１と同一もしくは類似する構成については、実施例１で説明したものと同様の効果を有するものである。また、実施例１について例示した変形例についても実施例２に適用可能である。
【実施例３】
【０２８７】
本発明が適用されたスロットマシンの実施例３について説明する。尚、本実施例のスロットマシンの構成は、前述した実施例１と同一の構成を含むため、ここでは異なる点について主に説明する。
【０２８８】
実施例１では、遊技プログラムが、遊技プログラムだけに含まれる遊技専用プログラムと、遊技プログラム及び非遊技プログラム双方に含まれる共通判定プログラム及び共通汎用プログラムと、を含む構成であったが、本実施例では、図１４に示すように、遊技プログラムが、遊技プログラムだけに含まれる遊技専用プログラムと、遊技プログラム及び非遊技プログラムの双方で呼び出される共通プログラムと、を含む。共通プログラムは、実施例１における共通判定プログラム及び共通汎用プログラムを含む。
【０２８９】
また、実施例１では、非遊技プログラムが、非遊技プログラムだけに含まれる非遊技専用プログラムと、遊技プログラムと同じ共通判定プログラム及び共通汎用プログラムと、を含む構成であったが、本実施例では、図１４に示すように、非遊技専用プログラムのみを含み、共通判定プログラム及び共通汎用プログラムは含まない。
【０２９０】
また、実施例１では、非遊技プログラムに基づく処理が、遊技プログラムに含まれるプログラムを呼び出すことのない構成であったが、本実施例では、図１５に示すように、非遊技プログラムに基づく処理から遊技プログラムのうち共通プログラムを呼び出して実行し、その後、非遊技プログラムに復帰できるようになっている。
【０２９１】
また、実施例１では、遊技プログラムに基づく処理を実行するにあたり、非遊技ＲＡＭ領域を参照することは可能である構成であったが、本実施例では、図１５に示すように、遊技プログラムに基づく処理を実行するにあたり、非遊技ＲＡＭ領域を更新することも参照することもなく、非遊技プログラムに基づく処理を実行するにあたり、遊技ＲＡＭ領域を更新することはないが、遊技ＲＡＭ領域を参照することは可能である。
【０２９２】
また、非遊技プログラムに基づく処理は、遊技ＲＡＭ領域のうち非遊技プログラムに必要な特定の領域（例えば、内部当選フラグの設定領域、遊技状態の設定領域、ＲＴの設定領域等）のみ参照可能とされている。
【０２９３】
ただし、起動処理におけるＲＡＭ異常確認、バックアップ異常確認、ＲＡＭ４１ｃの初期化、電断処理は、非遊技プログラムに含まれるが、これらの処理は例外として、ＲＡＭ４１ｃの全領域へのアクセスが可能とされている。
【０２９４】
本実施例では、実施例１と同様に、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムが参照する遊技データが読み出し可能に記憶される遊技データ領域と、遊技プログラムが参照するワークデータが読み出し及び書き込み可能に記憶される遊技ＲＡＭ領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、非遊技プログラムが参照する非遊技データが読み出し可能に記憶される非遊技データ領域と、非遊技プログラムが参照するワークデータが読み出し及び書き込み可能に記憶される非遊技ＲＡＭ領域と、がそれぞれ別個に割り当てられているため、遊技プログラム、遊技データ及び遊技プログラムのワークデータと、非遊技プログラム、非遊技データ及び非遊技プログラムのワークデータと、を記憶領域の違いに応じて容易に特定することができる。
【０２９５】
また、遊技プログラム領域及び遊技データ領域と、非遊技プログラム領域及び非遊技データ領域と、を分けることで、それぞれの機能に応じてＲＯＭ４１ｂに占める領域をコンパクトに管理することができるため、各領域において該当するデータを特定することがさらに容易となる。
【０２９６】
また、本実施例では、非遊技プログラムに基づく処理を実行するにあたり、遊技ＲＡＭ領域を参照することは可能であるため、非遊技プログラムを実行するにあたり、遊技プログラムが使用していたデータを簡単に利用することができる。一方で、非遊技プログラムを実行する際に、遊技ＲＡＭ領域を更新することは不可能であるため、非遊技プログラムが遊技プログラムの処理に影響を及ぼすことがない。
【０２９７】
また、本実施例では、非遊技プログラムに基づく処理は、遊技ＲＡＭ領域のうち非遊技プログラムに必要な特定の領域（例えば、内部当選フラグの設定領域、遊技状態の設定領域、ＲＴの設定領域等）のみ参照可能とされているので、非遊技プログラムが参照可能なデータが特定の領域に制限されているため、非遊技プログラムの参照先を容易に特定することができる。
【０２９８】
また、本実施例では、実施例１と同様に遊技プログラムが非遊技プログラムを呼び出して非遊技プログラムを実行する際に、遊技プログラムが実際に使用していたレジスタであるか否かに関わらずレジスタの全ての領域を保護する処理が行われるため、遊技プログラムに復帰する際に、非遊技プログラムが呼び出された時点の状態から確実に復帰することができる。
【０２９９】
また、本実施例では、実施例１と同様に遊技プログラムに基づく処理から非遊技プログラムを呼び出した場合に、非遊技プログラムの最初に、遊技プログラムが使用していたレジスタの値を保護し、非遊技プログラムの最後に、保護されているレジスタの値を復帰させるようになっているため、遊技プログラムの容量を削減することができる。
【０３００】
尚、遊技プログラムに基づく処理から非遊技プログラムを呼び出す直前に遊技プログラムが使用していたレジスタの値を保護し、非遊技プログラムに基づく処理が全て終了した後に、遊技プログラムに復帰した最初の段階で保護されているレジスタの値を復帰させる構成としても良く、このような構成とすることで、非遊技プログラムの呼び出し前にレジスタの保護処理が行われ、非遊技プログラムからの復帰後にレジスタの復旧処理が行われるため、非遊技プログラムによってレジスタに記憶されたデータが遊技プログラムに影響を及ぼすことがない。
【０３０１】
また、本実施例では、実施例１と同様に非遊技プログラムが、異常が検知された場合に、異常の種別に応じて解除条件が成立するまで遊技の進行を不能化するエラー処理を含むため、非遊技プログラムにおける処理で異常等が検知されたときにそのまま遊技が進行してしまうことを防止できる。
【０３０２】
また、本実施例では、非遊技プログラムが、遊技プログラムを構成する複数種類の処理から呼び出されて実行される共通汎用プログラムを、遊技の進行に係わらない複数の処理から呼び出して実行することが可能であり、遊技プログラムにおいて複数種類の処理で共通する共通汎用プログラムを非遊技プログラムにおいても利用することが可能となる。
【０３０３】
また、本実施例では、実施例１と同様に非遊技プログラムが、遊技の進行に係わらない検知手段（投入口センサ２６、満タンセンサ３５ａ、ドア開放検出スイッチ２５）の検出状況に基づいて所定の検出状況か否かを判定する処理を含むため、遊技の進行に係わらない検知手段により所定の検出がされたか否かの判定は非遊技プログラムにより行われることで遊技プログラムが複雑となってしまうことがない。
【０３０４】
また、本実施例では、実施例１と同様に非遊技プログラムが、複数の制御状態（ＢＥＴ処理、内部抽選処理、リール回転処理、払出処理）のうち特定の制御状態においては、遊技の進行に係わる検知手段として機能し、他の制御状態においては、遊技の進行に係わらない検出手段として機能する検出手段（例えば、投入メダルセンサ３１、払出センサ３４ｃ）が、遊技の進行に係わらない制御状態での検出状況に基づいて所定の検出状況か否かを判定する処理（例えば、リール回転中のメダルの投入やメダルの払出が検出されたことによる異常を検知するための投入メダルの検出処理や払出メダルの検出処理）を含むため、上記のような検出手段の検出結果が遊技の進行に用いられない状況では、当該検出手段により所定の検出がされたか否かの判定は非遊技プログラムにより行われることで、当該検出手段の検出結果が遊技の進行に用いられない状況においても検出手段の検出結果を利用できるうえに、遊技プログラムが必要以上に複雑となってしまうことがない。
【０３０５】
以上、本発明の実施例３を説明してきたが、本発明はこの実施例３に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。また、実施例１、２と同一もしくは類似する構成については、実施例１、２で説明したものと同様の効果を有するものである。また、実施例１、２について例示した変形例についても実施例３に適用可能である。
【０３０６】
次に、遊技領域と非遊技領域との関係についての変形例について以下に説明する。
【０３０７】
［変形例１］
変形例１では、図１６に示すように、ＣＰＵ４１ａは、遊技プログラムに基づく処理を実行するにあたり、非遊技データ領域を参照することはなく、非遊技ＲＡＭ領域を参照することもない。一方で、ＣＰＵ４１ａは、非遊技プログラムに基づく処理を実行するにあたり、遊技データ領域を参照することが可能であり、遊技ＲＡＭ領域を更新することはないが、遊技ＲＡＭ領域を参照することは可能である。
【０３０８】
このように、非遊技プログラムを実行する際に、遊技ＲＡＭ領域を参照することが可能であるため、非遊技プログラムを実行するにあたり、遊技プログラムが使用していたデータを簡単に利用することができる。一方で、非遊技プログラムを実行する際に、遊技ＲＡＭ領域を更新することは不可能であるため、非遊技プログラムが遊技プログラムの処理に影響を及ぼすことがない。
【０３０９】
また、非遊技プログラムは遊技データ領域の遊技データを参照することが可能であるため、遊技データ領域と非遊技データ領域とで重複するデータを記憶せずに済み、ＲＯＭ容量を削減することができる。
【０３１０】
［変形例２］
変形例２では、図１７に示すように、ＣＰＵ４１ａは、遊技プログラムに基づく処理を実行するにあたり、非遊技データ領域を参照することはなく、非遊技ＲＡＭ領域を参照することもない。一方で、ＣＰＵ４１ａは、非遊技プログラムに基づく処理を実行するにあたり、遊技データ領域を参照することが可能であるが、遊技ＲＡＭ領域を更新するも参照することもない。
【０３１１】
このように、非遊技プログラムは遊技データ領域の遊技データを参照することが可能であるため、遊技データ領域と非遊技データ領域とで重複するデータを記憶せずに済み、ＲＯＭ容量を削減することができる。
【０３１２】
また、遊技プログラムを実行する際に、非遊技データ領域及び非遊技ＲＡＭ領域を参照しないため、遊技プログラムの設計が容易となる。
【０３１３】
［変形例３］
変形例３では、図１８に示すように、ＣＰＵ４１ａは、遊技プログラムに基づく処理を実行するにあたり、非遊技データ領域を参照することはなく、非遊技ＲＡＭ領域を参照することもない。一方で、ＣＰＵ４１ａは、非遊技プログラムに基づく処理を実行するにあたり、非遊技データ領域を参照することはないが、遊技ＲＡＭ領域を更新することも参照することも可能である。
【０３１４】
このように、非遊技プログラムを実行する際に、遊技ＲＡＭ領域を参照することも更新することも可能であるため、非遊技プログラムを実行するにあたり、遊技プログラムが使用していたデータを簡単に利用することができるとともに、非遊技プログラムが直接更新することも可能となるので、遊技プログラムと非遊技プログラムとの連携が取りやすくなる。
【０３１５】
［変形例４］
変形例４では、図１９に示すように、ＣＰＵ４１ａは、遊技プログラムに基づく処理を実行するにあたり、非遊技データ領域を参照することはなく、非遊技ＲＡＭ領域を参照することもない。一方で、ＣＰＵ４１ａは、非遊技プログラムに基づく処理を実行するにあたり、遊技データ領域を参照することが可能であり、遊技ＲＡＭ領域を更新することも参照することも可能である。
【０３１６】
このように、非遊技プログラムは遊技データ領域の遊技データを参照することが可能であるため、遊技データ領域と非遊技データ領域とで重複するデータを記憶せずに済み、ＲＯＭ容量を削減することができる。
【０３１７】
また、非遊技プログラムを実行する際に、遊技ＲＡＭ領域を参照することも更新することも可能であるため、非遊技プログラムを実行するにあたり、遊技プログラムが使用していたデータを簡単に利用することができるとともに、非遊技プログラムが直接更新することも可能となるので、遊技プログラムと非遊技プログラムとの連携が取りやすくなる。
【０３１８】
［変形例５］
変形例５では、図２０に示すように、ＣＰＵ４１ａは、遊技プログラムに基づく処理を実行するにあたり、非遊技データ領域を参照することはなく、非遊技ＲＡＭ領域を更新することはないが、非遊技ＲＡＭ領域を参照することは可能である。一方で、ＣＰＵ４１ａは、非遊技プログラムに基づく処理を実行するにあたり、遊技データ領域を参照することが可能であり、遊技ＲＡＭ領域を更新することはないが、遊技ＲＡＭ領域を参照することは可能である。
【０３１９】
このように、非遊技プログラムは遊技データ領域の遊技データを参照することが可能であるため、遊技データ領域と非遊技データ領域とで重複するデータを記憶せずに済み、ＲＯＭ容量を削減することができる。
【０３２０】
また、本実施例では、遊技プログラムを実行する際に、非遊技ＲＡＭ領域を参照することが可能であり、非遊技プログラムを実行する際に、遊技ＲＡＭ領域を参照することが可能であるため、遊技プログラムを実行するにあたり、非遊技プログラムが使用していたデータを簡単に利用することができ、非遊技プログラムを実行するにあたり、遊技プログラムが使用していたデータを簡単に利用することができる。一方で、遊技プログラムを実行する際に、非遊技ＲＡＭ領域を更新することは不可能であり、非遊技プログラムを実行する際に、遊技ＲＡＭ領域を更新することは不可能であるため、遊技プログラムが非遊技プログラムの処理に影響を及ぼすことなく、非遊技プログラムが遊技プログラムの処理に影響を及ぼすことがない。
【０３２１】
［変形例６］
変形例６では、図２１に示すように、ＣＰＵ４１ａは、遊技プログラムに基づく処理を実行するにあたり、非遊技データ領域を参照することが可能であり、非遊技ＲＡＭ領域を更新することはないが、非遊技ＲＡＭ領域を参照することは可能である。一方で、ＣＰＵ４１ａは、非遊技プログラムに基づく処理を実行するにあたり、遊技データ領域を参照することが可能であり、遊技ＲＡＭ領域を更新することはないが、遊技ＲＡＭ領域を参照することは可能である。
【０３２２】
このように、遊技プログラムは非遊技データ領域の非遊技データを参照することが可能であり、非遊技プログラムは遊技データ領域の遊技データを参照することが可能であるため、遊技データ領域と非遊技データ領域とで重複するデータを記憶せずに済み、ＲＯＭ容量を削減することができる。
【０３２３】
また、本実施例では、遊技プログラムを実行する際に、非遊技ＲＡＭ領域を参照することが可能であり、非遊技プログラムを実行する際に、遊技ＲＡＭ領域を参照することが可能であるため、遊技プログラムを実行するにあたり、非遊技プログラムが使用していたデータを簡単に利用することができ、非遊技プログラムを実行するにあたり、遊技プログラムが使用していたデータを簡単に利用することができる。一方で、遊技プログラムを実行する際に、非遊技ＲＡＭ領域を更新することは不可能であり、非遊技プログラムを実行する際に、遊技ＲＡＭ領域を更新することは不可能であるため、遊技プログラムが非遊技プログラムの処理に影響を及ぼすことなく、非遊技プログラムが遊技プログラムの処理に影響を及ぼすことがない。
【符号の説明】
【０３２４】
１  スロットマシン
２Ｌ、２Ｃ、２Ｒ  リール
６  ＭＡＸＢＥＴスイッチ
７  スタートスイッチ
８Ｌ、８Ｃ、８Ｒ  ストップスイッチ
４１  メイン制御部
４１ａ  ＣＰＵ
４１ｂ  ＲＯＭ
４１ｃ  ＲＡＭ
【図１】
0006496527.tif 000002
【図２】
0006496527.tif 000003
【図３】
0006496527.tif 000004
【図４】
0006496527.tif 000005
【図５】
0006496527.tif 000006
【図６】
0006496527.tif 000007
【図７】
0006496527.tif 000008
【図８】
0006496527.tif 000009
【図９】
0006496527.tif 000010
【図１０】
0006496527.tif 000011
【図１１】
0006496527.tif 000012
【図１２】
0006496527.tif 000013
【図１３】
0006496527.tif 000014
【図１４】
0006496527.tif 000015
【図１５】
0006496527.tif 000016
【図１６】
0006496527.tif 000017
【図１７】
0006496527.tif 000018
【図１８】
0006496527.tif 000019
【図１９】
0006496527.tif 000020
【図２０】
0006496527.tif 000021
【図２１】
0006496527.tif 000022