(57)【要約】      （修正有）【課題】処理を簡素化するとともに、誤って信号の出力が行われることを防止する遊技機の提供。【解決手段】メインＣＰＵは、メイン処理を実行するとともに、タイマ割込の発生に基づいて、メイン処理に割り込んで割込処理を実行する。割込処理においてＬＥＤを点灯するための信号を出力する出力ポートが出力する処理を行うとともに、メイン処理でＬＥＤデータＡの設定処理が行われ、割込処理でＬＥＤデータＣの設定処理が行われる。ＬＥＤデータＡの設定処理は、出力データを設定した後、出力しない場合に出力データをクリアする処理であり、ＬＥＤデータＣの設定処理は、出力データをクリアした後、出力する場合に出力データを設定する処理である。【選択図】図２４
2020036685.tif 000002
【特許請求の範囲】
【請求項１】
遊技が可能な遊技機であって、
所定の処理を実行する処理手段を備え、
前記処理手段によって実行される前記所定の処理には、メイン処理と、割込の発生に基づき前記メイン処理に割り込んで実行される割込処理とが含まれ、
前記処理手段は、
前記割込処理において、出力データ記憶領域に設定された出力データを出力する出力処理と、
前記メイン処理において、前記出力データ記憶領域に前記出力データを設定するメイン側設定処理と、
前記割込処理において、前記出力データ記憶領域に前記出力データを設定する割込側設定処理とを実行可能であり、
前記メイン側設定処理は、前記出力データ記憶領域に設定されたデータをクリアした後、出力条件が成立しているときに前記出力データ記憶領域に前記出力データを設定する処理であり、
前記割込側設定処理は、前記出力データ記憶領域に前記出力データを設定した後、出力条件が成立していないときに前記出力データ記憶領域に設定されたデータをクリアする処理である、遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遊技が可能な遊技機に関する。
【背景技術】
【０００２】
遊技機として、遊技球などの遊技媒体を発射装置によって遊技領域に発射し、遊技領域に設けられている入賞口などの入賞領域に遊技媒体が入賞すると、所定個の賞球が遊技者に払い出されるパチンコ遊技機がある。
【０００３】
また、パチンコ遊技機とは別の遊技機として、外周部に識別情報としての複数種類の図柄が描かれた複数（通常は３つ）のリールを有する可変表示部を備えており、全てのリールの回転を停止したときに導出された表示結果に従って入賞が発生するスロットマシンがある。
【０００４】
このような遊技機として、入賞口の開閉翼を開閉するソレノイドに対し、開放するためのオン情報を設定した後、開放時間が経過しているかを判定し、経過していない場合はオン情報を維持し、経過している場合はオフ情報を設定する遊技機が提案されている（たとえば、特許文献１）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１７６９６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述のような信号の出力に複数の条件がある場合、処理が複雑になるとともに、意図しない不具合が発生してしまう虞があった。
【０００７】
この発明は、かかる実情に鑑み考え出されたものであり、その目的は、処理を簡素化するとともに、誤って信号の出力が行われることを防止することである。
【課題を解決するための手段】
【０００８】
遊技が可能な遊技機（スロットマシン１）であって、
所定の処理を実行する処理手段（たとえば、メインＣＰＵ４１ａ）を備え、
前記処理手段によって実行される前記所定の処理には、メイン処理（たとえば、図９に示すメイン処理）と、割込の発生に基づき前記メイン処理に割り込んで実行される割込処理（たとえば、図１６に示すタイマ割込処理（メイン））とが含まれ、
前記処理手段は、
前記割込処理において、出力データ記憶領域に設定された出力データを出力する出力処理（たとえば、出力ポート出力処理）と、
前記メイン処理において、前記出力データ記憶領域に前記出力データを設定するメイン側設定処理（たとえば、ＬＥＤデータＡの設定処理、ＬＥＤデータＢの設定処理）と、
前記割込処理において、前記出力データ記憶領域に前記出力データを設定する割込側設定処理（たとえば、ＬＥＤデータＣの設定処理、ＬＥＤデータＤの設定処理）とを実行可能であり、
前記メイン側設定処理は、前記出力データ記憶領域に設定されたデータをクリアした後、出力条件（たとえば、ＬＥＤデータＡの有効化条件、ＬＥＤデータＢの有効化条件）が成立しているときに前記出力データ記憶領域に前記出力データを設定する処理であり（たとえば、図２４に示すように、メイン側設定処理は、ＬＥＤデータＡ，ＢをＯＦＦ設定した後、ＬＥＤデータＡの有効化条件が成立条件が成立しているときにＬＥＤデータＡをＯＮ設定し、ＬＥＤデータＢの有効化条件が成立条件が成立しているときにＬＥＤデータＢをＯＮ設定する処理である）、
前記割込側設定処理は、前記出力データ記憶領域に前記出力データを設定した後、出力条件（たとえば、信号データＣの有効化条件、信号データＤの有効化条件）が成立していないときに前記出力データ記憶領域に設定されたデータをクリアする処理である（たとえば、図２４に示すように、割込側設定処理は、信号データＣ，ＤをＯＮ設定した後、信号データＣの有効化条件が成立していないときに信号データＣの設定をＯＦＦ設定し、信号データＤの有効化条件が成立していないときに信号データＤの設定をＯＦＦ設定する処理である）。
【図面の簡単な説明】
【０００９】
【図１】本発明が適用された実施例のスロットマシンの正面図である。
【図２】スロットマシンの内部構造を示す斜視図である。
【図３】スロットマシンの構成を示すブロック図である。
【図４】メイン制御部が搭載するＲＯＭおよびＲＡＭのメモリマップを示す図である。
【図５】入出力ポートマップを示す図である。
【図６】エラーコードを示す図である。
【図７】メイン制御部が行う起動処理（メイン）の制御内容を示すフローチャートである。
【図８】メイン制御部が行う内蔵レジスタ設定処理の制御内容を示すフローチャートである。
【図９】メイン制御部が行うメイン処理の制御内容を示すフローチャートである。
【図１０】メイン制御部が行う遊技開始待ち処理の制御内容を示すフローチャートである。
【図１１】メイン制御部が行う投入払出エラーチェック処理の制御内容を示すフローチャートである。
【図１２】メイン制御部が行うエラー処理の制御内容を示すフローチャートである。
【図１３】メイン制御部が行うリール停止制御処理の制御内容を示すフローチャート（その１）である。
【図１４】メイン制御部が行うリール停止制御処理の制御内容を示すフローチャート（その２）である。
【図１５】メイン制御部が行う遊技終了時の設定処理の制御内容を示すフローチャートである。
【図１６】メイン制御部が行うタイマ割込処理（メイン）の制御内容を示すフローチャートである。
【図１７】リール停止制御処理における停止設定を説明するためのタイミングチャート（その１）である。
【図１８】リール停止制御処理における停止設定を説明するためのタイミングチャート（その２）である。
【図１９】リール停止制御処理における停止設定を説明するためのタイミングチャート（その３）である。
【図２０】払出信号の出力処理について説明するための図（その１）である。
【図２１】払出信号の出力処理について説明するための図（その２）である。
【図２２】払出信号の出力処理について説明するための図（その３）である。
【図２３】割込禁止についての安全性について説明するためのフローチャートである。
【図２４】出力データの設定について説明するためのフローチャートである。
【発明を実施するための形態】
【００１０】
本発明に係る遊技機として、スロットマシンを実施するための本実施の形態について以下に説明する。なお、本発明はスロットマシンにかかわらず、パチンコ遊技機やゲーム機等のその他の遊技を行う遊技機に適用できる。
【００１１】
［スロットマシンの構成］
図１は、本実施形態に係るスロットマシン１の正面図である。本実施例のスロットマシン１は、図１に示すように、前面が開口する筐体１ａと、この筐体１ａの側端に回動自在に枢支された前面扉１ｂとから構成されている。
【００１２】
本実施例のスロットマシン１の筐体１ａの内部には、図１に示すように、外周に複数種の図柄が配列されたリール２Ｌ，２Ｃ，２Ｒ（以下、左リール、中リール、右リールとも称する）が水平方向に並設されており、図１に示すように、これらリール２Ｌ，２Ｃ，２Ｒに配列された図柄のうち連続する３つの図柄が前面扉１ｂに設けられた透視窓３から見えるように配置されている。
【００１３】
リール２Ｌ，２Ｃ，２Ｒの外周部には、互いに識別可能な複数種類の図柄（例えば、「７」、「ＢＡＲ」、「スイカ」、「チェリー」、「ベル」、「リプレイ」など）が所定の順序で、それぞれ２１個ずつ描かれている。リール２Ｌ，２Ｃ，２Ｒの外周部に描かれた図柄は、前面扉１ｂの略中央に設けられた透視窓３において各々上中下三段に表示される。
【００１４】
各リール２Ｌ，２Ｃ，２Ｒは、各々対応して設けられたリールモータ３２Ｌ，３２Ｃ，３２Ｒ（図３参照）によって回転されることで、各リール２Ｌ，２Ｃ，２Ｒの図柄が透視窓３に連続的に変化しつつ表示される一方で、各リール２Ｌ，２Ｃ，２Ｒの回転が停止されることで、透視窓３に３つの連続する図柄が表示結果として導出表示されるようになっている。
【００１５】
なお、本実施例のリール２Ｌ，２Ｃ，２Ｒは、リールモータ３２Ｌ，３２Ｃ，３２Ｒを用いて、外周面に複数の図柄が配置されたリール２Ｌ，２Ｃ，２Ｒを回転させることで、遊技者から視認可能な複数の図柄を移動させる変動表示を行うことが可能な構成であるが、複数の図柄を移動させる変動表示を行う手段は、リール以外であっても良く、例えば、外周面に複数の図柄が配置されたベルトを移動させることで変動表示を行うことが可能な構成などであっても良い。
【００１６】
リール２Ｌ，２Ｃ，２Ｒの内側には、リール２Ｌ，２Ｃ，２Ｒそれぞれに対して、基準位置を検出するリールセンサ３３Ｌ，３３Ｃ，３３Ｒと、リール２Ｌ，２Ｃ，２Ｒを背面から照射するリールＬＥＤ５５とが設けられている。また、リールＬＥＤ５５は、リール２Ｌ，２Ｃ，２Ｒの連続する３つの図柄に対応する１２のＬＥＤからなり、各図柄をそれぞれ独立して照射可能とされている。
【００１７】
また、リールセンサ３３Ｌ，３３Ｃ，３３Ｒは、各リール２Ｌ，２Ｃ，２Ｒについて図柄番号１の図柄の領域の下端が各リールにおける所定位置を通過するときに、検出信号を出力するように配置されており、各リールについて図柄番号１の図柄の領域の下端がリール基準位置となる。
【００１８】
前面扉１ｂの各リール２Ｌ，２Ｃ，２Ｒの手前側（遊技者側）の位置には、液晶表示器５１（図１参照）の表示領域５１ａが配置されている。液晶表示器５１は、液晶素子に対して電圧が印加されていない状態で透過性を有する液晶パネルを有しており、表示領域５１ａの透視窓３に対応する透過領域５１ｂおよび透視窓３を介して遊技者側から各リール２Ｌ，２Ｃ，２Ｒが視認できるようになっている。
【００１９】
前面扉１ｂには、図１に示すように、メダルを投入可能なメダル投入部４、メダルが払い出されるメダル払出口９、クレジット（遊技者所有の遊技用価値として記憶されているメダル数）を用いて、その範囲内において遊技状態に応じて定められた規定数の賭数（ＢＥＴ数）のうち最大の賭数（ＭＡＸＢＥＴ数）を設定する際に操作されるＭＡＸＢＥＴスイッチ６、クレジットとして記憶されているメダルおよび賭数の設定に用いたメダルを精算する（クレジットおよび賭数の設定に用いた分のメダルを返却させる）際に操作される精算スイッチ１０、ゲーム（遊技）を開始する際に操作されるスタートスイッチ７、リール２Ｌ，２Ｃ，２Ｒの回転を各々停止する際に操作されるストップスイッチ８Ｌ，８Ｃ，８Ｒ、演出に用いられる演出用スイッチ５６が遊技者により操作可能にそれぞれ設けられている。
【００２０】
なお、本実施例では、回転を開始した３つのリール２Ｌ，２Ｃ，２Ｒのうち、最初に停止するリールを第１停止リールと称し、また、その停止を第１停止と称する。同様に、２番目に停止するリールを第２停止リールと称し、また、その停止を第２停止と称し、３番目に停止するリールを第３停止リールと称し、また、その停止を第３停止あるいは最終停止と称する。
【００２１】
また、前面扉１ｂには、図１に示すように、クレジットとして記憶されているメダル枚数が表示されるクレジット表示器１１、入賞の発生により払い出されたメダル枚数やエラー発生時にその内容を示すエラーコードなどが表示される遊技補助表示器１２、賭数が１設定されている旨を点灯により報知する１ＢＥＴＬＥＤ１４、賭数が２設定されている旨を点灯により報知する２ＢＥＴＬＥＤ１５、賭数が３設定されている旨を点灯により報知する３ＢＥＴＬＥＤ１６、メダルの投入が可能な状態を点灯により報知する投入要求ＬＥＤ１７、スタートスイッチ７の操作によるゲームのスタート操作が有効である旨を点灯により報知するスタート有効ＬＥＤ１８、ウェイト（前回のゲーム開始から一定期間経過していないためにリールの回転開始を待機している状態）中である旨を点灯により報知するウェイト中ＬＥＤ１９、リプレイゲーム中である旨を点灯により報知するリプレイ中ＬＥＤ２０が設けられた遊技用表示部１３が設けられている。
【００２２】
ＭＡＸＢＥＴスイッチ６の内部には、ＭＡＸＢＥＴスイッチ６の操作による賭数の設定操作が有効である旨を点灯により報知するＢＥＴスイッチ有効ＬＥＤ２１（図３参照）が設けられており、ストップスイッチ８Ｌ，８Ｃ，８Ｒの内部には、該当するストップスイッチ８Ｌ，８Ｃ，８Ｒによるリールの停止操作が有効である旨を点灯により報知する左，中，右停止有効ＬＥＤ２２Ｌ，２２Ｃ，２２Ｒ（図３参照）がそれぞれ設けられており、演出用スイッチ５６の内部には、演出用スイッチ５６の操作が有効である旨を点灯により報知する演出用ＬＥＤ５６ａ（図３参照）が設けられている。
【００２３】
図２は、スロットマシンの内部構造を示す斜視図である。前面扉１ｂの内側には、図２に示すように、所定のキー操作により前面扉１ｂを開放することなく後述するエラー状態および打止状態を解除するためのリセット操作を検出するリセットスイッチ２３、後述する設定値の変更中や設定値の確認中にその時点の設定値が表示される設定値表示器２４、所定の契機に打止状態（リセット操作がなされるまでゲームの進行が規制される状態）に制御する打止機能の有効／無効を選択するための打止スイッチ３６ａ、所定の契機に自動精算処理（クレジットとして記憶されているメダルを遊技者の操作によらず精算（返却）する処理）に制御する自動精算機能の有効／無効を選択するための自動精算スイッチ３６ｂ、メダル投入部４から投入されたメダルの流路を、筐体１ａの内部に設けられた後述のホッパータンク３４ａ（図２参照）側またはメダル払出口９側のいずれか一方に選択的に切り替えるための流路切替ソレノイド３０、メダル投入部４から投入され、ホッパータンク３４ａ側に流下したメダルを検出する投入メダルセンサ３１、投入メダルセンサ３１の上流側で異物の挿入を検出する投入口センサ２６を有するメダルセレクタ２９、前面扉１ｂの開放状態を検出するドア開放検出スイッチ２５（図３参照）が設けられている。
【００２４】
筐体１ａの内部には、図２に示すように、前述したリール２Ｌ，２Ｃ，２Ｒ、リールモータ３２Ｌ，３２Ｃ，３２Ｒ（図３参照）、各リール２Ｌ，２Ｃ，２Ｒのリール基準位置をそれぞれ検出可能なリールセンサ３３Ｌ，３３Ｃ，３３Ｒ（図３参照）からなるリールユニット２、外部出力信号を出力するための外部出力基板１０００（図３参照）、メダル投入部４から投入されたメダルを貯留するホッパータンク３４ａ、ホッパータンク３４ａに貯留されたメダルをメダル払出口９より払い出すためのホッパーモータ３４ｂ（図３参照）、ホッパーモータ３４ｂの駆動により払い出されたメダルを検出する払出センサ３４ｃ（図３参照）からなるホッパーユニット３４、電源ボックス１００が設けられている。
【００２５】
ホッパーユニット３４の側部には、ホッパータンク３４ａからあふれたメダルが貯留されるオーバーフロータンク３５が設けられている。オーバーフロータンク３５の内部には、貯留されたメダルが満タン状態となったことを検出する満タンセンサ３５ａ（図３参照）が設けられている。
【００２６】
電源ボックス１００の前面には、図２に示すように、設定変更状態または設定確認状態に切り替えるための設定キースイッチ３７、通常時においてはエラー状態や打止状態を解除するためのリセットスイッチとして機能し、設定変更状態においては後述する内部抽選の当選確率（出玉率）の設定値を変更するための設定スイッチとして機能するリセット／設定スイッチ３８、電源をｏｎ／ｏｆｆする際に操作される電源スイッチ３９が設けられている。
【００２７】
なお、電源ボックス１００は、筐体１ａの内部に設けられており、さらに前面扉１ｂは、店員などが所持する所定のキー操作により開放可能な構成であるため、これら電源ボックス１００の前面に設けられた設定キースイッチ３７、リセット／設定スイッチ３８、電源スイッチ３９は、キーを所持する店員などの者のみが操作可能とされ、遊技者による操作ができないようになっている。また、所定のキー操作により検出されるリセットスイッチ２３も同様である。特に、設定キースイッチ３７は、キー操作により前面扉１ｂを開放したうえで、さらにキー操作を要することから、遊技店の店員のなかでも、設定キースイッチ３７の操作を行うキーを所持する店員のみ操作が可能とされている。
【００２８】
本実施例のスロットマシン１においてゲームを行う場合には、まず、メダルをメダル投入部４から投入するか、あるいはクレジットを使用して賭数を設定する。クレジットを使用するにはＭＡＸＢＥＴスイッチ６を操作すれば良い。遊技状態に応じて定められた規定数の賭数が設定されると、入賞ラインＬＮ（図１参照）が有効となり、スタートスイッチ７の操作が有効な状態、すなわち、ゲームが開始可能な状態となる。なお、遊技状態に対応する規定数のうち最大数を超えてメダルが投入された場合には、その分はクレジットに加算される。
【００２９】
入賞ラインとは、各リール２Ｌ，２Ｃ，２Ｒの透視窓３に表示された図柄の組合せが入賞図柄の組合せであるかを判定するために設定されるラインである。本実施例では、図１に示すように、リール２Ｌの中段、リール２Ｃの中段、リール２Ｒの中段、すなわち中段に水平方向に並んだ図柄に跨がって設定された入賞ラインＬＮのみが入賞ラインとして定められている。なお、本実施例では、１本の入賞ラインのみを適用しているが、複数の入賞ラインを適用しても良い。
【００３０】
また、本実施例では、入賞ラインＬＮに入賞を構成する図柄の組合せが揃ったことを認識しやすくするために、入賞ラインＬＮとは別に、無効ラインＬＭ１〜４（ＬＭ１は、左中右リールの各上段にわたるラインであり、ＬＭ２は、左中右リールの各中段にわたるラインであり、ＬＭ３は、左中右リールの各下段にわたるラインであり、ＬＭ４は、左リールの下段、中リールの中段、右リールの上段にわたるラインである。）を設定している。無効ラインＬＭ１〜４は、これら無効ラインＬＭ１〜４に揃った図柄の組合せによって入賞が判定されるものではなく、入賞ラインＬＮに特定の入賞を構成する図柄の組合せが揃った際に、無効ラインＬＭ１〜４のいずれかに入賞ラインＬＮに揃った場合に入賞となる図柄の組合せ（例えば、ベル‐ベル‐ベル）が揃う構成とすることで、入賞ラインＬＮに特定の入賞を構成する図柄の組合せが揃ったことを認識しやすくするものである。
【００３１】
本実施例では、図１に示すように、リール２Ｌの上段、リール２Ｃの上段、リール２Ｒの上段、すなわち上段に水平方向に並んだ図柄に跨がって設定された無効ラインＬＭ１、リール２Ｌの下段、リール２Ｃの下段、リール２Ｒの下段、すなわち下段に水平方向に並んだ図柄に跨がって設定された無効ラインＬＭ２、リール２Ｌの上段、リール２Ｃの中段、リール２Ｒの下段、すなわち右下がりに並んだ図柄に跨がって設定された無効ラインＬＭ３、リール２Ｌの下段、リール２Ｃの中段、リール２Ｒの上段、すなわち右上がりに並んだ図柄に跨がって設定された無効ラインＬＭ４の４種類が無効ラインＬＭとして定められている。
【００３２】
また、本実施例では、入賞役として、入賞ラインＬＮに役として定められた所定の図柄の組合せ（例えば、「ベル‐スイカ‐チェリー」）が揃ったときに入賞するとともに、かつ所定の図柄組合せが揃うことにより無効ラインＬＭ１〜ＬＭ４のいずれかに所定の図柄組合せよりも認識しやすい指標となる図柄の組合せ（例えば、「スイカ‐スイカ‐スイカ」）が揃うことにより、無効ラインＬＭ１〜ＬＭ４のいずれかに揃った図柄の組合せによって入賞したように見せることが可能な役を含む。以下では、所定の図柄の組合せが入賞ラインＬＮに揃ったときに無効ラインＬＭ１〜ＬＭ４のいずれかに揃う図柄の組合せを、指標となる図柄の組合せと呼び、指標となる図柄の組合せを構成する図柄を指標図柄と呼ぶ。
【００３３】
ゲームが開始可能な状態でスタートスイッチ７を操作すると、各リール２Ｌ，２Ｃ，２Ｒが回転し、各リール２Ｌ，２Ｃ，２Ｒの図柄が連続的に変動する。この状態でいずれかのストップスイッチ８Ｌ，８Ｃ，８Ｒを操作すると、対応するリール２Ｌ，２Ｃ，２Ｒの回転が停止し、透視窓３に表示結果が導出表示される。
【００３４】
そして全てのリール２Ｌ，２Ｃ，２Ｒが停止されることで１ゲームが終了し、入賞ラインＬＮ上に予め定められた図柄の組合せ（以下、役ともいう）が各リール２Ｌ，２Ｃ，２Ｒの表示結果として停止した場合には入賞が発生し、その入賞に応じて定められた枚数のメダルが遊技者に対して付与され、クレジットに加算される。また、クレジットが上限数（本実施例では５０）に達した場合には、メダルが直接メダル払出口９（図１参照）から払い出されるようになっている。また、入賞ラインＬＮ上に、遊技状態の移行を伴う図柄の組合せが各リール２Ｌ，２Ｃ，２Ｒの表示結果として停止した場合には図柄の組合せに応じた遊技状態に移行するようになっている。
【００３５】
なお、本実施例では、スタートスイッチ７の操作が有効な状態でスタートスイッチ７の操作が検出されたときにゲーム（遊技）が開始し、全てのリールが停止したときにゲームが終了する。また、ゲームを実行するための１単位の制御（ゲーム制御）は、前回のゲームの終了に伴う全ての制御が完了したときに開始し、当該ゲームの終了に伴う全ての制御が完了したときに終了する。
【００３６】
また、本実施例では、３つのリールを用いた構成を例示しているが、リールを１つのみ用いた構成、２つのリールを用いた構成、４つ以上のリールを用いた構成としても良く、２以上のリールを用いた構成においては、２以上の全てのリールに導出された表示結果の組合せに基づいて入賞を判定する構成とすれば良い。また、本実施例では、物理的なリールにて可変表示装置が構成されているが、液晶表示器などの画像表示装置にて可変表示装置が構成されていても良い。
【００３７】
また、本実施例におけるスロットマシン１にあっては、ゲームが開始されて各リール２Ｌ，２Ｃ，２Ｒが回転して図柄の変動が開始した後、いずれかのストップスイッチ８Ｌ，８Ｃ，８Ｒが操作されたときに、当該ストップスイッチ８Ｌ，８Ｃ，８Ｒに対応するリールの回転が停止して図柄が停止表示される。ストップスイッチ８Ｌ，８Ｃ，８Ｒの操作が行われたときから、対応するリール２Ｌ，２Ｃ，２Ｒの回転を停止するまでの最大停止遅延時間は１９０ミリ秒（ｍｓ）である。
【００３８】
リール２Ｌ，２Ｃ，２Ｒは、１分間に８０回転し、８０×２０（１リール当たりの図柄コマ数）＝１６００コマ分の図柄を変動させるので、１９０ミリ秒の間では最大で４コマの図柄を引き込むことができることとなる。つまり、停止図柄として選択可能なのは、ストップスイッチ８Ｌ，８Ｃ，８Ｒが操作されたときに表示されている図柄と、そこから４コマ先までにある図柄、合計５コマ分の図柄である。
【００３９】
このため、例えば、ストップスイッチ８Ｌ，８Ｃ，８Ｒのいずれかが操作されたときに当該ストップスイッチに対応するリールの下段に表示されている図柄を基準とした場合は、当該基準とした図柄から４コマ先までの図柄を下段に表示させることができるため、リール２Ｌ，２Ｃ，２Ｒ各々において、ストップスイッチ８Ｌ，８Ｃ，８Ｒのうちいずれかが操作されたときに当該ストップスイッチに対応するリールの入賞ライン上に表示されている図柄を含めて５コマ以内に配置されている図柄を入賞ライン上に表示させることができる。
【００４０】
以下では、特に区別する必要がない場合にはリール２Ｌ，２Ｃ，２Ｒを単にリールという場合がある。また、リール２Ｌを左リール、リール２Ｃを中リール、リール２Ｒを右リールという場合がある。また、ストップスイッチ８Ｌ，８Ｃ，８Ｒの操作によりリール２Ｌ，２Ｃ，２Ｒを停止させる操作を停止操作という場合がある。
【００４１】
図３は、スロットマシン１の構成を示すブロック図である。スロットマシン１には、図３に示すように、遊技制御基板４０、演出制御基板９０、電源基板１０１が設けられており、遊技制御基板４０によって遊技の制御が行われ、演出制御基板９０によって遊技状態に応じた演出の制御が行われ、電源基板１０１によってスロットマシン１を構成する電気部品の駆動電源が生成され、各部に供給される。
【００４２】
電源基板１０１には、外部からＡＣ１００Ｖの電源が供給されるとともに、このＡＣ１００Ｖの電源からスロットマシン１を構成する電気部品の駆動に必要な直流電圧が生成され、遊技制御基板４０および演出制御基板９０に供給されるようになっている。また、電源基板１０１には、前述したホッパーモータ３４ｂ、払出センサ３４ｃ、満タンセンサ３５ａ、設定キースイッチ３７、リセット／設定スイッチ３８、電源スイッチ３９が接続されている。
【００４３】
遊技制御基板４０には、前述したＭＡＸＢＥＴスイッチ６、スタートスイッチ７、ストップスイッチ８Ｌ，８Ｃ，８Ｒ、精算スイッチ１０、リセットスイッチ２３、打止スイッチ３６ａ、自動精算スイッチ３６ｂ、投入メダルセンサ３１、ドア開放検出スイッチ２５、リールセンサ３３Ｌ，３３Ｃ，３３Ｒが接続されているとともに、電源基板１０１を介して前述した払出センサ３４ｃ、満タンセンサ３５ａ、設定キースイッチ３７、リセット／設定スイッチ３８が接続されており、これら接続されたスイッチ類の検出信号が入力されるようになっている。また、遊技制御基板４０には、前述したクレジット表示器１１、遊技補助表示器１２、１〜３ＢＥＴＬＥＤ１４〜１６、投入要求ＬＥＤ１７、スタート有効ＬＥＤ１８、ウェイト中ＬＥＤ１９、リプレイ中ＬＥＤ２０、ＢＥＴスイッチ有効ＬＥＤ２１、左，中，右停止有効ＬＥＤ２２Ｌ，２２Ｃ，２２Ｒ、設定値表示器２４、流路切替ソレノイド３０、リールモータ３２Ｌ，３２Ｃ，３２Ｒが接続されているとともに、電源基板１０１を介して前述したホッパーモータ３４ｂが接続されており、これら電気部品は、遊技制御基板４０に搭載されたメイン制御部４１の制御に基づいて駆動されるようになっている。
【００４４】
遊技制御基板４０には、メインＣＰＵ４１ａ、ＲＯＭ４１ｂ、ＲＡＭ４１ｃ、Ｉ／Ｏポート４１ｄを備えたマイクロコンピュータにより構成され、内部抽選用の乱数を生成する乱数回路などを備えており、遊技の進行に関する処理を行うとともに遊技制御基板４０に搭載された制御回路の各部を直接的または間接的に制御するメイン制御部４１と、遊技制御基板４０に直接または電源基板１０１を介して接続されたスイッチ類から入力された検出信号を取り込んでメイン制御部４１に伝送するスイッチ検出回路４４と、メイン制御部４１から出力されたモータ駆動信号（ステッピングモータの位相信号φ０〜φ３）をリールモータ３２Ｌ，３２Ｃ，３２Ｒに伝送するモータ駆動回路４５と、メイン制御部４１から出力されたソレノイド駆動信号を流路切替ソレノイド３０に伝送するソレノイド駆動回路４６と、メイン制御部４１から出力されたＬＥＤ駆動信号を遊技制御基板４０に接続された各種表示器やＬＥＤに伝送するＬＥＤ駆動回路４７と、スロットマシン１に供給される電源の電圧を監視して電圧の低下を検出したときに、その旨を示す電圧低下信号をメイン制御部４１に対して出力する電断検出回路４８と、電源投入時または電源遮断時などの電力供給が不安定な状態においてメイン制御部４１にシステムリセット信号を与えるリセット回路４９とが搭載されている。
【００４５】
メイン制御部４１は、サブ制御部９１に各種のコマンドを送信する。メイン制御部４１からサブ制御部９１へ送信されるコマンドは一方向のみで送られ、サブ制御部９１からメイン制御部４１へ向けてコマンドが送られることはない。
【００４６】
また、Ｉ／Ｏポート４１ｄは、出力ポート０〜９を含み、メイン制御部４１は、出力ポート０および出力ポート１より左，中，右リールモータ３２Ｌ，３２Ｃ，３２Ｒの制御信号を出力可能である。出力ポート２より左・中・右停止有効ＬＥＤ２２Ｌ、２２Ｃ、２２Ｒの制御信号、流路切替ソレノイド３０の制御信号を出力可能である。出力ポート３よりホッパーモータ３４ｂの制御信号、外部出力信号を出力可能である。出力ポート４および出力ポート５よりクレジット表示器１１、遊技補助表示器１２、１〜３ＢＥＴＬＥＤ１４〜１６、投入要求ＬＥＤ１７、スタート有効ＬＥＤ１８、ウェイト中ＬＥＤ１９、リプレイ中ＬＥＤ２０、ＢＥＴスイッチ有効ＬＥＤ２１の制御信号を出力可能である。出力ポート６より試験信号を出力可能である。出力ポート７より外部出力信号を出力可能である。
【００４７】
メイン制御部４１は、メイン処理として遊技制御基板４０に接続された各種スイッチ類の検出状態が変化するまでは制御状態に応じた処理を繰り返しループし、各種スイッチ類の検出状態の変化に応じて段階的に移行する処理を実行する。また、メイン制御部４１は、一定時間間隔（本実施例では、約０．５６ミリ秒）毎にタイマ割込処理（メイン）を実行する。なお、タイマ割込処理（メイン）の実行間隔は、メイン処理において制御状態に応じて繰り返す処理が一巡する時間とタイマ割込処理（メイン）の実行時間とを合わせた時間よりも長い時間に設定されており、今回と次回のタイマ割込処理（メイン）との間で必ず制御状態に応じて繰り返す処理が最低でも一巡することとなる。
【００４８】
演出制御基板９０には、演出用スイッチ５６が接続されており、この演出用スイッチ５６の検出信号が入力されるようになっている。また、液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３，５４、リールＬＥＤ５５などの演出装置が接続されており、これら演出装置は、演出制御基板９０に搭載されたサブ制御部９１による制御に基づいて駆動されるようになっている。なお、本実施例では、演出制御基板９０に搭載されたサブ制御部９１により、液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３，５４、リールＬＥＤ５５などの演出装置の出力制御が行われる構成であるが、サブ制御部９１とは別に演出装置の出力制御を直接的に行う出力制御部を演出制御基板９０または他の基板に搭載し、サブ制御部９１がメイン制御部４１からのコマンドに基づいて演出装置の出力パターンを決定し、サブ制御部９１が決定した出力パターンに基づいて出力制御部が演出装置の出力制御を行う構成としても良く、このような構成では、サブ制御部９１および出力制御部の双方によって演出装置の出力制御が行われることとなる。また、本実施例では、演出装置として液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３，５４、リールＬＥＤ５５を例示しているが、演出装置は、これらに限られず、例えば、機械的に駆動する表示装置や機械的に駆動する役モノなどを演出装置として適用しても良い。
【００４９】
演出制御基板９０は、サブＣＰＵ９１ａ、ＲＯＭ９１ｂ、ＲＡＭ９１ｃ、Ｉ／Ｏポート９１ｄを備えたマイクロコンピュータにより構成されて演出の制御を行うサブ制御部９１と、演出制御基板９０に接続された液晶表示器５１の表示制御を行う表示制御回路９２と、演出効果ＬＥＤ５２と、リールＬＥＤ５５の駆動制御を行うＬＥＤ駆動回路９３と、スピーカ５３、５４からの音声出力制御を行う音声出力回路９４と、電源投入時またはサブＣＰＵ９１ａからの初期化命令が一定時間入力されないときにサブＣＰＵ９１ａにリセット信号を与えるリセット回路９５と、演出制御基板９０に接続されたスイッチ類から入力された検出信号を検出するスイッチ検出回路９６と、日付情報および時刻情報を含む時間情報を出力する時計装置９７と、スロットマシン１に供給される電源電圧を監視し、電圧低下を検出したときに、その旨を示す電圧低下信号をサブＣＰＵ９１ａに対して出力する電断検出回路９８と、その他の回路などが搭載されている。
【００５０】
サブ制御部９１は、遊技制御基板４０から送信されるコマンドを受けて、演出を行うための各種の制御を行うとともに、演出制御基板９０に搭載された制御回路の各部を直接的または間接的に制御する。
【００５１】
本実施例のスロットマシン１は、設定値に応じてメダルの払出率が変わる構成である。詳しくは、内部抽選などの遊技者に対する有利度に影響する抽選において設定値に応じた当選確率を用いることにより、メダルの払出率が変わるようになっている。設定値は１〜６の６段階からなり、６が最も払出率が高く、５、４、３、２、１の順に値が小さくなるほど払出率が低くなる。すなわち設定値として６が設定されている場合には、遊技者にとって最も有利度が高く、５、４、３、２、１の順に値が小さくなるほど有利度が段階的に低くなる。
【００５２】
設定値を変更するためには、設定キースイッチ３７をｏｎ状態としてからスロットマシン１の電源をｏｎする必要がある。設定キースイッチ３７をｏｎ状態として電源をｏｎすると、設定値表示器２４にＲＡＭ４１ｃから読み出された設定値が表示値として表示され、リセット／設定スイッチ３８の操作による設定値の変更が可能な設定変更状態に移行する。設定変更状態において、リセット／設定スイッチ３８が操作されると、設定値表示器２４に表示された表示値が１ずつ更新されていく（設定値６からさらに操作されたときは、設定値１に戻る）。そして、スタートスイッチ７が操作されると表示値を設定値として確定する。そして、設定キースイッチ３７がｏｆｆされると、確定した表示値（設定値）がメイン制御部４１のＲＡＭ４１ｃに格納され、遊技の進行が可能な状態に移行する。
【００５３】
本実施例のスロットマシン１は、遊技状態に応じて設定可能な賭数の規定数が定められており、遊技状態に応じて定められた規定数の賭数が設定されたことを条件にゲームを開始させることが可能となる。なお、本実施例では、遊技状態に応じた規定数の賭数が設定された時点で、入賞ラインＬＮが有効化される。
【００５４】
そして、本実施例では、全てのリール２Ｌ，２Ｃ，２Ｒが停止した際に、有効化された入賞ライン（本実施例の場合、常に入賞ラインＬＮが有効化されるため、以下では、有効化された入賞ラインＬＮを単に入賞ラインという）上に役と呼ばれる図柄の組合せが揃うと入賞となる。役は、同一図柄の組合せであっても良いし、異なる図柄を含む組合せであっても良い。
【００５５】
入賞となる役の種類は、遊技状態に応じて定められているが、大きく分けて、メダルの払い出しを伴う小役と、賭数の設定を必要とせずに次のゲームを開始可能となる再遊技役（リプレイ）と、遊技者にとって有利な遊技状態への移行を伴う特別役（ボーナス）と、がある。以下では、小役と再遊技役をまとめて一般役とも呼ぶ。遊技状態に応じて定められた各役の入賞が発生するためには、内部抽選に当選して、当該役の当選フラグがＲＡＭ４１ｃに設定されている必要がある。内部抽選は、メイン制御部４１が、上記した各役への入賞を許容するか否かを、全てのリール２Ｌ，２Ｃ，２Ｒの表示結果が導出される以前（具体的には、スタートスイッチ７の検出時）に乱数を用いて決定するものである。なお、これら各役の当選フラグのうち、小役および再遊技役の当選フラグは、当該フラグが設定されたゲームにおいてのみ有効とされ、次のゲームでは無効となるが、特別役の当選フラグは、当該フラグにより許容された役の組合せが揃うまで有効とされ、許容された役の組合せが揃ったゲームにおいて無効となる。すなわち特別役の当選フラグが一度当選すると、例え、当該フラグにより許容された役の組合せを揃えることができなかった場合にも、その当選フラグは無効とされずに、次のゲームへ持ち越されることとなる。
【００５６】
また、内部抽選では、特別役と重複して当選する一般役（以下、重複当選役と呼ぶ）が設けられており、内部抽選にて当該重複当選役が当選した場合には、特別役も重複して当選し得るようになっており、当該重複当選役を構成する図柄組合せがリール２Ｌ，２Ｃ，２Ｒに停止することで、特別役が当選している可能性がある旨が示唆されるようになっている。
【００５７】
また、内部抽選では、予め定められた所定の停止順で停止操作が行われる場合にのみ当該役を構成する図柄を入賞ラインＬＮに揃えて停止させ、入賞を発生させることが可能な小役、再遊技役（以下押し順役と呼ぶ場合がある）と、停止順によらず役を構成する図柄を入賞ラインＬＮに揃えて停止させ、入賞を発生させることが可能な小役、再遊技役（非押し順役と呼ぶ場合がある）とが当選し得るようになっている。
【００５８】
また、内部抽選では、当選し得る役として、通常の役とは異なる特殊役（特殊小役または特殊再遊技役）が含まれており、内部抽選にて特殊役が当選することで、規定のゲーム数にわたり後述のアシストタイム（以下、ＡＴという）に制御される権利（以下、ＡＴの権利という）が当選し得るようになっている。
【００５９】
本実施例のスロットマシン１は、メイン制御部４１により、内部抽選結果に応じて遊技者にとって有利となるストップスイッチ８Ｌ，８Ｃ，８Ｒの操作態様を遊技補助表示器１２の点灯態様により報知するナビ報知を実行可能な報知期間となるアシストタイム（以下、ＡＴという）に制御可能となっており、ＡＴに制御される権利が当選し、所定の開始条件（例えば、ＡＴの権利の当選後、所定のゲーム数が経過すること、ＡＴの権利の当選後、所定の図柄組合せがリール２Ｌ，２Ｃ，２Ｒに停止することなど）が成立することで、メイン制御部４１はＡＴの制御を開始して、ＡＴに制御する。そして、ＡＴに制御している場合には、遊技状態に応じたナビ対象役（前述の押し順役のうち該当する役）に当選することにより、ナビ報知を実行して、遊技者にとって有利となるストップスイッチ８Ｌ，８Ｃ，８Ｒの操作態様（押し順、操作タイミング）を報知するとともに、遊技者にとって有利となる操作態様を特定可能なコマンドをサブ制御部９１に対して送信することで、液晶表示器５１などを用いたナビ演出を実行させる。ナビ報知およびナビ演出により報知される操作態様にて、ストップスイッチ８Ｌ，８Ｃ，８Ｒを操作することで、内部抽選にて当選した押し順役を確実に入賞させることができるようになっている。なお、本実施例においてメイン制御部４１は、ＡＴに制御していない通常状態であっても、一定の条件を満たすことにより、ナビ報知を実行し、ナビ演出を実行させることが可能である。
【００６０】
次に、メイン制御部４１が行うリール２Ｌ，２Ｃ，２Ｒの停止制御について説明する。メイン制御部４１は、リールの回転が開始したとき、およびリールが停止し、かつ未だ回転中のリールが残っているときに、当選番号およびＲＯＭ４１ｂに格納されているテーブルインデックス、テーブル作成用データを参照して、回転中のリール別に停止制御テーブルを作成する。そして、ストップスイッチ８Ｌ，８Ｃ，８Ｒのうち、回転中のリールに対応するいずれかの操作が有効に検出されたときに、該当するリールの停止制御テーブルを参照し、参照した停止制御テーブルの滑りコマ数に基づいて、操作されたストップスイッチ８Ｌ，８Ｃ，８Ｒに対応するリール２Ｌ，２Ｃ，２Ｒの回転を停止させる制御を行う。
【００６１】
本実施例では、滑りコマ数として０〜４の値が定められており、停止操作を検出してから最大４図柄を引き込んでリールを停止させることが可能である。すなわち停止操作を検出した停止操作位置を含め、最大５コマの範囲から図柄の停止位置を指定できるようになっている。また、１図柄分リールを移動させるのに１コマの移動が必要であるので、停止操作を検出してから最大４図柄を引き込んでリールを停止させることが可能であり、停止操作を検出した停止操作位置を含め、最大５図柄の範囲から図柄の停止位置を指定できることとなる。
【００６２】
本実施例では、いずれかの役に当選している場合には、停止操作が行われた際に、入賞ライン上に最大４コマの引込範囲で当選している役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役は、最大４コマの引込範囲で揃えずに停止させる制御が行われることとなる。
【００６３】
特別役が前ゲーム以前から持ち越されている状態で小役が当選した場合など、特別役と小役が同時に当選している場合には、停止操作が行われた際に、入賞ライン上に最大４コマの引込範囲で当選している小役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、入賞ライン上に最大４コマの引込範囲で当選している小役を引き込めない場合には、入賞ライン上に最大４コマの引込範囲で当選している特別役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役は、４コマの引込範囲で揃えずに停止させる制御が行われることとなる。すなわちこのような場合には、特別役よりも小役を入賞ライン上に揃える制御が優先され、小役を引き込めない場合にのみ、特別役を入賞させることが可能となる。なお、特別役と小役を同時に引き込める場合には、小役のみを引き込み、特別役と同時に小役が入賞ライン上に揃わないようになる。また、特別役と小役が同時に当選している場合に、小役よりも特別役を入賞ライン上に揃える制御が優先され、特別役を引き込めない場合にのみ、小役を入賞ライン上に揃える制御を行っても良い。
【００６４】
また、本実施例では、特別役が前ゲーム以前から持ち越されている状態で再遊技役が当選した場合など、特別役と再遊技役が同時に当選している場合には、停止操作が行われた際に、入賞ライン上に最大４コマの引込範囲で再遊技役の図柄を揃えて停止させる制御を行う。なお、この場合、再遊技役を構成する図柄または同時当選する再遊技役を構成する図柄は、リール２Ｌ，２Ｃ，２Ｒのいずれについても５図柄以内、すなわち４コマ以内の間隔で配置されており、４コマの引込範囲で必ず任意の位置に停止させることができるので、特別役と再遊技役が同時に当選している場合には、遊技者によるストップスイッチ８Ｌ，８Ｃ，８Ｒの操作タイミングに関わらずに、必ず再遊技役が揃って入賞することとなる。すなわちこのような場合には、特別役よりも再遊技役を入賞ライン上に揃える制御が優先され、必ず再遊技役が入賞することとなる。なお、特別役と再遊技役を同時に引き込める場合には、再遊技役のみを引き込み、再遊技役と同時に特別役が入賞ライン上に揃わないようになる。
【００６５】
なお、本実施例では、停止操作が行われたタイミング別の滑りコマ数を特定可能な停止制御テーブルを用いてリールの停止制御を行う構成であるが、停止可能な位置を特定可能な停止位置テーブルから停止位置を特定し、特定した停止位置にリールを停止させる停止制御を行う構成、停止制御テーブルや停止位置テーブルを用いずに、停止操作がされたタイミングで停止可能な停止位置を検索・特定し、特定した停止位置にリールを停止させる停止制御を行う構成、停止制御テーブルを用いた停止制御、停止位置テーブルを用いた停止制御、停止制御テーブルや停止位置テーブルを用いずに停止可能な停止位置を検索・特定することによる停止制御を併用する構成、停止制御テーブルや停止位置テーブルを一部変更して停止制御を行う構成としても良い。
【００６６】
［メイン制御部のメモリ領域とプログラムについて］
図４は、メイン制御部４１が用いるメモリ領域のアドレスマップである。図４に示すように、メイン制御部４１が用いるメモリ領域は、ＲＯＭ４１ｂに割り当てられたメモリ領域（００００Ｈ〜ＥＦＦＦＨ）と、ＲＡＭ４１ｃに割り当てられたメモリ領域（Ｆ０００Ｈ〜ＦＦＦＦＨ）とを含む。
【００６７】
ＲＯＭ４１ｂのメモリ領域は、プログラムおよび固定データが格納されるプログラム／データ領域（００００Ｈ〜２ＦＢＦＨ）と、その他の領域（２ＦＣ０Ｈ〜ＥＦＦＦＨ）とからなる。その他の領域は、プログラムのタイトル、バージョンなどの任意のデータを設定可能なＲＯＭコメント領域と、ＣＡＬＬＶ命令のサブルーチンの上位アドレスおよびタイマ割込処理（メイン）の先頭アドレスが設定されるベクタテーブル領域と、メイン制御部４１の内部機能をハードウェア的に設定するためのパラメータが設定されるＨＷパラメータ領域と、アクセスが禁止される未使用領域を含む。
【００６８】
ＲＡＭ４１ｃのメモリ領域は、ワークとして使用可能な使用可能領域（Ｆ０００Ｈ〜Ｆ４００Ｈ）と、その他の領域（Ｆ４０１Ｈ〜ＦＦＦＦＨ）とからなる。その他の領域は、メイン制御部４１に搭載されている各機能を制御するためのレジスタ群が格納される内部機能レジスタ領域（ＦＥ００Ｈ〜ＦＥＡＣＨ）を含む。
【００６９】
ＲＯＭ４１ｂにおけるプログラム／データ領域は、遊技の進行に係わる遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムが用いる遊技データが記憶される遊技データ領域と、未使用領域１と、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、非遊技プログラムが用いる非遊技データが記憶される非遊技データ領域と、未使用領域２とを含む。
【００７０】
なお、遊技の進行とは、遊技を構成する一連のプロセスを進行させることであり、スロットマシンであれば、賭数を設定してゲームを開始可能とする段階、ゲームを開始してリールを回転させる段階、リールを停止させて表示結果を導出させる段階、表示結果に応じてメダルなどの価値を付与する段階を進行させることである。
【００７１】
なお、上記において記憶領域の前後とは、記憶領域に割り当てられたアドレス値の大小関係であり、アドレスが小さい方が前方となり、アドレスが大きい方が後方となる。このため、一の記憶領域よりも後方に割り当てられた記憶領域とは、一の記憶領域よりもアドレス値が大きい記憶領域が該当し、一の記憶領域よりも前方に割り当てられた記憶領域とは、一の記憶領域よりもアドレス値が小さい記憶領域が該当する。
【００７２】
ＲＡＭ４１ｃは、遊技プログラムがワークとして用いる遊技ＲＡＭ領域と、未使用領域３と、遊技プログラムがデータを退避するスタック領域と、非遊技プログラムがワークとして用いる非遊技ＲＡＭ領域と、未使用領域４と、非遊技プログラムがデータを退避するスタック領域とを含む。
【００７３】
遊技ＲＡＭ領域は、領域Ａ〜Ｄにより構成される。ここで、領域Ａ〜Ｄを全初期化対象領域と呼び、領域Ｂ〜Ｄを設定変更終了時初期化対象領域と呼び、領域Ｃ〜Ｄをボーナス終了時初期化対象領域と呼び、領域Ｄを遊技終了時初期化対象領域と呼ぶ。全初期化対象領域は、ＲＡＭエラーが発生した際にときに所定の操作を行うことによって初期化される領域である。設定変更終了時初期化対象領域は、設定変更が終了した際に初期化される領域である。ボーナス終了時初期化対象領域は、ボーナス終了時に初期化される領域である。遊技終了時初期化対象領域は、遊技（ゲーム）が終了するたびに初期化される領域である。
【００７４】
以下では、遊技プログラム領域、遊技データ領域および遊技ＲＡＭ領域をまとめて遊技領域と称す場合があり、非遊技プログラム領域、非遊技データ領域および非遊技ＲＡＭ領域をまとめて非遊技領域と称す場合がある。また、未使用領域１および未使用領域２、未使用領域３および未使用領域４をまとめて未使用領域と称す場合がある。
【００７５】
［プログラムが用いる命令］
メイン制御部４１が実行するプログラムは、プログラム全体の進行を管理するメインルーチンと、他のプログラムの実行中に呼び出されるサブルーチンとを含む。
【００７６】
また、メイン制御部４１にプログラム／データ領域に格納されたプログラムを実行させる命令として、ＣＡＬＬ命令（呼出命令）を含む。ＣＡＬＬ命令は、メインルーチンまたはサブルーチンにおいて指定されたアドレスに格納されたサブルーチンを呼び出して実行させる命令である。メイン制御部４１は、ＣＡＬＬ命令によりサブルーチンを呼び出す場合には、呼び出し元のアドレスをスタック領域に格納し、指定されたアドレスに格納されたサブルーチンを呼び出して実行する。そして、当該サブルーチンの終了時には、ＲＥＴ命令（復帰命令）により、スタック領域に格納されている呼び出し元のアドレス、すなわちＣＡＬＬ命令を実行した呼び出し元のメインルーチンまたはサブルーチンのプログラムに復帰する。
【００７７】
メイン制御部４１にプログラム／データ領域に格納されたデータを読み出す命令としてＬＤ命令を含む。ＬＤ命令は、メインルーチンまたはサブルーチンにおいて指定されたアドレスに格納された１バイトデータを指定されたレジスタに読み出す命令である。メイン制御部４１は、ＬＤ命令により指定されたアドレスに格納されたデータを読み出し、ＬＤ命令により指定されたレジスタに読み出したデータを格納する。これに対して、ＬＤＷ命令は、メインルーチンまたはサブルーチンにおいて指定されたアドレスに格納された２バイトデータを指定されたレジスタに読み出す命令である。
【００７８】
ここで、遊技プログラムとは、遊技の進行に係わるプログラムであり、当該プログラムに基づく処理を実行しないと、遊技の進行に支障をきたす処理を実行するためのプログラムである。一方、非遊技プログラムとは、遊技の進行に係わらないプログラムであり、遊技プログラムから呼び出されて当該プログラムに基づく処理が実行されずに遊技プログラムに復帰した場合でも、遊技を進行させることが可能な処理を実行するためのプログラムである。
【００７９】
［入出力ポート］
図５は、入出力ポートマップを示す図である。Ｉ／Ｏポート４１ｄは、入力ポート０〜２、出力ポート０〜８を含む。各入力ポートからは、接続された各種機器の検出信号が入力される。各出力ポートからは、各種の制御信号や試験信号や外部出力信号を出力可能である。各入力ポートまたは各出力ポートからは、それぞれ８種類（図５のＤ０〜Ｄ７）の信号が入力または出力可能である。たとえば、メイン制御部４１は、左，中，右ストップスイッチの操作に基づいて、入力ポート０のＤ０〜Ｄ２から左，中，右ストップスイッチ信号を検出する。たとえば、出力ポート０のＤ０〜Ｄ３より左リールモータ信号（φ０〜φ３）を出力可能である。これにより、左リールモータが駆動可能となり、左リールの回転または停止が行われる。なお、図５に示した信号は、あくまで一例であって、これ以外の信号を出力するものであってもよく、どのポートから信号を入出力させるようにしてもよい。
【００８０】
［エラーコード］
図６は、エラーコードを示す図である。エラーコマンドは、図６に示すように、発生している異常の種類を特定可能なエラーコードＥ１〜Ｅ８を含んでいる。Ｅ１は、オーバーフローエラーであり、オーバーフロータンク３５の満タン状態が検知されたことを示し、Ｅ２は、ホッパーエンプティエラーであり、ホッパータンク３４ａの空状態が検知されたことを示し、Ｅ３は、メダル詰りエラーであり、メダル払出口９付近の異物が検知されたことを示し、Ｅ４は、メダル払出エラーであり、リール回転処理などを行っており、本来払出が行われることがないときに、払出が行われたことが検出されたことを示し、Ｅ５は、メダル投入エラーであり、投入メダルセンサ３１によるメダルの異常な通過が検知されたことを示し、Ｅ６は、リール回転エラーであり、リール回転の異常が検知されたことを示し、Ｅ７は、異常入賞エラーであり、内部抽選により入賞が許容されていない役の入賞が検知されたことを示し、Ｅ８は、ＲＡＭエラーであり、起動時にＲＡＭ４１ｃのデータが正常でないことが検知されたことを示す。
【００８１】
［各種処理の制御内容］
メイン制御部４１が遊技プログラムおよび非遊技プログラムを実行することで行う各種処理の制御内容について、図７〜図１６に基づいて説明する。
【００８２】
［起動処理（メイン）］
まず、メイン制御部４１が行う起動時の処理である起動処理（メイン）について、図７に基づいて説明する。図７は、メイン制御部が行う起動処理（メイン）の制御内容を示すフローチャートである。なお、起動処理（メイン）は、遊技プログラムに含まれるメインルーチンである。
【００８３】
メイン制御部４１は、スロットマシン１への電力供給が開始された際に、リセットの発生によりタイマ割込が禁止に設定された状態で起動し、ＲＯＭ４１ｂに格納されているプログラムに従って各種処理を行う。
【００８４】
図７に示すように、メイン制御部４１が起動すると起動処理（メイン）を行う。起動処理（メイン）では、まず、タイマ割込を禁止に設定する（Ｓａ１）。以降、タイマ割込を禁止に設定することを、割込禁止設定を行うとも称し、タイマ割込を許可状態に設定することを割込許可設定を行うとも称する。
【００８５】
次に、全ての出力ポートの初期設定を行う（Ｓａ２）。その際、まず、出力ボート３および４に対する初期設定を行い、次に、出力ボート１および２に対する初期設定を行い、次に、出力ボート５および６に対する初期設定を行い、最後に、出力ボート７に対する初期設定を行う。出力ポートの初期設定とは、出力ポートから出力される信号をＯＦＦ状態にすることを言う。すなわち、なんらかの信号が出力されている場合には、出力ポートの初期設定によって、当該信号の出力が停止する。
【００８６】
ここで、出力ポートへの出力命令は、１バイト（８ビット）単位または２バイト（１６ビット）単位で行うことができる。図５に示すように、各出力ポートからは、８種類の信号が出力される。そして、１つのポートに対して各ビットを０にして出力命令を行う場合は、出力ポートに対して００Ｈ（８ビット分の０データ）を設定して出力命令を行う。また、隣り合う２つのポートに対して各ビットを０にして出力命令を行う場合は、出力ポートに対して００００Ｈ（１６ビット分の０データ）を設定して出力命令を行う。
【００８７】
このように、隣合う２つのポートに対して、一度に信号の出力命令を行うことができる。本実施の形態においては、たとえば、出力ボート３および４の２つのポートに対して出力命令を行うことで、同時に２つのポートの初期設定を行うことができる。
【００８８】
ここで、出力ポートの初期設定を行うのは、各種機器が誤動作することを防止するためである。スロットマシン１の起動時に、ノイズなどの影響により出力ポートから信号がＯＮ状態で出力されると各種機器が誤動作してしまう。特に、出力ポート３のＤ７からは、ポッパーモータコントロール信号が出力されており、誤動作することでホッパーモータが駆動してメダルの払出が行われてしまう危険性がある。このため、本実施の形態においては、まず、出力ボート３および４から初期設定を行うにしている。このようにすることで、ホッパーモータの誤動作を極力防ぐことができる。
【００８９】
次に、内蔵レジスタ設定処理（Ｓａ３）を行う。内蔵レジスタは、メインＣＰＵ４１ａにおける機能設定を行うためのレジスタである。内蔵レジスタ設定処理によって、制御開始にあたって設定が必要な複数の領域に設定値を設定する。
【００９０】
次に、初期設定処理（Ｓａ４）を行う。初期設定処理は、ステップＳａ１によりタイマ割込が禁止された状態で開始される。初期設定処理では、ＲＡＭ４１ｃに異常があるか否かを判定する。ＲＡＭ４１ｃに異常がある場合には、全初期化対象領域（領域Ａ〜Ｄ）を初期化する。
【００９１】
ＲＡＭ４１ｃに異常がないと判定した場合、入力ポート２を参照して設定キースイッチ３７がＯＮ状態であるか否かを判定する。設定キースイッチ３７がＯＮ状態であると判定した場合は、設定変更処理を行う。設定変更処理では、リセット／設定スイッチ３８およびスタートスイッチ７が所定の手順で操作されることにより設定値が確定され、設定キースイッチ３７がＯＦＦにされたことが検出されることで、設定変更処理を終了して、遊技を進行可能な状態に移行する。また、設定変更処理では、設定変更処理を開始する際に、設定変更処理を開始する旨を示す設定コマンド（開始）をサブ制御部９１に対して送信し、設定変更処理を終了する際に、設定変更処理を終了する旨を示す設定コマンド（終了）するようになっている。設定変更処理が終了すると、設定変更終了時初期化対象領域（領域Ｂ〜Ｄ）を初期化する。
【００９２】
設定キースイッチ３７がＯＮ状態でないと判定した場合は、ＲＡＭ４１ｃに異常があるか否かを判定する。ＲＡＭ４１ｃに異常がないと判定した場合には、外部出力信号を出力するための出力バッファをクリアする。また、ＲＡＭ４１ｃの所定領域に設定されており、メイン処理においてリールの回転エラーが検出された回数を計数するためのリールエラーカウンタをクリアする。その後、ＲＡＭ４１ｃの記憶内容に基づいてスタックポインタＳＰに電断時のアドレスを設定することで、スタックポインタを電断時の状態に復帰させ、ポート入力処理を３回連続で行う。
【００９３】
ポート入力処理は、パラレル入力ポート５１１に入力される各種スイッチ類の検出信号などの入力状態に関する入力状態データ（各種スイッチ類の現在の入力状態を示す入力データ、前回と今回の入力データが同じ状態である旨を示す確定データ、前回から確定データが変化した旨を示すエッジデータ）を更新する処理である。ＲＡＭ４１ｃの遊技ＲＡＭ領域の所定領域には、各種スイッチ類の入力状態データを格納するポート入力バッファ０〜２が設けられており、ポート入力処理により更新される各種スイッチ類の入力状態データは、その種類毎に予め定められたポート入力バッファの所定ビットに格納されるようになっている。ポート入力処理では、パラレル入力ポート５１１の入力ポート０〜２にされる各種スイッチ類の検出状態（ＯＮ状態またはＯＦＦ状態）を入力データとして、ポート入力バッファの所定ビットに格納する。また、前回と今回のポート入力処理での検出状態（ＯＮ状態またはＯＦＦ状態）を比較して、今回と前回の入力データが同じ状態である場合には、今回の入力データの検出状態を示すように確定データを更新する一方、今回と前回の入力データが異なる状態である場合には、前回の確定データを維持する。また、今回と前回の確定データを比較して、確定データがＯＦＦ状態からＯＮ状態に変化した場合には、確定データがＯＦＦ状態からＯＮ状態に変化した旨を示すＯＮエッジデータをポート入力バッファ０〜２の所定ビットに格納し、確定データがＯＮ状態からＯＦＦ状態に変化した場合には、確定データがＯＮ状態からＯＦＦ状態に変化した旨を示すＯＦＦエッジデータをポート入力バッファ０〜２の所定ビットに格納する。ポート入力バッファに格納された各種スイッチ類の入力データ、確定データ、エッジデータは、遊技プログラムおよび非遊技プログラムから参照することが可能である。
【００９４】
ポート入力処理を３回連続で行うのは、次のような理由からである。たとえば、電断前において、スイッチがＯＦＦ状態であったとする。そして、電断中にスイッチが押され、そのまま押下状態を継続したとする（たとえば、何かに引っかかって押しっぱなしになったような状態）。このような場合、電断から復帰したときにはＯＮ状態で検出信号が入力される。また、電断前後で比べると、ＯＦＦ状態からＯＮ状態に変化しているため、ＯＮエッジが検出されることになる。しかし、実際には電断前後では大きな時間差があり、これをＯＮエッジとして検出するのは不適切である。これを防ぐため、電断復帰時には、ポート入力処理を３回連続で行っている。電断復帰後にスイッチのＯＮ状態が継続している場合、ポート入力処理を３回連続で行うことで、ＯＮエッジが検出されなくなる。これにより、意図しない入力状態データが作られてしまうことを防止することができる。たとえば、電断後にストップスイッチが押しっぱなしの状態になってしまい、意図せずリールが停止してしまうことを防止することができる。
【００９５】
ポート入力処理を行った後は、リセット／設定スイッチ３８がＯＮ状態でないと判定した場合は、電断前の制御状態に復帰した旨を示す復帰コマンドをサブ制御部９１に送信した後、すべてのレジスタをＲＡＭ４１ｃに記憶されている電断前の状態に復帰させ、割込許可設定を行い（Ｓａ５）、初期設定処理を終了させてタイマ割込処理（メイン）に移行させた後、スロットマシン１への電力供給が停止される前に実行していたメイン処理における処理に復帰する。
【００９６】
一方、ＲＡＭ４１ｃに異常があると判定した場合には、全初期化対象領域（領域Ａ〜Ｄ）を初期化する。その後、割込許可設定を行い、ＲＡＭ４１ｃに異常がある旨を示すＲＡＭエラーのエラーコード（Ｅ８）を所定のレジスタに準備して、初期設定処理を終了させてエラー処理に移行させる。エラー処理においては、エラーコード（Ｅ８）に応じたエラー状態の解除条件が成立したことが特定されるまでエラー状態の制御を行う。ＲＡＭエラーのエラーコード（Ｅ８）が所定のレジスタに準備されてエラー状態に移行された場合には、設定キースイッチ３７をＯＮにした状態で電源スイッチ３９を投入することによって、設定変更状態に移行させてすべての遊技ＲＡＭ領域（領域Ａ〜Ｄ）を初期化させることで、ＲＡＭ４１ｃのデータの異常を確実に解消してエラー状態を解除することができるようになっている。
【００９７】
［内蔵レジスタ設定処理］
メイン制御部４１が行う内蔵レジスタ設定処理について、図８に基づいて説明する。図８は、メイン制御部が行う内蔵レジスタ設定処理の制御内容を示すフローチャートである。なお、内蔵レジスタ設定処理は、遊技プログラムに含まれており、遊技プログラムに含まれる起動処理（メイン）において呼び出されるサブルーチンである。
【００９８】
内蔵レジスタは、メインＣＰＵ４１ａにおける機能設定を行うためのレジスタである。内蔵レジスタは、ＲＡＭ４１ｃに内蔵レジスタ領域が設けられている。本実施の形態においては、内蔵レジスタ領域としてＦＥ００ＨからＦＥＡＣＨまでの領域が設けられている。内蔵レジスタに対して、たとえば、割込に関する設定や通信機能に関する設定などを行う。
【００９９】
また、本実施の形態においては、内蔵レジスタ領域は、第１領域〜第７領域までの７つの領域を有する。メインＣＰＵ４１ａは、制御開始にあたって設定が必要な複数の領域に設定値を設定する。本実施の形態においては、設定が必要な複数の領域として、第２，３，４，６領域の各領域において設定値を設定する。
【０１００】
内蔵レジスタ領域への設定値の設定は、１バイトデータを設定可能なＬＤ命令または２バイトデータを設定可能なＬＤＷ命令により行われる。その際、まず、ＬＤ命令により設定が必要な領域に対応するアドレスを読み出す。そして、ＬＤ命令またはＬＤＷ命令により、当該アドレスに対応する領域に設定値を設定する。また、読み出したアドレス（基準アドレス）に差分値を加えることによって、当該アドレスよりも差分値先のアドレスに対応する領域に設定値を設定することができる。具体例は後述するが、前者よりも後者の方法で設定値を設定する方が、命令に必要な容量が小さくなるため、プログラムの容量を節減することができる。
【０１０１】
また、指定可能な差分値には制限がある。たとえば、差分値として最大５０までしか指定できない場合は、読み出した基準アドレスに対して、５０アドレス先の領域までしか設定することができない。したがって、差分値を用いて設定値を設定したい場合には、できるかぎり設定が可能な複数の領域をカバーできるように、基準アドレスを読み出すことが望ましい。以下、フローチャートに沿って説明する。
【０１０２】
図８に示すように、まず、Ｓｂ１のステップにおいて、１バイトデータを設定可能なＬＤ命令により、設定値の設定が必要な第２，３，４，６領域のうちの第２領域に対応するアドレスを所定レジスタに読み出す。ここで読み出したアドレスは、第２領域の先頭アドレス（ＦＥ０１Ｈ）であり、以下これを基準アドレスとして使用する。第２領域は、第２，３，４，６領域のうちの最も小さいアドレス（ＦＥ０１Ｈ）に対応する領域であり、１バイトのデータを設定可能な領域である。
【０１０３】
また、基準アドレス（ＦＥ０１Ｈ）は、最もアドレスが離れた第６領域から２１Ｈ（３３）離れている。本実施の形態では、指定可能な最大の差分値は５０であるため、第６領域に対しても差分値を用いたＬＤ命令により設定値を設定することが可能である。ここで、仮に、第４領域に基準値を設定した場合は、第２，３領域に対して差分値を用いたＬＤ命令を使用することができない。また、第１領域のアドレス範囲が広い場合、第１領域に基準値を設定したときは、第６領域に対して差分値を用いたＬＤ命令を使用することができない可能性がある。
【０１０４】
このように、第２，３，４，６領域のうちの最も小さいアドレス（ＦＥ０１Ｈ）に対応する第２領域に基準値を設定することで、差分値を用いたＬＤ命令により、命令に必要な容量が小さくなるため、効率よくデータを設定することができる。
【０１０５】
次に、Ｓｂ２のステップにおいて、基準アドレス（ＦＥ０１Ｈ）に基づき第２領域に１バイトデータであるデータＡを設定する。具体的には、ＬＤ命令を用いて、所定レジスタに格納された基準アドレスが指す領域に（すなわち、第１領域）にデータＡ（たとえば、１５０）を格納する。
【０１０６】
そして、Ｓｂ３のステップにおいて、第３領域および第４領域にデータ設定を行う。第３領域は、アドレスＦＥ０２Ｈで特定される１バイトデータを設定可能な領域である。また、第４領域は、アドレスＦＥ０３Ｈで特定される１バイトデータを設定可能な領域である。すなわち、第３領域は、基準アドレスに差分値１を加えたアドレスにより特定される領域である。第３領域および第４領域は、ともに１バイトの領域であるため、第３領域の先頭アドレスに対して２バイトデータを設定することで、第３領域および第４領域の双方に対して、設定を設定することができる。すなわち、設定値を設定する際、ＦＥ０２Ｈに対応する第３領域およびＦＥ０２Ｈの次のアドレスであるＦＥ０３Ｈに対応する第４領域のそれぞれに設定値を設定するように２バイトデータを設定ことができる。
【０１０７】
具体的には、２バイトデータを設定可能なＬＤＷ命令を用いて、基準アドレスに対して差分値（１）を用いて算出したアドレス（ＦＥ０２Ｈ）に基づき第３領域にデータＢ（たとえば、１２）を設定するとともに、第４領域にデータＣ（たとえば、５６）を設定する。ＬＤＷ命令によって、所定レジスタに格納された基準アドレスに差分値である１を加えたアドレスに、データＢ＋データＣ×ＦＦＨ（＝１２＋５６×ＦＦＨ）を設定する。これにより、第３領域には１２（データＢ）を設定し、５６にＦＦＨを乗じることで１バイト先の第４領域には５６（データＣ）を設定することができる。
【０１０８】
ここで、ＬＤ命令によりアドレスを所定レジスタに読み出す処理を行うためには、３バイトの容量が必要である。また、ＬＤ命令により所定レジスタに設定されたアドレスが指す領域にデータを設定するためには、２バイトの容量が必要である。すなわち、ある領域に１バイトデータを設定するためには、通常５バイト（３バイト＋２バイト）の容量が必要になる。また、２つの領域に対して、それぞれ１バイトデータを設定するためには、１０バイト（５バイト×２）の容量が必要となる。
【０１０９】
これに対して、上述のように、差分値を用いたＬＤＷ命令により、２つの領域に対してそれぞれ１バイトデータを設定する場合は、４バイトの容量が必要である。この場合、上記のようにＬＤ命令によりアドレスを読み出す処理は不要である。すなわち、上記の差分値を用いない方法に比べると、６バイト（１０バイト−４バイト）分のデータ容量を節減することができる。このように、差分値を用いて算出したアドレスに基づき第３領域および第４領域にデータを設定することで、アドレスを直接指定して第３領域や第４領域に設定値を設定するよりもプログラムの容量を節減することができる。また、複数の領域に対してまとめてデータを設定することができる。
【０１１０】
同様に、他の領域に対しても、１バイトデータを設定する場合にはＬＤ命令を用いてデータ設定を行い、２バイトデータを設定する場合にはＬＤＷ命令を用いてデータ設定を行う。Ｓｂ４のステップにおいて、第６領域に対しても、基準アドレスに対して差分値を用いて算出したアドレスに基づきデータＤを設定する。第６領域は、アドレスＦＥ２２Ｈで特定される１バイトデータを設定可能な領域である。基準アドレスとの差分値は２１Ｈ（＝ＦＥ２２Ｈ−ＦＥ０１Ｈ）であるため、ＬＤ命令を用いて、基準アドレスに対して差分値（２１Ｈ）を用いて算出したアドレス（ＦＥ２２Ｈ）に基づき第６領域にデータＤを設定する。
【０１１１】
Ｓｂ１〜Ｓｂ４のステップにより、設定値を設定すべき第２，３，４，６領域の全てに設定値を設定すると、内蔵レジスタ設定処理を終了する。これにより、起動処理（メイン）に戻る。そして、起動処理（メイン）が終了すると、電断前の最後の処理（メイン処理）に移行する。メイン処理に移行することで、遊技の制御が開始される。このように、設定値を設定すべき第２，３，４，６領域の全てに設定値を設定した後に遊技の制御を開始することで、設定すべき設定値の設定が完了していない状況で遊技の制御が開始されない。
【０１１２】
また、起動処理（メイン）においては、割込禁止設定（Ｓａ１）がされた後に内蔵レジスタ設定処理（Ｓａ３）が実行され、内蔵レジスタ設定処理が実行された後に割込許可設定（Ｓａ５）がされる。このように、設定値を設定すべき第２，３，４，６領域の全てに設定値が設定されるまで割込処理の実行を禁止するため、設定値の設定中に割込処理の実行により意図しない制御が行なわれない。
【０１１３】
また、起動処理（メイン）においては、内蔵レジスタ設定処理（Ｓａ３）により第２，３，４，６領域に設定値を設定する以前に、出力ポートの初期設定を行う（Ｓａ２）。このようにすることで、出力ポートから意図しない信号が出力されることを防止することができる。
【０１１４】
［メイン処理］
メイン制御部４１が行うメイン処理の制御内容について、図９に基づいて説明する。図９は、メイン制御部が行うメイン処理の制御内容を示すフローチャートである。なお、メイン処理は、一単位の遊技毎に繰り返し実行される。そして、メイン処理の一周期が遊技の一単位に相当している。また、メイン処理は、遊技プログラムに含まれ、複数の処理を含む。以下、特に非遊技プログラムに含まれる旨を示さない処理は、遊技プログラムに含まれる。なお、遊技プログラムにより呼び出される遊技プログラムには、非遊技プログラムを呼び出すものもある。
【０１１５】
図９に示すように、メイン制御部４１は、まず、割込禁止設定（Ｓｃ１）を行う。次に、設定されたＲＡＭ初期化領域をクリアする（Ｓｃ２）。設定されたＲＡＭ初期化領域とは、後述のＳｃ３６で設定される遊技終了時のＲＡＭ初期化領域（領域Ｄ）またはＳｃ３８で設定されるボーナス終了時のＲＡＭ初期化領域（領域Ｃ，Ｄ）である。これにより、一遊技が終了した場合には領域Ｄがクリアされ、一遊技が終了した場合であってさらにボーナスが終了した場合には、領域Ｄに加えて領域Ｃもクリアされることになる。ＲＡＭ初期化領域をクリアした後は、一遊技が終了した旨を特定可能な遊技終了コマンドをサブ制御部９１に対して送信する（Ｓｃ３）。
【０１１６】
次に、非遊技プログラムに含まれるＲＴ情報出力処理を行う（Ｓｃ４）。ＲＴ情報出力処理では、遊技ＲＡＭ領域の所定領域に設定されているスロットマシン１の遊技状態に関する情報を参照し、当該遊技状態に関する情報（例えば、ＲＴの状態）を外部出力信号として出力ポート７より出力させるように設定する。
【０１１７】
Ｓｃ５のステップにおいて、タイマ割込が指定回数行われるまで待機する割込複数回待ち処理を行う。ここで、指定回数が１回である場合は、割込１回待ち処理という。たとえば、割込１回待ち処理においては、タイマ割込を許可に設定してタイマ割込処理（メイン）（以下、「割込処理」とも称する）が１回行われるまで待機する。そして、タイマ割込処理（メイン）が１回行われたことが特定されることで、当該割込１回待ち処理を終了する。割込１回待ち処理を行うことにより、次のタイマ割込処理（メイン）が行われるまでの時間が最大限に確保されている状態で、割込１回待ち処理の後に行われる処理を行うことができ、割込１回待ち処理の後に行われる一連の処理の途中で意図せずタイマ割込が行われてしまうことを防止できる。
【０１１８】
割込複数回待ち処理（Ｓｃ５）においては、ＲＴ情報出力処理によって出力される外部出力信号が出力されるように、２４回（１３．４４ｍｓ）の割込待ちを行う。そして、割込複数回待ち処理が行われた後、遊技開始待ち処理を行って（Ｓｃ６）、前の一遊技の制御の終了後から次の一遊技を開始させるまでの処理を行う。遊技開始待ち処理では、メダルの投入などに応じて賭数を設定する処理を行い、規定数の賭数が設定された状態でスタートスイッチ７の操作が検出されることで、次の一遊技を開始させる処理を行う。
【０１１９】
そして、入賞の発生を許容するか否かを決定（内部抽選）するための内部抽選処理を行う（Ｓｃ７）。内部抽選処理では、スロットマシン１において予め設定された設定値（１〜６）やスタートスイッチ７の検出による遊技の開始と同時に取得された内部抽選用の乱数値に基づいて、入賞の発生を許容するか否か（すなわち、表示結果の導出を許容するか否か）を決定する内部抽選を行う。
【０１２０】
その後、ＡＴ抽選などを行う出玉制御処理（Ｓｃ８）を行った後、割込禁止設定を行い（Ｓｃ９）、非遊技プログラムに含まれる当選情報出力処理を行う（Ｓｃ１０）。当選情報出力処理を行った後は、割込許可を行う（Ｓｃ１１）。当選情報出力処理では、遊技ＲＡＭ領域の所定領域に設定されている内部抽選の抽選結果を参照し、内部抽選における特別役の当選状況、一般役の当選状況を特定可能なデータを、非遊技プログラムである後述の試験信号出力処理から参照可能にＲＡＭ４１ｃの所定領域に設定する。なお、当該当選情報出力処理によりＲＡＭ４１ｃの所定領域に設定された特別役の当選状況、一般役の当選状況は、後述の試験信号出力処理にて参照されて、試験信号として出力されるようになっている。
【０１２１】
次に、Ｓｃ１２のステップにおいて遊技開始時のコマンド送信処理を実行し、割込複数回待ち処理（Ｓｃ１３）を実行する。遊技開始時のコマンド送信処理では、一遊技の開始時点における各種の制御状態を特定可能な複数のコマンドを含む制御状態コマンド群や一遊技が開始された旨を特定可能な遊技開始コマンドをサブ制御部９１に対して送信する。また、割込複数回待ち処理（１３３ｍｓ待機）を実行することで、割込処理において、上記コマンドが送信可能となる。
【０１２２】
Ｓｃ１３のステップにおいて遊技開始コマンド処理を行った後は、外部出力信号処理（Ｓｃ１４）を実行する。Ｓｃ１４のステップにおいて外部出力信号処理を行った後は、前回の遊技におけるリール回転開始時点からの経過時間を計時するためにＲＡＭ４１ｃの所定領域に設定されている一遊技時間管理用タイマを参照して、一遊技時間管理用タイマに基づいて前回の遊技におけるリール回転開始時点から一遊技の規定時間（本実施例では４．１秒）が経過したか否かを判定する（Ｓｃ１５）。そして、一遊技の規定時間が経過していないと判定した場合は、一遊技時間管理用タイマに基づいて一遊技の規定時間が経過するまで待機し、一遊技時間管理用タイマに基づいて一遊技規定時間が経過した後に、Ｓｃ１６に進む。Ｓｃ１５のステップにおいて一遊技の規定時間が経過していると判定した場合は、Ｓｃ１６に進む。なお、一遊技時間管理用タイマは、遊技におけるリール回転開始時点から一遊技の規定時間（本実施例では４．１秒）が経過したときに、０となるようになっており、一遊技時間管理用タイマが０か否かに基づいて一遊技規定時間が経過したか否かを判定できるようになっている。
【０１２３】
Ｓｃ１６のステップにおいて割込禁止設定を行い、リール回転開始処理を行う（Ｓｃ１７）。リール回転開始処理においては、リールモータ３２Ｌ、３２Ｃ、３２Ｒを励磁制御する際の励磁パターンとして、遊技用の所定速度でリールを回転制御する通常加速パターンをＲＡＭ４１ｃの所定領域に設定し、ＲＡＭ４１ｃに設定されている励磁パターンに基づいてリールモータ３２Ｌ、３２Ｃ、３２Ｒを励磁制御することでリールの回転を開始させる。
【０１２４】
次に、リール２Ｌ，２Ｃ，２Ｒの回転制御を開始させる旨を特定可能なリール回転開始コマンドをサブ制御部９１に対して送信するリール回転開始コマンド送信処理を行う（Ｓｃ１８）。リール回転開始コマンド送信処理を行った後は、リールの停止制御を行うリール停止制御処理を行う（Ｓｃ１９）。リール停止制御処理では、回転制御中のリールが所定の定速回転で回転されているかを判定し、定速回転で回転されていないリールがある場合には、リールエラーを検出して、該当するリールについて定速回転まで加速させる励磁パターンを設定して、回転制御中のすべてのリールが定速回転で回転されるように制御する。一方、回転制御中のすべてのリールが定速回転で回転されている場合には、回転制御中のリールの停止操作の受け付けを有効化し、ストップスイッチによる停止操作が行われるまで待機する。そして、停止操作が有効化されているリールについて有効な停止操作が検出されること（停止操作が有効なストップスイッチについてＯＮエッジデータが検出されること）で、有効な停止操作が行われたリールについて、リール停止初期設定処理にて設定された情報などに基づいて所定の停止位置で停止させるリール停止制御を行う。このようなリール停止制御を、回転制御中のリールについて繰り返し行って、すべてのリールの回転を停止させることで、リール停止処理を終了させる。
【０１２５】
そして、リール停止処理を終了させた後は、入賞判定処理（Ｓｃ２０）を行う。入賞判定処理では、内部抽選結果およびリール２Ｌ，２Ｃ，２Ｒに停止している図柄組合せに基づいて入賞が発生しているか否かを判定する。そして、Ｓｃ２０のステップにおける入賞判定処理を行った後は、メダル投入部４からのメダルの投入に関する異常やホッパーからのメダルの払い出しに関する異常が検出されているか否かを判定する投入払出エラーチェック処理を行う（Ｓｃ２１）。
【０１２６】
投入払出エラーチェック処理では、払出センサ３４ｃの信号（以下、メダル払出信号、あるいは、払出信号とも称する）の遷移に異常が検出された旨を示す払出エラーフラグや、投入メダルセンサ３１の信号（以下、メダル投入信号、あるいは、投入信号とも称する）の遷移に異常が検出された旨を示す投入エラーフラグが、ＲＡＭ４１ｃの所定領域に設定されているか否かを判定し、上記エラーフラグが設定されている場合には、エラー処理を行う。エラー処理では、上記エラーフラグに基づき、エラーコード（Ｅ４、Ｅ５）を遊技補助表示器１２に表示させるように制御するとともに、エラー状態の解除条件が成立したことが特定されるまでエラー状態の制御を行う。エラー状態の解除条件が成立した場合はエラー処理を終了し、エラー処理を実行した旨を示すエラー実行フラグを所定のレジスタに設定し、投入払出エラーチェック処理を終了する。
【０１２７】
投入払出エラーチェック処理（Ｓｃ２１）を行った後は、割込１回待ち処理を行い（Ｓｃ２２）、割込処理が行われるまで待機する。そして、割込処理が行われた後は、割込禁止設定を行い（Ｓｃ２３）、非遊技プログラムに含まれる役比モニタ用データ処理を行う（Ｓｃ２４）。そして、役比モニタ用データ処理を行った後は、割込許可設定を行う（Ｓｃ２５）。割込１回待ち処理を行った後に、役比モニタ用データ処理（Ｓｃ２４）を行うことで、次のタイマ割込処理（メイン）が行われるまでの時間が最大限に確保されている状態で、役比モニタ用データ処理を行うことができ、役比モニタ用データ処理の途中で意図せずタイマ割込が行われてしまうことを防止できる。
【０１２８】
役比モニタ用データ処理では、非遊技プログラムに含まれる各状態カウント処理を行って、予め定められた所定期間（例えば、現在のゲームから６０００ゲーム前までの期間、現在のゲームから１７５０００ゲーム前までの期間、遊技者にとって有利な状態に制御された区間（有利区間）など）におけるメダルの払い出し枚数に関するデータを更新する。
【０１２９】
次に、不正入賞判定処理（Ｓｃ２６）を行う。不正入賞判定処理では、内部抽選結果およびリール２Ｌ，２Ｃ，２Ｒに停止している図柄組合せに基づいて不正入賞が発生しているか否かを判定する。その後、ＲＴ関連処理（Ｓｃ２７）を行う。ＲＴ関連処理では、リールにＲＴ状態の移行を伴うＲＴ移行図柄の組合せが停止している場合に、ＲＴ状態に更新する。次に、ボーナス終了条件の判定処理を行うボーナス終了チェック処理（Ｓｃ２８）を実行し、遊技状態設定処理（Ｓｃ２９）を実行する。遊技状態設定処理では、ボーナス終了チェック処理で実行される処理以外のボーナス開始条件の判定処理や各種データの更新処理などを実行する。次に、遊技終了時に実行される有利区間の終了判定などを行うＡＴ状態管理処理（Ｓｃ３０）を実行し、ＲＴ情報コマンドを送信するコマンド送信処理（Ｓｃ３１）を行う。
【０１３０】
次に、ゲームの結果として発生した入賞に応じた枚数のメダルを払い出すメダル払出処理を行う（Ｓｃ３２）。メダル払出処理では、発生した入賞に応じて、入賞役毎に予め定められた所定枚数のメダルを遊技者に対して付与して、付与するメダル枚数分をクレジットに加算し、クレジットが上限数（本実施例では、５０）に達した場合には、ホッパーモータ３４ｂを駆動させてクレジットに加算されなかった分のメダルをメダル払出口９から払い出す。メダル払出処理を行った後は、払出終了コマンドを送信する払出終了コマンド送信処理（Ｓｃ３３）を行う。
【０１３１】
そして、遊技終了時設定処理を行って（Ｓｃ３４）、再遊技役の図柄組合せがリール２Ｌ，２Ｃ，２Ｒに停止しているか否かを判定し、再遊技役の図柄組合せが停止している場合には、次ゲームにおいて再遊技を行うための賭数を設定する処理（本実施例では、ＲＡＭ４１ｃの所定領域に設定されているリプレイ用カウンタに、再遊技用メダルとして３を設定する。）や、リプレイフラグをＲＡＭ４１ｃの所定領域に設定する処理、リプレイ中ＬＥＤ２０をＯＮ状態（点灯状態）に制御する処理などを行う。そして、有利区間終了時のＲＡＭの初期化処理や有利区間中信号の設定処理などを行う有利区間関連処理（Ｓｃ３５）を実行する。
【０１３２】
そして、遊技終了時のＲＡＭ初期化領域（領域Ｄ）を設定する（Ｓｃ３８）。ボーナスが終了した場合には、ボーナス終了時のＲＡＭ初期化領域（領域Ｃ，Ｄ）を設定し（Ｓｃ３８）、Ｓｃ１に戻る。ボーナスが終了していない場合には、遊技終了時のＲＡＭ初期化領域（領域Ｄ）が設定された状態で、Ｓｃ１に戻る。また、先に説明したように、Ｓｃ３６またはＳｃ３８で設定された領域は、Ｓｃ２においてクリアされる。
【０１３３】
Ｓｃ１のステップに戻った後は、Ｓｃ１〜Ｓｃ３８のステップを繰り返し行う。メイン処理が一巡することで、一単位の遊技の制御に関する処理が終了することとなり、一単位の遊技毎にメイン処理が繰り返し実行されることとなる。
【０１３４】
このように、本実施例のメイン制御部４１が行うメイン処理は、遊技プログラムに含まれており、非遊技プログラムに含まれる処理、例えば、ＲＴ情報出力処理、当選情報出力処理、役比モニタ用データ処理などを呼び出すようになっている。
【０１３５】
また、メイン制御部４１は、非遊技プログラムに従って各種処理を行う場合には、上述のＣＡＬＬ命令などを用いて遊技プログラムから非遊技プログラムを呼び出すことで、当該非遊技プログラムに従って各種処理を行い、当該非遊技プログラムに応じた各処理が終了することで、呼出元の遊技プログラムに復帰するようになっている。
【０１３６】
［遊技開始待ち処理］
本実施例のメイン制御部４１が行う遊技開始待ち処理の制御内容について、図１０に基づいて説明する。図１０は、メイン制御部が行う遊技開始待ち処理の制御内容を示すフローチャートである。なお、遊技開始待ち処理は、遊技プログラムに含まれており、遊技プログラムに含まれるメイン処理において呼び出されるサブルーチンである。
【０１３７】
図１０に示すように、遊技開始待ち処理では、まず、クレジット枚数コマンドを送信するクレジット枚数コマンド送信処理（Ｓｄ１）を実行する。次に、メダル投入枚数表示処理を行い（Ｓｄ２）、スロットマシン１に投入済みのメダル枚数に応じた１〜３ＢＥＴＬＥＤ１４〜１６をＯＮ状態（点灯状態）に制御する。
【０１３８】
その後、ホッパータンク３４ａが満タン状態である旨を特定可能なエラーコード（Ｅ１：オーバーフローエラー）を所定のレジスタに準備し、所定のポート入力バッファを参照して、満タンセンサ３５ａの確定データに基づいてホッパータンク３４ａが満タン状態であるか否かを判定する（Ｓｄ３）。Ｓｄ３のステップにおいてホッパータンク３４ａが満タン状態であると判定した場合には、エラー処理を行う（Ｓｄ４）。エラー処理では、遊技の進行が不能化されるエラー状態に制御する。また、所定のレジスタに準備されているエラーコード（Ｅ１）を特定可能なエラーコマンドをサブ制御部９１に対して送信し、当該エラーコード（Ｅ１）をＲＡＭ４１ｃの所定領域にその他の処理でも参照可能なエラーフラグとして設定する。また、当該エラーコード（Ｅ１）を遊技補助表示器１２に表示させるように制御する。その後は、所定のレジスタに準備されているエラーコード（Ｅ１）に応じたエラー状態の解除条件が成立したことが特定されるまでエラー状態の制御を行う。エラーコード（Ｅ１）がレジスタに設定されてエラー状態に移行された場合には、満タンセンサ３５ａの確定データがＯＦＦ状態となるまで待機し、当該満タンセンサ３５ａの確定データがＯＦＦ状態となることで、エラー状態を解除する旨のエラーコマンド（解除）をサブ制御部９１に対して送信し、エラー処理を終了させて、Ｓｄ５のステップへ進む。
【０１３９】
Ｓｄ３のステップにおいてホッパータンク３４ａが満タン状態でないと判定した場合、およびＳｄ４のステップにおけるエラー処理を終了した場合には、ＲＡＭ４１ｃの所定領域に設定されているリプレイ用カウンタの値を所定のレジスタに読み込む（Ｓｄ５）。なお、リプレイ用カウンタには、前回のメイン処理における遊技終了時設定処理により、前回の遊技の結果に応じた値が設定されており、前回の遊技において再遊技役が入賞して再遊技が付与された場合には、遊技を行うために必要な賭数の規定数に相当する数値（例えば、３）が設定されている一方で、前回の遊技において再遊技が付与されなかった場合には、０が設定されている。
【０１４０】
その後、ＲＡＭ４１ｃのリプレイ用カウンタをクリアし（Ｓｄ６）、Ｓｄ５のステップにおいて読み込んだリプレイ用カウンタの値が０より大きいか否か、すなわち再遊技が付与されている否かを判定し（Ｓｄ７）、再遊技が付与されている場合には、メダル投入実行処理を行う（Ｓｄ８）。メダル投入実行処理では、リプレイ用カウンタの値を賭数（ＢＥＴ数）に設定するとともに、１〜３ＢＥＴＬＥＤ１４〜１６をＯＮ状態（点灯状態）に設定して規定数の賭数（本実施例では、３）が設定されている旨を報知する。また、賭数の設定に使用されたメダル枚数を特定可能な投入枚数コマンドをサブ制御部９１に対して送信する。
【０１４１】
Ｓｄ７のステップにおいてリプレイ用カウンタの値が０である、すなわち再遊技が付与されていないと判定した場合、およびＳｄ８のステップにおいて再遊技が付与されたことによりメダル投入実行処理を行った後は、メダル手入れ許可設定処理を行う（Ｓｄ９）。メダル手入れ許可設定処理では、ＲＡＭ４１ｃの所定領域に設定されているクレジットの値を参照し、当該クレジットの値が最大値（本実施例では、５０）に達していない場合に、メダル投入部４からのメダルの投入を許可する旨を示すメダル手入れ許可フラグをＲＡＭ４１ｃの所定領域に設定する。
【０１４２】
Ｓｄ９のステップにおいてメダル手入れ許可設定処理を行った後は、割込１回待ち処理を行う（Ｓｄ１０）。割込１回待ち処理を行うことで、タイマ割込処理（メイン）が行われて各種スイッチ類の検出状態やＬＥＤの点灯状態、各種タイマなどが更新されることとなり、これらの各種スイッチ類の検出状態が更新された状態で、その後の処理（例えば、メダル投入払出エラーチェック処理、メダル投入信号処理、操作入力受付処理）を行わせることができる。
【０１４３】
Ｓｄ１０のステップにおいて割込１回待ち処理を行って割込処理が１回行われた後は、投入払出エラーチェック処理を行う（Ｓｄ１１）。そして、ＲＡＭ４１ｃの所定領域にエラー実行フラグが設定されているか否かに基づいて、エラーチェック処理にてエラー処理が実行されたか否かを判定する（Ｓｄ１２）。
【０１４４】
Ｓｄ１２のステップにおいてエラーチェック処理にてエラー処理が実行されたと判定した場合は、Ｓｄ１０のステップに戻り、Ｓｄ１０〜Ｓｄ１２のステップの各処理を再び行う。その後、メダル払出信号の遷移やメダル投入信号の遷移に異常が検出されない状態で、Ｓｄ１０〜Ｓｄ１２のステップの各処理が行われることで、エラー実行フラグが設定されていない状態で、Ｓｄ１２のステップの処理が行われることとなる。
【０１４５】
一方、Ｓｄ１２のステップにおいてエラー実行フラグが設定されていないと判定した場合は、メダル投入信号処理を行う（Ｓｄ１３）。メダル投入信号処理では、メダル投入信号の遷移に基づいてメダルの投入状況を判定する。そして、正常なメダルの投入が検出された場合は、賭数の設定やクレジットにメダルを受け付けて、メダル投入信号処理を終了する。一方、異常なメダルの投入が検出された場合は、エラーコード（Ｅ５）を準備してエラー処理を行う。その後、エラー状態が解除されてエラー処理が終了されることで、メダル投入信号処理を終了する。
【０１４６】
Ｓｄ１３のステップにおいてメダル投入信号処理を行った後は、各種スイッチの操作を有効化して、操作が有効化されているスイッチの操作が行われることで、当該スイッチによる操作を受け付ける操作入力受付処理を行う（Ｓｄ１４）。
【０１４７】
操作入力受付処理では、メダル投入信号の遷移に基づいてメダルが通過中でないときに、ＲＡＭ４１ｃの所定領域に設定されているクレジットが、１以上である場合には、ＭＡＸＢＥＴスイッチ６による操作の受け付けを有効化する。また、メダル投入信号の遷移に基づいてメダルが通過中でないときに、ＲＡＭ４１ｃの所定領域に設定されている賭数が規定数である場合には、スタートスイッチ７による操作の受け付けを有効化する。また、メダル投入信号の遷移に基づいてメダルが通過中でない場合に、精算スイッチ１０および設定キースイッチ３７による操作の受け付けを有効化する。
【０１４８】
また、操作入力受付処理では、スタートスイッチ７による操作が有効な状態で、スタートスイッチ７の操作が検出された場合には、スタートスイッチ７が操作された旨を示すスタートフラグを所定レジスタに設定した後、流路切替ソレノイド３０をＯＦＦ状態としてメダルの流路をメダル払出口９側に切り替える処理を行う。また、設定キースイッチ３７による操作が有効な状態で、設定キースイッチ３７による操作が検出された場合には、設定値表示器２４に設定値を表示させる設定値表示処理を行う。また、精算スイッチ１０による操作が有効な状態で、精算スイッチ１０による操作が検出された場合には、クレジットに記憶されている分のメダルを遊技者に返却する精算処理を行う。また、ＭＡＸＢＥＴスイッチ６による操作が有効な状態で、ＭＡＸＢＥＴスイッチ６による操作が検出された場合には、クレジットに基づいて可能な範囲で規定数までのメダル枚数を賭数に設定し、賭数に設定した分のメダル枚数をクレジットから減算する処理を行う。操作が検出されたスイッチ類に応じた処理を行った後、操作入力受付処理を終了させる。
【０１４９】
ここで、たとえば、精算スイッチ１０と設定キースイッチ３７とが、同時に操作された場合は、次のような処理が行われる。精算スイッチ１０と設定キースイッチ３７とでは、設定キースイッチ３７の方が処理の優先順位が高い。このため、先に、設定キースイッチ３７がＯＮ状態であるか否かを判定し、設定キースイッチ３７がＯＮ状態であれば、設定変更状態に移行する。設定キースイッチ３７がＯＦＦ状態であれば、精算スイッチ１０がＯＮ状態であるか否かを判定し、精算スイッチ１０がＯＮ状態であれば、精算処理を行う。
【０１５０】
精算スイッチ１０と設定キースイッチ３７とが同時に操作された場合において、設定変更状態に移行し、さらに設定変更状態を終了したとする。設定変更状態を終了したときに、未だ精算スイッチ１０がＯＮ状態を継続している場合には、精算処理を行う。設定変更状態を終了したときに、精算スイッチ１０がＯＦＦ状態であれば、精算処理を行わない。
【０１５１】
また、上記とは別の処理方法も考えられる。たとえば、精算スイッチ１０と設定キースイッチ３７とが同時にＯＮ状態になっているか否かを判定し、同時にＯＮ状態になっている場合は、いずれの処理も行わないようにしてもよい。この場合、いずれか一方がＯＮ状態になるのを待って、ＯＮ状態になった方に対して処理を行う。しかし、このように同時にＯＮ状態になっているか否かを判定する処理を行うよりも、上記のように優先順位の高い方の処理を行う方が、処理を簡素化することができる。
【０１５２】
Ｓｄ１４のステップにおいて操作入力受付処理を行った後は、スタートフラグに基づいてスタートスイッチ７による有効な操作が検出されたか否かを判定する（Ｓｄ１５）。所定のレジスタにスタートフラグが設定されておらず、スタートスイッチ７による有効な操作が検出されなかったと判定した場合は、Ｓｄ１０のステップに戻り、スタートスイッチ７による有効な操作が検出されるまで、Ｓｄ１０〜Ｓｄ１５の処理を繰り返す。
【０１５３】
Ｓｄ１６のステップにおいて、所定のレジスタにスタートフラグが設定されており、スタートスイッチ７による有効な操作が検出されたと判定した場合は、内部抽選用の乱数値を乱数回路４２から取得して、ＲＡＭ４１ｃの所定領域に設定する。その後、設定されている賭数を特定可能なメダル投入状態データをＲＡＭ４１ｃの所定領域に設定し（Ｓｄ１７）、スタート有効ＬＥＤ１８をＯＦＦ状態（消灯状態）に設定し（Ｓｄ１８）、メダル手入れ許可フラグをＲＡＭ４１ｃの所定領域からクリアし（Ｓｄ１９）、遊技補助表示器１２における払出枚数の表示をクリアするように制御して（Ｓｄ２０）、遊技開始待ち処理を終了させる。
【０１５４】
［投入払出エラーチェック処理］
本実施例のメイン制御部４１が行う投入払出エラーチェック処理の制御内容について、図１１に基づいて説明する。図１１は、メイン制御部が行う投入払出エラーチェック処理の制御内容を示すフローチャートである。なお、投入払出エラーチェック処理は、遊技プログラムに含まれており、遊技プログラムに含まれるメイン処理や遊技開始待ち処理において呼び出されるサブルーチンである。
【０１５５】
図１１に示すように、投入払出エラーチェック処理では、まず、Ｓｅ１のステップにおいて、ＲＡＭ４１ｃの所定領域に格納されているセンサエラーフラグを取得する。センサエラーフラグは、払出エラーフラグと投入エラーフラグとを含む。払出エラーフラグおよび投入エラーフラグのうちのいずれかがＯＮに設定されている場合、センサエラーフラグはＯＮ状態となる。また、払出エラーフラグおよび投入エラーフラグのいずれもＯＦＦに設定されている場合、センサエラーフラグはＯＦＦ状態となる。
【０１５６】
払出エラーフラグは、払出センサ３４ｃの信号（メダル払出信号）の遷移の異常（メダル払出エラー）が検出された旨を示すフラグである。また、投入エラーフラグは、投入メダルセンサ３１の信号（メダル投入信号）の遷移の異常（メダル投入エラー）が検出された旨を示すフラグである。
【０１５７】
取得したセンサエラーフラグがＯＮに設定されている場合（Ｓｅ２がＹＥＳ）、Ｓｅ３に進む。一方で、取得したセンサエラーフラグがＯＦＦに設定されている場合（Ｓｅ２がＮＯ）、Ｓｅ１６に進む。
【０１５８】
Ｓｅ３のステップにおいて、まず、メダル投入エラーが検出された旨を示すエラーコード（Ｅ５）を所定のレジスタに設定する。そして、ステップＳｅ４において、払出エラーフラグがＯＦＦ状態である場合は、Ｓｅ６に進む。一方、Ｓｅ４のステップにおいて、払出エラーフラグがＯＮ状態である場合は、メダル払出エラーが検出された旨を示すエラーコード（Ｅ４）を所定のレジスタに設定して、Ｓｅ６に進む。すなわち、メダル払出エラーが検出された場合はエラーコート（Ｅ４）を所定のレジスタに設定し、メダル投入エラーが検出された場合はエラーコート（Ｅ５）を所定のレジスタに設定する。
【０１５９】
そして、全リール停止ＬＥＤオフ処理（Ｓｅ６）を実行する。全リール停止ＬＥＤオフ処理は、リールの停止操作が有効である旨を点灯により報知する停止有効ＬＥＤを全て消灯させるための設定を行う処理である。そして、流路切替ソレノイドオフ処理（Ｓｅ７）を実行する。流路切替ソレノイドオフ処理は、流路切替ソレノイド３０をＯＦＦ状態するために設定を行う処理である。そして、所定のレジスタに設定されたエラーコードに基づき、エラー番号の設定を行った上で（Ｓｅ８）、エラー処理（Ｓｅ９）を実行する。
【０１６０】
エラー処理を実行した後は、割込禁止設定を行い（Ｓｅ１０）、ＲＡＭ４１ｃの所定領域からセンサエラーフラグを取得する（Ｓｅ１１）。取得したエラーフラグに対して、エラー処理により解除された払出エラーまたは投入エラーを解除して更新し（Ｓｅ１２）、更新されたセンサエラーフラグＲＡＭ４１ｃの所定領域に格納する（Ｓｅ１３）。
【０１６１】
次に、Ｓｅ１４のステップにおいて、割込許可設定を行い、エラー処理を実行した旨を示すエラー実行フラグをＯＮ状態に設定して（Ｓｅ１５）、投入払出エラーチェック処理を終了する。
【０１６２】
一方で、取得したセンサエラーフラグがＯＦＦに設定されている場合（Ｓｅ２がＮＯ）、Ｓｅ１６ステップにおいて、エラー実行フラグをＯＦＦ状態に設定して、投入払出エラーチェック処理を終了する。
【０１６３】
［エラー処理］
本実施例のメイン制御部４１が行うエラー処理の制御内容について、図１２に基づいて説明する。図１２は、メイン制御部が行うエラー処理の制御内容を示すフローチャートである。なお、エラー処理は、遊技プログラムに含まれており、遊技プログラムに含まれるメイン処理や投入払出エラーチェック処理などにおいて呼び出されるサブルーチンである。
【０１６４】
図１２に示すように、エラー処理では、まず、エラー処理が実行される前に設定されたエラー番号（エラーコード）を格納する。たとえば、エラー処理が投入払出エラーチェック処理から呼び出された場合は、Ｅ４またはＥ５のエラーコードをＲＡＭ４１ｃの所定領域にその他の処理でも参照可能なエラーフラグとして設定する。
【０１６５】
Ｓｆ２のステップにおいて、エラーコードを特定可能なエラーコマンドを送信するエラー開始コマンド送信処理を実行する。Ｓｆ３のステップにおいて、エラーコードに対応するエラー要因を取得し、Ｓｆ４のステップにおいて、エラーコードを遊技補助表示器１２に表示させるように制御するエラー番号表示処理を行う。その後は、所定のレジスタに準備されているエラーコードに応じたエラー状態の解除条件が成立したことが特定されるまでエラー状態の制御を行う（Ｓｆ５）。
【０１６６】
たとえば、エラーコード（Ｅ４）が所定のレジスタに準備されてエラー状態に移行された場合には、エラー状態の解除条件として、払出センサ３４ｃの検出状態がＯＦＦ状態であり、かつリセット／設定スイッチ３８またはリセットスイッチ２３がＯＮ状態となったことが成立するまで待機する。また、エラーコード（Ｅ５）がレジスタに準備されてエラー状態に移行された場合には、エラー状態の解除条件として、投入メダルセンサ３１ａ〜３１ｃの検出状態がＯＦＦ状態であり、かつリセット／設定スイッチ３８またはリセットスイッチ２３がＯＮ状態となったことが成立するまで待機する。
【０１６７】
エラー状態の解除条件が成立した場合（Ｓｆ５でＹＥＳ）は、Ｓｆ６に進み、割込１回待ち処理を行う。そして、入力バッファ１，２を取得し（Ｓｆ７）、取得した入力バッファ１，２に基づき、払出センサ、投入メダルセンサ、満タンセンサが正常であるかを判定する（Ｓｆ８）。Ｓｆ８において正常であると判断した場合はＳｆ９に進む。一方、Ｓｆ８において正常でないと判断した場合はＳｆ６に戻り、Ｓｆ８において正常であると判断されるまで、Ｓｆ６〜Ｓｆ８のステップを繰り返す。
【０１６８】
Ｓｆ９のステップにおいて、入力バッファ０のＯＮエッジ状態を取得し、リセット／設定スイッチ３８またはリセットスイッチ２３がＯＮエッジ状態となるまで（操作がされるまで）待機し（Ｓｆ１０でＮＯ）、リセット／設定スイッチ３８またはリセットスイッチ２３がＯＮエッジ状態となる（Ｓｆ９でＹＥＳ）ことで、Ｓｆ１１に進む。
【０１６９】
Ｓｆ１１のステップにおいて、払出枚数表示データを格納し、エラー番号をクリアし（Ｓｆ１２）、エラー解除コマンド送信処理（Ｓｆ１３）を実行する。エラー解除コマンド送信処理においては、エラー状態を解除する旨のエラー解除コマンドを送信する。Ｓｆ１４のステップにおいて、割込１回待ち処理を行って、エラー処理を終了する。
【０１７０】
［リール停止制御処理］
本実施例のメイン制御部４１が行うリール停止制御処理の制御内容について、図１３および図１４に基づいて説明する。図１３は、メイン制御部が行うリール停止制御処理の制御内容を示すフローチャート（その１）である。なお、リール停止制御処理は、遊技プログラムに含まれており、遊技プログラムに含まれるメイン処理において呼び出されるサブルーチンである。
【０１７１】
図１３に示すように、リール停止制御処理では、まず、停止有効ＬＥＤを全て消灯させるための設定を行う全リール停止ＬＥＤオフ処理を実行する（Ｓｇ１）。Ｓｇ２のステップでは、割込１回待ち処理を実行する。割込１回待ち処理では、タイマ割込処理（メイン）が１回行われるまで待機する。Ｓｇ３のステップでは、割込許可設定を行う。
【０１７２】
Ｓｇ４のステップでは、前述の払出投入エラーチェック処理を実行する。その結果、投入払出エラー（メダル投入エラーまたはメダル払出エラー）が発生した場合には（Ｓｇ５でＹＥＳ）、Ｓｇ２のステップに戻り、Ｓｇ２〜Ｓｇ５の処理を繰り返す。投入払出エラーが解除された場合には、Ｓｇ６のステップに進む。すなわち、投入払出エラーが発生している状態においては、Ｓｇ６以降のステップに進むことができない。
【０１７３】
投入払出エラーが発生しなかった場合には（Ｓｇ５でＮＯ）、Ｓｇ６のステップに進む。Ｓｇ６のステップにおいて、リール回転エラーが発生していない場合には（Ｓｇ６でＮＯ）、Ｓｇ１０のステップに進む。一方で、リール回転エラーが発生している場合には（Ｓｇ６でＹＥＳ）、全リール停止ＬＥＤオフ処理（Ｓｇ７）を実行し、リール回転エラーのエラーコード（Ｅ６）を設定した上で、エラー処理（Ｓｇ９）を実行する。エラー処理では、全てのリールの回転を停止させて、ゲームを進行させないように不能化するエラー状態に制御して待機する。その後、リセット操作により当該エラー状態が解除されることで、エラー処理を終了する。エラー処理の終了後には、Ｓｇ２のステップに戻り、再度Ｓｇ２〜Ｓｇ９までの処理を繰り返し、リール回転エラーが発生していない場合に、Ｓｇ１０のステップに進む。すなわち、リール回転エラーが発生している状態においては、Ｓｇ１０以降のステップに進むことができない。
【０１７４】
Ｓｇ１０のステップでは、内部当選信号出力タイマを取得する。ステップＳｇ１１において内部当選信号出力タイマが０になった場合（Ｓｇ１１でＹＥＳ）にはＳｇ１２のステップに進み、ステップＳｇ１１において内部出力タイマが０になるまで（Ｓｇ１１）、Ｓｇ１０，Ｓｇ１１のステップを繰り返す。内部当選信号出力タイマは、内部当選信号が出力されてから所定時間（２秒経過）が経過したときに０になるタイマである。このため、内部当選信号が出力されてから２秒が経過するまでは、次の処理（Ｓｇ１２）に進むことができない。
【０１７５】
なお、Ｓｇ１０のステップの前に、リールの停止制御中はストップスイッチを無効にするような処理を入れてもよい。たとえば、あるリールの停止制御が開始された場合には、リールの回転を停止するまでの最大停止遅延時間（１９０ｍｓ）待機させる処理を行うようにしてもよい。しかし、本実施の形態では、このような処理を入れていないため、後述するように、複数のストップスイッチをほぼ同時に操作した場合、１割込でもずれていればリール停止滑りコマ格納処理（Ｓｇ３２）が実行可能となり、複数のリールをほぼ同時に停止させることができる。
【０１７６】
Ｓｇ１２のステップでは、割込禁止設定を行う。次に、停止有効ＬＥＤの状態を特定可能な停止有効ＬＥＤ状態アドレスを読み込み（Ｓｇ１３）、回転速度状態データを取得する（Ｓｇ１４）。回転速度状態データは、回転制御中の各リールモータが定速状態で回転しているか否かを特定可能な情報である。そして、回転速度状態データに基づいて、回転制御中のリールの回転状態が定速状態であるか否かをリール毎に特定し、回転制御中の全てのリールが定速回転で回転されているか否かを判定する（Ｓｇ１５）。
【０１７７】
そして、Ｓｇ１５のステップにおいて、少なくともいずれか１つのリールが定速回転で回転しておらず、回転制御中の全てのリールが定速回転で回転されている状況でないと判定した場合には、Ｓｇ１のステップに戻り、Ｓｇ１〜Ｓｇ１５のステップを繰り返し実行して、回転制御中の全てのリールが定速回転で回転されている状況となるまで待機する。一方、Ｓｇ１５のステップにおいて、回転制御中の全てのリールが定速回転で回転されていると判定した場合には、回転制御を行っている全てのリールについて停止操作の受け付けが有効になる。
【０１７８】
Ｓｇ１６において、停止有効ＬＥＤ状態データをＯＦＦに設定し、リールが加速済みである場合（Ｓｇ１７でＹＥＳ）には、リール加速終了コマンドを送信するリール加速コマンド送信処理（Ｓｇ１８）を実行し、Ｓｇ１９に進む。一方で、リールが加速済みでない場合には（Ｓｇ１７でＮＯ）、リール加速コマンド送信処理を実行することなく、Ｓｇ１９に進む。
【０１７９】
次に、払出枚数表示データを格納し（Ｓｇ１９）、入力バッファのＯＮエッジ状態を取得し（Ｓｇ２０）、停止有効ＬＥＤ状態アドレスを読み込んだ後に、有効なストップスイッチ操作状態のみを取得し（Ｓｇ２１）、有効なストップスイッチの操作（停止操作）があったか否かを判定する（Ｓｇ２２）。有効なストップスイッチの操作があったか否かは、いずれかのストップスイッチにおいて、停止有効ＬＥＤがＯＮ状態であり、かつストップスイッチ信号がＯＮエッジ状態であることにより判定される。
【０１８０】
Ｓｇ２２のステップにおいて、有効なストップスイッチの操作がなかったと判定した場合には、停止有効ＬＥＤ状態データを出力バッファ２に格納し（Ｓｇ２３）、出力ポート２出力処理（Ｓｇ２４）を行う。そして、Ｓｇ２のステップに戻り、Ｓｇ２〜Ｓｇ２４のステップを繰り返し実行して、有効なストップスイッチの操作が検出されるまで待機する。その後、Ｓｇ２２のステップにおいて有効なストップスイッチの操作が検出された場合（Ｓｇ２２でＹＥＳ）には、Ｓｇ２５のステップに進む。
【０１８１】
図１４は、メイン制御部が行うリール停止制御処理の制御内容を示すフローチャート（その２）である。図１４に示すように、Ｓｇ２５のステップにおいて、停止対象となるリールを設定する。その際、左ストップスイッチ、中ストップスイッチ、右ストップスイッチの順に、有効なストップスイッチの操作が検出されたか否かを判定していき、最初に判定されたストップスイッチに対応するリールが停止対象となる。すなわち、停止対象となるリールが複数ある場合は、左リール、中リール、右リールの順に優先的に選択されることとなる。次に、割込許可設定を行い（Ｓｇ２６）、出力バッファ２をクリアした上で出力ポート２出力処理（Ｓｇ２７）を実行する。
【０１８２】
次に、Ｓｇ２８のステップにおいて、割込禁止設定を行う。そして、Ｓｇ２９のステップにおいて、ＲＡＭ４１ｃの所定領域に設定されている図柄ステップ数カウンタに基づいて、停止操作が検出されたリールの図柄ステップ数を取得する。Ｓｇ３０のステップにおいては、図柄ステップ数がＲＡＭ４１ｃの所定領域に設定されている判定範囲内にあるか否かを判定する。図柄ステップ数が所定の判定範囲内であれば（Ｓｇ３０がＹＥＳ）、ステップＳｇ３２に進む。一方、図柄ステップ数が判定範囲でなければ（Ｓｇ３０がＮＯ）、割込許可設定を行い（Ｓｇ３１）、Ｓｇ２８のステップに戻り、図柄ステップ数が所定の判定範囲となるまでＳｇ２８〜Ｓｇ３１のステップを繰り返す。Ｓｇ３１のステップにおいて割込許可設定がされたときに、割込処理を実行して、当該割込処理において図柄ステップ数カウンタを更新する。
【０１８３】
図柄ステップ数は、リールモータの１周分のステップ数のうち１つの図柄に対応するステップ数である。たとえば、１図柄あたり１６ステップ（あるいは１７ステップ）が割り当てられる。１６ステップが割り当てられる場合は、図柄の下端が０ステップ、上端が１５ステップとなる。図柄ステップ数カウンタは、リールの所定の判定位置を通過する図柄の図柄ステップ数を計数するためのカウンタである。１６ステップ図柄の場合は、０〜１５がカウントされる。本実施の形態においては、１６ステップ図柄であっても１７ステップ図柄であっても、共通のステップである１１ステップにおいて、図柄ステップ数を取得する。すなわち、上記判定範囲は１１ステップのみとなる。すなわち、図柄ステップ数が１１以外は、判定範囲外であると判定される。なお、これに限らず、０〜１１ステップを判定範囲とするものであってもよいし、１６ステップ図柄と１７ステップ図柄とで判定範囲を異ならせるものであってもよい。
【０１８４】
図柄ステップ数が判定範囲内であれば（Ｓｇ３０がＹＥＳ）、割込禁止設定が維持された状態で、リール停止滑りコマ格納処理（ステップＳｇ３２）を実行する。リール停止滑りコマ格納処理においては、ＲＡＭ４１ｃの所定領域に設定されている図柄番号カウンタの値を取得し、当該図柄番号カウンタの値を停止操作が行われたときの図柄番号（操作時図柄番号とも称する）としてＲＡＭ４１ｃの所定領域に設定する。本実施の形態においては、１リールに配置された２０図柄の各々には、リール基準位置の図柄を基準として連続する番号（０〜１９）が図柄番号として予め割り当てられており、図柄番号カウンタは、所定の判定位置に位置している図柄の図柄番号（操作時図柄番号とも称する）を計数するためのカウンタである。
【０１８５】
また、ＲＡＭ４１ｃの所定領域に設定されている停止制御テーブルを参照して、操作時図柄番号に基づいて停止操作が行われたタイミングに対応する滑りコマ数を特定し、当該滑りコマ数をＲＡＭ４１ｃの所定領域に設定する。また、当該滑りコマ数に応じた位置、すなわち滑りコマ数に対応する図柄番号の図柄で該当するリールを停止させるために停止要求をＲＡＭ４１ｃの所定領域に設定して、該当するリールを減速させて停止させる制動制御を開始させる。
【０１８６】
Ｓｇ３２のステップにおいてリール停止滑りコマ数設定処理を実行した後は、リール停止が受付けられたことを特定可能なリール停止受付時コマンド送信処理（Ｓｇ３３）を実行し、滑りコマ数を特定可能な滑りコマ数コマンド送信処理（Ｓｇ３４）を実行し、リール停止位置を特定可能なリール停止位置コマンド送信処理（Ｓｇ３５）を実行する。
【０１８７】
次に、入賞フラグにマスク処理（Ｓｇ３６）を行った上で、入賞予想処理（Ｓｇ３７）を実行する。入賞予想処理は、図柄組合せが導出される前に、入賞判定処理の一部に相当する処理を実行するものである。次に、リールが停止することを特定可能なリール停止コマンド送信処理（Ｓｇ３８）を実行する。
【０１８８】
次に、Ｓｇ３９のステップにおいて、停止対象となっているリールが最終停止（第３停止）であるのか否かを判定する。最終停止である場合（Ｓｇ３９でＹＥＳ）は、Ｓｇ４０に進む。一方で、最終停止でない場合（Ｓｇ３９でＮＯ）、すなわち、第１停止または第２停止である場合は、Ｓｇ２に戻り、全てのリールに対してリール停止滑りコマ数設定処理が実行されるまで（最終停止となるまで）、Ｓｇ２〜Ｓｇ３９の処理を繰り返す。
【０１８９】
なお、割込禁止設定が行われている期間内に、本来の割込処理のタイミングが含まれていた場合には、次に、割込許可設定が行われたタイミングで、割込処理が実行される。たとえば、リール停止滑りコマ数設定処理が実行された後に、割込許可設定が行われたときに、当該設定タイミングにおいて、リール停止滑りコマ数設定処理で設定された滑りコマ数および停止制御フラグに基づいて、該当するリールを減速させて停止させるための制動制御を開始する。
【０１９０】
Ｓｇ３９のステップにおいて最終停止であると判定された場合は、払出枚数表示データをクリアする（Ｓｇ４０）し、リールモータ状態データを取得する（Ｓｇ４１）。取得したリールモータ状態データに基づき、全てのリールモータがＯＦＦ状態であるか否かを判定する（Ｓｇ４２）。全てのリールモータがＯＦＦ状態でない場合には（Ｓｇ４２でＮＯ）、全てのリールモータがＯＦＦ状態となるまで待機する。全てのリールモータがＯＦＦ状態となった場合には（Ｓｇ４２でＹＥＳ）、Ｓｇ４３に進む。リールモータ状態データは、第１〜第３リールモータφ０〜φ３信号および流路切替ソレノイド信号の出力状態を特定可能なデータである。
【０１９１】
Ｓｇ４３のステップにおいて、投入払出エラーチェック処理を実行する。Ｓｇ４４のステップにおいて、入力バッファ０を取得し、ストップスイッチが押下状態（すなわち、ＯＮ状態が継続している状態）であるか否かを判定する（Ｓｇ４５）。ストップスイッチが押下状態である場合（Ｓｇ４５でＹＥＳ）は、ストップスイッチの押下状態が解除されるまで、Ｓｇ４３〜Ｓｇ４５の処理を繰り返し、ストップスイッチの押下状態が解除された場合は（Ｓｇ４５でＮＯ）は、リール停止制御処理を終了する。
【０１９２】
［遊技終了時の設定処理］
本実施例のメイン制御部４１が行う遊技終了時の設定処理の制御内容について、図１５に基づいて説明する。図１５は、メイン制御部が行う遊技終了時の設定処理の制御内容を示すフローチャートである。なお、遊技終了時の設定処理は、遊技プログラムに含まれており、遊技プログラムに含まれるメイン処理において呼び出されるサブルーチンである。
【０１９３】
図１５に示すように、遊技終了時の設定処理では、まず、入賞フラグを取得する（Ｓｈ１）。入賞フラグは、入賞が発生したときに設定され、入賞の種類を特定可能なフラグである。次に、入賞フラグに基づき、リプレイ入賞が発生しているかを判定する（Ｓｈ２）。リプレイ入賞が発生している場合には（Ｓｈ２でＹＥＳ）、Ｓｈ３に進み、リプレイ入賞が発生していない場合には（Ｓｈ２でＮＯ）、Ｓｈ８に進む。
【０１９４】
リプレイ入賞が発生している場合には（Ｓｈ２でＹＥＳ）、ＢＥＴ数（本実施の形態においては、３）を取得し（Ｓｈ３）、取得したＢＥＴ数をリプレイ用カウンタに格納する（Ｓｈ４）とともに、取得したＢＥＴ数を払出信号用カウンタに格納する（Ｓｈ５）。
【０１９５】
Ｓｈ６のステップにおいて、リプレイ中であることを特定可能なリプレイフラグをＯＮに設定する。そして、Ｓｈ７のステップにおいて、リプレイ中ＬＥＤ２０をＯＮ状態（点灯状態）に制御する処理を実行し、Ｓｈ１０に進む。
【０１９６】
一方で、リプレイ入賞が発生していない場合には（Ｓｈ２でＮＯ）、リプレイフラグをＯＦＦに設定する（Ｓｈ８）。そして、Ｓｈ９のステップにおいて、リプレイ中ＬＥＤ２０をＯＦＦ状態（消灯状態）に制御する処理を実行し、Ｓｈ１０に進む。
【０１９７】
Ｓｈ１０のステップにおいては、ボーナス関連処理を実行する。ボーナス関連処理においては、ボーナス開始時には遊技状態をボーナスに制御するための設定処理を行い、ボーナスを終了時にはボーナスコマンドを送信するための処理などを行う。
【０１９８】
［タイマ割込処理（メイン）］
本実施例のメイン制御部４１が行うタイマ割込処理（メイン）の制御内容について、図１６に基づいて説明する。図１６は、メイン制御部が行うタイマ割込処理（メイン）の制御内容を示すフローチャートである。なお、タイマ割込処理（メイン）は、遊技プログラムに含まれるサブルーチンである。
【０１９９】
図１６に示すように、タイマ割込処理（メイン）では、まず、すべての表レジスタと裏レジスタを交換した後（Ｓｉ１）、割込禁止に設定し（Ｓｉ２）、ＲＡＭ４１ｃの所定領域に設定されている電圧低下状態カウンタの値を取得する（Ｓｉ３）。そして、電断検出回路４８から電圧低下信号が入力される入力ポートを参照して（Ｓｉ４）、電圧低下信号が入力されているか否かを判定する（Ｓｉ５）。電圧低下信号が入力されている場合には、電圧低下状態カウンタが予め定められた上限値（本実施例では、４）に達しているか否かを判定し（Ｓｉ６）、電圧低下状態カウンタが上限値に達している場合には、電断処理（メイン）を行う（Ｓｉ７）。
【０２００】
電断処理（メイン）では、すべての表レジスタと裏レジスタを交換し、メイン制御部４１が備えるすべてのレジスタの値を、遊技ＲＡＭ領域の遊技スタック領域に所定の順序で記憶させることで退避させ、スタックポインタＳＰにより示される遊技スタック領域の現在のアドレスを遊技ＲＡＭ領域の所定領域に記憶させることで退避させる。なお、メイン制御部４１がレジスタの値を記憶させる遊技ＲＡＭ領域の遊技スタック領域やスタックポインタＳＰにより示されるアドレスの値を記憶させる遊技ＲＡＭ領域の所定領域を含む遊技ＲＡＭ領域の所定領域は、バックアップ電源によりバックアップされており、スロットマシン１への電力供給が停止しても、バックアップ電源により電力が供給される限り当該遊技ＲＡＭ領域の記憶内容が保存されるようになっている。
【０２０１】
そして、各出力ポートを初期化することで、ホッパーモータ３４ｂの駆動やリール２Ｌ、２Ｃ、２Ｒの回転を停止させるとともに、各種スイッチ類への制御信号などの出力を停止させる。そして、ＲＡＭ４１ｃのすべての格納領域（未使用領域及び未使用スタック領域を含む）の排他的論理和が０になるようにＲＡＭ４１ｃのパリティ調整用データを計算して、当該パリティ調整用データをＲＡＭ４１ｃの所定領域に設定し、ＲＡＭ４１ｃへのアクセスを禁止に設定し、ループ処理に入る。ループ処理では、電圧低下信号の出力状況を監視した状態で待機する。この状態で、電圧低下信号が入力されなくなった場合に電圧の回復を判定し、起動処理（メイン）からプログラムをスタートさせる。一方、電圧低下信号が入力されたまま電圧が低下すると内部的に動作停止状態になる。
【０２０２】
以上の処理によって、ＡＣ１００Ｖの電力供給が停止される場合には、電断処理（メイン）が実行され、電断前のレジスタの値が遊技ＲＡＭ領域の遊技スタック領域に退避されるとともに、当該遊技スタック領域を含むＲＡＭ４１ｃの遊技ＲＡＭ領域の所定領域の内容もバックアップ電源が供給されることで保持されるため、スロットマシン１への電力供給が再開された際に実行される起動処理（メイン）において、電断前の制御状態に復帰させることが可能となる。さらに電断前の制御状態において停止操作が有効であったか否も特定できるようになっている。
【０２０３】
次に、Ｓｉ５のステップにおいて電圧低下信号が入力されていないと判定した場合、およびＳｉ６のステップにおいて電圧低下状態カウンタが上限値に達していないと判定した場合は、Ｓｉ８のステップに進み、電圧低下状態カウンタを更新する。Ｓｉ５のステップからＳｉ８のステップに進んだ場合には、電圧低下状態カウンタに０を加算することで、現在の値を維持する一方で、Ｓｉ５のステップからＳｉ８のステップに進んだ場合には、電圧低下状態カウンタに１加算するように更新する。
【０２０４】
そして、入力ポートから各種スイッチ類の検出状態を入力し、入力データ、確定データ、エッジデータ（ＯＮエッジデータおよびＯＦＦエッジデータ）を生成するポート入力処理を行う（Ｓｉ９）。その後、メイン制御部４１が備えるレジスタのうち演算結果が格納されるフラグレジスタの値を、遊技ＲＡＭ領域の遊技スタック領域に所定の順序で記憶させることで退避させた後（Ｓｉ１０）、非遊技プログラムに含まれる非遊技関連処理を行う（Ｓｉ１１）。その後、Ｓｉ１０のステップにおいて遊技スタック領域に退避させたフラグレジスタの値を、退避させるときと逆の順序で遊技スタック領域から順次読み出してフラグレジスタに設定することで、非遊技関連処理を行う前の状態にフラグレジスタを復帰させる（Ｓｉ１２）。
【０２０５】
非遊技関連処理では、まず、呼び出し元の遊技プログラムにより使用されていたスタックポインタＳＰにより示される遊技スタック領域の現在のアドレスの値を、非遊技ＲＡＭ領域の所定領域に記憶させて退避させる。その後、当該スタックポインタＳＰの値として非遊技スタック領域の所定値（前回の非遊技プログラムの終了時に、非遊技プログラム用のスタックポインタＳＰにより示されるアドレスとして非遊技ＲＡＭ領域の所定領域に記憶されている値）を設定することで、スタックポインタＳＰを非遊技プログラム用に設定する。そして、上述のフラグレジスタを含むメイン制御部４１が備えるすべてのレジスタの値を、スタックポインタＳＰにより特定される非遊技ＲＡＭ領域の非遊技スタック領域に所定の順序で記憶させることで退避させる。その後、投入メダルセンサ３１ａ〜３１ｃや払出センサ３４ｃに関する異常を検出するセンサ監視処理、遊技の結果に関連して発生する試験信号を出力する試験信号出力処理、非遊技プログラムが用いる各種タイマを更新する非遊技関連タイマ更新処理、役比モニタに表示させる出力データを選択する役比モニタ出データ選択処理を順次行う。また、センサ監視処理では、投入メダルセンサ３１ａ〜３１ｃや払出センサ３４ｃに関する異常が検出した場合に、検出された異常の種類を特定可能なセンサエラー参照データをＲＡＭ４１ｃの非遊技ＲＡＭ領域の所定領域に設定するようになっている。そして、非遊技関連処理を開始した際に非遊技スタック領域に記憶させて退避させていたレジスタの値を、退避させるときと逆の順序で非遊技スタック領域から順次読み出して、当該順序に対応するレジスタに設定することで、非遊技関連処理を開始したときの状態にすべてのレジスタを復帰させる。その後、非遊技関連処理を開始した際に非遊技ＲＡＭ領域の所定領域に退避させたスタックポインタＳＰの値を、スタックポインタＳＰに設定することで、非遊技関連処理を開始したときの状態にスタックポインタＳＰを復帰させて、非遊技関連処理を終了させる。
【０２０６】
Ｓｉ１２のステップにおいてフラグレジスタを復帰させた後は、Ｓｉ１１のステップにおける非遊技関連処理により設定されたセンサエラー参照データを参照し（Ｓｉ１３）、今回のタイマ割込における非遊技関連処理により設定されたセンサエラー参照データと、前回のタイマ割込における非遊技関連処理により設定されたセンサエラー参照データの論理和を算出する（Ｓｉ１４）。そして、ＲＡＭ４１ｃの遊技ＲＡＭ領域の所定領域に設定されており、投入メダルセンサ３１ａ〜３１ｃや払出センサ３４ｃに関する異常が検出されているか否かを特定可能なセンサエラーフラグを、Ｓｉ１４のステップで算出した論理和に基づいて更新する。Ｓｉ１３〜Ｓｉ１５のステップを行うことで、センサエラー参照データに基づいて異常が検出されていることが特定される場合には、センサエラーフラグが異常が検出されていることを示す状態であるか否かにかかわらず、当該異常が検出されている旨を示すように、センサエラーフラグを更新する。一方、センサエラー参照データに基づいて異常が検出されていないことが特定される場合には、センサエラーフラグの状態を維持する。すなわち、センサエラー参照データに基づいて異常が検出されていることが特定される場合には、センサエラー参照データの内容をセンサエラーフラグに反映させる一方で、センサエラー参照データに基づいて異常が検出されていないことや異常が解除されたことが特定される場合には、センサエラー参照データの内容をセンサエラーフラグに反映させないようになっている。
【０２０７】
Ｓｉ１５のステップにおいてセンサエラーフラグを更新した後は、メイン制御部４１の内部に設けられたウォッチドッグタイマ（ＷＤＴ）のレジスタをクリアする（Ｓｉ１６）。その後、ＲＡＭ４１ｃの所定領域に設けられ、タイマ割込に含まれる処理を分岐させるための分岐用カウンタの値を所定のレジスタに読み込み、所定値（本実施例では、１）を加算して更新し、更新された値を、ＲＡＭ４１ｃの所定領域の分岐用カウンタの値として設定する（Ｓｉ１７）。この分岐用カウンタを更新する処理では、当該分岐用カウンタが０〜２である場合は１加算し、分岐用カウンタが３である場合は初期化して０に戻すことで、０〜３の範囲で更新する。すなわち分岐用カウンタの値は、タイマ割込処理（メイン）が実行される毎に、０→１→２→３→０・・・の順番でループする。そして、分岐用カウンタの値は、タイマ割込処理（メイン）において実行される各処理において参照され、例えば、分岐用カウンタが所定値となったときに所定の制御を実行するなど、各処理内の制御が分岐されることとなる。
【０２０８】
Ｓｉ１７のステップにおいて分岐用カウンタを更新した後、当該分岐用カウンタが４であるか否かを判定し（Ｓｉ１８）、分岐用カウンタが４である場合には、分岐用カウンタが４である場合には、ＲＡＭ４１ｃの所定領域に設定されている所定の各種タイマを更新するカウンタ更新処理（Ｓｊ１９）、出力ポートに接続された各種ＬＥＤなどの表示器（クレジット表示器１１、遊技補助表示器１２、１〜３ＢＥＴＬＥＤ１４〜１６、投入要求ＬＥＤ１７、スタート有効ＬＥＤ１８、ウェイト中ＬＥＤ１９、リプレイ中ＬＥＤ２０など）の点灯状態をメイン処理などの各処理による設定に応じてダイナミック点灯させるための点灯信号を設定して送信などを行うに制御するＬＥＤダイナミック表示処理（Ｓｉ２０）を行う。
【０２０９】
Ｓｉ１８のステップにおいて分岐用カウンタが４でないと判定した場合、およびＳｉ２０のステップにおいてＬＥＤダイナミック表示処理を行った後は、外部出力信号のうちメダルが投入された旨を示すメダル投入信号やメダルの払い出しが行われる旨を示すメダル払出信号の出力設定を更新して、スロットマシン１の外部に送信する投入払出信号送信処理（Ｓｉ２１）、外部出力信号のうちセキュリティ信号（ドア開放信号、設定変更信号、投入エラー信号、払出エラー信号）の出力設定を更新して、スロットマシン１の外部に送信するセキュリティ信号送信処理（Ｓｉ２２）を行う。
【０２１０】
次に、外部出力信号を送信する出力ポート３出力処理（Ｓｉ２３）を行った後に、コマンドキューに設定されたドアコマンドや操作終了コマンドなどの各種コマンドを送信させるなどを行うコマンド送信処理（Ｓｉ２４）を順次行う。その後、ゲームの進行状況などに応じて各リールモータ３２Ｌ、３２Ｃ、３２Ｒの励磁パターンの設定などを行ってリールの回転および停止を制御するリール制御処理を行う（Ｓｉ２５）次に、有効停止ＬＥＤ信号やＭＡＸＢＥＴＬＥＤ信号を送信する出力ポート２出力処理（Ｓｉ２６）を行い、遊技状態に関する情報を外部出力信号として送信する出力ポート７出力処理（Ｓｉ２７）を行う。
【０２１１】
次に、リールモータ出力データを作成する（Ｓｉ２８）。リールモータ出力データは、リールモータ信号や流路切替ソレノイド信号を出力ポート０，１に出力させるための２バイトデータである。リールモータ出力データに基づき、リールモータ信号や流路切替ソレノイド信号を出力する出力ポート０，１出力処理（Ｓｉ２９）を行うとともに、作成されたリールモータ出力データをリールモータ状態データとして格納する。
【０２１２】
そして、すべての表レジスタと裏レジスタを交換し（Ｓｉ３０）、割込許可設定をして（Ｓｉ３１）、タイマ割込処理（メイン）を終了させて、当該タイマ割込処理（メイン）が開始されたときのメイン処理に復帰させる。
【０２１３】
［リール停止制御処理における停止設定］
次に、図１３，図１４を用いて説明したリール停止制御処理における停止設定（リール停止滑りコマ格納処理）について、図１７〜図１９に示すタイミングチャートを用いて具体的に説明する。図１７は、左ストップスイッチが操作されたときの状況を説明するものである。図１８は、左ストップスイッチおよび中トップスイッチが１割込ずれて操作されたときの状況を説明するものである。図１９は、左ストップスイッチおよび中ストップスイッチが同時押しされたときの状況を説明するものである。
【０２１４】
まず、左ストップスイッチの操作されたときの処理について説明する。図１７は、リール停止制御処理における停止設定を説明するためのタイミングチャート（その１）である。図１７の説明においては、全てのリールが定速回転をしており、いずれのストップスイッチも操作されていないものとする。なお、説明の都合上、左ストップスイッチおよび中ストップスイッチの状態のみを図示する。
【０２１５】
前述のように、割込処理（タイマ割込み処理（メイン））において、ポート入力処理（Ｓｊ９）を実行する。これにより、ストップスイッチ（左，中，右ストップスイッチ）が操作がされた場合は、入力ポート０にストップスイッチ信号（左，中，右ストップスイッチ信号）が入力され、ポート入力バッファ０にこれらの信号の検出状態が格納される。
【０２１６】
ポート入力バッファ０には、今回の割込処理において検出されたストップスイッチ信号データや、ストップスイッチ信号のＯＮエッジデータなどが格納されている。ストップスイッチ信号のＯＮエッジデータは、前回の入力がＯＦＦ状態であるのに対して今回の入力がＯＮ状態である（ＯＮエッジが検出された）ことを示すデータである。
【０２１７】
たとえば、前回の割込処理において左ストップスイッチ信号がＯＦＦ状態で入力され、今回の割込処理において左ストップスイッチ信号がＯＮ状態で入力された場合、今回の割込処理において、左ストップスイッチ信号のＯＮエッジが検出され、ポート入力バッファ０に左ストップスイッチ信号のＯＮエッジデータが格納される。
【０２１８】
図１７のｔ１以前においては、全てのリールが定速回転している状態であるため、メイン処理において停止制御処理が実行されている。そして、割込１回待ち処理（Ｓｇ２）において、待機状態となり、割込処理が実行されるのを待つ。
【０２１９】
ｔ１において割込処理の実行が開始されたとする。ｔ２において、ボート入力処理が実行され、ストップスイッチのＯＮエッジが発生した否かの入力判定を行う。ｔ２においては、いずれのストップスイッチも操作されていない。このため、入力判定においては、いずれのストップスイッチのＯＮエッジも検出されない。
【０２２０】
割込処理が終了すると、ｔ３において、メイン処理内のリール停止制御処理が再開される。直近の割込処理においてＯＮエッジが検出されなかったため、リール停止制御処理においては、有効なストップスイッチの操作がなかったものと判定され（Ｓｇ２２でＮＯ）、再び、ステップＳｇ２において割込１回待ち処理が実行される。
【０２２１】
ｔ４において、左ストップスイッチが操作されたとする。そして、ｔ５において、割込処理が実行されたとする。ｔ５において実行される割込処理は、ｔ１において実行された割込処理の次の割込処理である。本実施の形態においては、割込処理は０．５６ｍｓごとに実行されるため、ｔ１とｔ５の間隔は０．５６ｍｓである。
【０２２２】
ｔ６において、ボート入力処理が実行され、ストップスイッチのＯＮエッジが発生した否かの入力判定を行う。入力判定においては、ｔ４における左ストップスイッチの操作に基づき、左ストップスイッチのＯＮエッジが検出される。
【０２２３】
割込処理が終了すると、ｔ７において、メイン処理内のリール停止制御処理が再開される。割込処理において、左ストップスイッチの操作に基づく左ストップスイッチ信号のＯＮエッジが検出されたため、割込処理後のメイン処理において、左リールの停止位置を設定するためのリール停止滑りコマ格納処理（Ｓｇ３２）を実行する。ここで、左リールの停止位置を設定するためのリール停止滑りコマ格納処理を「リール停止滑りコマ格納処理（左）」とも称し、中リールの停止位置を設定するためのリール停止滑りコマ格納処理を「リール停止滑りコマ格納処理（中）」とも称し、右リールの停止位置を設定するためのリール停止滑りコマ格納処理を「リール停止滑りコマ格納処理（右）」とも称する。
【０２２４】
そして、リール停止滑りコマ格納処理（左）を開始した後、リール停止滑りコマ格納処理（左）が完了するまでの間、新たな割込処理の実行を禁止する（Ｓｇ２８において割込禁止設定がされている）。リール停止滑りコマ格納処理（左）が完了した後は、左リールの停止が最終停止でないため、Ｓｇ２に戻り、割込１回待ち処理を行う。これにより、ｔ８において、割込処理が実行可能となる。
【０２２５】
そして、ｔ９において割込処理が実行されたとする。ｔ１０における入力判定において、左ストップスイッチは押下状態（ＯＮ状態を継続）であるため、左ストップスイッチのＯＮエッジは検出されない。また、中，右ストップスイッチも操作されていないため、中，右ストップスイッチのＯＮエッジも検出されない。
【０２２６】
そして、割込処理が終了して、ｔ１１においてメイン処理に戻った後に再開されるリール停止制御処理においては、ストップスイッチ信号のＯＮエッジが検出されなかったため（Ｓｇ２２でＮＯ）は、Ｓｇ２に戻り、割込１回待ち処理を行う。そして、ｔ１２において割込処理が実行される。以降、ストップスイッチ信号のＯＮエッジが検出されるまで、処理を繰り返し、ストップスイッチ信号のＯＮエッジが検出されるのを待つ。図１７の例では、新たなストップスイッチの操作が行われないため、ｔ１２〜ｔ１５の処理、および、ｔ１５〜ｔ１８の処理は、ｔ９〜ｔ１２の処理と同じである。
【０２２７】
次に、左ストップスイッチおよび中ストップスイッチが１割込ずれて操作されたときの処理について説明する。図１８は、リール停止制御処理における停止設定を説明するためのタイミングチャート（その２）である。図１８の説明においても、全てのリールが定速回転をしており、いずれのストップスイッチも操作されていないとする。なお、説明の都合上、左ストップスイッチおよび中ストップスイッチの状態のみを図示し、図１７と共通する箇所については説明を省略する。
【０２２８】
図１８のｔ１〜ｔ７までの状況は、図１７のｔ１〜ｔ７までの状況と同じである。すなわち、ｔ４において左ストップスイッチが操作されると、ｔ６の入力判定において、左ストップスイッチのＯＮエッジが検出され、これにより、リール停止制御処理においてリール停止滑りコマ格納処理（左）が実行されるとともに割込禁止状態となる。リール停止滑りコマ格納処理（左）が完了した後は、ｔ９において、割込処理が実行可能となる。
【０２２９】
図１８においては、図１７の状況と異なり、ｔ８において、中ストップスイッチが操作されたとする。ｔ１０において新たな割込処理が実行されると、ｔ１１において中ストップスイッチの操作に基づく中ストップスイッチ信号のＯＮエッジが検出される。中ストップスイッチ信号のＯＮエッジは、左ストップスイッチ信号のＯＮエッジから１割込分ずれて検出されている。なお、左ストップスイッチは押下状態が継続されるため左ストップスイッチのＯＮエッジは検出されず、中ストップスイッチは操作されていないため中ストップスイッチのＯＮエッジも検出されない。
【０２３０】
ｔ１２において、メイン処理に戻った後にリール停止制御処理が再開される。リール停止滑りコマ格納処理（左）が実行された後の、新たな割込処理後のメイン処理において、リール回転エラーが発生しているか否かを判定する（Ｓｇ６）。リール回転エラーが発生している場合、エラー処理（Ｓｇ９）を実行する。
【０２３１】
リール回転エラーが発生した場合、エラー状態が解除されない限りは、エラー処理を終了することができない。このため、新たな割込処理に基づいてリール停止滑りコマ格納処理（中）を実行することができない。リール回転エラーが発生していない（リールが正常に回転している）と判定した場合に、新たな割込処理に基づいてリール停止滑りコマ格納処理（中）を実行することが可能である。
【０２３２】
リールが正常に回転している場合（Ｓｇ６でＹＥＳ）、有効なストップスイッチの操作があったか否かを判定する（Ｓｇ２２）。ステップＳｇ２２においては、中ストップスイッチ信号のＯＮエッジが検出されているため（Ｓｇ２２でＹＥＳ）、中リールの停止位置を設定するためのリール停止滑りコマ格納処理（中）（Ｓｇ３２）が実行される。また、リール停止滑りコマ格納処理（中）中おいては割込禁止状態となり、リール停止滑りコマ格納処理（中）が完了した後は、ｔ１３において、割込処理が実行可能となる。以降の処理は、図１７と同様であるため、説明を省略する。
【０２３３】
以上説明したように、リール停止滑りコマ格納処理（左）を開始した後、リール停止滑りコマ格納処理（左）が完了するまで新たな割込処理の実行を禁止するため、新たな割込処理の実行により、中ストップスイッチの操作に基づくリール停止滑りコマ格納処理（中）が実行されることがない。また、仮に、割込処理において、左ストップスイッチ信号および中ストップスイッチ信号のＯＮエッジがともに検出された場合であっても、左ストップスイッチに関する処理を行い、中ストップスイッチに関する処理は行わない（Ｓｇ２５で停止対象とならない）ため、リール停止滑りコマ格納処理（左）とリール停止滑りコマ格納処理（中）とが同時に実行されることはない。このようにすることで、左ストップスイッチの操作に基づくリール停止滑りコマ格納処理（左）が完了する前に中ストップスイッチの操作に基づくリール停止滑りコマ格納処理（中）が実行されることを防止することができる。
【０２３４】
また、新たな割込処理後のメイン処理において、リール回転エラーが発生しているか否かを判定し、リール回転エラーが発生している場合、新たな割込処理に基づいてリール停止滑りコマ格納処理（中）を実行せず、リール回転エラーが発生していないと判定した場合に、新たな割込処理に基づいてリール停止滑りコマ格納処理（中）を実行する。このようにすることで、リールの回転が正常であることを条件に、中ストップスイッチの操作に基づくリール停止滑りコマ格納処理（中）が実行されることを担保することができる。このように、リールの停止位置を設定するためのリール停止滑りコマ格納処理を連続的に実行する場合に、好適にリール停止滑りコマ格納処理を実行することができる。
【０２３５】
また、以上説明したように、左リールおよび中リールがともに回転している場合の所定の割込処理（ｔ５）において、左ストップスイッチ信号のＯＮエッジが検出された（ｔ６）場合、所定の割込処理後のメイン処理（ｔ７）において、リール停止滑りコマ格納処理（左）を実行する。また、所定の割込処理の後の割込処理（ｔ１０）において、中ストップスイッチ信号のＯＮエッジが検出された（ｔ１１）場合、当該割込処理後のメイン処理（ｔ１２）において、リール停止滑りコマ格納処理（中）を実行する。
【０２３６】
このように、一の割込処理でもずれて左ストップスイッチ信号および中ストップスイッチ信号のＯＮエッジが検出された場合には、左リールおよび中リールが停止可能となるため、速やかにリールを停止させることができる。
【０２３７】
また、ステップＳｇ３５において、リール停止滑りコマ格納処理（左）を完了した後、リール停止コマンド送信処理を実行している。そして、リール停止コマンド送信処理において、リール停止滑りコマ格納処理（左）により設定された左リールの停止位置を示すリール停止位置コマンドを出力する。
【０２３８】
リール停止コマンド送信処理により、左リールの停止位置を示すリール停止位置コマンドを出力するための設定が完了するまで、割込処理の実行を禁止している（Ｓｇ２８において割込禁止設定がされている）。このようにすることで、リール停止位置コマンドの送信が完了する前に新たなストップスイッチの操作に基づく処理が行われない。
【０２３９】
また、リール停止コマンド送信処理を実行する際には、複数のコマンドを送信するための送信処理が実行される。具体的には、リール停止受付け時コマンドを送信するためのリール停止受付け時コマンド送信処理（Ｓｇ３３）、滑りコマ数コマンドを送信するための滑りコマ数コマンド送信処理（Ｓｇ３４）、リール停止コマンドを送信するためのリール停止コマンド送信処理（Ｓｇ３８）がそれぞれ実行される。
【０２４０】
また、これらのコマンドを出力するための設定が完了するまで、割込処理の実行を禁止している（Ｓｇ２８において割込禁止設定がされている）。このように、複数のコマンドを出力するための設定が完了するまでに、割込処理により意図しないコマンドが出力されたり、複数のコマンド間で送信間隔が大きく空くことを防止することができる。
【０２４１】
また、リール停止滑りコマ格納処理（中）（Ｓｇ３２）を実行する際には、リール停止滑りコマ格納処理（左）により設定された左リールの停止位置に基づいて、中リールの停止位置を設定する。このように、中リールの停止位置は左リールの停止位置に基づいて設定されるため、導出される図柄組合せが多様になる。
【０２４２】
また、上記で説明した例は、左リールの停止が第１停止であり、中リールの停止が第２停止である例について説明したが、これに限らず、いずれのリールが第１停止であってもよく、いずれのリールが第２停止であってもよい。また、第１停止および第２停止の組合せに限らず、第２停止および第３停止の組合せであっても、図１８で説明したような動きになる。
【０２４３】
また、たとえば、中リールの停止が第３停止であって、中リールが停止することで図柄組合せが導出される場合であっても、リール停止滑りコマ格納処理（中）を開始した後、リール停止滑りコマ格納処理（中）が完了する（Ｓｇ３２）まで、新たな割込処理の実行を禁止する（Ｓｇ２８において割込禁止設定がされている）。このように、リール停止滑りコマ格納処理の実行中に他の処理が実行されないため、速やかにリールを停止させる制御を行うことができる。
【０２４４】
次に、左ストップスイッチおよび中ストップスイッチが同時押しされたとき処理について説明する。図１９は、リール停止制御処理における停止設定を説明するためのタイミングチャート（その３）である。図１９の説明においても、全てのリールが定速回転をしており、いずれのストップスイッチも操作されていないとする。なお、説明の都合上、左ストップスイッチおよび中ストップスイッチの状態のみを図示し、図１７と共通する箇所については説明を省略する。
【０２４５】
図１９においては、図１７の状況と異なり、ｔ４において、左ストップスイッチおよび中ストップスイッチが同時に操作されたとする。この場合、当該操作の後に実行される割込処理（ｔ５）において、左ストップスイッチ信号および中ストップスイッチ信号のＯＮエッジが検出される（ｔ６）。この割込処理後のメイン処理（ｔ７）において、有効なストップスイッチ操作状態のみが抽出される（Ｓｇ２１）。
【０２４６】
左ストップスイッチ信号および中ストップスイッチ信号のＯＮエッジがともに検出された場合、左リールが停止対象となる（Ｓｇ２５）。これにより、リール停止滑りコマ格納処理（左）（Ｓｇ３４）が実行される。一方で、中リールが停止対象とならないため、リール停止滑りコマ格納処理（中）は実行されない。
【０２４７】
また、この場合、次の割込処理（ｔ１０）においても、中ストップスイッチ信号は、ＯＮ状態を検出される。しかし、ＯＮ状態が２回連続検出されるため、中ストップスイッチ信号はＯＮエッジとして検出されない。このため、この割込処理後のメイン処理（ｔ１２）において、有効なストップスイッチ操作状態として抽出されることはなく（Ｓｇ２１）、中ストップスイッチの操作が有効な操作として判定されることはない（Ｓｇ２２でＮＯ）。
【０２４８】
しかし、一の割込処理でもずれて左ストップスイッチ信号および中ストップスイッチ信号のＯＮエッジが検出された場合には左リールおよび中リールが停止可能となるため、速やかにリールを停止させることができる。
【０２４９】
その後、ｔ１３において、左ストップスイッチおよび中ストップスイッチの押下状態が解除されたとする。そして、ｔ１８において、再び左ストップスイッチおよび中ストップスイッチが同時押し（同時に操作）されたとする。
【０２５０】
この場合、次の割込処理（ｔ１９）において、左ストップスイッチおよび中ストップスイッチ信号は、ともにＯＮエッジが検出される（ｔ２０）。この割込処理後のメイン処理（ｔ２１）においては、左リールは既にリール停止滑りコマ格納処理（左）を実行しているため、有効なストップスイッチ操作状態として抽出されない。一方で、中リールはリール停止滑りコマ格納処理（中）を実行していないため、有効なストップスイッチ操作状態として抽出される。
【０２５１】
このため、ステップＳｇ２２において、中ストップスイッチの操作が有効な操作として判定される（Ｓｇ２２でＮＯ）ことになる。これにより、リール停止滑りコマ格納処理（中）が実行される。
【０２５２】
以上説明したように、左リールおよび中リールがともに回転している場合の所定の割込処理において、左ストップスイッチ信号のＯＮエッジおよび左ストップスイッチ信号のＯＮエッジが検出された場合、所定の割込処理後のメイン処理において、リール停止滑りコマ格納処理（左）を実行する一方で、リール停止滑りコマ格納処理（中）を実行しない。この状態において、後の割込処理において、左ストップスイッチ信号のＯＮエッジおよび左ストップスイッチ信号のＯＮエッジが検出されたとする。この場合、既にリール停止滑りコマ格納処理（左）が実行されているため、割込処理後のメイン処理において、リール停止滑りコマ格納処理（中）を実行する一方で、リール停止滑りコマ格納処理（左）を実行しない。このように、左ストップスイッチおよび中ストップスイッチが同時に操作された場合に、回転中のリールが停止することになるため、ストップスイッチの操作性を損ねない。
【０２５３】
次に、上記のように左リールおよび中リールがともに回転している例とは異なり、左リールが停止しかつ中リールが回転している例について説明する。この場合において、ｔ４のように左ストップスイッチおよび中ストップスイッチの同時押しが行われたとする。
【０２５４】
この場合の割込処理（ｔ５）において、左ストップスイッチ信号のＯＮエッジおよび左ストップスイッチ信号のＯＮエッジが検出される（ｔ６）。割込処理後のメイン処理（ｔ７）においては、左リールは停止しているため、有効なストップスイッチ操作状態として抽出されない。一方で、中リールは回転しているため、有効なストップスイッチ操作状態として抽出される。これにより、リール停止滑りコマ格納処理（中）が実行されることになる。
【０２５５】
次に、中リールが停止しかつ左リールが回転している例について説明する。この場合において、ｔ４のように左ストップスイッチおよび中ストップスイッチの同時押しが行われたとする。
【０２５６】
この場合の割込処理（ｔ５）において、左ストップスイッチ信号のＯＮエッジおよび左ストップスイッチ信号のＯＮエッジが検出される（ｔ６）。割込処理後のメイン処理（ｔ７）においては、中リールは停止しているため、有効なストップスイッチ操作状態として抽出されない。一方で、左リールは回転しているため、有効なストップスイッチ操作状態として抽出される。これにより、リール停止滑りコマ格納処理（左）が実行されることになる。
【０２５７】
このように、同一割込処理において複数のストップスイッチ信号のＯＮエッジが検出されたとしても、回転中のリールのリール停止滑りコマ格納処理が実行されるため、操作性を損ねることがない。
【０２５８】
次に、図柄ステップ数の取得処理について説明する。たとえば、割込処理において左ストップスイッチ信号のＯＮエッジが検出されたとする。割込処理後のメイン処理では、ステップＳｇ２９において、左リールのステップ数を取得する。そして、左リールの位置が、左リールの各図柄のステップ数における所定の範囲内（本実施の形態では、１１ステップ）になったとき（Ｓｇ３０でＹＥＳ）、図柄に対応する図柄番号を取得し、取得した図柄番号に基づいてリール停止滑りコマ格納処理（左）を実行する。
【０２５９】
上記処理においては、左リールの位置が、左リールの各図柄のステップ数における所定の範囲内になるまでは、ステップＳｇ２８〜Ｓｇ３１の処理を繰り返し実行する。本実施の形態においては、１１ステップの位置になるまで待って、１１ステップの位置になったときに、図柄番号を取得し、取得した図柄番号に基づいてリール停止滑りコマ格納処理（左）を実行することになる。仮にこの間に、中ストップスイッチ信号のＯＮエッジが検出されたとしても中ストップスイッチ信号のＯＮエッジを受付けることがない。このようにすることで、リール停止滑りコマ格納処理を１１ステップの位置において実行可能となる。
【０２６０】
また、スタートスイッチ７が操作され、内部抽選処理（Ｓｃ７）が実行されると、当選情報出力処理（Ｓｃ１０）において、内部当選信号を出力するための処理が実行される。内部当選信号は、所定時間（本実施の形態においては、２秒）出力される。すなわち、内部当選信号は、スタートスイッチ７の操作に基づき２秒に亘って出力する制御が行なわれる。
【０２６１】
また、内部当選信号の出力中は、ストップスイッチ８Ｌ，８Ｃ，８Ｒは有効にならない。具体的に説明すると、リール停止制御処理において、内部当選信号出力タイマを取得し（Ｓｇ１０）、ステップＳｇ１１において内部当選信号出力タイマが０になるまで（すなわち、２秒経過するまで）次の処理に進むことができない。このため、ストップスイッチの操作が行われたとしても、有効なストップスイッチの操作があるか否かの判定（Ｓｇ２２）が行われない。
【０２６２】
内部当選信号が出力されてから、２秒経過した場合は、内部当選信号出力タイマが０となり（Ｓｇ１１でＹＥＳ）、次の処理に進むことができる。これにより、有効なストップスイッチの操作があるか否かの判定（Ｓｇ２２）が可能となり、ストップスイッチのＯＮエッジが検出された場合には、リール停止滑りコマ格納処理（Ｓｇ３２）を実行することができるようになる。すなわち、内部当選信号が出力されてから２秒経過したことを条件に、ストップスイッチ８Ｌ，８Ｃ，８Ｒの操作が有効化される。このようにすることで、外部装置（試験装置）において内部当選信号の内容を確認可能にした上で、リールが停止可能となる。
【０２６３】
また、次にリールモータ信号の出力について説明する。リールモータに対するリールモータ信号（第１〜第３リールモータφ０〜φ３信号）を出力させることで、リールが駆動する。これにより、リールの回転を開始させたりリールを停止させることができる。
【０２６４】
リール停止制御処理においては、全てのリールに対してリール停止滑りコマ格納処理（Ｓｇ３２）が実行された場合、すなわち、ステップＳｇ３９において最終停止であることが判断された場合（Ｓｇ３９でＹＥＳ）、リールモータ信号に基づくリールモータ状態を取得する（Ｓｇ４１）。
【０２６５】
そして、取得したリールモータ状態データに基づき、全てのリールモータがＯＦＦ状態であるかを判定する（Ｓｇ４２）。すなわち、リールモータに対してリールモータ信号が出力されているか否かを判定することに基づいて、全てのリールが停止したか否かを判定する。このようにすることで、リールが停止したことをリールモータ信号の出力状況に基づいて判断することができる。
【０２６６】
また、図５に示したように、出力ポート０および出力ポート１からは、リールモータ信号および流路切替ソレノイド信号が出力される。なお、出力ポート０および出力ポート１からは、これらの信号以外の信号は出力されない。
【０２６７】
流路切替ソレノイド３０は、投入されたメダルの流路を切り替えるブロッカのソレノイドである。流路切替ソレノイド３０は、遊技開始待ち処理におけるメダル投入信号処理においてＯＮ状態に設定される。また、操作入力受付処理においてスタートスイッチ７の操作が検出されたことに基づき、ＯＦＦ状態に設定される。すなわち、スタートスイッチ７の操作に基づきリールの回転を開始させるときには、流路切替ソレノイド信号の出力は停止状態となる。そして、リール停止制御処理中は、流路切替ソレノイド信号の出力は常に停止状態となる。
【０２６８】
このため、全てのリールモータがＯＦＦ状態であるかを判定する処理（Ｓｇ４２）においては、流路切替ソレノイド信号は必ずＯＦＦ状態になっている。先に説明したとおり、出力ポート０および出力ポート１からは、リールモータ信号および流路切替ソレノイド信号のみが出力される構成となっている。このため、本実施の形態においては、出力ポート０および出力ポート１の出力状態に基づき設定されたリールモータ状態データに基づき、全てのリールモータがＯＦＦ状態であると判定する（Ｓｇ４２でＹＥＳ）処理を行うようにしている。
【０２６９】
具体的には、リールモータ状態データは、第１〜第３リールモータφ０〜φ３信号および流路切替ソレノイド信号の出力状態に対応する２バイトデータ（１６ビットデータ）である。これらのいずれかの信号が出力されている場合は、対応する各ビットが１になる。逆に言えば、いずれの信号も出力されていない場合には、全てのビットが０になるため、リールモータ状態データは０になる。つまり、全てのリールモータがＯＦＦ状態であるときには、全てのリールモータ信号に対応するビットが０になるとともに、流路切替ソレノイド信号に対応するビットも０となり、結果として、リールモータ状態データは０になる。
【０２７０】
このため、ステップＳｇ４２の判定おいては、リールモータ状態データが０であるときには、全てのリールモータがＯＦＦ状態であると判定し（Ｓｇ４２でＹＥＳ）、リールモータ状態データが０でないときには、全てのリールモータがＯＦＦ状態であると判定しない（Ｓｇ４２でＮＯ）処理が行われている。このように、出力ポート０，１から信号が出力されているか否かを判定することに基づいて、全てのリールが停止したか否かを判定している。
【０２７１】
たとえば、Ｓｇ４２の判定時において、出力ポート０，１から出力される信号にＯＮ状態となる信号が含まれている場合には、第１〜第３リールモータφ０〜φ３信号状態を一つ一つ取得してこれらのデータが全て０になっているかを判定する必要が出てくる。しかし、上記のように、出力ポート０，１から出力される信号が全てＯＦＦ状態になるのであれば、出力ポート０，１の出力状態に基づき生成されたリールモータ状態データが０であるのか否かを判定することで、全てのリールが停止したか否かを判定することができる。このように、出力ポート０，１から出力される信号を好適に配置することで、空きポートを好適に扱える一方で、全てのリールが停止したか否かの判定の妨げにならない。
【０２７２】
［払出信号の出力処理］
本実施例のスロットマシン１は、遊技状態やエラーの発生状況などを示す外部出力信号を出力する。これら外部出力信号は、メイン制御部４１の制御により遊技制御基板４０より出力され、ホールコンピュータやスロットマシン１に対応して設置されたデータ表示端末などの外部機器に出力されるようになっている。
【０２７３】
しかし、古いホールコンピュータなどの外部機器は、外部出力信号を検出するのに比較的長い時間を要する。このような外部機器でも確実に外部出力信号を検出できるようにするため、一定時間以上信号を出力するようにしている。たとえば、払出信号および投入信号が出力される時間は、後述するように最低５０ｍｓである。また、リプレイ入賞が発生した場合は、払出信号は２５０ｍｓの間出力される。
【０２７４】
たとえば、リプレイ入賞が発生して払出信号が出力されている間、次の遊技の開始操作が有効化されないようにした場合、遊技者は次の遊技開始まで２５０ｍｓ待たされることになる。この間、開始操作を行ったとしても遊技が開始されないため、遊技者は不快な思いをすることがある。このため、本実施の形態においては、リプレイ入賞が発生した場合、リプレイ入賞に基づく払出信号の出力が完了したか否かに関わらず、リプレイ入賞が発生した遊技の次の遊技において開始操作を有効化するようにした。以下、図２０〜図２２を用いて詳細に説明する。
【０２７５】
図２０は、払出信号の出力処理について説明するための図（その１）である。リプレイ入賞が発生したとき、リプレイ入賞に基づき、払出信号が送信される。また、リプレイ入賞に基づき、次の遊技において自動的にＢＥＴ数（賭数）が設定される（自動ＢＥＴ）。これにより、ＢＥＴ数の設定に新たなメダルを消費することなく次のゲームを行うことができる。また、設定されたＢＥＴ数に基づき入力信号が送信される。
【０２７６】
図２０に示すように、メイン処理においては、割込複数回待ち処理（Ｓｃ５）、遊技開始待ち処理（Ｓｃ６）、リール停止制御処理（Ｓｃ１９）、遊技終了時の設定処理（Ｓｃ３４）などが実行される。また、タイマ割込処理（メイン）が実行されると、投入払出信号送信処理（Ｓｉ２１）、出力ポート３出力処理（Ｓｉ２３）などが実行される。
【０２７７】
リプレイ入賞が発生した場合、遊技終了時の設定処理において、当該遊技において設定されているＢＥＴ数に対応する数値データを取得し（Ｓｈ３）、取得したＢＥＴ数に対応する数値データをリプレイ用カウンタに格納する（Ｓｈ４）とともに、取得したＢＥＴ数を払出信号用カウンタに格納する（Ｓｈ５）。
【０２７８】
本実施の形態においては、ＢＥＴ数は「３」であるので、リプレイ用カウンタおよび払出信号用カウンタには、「３」が格納される。リプレイ用カウンタは、遊技開始待ち処理においてリプレイ入賞の有無の判定などのために用いられるカウンタである。このため、遊技開始待ち処理において、あらためてＢＥＴ数を取得してリプレイ用カウンタを設定するようにしてもよい。しかし、上記のように、遊技終了時の設定処理において、リプレイ用カウンタおよび払出信号用カウンタを同時に設定すれば、処理負担を軽減させることができ、効率よくメダル数の設定を行うことができる。
【０２７９】
遊技終了時の設定処理が終了した後は、メイン処理に戻り、次の遊技に移行する。そして、割込複数回待ち処理（Ｓｃ５）が実行されることで、割込処理が実行される。当該割込処理において、払出信号が出力されることになる。つまり、遊技終了時の設定処理において、払出信号用カウンタに「３」が格納された（Ｓｈ５）後に、割込処理が実行されることにより、払出枚数が「３」であることを特定可能な払出信号が出力される。
【０２８０】
具体的には、割込処理において、投入払出信号送信処理（Ｓｉ２１）が実行される。そして、投入払出信号送信処理において、払出信号生成処理（Ｓｊ３）が実行される。払出信号生成処理において、払出信号用カウンタに基づき、払出信号データが作成される。そして、出力ポート３出力処理（Ｓｉ２３）において、払出信号データに基づき払出信号の出力が開始される。
【０２８１】
割込処理により、払出信号の出力が開始された後、遊技開始待ち処理（Ｓｃ６）が実行される。遊技開始待ち処理において、リプレイ用カウンタが取得される（Ｓｄ５）。上述のように、前のゲームにおいてリプレイ入賞が発生し、リプレイ用カウンタに「３」が格納された状態では、リプレイカウンタには「３」が格納されている。これにより、ステップＳｄ７において、リプレイ用カウンタ値＞０と判定され（Ｓｄ７でＹＥＳ）、メダル投入実行処理（Ｓｄ８）が実行される。メダル投入実行処理においては、リプレイカウンタの値に基づき、ＢＥＴ数が「３」に設定されることになる。
【０２８２】
このように、ＢＥＴ数の設定は、払出信号の出力を開始した後に実行される。このようにすることで、伝達に時間がかかる外部への情報出力である払出信号の出力をいち早く行うことで、遊技の進行を妨げない。
【０２８３】
上記の遊技開始待ち処理において、ＢＥＴ数に「３」が格納された（Ｓｄ８）後に、割込処理が実行されると、投入枚数が「３」であることを特定可能な投入信号が出力可能となる。ただし、払出信号の出力中には投入信号は出力することができない。その理由は、次のような処理が実行されているからである。
【０２８４】
割込処理が実行されると、投入払出信号送信処理（Ｓｉ２１）が実行される。投入払出信号送信処理においては、払出信号が送信中であるとき（払出パルスが動作中であるとき（Ｓｊ１がＹＥＳ））は、投入信号生成処理（Ｓｊ２）が実行されない。これに対して、払出信号が送信中でないとき（Ｓｊ１がＮＯ））は、投入信号生成処理（Ｓｊ２）が実行される。投入信号生成処理（Ｓｊ２）が実行された場合には、出力ポート３出力処理（Ｓｉ２３）において投入信号の出力が可能となる。このように、払出信号の出力中には投入信号は出力することができず、払出信号が出力されていないときには投入信号が出力可能となる。
【０２８５】
図２１は、払出信号の出力処理について説明するための図（その２）である。図２１（Ａ）は、リプレイ入賞時のＢＥＴ数、リプレイ用カウンタおよび払出信号用カウンタの値の推移を説明するための図である。図２１（Ａ）に示すように、開始操作によりゲームが開始したとき、ＢＥＴ数として「３」が設定されている。リプレイ入賞が発生すると、図２０を用いて説明したように、遊技終了時の設定処理のステップＳｈ３〜Ｓｈ５において、ＢＥＴ数として設定された「３」が、リプレイ用カウンタおよび払出カウンタに格納される。
【０２８６】
また、リプレイ用カウンタに基づき設定されるＢＥＴ数は、本実施の形態においては常に「３」である。このため、たとえば、リプレイ用カウンタは、ＢＥＴされる場合にはＯＮを設定し、ＢＥＴされない場合にはＯＦＦを設定するようなフラグであってもよい。しかし、本実施の形態においては、リプレイ用カウンタは、０〜２５５（００Ｈ〜ＦＦＨ）を設定可能な１バイトデータとして設定される。このようにすることによって、たとえば、スロットマシンのソフトウェアの仕様が変更され、リプレイ入賞によって設定されるＢＥＴ数が「２」やそれ以外の数値となった場合であっても、仕様変更への対応が容易になる。
【０２８７】
図２１（Ｂ）は、遊技ＲＡＭ領域において、払出信号用カウンタを格納する領域を説明するための図である。図４を用いて説明したように、遊技ＲＡＭ領域は、領域Ａ〜Ｄを有する。このうち、領域Ｃ，Ｄ（ボーナス終了時初期化対象領域）は、ボーナス終了時に初期化される（Ｓｃ３８，Ｓｃ２）。また、領域Ｄ（遊技終了時初期化対象領域）は、一遊技が終了するたびに初期化される（Ｓｃ３６，Ｓｃ２）。
【０２８８】
本実施の形態においては、払出信号用カウンタは、遊技用ＲＡＭの領域Ａに格納されている。領域Ａは、遊技終了時に遊技用ＲＡＭの領域Ｄを初期化する処理およびボーナス終了時に遊技用ＲＡＭの領域Ｃ，Ｄを初期化する処理のいずれによっても初期化されない領域である。
【０２８９】
仮に、払出信号用カウンタを領域Ｃや領域Ｄに格納した場合、ボーナスが終了（Ｓｃ３７でＹＥＳ）した後に遊技用ＲＡＭの領域Ｃ，Ｄをクリアする（Ｓｃ２）ことによって、払出信号用カウンタがクリアされてしまう危険性がある。このため、払出信号用カウンタを領域Ａに設定することで、遊技用ＲＡＭの初期化処理によって意図せず払出信号の出力が停止することを防止することができる。
【０２９０】
図２２は、払出信号の出力処理について説明するための図（その３）である。払出信号が出力される期間は、メダルの払出数（払出信号用カウンタの値）に応じて一定となるように定められている。払出数が１であるときは、払出信号として、出力時間が５０ｍｓとなるパルス信号を１回出力する。払出数が２以上であるときは、パルス信号とパルス信号との間に信号が出力されない期間（信号ＯＦＦ状態）を５０ｍｓ設ける。
【０２９１】
たとえば、リプレイ入賞が発生した場合は、払出信号用カウンタの値は３であるため、払出信号の出力は、５０ｍｓのパルス信号出力（信号ＯＮ状態）、５０ｍｓの信号ＯＦＦ状態、５０ｍｓのパルス信号出力（信号ＯＮ状態）、５０ｍｓの信号ＯＦＦ状態、５０ｍｓのパルス信号出力（信号ＯＮ状態）となる（合計２５０ｍｓ）。すなわち、リプレイ入賞が発生した場合、払出信号の出力が開始されてから当該信号の出力が完了するまでには、２５０ｍｓの時間を要する。
【０２９２】
一方で、投入信号が出力される期間は、ＢＥＴ数に応じて一定となるように定められている。払出信号と同様に、投入信号も、ＢＥＴ数が１であるときは、投入信号として、出力時間が５０ｍｓとなるパルス信号を１回出力する。ＢＥＴ数が２以上であるときは、パルス信号とパルス信号との間に信号が出力されない期間（信号ＯＦＦ状態）を５０ｍｓ設ける。たとえば、リプレイ入賞が発生した場合、自動ＢＥＴによりＢＥＴ数が３に設定される。これにより、上記同様、投入信号として３回のパルス信号が出力され、投入信号の出力が開始されてから当該信号の出力が完了するまでには、２５０ｍｓの時間を要する。以下、タイミングチャートを用いて、信号の出力状況を具体的に説明する。
【０２９３】
図２２（Ａ）は、リプレイ入賞が発生した場合の、払出信号と投入信号の出力状況を示すタイミングチャートである。図２２（Ａ）に示すように、ｔ１においてリプレイ入賞が発生したとする。リプレイ入賞が発生したことに基づき、払出信号の出力が開始される。また、リプレイ入賞が発生した場合、リプレイ入賞に基づく払出信号の出力が完了したか否かに関わらず、リプレイ入賞が発生した遊技の次の遊技において開始操作が有効化される。
【０２９４】
ここで、仮に、リプレイが発生した場合、リプレイ入賞に基づく払出信号の出力の完了を待ってから、次の遊技における開始操作が有効化されるようにしたとする。たとえば、図２０で説明した遊技終了時の設定処理において、ステップＳｈ５の後に、払出信号出力が完了されるまで待機する処理を入れたとする。このようにすると、リプレイが入賞したにも関わらず、２５０ｍｓの間、開始操作をしても遊技が開始せず、遊技者は不快な思いをすることがある。しかし、本実施の形態のようにリプレイ入賞後、即座に開始操作が有効化されることで、遊技者にストレスを感じさせることなく、遊技の進行を速やかに進めることができる。
【０２９５】
次に、ｔ１から２５０ｍｓ経過したｔ２において、払出信号の出力が完了したとする。そして、ｔ３において、開始操作がされたとする。これにより、投入信号の出力が開始し、２５０ｍｓ経過したｔ４において、投入信号の出力が完了する。
【０２９６】
図２２（Ｂ）は、払出信号の出力が完了する前に、開始操作がされた場合について説明するタイミングチャートである。図２２（Ａ）に示すように、ｔ１においてリプレイ入賞が発生したとする。リプレイ入賞が発生したことに基づき、払出信号の出力が開始される。また、次の遊技における開始操作が有効化される。ここで、図２２（Ａ）の状況とは異なり、図２２（Ｂ）においては、払出信号の出力が完了する前のｔ２において開始操作がされたとする。
【０２９７】
このように、開始操作がされたことに基づき投入信号を出力し、払出信号の出力が完了する前に開始操作がされた場合、払出信号の出力が完了した後（ｔ３）に投入信号の出力を開始する。そして、ｔ３から２５０ｍｓ経過したｔ４において、投入信号の出力が完了する。このように、投入信号の出力を遅らせることで、投入信号および払出信号の出力タイミングが重ならないので、外部機器において受信した信号を確認することで、メインＣＰＵ４１ａが実行する処理の処理順序を特定しやすくなる。
【０２９８】
一方で、ｔ１の払出信号を出力する場合には、投入信号の出力を確認することなく払出信号の出力を行っている。すなわち、投入信号を出力する際には、払出信号の出力状態を確認し、払出信号が出力されていない場合に投入信号を出力し、払出信号を出力する際には、投入信号の出力状態を確認することなく払出信号を出力している。
【０２９９】
このようにしているのは、次の理由による。開始操作に基づき投入信号の出力が開始された場合、その後入賞が発生して払出信号の出力が開始されるまでの時間よりも、投入信号の出力が終了するまでの時間（２５０ｍｓ）の方が短い。つまり、払出信号の出力を開始するときには、すでに投入信号の出力は終了しているため、あえて、払出信号の出力時に投入信号の出力状態を確認する必要がない。このように、投入信号の出力状態の確認を省略することで、処理負担を軽減することができる。
【０３００】
また、払出信号の出力中において、移行条件が成立した場合に特定状態に制御される。たとえば、移行条件はエラー発生であり、特定状態はエラー状態である。また、移行条件は設定確認操作であり、特定状態は設定確認状態である。
【０３０１】
たとえば、投入払出エラーチェック処理（Ｓｄ１１）において、エラーが発生していると判断された場合、エラー処理（Ｓｅ９）が実行される。また、操作入力受付処理（Ｓｄ１４）において、設定確認操作が検出された場合、設定確認状態に制御される。本実施の形態においては、払出信号の出力を開始した場合、当該出力が完了するまで待機するような処理を行っていない。このため、払出信号の出力中においても、上記のようなエラー処理（Ｓｅ９）や操作入力受付処理（Ｓｄ１４）の実行が可能となり、設定確認状態やエラー状態への制御が可能となる。
【０３０２】
このようにすることで、制御の進行が妨げられないとともに、エラー状態などに制御された場合であっても、払出信号の出力が完了するまで払出信号の出力が継続されるため、誤った情報が外部に伝達されない。
【０３０３】
また、遊技終了時の設定処理において、リプレイ入賞が発生した場合は（Ｓｈ２でＹＥＳ）、リプレイ中ＬＥＤをＯＮに設定（Ｓｈ７）し、リプレイ入賞が発生しなかった場合は（Ｓｈ２でＮＯ）、リプレイ中ＬＥＤをＯＦＦに設定（Ｓｈ９）している。また、遊技終了時の設定処理は、制御中の遊技状態（たとえば、通常状態、ボーナス、ＡＴ）がいずれであるかに関わらず、一遊技ごとに実行される処理である。
【０３０４】
このように、リプレイ入賞が発生しているか否かを一遊技ごとに判定し、リプレイ入賞が発生しているときにはリプレイ中ＬＥＤを点灯させ、リプレイが発生していないときにはリプレイ中ＬＥＤを消灯させる。このようにすることで、遊技ごとの状況をふまえてリプレイ入賞の発生状況を出力することができる。
【０３０５】
［割込禁止についての安全性］
次に、割込禁止についての安全性について説明する。本実施の形態においては、メイン処理の実行中において、割込処理が実行可能な構成となっている。また、ＲＡＭ４１ｃに格納されるデータの中には、メイン処理において更新されるとともに、割込処理においても更新されるデータがある。たとえば、メイン処理においてＲＡＭ４１ｃからこのようなデータを取得し、データの更新処理をしようとしているときに、割込処理が実行されて当該データが更新されてしまうことがある。このように、意図しない割込処理によってデータが更新されてしまい、データに不整合が発生してしまう可能性がある。
【０３０６】
このため、メイン処理においてこのようなデータを更新する際には、割込禁止設定を行って割込処理によって当該データが更新されないようにしている。このように割込禁止設定を行うことでデータの安全性を担保している。しかしながら、スロットマシンのソフトウェア開発において、プログラムの仕様変更があったような場合において、次のような問題が発生することがある。
【０３０７】
たとえば、あるサブルーチンにおいて呼出命令（ＣＡＬＬ命令）により、別のサブルーチンを呼び出すような場合、プログラム内で互いのサブルーチンが記載されている場所が遠いことがある。このような場合、呼出先のサブルーチンで割込禁止設定を行い、復帰命令により呼出元のサブルーチンに復帰した直後に、割込処理により更新され得るデータの取得処理を行うケースがある。このようにしたとしても、意図しない割込処理によってデータが更新されることはないのであるが、互いのプログラムの記載箇所が遠いため、非常に分かりづらい。また、プログラムの仕様変更があった場合に、呼出先のサブルーチンが削除されるようなことがあった場合には、意図しない割込処理が発生してしまい、割込を禁止することによるデータの安全性が担保されない。
【０３０８】
本実施の形態においては、このような安全性を担保することで仕様変更時におけるプログラムの保守性を高めるために、呼出先プログラムにおいて割込１回待ち処理を行うとともに、呼出元プログラムにおいても割込禁止設定を行うようにしている。以下、詳細について、図２３を用いて説明する。
【０３０９】
図２３は、割込割込禁止についての安全性について説明するためのフローチャートである。図２３に示すように、メイン処理には、投入払出エラーチェック処理とエラー処理とが含まれる。エラー処理は、投入払出エラーチェック処理における呼出命令（ＣＡＬＬ命令）で呼び出され、復帰命令（ＲＥＴ命令）で投入払出エラーチェック処理に復帰する。すなわち、投入払出エラーチェック処理は呼出元のプログラムであり、エラー処理は呼出先プログラムである。投入払出エラーチェック処理においては、センサエラーフラグを取得して更新する処理が行われる。センサエラーフラグは、上記で説明したような、メイン処理において更新されるとともに、割込処理においても更新されるデータである。
【０３１０】
図１１，図１２を用いて説明したように、投入払出エラーチェック処理を開始した後、エラーが発生したと判定されると、エラー処理（ステップＳｅ９）が実行される。エラー処理は、投入払出エラーチェック処理のＣＡＬＬ命令により呼び出される。エラー処理において、エラー解除条件が成立し、エラーが解除されると、エラー解除コマンド送信処理（Ｓｆ１３）が実行される。そして、割込１回待ち処理（Ｓｆ１４）が実行された後に、ＲＥＴ命令により投入払出エラーチェック処理に復帰する。
【０３１１】
このように、エラー処理において、エラー処理を終了する前にエラー解除コマンドを送信し、当該コマンドの送信が完了するように、ＲＥＴ命令により投入払出エラーチェック処理に復帰する前に割込１回待ち処理を実行している。これにより、エラー解除コマンドが確実に送信された後に次の処理を実行することができる。
【０３１２】
投入払出エラーチェック処理に戻ると、割込禁止設定（Ｓｅ１０）が行われる。割込禁止設定がされた状態で、センサエラーフラグの更新処理（Ｓｅ１１〜Ｓｅ１３）が行わる。センサエラーフラグの更新処理が終了すると、割込許可設定（Ｓｅ１４）が行われる。
【０３１３】
センサエラーフラグの更新処理においては、センサエラーフラグの取得を行っている。センサエラーフラグは割込処理において更新されるデータであるため、意図しない割込が発生してしまった場合、センサエラーフラグの値が変動してしまう可能性がある。このように、割込禁止設定を行うのは、センサエラーフラグを取得している途中にセンサエラーフラグが更新されないようするためである。
【０３１４】
また、割込禁止設定（Ｓｅ１０）を行う直前の処理において割込１回待ち処理（Ｓｆ１４）を実行している。割込１回待ち処理により割込処理が実行されるため、当該割込処理が実行された直後に、割込禁止設定（Ｓｅ１０）およびセンサエラーフラグの更新処理（Ｓｅ１１〜Ｓｅ１３）が実行されることになる。割込処理の実行からセンサエラーフラグの更新処理の実行までの時間は、割込処理の実行から次の割込処理の実行までの時間よりも短い。このため、センサエラーフラグの更新処理中に割込が発生することはない。
【０３１５】
しかし、このように、エラー処理において割込１回待ち処理を行うだけでなく、投入払出エラーチェック処理においても割込処理の実行を禁止するといった２重の処置を施すことで、意図しない割込処理を確実に防止することができる。また、上述したように、スロットマシンのソフトウェア開発においてプログラムの保守性を高めるためには、このような２重の処置を施すことが望ましい。これにより、プログラムの改変時などにおいても、意図しない不具合が発生してしまうことを防止でき、プログラムの保守性を高めることができる。
【０３１６】
また、本実施の形態においては、エラー処理から投入払出エラーチェック処理に復帰した後、ＣＡＬＬ命令により他の処理を呼び出すことなくセンサエラーフラグの更新処理（Ｓｅ１１〜Ｓｅ１３）を実行している。これにより、エラー処理終了後にすみやかにセンサエラーフラグの更新処理を実行することができる。
【０３１７】
なお、本実施の形態においては、センサエラーフラグの更新処理を、遊技プログラムである投入払出エラーチェック処理の中で実行するようにした。しかし、これに限らず、非遊技プログラムでセンサエラーフラグの更新処理を行うようにしてもよい。具体的には、センサエラーフラグの更新処理（Ｓｅ１１〜Ｓｅ１３）を非遊技プログラムのサブルーチンとして規定し、投入払出エラーチェック処理によるＣＡＬＬ命令で当該サブルーチンを呼び出すようにしてもよい。非遊技プログラムは、プログラムの実行中に割込処理が実行されることがない。このため、センサエラーフラグの更新処理中に割込処理が発生することがない。
【０３１８】
［出力データの設定］
次に、メイン側設定処理と割込側設定処理とで行われる出力データの設定処理の違いについて、図２４に基づいて説明する。図２４は、出力データの設定について説明するためのフローチャートである。
【０３１９】
メイン側設定処理は、メイン処理において実行される処理であり、出力データを設定する処理である。たとえば、メイン処理のリール停止制御処理（Ｓｃ１９）内で行われる出力データを設定する処理などがこれに相当する。これに対して、割込側設定処理は、タイマ割込処理（メイン）において実行される処理であり、出力データを設定する処理である。たとえば、タイマ割込処理（メイン）のセキュリティ信号送信処理（Ｓｉ２２）内で行われる出力データを設定する処理などがこれに相当する。
【０３２０】
なお、図２４で示すフローチャートは、上記出力データを設定する処理の流れを理解しやすくするために、模式的に示したものである。以下で示すＬＥＤデータＡ，Ｂは、出力ポート０〜８から出力されるいずれかのＬＥＤデータであってもよく、信号データＣ，Ｄは、出力ポートから出力されるいずれかの信号データであってもよく、出力バッファＡ，Ｂは、出力ポート０〜８を出力するために用いられるいずれかの出力バッファであってもよい。
【０３２１】
以下、メイン側設定処理では、ＬＥＤデータＡの設定処理およびＬＥＤデータＢの設定処理を行う。また、割込側設定処理では、ＬＥＤデータＣの設定処理およびＬＥＤデータＤの設定処理を実行する。なお、本実施の形態では、データをＯＦＦ設定することを「クリア」とも称し、ＯＮ設定することを単に「設定」とも称する。
【０３２２】
図２４に示すように、メイン側設定処理では、まず割込禁止設定を行う（Ｓｍ１）。ＬＥＤＡ，Ｂデータは、割込処理によって更新されるデータである。このため、メイン側設定処理の実行中において、仮に設定したデータに基づき、意図しないＬＥＤの点灯が発生してしまう可能性がある。また、更新されるデータが信号データである場合には、仮に設定したデータに基づき、意図しない信号が出力されてしまう危険性がある。このように、割込禁止設定を行うことで、意図しないＬＥＤの点灯または消灯の発生や、信号の出力を防止することができる。
【０３２３】
次に、ＬＥＤデータＡおよびＬＥＤデータＢをまとめてＯＦＦ設定する（Ｓｍ２）。ＬＥＤデータＡおよびＬＥＤデータＢは、１バイトのＬＥＤデータ内の各ビットに対応するデータである。たとえば、ＬＥＤデータの１ビット目が１であるときにＬＥＤデータＡはＯＮとなり、ＬＥＤデータの１ビット目が０であるときにＬＥＤデータＡはＯＦＦとなり、ＬＥＤデータの２ビット目が１であるときにＬＥＤデータＢはＯＮとなり、ＬＥＤデータの２ビット目が０であるときにＬＥＤデータＢはＯＦＦとなる。このため、ＬＥＤデータを０にすることで、ＬＥＤデータＡおよびＬＥＤデータＢがまとめてＯＦＦ設定されるため、処理が容易である。
【０３２４】
Ｓｍ３のステップにおいて、ＬＥＤデータＡの有効化条件が成立している場合には（Ｓｍ３がＹＥＳ）、ＬＥＤデータＡをＯＮ設定し（Ｓｍ４）、Ｓｍ５のステップに進む。一方で、ＬＥＤデータＡの有効化条件が成立していない場合には（Ｓｍ３がＮＯ）、Ｓｍ５のステップに進む。
【０３２５】
Ｓｍ５のステップにおいて、ＬＥＤデータＢの有効化条件（ＬＥＤの点灯条件）が成立している場合には（Ｓｍ５がＹＥＳ）、ＬＥＤデータＢをＯＮ設定し（Ｓｍ６）、Ｓｍ７のステップに進む。一方で、ＬＥＤデータＢの有効化条件が成立していない場合には（Ｓｍ５がＮＯ）、Ｓｍ７のステップに進む。
【０３２６】
Ｓｍ７のステップにおいて、ＬＥＤデータＡおよびＬＥＤデータＢを出力バッファＡに設定する。Ｓｍ８のステップにおいて、割込許可設定（Ｓｍ８）を行い、メイン側設定処理を終了する。割込許可設定により、割込処理が実行されると、出力バッファＡに設定されたデータに基づき、ＬＥＤＡおよびＬＥＤＢが点灯または消灯する。
【０３２７】
このように、メイン側設定処理は、出力データ（ＬＥＤデータＡ，Ｂ）の設定をまとめてＯＦＦ設定した後、出力条件（ＬＥＤデータＡ，Ｂの有効化条件）が成立しているときに出力データをＯＮ設定する処理である。そして、メイン側設定処理により設定されたＬＥＤデータＡ，ＬＥＤデータＢに基づきＬＥＤＡ，ＬＥＤＢを点灯または消灯させる。このように、メイン側設定処理においては、まとめて設定を行うことで出力データのＯＦＦ設定が容易になる。
【０３２８】
なお、本実施の形態においては、ＬＥＤデータＡ，Ｂを出力バッファＡに設定し、出力バッファＡに基づき出力ポート出力処理によりＬＥＤＡ，Ｂを点灯または消灯させるようにしたが、これに限らず、ＬＥＤデータＡ，Ｂを出力バッファＡに設定することなく、ＬＥＤデータＡ，Ｂに基づき出力ポート出力処理によりＬＥＤＡ，Ｂを点灯または消灯させるようにしてもよい。
【０３２９】
次に、割込側設定処理について説明する。割込側設定処理では、信号データＣおよび信号データＤをまとめてＯＮ設定する（Ｓｎ１）。信号データＣおよび信号データＤは、１バイトの信号データ内の各ビットに対応するデータである。たとえば、信号データの１ビット目が１であるときに信号データＣはＯＮとなり、信号データの１ビット目が０であるときに信号データＣはＯＦＦとなり、信号データの２ビット目が１であるときに信号データＤはＯＮとなり、信号データの２ビット目が０であるときに信号データＤはＯＦＦとなる。このため、信号データをＦＦＨにすることで、信号データＡおよびＬＥＤデータＢをまとめてＯＮ設定されるため、処理が容易である。
【０３３０】
Ｓｎ２のステップにおいて、信号データＣの無効化条件（信号の停止条件）が成立している場合には（Ｓｎ２がＹＥＳ）、信号データＣをＯＦＦ設定し（Ｓｎ３）、Ｓｍ４のステップに進む。一方で、信号データＣの無効化条件が成立していない場合には（Ｓｎ２がＮＯ）、Ｓ４のステップに進む。
【０３３１】
Ｓｎ４のステップにおいて、信号データＤの無効化条件が成立している場合には（Ｓｎ４がＹＥＳ）、信号データＤをＯＦＦ設定し（Ｓｎ５）、Ｓｎ６のステップに進む。一方で、信号データＤの有効化条件が成立していない場合には（Ｓｎ４がＮＯ）、Ｓｎ６のステップに進む。
【０３３２】
Ｓｎ６のステップにおいて、信号データＣおよび信号データＤを出力バッファＢに設定し、割込側設定処理を終了する。割込側設定処理が終了すると、割込処理で実行される出力ポートの出力処理において、出力バッファＢに設定されたデータに基づき、信号Ｃおよび信号Ｄが出力される。
【０３３３】
このように、割込側設定処理は、出力データ（信号データＣ，Ｄ）をまとめてＯＮ設定した後、出力条件（信号データＣ，Ｄの有効化条件）が成立していないときに出力データの設定をＯＦＦ設定する処理である。そして、割込側設定処理により設定された信号データＣ，信号データＤに基づき信号Ｃ，信号Ｄを出力する。このように、割込側設定処理においては、まとめて設定を行うことで出力データのＯＮ設定が容易になる。
【０３３４】
また、信号データＣ，信号データＤのそれぞれに対して無効化条件が成立したか否かを判定し、信号データＣの無効化条件が成立したときは信号データＣをＯＦＦ設定し、次の成立条件である信号データＤの無効化条件が成立したときは信号データＤをＯＦＦ設定している。
【０３３５】
たとえば、無効化条件を判定するたびに無効化条件の判定結果を保持して、全ての判定が終了した後に、まとめて信号データをＯＦＦにする方法もある。しかし、このようにすると、いちいち無効化条件の判定結果を保持する必要が出てくる。上記のように、無効化条件が成立するたびに信号データをＯＦＦ設定することで、無効化条件の判定結果をその都度保持する必要がなくなる。
【０３３６】
なお、本実施の形態においては、信号データＣ，Ｄを出力バッファＢに設定し、出力バッファＢに基づき出力ポート出力処理により信号Ｃ，信号Ｄを出力させるようにしたが、これに限らず、信号データＣ，Ｄを出力バッファＢに設定することなく、信号データＣ，Ｄに基づき出力ポート出力処理により信号Ｃ，信号Ｄを出力させるようにしてもよい。
【０３３７】
以上説明したように、先に出力データをＯＮ設定またはＯＦＦ設定し、条件の成立により必要に応じて当該出力データを更新することで、データ処理を簡素化することができる。たとえば、複数の信号データを含む１バイトデータがあり、各信号データが１バイトデータの中の各ビットに対応する（８ビット分の信号データを含む）場合、上記１バイトデータをＦＦＨに書き換えることで、全ての信号データをＯＮ設定ことができる。また、上記１バイトデータを００Ｈに書き換えることで、全ての信号データをＯＦＦ設定することができる。
【０３３８】
プログラムが用いる命令としては、データをＯＮ設定する命令よりもデータをＯＦＦ設定（クリア）する命令の方が充実している。たとえば、上記１バイトデータを保持するレジスタに対して、００ＨまたはＦＦＨのデータを保持するレジスタの内容を読み込ませてデータをＯＦＦ設定（００Ｈ）またはＯＮ設定（ＦＦＨ）することができる。これに対して、データのＯＦＦ設定に関しては、クリア命令の実行により一回でデータをクリア（００Ｈ）することができるため、処理容量が少なくなる。
【０３３９】
このため、データを一旦ＯＦＦに設定にしてから必要に応じてＯＮに設定する方が、処理容量削減の点から考えれば望ましい。そこで、割込側設定処理においては、先に出力データをＯＮに設定し、条件の成立により当該出力データをＯＦＦに設定している。これにより、プログラムをより簡素化している。一方で、メイン処理で先にＯＮ設定をしてしまうと、割込処理が実行されることによって、誤った信号が出力されてしまう虞がある。このため、メイン側設定処理においては、先に出力データをＯＦＦに設定し、成立条件の成立により当該出力データをＯＮに設定している。これにより、誤った信号が出力されることを防止することができる。
【０３４０】
［本実施形態のスロットマシンが有する構成および奏する効果］
次に、本実施形態のスロットマシンが有する構成および奏する効果を説明する。
【０３４１】
（１−１）  各々が識別可能な複数種類の識別情報を変動表示可能な可変表示部を複数備え、
前記可変表示部を変動表示した後、前記可変表示部の変動表示を停止することで表示結果を導出し、複数の可変表示部の表示結果の組合せである表示結果組合せに応じて入賞が発生可能なスロットマシン（たとえば、スロットマシン１）において、
表示結果組合せを導出させるために操作される複数の導出操作手段（たとえば、ストップスイッチ８Ｌ，８Ｃ，８Ｒ）と、
所定の処理を実行する処理手段（たとえば、メインＣＰＵ４１ａ）とを備え、
前記処理手段によって実行される前記所定の処理には、メイン処理（たとえば、図９に示すメイン処理）と、割込の発生に基づき前記メイン処理に割り込んで実行される割込処理（たとえば、図１６に示すタイマ割込処理（メイン））とが含まれ、
前記処理手段は、
割込処理において、前記複数の導出操作手段のうちのいずれかの操作に基づく入力の有無を判定し、前記複数の導出操作手段のうちの第１導出操作手段（たとえば、左ストップスイッチ）の操作に基づく第１入力（たとえば、左ストップスイッチ信号のＯＮエッジの検出）があったと判定した場合、当該割込処理後の前記メイン処理において、前記複数の可変表示部のうちの第１可変表示部（たとえば、透視窓３を介して遊技者側から視認可能な左リールの領域）における変動表示の停止位置を設定するための第１設定処理（たとえば、リール停止滑りコマ格納処理）を実行し（たとえば、左ストップスイッチの操作に基づく左ストップスイッチ信号のＯＮエッジが検出された場合、割込処理後のメイン処理において、左リールの停止位置を設定するためのリール停止滑りコマ格納処理（左）を実行する）、
前記第１設定処理を開始した後、当該第１設定処理が完了するまで新たな割込処理の実行を禁止し、当該第１設定処理が完了した後に当該新たな割込処理を実行し（たとえば、図１３，図１４に示すように、リール停止滑りコマ格納処理（左）を開始した後、リール停止滑りコマ格納処理（左）が完了するまで新たな割込処理の実行を禁止し、当該リール停止滑りコマ格納処理（左）が完了した後に新たな割込処理を実行する）、
前記新たな割込処理において、前記複数の導出操作手段のうちのいずれかの操作に基づく入力の有無を判定し、前記複数の導出操作手段のうちの第２導出操作手段（たとえば、中ストップスイッチ）の操作に基づく第２入力（たとえば、中ストップスイッチ信号のＯＮエッジの検出）があったと判定した場合、当該新たな割込処理後の前記メイン処理において、前記複数の可変表示部のうちの第２可変表示部（たとえば、透視窓３を介して遊技者側から視認可能な中リールの領域）における変動表示の停止位置を設定するための第２設定処理（たとえば、リール停止滑りコマ格納処理）を実行するものであり（たとえば、図１３，図１４に示すように、新たな割込処理において、中ストップスイッチの操作に基づく中ストップスイッチ信号のＯＮエッジが検出された場合、新たな割込処理後のメイン処理において、中リールの停止位置を設定するためのリール停止滑りコマ格納処理（中）を実行する）、
前記処理手段は、さらに、前記新たな割込処理後の前記メイン処理において、前記可変表示部の変動表示が正常であるか否か（たとえば、リール回転エラー）を判定し、当該変動表示が正常でないと判定した場合、当該新たな割込処理において判定した前記第２入力に基づいて前記第２設定処理を実行せず、当該変動表示が正常であると判定した場合、当該新たな割込処理において判定した前記第２入力に基づいて前記第２設定処理を実行する（たとえば、新たな割込処理後のメイン処理において、リール回転エラーが発生しているか否かを判定し、リール回転エラーが発生している場合、新たな割込処理に基づいてリール停止滑りコマ格納処理（中）を実行せず、リール回転エラーが発生と判定した場合に、新たな割込処理に基づいてリール停止滑りコマ格納処理（中）を実行する）。
【０３４２】
たとえば、本実施の形態においては、図１３，図１４に示すように、左ストップスイッチの操作に基づく左ストップスイッチ信号のＯＮエッジが検出された場合、割込処理後のメイン処理において、左リールの停止位置を設定するためのリール停止滑りコマ格納処理（左）を実行し、リール停止滑りコマ格納処理（左）を開始した後、リール停止滑りコマ格納処理（左）が完了するまで新たな割込処理の実行を禁止し、リール停止滑りコマ格納処理（左）が完了した後に新たな割込処理を実行し、新たな割込処理において、中ストップスイッチの操作に基づく中ストップスイッチ信号のＯＮエッジが検出された場合、新たな割込処理後のメイン処理において、中リールの停止位置を設定するためのリール停止滑りコマ格納処理（中）を実行する。このようにすることで、左ストップスイッチの操作に基づくリール停止滑りコマ格納処理（左）が完了する前に中ストップスイッチの操作に基づくリール停止滑りコマ格納処理（中）が実行されることを防止することができる。また、新たな割込処理後のメイン処理において、リール回転エラーが発生しているか否かを判定し、リール回転エラーが発生している場合、新たな割込処理に基づいてリール停止滑りコマ格納処理（中）を実行せず、リール回転エラーが発生していないと判定した場合に、新たな割込処理に基づいてリール停止滑りコマ格納処理（中）を実行する。このようにすることで、リールの回転が正常であることを条件に、中ストップスイッチの操作に基づくリール停止滑りコマ格納処理（中）が実行されることを担保することができる。このように、リールの停止位置を設定するためのリール停止滑りコマ格納処理を連続的に実行する場合に、好適にリール停止滑りコマ格納処理を実行することができる。
【０３４３】
（１−２）  前記処理手段は、
前記第１設定処理を完了した後、当該第１設定処理により設定された前記第１可変表示部における変動表示の停止位置を示す第１停止コマンド（たとえば、リール停止位置コマンド）を出力し（たとえば、図１４に示すように、リール停止滑りコマ格納処理（左）を完了した後、リール停止滑りコマ格納処理（左）により設定された左リールの停止位置を示すリール停止位置コマンドを出力する）、
前記第１停止コマンドを出力するための設定が完了するまで、割込処理の実行を禁止する（たとえば、図１４に示すように、左リールの停止位置を示すリール停止位置コマンドを出力するための設定が完了するまで、割込処理の実行を禁止する）。
【０３４４】
たとえば、本実施の形態においては、図１４に示すように、リール停止滑りコマ格納処理（左）を完了した後、リール停止滑りコマ格納処理（左）により設定された左リールの停止位置を示すリール停止位置コマンドを出力し、左リールの停止位置を示すリール停止位置コマンドを出力するための設定が完了するまで、割込処理の実行を禁止する。このため、リール停止位置コマンドの送信が完了する前に新たなストップスイッチの操作に基づく処理が行われない。
【０３４５】
（１−３）  前記処理手段は、
前記第１停止コマンドを出力する際に当該第１停止コマンドを含む複数のコマンドを出力し（たとえば、リール停止受付け時コマンド、リール停止位置コマンド、滑りコマ数コマンド、リール停止コマンド）、
前記複数のコマンドを出力するための設定が完了するまで、割込処理の実行を禁止する（たとえば、図１４に示すように、複数のコマンドを出力するための設定が完了するまで割込処理の実行を禁止する）。
【０３４６】
たとえば、本実施の形態においては、図１４に示すように、リール停止位置コマンドを出力する際にリール停止受付け時コマンド、滑りコマ数コマンドおよびリール停止コマンドを出力し、これらの複数のコマンドを出力するための設定が完了するまで割込処理の実行を禁止する。このように、複数のコマンドを出力するための設定が完了するまでに、割込処理により意図しないコマンドが出力されたり、複数のコマンド間で送信間隔が大きく空くことを防止することができる。
【０３４７】
（１−４）  前記処理手段は、前記第２設定処理において、前記第１設定処理により設定された前記第１可変表示部における変動表示の停止位置に基づいて、前記第２可変表示部における変動表示の停止位置を設定する（たとえば、図１３に示すように、リール停止滑りコマ格納処理（中）において、リール停止滑りコマ格納処理（左）により設定された左リールの停止位置に基づいて、中リールの停止位置を設定する。）。
【０３４８】
たとえば、本実施の形態においては、図１３に示すように、リール停止滑りコマ格納処理（中）において、リール停止滑りコマ格納処理（左）により設定された左リールの停止位置に基づいて、中リールの停止位置を設定する。このように、中リールの停止位置は左リールの停止位置に基づいて設定されるため、導出される図柄組合せが多様になる。
【０３４９】
（１−５）  前記処理手段は、前記第２可変表示部における変動表示が停止することで表示結果組合せが導出される場合であっても、前記第２設定処理を開始した後、当該第２設定処理が完了するまで、新たな割込処理の実行を禁止する（たとえば、図１４に示すように、左リールが停止することで図柄組合せが導出される場合であっても、リール停止滑りコマ格納処理（中）を開始した後、リール停止滑りコマ格納処理（中）が完了するまで、新たな割込処理の実行を禁止する）。
【０３５０】
たとえば、本実施の形態においては、図１４に示すように、中リールが停止することで図柄組合せが導出される場合であっても、リール停止滑りコマ格納処理（中）を開始した後、リール停止滑りコマ格納処理（中）が完了するまで、新たな割込処理の実行を禁止する。このように、リール停止滑りコマ格納処理の実行中に他の処理が実行されないため、速やかにリールを停止させる制御を行うことができる。
【０３５１】
（１−６）  前記処理手段は、前記第１可変表示部および前記第２可変表示部がともに変動表示している場合の割込処理において、前記第１入力および前記第２入力があったと判定した場合、当該割込処理後の前記メイン処理において、前記第１設定処理を実行する一方で、前記第２設定処理を実行しない（たとえば、図１９に示すように、左リールおよび中リールがともに回転している場合の割込処理において、左ストップスイッチ信号および中ストップスイッチ信号のＯＮエッジが検出された場合、割込処理後のメイン処理において、リール停止滑りコマ格納処理（左）を実行する一方で、リール停止滑りコマ格納処理（中）を実行しない。）。
【０３５２】
たとえば、本実施の形態においては、図１９に示すように、左リールおよび中リールがともに回転している場合の割込処理において、左ストップスイッチ信号および中ストップスイッチ信号のＯＮエッジが検出された場合、割込処理後のメイン処理において、リール停止滑りコマ格納処理（左）を実行する一方で、リール停止滑りコマ格納処理（中）を実行しない。しかし、一の割込処理でもずれて左ストップスイッチ信号および中ストップスイッチ信号のＯＮエッジが検出された場合には左リールおよび中リールが停止可能となるため、速やかにリールを停止させることができる。
【０３５３】
（１−７）  前記処理手段は、
前記第１可変表示部および前記第２可変表示部がともに変動表示している場合の所定の割込処理において、前記第１入力があったと判定した場合、当該所定の割込処理後の前記メイン処理において、前記第１設定処理を実行可能であり（たとえば、図１７に示すように、左リールおよび中リールがともに回転している場合の所定の割込処理において、左ストップスイッチ信号のＯＮエッジが検出された場合、所定の割込処理後のメイン処理において、リール停止滑りコマ格納処理（左）を実行する）、
前記所定の割込処理の後の割込処理において、前記第２入力があったと判定した場合、当該割込処理後の前記メイン処理において、前記第２設定処理を実行可能である（たとえば、図１７に示すように、所定の割込処理の後の割込処理において、中ストップスイッチ信号のＯＮエッジが検出された場合、当該割込処理後のメイン処理において、リール停止滑りコマ格納処理（中）を実行する）。
【０３５４】
たとえば、本実施の形態においては、図１７に示すように、左リールおよび中リールがともに回転している場合の所定の割込処理において、左ストップスイッチ信号のＯＮエッジが検出された場合、所定の割込処理後のメイン処理において、リール停止滑りコマ格納処理（左）を実行し、所定の割込処理の後の割込処理において、中ストップスイッチ信号のＯＮエッジが検出された場合、当該割込処理後のメイン処理において、リール停止滑りコマ格納処理（中）を実行する。このように、一の割込処理でもずれて左ストップスイッチ信号および中ストップスイッチ信号のＯＮエッジが検出された場合には左リールおよび中リールが停止可能となるため、速やかにリールを停止させることができる。
【０３５５】
（１−８）  前記処理手段は、
前記第１可変表示部および前記第２可変表示部がともに変動表示している場合の所定の割込処理において、前記第１入力および前記第２入力があったと判定した場合、当該所定の割込処理後の前記メイン処理において、前記第１設定処理を実行する一方で、前記第２設定処理を実行せず（たとえば、図１９に示すように、左リールおよび中リールがともに回転している場合の所定の割込処理において、左ストップスイッチ信号のＯＮエッジおよび左ストップスイッチ信号のＯＮエッジが検出された場合、所定の割込処理後のメイン処理において、リール停止滑りコマ格納処理（左）を実行する一方で、リール停止滑りコマ格納処理（中）を実行しない）、
前記所定の割込処理の後の割込処理において、前記第１入力および前記第２入力があったと判定した場合、当該割込処理後の前記メイン処理において、前記第２設定処理を実行する一方で、前記第１設定処理を実行しない（たとえば、図１９に示すように、所定の割込処理の後の割込処理において、左ストップスイッチ信号のＯＮエッジおよび左ストップスイッチ信号のＯＮエッジが検出された場合、割込処理後のメイン処理において、リール停止滑りコマ格納処理（中）を実行する一方で、リール停止滑りコマ格納処理（左）を実行しない）。
【０３５６】
たとえば、本実施の形態においては、図１９に示すように、左リールおよび中リールがともに回転している場合の所定の割込処理において、左ストップスイッチ信号のＯＮエッジおよび左ストップスイッチ信号のＯＮエッジが検出された場合、所定の割込処理後のメイン処理において、リール停止滑りコマ格納処理（左）を実行する一方で、リール停止滑りコマ格納処理（中）を実行しない。また、所定の割込処理の後の割込処理において、左ストップスイッチ信号のＯＮエッジおよび左ストップスイッチ信号のＯＮエッジが検出された場合、割込処理後のメイン処理において、リール停止滑りコマ格納処理（中）を実行する一方で、リール停止滑りコマ格納処理（左）を実行しない。このように、左ストップスイッチおよび中ストップスイッチが同時に操作された場合に、回転中のリールが停止することになるため、ストップスイッチの操作性を損ねない。
【０３５７】
（１−９）  前記処理手段は、
前記第１可変表示部における変動表示が停止しかつ前記第２可変表示部が変動表示している場合の割込処理において、前記第１入力および前記第２入力があったと判定した場合、当該割込処理後の前記メイン処理において、前記第２設定処理を実行し（たとえば、図１９に示すように、左リールが停止しかつ中リールが回転している場合の割込処理において、左ストップスイッチ信号のＯＮエッジおよび左ストップスイッチ信号のＯＮエッジが検出された場合、割込処理後のメイン処理において、リール停止滑りコマ格納処理（中）を実行する）、
前記第２可変表示部における変動表示が停止しかつ前記第１可変表示部が変動表示している場合の割込処理において、前記第１入力および前記第２入力があったと判定した場合、当該割込処理後の前記メイン処理において、前記第１設定処理を実行する（たとえば、図１９に示すように、中リールが停止しかつ左リールが回転している場合の割込処理において、中ストップスイッチ信号のＯＮエッジおよび左ストップスイッチ信号のＯＮエッジが検出された場合、割込処理後のメイン処理において、リール停止滑りコマ格納処理（左）を実行する）。
【０３５８】
たとえば、本実施の形態においては、図１９に示すように、左リールが停止しかつ中リールが回転している場合の割込処理において、左ストップスイッチ信号のＯＮエッジおよび左ストップスイッチ信号のＯＮエッジが検出された場合、割込処理後のメイン処理において、リール停止滑りコマ格納処理（中）を実行し、中リールが停止しかつ左リールが回転している場合の割込処理において、中ストップスイッチ信号のＯＮエッジおよび左ストップスイッチ信号のＯＮエッジが検出された場合、割込処理後のメイン処理において、リール停止滑りコマ格納処理（左）を実行する。このように、同一割込処理において複数のストップスイッチ信号のＯＮエッジが検出されたとしても、回転中のリールのリール停止滑りコマ格納処理が実行されるため、操作性を損ねることがない。
【０３５９】
（１−１０）  前記処理手段は、
割込処理において前記第１入力があったと判定した場合、当該割込処理後の前記メイン処理において、前記第１可変表示部における変動表示の位置が、当該第１可変表示部のそれぞれの識別情報（たとえば、図柄）に対応する範囲（たとえば、各図柄のステップ数）における共通のステップ（たとえば、１１ステップ）の位置となったときに識別情報に対応する識別番号（たとえば、図柄番号）を取得し、当該識別番号に基づいて前記第１設定処理を実行し（たとえば、図１４に示すように、割込処理において左ストップスイッチ信号のＯＮエッジが検出された場合、割込処理後のメイン処理において、左リールの位置が、左リールの各図柄のステップ数における所定ステップの位置となったときに図柄に対応する図柄番号を取得し、図柄番号に基づいてリール停止滑りコマ格納処理（左）を実行し）、
前記第１入力があったと判定した後、前記第１可変表示部における変動表示の位置が前記共通のステップの位置となるまで、前記第２入力があったとしても当該第２入力を受付けない（たとえば、図１４に示すように、左ストップスイッチ信号のＯＮエッジが検出された後、左リールの位置が１１ステップの位置となるまで、中ストップスイッチ信号のＯＮエッジが検出されたとしても中ストップスイッチ信号のＯＮエッジを受付けない）。
【０３６０】
たとえば、本実施の形態においては、図１４に示すように、割込処理において左ストップスイッチ信号のＯＮエッジが検出された場合、割込処理後のメイン処理において、左リールの位置が、左リールの各図柄のステップ数における１１ステップの位置となったときに図柄に対応する図柄番号を取得し、図柄番号に基づいてリール停止滑りコマ格納処理（左）を実行し、左ストップスイッチ信号のＯＮエッジが検出された後、左リールの位置が１１ステップの位置となるまで、中ストップスイッチ信号のＯＮエッジが検出されたとしても中ストップスイッチ信号のＯＮエッジを受付けない。このようにすることで、リール停止滑りコマ格納処理を１１ステップの位置から実行可能となる。
【０３６１】
（１−１１）  前記複数の可変表示部における変動表示を開始するための開始操作手段（たとえば、スタートスイッチ７）をさらに備え、
前記処理手段は、
前記開始操作手段の操作に基づき、所定時間（たとえば、２秒）に亘って特定信号（たとえば、内部当選信号）を出力する制御を行い（たとえば、図１３に示すように、スタートスイッチ７の操作に基づき、２秒に亘って内部当選信号を出力する制御を行い）、
前記所定時間が経過したことを条件に、前記複数の導出操作手段の操作を有効にする（たとえば、図１３に示すように、２秒が経過したことを条件に、ストップスイッチ８Ｌ，８Ｃ，８Ｒの操作を有効にする）。
【０３６２】
たとえば、本実施の形態においては、図１３に示すように、スタートスイッチ７の操作に基づき、２秒に亘って内部当選信号を出力する制御を行い、２秒が経過したことを条件に、ストップスイッチ８Ｌ，８Ｃ，８Ｒの操作を有効にする。このようにすることで、外部装置（試験装置）において内部当選信号の内容を確認可能にした上で、リールが停止可能となる。
【０３６３】
（１−１２）  前記処理手段は、前記複数の可変表示部における変動表示を開始させるためのモータ（たとえば、リールモータ）に対して駆動信号（たとえば、第１〜第３リールモータφ０〜φ３信号）が出力されているか否かを判定することに基づいて、当該複数の可変表示部全ての変動表示が停止したか否かを判定する（たとえば、図１４に示すように、リールモータに対してリールモータ信号が出力されているか否かを判定することに基づいて、全てのリールが停止したか否かを判定する）。
【０３６４】
たとえば、本実施の形態においては、図１４に示すように、リールモータに対してリールモータ信号（第１〜第３リールモータφ０〜φ３信号）が出力されているか否かを判定することに基づいて、全てのリールが停止したか否かを判定する。このようにすることで、リールが停止したことをリールモータ信号の出力状況に基づいて判断することができる。
【０３６５】
（１−１３）  前記処理手段は、
前記モータに対する駆動信号および投入された遊技媒体の流路を切り替えるブロッカのソレノイド（たとえば、流路切替ソレノイド３０）に対する駆動信号（たとえば、流路切替ソレノイド信号）を、特定ポート（たとえば、出力ポート０，１）から出力し（たとえば、図５に示すように、リールモータ信号および流路切替ソレノイド信号を出力ポート０，１から出力する）、
前記複数の可変表示部における変動表示を開始させるときに、前記ソレノイドに対する駆動信号の出力を停止し（たとえば、図１４に示すように、全てのリールの回転を開始させるときに、流路切替ソレノイド信号の出力を停止し）、
前記特定ポートから信号が出力されているか否か判定することに基づいて、前記複数の可変表示部全ての変動表示が停止したか否かを判定する（たとえば、図１２に示すように、出力ポート０，１から信号が出力されているか否か判定することに基づいて、全てのリールが停止したか否かを判定する）。
【０３６６】
たとえば、本実施の形態においては、図５，図１４に示すように、リールモータ信号および流路切替ソレノイド信号を出力ポート０，１から出力し、全てのリールの回転を開始させるときに、流路切替ソレノイド信号の出力を停止し、出力ポート０，１から信号が出力されているか否か判定することに基づいて、全てのリールが停止したか否かを判定する。このようにすることで、空きポートを好適に扱える一方で、全てのリールが停止したか否かの判定の妨げにならない。
【０３６７】
（２−１）  前記処理手段は、
遊技者所有の遊技用価値（たとえば、メダル）を用いることなく次の遊技を開始可能な再遊技入賞（たとえば、リプレイ入賞）が発生したことに基づきアウト信号（たとえば、払出信号）を出力し（たとえば、図２２に示すように、リプレイ入賞が発生したことに基づき払出信号を出力し）、
前記再遊技入賞が発生した場合、当該再遊技入賞に基づく前記アウト信号の出力が完了したか否かに関わらず、当該再遊技入賞が発生した遊技の次の遊技において前記開始操作手段の操作を有効化する（たとえば、図２２に示すように、リプレイ入賞が発生した場合、リプレイ入賞に基づく払出信号の出力が完了したか否かに関わらず、リプレイ入賞が発生した遊技の次の遊技において開始操作を有効化する）。
【０３６８】
たとえば、本実施の形態においては、図２２に示すように、リプレイ入賞が発生したことに基づき払出信号を出力し、リプレイ入賞が発生した場合、リプレイ入賞に基づく払出信号の出力が完了したか否かに関わらず、リプレイ入賞が発生した遊技の次の遊技において開始操作を有効化する。このようにすることで、遊技の進行を速やかに進めることができる。
【０３６９】
（２−２）  前記処理手段は、
前記開始操作手段が操作されたことに基づきイン信号（たとえば、投入信号）を出力し（たとえば、図２２に示すように、開始操作がされたことに基づき投入信号を出力する）、
前記アウト信号の出力が完了する前に前記開始操作手段が操作された場合、当該アウト信号の出力が完了した後に前記イン信号の出力を開始する（たとえば、図２２に示すように、払出信号の出力が完了する前に開始操作がされた場合、払出信号の出力が完了した後に投入信号の出力を開始する）。
【０３７０】
たとえば、本実施の形態においては、図２２に示すように、開始操作がされたことに基づき投入信号を出力し、払出信号の出力が完了する前に開始操作がされた場合、払出信号の出力が完了した後に投入信号の出力を開始する。このように、投入信号の出力を遅らせることで、投入信号および払出信号の出力タイミングが重ならないので、外部機器において受信した信号を確認することで、メインＣＰＵ４１ａが実行する処理の処理順序を特定しやすくなる。
【０３７１】
（２−３）  前記処理手段は、
前記イン信号を出力する際には、前記アウト信号の出力状態を確認し、当該アウト信号が出力されていない場合に当該イン信号を出力し（たとえば、図２２に示すように、投入信号を出力する際には、払出信号の出力状態を確認し、払出信号が出力されていない場合に投入信号を出力する）、
前記アウト信号を出力する際には、前記イン信号の出力状態を確認することなく当該アウト信号を出力する（たとえば、図２２に示すように、払出信号を出力する際には、投入信号の出力状態を確認することなく払出信号を出力する）。
【０３７２】
たとえば、本実施の形態においては、図２２に示すように、投入信号を出力する際には、払出信号の出力状態を確認し、払出信号が出力されていない場合に投入信号を出力し、払出信号を出力する際には、投入信号の出力状態を確認することなく払出信号を出力する。投入信号の出力中に払出信号が出力されることがないため、投入信号の出力状態の確認を省略することで、処理負担を軽減することができる。
【０３７３】
（２−４）  前記処理手段は、
単位遊技（たとえば、１ゲーム）が終了したときに記憶手段（たとえば、ＲＡＭ４１ｃ）における記憶領域を初期化する第１初期化処理（たとえば、遊技終了時に遊技用ＲＡＭの領域Ｄをクリアする処理（Ｓａ２））と、
遊技者にとって有利な有利状態（たとえば、ボーナス状態）への制御が終了したときに前記記憶手段における記憶領域を初期化する第２初期化処理（たとえば、ボーナス終了時に遊技用ＲＡＭの領域Ｃ，Ｄをクリアする処理（Ｓａ２））とを実行可能であり、
前記第１初期化処理および前記第２初期化処理のいずれによっても初期化されない前記記憶手段における記憶領域（たとえば、遊技ＲＡＭ領域のうちの領域Ａ）に、前記アウト信号の出力データを設定する（たとえば、図２１（Ｂ）に示すように、遊技終了時に遊技用ＲＡＭの領域Ｄをクリアする処理およびボーナス終了時に遊技用ＲＡＭの領域Ｃ，Ｄをクリアする処理のいずれによっても初期化されない遊技用ＲＡＭの領域Ａに払出信号の出力データを設定する）。
【０３７４】
たとえば、本実施の形態においては、図２１（Ｂ）に示すように、遊技終了時に遊技用ＲＡＭの領域Ｄをクリアする処理およびボーナス終了時に遊技用ＲＡＭの領域Ｃ，Ｄをクリアする処理のいずれによっても初期化されない遊技用ＲＡＭの領域Ａに払出信号の出力データを設定する。このようにすることで、遊技用ＲＡＭのクリア処理によって意図せず払出信号の出力が停止することを防止することができる。
【０３７５】
（２−５）  前記処理手段は、前記再遊技入賞の発生に基づく遊技を開始するための賭数の設定を、前記アウト信号の出力を開始した後に実行する（たとえば、図２０に示すように、リプレイ入賞の発生に基づく遊技を開始するためのＢＥＴ数の設定を、払出信号の出力を開始した後に実行する）。
【０３７６】
たとえば、本実施の形態においては、図２０に示すように、リプレイ入賞の発生に基づく遊技を開始するためのＢＥＴ数の設定を、払出信号の出力を開始した後に実行する。このように、伝達に時間がかかる外部への情報出力である払出信号の出力をいち早く行うことで、遊技の進行を妨げない。
【０３７７】
（２−６）  前記処理手段は、
前記アウト信号の出力中において、移行条件（たとえば、エラー発生、設定変更操作）が成立した場合に特定状態（たとえば、エラー状態、設定変更状態）に制御し、
前記特定状態に制御した場合であっても、前記アウト信号の出力が完了するまで当該アウト信号の出力を継続する（たとえば、図１０に示すように、エラー状態に制御された場合であっても、払出信号の出力が完了するまで払出信号の出力を継続する）。
【０３７８】
たとえば、本実施の形態においては、図１０に示すように、払出信号の出力中において、エラーが発生した場合にエラー状態に制御されるため、制御の進行が妨げられないとともに、エラー状態に制御された場合であっても、払出信号の出力が完了するまで払出信号の出力が継続されるため、誤った情報が外部に伝達されない。
【０３７９】
（２−７）  前記処理手段は、前記再遊技入賞が発生したときに、当該再遊技入賞が発生した遊技において設定されている賭数（たとえば、ＢＥＴ数）を取得し、取得した賭数に対応する数値データ（たとえば、３）を、前記再遊技入賞による賭数設定用の記憶領域（たとえば、リプレイ用カウンタ）と前記アウト信号を出力するための記憶領域（たとえば、払出信号用カウンタ）とに格納する（たとえば、図２０に示すように、リプレイ入賞が発生したときに、リプレイが発生した遊技において設定されているＢＥＴ数を取得し、取得したＢＥＴ数に対応する数値データを、リプレイ用カウンタと払出信号用カウンタとに格納する）。
【０３８０】
たとえば、本実施の形態においては、たとえば、図２０に示すように、リプレイ入賞が発生したときに、リプレイが発生した遊技において設定されているＢＥＴ数を取得し、取得したＢＥＴ数に対応する数値データを、リプレイ用カウンタと払出信号用カウンタとに格納する。このようにすることで、効率よくメダル数の設定を行うことができる。
【０３８１】
（２−８）  前記再遊技入賞による賭数設定用の記憶領域は、賭数が所定数（たとえば、３）に定められている場合であっても、当該所定数に対応する数値データ以外の数値データ（たとえば、０〜２，４〜２５５）を格納可能である（たとえば、図２１（Ａ）に示すように、リプレイ用カウンタは、ＢＥＴ数が３に定められている場合であっても、０〜２５５の数値を格納することができる）。
【０３８２】
たとえば、本実施の形態においては、図２１（Ａ）に示すように、リプレイ用カウンタは、ＢＥＴ数が３に定められている場合であっても、０〜２５５の数値を格納することができる。このようにすることで、スロットマシンのソフトウェアの仕様が変更された場合であっても、仕様変更への対応が容易になる。
【０３８３】
（２−９）  前記処理手段は、制御中の遊技状態（たとえば、通常状態、ボーナス、ＡＴ）がいずれであるかに関わらず、前記再遊技入賞が発生しているか否かを単位遊技ごとに判定し、前記再遊技入賞が発生しているときには点灯手段（たとえば、リプレイ中ＬＥＤ）を点灯させ、前記再遊技入賞が発生していないときには前記点灯手段を消灯させる（たとえば、図１５に示すように、制御中の遊技状態がいずれであるかに関わらず、リプレイ入賞が発生しているか否かを１ゲームごとに判定し、リプレイ入賞が発生しているときにはリプレイ中ＬＥＤを点灯させ、リプレイが発生していないときにはリプレイ中ＬＥＤを消灯させる。）。
【０３８４】
たとえば、本実施の形態においては、図１５に示すように、制御中の遊技状態がいずれであるかに関わらず、リプレイ入賞が発生しているか否かを一遊技ごとに判定し、リプレイ入賞が発生しているときにはリプレイ中ＬＥＤを点灯させ、リプレイが発生していないときにはリプレイ中ＬＥＤを消灯させる。このようにすることで、遊技ごとの状況をふまえてリプレイ入賞の発生状況を出力することができる。
【０３８５】
（３−１）  前記メイン処理は、第１処理（たとえば、投入払出エラーチェック処理）と、当該第１処理における呼出命令（たとえば、ＣＡＬＬ命令）で呼び出され、復帰命令（たとえば、ＲＥＴ命令）で当該第１処理に復帰する第２処理（たとえば、エラー処理）とを含み、
前記第２処理は、割込処理が実行されるまで待機し、当該割込処理が実行されたことを条件に次の処理に進む割込待ち処理（たとえば、割込１回待ち処理）を含み、
前記処理手段は、前記第１処理において、前記第２処理から復帰した後、所定処理を実行するときに、割込処理の実行を禁止する（たとえば、図２３に示すように、投入払出エラーチェック処理において、エラー処理から復帰した後、センサエラーフラグを取得する処理を実行するときに、割込処理の実行を禁止する）。
【０３８６】
たとえば、本実施の形態においては、図２３に示すように、メイン処理は、投入払出エラーチェック処理と、投入払出エラーチェック処理におけるＣＡＬＬ命令で呼び出され、ＲＥＴ命令で投入払出エラーチェック処理に復帰するエラー処理とを含み、エラー処理は、割込処理が実行されるまで待機し、割込処理が実行されたことを条件に次の処理に進む割込１回待ち処理を含み、投入払出エラーチェック処理において、エラー処理から復帰した後、センサエラーフラグを取得する処理を実行するときに、割込処理の実行を禁止する。このように、エラー処理において割込１回待ち処理を行うだけでなく、投入払出エラーチェック処理においても割込処理の実行を禁止するため、意図しない割込処理を確実に防止することができる。このようにすることで、スロットマシンの開発におけるプログラムの改変時などにおいても、意図しない不具合が発生してしまうことを防止でき、プログラムの保守性を高めることができる。
【０３８７】
（３−２）  前記処理手段は、前記第２処理において、当該第２処理を終了する前にコマンド（たとえば、エラー解除コマンド）を送信し、当該コマンドの送信が完了するように、前記復帰命令により前記第１処理に復帰する前に前記割込待ち処理を実行する（たとえば、図２３に示すように、エラー処理において、エラー処理を終了する前にエラー解除コマンドを送信し、エラー解除コマンドの送信が完了するように、ＲＥＴ命令により投入払出エラーチェック処理に復帰する前に割込１回待ち処理を実行する）。
【０３８８】
たとえば、本実施の形態においては、図２３に示すように、エラー処理において、エラー処理を終了する前にエラー解除コマンドを送信し、エラー解除コマンドの送信が完了するように、ＲＥＴ命令により投入払出エラーチェック処理に復帰する前に割込１回待ち処理を実行する。このようにすることで、エラー解除コマンドが確実に送信された後に次の処理を実行することができる。
【０３８９】
（３−３）  前記所定処理は、割込処理において更新される所定情報（たとえば、センサエラーフラグ）を取得する処理である（たとえば、図２３に示すように、所定処理は、割込処理において更新されるセンサエラーフラグを取得するセンサエラーフラグの更新処理である）。
【０３９０】
たとえば、本実施の形態においては、図２３に示すように、所定処理は、割込処理において更新されるセンサエラーフラグを取得するセンサエラーフラグの更新処理である。エラー処理から復帰した後、割込処理の実行を禁止するため、センサエラーフラグを取得している途中にセンサエラーフラグが更新されることがない。
【０３９１】
（３−４）  前記所定処理は、遊技の進行に係る遊技プログラムとは異なる非遊技プログラムが前記第１処理による呼出命令で呼び出されることで実行される処理である（たとえば、図２３に示すように、所定処理は、遊技の進行に係る遊技プログラムとは異なる非遊技プログラムが投入払出エラーチェック処理によるＣＡＬＬ命令で呼び出されることで実行される処理である）。
【０３９２】
たとえば、本実施の形態においては、図２３に示すように、所定処理は、遊技の進行に係る遊技プログラムとは異なる非遊技プログラムが投入払出エラーチェック処理によるＣＡＬＬ命令で呼び出されることで実行される処理である。このようにすることで、非遊技プログラムの実行中に割込が生じない。
【０３９３】
（３−５）  前記処理手段は、前記第２処理から前記第１処理に復帰した後、前記呼出命令により他の処理を呼び出すことなく前記所定処理を実行する（たとえば、図２３に示すように、エラー処理から投入払出エラーチェック処理に復帰した後、ＣＡＬＬ命令により他の処理を呼び出すことなく所定処理を実行する）。
【０３９４】
たとえば、本実施の形態においては、図２３に示すように、エラー処理から投入払出エラーチェック処理に復帰した後、ＣＡＬＬ命令により他の処理を呼び出すことなく所定処理を実行する。このようにすることで、エラー処理終了後にすみやかに所定処理を実行することができる。
【０３９５】
（４−１）  前記処理手段は、
割込処理において、前記記憶手段における記憶領域に設定された出力データを出力する出力処理（たとえば、出力ポート出力処理）と、
メイン処理において、前記出力データを設定するメイン側設定処理（たとえば、ＬＥＤデータＡの設定処理、ＬＥＤデータＢの設定処理）と、
割込処理において、前記出力データを設定する割込側設定処理（たとえば、ＬＥＤデータＣの設定処理、ＬＥＤデータＤの設定処理）とを実行可能であり、
前記メイン側設定処理は、前記出力データの設定をクリアした後、出力条件（たとえば、ＬＥＤデータＡの有効化条件、ＬＥＤデータＢの有効化条件）が成立しているときに前記出力データを設定する処理であり（たとえば、図２４に示すように、メイン側設定処理は、ＬＥＤデータＡ，ＢをＯＦＦ設定した後、ＬＥＤデータＡの有効化条件が成立条件が成立しているときにＬＥＤデータＡをＯＮ設定し、ＬＥＤデータＢの有効化条件が成立条件が成立しているときにＬＥＤデータＢをＯＮ設定する処理である）、
前記割込側設定処理は、前記出力データを設定した後、出力条件（たとえば、信号データＣの有効化条件、信号データＤの有効化条件）が成立していないときに前記出力データの設定をクリアする処理である（たとえば、図２４に示すように、割込側設定処理は、信号データＣ，ＤをＯＮ設定した後、信号データＣの有効化条件が成立していないときに信号データＣの設定をＯＦＦ設定し、信号データＤの有効化条件が成立していないときに信号データＤの設定をＯＦＦ設定する処理である）。
【０３９６】
たとえば、本実施の形態においては、図２４に示すように、メイン側設定処理は、ＬＥＤデータＡ，Ｂの設定をＯＦＦ設定した後、ＬＥＤデータＡの有効化条件が成立条件が成立しているときにＬＥＤデータＡをＯＮ設定し、ＬＥＤデータＢの有効化条件が成立条件が成立しているときにＬＥＤデータＢをＯＮ設定する処理である。また、割込側設定処理は、信号データＣ，ＤをＯＮ設定した後、信号データＣの有効化条件が成立していないときに信号データＣの設定をＯＦＦ設定し、信号データＤの有効化条件が成立していないときに信号データＤの設定をＯＦＦ設定する処理である。このように、先に出力データをＯＮ設定またはＯＦＦ設定し、成立条件の成立により必要に応じて当該出力データを更新することで、データ処理を簡素化することができる。また、データをＯＮ設定する命令よりもデータをＯＦＦ設定する命令の方が充実しているため、割込側設定処理においては、先に出力データをＯＮ設定し成立条件の成立により当該出力データをＯＦＦ設定することでプログラムをより簡素化することができる。一方で、メイン処理でこのような処理を行うと、割込処理が実行されることによって、誤った信号が出力されてしまう虞がある。このため、メイン側設定処理においては、先に出力データをＯＦＦ設定し成立条件の成立により当該出力データをＯＮ設定することで、誤った信号が出力されることを防止することができる。
【０３９７】
（４−２）  前記処理手段は、
前記出力処理において、前記割込側設定処理により設定された出力データに基づき複数の信号（たとえば、信号Ｃ、信号Ｄ）を出力し（たとえば、図２４に示すように、割込側設定処理によりＯＮ設定された信号データＣ，信号データＤに基づき信号Ｃ，信号Ｄを出力する）、
前記割込側設定処理において、前記複数の信号に対応する前記出力データをまとめて設定する（たとえば、図２４に示すように、割込側設定処理において、信号Ｃ，信号Ｄに対応する信号データＣ，信号データＤをまとめてＯＮ設定する）。
【０３９８】
たとえば、本実施の形態においては、図２４に示すように、割込側設定処理によりＯＮ設定された信号データＣ，信号データＤに基づき信号Ｃ，信号Ｄを出力し、割込側設定処理において、信号Ｃ，信号Ｄに対応する信号データＣ，信号データＤをまとめてＯＮ設定する。このようにすることで、信号データＣ，信号データＤのＯＮ設定が容易になる。
【０３９９】
（４−３）  前記処理手段は、
前記出力処理において、前記メイン側設定処理により設定された出力データに基づき複数の信号（たとえば、信号Ａ、信号Ｂ）を出力し（たとえば、図２４に示すように、メイン側設定処理によりＯＮ設定されたＬＥＤデータＡ，ＬＥＤデータＢに基づきＬＥＤＡ，ＬＥＤＢを点灯または消灯させる）、
前記メイン側設定処理において、前記複数の信号に対応する前記出力データをまとめてクリアする（たとえば、図２４に示すように、メイン側設定処理において、ＬＥＤＡ，ＬＥＤＢに対応するＬＥＤデータＡ，ＬＥＤデータＢをまとめてＯＦＦ設定する）。
【０４００】
たとえば、本実施の形態においては、図２４に示すように、メイン側設定処理により設定されたＬＥＤデータＡ，ＬＥＤデータＢに基づきＬＥＤＡ，ＬＥＤＢを点灯または消灯させ、メイン側設定処理において、ＬＥＤＡ，ＬＥＤＢに対応するＬＥＤデータＡ，ＬＥＤデータＢをまとめてＯＦＦ設定する。このようにすることで、ＬＥＤデータＡ，ＬＥＤデータＢのＯＦＦ設定が容易になる。
【０４０１】
（４−４）  前記処理手段は、
前記出力処理において出力される前記複数の信号のそれぞれに対して、出力条件が成立したか否かを判定し（たとえば、図２４に示すように、信号データＣ，信号データＤのそれぞれに対して、無効化条件が成立したか否かを判定する）、
一の出力条件に基づいて出力データを更新した後、当該一の出力条件の次の出力条件に基づいて前記出力データを更新する（たとえば、図２４に示すように、信号データＣの無効化条件が成立したときは信号データＣをＯＦＦ設定し、次の成立条件である信号データＤの無効化条件が成立したときは信号データＤをＯＦＦ設定する）。
【０４０２】
たとえば、本実施の形態においては、図２４に示すように、信号データＣ，信号データＤのそれぞれに対して無効化条件が成立したか否かを判定し、信号データＣの無効化条件が成立したときは信号データＣをＯＦＦ設定し、次の成立条件である信号データＤの無効化条件が成立したときは信号データＤをＯＦＦ設定する。このようにすることで、無効化条件の判定結果をその都度保持する必要がない。
【０４０３】
（４−５）  前記処理手段は、前記メイン側設定処理中において、割込処理の実行を禁止する（たとえば、図２４に示すように、メイン側設定処理中において割込禁止設定を行う）。
【０４０４】
たとえば、本実施の形態においては、図２４に示すように、メイン側設定処理中において割込禁止設定を行うため、意図しない信号が出力されることを防止することができる。
【０４０５】
（５−１）  前記記憶手段には、前記処理手段における機能設定のための記憶領域（たとえば、内蔵レジスタ領域）として、開始アドレスから終了アドレスまでの領域が設けられており（たとえば、図８に示すように、ＲＡＭ４１ｃには、メインＣＰＵ４１ａにおける機能設定のための内蔵レジスタ領域として、ＦＥ００ＨからＦＥＡＣＨまでの領域が設けられており）、
前記処理手段は、制御開始にあたって前記機能設定のための記憶領域（たとえば、第１〜第７領域）のうちの複数の領域（たとえば、第２，３，４，６領域）に設定値を設定する際、当該複数の領域のうちの所定領域（たとえば、第２領域）に対応する基準アドレス（たとえば、ＦＥ０１Ｈ）を特定可能なデータを読み出し、当該基準アドレスに基づき前記所定領域に設定値（たとえば、データＡ）を設定した後、当該基準アドレスに対して差分値（たとえば、１）を用いて算出したアドレスに基づき特定領域（たとえば、第３領域）に設定値（たとえば、データＢ）を設定する（たとえば、図８に示すように、メインＣＰＵ４１ａは、制御開始にあたって内蔵レジスタ領域のうちの第２，３，４，６領域に設定値を設定する際、第２，３，４，６領域のうちの第２領域に対応する基準アドレス（ＦＥ０１Ｈ）を特定可能なデータを読み出し、基準アドレスに基づき第２領域にデータＡを設定した後、当該基準アドレスに対して差分値（１）を用いて算出したアドレス（ＦＥ０２Ｈ）に基づき第３領域にデータＢを設定する）。
【０４０６】
たとえば、本実施の形態においては、図８に示すように、ＲＡＭ４１ｃには、メインＣＰＵ４１ａにおける機能設定のための内蔵レジスタ領域として、ＦＥ００ＨからＦＥＡＣＨまでの領域が設けられており、メインＣＰＵ４１ａは、制御開始にあたって内蔵レジスタ領域のうちの第２，３，４，６領域に設定値を設定する際、第２，３，４，６領域のうちの第１領域に対応する基準アドレス（ＦＥ０１Ｈ）を特定可能なデータを読み出し、基準アドレスに基づき第２領域にデータＡを設定した後、当該基準アドレスに対して差分値（１）を用いて算出したアドレス（ＦＥ０２Ｈ）に基づき第３領域にデータＢを設定する。このように、差分値を用いて算出したアドレスに基づき第３領域にデータを設定することで、アドレスを直接指定して第３領域に設定値を設定するよりもプログラムの容量を節減することができる。
【０４０７】
（５−２）  前記所定領域は、前記複数の領域のうちの最も小さいアドレス（たとえば、ＦＥ０１Ｈ）に対応する領域である（たとえば、図８に示すように、第２領域は、第２，３，４，６領域のうちの最も小さいアドレス（ＦＥ０１Ｈ）に対応する領域である）。
【０４０８】
たとえば、本実施の形態においては、図８に示すように、第２領域は、第２，３，４，６領域のうちの最も小さいアドレス（ＦＥ０１Ｈ）に対応する領域であるため、差分値を用いて算出したアドレスに基づき領域にデータを設定する際に、効率よくデータを設定することができる。
【０４０９】
（５−３）  前記処理手段は、設定値を設定する際、所定のアドレス（たとえば、ＦＥ０２Ｈ）に対応する領域（たとえば、第３領域）および当該所定のアドレスの次のアドレス（たとえば、ＦＥ０３Ｈ）に対応する領域（たとえば、第４領域）のそれぞれに設定値を設定するように２バイトデータ（たとえば、１２＋ＦＦＨ×５６）を設定する（たとえば、図８に示すように、メインＣＰＵ４１ａは、設定値を設定する際、所定のアドレス（ＦＥ０２Ｈ）に対応する第３領域および所定のアドレスの次のアドレス（ＦＥ０３Ｈ）に対応する第４領域のそれぞれに設定値を設定するように２バイトデータ（１２＋ＦＦＨ×５６）を設定する）。
【０４１０】
たとえば、本実施の形態においては、図８に示すように、メインＣＰＵ４１ａは、設定値を設定する際、所定のアドレス（ＦＥ０２Ｈ）に対応する第３領域および所定のアドレスの次のアドレス（ＦＥ０３Ｈ）に対応する第４領域のそれぞれに設定値を設定するように２バイトデータ（１２＋ＦＦＨ×５６）を設定する。このようにすることで、複数の領域に対してまとめてデータを設定することができる。
【０４１１】
（５−４）  前記処理手段は、設定値を設定すべき前記複数の領域の全てに設定値を設定したことで、遊技の制御を開始する（たとえば、図７，８に示すように、メインＣＰＵ４１ａは、設定値を設定すべき第１領域〜第５領域の全てに設定値を設定したことで、遊技の制御を開始する）。
【０４１２】
たとえば、本実施の形態においては、図７，８に示すように、メインＣＰＵ４１ａは、設定値を設定すべき第２，３，４，６領域の全てに設定値を設定したことで、遊技の制御を開始する。このようにすることで、設定すべき設定値の設定が完了していない状況で遊技の制御が開始されない。
【０４１３】
（５−５）  前記処理手段は、設定値を設定すべき前記複数の領域の全てに設定値が設定されるまで、割込処理の実行を禁止する（たとえば、図７，８に示すように、メインＣＰＵ４１ａは、設定値を設定すべき第２，３，４，６領域の全てに設定値が設定されるまで、割込処理の実行を禁止する）。
【０４１４】
たとえば、本実施の形態においては、図７，８に示すように、メインＣＰＵ４１ａは、設定値を設定すべき第２，３，４，６領域の全てに設定値が設定されるまで、割込処理の実行を禁止する。このようにすることで、設定値の設定中に割込処理の実行により意図しない制御が行なわれない。
【０４１５】
（５−６）  前記処理手段は、前記複数の領域に設定値を設定する以前に、ポート（たとえば、出力ポート）を初期化する（たとえば、図７，８に示すように、メインＣＰＵ４１ａは、第２，３，４，６領域に設定値を設定する以前に、出力ポートを初期化する）。
【０４１６】
たとえば、本実施の形態においては、図７，８に示すように、メインＣＰＵ４１ａは、第２，３，４，６領域に設定値を設定する以前に、出力ポートを初期化する。このようにすることで、出力ポートから意図しない信号が出力されることを防止することができる。
【０４１７】
［変形例］
以上、本発明における主な実施の形態を説明してきたが、本発明は、上記の実施の形態に限られず、種々の変形、応用が可能である。以下、本発明に適用可能な上記の実施の形態の変形例について説明する。
【０４１８】
［内蔵レジスタ設定処理について］
本実施の形態においては、図８に示したように、第１領域〜第７領域までの７つの領域を有し、設定が必要な複数の領域として、第２，３，４，６領域の各領域において設定値を設定した。しかし、これに限らず、設定が必要な領域は、全領域のうちのどのような領域であってもよく、全ての領域に対して設定するようにしてもよい。
【０４１９】
［リール停止制御処理について］
本実施の形態においては、図１７〜１９に示したように、左リールの停止が第１停止であり、中リールの停止が第２停止である例について説明したが、これに限らず、いずれのリールが第１停止であってもよく、いずれのリールが第２停止であってもよい。また、第１停止および第２停止の組合せに限らず、第２停止および第３停止の組合せであってもよい。
【符号の説明】
【０４２０】
１  スロットマシン、２Ｌ，２Ｃ，２Ｒ  リール、７  スタートスイッチ、８Ｌ，８Ｃ，８Ｒ  ストップスイッチ、４１  メイン制御部、９１  サブ制御部。
【図１】
2020036685.tif 000003
【図２】
2020036685.tif 000004
【図３】
2020036685.tif 000005
【図４】
2020036685.tif 000006
【図５】
2020036685.tif 000007
【図６】
2020036685.tif 000008
【図７】
2020036685.tif 000009
【図８】
2020036685.tif 000010
【図９】
2020036685.tif 000011
【図１０】
2020036685.tif 000012
【図１１】
2020036685.tif 000013
【図１２】
2020036685.tif 000014
【図１３】
2020036685.tif 000015
【図１４】
2020036685.tif 000016
【図１５】
2020036685.tif 000017
【図１６】
2020036685.tif 000018
【図１７】
2020036685.tif 000019
【図１８】
2020036685.tif 000020
【図１９】
2020036685.tif 000021
【図２０】
2020036685.tif 000022
【図２１】
2020036685.tif 000023
【図２２】
2020036685.tif 000024
【図２３】
2020036685.tif 000025
【図２４】
2020036685.tif 000026