(57)【要約】【課題】遊技者が意図しないベット操作が行われることを少なくする。【解決手段】入力ポートに入力された操作スイッチの信号の取得を、１割込み時間内で複数回行い、その取得ごとに操作スイッチのオン／オフを示すレベルデータを生成する。生成した複数個のレベルデータの値が一致することを条件に、その割込み処理におけるレベルデータとして記憶する。今回の割込み処理におけるレベルデータと、前回の割込み処理におけるレベルデータとから、操作スイッチのオン／オフの変化を示す立ち上がりデータを生成する。メイン処理は、立ち上がりデータに基づいていずれかの投入スイッチの操作を検知したときは、立ち上がりデータの投入スイッチに係るデータをオフにした後（ステップＳ２４０及びＳ２４１）、遊技媒体の投入処理（ステップＳ２４６）を実行する。【選択図】図１６
2015157173.tif 000002
【特許請求の範囲】
【請求項１】
遊技媒体を貯留する貯留手段と、
遊技者が遊技を進行する上で操作する操作スイッチと
を備え、
前記操作スイッチとして、前記貯留手段に貯留されている遊技媒体を投入するときに遊技者が操作する操作スイッチであって、遊技媒体の投入数が異なる複数の投入スイッチを有し、
前記投入スイッチを含む所定の前記操作スイッチの操作信号が入力される入力ポートを備え、
遊技の進行に係る情報処理として、
遊技の進行を制御するメイン処理と、
前記メイン処理の実行中に、前記メイン処理とは異なる処理を割込みによって実行する割込み処理と
を有し、
前記割込み処理は、
前記入力ポートに入力された操作信号の取得を１割込み時間内で複数回行うとともに、その取得ごとに、前記操作スイッチのオン／オフを示すレベルデータを生成し、
生成した複数個のレベルデータの値が一致することを条件に、その割込み処理におけるレベルデータとして記憶し、
今回の割込み処理におけるレベルデータと、前回の割込み処理におけるレベルデータとから、前記操作スイッチのオン／オフの変化を示す立ち上がりデータを生成し、
前記メイン処理は、立ち上がりデータに基づいていずれかの前記投入スイッチの操作を検知したときは、前記投入スイッチの操作受付けが有効であり、かつ投入可能な遊技媒体が前記貯留手段に貯留されていることを条件として、立ち上がりデータの前記投入スイッチに係るデータをオフにした後、前記貯留手段に貯留されている遊技媒体の投入処理を実行する
ことを特徴とする遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、精算スイッチ、ベットスイッチ等の操作スイッチについて、遊技者が意図しない操作を防止する遊技機に関するものである。
【背景技術】
【０００２】
従来の遊技機（たとえばスロットマシン）では、遊技者が操作する操作スイッチとして、１ベットスイッチ、３ベットスイッチ等のベットスイッチや、精算スイッチ等が設けられている。そして、これらの各操作スイッチの信号を同一の入力ポートに入力する遊技機が知られている（たとえば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−０５７７７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
前述の従来の技術において、たとえば遊技者が１ベットスイッチを１回操作したとき、遊技機側では、１ベットスイッチの操作信号が入力されることにより１ベットスイッチの操作が検知される。そして、１ベット処理が行われる。このとき、チャタリングやノイズ等により、再度、遊技者が１ベットスイッチを操作したと誤検知される場合があった。この場合には、再度、１ベット処理が行われる。
このように誤検知されると、１ベットスイッチを１回操作しただけであるのに、１枚のメダルが連続投入される結果、２枚あるいは３枚のベット処理が行われる場合があった。さらに、２枚又は３枚ベット後に、ベット数を変更することができない仕様の遊技機であるときは、遊技者が意図しないベット数で遊技を行わなければならなかった。
本発明が解決しようとする課題は、ベットスイッチ等の操作スイッチにおいて、チャタリングやノイズ等による誤検知を抑制し、遊技者が意図しない操作が行われることを少なくすることである。
【課題を解決するための手段】
【０００５】
本発明は、以下の解決手段によって、上述の課題を解決する。なお、かっこ書きにて、対応する実施形態を示す。
本発明（遊技機）は、
遊技媒体（メダル）を貯留する貯留手段（メモリ５３、貯留枚数表示装置４７ｂ等）と、
遊技者が遊技を進行する上で操作する操作スイッチ（１ベットスイッチ４０ａ、３ベットスイッチ４０ｂ、スタートスイッチ４１、ストップスイッチ４２）と
を備え、
前記操作スイッチとして、前記貯留手段に貯留されている遊技媒体を投入するときに遊技者が操作する操作スイッチであって、遊技媒体の投入数が異なる複数の投入スイッチ（１ベットスイッチ４０ａ、３ベットスイッチ４０ｂ）を有し、
前記投入スイッチを含む所定の前記操作スイッチの操作信号が入力される入力ポート（５１ａ）を備え、
遊技の進行に係る情報処理として、
遊技の進行を制御するメイン処理と、
前記メイン処理の実行中に、前記メイン処理とは異なる処理を割込みによって実行する割込み処理と
を有し、
前記割込み処理は、
前記入力ポートに入力された操作信号の取得を１割込み時間内で複数回行うとともに、その取得ごとに、前記操作スイッチのオン／オフを示すレベルデータを生成し、
生成した複数個のレベルデータの値が一致することを条件に、その割込み処理におけるレベルデータとして記憶し、
今回の割込み処理におけるレベルデータと、前回の割込み処理におけるレベルデータとから、前記操作スイッチのオン／オフの変化を示す立ち上がりデータを生成し、
前記メイン処理は、立ち上がりデータに基づいていずれかの前記投入スイッチの操作を検知したときは、前記投入スイッチの操作受付けが有効であり、かつ投入可能な遊技媒体が前記貯留手段に貯留されていることを条件として、立ち上がりデータの前記投入スイッチに係るデータをオフにした後、前記貯留手段に貯留されている遊技媒体の投入処理を実行する
ことを特徴とする。
【発明の効果】
【０００６】
本発明によれば、複数個のレベルデータの値が一致することを条件にその割込み処理におけるレベルデータとして記憶するので、ノイズやチャタリング等のデータを除去することができる。
また、割込み処理によって、操作スイッチの操作を意味する立ち上がりデータを生成し、投入（ベット）処理を実行するときは、立ち上がりデータの投入スイッチに係るデータをオフにした後に実行するので、遊技者が意図しない投入が行われることを防止することができる。
【図面の簡単な説明】
【０００７】
【図１】本実施形態におけるスロットマシン（遊技機）の制御の概略を示すブロック図である。
【図２】メイン制御基板の入力ポート及び出力ポートと、各周辺機器の信号の入出力との関係を示す図である。
【図３】本実施形態において、メモリに記憶されるデータの一部を示す図である。
【図４】本実施形態において、メモリに記憶されるデータの他の一部を示す図である。
【図５】立ち上がりデータの生成の第１例（正常データ取得時）を示す図である。
【図６】立ち上がりデータの生成の第２例（異常データ取得時）を示す図である。
【図７】立ち上がりデータの生成の第３例（異常データ取得時）を示すを示す図である。
【図８】本実施形態におけるメインループ（M_MAIN）処理を示すフローチャートである。
【図９】図８のステップＳ１０６におけるメダル管理処理（MS_MEDAL_CHK）を示すフローチャートである。
【図１０】図９のステップＳ１４２におけるメダル投入処理（MS_INSERT_CHK ）を示すフローチャートである。
【図１１】図１０に続くフローチャートである。
【図１２】図１１のステップＳ１７１におけるメダル限界セット処理（MS_MMAX_SET ）を示すフローチャートである。
【図１３】図１１のステップＳ１７２におけるメダル読み込み処理（S_PLAYM_READ）を示すフローチャートである。
【図１４】図１１のステップＳ１７３における貯留枚数読み込み処理（S_CREDIT_READ ）を示すフローチャートである。
【図１５】図１１のステップＳ１７６におけるブロッカオフの処理（MS_BLOCKER_OFF）を示すフローチャートである。
【図１６】ブロッカのオン／オフと、投入センサの信号のオン／オフと、エラー監視とのタイミングを示すタイムチャートである。
【図１７】図９におけるステップＳ１４３のベット処理（MS_BET_IN ）を示すフローチャートである。
【図１８】図１７のステップＳ２４６におけるメダル１枚の加算処理（MS_MEDAL_INC）を示すフローチャートである。
【図１９】図１７のステップＳ２４７における貯留枚数から１枚を減算する処理（MS_CREDIT_DEC ）を示すフローチャートである。
【図２０】図９のステップＳ１４１における精算処理（MS_MEDAL_RET）を示すフローチャートである。
【図２１】図２０のステップＳ２４５における貯留メダルの精算処理（MS_CREDIT_RET ）を示すフローチャートである。
【図２２】図２０のステップＳ２４７におけるメダル１枚の払出し処理（MS_1MEDAL_PAY ）を示すフローチャートである。
【図２３】図２２に続くフローチャートである。
【発明を実施するための形態】
【０００８】
以下、図面等を参照して、本発明の一実施形態について説明する。
図１は、本実施形態におけるスロットマシン１０（遊技機）の制御の概略を示すブロック図である。スロットマシン１０は、メイン制御基板５０とサブ制御基板８０とを備える。
メイン制御基板５０は、入力ポート５１、出力ポート５２、メモリ５３、メインＣＰＵ５４等を備える（図１で図示したもののみを備える意味ではない）。
メイン制御基板５０と、図１で図示した操作スイッチ等の遊技進行用の周辺機器とは、入力ポート５１又は出力ポート５２を介して電気的に接続されている。入力ポート５１は、操作スイッチ等の信号が入力される接続部であり、出力ポート５２は、モータ３２等の周辺機器に対して信号を送信する接続部である。
【０００９】
なお、図１において、入力用の周辺機器は、その周辺機器からの信号がメイン制御基板５０又はサブ制御基板８０に向かう矢印で表示しており、出力用の周辺機器は、メイン制御基板５０又はサブ制御基板８０からその周辺機器に向かう矢印で示している。
【００１０】
メモリ５３は、遊技の進行等に必要なプログラム等を記憶しておくＲＯＭ、及びメインＣＰＵ５４が各種の制御を行うときに取り込んだデータ等を一時的に記憶しておくＲＡＭからなる。
メインＣＰＵ５４は、メイン制御基板５０上に設けられたＣＰＵを指し、遊技の進行に必要なプログラムの実行、演算等を行い、具体的には、役の抽選、リール３１の駆動制御、及び入賞時の払出し等を実行する。
【００１１】
また、サブ制御基板８０は、遊技中及び遊技待機中における演出（情報）の選択・出力等を制御するものである。サブ制御基板８０と、演出用の周辺機器とは、入力ポート８１又は出力ポート８２を介して電気的に接続されている。また、メイン制御基板５０と同様に、サブ制御基板８０は、メモリ８３及びサブＣＰＵ８４を備える。
【００１２】
メモリ８３は、演出用のデータ等（演出パターン等）を記憶しておくＲＯＭ、サブＣＰＵ８４が各種の演出を出力するときに取り込んだデータ等を一時的に記憶しておくＲＡＭからなる。
サブＣＰＵ８４は、所定のプログラムに従って、演出の決定及び実行、ＡＴに関する抽選等を実行する。
【００１３】
また、サブ制御基板８０は、メイン制御基板５０の下位に属する制御基板である。そして、メイン制御基板５０とサブ制御基板８０とは電気的に接続されており、メイン制御基板５０の出力ポート５２から、サブ制御基板８０の入力ポート８１に、一方向で、演出の出力に必要な信号や情報（コマンド）を送信する。
【００１４】
メイン制御基板５０からサブ制御基板８０に送信される情報としては、たとえば、メダルが投入された旨の情報、スタートスイッチ４１が操作された旨の情報、役の抽選結果（当選役）の情報、リール３１の回転が開始された旨の情報、ストップスイッチ４２が操作された旨の情報、リール３１が停止した旨の情報、各リール３１の停止位置（停止図柄）の情報、入賞役の情報、メダルの払出しの情報、遊技状態の情報、フリーズに関する情報等が挙げられる。
【００１５】
図１において、メダル投入口４３は、遊技者が実際にメダルを投入する部分であり、スロットマシン１０の筐体前面側に設けられている。メダル投入口４３からメダルが投入されると、最初に、通路センサ４３ａにより検知されるように構成されている。さらに、通路センサ４３ａの下流側には、ブロッカ４５が設けられている。ブロッカ４５は、メダルの投入を許可／不許可にするためのものであり、メダルの投入が不許可状態のときは、メダル投入口４３から投入されたメダルを払出し口から返却するメダル通路を形成する。これに対し、メダルの投入が許可状態のときは、メダル投入口４３から投入されたメダルをスロットマシン１０内部のホッパー（メダル溜め）に案内するメダル通路を形成する。
【００１６】
ブロッカ４５のさらに下流側には、投入センサ４４ａ及び４４ｂ（光学センサ）が設けられている。したがって、メダル投入口４３から投入されたメダルは、通路センサ４３ａによって検知された後、さらに、投入センサ４４ａ（上流側）及び４４ｂ（下流側）により検知されるように構成されている。なお、図１に示すように、後述する説明においては、上流側の投入センサ４４ａを投入センサ１、下流側の投入センサ４４ｂを投入センサ２と称する場合もある。
【００１７】
また、図１に示すように、メイン制御基板５０には、遊技者が操作する操作スイッチとして、精算スイッチ４６、１ベットスイッチ４０ａ、３ベットスイッチ４０ｂ、スタートスイッチ４１、（左、中、右）ストップスイッチ４２が電気的に接続されている。
【００１８】
精算スイッチ４６は、スロットマシン１０内部に電気的に貯留されたメダルを払い戻す（ペイアウトする）ときに遊技者が操作するスイッチである。
ベットスイッチ４０は、貯留されたメダルを当該遊技のためにベットするときに遊技者が操作するスイッチであり、本実施形態では、１枚投入用の１ベットスイッチ４０ａと、３枚投入用の３ベットスイッチ４０ｂとを備える。なお、これに限らず、２枚投入用のベットスイッチを設けてもよい。また、１枚、２枚、３枚投入用のベットスイッチのうち、スロットマシン１０の仕様に応じて、２つ又は３つ設けることも可能である。
なお、「ベットスイッチ４０」というときは、１ベットスイッチ４０ａ及び／又は３ベットスイッチ４０ｂを指すものとする。
【００１９】
また、スタートスイッチ４１は、（左、中、右のすべての）リール３１を始動させるときに遊技者が操作するスイッチである。
さらにまた、ストップスイッチ４２は、３つ（左、中、右）のリール３１に対応して３つ設けられ、対応するリール３１を停止させるときに遊技者が操作するスイッチである。
【００２０】
図１に示すように、メイン制御基板５０には、貯留枚数表示装置４７ｂが電気的に接続されている。貯留枚数表示装置４７ｂは、スロットマシン１０内部に貯留されているメダルをセグメント表示するものであり、本実施形態では、「００」〜「５０」の間の数字を表示する。
【００２１】
たとえば、メダルが全く投入されていない状態で、１枚のメダルが投入されると、当該遊技のためにその１枚のメダルがベットされる。ベットされたメダルは、ベット枚数表示装置４７ａによって表示される。さらに２枚を追加投入すると、当該遊技のために３枚のメダルがベットされる。したがって、投入されたメダルが３枚までのときは、そのメダルはベットされ、貯留されない。さらにメダルが投入され続けると、スロットマシン１０内部にメダルが貯留されるとともに、その貯留枚数が貯留枚数表示装置４７ｂによって表示される。貯留されたメダル枚数は、メモリ５３の所定の格納領域に記憶される。
【００２２】
上述のように、本実施形態では、最大で５０枚までのメダルを貯留可能となっている。したがって、貯留枚数が５０枚となったとき（貯留枚数表示装置４７ｂに「５０」と表示されたとき）は、それ以上、メダルは貯留されない。この状態で、仮に、メダル投入口４３からメダルが投入されると、ブロッカ４５により、投入されたメダルは返却口から返却される。
【００２３】
また、たとえば役（リプレイを除く）が入賞してその役に対応するメダルが払い出されるときは、払出し口から払い出されることよりも優先して、スロットマシン１０内部にメダルが貯留される。たとえば、役の入賞時、その役の入賞に対応する払出し枚数が８枚であり、役の入賞前の貯留枚数が「１０」であるときは、その役の入賞により、貯留枚数が「１０」から「１８」に変更されるとともに、貯留枚数表示装置４７ｂによる表示数も「１０」から「１８」に更新される。
【００２４】
さらにまた、役の入賞時に、貯留枚数が「５０」を超えるときは、「５０」を超えた分については払出し口から払い出さされる。たとえば、役の入賞前に貯留枚数が「４７」であり、役の入賞によって８枚のメダルが払い出されるとき、３枚は貯留されて貯留枚数が「５０」となり、「５０」を超える５枚については払出し口から払い出される。
【００２５】
さらに、リプレイの入賞時は、メダルの払出し（貯留）は行われず、当該遊技で投入した枚数のメダルが再遊技のために自動投入される。たとえば、当該遊技を１ベット（１枚）で行い、リプレイが入賞したときは、１枚のメダルが自動投入される。同様に、当該遊技を３ベット（３枚）で行い、リプレイが入賞したときは、３枚のメダルが自動投入される。そして、リプレイの入賞に基づくメダルの投入は、再遊技を行うためのメダルの投入であるので、その後に精算（返却）操作を行っても、当該メダルを精算することはできない。
【００２６】
なお、「遊技機の認定及び型式の検定等に関する規則」では、リプレイに対応する図柄の組合せが有効ラインに停止したときは、再遊技（リプレイ）に係る条件装置の作動であって「入賞」ではないと解釈されている。しかし、本願（本明細書等）では、再遊技についても役の１つとして扱い、リプレイに対応する図柄の組合せが有効ラインに停止したことを「リプレイの入賞」と称する。
【００２７】
また、本実施形態では、入賞役が「ベル」等、すなわち遊技者には小役に見せるようにしたリプレイ（ベルリプレイ）を有する。
本実施形態では、左、中、右リール３１のそれぞれ上下に連続する３図柄を含む図柄が表示窓から見えるように形成し、上下に連続する図柄をそれぞれ上側から上段、中段、下段と称する。
【００２８】
そして、左、中、右リール３１において、それぞれ上段、中段、下段のいずれか１図柄を通過するラインを「図柄組合せライン」と称する。このように規定したとき、図柄組合せラインは、３の３乗＝２７本となるが、その２７本の図柄組合せラインのうち、少なくとも１本を有効ラインとし、残りを無効ラインに設定する。ここで、「有効ライン」とは、役に対応する図柄の組合せが停止したときに、その役に応じた利益の付与（メダルの払出し等）を行うラインである。これに対し、「無効ライン」とは、いずれかの役に対応する図柄の組合せがそのラインに停止した場合であっても、その役に応じた利益の付与（メダルの払出し等）を行わないラインである。すなわち、無効ラインは、そもそも図柄の組合せの成立対象となっていないラインである。
【００２９】
有効ライン及び無効ラインは、メダルの投入枚数や遊技状態等に応じて設定されるが、本実施形態では、メダルのベット枚数にかかわらず、「中段」−「中段」−「中段」（中段ライン）の１本を有効ラインに設定し、他のラインは無効ラインに設定している。そして、その１本の有効ラインに、役に対応する図柄の組合せが停止したとき、その役の入賞とし、入賞した役に対応するメダル枚数を払い出す。
【００３０】
なお、本実施形態では、ベット可能なメダル枚数（そのベット枚数で遊技可能な枚数）は、２枚又は３枚に設定されている（ベット数１枚では遊技を行うことができないように設定されている）が、これに限らず、ベット数１枚でも遊技可能としてもよい。さらに、ベット数に応じて、有効ライン数が増減するように設定することも可能である。
【００３１】
ベルリプレイの当選時には、中段ライン（有効ライン）には、リプレイに対応する図柄の組合せであって、バラケ目、たとえば「リプレイ」−「ベル」−「チェリー」のような図柄の組合せを停止させるとともに、「上段」−「中段」−「下段」のライン（無効ライン）に、「ベル」−「ベル」−「ベル」（「ベル」揃い）を停止させる。あるいは、中段ラインには、「ベル」を含まないリプレイの図柄の組合せを停止させるとともに、「上段」−「上段」−「上段」（無効ライン）に「ベル」揃いを停止させる。
そして、そのリプレイの入賞時には、有効ライン上の図柄ではなく、「ベル」の図柄を点滅する等して、「ベル」が入賞したかのような演出を出力する。
【００３２】
さらに、ベルリプレイの入賞時に、直ちにメダルの自動投入を行うと、リプレイの入賞に見えてしまうため、たとえばベルリプレイの入賞と同時にフリーズを実行する。
ここで「フリーズ」とは、遊技の進行を所定期間一時停止状態にして遅延させることであり、たとえば、メダルの受付け、ベットスイッチ４０の操作の受付け、スタートスイッチ４１の操作の受付け、又は、リール３１の停止操作の受付けに関する機能を一時停止状態にすることである。
【００３３】
本実施形態では、ベルリプレイの入賞と同時にフリーズを開始するとともに、その経過時間を計測する。そして、所定時間（たとえば２０秒）を経過する前にベットスイッチ４０が操作されたときは、そのベットスイッチ４２の操作を契機としてフリーズを解除する。メインＣＰＵ５４は、フリーズを解除すると、リプレイの入賞に基づくメダルの自動投入を行うように制御する。
【００３４】
よって、３枚のメダルをベットして遊技を行い、リプレイが入賞したとき、その入賞時から２０秒を経過する前に遊技者がベットスイッチ４０（３ベットスイッチ４０ｂ）を操作したときは、３枚のメダルが自動投入される。これにより、遊技者に対し、３ベットスイッチ４０ｂの操作により３枚のメダルが投入された印象を与えることができるので、ベルリプレイを、擬似的に小役に見せることができる。
【００３５】
また、フリーズの解除は、ベットスイッチ４０の操作時に限らず、遊技者によるメダル投入口４３からのメダル投入時に行うことも可能である。
ベルリプレイの入賞時に、遊技者は、ベルリプレイを小役であると認識していれば、３枚のメダルがクレジットに加算されると判断する。したがって、その３枚のクレジットを用いて次遊技を開始することができる。したがって、３ベットスイッチ４０ｂの操作により次遊技を開始できると考える。
【００３６】
しかし、小役入賞時に、さらにメダルを投入して遊技を行うことも、当然に可能である。ここで、ベルリプレイの入賞時に、遊技者がメダルを投入したとき、そのメダルを受け付けずに、払出し口から返却してしまうと、ベルリプレイを小役のように見せることができない。そこで、ベルリプレイの入賞時に、メダル投入口４３からのメダルの投入を検出したときに、フリーズを解除するとともに、そのメダルの受付けを行うように制御する。
【００３７】
具体的には、通路センサ４３ａによりメダルが検知された時にフリーズを解除するとともに、ベルリプレイの入賞に基づくメダルの自動投入を行う。さらに、投入されたメダルについては、貯留処理を行う。なお、通路センサ４３ａに限らず、投入センサ４４によりメダルが検知されたときにフリーズを解除してもよい。
【００３８】
メイン制御基板５０の出力ポート５２には、図柄表示装置３０のモータ３２等が電気的に接続されている。
図柄表示装置３０は、図柄を表示する（本実施形態では３つの）リール３１と、各リール３１をそれぞれ駆動するモータ３２と、リール３１の位置を検出するためのインデックスセンサ３３を含む。
【００３９】
モータ３２は、リール３１を回転させるためのものであり、各リール３１の回転中心部に連結され、後述するリール制御手段６２によって制御される。ここで、リール３１は、左リール３１、中リール３１、右リール３１からなり、左リール３１を停止させるときに操作するストップスイッチ４２が左ストップスイッチ４２であり、中リール３１を停止させるときに操作するストップスイッチ４２が中ストップスイッチ４２であり、右リール３１を停止させるときに操作するストップスイッチ４２が右ストップスイッチ４２である。
【００４０】
リール３１は、リング状のものであって、その外周面には複数種類の図柄（役に対応する図柄の組合せを構成している図柄）を印刷したリールテープを貼付したものである。また、図柄配列としては、たとえば各リール３１ごとに、２１個の図柄表示領域が等間隔で配置されているとともに（図柄コマ数が２１個）、各図柄表示領域にそれぞれ所定の図柄が表示されている。なお、図柄コマ数は、２１個以外に、２０個の場合が挙げられる。
【００４１】
また、各リール３１には、１個（２個以上であってもよい）のインデックスが設けられている。インデックスは、リール３１の例えば周側面に凸状に設けられており、リール３１が所定位置を通過したかや、１回転したか否か等を検出するときに用いられる。そして、各インデックスを検知するための（左、中、右）インデックスセンサ３３が設けられている。各インデックスセンサ３３は、メイン制御基板５０の入力ポート５１に電気的に接続されている。そして、インデックスがインデックスセンサ３３を検知する（切る）と、その入力信号がメイン制御基板５０に入力され、そのリール３１が所定位置を通過したことが検知される。
【００４２】
また、インデックスセンサ３３がリール３１のインデックスを検知した瞬間の基準位置上の図柄が予めメモリ５３に記憶されている。これにより、インデックスを検知した瞬間の基準位置上の図柄を検知することができる。
【００４３】
また、メイン制御基板５０には、メダル払出し装置３５が電気的に接続されている。メダル払出し装置３５は、メダルの貯留部となるホッパーのメダルを払出し口から払い出すときに駆動するホッパーモータ３６と、ホッパーモータ３６から払い出されたメダルを検出するための払出しセンサ３７ａ及び３７ｂと、ホッパーの満杯を検出するための満杯センサ３８とを備える。
【００４４】
メダル投入口４３から投入され、受け付けられたメダルは、所定の通路を通してホッパー内に収容されるように形成されている。
払出しセンサ３７ａ及び３７ｂは、投入センサ４４ａ及び４４ｂと同様に、上流側に払出しセンサ３７ａが設けられ、下流側に払出しセンサ３７ｂが設けられている。
なお、図１に示すように、後述する説明においては、上流側の払出しセンサ３７ａを払出しセンサ１、下流側の払出しセンサ３７ｂを払出しセンサ２と称する場合もある。
【００４５】
払出しセンサ３７ａと３７ｂとは、所定距離を隔てて配置され、メダルが払出しセンサ３７ａにより検知されてから所定時間を経過した後に払出しセンサ３７ｂにより検知されるように構成されている。そして、払出しセンサ３７ａ及び３７ｂがそれぞれオン／オフとなるタイミングに基づいて、メダルが正しく払い出されたか否かを判断する。
【００４６】
たとえば、ホッパーモータ３６が駆動しているにもかかわらず、払出しセンサ３７ａ及び３７ｂの信号がいずれもオフであるときは、メダルが払い出されていないと判断し、ホッパーエラー（メダルなし）と検知される。
一方、払出しセンサ３７ａ及び３７ｂの信号がオンのままとなったときは、メダル詰まりが生じたと検知する。
【００４７】
満杯センサ３８は、ホッパー自体、あるいはホッパーから溢れたメダルを収容するサブタンクの満杯を検知するセンサであり、たとえばホッパー又はサブタンクのメダルが満杯となったときにメダルが接触することで通電する回路から構成される。
【００４８】
さらに、図１において、サブ制御基板８０の出力ポート８２には、ランプ２１、スピーカ２２、及び画像表示装置２３等の演出用の周辺機器が電気的に接続されている。
ランプ２１は、スロットマシン１０の演出用のランプ（ＬＥＤ等）であり、所定の条件を満たしたときに、それぞれ所定のパターンで点灯する。なお、ランプ２１には、各リール３１の内周側に配置され、リール３１に表示された図柄（表示窓１１から見える上下に連続する３図柄）を背後から照らすためのバックランプ（図示せず）や、スロットマシン１０の筐体前面に配置され、役の入賞時等に点滅する上部ランプ及びサイドランプ（図示せず）等が含まれる。
【００４９】
また、スピーカ２２は、遊技中に各種の演出を行うべく、所定の条件を満たしたときに、所定のサウンドを出力するものである。
さらにまた、画像表示装置２３は、液晶ディスプレイ、有機ＥＬディスプレイ、ドットディスプレイ等からなるものであり、遊技中に各種の演出画像（フリーズ中の演出画像、ＡＴ中の押し順、役の抽選結果に対応する演出等）や、遊技情報等（ＡＴ中の遊技回数や獲得枚数等）を表示するものである。
【００５０】
遊技の開始時には、遊技者は、ベットスイッチ４０を操作して予め貯留されたメダルを投入（ベット）するか、又はメダル投入口４３からメダルを投入する。遊技開始前にメダルが貯留されているときは、その貯留枚数の範囲内で、１ベットスイッチ４０ａを操作すれば１枚のメダルが投入され、３ベットスイッチ４０ｂが操作されれば３枚のメダルが投入される。また、貯留の有無にかかわらず、メダル投入口４３から１枚のメダルが投入されると１ベットされ、３枚のメダルが投入されれば３ベットされる。ベットが行われたときは、その信号がメイン制御基板５０に入力される。さらに、ベットが行われた状態でスタートスイッチ４１が操作されると、その信号がメイン制御基板５０に送信される。
【００５１】
メイン制御手段５０（具体的には、後述するリール制御手段６２）は、スタートスイッチ４１の操作信号を受信すると、すべてのモータ３２を駆動制御して、すべてのリール３１を回転させるように制御する（ただし、フリーズの実行時には回転させない場合もある）。このようにしてリール３１がモータ３２によって回転されることで、リール３１上の図柄は、所定の速度で表示窓内で上下方向（図柄が上段から下段に移動する方向）に移動表示される。
【００５２】
また、メイン制御基板５０の役抽選手段６１は、スタートスイッチ４１が操作された信号を検知したときは、役の抽選を行う。スタートスイッチ４１が操作されたときに乱数値を抽出し、その乱数値がどの当選役に該当するかを抽選テーブルを照合することにより、当該遊技での当選役を決定する。
【００５３】
そして、遊技者は、ストップスイッチ４２の操作受付けが有効となっているときにストップスイッチ４２を押すことで、そのストップスイッチ４２に対応するリール３１（例えば、左ストップスイッチ４２に対応する左リール３１）の回転を停止させる。ストップスイッチ４２が操作されると、その信号がメイン制御基板５０に入力される。
【００５４】
メイン制御手段５０（具体的にはリール制御手段６２）は、この信号を受信すると、役抽選手段６１での役抽選結果と、ストップスイッチ４２が操作された瞬間のリール３１の位置とから、そのストップスイッチ４２に対応するモータ３２を駆動制御し、そのモータ３２に係るリール３１の停止制御を行う。
そして、すべてのリール３１の停止時に、いずれかの役に対応する図柄の組合せが有効ラインに停止したとき（すなわち、その役の入賞時）は、入賞した役に対応するメダルの払出し等が行われる。
【００５５】
次に、入賞判定手段６３は、すべてのリール３１の停止時に、いずれかの役に対応する図柄の組合せが有効ラインに停止したか否かを判断する。入賞判定手段６３は、たとえばインデックスセンサ３３がインデックスを検知してからのモータ３２のステップ数を検知することにより、有効ライン上の図柄を判断する。ただし、入賞判定手段６３は、ストップスイッチ４２が操作され、リール３１の停止位置が決定された時に、そのリール３１が停止したか否かにかかわらず、停止図柄を判断することが可能である。
【００５６】
払出し手段６４は、すべてのリール３１の停止時に、いずれかの役に対応する図柄の組合せが有効ラインに停止したと判断され、その役の入賞となったときに、その入賞役に応じて所定枚数のメダルを遊技者に対して払い出すか、又は貯留枚数の加算等の処理を行う。メダルを実際に払い出すときは、ホッパーモータ３６を駆動制御して、所定枚数のメダルを払い出す。メダルの払出し時には、払い出されたメダルを払出しセンサ３７により検知し、正しく払い出されたか否かをチェックする。
【００５７】
また、サブ制御基板８０は、上述したランプ２１、スピーカ２２、及び画像表示装置２３からの演出の出力を制御する。
サブ制御基板８０は、遊技ごとに、遊技の開始時に、役抽選手段６１による役の抽選結果（メイン制御基板５０側から送信された役抽選結果の情報）に基づいて、ソフトウェア乱数を用いた抽選によって、演出を選択する。
【００５８】
具体的には、遊技の進行に伴って、どのようなタイミングで（スタートスイッチ４１の操作時や各ストップスイッチ４２の操作時等）、どのような演出を出力するか（ランプ２１をどのように点灯、点滅又は消灯させるか、スピーカ２２からどのようなサウンドを出力するか、及び画像表示装置２３にどのような画像を表示させるか等）を選択する。そして、この選択に従って、演出を出力する。
したがって、これらのランプ２１、スピーカ２２、及び画像表示装置２３からの演出の出力は、サブ制御基板８０側で制御されるものであり、メイン制御基板５０側で制御されるものではない。
【００５９】
図２は、メイン制御基板５０の入力ポート５１及び出力ポート５２と、各周辺機器の信号の入出力との関係を示す図である。
図２に示すように、入力ポート５１として、入力ポート５１ａ、５１ｂ、５１ｃ、・・・を備え、出力ポート５２として、出力ポート５２ａ、５２ｂ、５２ｃ、・・・を備える。本実施形態の入力ポート５１及び出力ポート５２は、Ｄ０〜Ｄ７の８ビットが入力又は出力可能な１バイトのポートである。
【００６０】
図２において、「正」、「負」とは、入力又は出力される信号を意味し、たとえば入力ポート５１ａのＤ０ビットにおける精算スイッチ信号では、操作されていないときにはＤ０ビットに「正（high）」の信号が入力され、操作されたときはＤ０ビットに「負（low ）」の信号が入力される。一方、たとえば３ベットスイッチ信号では、操作されていないときにはＤ２ビットに「負（low ）」の信号が入力され、操作されたときはＤ２ビットに「正（high）」の信号が入力される。
【００６１】
また、図２中、信号の入力又は出力を図示していないポート（たとえば、入力ポート５１ａのＤ４）は、未使用であるか、又は本実施形態において説明を省略する信号の入出力ポートを意味する（信号の入出力がないポートは、すべて未使用という意味ではない）。
【００６２】
さらにまた、入力ポート５１ａにおいて、精算スイッチ信号及び１ベットスイッチ信号は、そのスイッチの操作時にいずれも操作時に負の信号が入力されるが、３ベットスイッチ信号は、そのスイッチの操作時に正の信号が入力される。これは、本実施形態では、精算スイッチ４６及び１ベットスイッチ４０ａと、３ベットスイッチ４０ｂとで、異なるスイッチを用いているためである。
【００６３】
たとえば、精算スイッチ４６及び１ベットスイッチ４０ａは、押されること（あるいは押圧）に応じて接地／非接地を検出するボタンスイッチであり、押圧された場合に電流が流れる回路を備えるスイッチである。これに対し、３ベットスイッチ４０ｂは、フォトセンサを内蔵したボタンスイッチであり、フォトセンサの受光素子が遮光片により発光素子側の光を遮光したときに電圧が変化するスイッチである。
このように、設計上の都合に応じて、同じベットスイッチ４０であっても異なる構造のスイッチを採用している。なお、これに限らず、同一構造のスイッチを用いることも勿論可能である。
【００６４】
図２に示すように、入力ポート５１ｂのＤ０ビットには、電断信号（電断が発生したときに出力される信号）が入力される。また、Ｄ１〜Ｄ５ビットには、それぞれメダル払出し装置３５の所定の信号が入力される。そして、割込み処理時ごとに、これらの信号に基づくデータが、後述する図４のデータＡとして記憶される。
さらに、出力ポート５２ｂにおいては、Ｄ６ビットからは、ブロッカ４５の信号が出力される。また、Ｄ７ビットからは、ホッパーモータ３６を駆動するための信号が出力される。これらの信号の出力は、後述する図４のデータＣのそれぞれＤ６及びＤ７ビットの値に基づき行う。
【００６５】
図３及び図４は、本実施形態において、メモリ５３に記憶されるデータの一部を示す図である。
まず、図３において、入力ポート５１ａレベルデータとは、入力ポート５１ａに入力されているデータを示している。番地「７Ｅ００」とは、メモリ５３内における入力ポート５１ａレベルデータの番地（アドレス）を示しており、入力ポート５１ａと同様に、Ｄ０ビット〜Ｄ７ビットからなる１バイトデータであり、各ビットの値は、「０」又は「１」である。このように、本実施形態では、１バイトで８個のスイッチのデータ（８ビットのデータ列）を記憶できるように構成されている。
【００６６】
図２で示したように、入力ポート５１ａのＤ０〜Ｄ７（ただし、Ｄ４を除く）には、正又は負の信号が入力されるが、入力ポート５１ａに入力された信号を取得した後、正論理又は負論理に変換（演算）した後のデータが、入力ポート５１ａレベルデータとして記憶される。たとえば、入力ポート５１ａにおいて、Ｄ０、Ｄ１、Ｄ３ビットには、操作時には負の信号が入力され、入力された信号が「負」の場合は「１」、「正」の場合は「０」となるように記憶する。
【００６７】
一方、入力ポート５１ａにおいて、Ｄ２、Ｄ５、Ｄ６、Ｄ７ビットには、操作時には正の信号が入力されるので、入力された信号が「正」の場合は「１」、「負」の場合は「０」となるように記憶する。
【００６８】
上記の論理変換処理をより具体的に説明する。
まず、定義データとして、以下の定義データ１及び定義データ２を備える。
定義データ１：０，０，０，０，１，０，１，１
定義データ２：１，１，１，０，１，１，１，１
そして、たとえば入力ポート５１ａに信号が入力されると仮定する。ここでは、１ベットスイッチ４０ａがオンにされたものとする。１ベットスイッチ信号は、オンのときは負の信号が入力されるので、入力される信号は「０」である。また、入力ポート５１ａにおける他のスイッチは操作されないものとすると、精算スイッチ信号（Ｄ０ビット）及びスタートスイッチ信号（Ｄ３ビット）は「１」、その他は「０」であるので、
（D7，D6，D5，D4，D3，D2，D1，D0）＝（0，0，0，0，1，0，0，1）：データＸ
となる。
このデータＸは、たとえばメモリ５３内のＡレジスタに記憶される。
【００６９】
次に、上記データＸと、定義データ１とを排他的論理和（ＸＯＲ；エクスクルーシブオア）による論理演算を行う。これにより、
（D7，D6，D5，D4，D3，D2，D1，D0）＝（0，0，0，0，0，0，1，0）：データＹ
となり、操作されたスイッチに係るデータ（Ｄ１ビット）のみが「１」となる。
したがって、上記のように演算することで、１ベットスイッチ４０ａのみが操作されたことを検知することができる。
【００７０】
また、入力ポート５１ａのＤ４ビットのように未使用ビットを有する場合には、この未使用ビットに対応するデータを確実に「０」にするために、上記のデータＹと定義データ２とを「ＡＮＤ」演算（論理積）してもよい。これにより、
（D7，D6，D5，D4，D3，D2，D1，D0）＝（0，0，0，0，0，0，1，0）：データＺ
となる。
なお、未使用ビットを有さないときは、データＹの算出までで十分であり、データＺの算出は不要である。また、未使用ビットを有する場合であっても、データＹの算出で終了することも可能であり、データＺの算出は、ノイズをより確実に除去するために行われる。
そして、上述したように、上記の演算、記憶等の処理は、１割込み内で行われる。
【００７１】
後述する図８に示すように、遊技を進行する情報処理として、１遊技あたり１回行うメインループないしメイン処理（M_MAIN）が設けられている。メインループは、投入されたメダルの検知から、全リール３１が停止して入賞処理が行われるまでの処理である。このメインループ中に、メインループを一旦抜けて、割込み処理として、入力ポート５１ａを検知する処理を実行し、その処理の実行後、再度、メインループに戻る処理を定期的に行っている。その割込み時間の間隔は、２．２３５ｍｓである。すなわち、２．２３５ｍｓ間隔の割込み処理ごとに、入力ポート５１ａのデータを取得する。そして、取得したデータに基づいて、入力ポート５１ａレベルデータ及び入力ポート５１ａ立ち上がりデータを生成し、記憶する。したがって、これらのデータは、２．２３５ｍｓごとに更新されていく。
【００７２】
また、割込み処理がいつ行われたかにかかわらず、Ｄ０〜Ｄ７ビットのすべてを検知する。たとえば、リール３１の回転中（ストップスイッチ４２が操作される前）は、遊技者によってベットスイッチ４０が操作されることはあり得ないので、必ずしもＤ１及びＤ２ビットのデータを取得する必要はないが、本発明では、すべてのビットのデータを取得する。そして、全ビットのデータを取得すれば、エラー判定を行うことも可能となる。たとえばリール３１の回転中にベットスイッチ４０の入力がオフからオンになった場合が挙げられる。
また、番地「７Ｅ００」、すなわち一の格納領域における１バイトのデータ列を取得すれば、操作スイッチのオン／オフの状況をすべて知ることができる。
【００７３】
なお、詳細は後述するが、メインループ内で、割込み処理を行わせたくない場合がある。たとえば、Ａ処理とＢ処理とを一連で行いたいときには、Ａ処理とＢ処理との間には割込み処理を入れたくない事情がある。この場合には、Ａ処理の前に割込み禁止処理を入れ、Ｂ処理後に割込み許可処理を入れる。
【００７４】
以上のようにして、２．２３５ｍｓごとの割込み処理で、入力ポート５１ａの各ビットの信号（「正」又は「負」）を取得し、正論理又は負論理演算によって「０」又は「１」のデータに変換し、記憶する。これが、図３に示す入力ポート５１ａレベルデータ（８ビットのデータ列である１バイトデータ）である。
さらに、今回の割込み処理でレベルデータを生成したとき、その１つ前（前回）、すなわち２．２３５ｍｓ前に生成したレベルデータを保持しておく。
【００７５】
そして、前回のレベルデータと今回のレベルデータとを「ＸＯＲ」演算し、その結果を、図３に示すように入力ポート５１ａ立ち上がりデータ（８ビットのデータ列である１バイトデータ）として記憶する。
なお、「ＸＯＲ」演算では、前回及び今回「０」、又は前回及び今回「１」の場合、すなわち前回と今回で変化なしの場合は「０」となり、前回「０」で今回「１」、あるいは前回「１」で今回「０」のときは、「１」となる。
【００７６】
すなわち、入力ポート５１ａレベルデータは、その割込み処理時に、実際の操作の有無を示す操作スイッチのデータであり、操作時が「１」、非操作時が「０」で示されるデータである。
また、入力ポート５１ａ立ち上がりデータは、前回の割込み処理には非操作と検知されたが、今回の割込み処理では操作されたと検知された操作スイッチのデータであり、前回の割込み処理時から変化のあった操作スイッチが「１」、変化のなかった操作スイッチが「０」で示されるデータである。
【００７７】
図３に示すように、入力ポート５１ａのレベルデータ及び立ち上がりデータとして、１バイト（８ビット）内のデータとして、精算スイッチ４６、１ベットスイッチ４０ａ、３ベットスイッチ４０ｂの信号のデータが記憶される。これにより、１つの番地のデータを読み取ることにより、精算スイッチ４６、１ベットスイッチ４０ａ、３ベットスイッチ４０ｂのデータを同時に読み取ることができるので、ベット処理や精算処理をスムーズに実行できるようになる。
なお、図３に示すように、入力ポート５１ａレベルデータの格納番地（７Ｅ００）と、入力ポート５１ａ立ち上がりデータの格納番地（７Ｅ０１）とは異なっている。
【００７８】
図４は、データＡ〜データＤを示す図である。
図２で示したように、入力ポート５１ｂのＤ０〜Ｄ５ビットには、正又は負の信号が入力されるが、入力ポート５１ｂに入力された信号を取得した後、正論理又は負論理に変換（演算）した後のデータが、図４に示すようにデータＡとして（割込み処理時ごとに）記憶される。
【００７９】
また、データＢは、役の抽選結果に係る作動フラグを記憶するためのデータである。図４に示すように、Ｄ０、Ｄ１、Ｄ２の各ビットには、それぞれリプレイ（再遊技）、ＭＢ（２種ＢＢ）、ＣＢが割り当てられており、たとえばリプレイ作動時は、Ｄ０ビットのみが「１」（オン）となる。
本実施形態では、遊技状態に応じて、ベット可能なメダル枚数が異なるので、データＢの作動フラグを判別することで、遊技状態、ひいてはベット可能なメダル枚数を判別可能となる。また、リプレイ作動時と非作動時とで、たとえばメダルの精算処理が異なるので、当該処理時に、リプレイの作動フラグをチェックする。
【００８０】
さらに、図４に示すように、データＣ（番地：７Ｅ０４）には、ブロッカ信号及びホッパーモータ信号のオン／オフ状態を示すデータを記憶する。図２に示すように、出力ポート５２ｂからは、ブロッカ信号及びホッパーモータ信号が出力されるが、データＣの値を参照し、これらの信号を出力するか否かを決定する。データＣのデータが「１」の場合には、正論理によりオン（出力）となり、「０」の場合には、オフ（出力なし）となる。
【００８１】
ここで、ブロッカ信号が「１」（オン）であるときは、メダル投入口４３とホッパーとを連結するメダル通路を形成し、「０」（オフ）であるときは、メダル投入口４３と払出し口とを連結する通路（返却通路）を形成する。
【００８２】
さらにまた、データＤ（番地：７Ｅ０５）として、スタートスイッチ受付け状態、ブロッカ信号状態、メダル限界判定を含むデータを記憶する（その他は説明を省略する）。スタートスイッチ受付け状態としては、受付け可能時は「１」、受付け不可時は「０」が記憶される。
また、ブロッカ信号状態は、上記のブロッカ信号と同義であるが、制御上、別個に使用されるために、別個の番地に記憶しておくデータである。このデータは、メダル管理時等において、ブロッカ４５が現在どのようになっているかを知るための制御で用いるものである。
【００８３】
ブロッカ４５の駆動時には、割込み処理によって、出力ポート５２ｂのＤ６ビットからブロッカ信号を出力する。
なお、ブロッカ信号状態が入力ポート５１に入力されたり、出力ポート５２から出力されたりすることはない。ブロッカ信号とブロッカ信号状態とを分けて記憶することにより、出力に用いられる番地（７Ｅ０４）と、出力に用いられない番地（７Ｅ０５）とを分けている。
【００８４】
以上のようにして、１割込み内で、入力ポート５１ａ、５１ｂの信号に基づくデータを記憶するとともに、出力ポート５２ｂに対しては、データＣに基づき信号を送信する。
【００８５】
次に、入力ポート５１ａの立ち上がりデータの生成について、具体例を挙げて説明する。
図５は、立ち上がりデータの生成の第１例を示す図である。
図５では、３ベットスイッチ４０ｂがオンされた状態で、１ベットスイッチ４０ａがオンされた場合の例であって、正常にデータを取得した例である。なお、実際の遊技では、遊技者が意図的に操作しない限り、双方のベットスイッチ４０が同時にオンされるケースはない。
【００８６】
先ず、図５（Ａ）に示すように、今回の割込み処理において、入力ポート５１ａの信号を取得し、オンが「１」、かつオフが「０」となるように論理変換したデータを取得し、それをＣレジスタに記憶する。なお、以下の説明のように、レジスタ（メモリ５３内の記憶手段の一部）としてＡレジスタ〜Ｃレジスタを備えるものとする。
【００８７】
図５（Ａ）において、１ベットスイッチ４０ａ及び３ベットスイッチ４０ｂがオンであるので、入力ポート５１ａのＤ１及びＤ２ビットのデータが「１」となり、他は「０」となる。
次に、同図（Ｂ）に示すように、前回の割込み処理時に生成したレベルデータを、Ｂレジスタに記憶する。ここで、割込み処理時に生成したレベルデータは、次の割込み処理時に使用するため、メモリ５３のいずれかの番地に記憶しておく。
【００８８】
次に、同図（Ｃ）に示すように、今回の割込み処理において、入力ポート５１ａの信号を再度取得する。そして、図５の例では、正常にデータを取得した例であるので、（Ａ）のデータと（Ｃ）のデータとは、一致している（Ｄ１及びＤ２ビットデータが「１」）。
【００８９】
割込み処理が開始されると、先ず、図５（Ａ）に示す１回目のデータ取得を行い、５０μＳ（マイクロ秒）の経過後、２回目のデータ取得を行う。なお、この５０μＳ間にも、割込み処理時における所定の処理、たとえばタイマ減算処理等を実行している。また、割込み処理で実行される処理の時間は、５００μＳ（０．５ｍｓ）程度である。
【００９０】
次に、同図（Ｄ）に示すように、ＣレジスタとＡレジスタの各データとを「ＡＮＤ」演算（論理積）し、その生成したデータを入力ポートレベルデータとする。ＣレジスタとＡレジスタとを「ＡＮＤ」演算すれば、両者ともデータが「１」である場合に限り「１」となる。
次に、同図（Ｅ）に示すように、Ｂレジスタのデータと、（Ｄ）で生成したデータすなわち入力ポートレベルデータとを「ＸＯＲ」演算（排他的論理和）し、変化ビットデータを生成する。これにより、変化があったデータのみが「１」となる。この例では、Ｄ１ビットのデータのみが「１」となる。
【００９１】
次に、同図（Ｆ）に示すように、（Ｄ）で生成したデータすなわち入力ポートレベルデータと、（Ｅ）で生成した変化ビットデータとを「ＡＮＤ」演算し、その生成したデータを入力ポート立ち上がりデータとする。これにより、変化があったＤ１ビットのデータのみが「１」となる。
この立ち上がりデータにより、１ベットスイッチ４０ａの立ち上がりデータは生成される（「１」となる）が、３ベットスイッチ４０ｂの立ち上がりデータは生成されない（「０」となる）ことを意味する。
【００９２】
特に、図５の例では、３ベットスイッチ４０ｂがオンの状態で１ベットスイッチ４０ａがオンされた場合であるので、３ベットスイッチ４０ｂのオン／オフは変化がなく、１ベットスイッチ４０ａのみがオフからオンに変化している。この変化を示すデータが、入力ポート立ち上がりデータとなり、Ｄ１ビットすなわち１ベットスイッチ信号のみが「１」（オン）となっている。
また、３ベットスイッチ４０ｂがオンの状態で１ベットスイッチ４０ａがオンされた場合には、３ベットスイッチ４０ｂ及び１ベットスイッチ４０ａの双方がオンであるので、入力ポートレベルデータでは、Ｄ１及びＤ２ビットの双方のデータが「１」となっている。
【００９３】
図６（第２例）は、図５と同一条件（３ベットスイッチ４０ｂがオンされた状態で、１ベットスイッチ４０ａがオンされた場合）であるが、異常なデータを取得した場合の例である。
先ず、図６（Ａ）に示すように、今回の割込み処理において、入力ポート５１ａの信号を取得し（１回目）、オンが「１」、かつオフが「０」となるように論理変換したデータを取得し、それをＣレジスタに記憶する。１回目のデータ取得は、正常なデータを取得した例である。
【００９４】
次に、同図（Ｂ）に示すように、前回の割込み処理時に生成したレベルデータを、Ｂレジスタに記憶する。このレベルデータは、図５（Ｂ）と同一である。
次に、同図（Ｃ）に示すように、今回の割込み処理において、入力ポート５１ａの信号を再度取得する（２回目）。このときに、ノイズ等が発生し、Ｄ１ビットにおける１ベットスイッチ４０ａの信号を「正」と読み取り、ＡレジスタのＤ１ビットにはデータを「０」として記憶した例である。
【００９５】
次に、同図（Ｄ）に示すように、ＣレジスタとＡレジスタの各データとを「ＡＮＤ」演算し、その生成したデータを入力ポートレベルデータとする。ＣレジスタとＡレジスタとを「ＡＮＤ」演算すれば、両者ともデータが「１」である場合に限り「１」となるので、Ｄ１ビットは「０」、Ｄ２ビットは「１」となる。この（Ｄ）の処理により、１回目の取得データと２回目の取得データとで異なる場合には、データを「０」にすることができる。したがって、チャタリングやノイズがあった場合には、そのデータを「０」にすることができる。
次に、同図（Ｅ）に示すように、Ｂレジスタのデータと、（Ｄ）で生成した入力ポートレベルデータとを「ＸＯＲ」演算し、変化ビットデータを生成する。これにより、変化があったデータのみが「１」となるが、この例では、全ビットのデータが「０」となる。
【００９６】
次に、同図（Ｆ）に示すように、（Ｄ）で生成した入力ポートレベルデータと、（Ｅ）で生成した変化ビットデータとを「ＡＮＤ」演算し、その生成したデータを入力ポート立ち上がりデータとする。これにより、変化があったビットのデータのみが「１」となるが、この例では全ビットのデータが「０」となる。
【００９７】
以上より、変化があったビットのデータが「１」となるが、この例のように、１回目の取得データと２回目の取得データとが異なっていた場合には、全ビットのデータを「０」とすることができる。
このように、１回の割込み処理でデータを２回（複数回）取得する場合には、取得した双方のデータが一致している場合のみレベルデータを記憶し、一致していない場合には、そのレベルデータを記憶しない（「０」とする）。
【００９８】
図７は、立ち上がりデータの生成の第３例を示す図である。
この例では、前回割込み処理時には、全ストップスイッチ４２がオンにされており、今回の割込み処理時には、右ストップスイッチ４２及び精算スイッチ４６がオンにされた状態を示している。
先ず、図７（Ａ）に示すように、今回の割込み処理において、入力ポート５１ａの論理変換したデータを取得し、それをＣレジスタに記憶する。右ストップスイッチ４２及び精算スイッチ４６がオンであるので、Ｄ０及びＤ７ビットのデータが「１」、その他のビットのデータは「０」である。
【００９９】
次に、同図（Ｂ）に示すように、前回の割込み処理時に生成したレベルデータを、Ｂレジスタに記憶する。前回の割込み処理時には、全ストップスイッチ４２がオンであるので、Ｄ５、Ｄ６、Ｄ７ビットのデータが「１」、その他のビットのデータは「０」である。
次に、同図（Ｃ）に示すように、今回の割込み処理において、入力ポート５１ａの信号を再度取得し、Ａレジスタに記憶する。図７の例では、異常にデータを取得した例として、左ストップスイッチ４２をオンと検知し（１回目のデータ取得時はオフ）、かつ精算スイッチをオフ（１回目のデータ取得時はオン）と検知したために、２回目のデータ取得時には、Ｄ５ビットのデータを「１」と取得し、Ｄ０ビットのデータを「０」と取得した例である。
【０１００】
次に、同図（Ｄ）に示すように、ＣレジスタとＡレジスタの各データとを「ＸＯＲ」演算することにより、同一割込み内（図中、（Ａ）と（Ｃ））での変化ビットを示すデータを生成する。さらに、同図（Ｅ）に示すように、（Ｄ）におけるデータを反転させる（「ＮＯＴ」（否定）演算する）。
次いで、同図（Ｆ）に示すように、（Ｂ）における前回割込み時の入力ポートレベルデータと、（Ｄ）で生成したデータとを「ＡＮＤ」演算する。
さらに、同図（Ｇ）に示すように、（Ｃ）におけるＡレジスタのデータと、（Ｅ）で生成したデータとを「ＡＮＤ」演算する。
【０１０１】
さらにまた、同図（Ｈ）に示すように、（Ｆ）で生成したデータと、（Ｇ）で生成したデータとを「ＯＲ」演算（論理和）したデータを生成し、このデータを、今回の割込み処理時における入力ポートレベルデータとする。
【０１０２】
上記（Ｄ）〜（Ｈ）の演算を行うことで、１回目と２回目の取得データが不一致のときは、前回の入力ポートレベルデータを採用するように演算される。
具体的には、同図（Ａ）及び（Ｃ）に示すように、Ｄ０ビット及びＤ５ビットは、いずれも、１回目と２回目の取得データが異なっている。この場合には、上記演算を行うことで、これらのビットのデータは、前回の割込み処理時のデータ（同図（Ｂ））となる。すなわち、Ｄ０ビットは「０」、Ｄ５ビットは「１」となる。
【０１０３】
したがって、図４及び図５の例では、１回目と２回目の取得データが不一致のときは、当該ビットのデータについては常に「０」となる演算を行ったが、図６の例では、１回目と２回目の取得データが不一致のときは、当該ビットのデータについては前回割込み時の値となる。
【０１０４】
ここで、前回割込み時のデータを用いることにより、以下の効果を有する。
たとえば図４及び図５の例において、前回割込み時のデータが「１」であり、今回割込み時には、１回目と２回目の取得データが不一致であったために「０」になったと仮定する。そうすると、前回割込み時のデータが「１」、今回割込み時のデータが「０」となり、変化ビットのデータ（「１」から「０」に変化する、立ち下がり）を生成してしまう。ここで、立ち下がりデータを有するときに所定の制御（たとえば設定変更）を実行する場合がある。よって、チャタリングやノイズが入ったために、立ち下がりデータを生成し、意図しない制御を実行してしまうおそれがある。
これに対し、図６のように前回割込み時のデータを用いるようにすれば、チャタリングやノイズによって立ち上がりデータ及び立ち下がりデータのいずれも生成しないので、立ち上がり／立ち下がりデータに基づく意図しない処理が実行されてしまうことはない。
【０１０５】
次に、同図（Ｉ）に示すように、前回の割込み処理での入力ポートレベルデータ（Ｂレジスタのデータ）と、今回の割込み処理における入力ポートレベルデータ（図中、（Ｈ）のデータ）とを「ＸＯＲ」演算することにより、前回割込みと今回割込みとの変化ビットデータを生成する。
【０１０６】
そして、同図（Ｊ）に示すように、入力ポートレベルデータ（図中、（Ｈ）のデータ）と変化ビットデータ（図中、（Ｉ）のデータ）との各データを「ＡＮＤ」演算し、その生成したデータを入力ポート立ち上がりデータとする。これにより、この例では全ビットのデータが「０」となる。
【０１０７】
続いて、本実施形態における情報処理の流れを、フローチャートに基づき説明する。
図８は、本実施形態におけるメインループ（M_MAIN）処理を示すフローチャートである。そして、このメインループの処理の実行中に、２．２３５ｍｓごとに割込み処理を行い、入力ポートレベルデータ、及び入力ポート立ち上がりデータを生成、記憶する。
【０１０８】
図８において、ステップＳ１０１では、スタックポインタをセットする。ここで、スタックポインタとは、電断が生じた場合に、電断発生時のデータを保存するＲＡＭ領域を指し、スタックポインタのセットとは、そのＲＡＭ領域のレジスタ値を初期値にセットする処理である。
次のステップＳ１０２では、遊技開始セットを行う。この処理は、たとえば遊技状態のセット、前遊技でリプレイが入賞したときはメダルの自動投入する処理、作動フラグ（図４のデータＢ）をクリアする処理、ホッパーの満杯検知等の処理である。
【０１０９】
ステップＳ１０３ではメダルの読み込みを行う。この処理は、現時点においてベットされているメダル枚数が何枚であるかを読み込む処理である。以下の説明において、「メダル読み込み」とは、ベット数の読み込みを指し、貯留枚数の読み込みとは異なるものである。
次のステップＳ１０４では、ステップＳ１０３で読み込んだベット数に基づき、ベットメダルの有無を判断する。
【０１１０】
ステップＳ１０４でベットメダルありと判断したときはステップＳ１０６に進み、ベットメダルなしと判断したときはステップＳ１０５に進んでメダル投入待ち表示（メダルの投入可能を示す表示）を行い、ステップＳ１０６に進む。
【０１１１】
ステップＳ１０６では、投入されたメダルの管理処理（MS_MEDAL_CHK）を行う。ステップＳ１０６に進むと、後述する図９の処理に移行する。
次のステップＳ１０７では、ソフト乱数の更新処理を行う。この処理は、役抽選手段６１で使用する乱数を更新（「１」加算）する処理である。ソフト乱数は、０〜６５５３５の範囲を有する１６ビット乱数であり、更新時には、更新前の値に、割込みカウント値（割込み時にインクリメントされるカウント値）を加算する処理を実行する。
【０１１２】
次のステップＳ１０８では、スタートスイッチ４１の受付けフラグをセットする（オン（「１」）にする処理を行う）。なお、後述するように、スタートスイッチ４１の受付けを許可するか否かを記憶するためのフラグが設けられており、このフラグがオンであるときにスタートスイッチ４１が操作されると、その操作は有効となる。
次のステップＳ１０９では、メインＣＰＵ５４は、スタートスイッチ４１が操作されたか否かを判断する。スタートスイッチ４１が操作されたと判断したときは、ステップＳ１１０に進み、スタートスイッチ４１が操作されていないと判断したときはステップＳ１０３に戻る。
【０１１３】
ステップＳ１１０では、役抽選手段６１は、スタートスイッチ４１が操作されたタイミングで、すなわちスタートスイッチ４１の操作信号の受信時に、乱数値を抽出し、役の抽選を実行する。
次のステップＳ１１１では、リール制御手段６２は、リール３１の回転を開始する。次にステップＳ１１２に進み、リール３１の停止受付けをチェックする。ここでは、ストップスイッチ４２の操作信号を受信したか否かを検知し、操作信号を受信したときは、役の抽選結果とリール３１の位置とに基づいてリール３１の停止位置を決定し、その決定した位置にリール３１を停止させるように制御する。
【０１１４】
次のステップＳ１１３では、リール制御手段６２は、全リール３１が停止したか否かをチェックし、ステップＳ１１４に進む。ステップＳ１１４では、全リール３１が停止したか否かを判断し、全リール３１が停止したと判断したときはステップＳ１１５に進み、全リール３１が停止していないと判断したときはステップＳ１１２に戻る。
【０１１５】
ステップＳ１１５では、図柄の表示判定を行う。ここでは、入賞判定手段６３により、有効ラインに、役に対応する図柄の組合せが停止したか否かを判断する。
次にステップＳ１１６に進み、役の入賞があったときは、払出し手段６４は、入賞役に対応するメダルの払出しを行う。
【０１１６】
次にステップＳ１１７に進み、メインＣＰＵ５４は、遊技終了チェックを行う。この処理は、役抽選結果によって立てた当選フラグのクリア、ウエイトのセット等を実行する処理である。
次のステップＳ１１８では、遊技終了時の出力要求をセットする。この処理は、１遊技が終了した旨をサブ制御基板８０に送信するためのコマンドデータをセットする処理である。なお、「出力要求のセット」は、以下に説明する処理においてもしばしば実行されるものであるが、このステップＳ１１８と同様に、サブ制御基板８０に送信するためのコマンドデータをセットする処理を意味するものとする。
【０１１７】
次にステップＳ１１９に進み、メインＣＰＵ５４は、制御コマンドのセットを行う。この処理は、メモリ５３内の所定の制御コマンドバッファに、サブ制御基板８０に送信するためのコマンドデータを記憶する処理である。なお、「制御コマンドのセット」は、以下に説明する処理においてもしばしば実行されるものであるが、このステップＳ１１９と同様に、サブ制御基板８０に送信するためのコマンドデータを記憶する処理を意味するものとする。
そして、ステップＳ１１９の処理を終了すると、再度、ステップＳ１０１に戻る。
【０１１８】
図９は、図８のステップＳ１０６におけるメダル管理処理（MS_MEDAL_CHK）を示すフローチャートである。
図９において、ステップＳ１３１では、メインＣＰＵ５４は、ブロッカ信号がオンであるか否かを検知する。ブロッカ信号がオンであるときはステップＳ１３２に進み、ブロッカ信号がオンでないときはステップＳ１３３に進む。ここで、「ブロッカ信号がオン」であるというのは、ブロッカ４５によりメダル通路が形成されている場合に相当する。すなわち、図３中、データＡのＤ６ビットのデータを取得し、オン（「１」）であるか否かを検知する。
【０１１９】
ステップＳ１３２では、メインＣＰＵ５４は、図４のデータＡの内容を確認することにより、投入センサ信号に係るデータ（Ｄ１及びＤ２ビット）がオン（「１」）であるか否かを検知する。投入センサ信号に係るデータがオンであると判断したときは、メダルの投入を意味するので、ステップＳ１４２（MS_INSERT_CHK ：図１０）に進み、メダル投入時の処理を実行する。これに対し、オンでないと判断したときは、ステップＳ１３３に進む。
【０１２０】
ステップＳ１３３では、１枚投入、３枚投入、精算操作の受付けが可能であるか否かをチェックする要求をセットする。そして、次のステップＳ１３４において、これらの操作受付けが可能であるか否かをチェックする。
次にステップＳ１３５に進み、メインＣＰＵ５４は、操作受付けが可能であるか否かを判断する。可能であると判断したときはステップＳ１３６に進み、可能でないと判断したときは本フローチャートによる処理を終了し、メインループに戻る。
上記のステップＳ１３３〜Ｓ１３５の処理により、ベット処理又は精算処理を行う前に、ベットスイッチ４０及び精算スイッチ４６の操作受付けが可能な状態であるか否かを判断し、可能な状態である場合のみ、ベット処理又は精算処理に移行するようにしている。
【０１２１】
ステップＳ１３６では、ベットスイッチ信号及び精算スイッチ信号の確認要求をセットする。この処理は、図３の入力ポート５１ａレベルデータ（Ｄ２〜Ｄ０ビット）の内容を確認する処理である。
【０１２２】
次のステップＳ１３７では、ステップＳ１３６での確認に基づき、１ベットスイッチ４０ａ、３ベットスイッチ４０ｂ、精算スイッチ４６のうち、いずれかの立ち上がりデータが「１」であるか否かを判断する。いずれの立ち上がりデータも「１」でないと判断したとき、すなわち１ベットスイッチ４０ａ、３ベットスイッチ４０ｂ、及び精算スイッチ４６のいずれも操作の変化がないと判断したときは本フローチャートによる処理を終了し、メインループに戻る。
【０１２３】
ステップＳ１３７で、いずれかの立ち上がりデータが「１」であると判断されたときはステップＳ１３８に進む。ステップＳ１３８では、スタートスイッチ４１の受付け許可フラグをクリアする。ここで、スタートスイッチ４１の受付け許可フラグは、「０」又は「１」の値をとり、クリアとは、「０」にすることである。そして、スタートスイッチ４１の受付け許可フラグが「０」であるときは、スタートスイッチ４１は有効にはならない（操作されても無効となる）。一方、スタートスイッチ４１の受付け許可フラグが「１」のときは、スタートスイッチ４１が有効となっているときである。
なお、その後にスタートスイッチ４１の受付け許可フラグが有効になるのは、メインループのステップＳ１０８である。
【０１２４】
したがって、１ベットスイッチ４０ａ、３ベットスイッチ４０ｂ、精算スイッチ４６のうち、いずれかに変化があったとき（立ち上がりデータ「１」時）は、スタートスイッチ４１を受付けを許可しないようにしてから、ベットスイッチ又は精算スイッチの操作に基づく処理（図９中、MS_MEDAL_RET、又はMS_BET_IN ）を実行する。
【０１２５】
次にステップＳ１３９に進み、メインＣＰＵ５４は、精算スイッチ信号に係るデータの確認要求をセットする。この処理は、図３の入力ポート５１ａレベルデータ（Ｄ０ビット）の内容を確認する処理である。
そして、次のステップＳ１４０で、メインＣＰＵ５４は、ステップＳ１３９での確認に基づき、精算スイッチ信号の立ち上がりデータが「１」であるか否かを判断する。精算スイッチ信号の立ち上がりデータが「１」であるときはステップＳ１４１に進み、精算処理（MS_MEDAL_RET：図２０）を実行する。一方、精算スイッチ信号の立ち上がりデータが「１」でないと判断したときは、ベットスイッチ信号の立ち上がりデータが「１」であることを意味するので、ステップＳ１４３に進み、ベット処理（MS_BET_IN ：図１７）を実行する。
【０１２６】
図１０及び図１１は、図９のステップＳ１４２におけるメダル投入処理（MS_INSERT_CHK ）を示すフローチャートである。図１１は、図１０に続くフローチャートである。
図１０において、ステップＳ１５１では、メインＣＰＵ５４は、スタートスイッチ４１の受付け許可フラグをクリアする（「０」にする）。
次にステップＳ１５２に進み、メインＣＰＵ５４は、図４のデータＡ（Ｄ１ビット）の内容を確認し、投入センサ１（４４ａ）信号に係るデータがオンであるか否かを判断する。
なお、以下の説明では、図４中、データＡのＤ１ビットのデータを「投入センサ１信号に係るデータ」と称し、Ｄ２ビットのデータを「投入センサ２信号に係るデータ」と称する。また、「１」の場合はデータがオンであり、「０」の場合はデータがオフである。
【０１２７】
投入センサ１信号に係るデータがオンであるときはステップＳ１５３に進み、オンでないときはステップＳ１５８に進む。ステップＳ１５３では、投入センサ１の通過チェック時間をセットする。ここで、投入センサ１によりメダルが検知されると投入センサ１信号に係るデータがオンとなるが、その後、所定時間を経過しても投入センサ１信号に係るデータがオフにならないときは、メダル詰まり等が考えられるので、投入センサ１の通過チェック時間を計測する。
【０１２８】
次にステップＳ１５４に進み、メインＣＰＵ５４は、ステップＳ１５２と同様にして、投入センサ１及び２信号に係るデータがオフであるか否かを判断する。投入センサ１及び２信号に係るデータがオフであると判断したときは本フローチャートによる処理を終了する。
ここで、ステップＳ１５２で投入センサ１信号に係るデータがオンになった後、ステップＳ１５４で投入センサ１信号に係るデータがオフと判断されることは稀であるが、ノイズ等により投入センサ１信号に係るデータが一時的にオンとなり、ステップＳ１５２でそのオンが検出される場合がある。そして、ノイズ等により投入センサ１信号に係るデータが一時的にオンとなっても、ステップＳ１５４の処理により、ステップＳ１５５以下に進まないようにしている。
【０１２９】
ステップＳ１５４において、投入センサ１及び２信号に係るデータがオフでないと判断したときはステップＳ１５５に進む。ステップＳ１５５では、投入センサ１及び２信号に係るデータがオンであるか否かを判断する。投入センサ１及び２信号に係るデータがオンであると判断したときはステップＳ１５９に進み、オンでないと判断したときはステップＳ１５６に進む。
【０１３０】
ステップＳ１５６では、メインＣＰＵ５４は、投入センサ１信号に係るデータがオンであるか否かを判断する。オンであると判断したときはステップＳ１５７に進み、オンでないと判断したときはステップＳ１５８に進む。
ステップＳ１５７では、メインＣＰＵ５４は、投入センサ１の通過チェック時間が経過したか否かを判断する。すなわち、ステップＳ１５３でセットした時間が所定時間を経過したか否かを判断する。通過チェック時間を経過したと判断したときはステップＳ１６７に進み、通過チェック時間を経過していないと判断したときはステップＳステップＳ１５４に戻る。
【０１３１】
ステップＳ１５２において投入センサ１信号に係るデータがオンでないと判断されたとき、又はステップＳ１５６において投入センサ１信号に係るデータがオンでないと判断されてステップＳ１５８に進むと、メインＣＰＵ５４は、メダルの不正通過エラーの表示要求をセットする。そしてステップＳ１８０に進み、本処理（MS_INSERT_CHK ）からメダルエラー処理（MS_ERROR_DSP）（図示せず）に移行する。
【０１３２】
また、ステップＳ１５５において投入センサ１及び２信号に係るデータがオンであると判断され、ステップＳ１５９に進むと、メインＣＰＵ５４は、投入センサ２の通過チェック時間をセットする。次にステップＳ１６０に進み、メインＣＰＵ５４は、投入センサ２信号に係るデータがオンであるか否かを判断する。投入センサ２信号に係るデータがオンであるときはステップＳ１６４に進み、オンでないときはステップＳ１６１に進む。ステップＳ１６１では、メインＣＰＵ５４は、投入センサ１及び２信号に係るデータがオンであるか否かを判断する。オンであるときはステップＳ１６２に進み、オンでないときはステップＳ１５８に進む。
【０１３３】
ステップＳ１６２では、メインＣＰＵ５４は、投入センサ２の通過チェック時間が経過したか否かを判断する。すなわち、ステップＳ１５９でセットした時間が所定時間を経過したか否かを判断する。投入センサ２の通過チェック時間が経過したと判断したときはステップＳ１６７に進み、通過チェック時間が経過していないと判断したときはステップＳ１６３に進む。ステップＳ１６３では、メインＣＰＵ５４は、投入センサ１の通過チェック時間が経過したか否かを判断する。投入センサ１の通過チェック時間が経過したと判断したときはステップＳ１６７に進み、通過チェック時間が経過していないと判断したときはステップＳ１６０に戻る。
【０１３４】
ステップＳ１６０において投入センサ２信号に係るデータがオンであると判断され、ステップＳ１６４に進むと、メインＣＰＵ５４は、投入センサ１及び２信号に係るデータがオフであるか否かを判断する。投入センサ１及び２信号に係るデータがオフであると判断したときは図１１のステップＳ１６８に進み、オフでないと判断したときはステップＳ１６５に進む。ステップＳ１６５では、メインＣＰＵ５４は、投入センサ２信号に係るデータがオンであるか否かを判断する。
【０１３５】
投入センサ２信号に係るデータがオンでないと判断したときはステップＳ１５８に進み、オンであると判断したときはステップＳ１６６に進む。ステップＳ１６６では、メインＣＰＵ５４は、投入センサ２の通過チェック時間が経過したか否かを判断する。投入センサ２の通過チェック時間が経過したと判断したときはステップＳ１６７に進み、通過チェック時間が経過していないと判断したときはステップＳ１６４に戻る。
【０１３６】
ステップＳ１６７に進むと、メダル滞留エラーの表示要求をセットする。メダル滞留エラーとは、投入センサ１や２信号に係るデータが、通過チェック時間の経過後もオンの状態となり、メダル通路にメダルが滞留していることを意味するので、そのエラーを表示するためである。そして、上記と同様に、本処理を終了してエラー処理に移行する。
【０１３７】
ステップＳ１６４において投入センサ１及び２信号に係るデータがオフであると判断し、図１１のステップＳ１６８に進むと、メインＣＰＵ５４は、メダル異常投入エラーの表示要求をセットする。ここで、メダル異常投入エラーとは、通路センサ４３ａと投入センサ１、２の通過異常があったことを示すエラーである。
【０１３８】
次にステップＳ１６９に進み、メインＣＰＵ５４は、投入監視カウンタの値を「１」減算する。ここで、投入監視カウンタとは、通路センサ４３ａがメダルを検知すると、「＋１」とし、投入センサ１及び２がメダルを検知すると、「０」とするカウンタである。すなわち、正常時には、「＋１」と「０」とを繰り返す。
【０１３９】
次にステップＳ１７０に進み、メインＣＰＵ５４は、投入監視カウンタの値が「０」〜「３」の範囲であるか否かを判断する。当該範囲内であると判断したときはステップＳ１７１に進み、範囲内でないと判断したときは、図１０のステップＳ１８０に進み、上記と同様にエラー処理に移行する。
たとえば、当該カウンタの値が「−１」となるのは、通路センサ４３ａを通過せずに投入センサ１、２を通過した場合が挙げられる。
また、当該カウンタの値が「＋４」となるのは、通路センサ４３ａを通過したメダルが投入センサ１、２を通過する前に滞留している場合が挙げられる。
【０１４０】
ステップＳ１７１では、メダル限界をセットする（MS_MMAX_SET ：図１２）。ここで、メダル限界とは、そのスロットマシン１０で投入可能となっているメダル枚数の最大値を意味する。たとえば、どの遊技状態においても、常に、最大で３枚のメダルを投入できるときは、メダル限界は、３枚となる。
【０１４１】
これに対し、投入可能な最大メダル枚数が遊技状態で異なっているときは、その遊技状態で投入可能な最大メダル枚数を意味する。たとえば、通常遊技では、最大３枚のメダルが投入可能であり、ボーナスゲーム（たとえばＭＢゲーム）中には、最大で２枚のメダルを投入可能である場合において、ボーナスゲーム中を除くメダル限界は３枚となり、ボーナスゲーム中のメダル限界は２枚となる。
【０１４２】
次にステップＳ１７２に進み、メダル読み込みを実行する（S_PLAYM_READ：図１３）。ここで、メダル読み込みとは、現時点でベットされているメダル枚数を読み込む処理である。
次のステップＳ１７３では、貯留枚数の読み込みを実行する（S_CREDIT_READ ：図１４）。
次にステップＳ１７４に進み、メインＣＰＵ５４は、現時点でベットされているメダル枚数及び貯留枚数の合計数を算出する。次のステップＳ１７５では、メダルの投入を有効とした後に、メダル投入は不可であるか否かを判断する。そして、投入不可と判断したときはステップＳ１７６に進んでブロッカ４５をオフにする処理を実行する（MS_BLOCKER_OFF：図１５）。そしてステップＳ１７７に進む。一方、投入不可でないと判断したときは、ステップＳ１７６をスキップしてステップＳ１７７に進む。
【０１４３】
ここで、後述したように、ブロッカ信号は、オン時には正の信号を出力し、正論理により、オン時は「１」が記憶される（図３中、データＡのＤ６ビット）。
そして、ブロッカ信号がオンであるときは、投入センサ１及び２を通過するメダル通路を形成させ、オフであるときは、メダル投入口４３から投入されたメダルを返却口から返却するメダル通路を形成する。
【０１４４】
次のステップＳ１７７では、メインＣＰＵ５４は、メダル投入時の出力要求をセットする。そして、次のステップＳ１７８では、制御コマンドをセットする。
次のステップＳ１７９では、メインＣＰＵ５４は、現時点でメダル枚数が限界値（上限値）であるか否かを判断する。メダル枚数が限界値であると判断したときはステップＳ１８０に進む（MS_CREDIT_ADD ：詳細は省略）。これに対し、メダル枚数が限界値でないと判断したときはステップＳ１８１に進み、メダルの（１枚）加算処理を行う（MS_MEDAL_INC：図１８）。
【０１４５】
図１２は、図１１のステップＳ１７１におけるメダル限界セット処理（MS_MMAX_SET ）を示すフローチャートである。ステップＳ１９１では、自動投入時の限界枚数をセットする。ここで、自動投入とは、リプレイ入賞時におけるメダルの自動投入を意味する。当該遊技で投入された枚数が自動投入時の限界枚数となる。次のステップＳ１９２では、作動フラグをチェックする。この処理は、図４中、データＢの内容を確認する処理である。
そして、次のステップＳ１９３では、メインＣＰＵ５４は、リプレイ作動時、すなわち上記データＢにおいてＤ０ビットがオンであるか否かを判断する。オンであるときは、本フローチャートによる処理を終了し、オンでないときはステップＳ１９４に進む。ステップＳ１９４では、メダルの限界枚数として２枚をセットする。
【０１４６】
次にステップＳ１９５に進み、メインＣＰＵ５４は、当該遊技がメダル限界枚数２枚の遊技時であるか否かを判断する。上述したように、たとえば通常遊技であるときはメダル限界枚数が２枚でないと判断し、ＭＢゲーム中であるときはメダル限界枚数が２枚であると判断する。ここでの処理は、上記と同様に、図４中、データＢを確認する処理である。そして、たとえばＤ１及びＤ２ビットがオンであるとき（すなわちＭＢ遊技中）は、メダル限界枚数が２枚であると判断し、オフであるときはメダル限界枚数が３枚であると判断する。
メダル限界枚数が２枚であるときは、既にステップＳ１９４で２枚をセットしているので本フローチャートによる処理を終了する。一方、メダル限界枚数が２枚でないと判断したときはステップＳ１９６に進み、メダル限界枚数３枚をセットする。そして、本フローチャートによる処理を終了する。
【０１４７】
図１３は、図１１のステップＳ１７２におけるメダル読み込み処理（S_PLAYM_READ）を示すフローチャートである。先ず、ステップＳ２０１において、メインＣＰＵ５４は、メダル枚数のデータを読み込む。次にステップＳ２０２において、メインＣＰＵ５４は、ステップＳ２０１で読み込んだメダル枚数のチェックを行う。ここでチェックを行うのは、たとえば読み取った値が正常の範囲内であるか否かをチェックするためである。そして、本フローチャートによる処理を終了する。
【０１４８】
また、図１４は、図１１のステップＳ１７３における貯留枚数読み込み処理（S_CREDIT_READ ）を示すフローチャートである。先ず、ステップＳ２１１において、メインＣＰＵ５４は、貯留枚数のデータを読み込む。次にステップＳ２１２において、ステップＳ２１１で読み込んだ貯留枚数のチェックを行う。そして本フローチャートによる処理を終了する。
【０１４９】
図１５は、図１１のステップＳ１７６におけるブロッカオフの処理（MS_BLOCKER_OFF）を示すフローチャートである。図１１で示したように、メダルの投入が有効になった後、メダルの投入が不可となったときは、ブロッカ４５を駆動して、メダル投入口４３からメダルが投入されたときであってもそのメダルを返却口から返却するメダル通路を形成するように制御する。
【０１５０】
先ず、ステップＳ２２１において、メインＣＰＵ５４は、ブロッカ信号の確認処理を行う。この処理は、図４中、データＣにおいて、Ｄ６ビットのデータ（「０」又は「１」）を確認する処理である。ここで、Ｄ６ビットのデータが「０」であるときは、既にブロッカ４５がオフにされていることを意味する。
次にステップＳ２２２に進み、メインＣＰＵ５４は、ブロッカ信号がオフであるか否かを判断する。オフでないと判断したときはステップＳ２２３に進み、オフであると判断したときは本フローチャートによる処理を終了する。すなわち、既にブロッカがオフであるときは、ブロッカをオフにする本処理を進めることなく本フローチャートによる処理を終了する。
【０１５１】
ステップＳ２２２においてブロッカ信号がオフでないと判断し、ステップＳ２２３に進むと、メインＣＰＵ５４は、この時点からの割込みを禁止する。上述したように、メインループ（M_MAIN）の実行中には、２．２３５ｍｓごとに１回のタイマ割り込み処理が入るが、ステップＳ２２３のような「割込み禁止」の記述があるときは、当該割込み禁止が解除されるまで、割込みを許可しないように制御する。
【０１５２】
このように制御するのは、たとえば一連の処理を行う場合であって、その一連の処理間には割込み処理を実行させたくない場合が挙げられる。特に本実施形態では、ステップＳ２２４におけるブロッカ信号の制御と、ステップＳ２２５におけるブロッカ信号状態の制御とを行う間に割込みを発生させたくないという理由から、そのような制御を行っている。
【０１５３】
次のステップＳ２２４では、メインＣＰＵ５４は、ブロッカ信号をオフにする処理を行う。さらに次のステップＳ２２５では、ブロッカ信号状態をオフにする処理を行う。
そしてステップＳ２２６に進み、メインＣＰＵ５４は、投入センサ２の異常入力の検出時間をセットする。
【０１５４】
ここで、本実施形態では、ブロッカ４５をオン（通過）からオフ（返却）にした後、所定時間を経過する前には投入センサ２のオン信号を検出しても投入センサ２の異常入力とは判断しないが、所定時間を経過した後に投入センサ２のオン信号を検出したときは投入センサ２の異常入力と判断する。このため、ステップＳ２２６のタイミングで、投入センサ異常入力の検出時間（以下の５００．６４ｍｓ）をセットする。
【０１５５】
図１６は、ブロッカ４５のオン／オフと、投入センサ２信号に係るデータのオン／オフと、エラー監視とのタイミングを示すタイムチャートである。図１６に示すように、ブロッカ４５がオンからオフになったタイミングで、時間の計測を開始し、所定時間、特にこの例では、５００．６４ｍｓの経過前までに投入センサ２信号に係るデータのオンを検出しても、その間は、エラー監視をしていないので、エラーと判断されることはない。図１６の例では、ブロッカ４５をオフにした後、エラー監視を有効にする前に、投入センサ２信号に係るデータがオンとなっている（メダルが投入センサ２により検知されている）。この場合、当該メダルはエラーと判断されず（遊技の進行を邪魔せず）、ベットされる。
なお、５００．６４ｍｓの計測は、割込み回数のカウント値「２２４」をセットすることにより行う（１割込みの時間「２．２３５ｍｓ」×回数「２２４」＝５００．６４ｍｓ）。
【０１５６】
次に、所定時間（５００．６４ｍｓ）の経過後、エラー監視を開始する。エラー監視を開始した後、投入センサ２のオン信号を検出したときは、その時点からエラー監視を無効とする。また、エラーを検知してから一定時間を経過したときはエラー表示を開始する。エラー表示後は、エラーが解除されるまで、エラー表示が継続するとともに遊技停止状態となる。
エラー要因が除去され、投入センサ２の信号がオフとなったときは、その後、エラーを解除し、エラー監視を再度有効にする。
【０１５７】
図１５において、ステップＳ２２６で投入センサ異常入力の検出時間をセットすると、ステップＳ２２７に進み、ステップＳ２２３で設定した割込み禁止の解除、すなわち割込みを許可する。そして、本フローチャートによる処理を終了する。
【０１５８】
図１７は、図９のステップＳ１４３におけるベット処理（MS_BET_IN ）を示すフローチャートである。
先ず、ステップＳ２３１において、メインＣＰＵ５４は、メダル限界フラグがオン（「１」）であるか否かを判断する。ここで、メダル限界フラグは、図３中、データＢのＤ７ビットのデータを判断することにより行う。メダルが限界枚数（たとえば通常遊技では３枚）までベットされているときはメダル限界フラグがオンとされ、図３中、データＢのＤ７ビットのデータとして「１」が記憶される。そして、メインＣＰＵ５４は、データＢのＤ７ビットのデータを読み込むことにより、メダル限界フラグがオン（「１」）であるか否かを判断する。
【０１５９】
ステップＳ２３１において、メダル限界フラグがオンであるときは、既に最大ベット状態であることを意味するので、本フローチャートによるベット処理を終了する。すなわち、図９のステップＳ１４０においてベットスイッチの操作を検知し、「MS_BET_IN 」の処理に移行したとしても、最大ベットが既になされているときは、ベット処理は行われない。
【０１６０】
メダル限界フラグがオンでないと判断したときはステップＳ２３２に進み、投入要求枚数として「１枚」をセットする。次にステップＳ２３３に進み、図３中、入力ポート立ち上がりデータのうち、１ベットスイッチ信号に係るデータ（Ｄ１ビットのデータ）がオン（「１」）であるか否かを判断する。１ベットスイッチ信号に係るデータがオンであるときはステップＳ２３８に進み、１ベットスイッチ信号に係るデータがオンでないときはステップＳ２３４に進む。
【０１６１】
ステップＳ２３４では、メダル限界（たとえば、通常遊技では３枚）をセットする。この処理は、図１２で示した「MS_MMAX_SET 」と同じである。
次のステップＳ２３５では、メダル読み込み処理を行う。この処理は、図１３で示した「S_PLAYM_READ」と同じである。次に、ステップＳ２３６に進み、投入要求枚数を演算する。この処理は、メダル限界セット（ステップＳ２３４）の値から、メダル読み込み（ステップＳ２３３）で読み込んだ値を減算する処理である。たとえばメダル限界セットで３枚がセットされ、メダル読み込みで１枚が既にベットされていると判断されたときは、「３−１」を実行する処理に相当する。
次に、ステップＳ２３７に進み、投入要求枚数修正を行う。この処理は、ステップＳ２３６で算出した値を投入要求枚数としてセットする処理である。
【０１６２】
次に、ステップＳ２３８に進み、現時点における貯留枚数の読み込みを行う。この処理は、図１４で示した「S_CREDIT_READ 」と同じである。
次のステップＳ２３９では、メインＣＰＵ５４は、メダルの貯留の有無を判断する。メダルの貯留なしと判断したときは本フローチャートによる処理を終了し、メダルの貯留有りと判断したときはステップＳ２４０に進む。
【０１６３】
ステップＳ２４０では、３ベットスイッチ信号の立ち上がりデータをクリアする。具体的には、図３中、入力ポート５１ａの立ち上がりデータのうち、Ｄ２ビットのデータを「０」にする。
次のステップＳ２４１では、１ベットスイッチ信号の立ち上がりデータをクリアする。具体的には、上記と同様に、入力ポート５１ａの立ち上がりデータのうち、Ｄ１ビットのデータを「０」にする。そして、ステップＳ２４２に進む。
【０１６４】
以上の処理のように、ステップＳ２３９で貯留メダルありの場合には、３ベットスイッチ信号及び１ベットスイッチ信号の立ち上がりデータをクリアした後、ベット処理を実行する。
上述したように、図３で示した（入力ポートの）立ち上がりデータは、割込み処理によって生成され、記憶される。
一方、ベット処理を実行する場合には、割込み処理によって生成・記憶した立ち上がりデータを、メインループ内でクリアする処理を実行する。
【０１６５】
ここで、立ち上がりデータをクリアしなかった場合には、再度割込み処理が実行されるまで、立ち上がりデータが維持される。この場合、メインループのベット処理では、立ち上がりデータが「１」であることに基づいて、再度、１ベット処理が実行されてしまう。
このような不都合を回避するために、メダルの貯留（クレジット）がある場合には、ベット処理の開始前に、立ち上がりデータをクリアしている。
【０１６６】
ステップＳ２４２では、メダル貯留枚数（ステップＳ２３８で読み込んだ枚数）が、投入要求枚数（ステップＳ２３６でセットした枚数）以上であるか否かを判断する。メダル貯留枚数が投入要求枚数以上であると判断したときはステップＳ２４４に進み、メダル貯留枚数が投入要求枚数以上でないと判断したときはステップＳ２４３に進む。
ステップＳ２４３では、メダル貯留枚数をセットする。この処理は、貯留枚数（クレジット数）をベット（投入）する処理である。すなわち、ステップＳ２４２で「Ｎｏ」のときは、貯留枚数が投入枚数に満たない場合であるので、この場合には貯留枚数を投入枚数とする処理を行う。そしてステップＳ２４４に進む。
【０１６７】
ステップＳ２４４では、貯留投入時の出力要求をセットする。次にステップＳ２４５に進み、制御コマンドをセットする。
次のステップＳ２４６では、ベット枚数としてメダルを１枚加算する処理を行う（MS_MEDAL_INC：図１８）。次にステップＳ２４７に進み、貯留枚数から１枚を減算する処理を行う（MS_CREDIT_DEC ：図１９）。次のステップＳ２４８では、メインＣＰＵ５４は、要求枚数の投入（ベット）が終了したか否かを判断する。終了したと判断したときは本フローチャートによる処理を終了し、終了していないと判断したときはステップＳ２４６に戻る。これにより、２枚以上をベットするときは、１枚ベットの処理（ステップＳ２４６及びＳ２４７）を複数回繰り返す。
【０１６８】
図１８は、図１７のステップＳ２４６におけるメダル１枚の加算処理（MS_MEDAL_INC）を示すフローチャートである。
先ず、ステップＳ２５１では、メインＣＰＵ５４は、メダルの読み込みを行う（S_PLAYM_READ）。この処理は、上述した図１３の処理と同一である。
次のステップＳ２５２では、メダル枚数を１加算する処理（「＋１」）を行う。次にステップＳ２５３に進んで、メダル枚数表示の出力要求セットを行う。次のステップＳ２５４では、制御コマンドをセットする。
【０１６９】
次のステップＳ２５５では、メインＣＰＵ５４は、獲得枚数表示クリアを行う。この処理では、前遊技でたとえば小役が入賞したときには、その入賞に基づく獲得枚数が表示されるが、その表示をクリアする処理である。
次にステップＳ２５６に進み、メインＣＰＵ５４は、投入枚数表示ＬＥＤ点灯データを生成する。これは、メダルが１枚投入されるごとに点灯するＬＥＤが設けられているので、メダル１枚投入に対して１つのＬＥＤを点灯させる処理を行うため、そのデータを生成する。
【０１７０】
次のステップＳ２５７では、メインＣＰＵ５４は、投入枚数分の点灯データの生成を終了したか否かを判断する。投入枚数分の点灯データの生成を終了していないと判断したときはステップＳ２５６に戻り、点灯データの生成を継続する。一方、投入枚数分の点灯データの生成を終了したと判断したときはステップＳ２５８に進み、メインＣＰＵ５４は、生成した点灯データに対応する投入枚数表示ＬＥＤを点灯する。
次にステップＳ２５９に進み、メインＣＰＵ５４は、メダル限界をセットする（図１２の「MS_MMAX_SET 」と同一）。次にステップＳ２６０に進み、メインＣＰＵ５４は、メダル読み込み処理（S_PLAYM_READ）を行う（ステップＳ２５１と同一）。
【０１７１】
そして、次のステップＳ２６１において、メインＣＰＵ５４は、メダル枚数が限界値（上限値）であるか否かを判断する。メダル枚数が限界値でないと判断したときは本フローチャートによる処理を終了し、限界値であると判断したときはステップＳ２６２に進む。ステップＳ２６２では、メダル限界フラグをセットする。すなわち、現時点でメダル限界値になっていることを示すフラグをオンにし（図３中、データＢのＤ７ビット）、本フローチャートによる処理を終了する。
【０１７２】
図１９は、図１７のステップＳ２４７における貯留枚数から１枚を減算する処理（MS_CREDIT_DEC ）を示すフローチャートである。
ステップＳ２７１では、貯留枚数の読み込み処理（S_CREDIT_READ ）を行う。この処理は、図１４の処理と同一である。
次のステップＳ２７２では、貯留枚数から「１」を減算する処理（「−１」）を行う。そして本フローチャートによる処理を終了する。
【０１７３】
図２０は、図９のステップＳ１４１における精算処理（MS_MEDAL_RET）を示すフローチャートである。
先ず、ステップＳ２８１では、メインＣＰＵ５４は、貯留枚数の読み込み処理（S_CREDIT_READ ）を行う。この処理は、図１４の処理と同一である。次のステップＳ２８２では、メインＣＰＵ５４は、メダル読み込み処理（S_PLAYM_READ）を行う。この処理は、図１３の処理と同一である。
【０１７４】
次に、ステップＳ２８３に進み、メインＣＰＵ５４は、作動フラグをチェックする。続いて、ステップＳ２８４では、メインＣＰＵ５４は、当該遊技でリプレイの作動フラグがオンであるか否かを判断する。このステップＳ２８３及びＳ２８４の処理は、上述したステップＳ１９２及びＳ１９３と同様である。
ステップＳ２８４においてリプレイ作動時でないときはステップＳ２８６に進み、リプレイ作動時であるときはステップＳ２８５に進む。
【０１７５】
ステップＳ２８５では、精算可能なベット数をクリアする。この処理は、ステップＳ２８２で読み込んだベット数を、リプレイ作動時には「０」にする処理である。
次のステップＳ２８６では、メインＣＰＵ５４は、精算可能なメダルの有無を判断する。この処理は、ステップＳ２８１で読み込んだ貯留枚数（クレジット枚数）と、ステップＳ２８２で読み込んだベット数とを「ＯＲ」演算し、精算可能なメダルの有無を判断する。ここで、リプレイ作動時の場合には、ステップＳ２８５において値を「０」（クリア）にしているため、貯留枚数がある場合にのみ「Ｙｅｓ」となる。
ステップＳ２８６において精算可能なメダルありと判断したときはステップＳ２８７以降の処理に進むが、精算可能なメダルなしと判断したときは、本フローチャートによる処理を終了する。
【０１７６】
ステップＳ２８７では、ブロッカ４５をオフにする処理（MS_BROCKER_OFF）を行う。この処理は、上述した図１５の処理と同じである。
次に、ステップＳ２８８に進み、メインＣＰＵ５４は、精算開始時の出力要求をセットし、次のステップＳ２８９では制御コマンドをセットする。
次のステップＳ２９０及びステップＳ２９１の処理は、上述したステップＳ２８３及びステップＳ２８４の処理と同一である。
【０１７７】
そして、ステップＳ２９１において、リプレイ作動時であると判断したときはステップＳ２９４に進み、リプレイ作動時でないと判断したときはステップＳ２９２に進む。
ステップＳ２９２では、メダルの読み込み処理（S_PLAYM_READ）（ステップＳ２８２と同じ）を行う。この処理は、現在ベットされているメダル枚数を読み込む処理である。
【０１７８】
次にステップＳ２９３に進み、メインＣＰＵ５４は、ベットメダルの有無を判断する。ベットメダルありと判断されたときはステップＳ２９７以降の処理に進み、ベットメダルなしと判断されたときはステップＳ２９４以降の処理に進む。
ここで、ベットメダルありの場合には、ステップＳ２９７以降の処理を行うことによって、ベットメダルの精算処理を行う。これに対し、ベットメダルなしの場合には、ステップＳ２９４以降の処理を行うことによって、貯留メダル、すなわちクレジットされているメダルの精算処理を行う。
【０１７９】
ステップＳ２９３からステップＳ２９４に進むと、メインＣＰＵ５４は、打ち止め表示ＬＥＤを点灯する処理を行う。本実施形態では、貯留メダルの精算処理を行っている間は、打ち止め表示ＬＥＤを点灯させる。次にステップＳ２９５に進み、貯留メダルの精算処理（MS_CREDIT_RET ）を行う（後述する図２１）。この精算処理後は、ステップＳ２９６に進み、ステップＳ２９４で点灯させた打ち止め表示ＬＥＤの消灯処理を行う。そして、ステップＳ３０６に進む。
なお、打ち止め表示ＬＥＤの点灯／消灯を示すデータは、図３中、データＢのＤ４ビットに記憶される。
【０１８０】
一方、ステップＳ２９３においてベットメダルありと判断され、ステップＳ２９７に進むと、メインＣＰＵ５４は、メダル１枚の払出し処理（MS_1MEDAL_PAY ）を行う（後述する図２２）。
【０１８１】
次にステップＳ２９８に進み、メインＣＰＵ５４は、投入枚数を表示するＬＥＤを１減算するように制御する。次のステップＳ２９９では、メダルの読み込みを行う（S_PLAYM_READ）。次にステップＳ３００に進み、メダル枚数の減算処理を行う。次のステップＳ３０１では、メダル枚数表示の出力要求をセットする。この処理は、１枚のメダルを減算した後のメダル枚数の表示の要求である。次のステップＳ３０２では、メインＣＰＵ５４は、制御コマンドをセットし、次のステップＳ３０３でメダル読み込みを行う（S_PLAYM_READ）。このステップＳ３０３では、１枚減算後のメダル枚数が読み込まれる。
【０１８２】
そしてステップＳ３０４に進み、メインＣＰＵ５４は、ステップＳ２９３と同様に、ベットメダルの有無を判断する。ベットメダルありと判断されたときはステップＳ２９７に戻り、上記と同様に、メダル１枚の払い出し処理を行う。これに対し、ベットメダルなしと判断されたときはステップＳ３０５に進み、メインＣＰＵ５４は、メダル限界フラグをクリアする処理を行う。次にステップＳ３０６に進み、メインＣＰＵ５４は、精算要求時の出力要求をセットする。次のステップＳ３０７では、メインＣＰＵ５４は、制御コマンドをセットする。そして次に、ブロッカ４５をオンにする処理（MS_BROCKER_ON ）に移行する。
【０１８３】
図２１は、図２０のステップＳ２９５における貯留メダルの精算処理（MS_CREDIT_RET ）を示すフローチャートである。
図２１において、まず、ステップＳ３１１では、メインＣＰＵ５４は、現時点における貯留枚数の読み込み処理（S_CREDIT_READ ）を行う。次にステップＳ３１２に進み、メインＣＰＵ５４は、ステップＳ３１１で読み込んだ結果に基づいて、貯留メダル、すなわちクレジットの有無を判断する。貯留メダルありと判断したときはステップＳ３１３に進み、貯留メダルなしと判断したときは本フローチャートによる処理を終了する。
【０１８４】
ステップＳ３１３では、貯留メダルから、メダル１枚の払出し処理（MS_1MEDAL_PAY ：図２２）を行う。次にステップＳ３１４に進み、貯留メダル枚数から１枚を減算する処理（MS_CREDIT_DEC ）（図１９）を行う。その後、ステップＳ３１１に戻る。
【０１８５】
図２２及び図２３は、図２０のステップＳ２９７（及び図２１のステップＳ３１３）におけるメダル１枚の払出し処理（MS_1MEDAL_PAY ）を示すフローチャートである。図２３は、図２２に続くフローチャートである。
図２２のステップＳ３２１では、メインＣＰＵ５４は、エラー未検出をセットする。すなわち、初期状態ではエラーを検出していない状態をセットする。次のステップＳ３２２では、メインＣＰＵ５４は、メダル詰まりエラー表示要求をセットする。
【０１８６】
次にステップＳ３２３に進み、メインＣＰＵ５４は、エラーを検出したか否かを判断する。エラーを検出したと判断したときはステップＳ３２４に進んでエラー表示を行う。そしてステップＳ３２５に進む。一方、ステップＳ３２３でエラーを検出していないと判断したときはステップＳ３２５に進む。
ステップＳ３２５では、メインＣＰＵ５４は、メダル払出し装置３５の制御時間をセットする。ここでは、制御時間の計時を開始する。次にステップＳ３２６に進み、ホッパーモータ３６を駆動する。次にステップＳ３２７に進み、メインＣＰＵ５４は、ステップＳ３２５でセット後の制御時間の読み込みを行う。
【０１８７】
そして、次のステップＳ３２８において、メインＣＰＵ５４は、制御時間が所定時間を経過したか否かを判断する。所定時間を経過したと判断したときはステップＳ３３１に進み、所定時間を経過していないと判断したときはステップＳ３２９に進む。
ステップＳ３３１では、ホッパーモータ３６の駆動信号をオフにする処理を行う。そして、次のステップＳ３３２では、払出しセンサ１の検出時間をセットする。ここでは、検出時間の計時を開始する。次にステップＳ３３３に進み、メインＣＰＵ５４は、払出しセンサ１信号に係るデータがオンであるか否かを判断する。オンであると判断したときはステップＳ３２５に進み、オンでないと判断したときはステップＳ３３４に進む。
【０１８８】
ステップＳ３３４では、メインＣＰＵ５４は、払出しセンサ１の検出時間が所定時間を経過したか否かを判断する。所定時間を経過したと判断したとき、すなわち払出しセンサ１信号に係るデータがオンでなく、かつ払出しセンサ１の検出時間が所定時間を経過したときは、メダルが払い出されていないこととなるので、ステップＳ３３５に進み、メインＣＰＵ５４は、メダル空エラーの表示要求をセットする。そしてステップＳ３２３に進む。一方、ステップＳ３３４において払出しセンサ１の検出時間が所定時間を経過していないと判断したときはステップＳ３３３に戻る。
【０１８９】
ステップＳ３２８において制御時間が所定時間を経過していないと判断され、ステップＳ３２９に進むと、メインＣＰＵ５４は、払出しセンサ１信号に係るデータがオンであるか否かを判断する。オンであると判断したときはステップＳ３３０に進み、オンでないと判断したときはステップＳ３２７に戻る。
【０１９０】
ステップＳ３３０では、払出しセンサ１の検出時間をセットする。この処理は、ステップＳ３３２と同様である。次にステップＳ３３６に進み、メインＣＰＵ５４は、メダル詰まりを検出したか否かを判断する。メダル詰まりを検出したと判断したときはステップＳ３２２に進み、検出していないと判断したときはステップＳ３３７に進む。
ステップＳ３３７では、メインＣＰＵ５４は、払出しセンサ１信号に係るデータがオンであるか否かを判断する。オンであると判断されたときはステップＳ３３８に進み、オンでないと判断されたときはステップＳステップＳ３２７に進む。
【０１９１】
ステップＳ３２８では、メインＣＰＵ５４は、払出しセンサ１及び２信号に係るデータがオンであるか否かを判断する。双方がオンであると判断されたときはステップＳ３３９に進み、双方がオンでないと判断されたときはステップＳ３３６に戻る。
ステップＳ３３９では、メインＣＰＵ５４は、払出しセンサ２の検出時間をセットする。次に、図２３のステップＳ３４０に進み、メインＣＰＵ５４は、メダル詰まりを検出したか否かを判断する。メダル詰まりを検出したと判断したときはステップＳ３２２に進み、検出していないと判断したときはステップＳ３４１に進む。
【０１９２】
ステップＳ３４１では、メインＣＰＵ５４は、払出しセンサ２信号に係るデータがオフであるか否かを判断する。払出しセンサ２信号に係るデータがオフでないと判断したときはステップＳ３４０に戻り、オフであると判断したときはステップＳ３４２に進む。
ステップＳ３４２では、メインＣＰＵ５４は、メダル払出しが無効であるか否かを判断する。無効であると判断したときはステップＳ３２７に進み、無効でないと判断したときはステップＳ３４３に進む。ステップＳ３４３では、メインＣＰＵ５４は、払出しセンサ１信号に係るデータがオフであるか否かを判断する。オフであると判断したときはステップＳ３４４に進み、オフでないと判断したときはステップＳ３４０に戻る。
【０１９３】
ステップＳ３４４では、残り払出し数（カウント値）を「−１」（「１」減算）する。次にステップＳ３４５に進み、メインＣＰＵ５４は、メダル払出しを終了したか否かを判断する。メダル払出しを終了したと判断したときはステップＳ３４６に進み、終了していないと判断したときは本フローチャートを終了する。ステップＳ３４６では、メインＣＰＵ５４は、ホッパーモータ３６の駆動信号をオフにする。そして本フローチャートによる処理を終了する。
【０１９４】
以上、本発明の一実施形態について説明したが、本発明は、上記実施形態に限定されるものではなく、以下のような種々の変形が可能である。
（１）本実施形態では、８ビット１バイトデータ（データ列）として、操作スイッチのデータを記憶したが、これに限らず、個々の操作スイッチのデータをそれぞれ所定の格納領域に記憶するものでもよい。たとえば、本実施形態では、ベットスイッチ４０と精算スイッチ４６との各信号のデータを１バイト中に記憶し、同時に処理するようにしたが、それぞれ個々に記憶することも可能である。
【０１９５】
ただし、本実施形態のように、各操作スイッチのデータを１バイトデータとして記憶し、一括して読み取るようにすれば、一度の読み取り処理で全操作スイッチのデータを取得することができ、処理速度の向上や、処理の簡素化を図ることができる。
【０１９６】
（２）１回の割込み処理において、入力ポートのデータを１回だけ取得して、入力ポートレベルデータ及び入力ポート立ち上がりデータを生成してもよい。
また、１回の割込み処理においてデータを複数回取得し、複数回取得したデータのうち、一部のビットの信号は一致しているが、他の一部のビットの信号は一致していない場合が考えられる。たとえば図７において、Ｄ７ビットの信号は、Ｃレジスタに記憶したデータ（１回目取得時）とＡレジスタに記憶したデータ（２回目取得時）とで、いずれも「１」であり一致する。これに対し、Ｄ０ビットの信号は、１回目取得時と２回目取得時とでデータが異なる。
【０１９７】
このような場合に、一致しているビットの信号については当該割込み処理におけるレベルデータとして記憶するが、一致していないビットの信号については当該割込み処理におけるレベルデータを記憶しないことも可能である。さらに、当該割込み処理において記憶しなかったビットのレベルデータについては、前回の割込み処理におけるそのビットのレベルデータを使用することが挙げられる。
【０１９８】
（３）本実施形態では、ベット処理（図２０）において、３枚ベット後は、１ベットにすることはできないが、そのようなベット数の変更を可能としてもよい。３枚ベット後、１ベットスイッチ４０ａが操作されたときは、ベット数を「−２」にする処理を行うとともに、２枚分を貯留枚数に加算するか又は精算処理（払出し）を行うようにすることが挙げられる。
【０１９９】
（４）本実施形態では、精算スイッチ４６に係る立ち上がりデータに基づいて精算処理を開始するように制御した。すなわち、精算スイッチ４６が操作されることで精算処理を開始するようにした。
しかし、これに限らず、精算スイッチ４６を一定時間操作し続けること（押しっぱなし）により精算処理を開始するようにしてもよい。
たとえば、精算スイッチ４６に係るレベルデータが、５００回の割込み（≒約１１００ｍｓ）の間、連続でオンであるときに精算処理を開始することが挙げられる。また、この５００回の割込みの間にメダルの投入を検知したときは、メダルの投入処理を実行することが挙げられる。
【０２００】
ここで、図５及び図６の例では、１回目割込み時と２回目割込み時とで取得したデータが異なる場合には、今回割込み時のデータを「０」とした。一方、図７の例では、１回目割込み時と２回目割込み時とで取得したデータが異なる場合には、前回割込み時のデータを採用した。
そして、上記のような精算スイッチ４６の押しっぱなしを検出する場合には、図７の方法を採用することが好ましい。精算スイッチ４６が押しっぱなしとされた場合には、立ち上がりデータはずっと「１」のままとなるが、その途中でチャタリングやノイズ等によって「０」のデータを稀に単発で取得しても、その場合には前回割込み時のデータを採用することで、立ち上がりデータをずっと「１」にすることができる。これにより、精算スイッチ４６の押しっぱなしを正しく検知することができる。
【０２０１】
（５）実施形態（図２０）では、精算スイッチ４６が操作された場合において、ベットメダルを有するときは、ベットメダルを先に精算するように制御している。したがって、ベットメダルと貯留メダルの双方を有する場合において、双方を精算するときは、精算スイッチ４６を２回操作する必要がある。
しかし、これに限らず、１回の精算スイッチ４６の操作で、ベットメダルと貯留メダルの双方を精算できるように制御してもよい（ただし、リプレイ非作動時に限る）。
【０２０２】
（６）本実施形態及び上記の各種の変形例は、単独で実施されることに限らず、適宜組み合わせて実施することが可能である。
【０２０３】
＜付記＞
本願の出願当初の請求項に係る発明（当初発明）が解決しようとする課題、当初発明に係る課題を解決するための手段及び当初発明の効果は、以下の通りである。
（ａ）当初発明が解決しようとする課題
前述の従来の技術において、たとえば遊技者が１ベットスイッチを１回操作したとき、遊技機側では、１ベットスイッチの操作信号が入力されることにより１ベットスイッチの操作が検知される。そして、１ベット処理が行われる。このとき、チャタリングやノイズ等により、再度、遊技者が１ベットスイッチを操作したと誤検知される場合があった。この場合には、再度、１ベット処理が行われる。
このように誤検知されると、１ベットスイッチを１回操作しただけであるのに、１枚のメダルが連続投入される結果、２枚あるいは３枚のベット処理が行われる場合があった。さらに、２枚又は３枚ベット後に、ベット数を変更することができない仕様の遊技機であるときは、遊技者が意図しないベット数で遊技を行わなければならなかった。
当初発明が解決しようとする課題は、ベットスイッチ等の操作スイッチにおいて、チャタリングやノイズ等による誤検知を抑制し、遊技者が意図しない操作が行われることを少なくすることである。
【０２０４】
（ｂ）当初発明に係る課題を解決するための手段（なお、かっこ書きで、対応する実施形態を記載する。）
第１の解決手段（遊技機）は、
遊技媒体（メダル）を貯留する貯留手段（メモリ５３、貯留枚数表示装置４７ｂ等）と、
遊技者が遊技を進行する上で操作する操作スイッチ（１ベットスイッチ４０ａ、３ベットスイッチ４０ｂ、スタートスイッチ４１、ストップスイッチ４２）と
を備え、
前記操作スイッチとして、前記貯留手段に貯留されている遊技媒体を投入するときに遊技者が操作する操作スイッチであって、遊技媒体の投入数が異なる複数の投入スイッチ（１ベットスイッチ４０ａ、３ベットスイッチ４０ｂ）を有し、
前記投入スイッチを含む所定の前記操作スイッチの操作信号が入力される入力ポート（５１ａ）を備え、
遊技の進行に係る情報処理として、
遊技の進行を制御するメイン処理と、
前記メイン処理の実行中に、前記メイン処理とは異なる処理を割込みによって実行する割込み処理と
を有し、
前記割込み処理は、
前記入力ポートに入力された操作信号の取得を１割込み時間内で複数回行うとともに、その取得ごとに、前記操作スイッチのオン／オフを示すレベルデータを生成し、
生成した複数個のレベルデータの値が一致することを条件に、その割込み処理におけるレベルデータとして記憶し、
今回の割込み処理におけるレベルデータと、前回の割込み処理におけるレベルデータとから、前記操作スイッチのオン／オフの変化を示す立ち上がりデータを生成し、
前記メイン処理は、立ち上がりデータに基づいていずれかの前記投入スイッチの操作を検知したときは、前記投入スイッチの操作受付けが有効であり、かつ投入可能な遊技媒体が前記貯留手段に貯留されていることを条件として、立ち上がりデータの前記投入スイッチに係るデータをオフにした後、前記貯留手段に貯留されている遊技媒体の投入処理を実行する
ことを特徴とする。
【０２０５】
第２の解決手段は、第１の解決手段において、
前記操作スイッチとして、前記貯留手段に貯留されている遊技媒体を返却するときに遊技者が操作する精算スイッチ（４６）を備え、
前記入力ポートには、前記精算スイッチの操作信号が入力され、
前記メイン処理は、立ち上がりデータに基づいて前記精算スイッチの操作を検知したときは、前記精算スイッチの操作受付けが有効であり、かつ返却可能な遊技媒体が前記貯留手段に貯留されていることを条件として、前記貯留手段に貯留されている遊技媒体の返却処理を実行する
ことを特徴とする。
【０２０６】
当初発明においては、１割込み時間内において、操作スイッチの信号の取得を複数回行い、取得ごとに、操作スイッチのオン／オフを示すレベルデータを生成する。そして、生成した複数個のレベルデータの値が一致することを条件に、その割込み処理におけるレベルデータとして記憶する。
また、今回の割込み処理におけるレベルデータと、前回の割込み処理におけるレベルデータとから、操作スイッチのオン／オフの変化を示す立ち上がりデータを生成する。
そして、立ち上がりデータに基づいて、いずれかの投入スイッチの操作を検知したときは、立ち上がりデータの投入スイッチに係るデータをオフにした後、遊技媒体の投入処理を実行する。
【０２０７】
（ｃ）当初発明の効果
当初発明によれば、複数個のレベルデータの値が一致することを条件にその割込み処理におけるレベルデータとして記憶するので、ノイズやチャタリング等のデータを除去することができる。
また、割込み処理によって、操作スイッチの操作を意味する立ち上がりデータを生成し、投入（ベット）処理を実行するときは、立ち上がりデータの投入スイッチに係るデータをオフにした後に実行するので、遊技者が意図しない投入が行われることを防止することができる。
【符号の説明】
【０２０８】
１０  スロットマシン（遊技機）
２１  ランプ
２２  スピーカ
２３  画像表示装置
３１  リール
３２  モータ
３３  インデックスセンサ
３５  メダル払出し装置
３６  ホッパーモータ
３７ａ、３７ｂ  払出しセンサ
３８  満杯センサ
４０ａ  １ベットスイッチ
４０ｂ  ３ベットスイッチ
４１  スタートスイッチ
４２  ストップスイッチ
４３  メダル投入口
４３ａ  通路センサ
４４ａ、４４ｂ  投入センサ
４５  ブロッカ
４６  精算スイッチ
４７ａ  ベット枚数表示装置
４７ｂ  貯留枚数表示装置
５０  メイン制御基板
５１  入力ポート
５２  出力ポート
５３  メモリ
５４  メインＣＰＵ
６１  役抽選手段
６２  リール制御手段
６３  入賞判定手段
６４  払出し手段
８０  サブ制御基板
８１  入力ポート
８２  出力ポート
８３  メモリ
８４  サブＣＰＵ
【図１】
2015157173.tif 000003
【図２】
2015157173.tif 000004
【図３】
2015157173.tif 000005
【図４】
2015157173.tif 000006
【図５】
2015157173.tif 000007
【図６】
2015157173.tif 000008
【図７】
2015157173.tif 000009
【図８】
2015157173.tif 000010
【図９】
2015157173.tif 000011
【図１０】
2015157173.tif 000012
【図１１】
2015157173.tif 000013
【図１２】
2015157173.tif 000014
【図１３】
2015157173.tif 000015
【図１４】
2015157173.tif 000016
【図１５】
2015157173.tif 000017
【図１６】
2015157173.tif 000018
【図１７】
2015157173.tif 000019
【図１８】
2015157173.tif 000020
【図１９】
2015157173.tif 000021
【図２０】
2015157173.tif 000022
【図２１】
2015157173.tif 000023
【図２２】
2015157173.tif 000024
【図２３】
2015157173.tif 000025