以下、本発明の実施の形態について図面を参照して説明する。なお、以下では遊技機の一つであるスロットマシンについて説明するが、本発明に係る遊技機は、スロットマシンに限ることなく、パチンコ遊技機等の遊技機であってもよい。
図1に示すように、本発明のスロットマシン(遊技機)10は、遊技者側を向く面である前面側が開口された箱状の筐体11と、当該筐体11の前面側開口を開閉する前面扉12とを備えている。筐体11には、回転自在な第1リール20a、第2リール20bおよび第3リール20cがユニット化されたリールユニットと、メダルの払い出しを行うホッパー装置等が収納されている。また、前面扉12は、上扉12aと下扉12bとに分割されており、これら上扉12aおよび下扉12bはそれぞれ筐体11に対して開閉自在となっている。
上扉12aには、液晶ディスプレイ(表示手段)13、スピーカ14などの演出用の装置、および、表示窓16が設けられている。液晶ディスプレイ13は、各種演出用の画像(動画、静止画)を表示する。また、スピーカ14は、各種演出用の音(音楽、効果音、音声等)を出力する。なお、演出用の装置としては、液晶ディスプレイやスピーカの他にランプ(LED)などの照明装置、アクチュエータ等で動作可能な可動役物などを設けても良い。
表示窓16の奥には、リールユニットが、その一部を表示窓16の外から視認可能に配置されている。各リール20a〜20cの外周面には、複数種類の図柄が一列に配置されており、各リール20a〜20cが停止すると表示窓16を通して1リール当たり3個の図柄(上段図柄、中段図柄、下段図柄)が表示される。また、表示窓16には、各リール20a〜20cの図柄を視認するための表示位置として、上段、中段、下段が設けられており、各リール20a〜20cの表示位置の組合せによって有効ラインが設定されている。なお、本実施形態の遊技機では、第1リール20aの中段と、第2リール20bの中段と、第3リール20cの中段とによって有効ラインが構成されている。また、本実施の形態の遊技機では、1回の遊技に関して必要なメダルの数(規定数)が、3枚に設定されており、規定数のメダルが投入されると、有効ラインが有効化される。
スロットマシン10では、遊技開始に伴って各リール20a〜20cが回転を開始するとともに当選役抽選が実行されて当選役のいずれかの当選またはハズレ(不当選)が決定される。次いで、リール20a〜20cが停止したときに、当選役抽選で当選した当選役に対応する図柄組合せが有効ラインに表示されると、この当選役が入賞となり、入賞した当選役に対応する処理(入賞処理)が実行される。具体的には、リール20a〜20cが停止することによって有効ライン上に表示(停止表示)された図柄組合せを、ROMに記憶されている入賞判定テーブルに照合する表示判定処理を行い、この表示判定処理の結果に基づいて入賞処理を行う。
入賞処理としては、具体的には例えば、小役が入賞した場合には払出処理を行い、リプレイが入賞した場合にはリプレイ処理(再遊技処理)を行い、ボーナスが入賞した場合には遊技状態を移行させる処理(遊技状態移行制御処理)を行う。
ここで、払出処理は、小役が入賞した場合に、役毎に定められている配当に基づいて決定された枚数のメダルを払い出す処理である。また、リプレイ処理は、リプレイが入賞した場合に、次回の遊技に関して遊技者の所有するメダルの投入を要さずに前回の遊技と同じ遊技開始待機状態に設定する処理である。すなわち、リプレイが入賞した場合には、前回の遊技(当該リプレイが入賞した遊技)において投入状態に設定された枚数と同じ枚数分のメダルを、遊技者の手持ちのメダル(クレジットされたメダルを含む)を使わずに自動的に投入する自動投入処理が行われ、自動投入処理によって投入されたメダルの数に対応する有効ラインを設定した状態で次回のスタートレバー24に対する遊技開始操作を待機する。
なお、自動投入処理が行なわれた場合、自動投入処理が行われた後の最初の遊技についてのメダルのベット数の加減算はできないようになっている。具体的には、自動投入処理が行なわれた場合に、メダル投入口22にメダルが投入されてもベット数が増加しないようになっている。また、自動投入処理が行なわれた場合に、精算ボタン(精算スイッチ:精算操作手段)が操作されても、自動投入処理によって自動投入(ベット)された分のメダルは払い出されないようになっている。一方、自動投入処理が行われた場合であっても、クレジット(貯留)されるメダルについては増減させることが可能となっている。すなわち、自動投入処理が行なわれ、自動投入処理が行われた後の最初の遊技が開始されるまでの間にメダル投入口22にメダルが投入されると、メダルのクレジット数が増加するようになっている。また、自動投入処理が行なわれ、自動投入処理が行われた後の最初の遊技が開始されるまでの間に精算ボタンが操作されると、クレジットされているメダルが払い出されるようになっている。
下扉12bには、メダルを投入するメダル投入口22、クレジットされたメダルをベットするためのベットボタン(ベットスイッチ)23、遊技を開始する際に操作されるスタートレバー(スタートスイッチ:遊技開始操作手段)24、回転しているリールを停止させるためのストップボタン(ストップスイッチ:停止操作手段)26a,26b,26c、ホッパー装置によりメダルを払い出す払い出し口27、払い出し口27から払い出されたメダルを受けるメダル受け皿28が設けられている。また、メダル投入口22の奥には、メダル投入口22から投入されたメダルの通過を検知するメダルセンサが設けられている。
スロットマシン10では、メダル投入口22にメダルが投入、または、ベットボタン23が操作され規定数のメダルがベットされることで、スタートレバー24の操作が有効化される。また、有効化されたスタートレバー24が操作されると遊技が開始される。遊技が開始されると、各リール20a〜20cが回転を開始し、各リール20a〜20cの回転速度が一定速度に到達して定常回転となるとストップボタン26a〜26cの操作が有効化される。また、有効化されたストップボタン26a〜26cが操作されると、操作されたストップボタン26a〜26cに対応する各リール20a〜20cを停止する。
スロットマシン10の内部には、図2に示すように、メイン制御基板(主制御装置)30と、サブ制御基板(副制御装置)98とが設けられている。メイン制御基板30は、ベットボタン23、スタートレバー24、ストップボタン26a〜26c、メダルセンサ等の入力手段からの入力信号を受けて、遊技を実行するための各種の演算を行い、演算結果に基づいてリール20a〜20cや、ホッパー装置等の出力手段の制御を行う。また、サブ制御基板98は、メイン制御基板30から送られてくる信号を受けて、演出を実行するための各種の演算を行い、演算結果に基づいて液晶ディスプレイ13、スピーカ14、照明装置15等の演出用の装置の制御を行う。
また、メイン制御基板30とサブ制御基板98とは電気的に接続されており、メイン制御基板30からサブ制御基板98へは遊技状態を示す情報など各種情報(信号)の送信が可能となっているが、サブ制御基板98からメイン制御基板30へは情報を送信できないようになっている。
また、メイン制御基板30やサブ制御基板98等の各基板の機能は、各種のプロセッサ(CPU、DSP等)、IC、あるいはROMやRWM等の情報記憶媒体等のハードウェアや、ROM等に予め記憶されている所定のプログラムからなるソフトウェアにより実現される。
メイン制御基板30は、遊技制御手段100、信号制御手段102、カウンタ更新手段104および主記憶手段106を備えている。また、主記憶手段106は、ROMとRWMとを備えている。本実施形態の説明において、単にROMあるいはRWMといった場合には、基本的に主記憶手段106のROMまたはRWMを指すものとする。
遊技制御手段100は、遊技の進行を制御する手段であって、メダルが投入され、スタートレバー24が操作されると、当選役抽選により役の当否を決定するとともに、リール20a〜20cを回転させ、ストップボタン54に対する停止操作が行われると、当選役抽選の結果に応じて回転中のリールを停止させて、有効ライン上に表示された図柄組合せに基づいて役が入賞したか否かを判定する表示判定処理を実行し、判定結果に応じた処理を行うことによって、遊技を進行させるメインループ処理を行う。
各リール20a〜20cは、4相のステッピングモータを備えている。そして、このステッピングモータを1−2相励磁方式で制御することにより各リール20a〜20cが回転するようになっている。具体的には、ステッピングモータは、ロータと第1相、第2相、第3相、第4相の4相のコイルを有するステータとを備えており、第1相〜第4相のコイルが順次励磁されることにより、ロータが回転するようになっている。そして、各リール20a〜20cに対応するステッピングモータのロータが回転することにより、各リール20a〜20cが回転するようになっている。
以下では、第1〜第3リール20a〜20cそれぞれの、第1相のコイルに送られる信号を「第1回動ステッピングモータ第1相信号」、「第2回動ステッピングモータ第1相信号」、「第3回動ステッピングモータ第1相信号」と呼び、第2相のコイルに送られる信号を「第1回動ステッピングモータ第2相信号」、「第2回動ステッピングモータ第2相信号」、「第3回動ステッピングモータ第2相信号」と呼び、第3相のコイルに送られる信号を「第1回動ステッピングモータ第3相信号」、「第2回動ステッピングモータ第3相信号」、「第3回動ステッピングモータ第3相信号」と呼び、第4相のコイルに送られる信号を「第1回動ステッピングモータ第4相信号」、「第2回動ステッピングモータ第4相信号」、「第3回動ステッピングモータ第4相信号」と呼ぶこととする。これらの各制御信号が、リール20a〜20cの各相コイルに送られることにより、各相コイルが励磁される。
リール20a〜20cを回転させる場合には、例えば、第1相〜第4相のコイルを順に、図3に示すパターンで励磁させる。なお、図3に示す丸印は、対応するコイルを励磁させることを示している。図3に示す順序で、励磁パターンを更新していくことにより、リール20a〜20cが正転するようになっている。また、リール20a〜20cを停止させる場合には、第1相〜第4相のすべてのコイルを励磁させる(全相励磁する)。そして、リール20a〜20cの停止後に第1相〜第4相のすべてのコイルに対する励磁を止める。
なお、図3に示すもの以外の順序で励磁パターンを更新することとしてもよい。例えば、図3に示す順序と逆の順序で励磁パターンを更新することにより、リール20a〜20cを反転させることができる。また、励磁方式やステッピングモータの相の数は本実施形態のものに限られない。励磁方式やステッピングモータの相の数等に合わせて適宜読み換えることで、本発明を適用することが可能である。
リール20a〜20cを制御するための制御信号は、図4に示すメイン制御基板30のメインCPU(制御回路)31から出力される。
メイン制御基板30は、メインCPU31と、3個のフリップフロップ(IC:集積回路)32,33,34とを備えている。また、フリップフロップ32は第1出力ポートを構成し、フリップフロップ33は第2出力ポートを構成し、フリップフロップ34は第3出力ポートを構成する。ここで、出力ポートとは、メインCPU31がリール20a〜20c等の周辺機器に対して信号を送信するときに用いる回路であって、ビット値「0」または「1」を出力することができる回路を意味する。
メインCPU31は、出力端子D0〜D7を有している。そして、メインCPU31は、出力端子D0〜D7から8ビットのデータを出力可能になっている。また、フリップフロップ32は入力端子D1〜D8と出力端子Q1〜Q8とを有しており、同じ番号が付された入力端子と出力端子とがそれぞれ対応している。また、フリップフロップ33,34も同様に、入力端子D1〜D8と出力端子Q1〜Q8とを有しており、同じ番号が付された入力端子と出力端子とがそれぞれ対応している。
なお、メインCPU31およびフリップフロップ32〜34はこれ以外にも複数の端子を有している。
メインCPU31の出力端子D0は、フリップフロップ32〜34の入力端子D1に配線MD0を介して接続されている。また、メインCPU31の出力端子D1は、フリップフロップ32〜34の入力端子D2に配線MD1を介して接続されている。また、メインCPU31の出力端子D2は、フリップフロップ32〜34の入力端子D3に配線MD2を介して接続されている。また、メインCPU31の出力端子D3は、フリップフロップ32〜34の入力端子D4に配線MD3を介して接続されている。また、メインCPU31の出力端子D4は、フリップフロップ32〜34の入力端子D5に配線MD4を介して接続されている。また、メインCPU31の出力端子D5は、フリップフロップ32〜34の入力端子D6に配線MD5を介して接続されている。また、メインCPU31の出力端子D6は、フリップフロップ32〜34の入力端子D7に配線MD6を介して接続されている。また、メインCPU31の出力端子D7は、フリップフロップ32〜34の入力端子D8に配線MD7を介して接続されている。そして、配線MD0〜MD7は、メインCPU31からフリップフロップ32〜34へ8ビットのデータを送信可能なデータバスとなっている。そして、メインCPU31は、出力端子D0〜D7から各フリップフロップ32〜34へ、8ビットのデータをパラレル通信で送信することが可能となっている。
また、フリップフロップ32の出力端子Q5〜Q8は、第1リール20aに接続されている。具体的には、フリップフロップ32の出力端子Q5は、第1リール20aの第1相のコイルに接続されている。また、フリップフロップ32の出力端子Q6は、第1リール20aの第2相のコイルに接続されている。また、フリップフロップ32の出力端子Q7は、第1リール20aの第3相のコイルに接続されている。また、フリップフロップ32の出力端子Q8は、第1リール20aの第4相のコイルに接続されている。
また、フリップフロップ33の出力端子Q5〜Q8は、第2リール20bに接続されている。具体的には、フリップフロップ33の出力端子Q5は、第2リール20bの第1相のコイルに接続されている。また、フリップフロップ33の出力端子Q6は、第2リール20bの第2相のコイルに接続されている。また、フリップフロップ33の出力端子Q7は、第2リール20bの第3相のコイルに接続されている。また、フリップフロップ33の出力端子Q8は、第1リール20bの第4相のコイルに接続されている。
また、フリップフロップ34の出力端子Q5〜Q8は、第3リール20cに接続されている。具体的には、フリップフロップ34の出力端子Q5は、第3リール20cの第1相のコイルに接続されている。また、フリップフロップ34の出力端子Q6は、第3リール20cの第2相のコイルに接続されている。また、フリップフロップ34の出力端子Q7は、第3リール20cの第3相のコイルに接続されている。また、フリップフロップ34の出力端子Q8は、第3リール20cの第4相のコイルに接続されている。
なお、より具体的には、フリップフロップ32〜34の出力端子Q5〜Q8とリール20a〜20cの各コイルとは、リール20a〜20cを駆動するための駆動回路(例えば、ダーリントントランジスタ等の増幅回路)(図示せず)を介して接続されている。また、メインCPU31からリール20a〜20cまでの信号経路に、フリップフロップ32〜34とは別の、他のICや電子部品が介在していてもよい。
メインCPU31の出力端子D0〜D7からは、8ビットのデータが出力される。そして、メインCPU31の出力端子D0〜D7から出力されたデータが、適宜フリップフロップ32〜34を介してリール20a〜20cに送られるようになっている。
ここで、各フリップフロップ32〜34を介して送られる信号について図5を参照しながら説明する。図5は、各フリップフロップ32〜34の各入力端子D1〜D8および各出力端子Q1〜Q8を通る信号をまとめた表である。換言すると、各フリップフロップ32〜34の各入力端子D1〜D8および各出力端子Q1〜Q8(ビット0〜7の各ビット)には、図5に示す各信号が割り当てられている。
フリップフロップ32の入力端子D1から出力端子Q1へは「外部信号1」が送られ、入力端子D2から出力端子Q2へは「外部信号2」が送られ、入力端子D3から出力端子Q3へは「外部信号3」が送られ、入力端子D4から出力端子Q4へは「メダル払出装置信号」が送られ、入力端子D5から出力端子Q5へは「第1回動ステッピングモータ第1相信号」が送られ、入力端子D6から出力端子Q6へは「第1回動ステッピングモータ第2相信号」が送られ、入力端子D7から出力端子Q7へは「第1回動ステッピングモータ第3相信号」が送られ、入力端子D8から出力端子Q8へは「第1回動ステッピングモータ第4相信号」が送られるようになっている。
また、フリップフロップ33の入力端子D1から出力端子Q1へは「メダル投入信号」が送られ、入力端子D2から出力端子Q2へは「メダル払出信号」が送られ、入力端子D3から出力端子Q3へは「外部信号4」が送られ、入力端子D4から出力端子Q4へは「外部信号5」が送られ、入力端子D5から出力端子Q5へは「第2回動ステッピングモータ第1相信号」が送られ、入力端子D6から出力端子Q6へは「第2回動ステッピングモータ第2相信号」が送られ、入力端子D7から出力端子Q7へは「第2回動ステッピングモータ第3相信号」が送られ、入力端子D8から出力端子Q8へは「第2回動ステッピングモータ第4相信号」が送られるようになっている。
また、フリップフロップ34の入力端子D1から出力端子Q1へは「停止表示器1信号」が送られ、入力端子D2から出力端子Q2へは「停止表示器2信号」が送られ、入力端子D3から出力端子Q3へは「停止表示器3信号」が送られ、入力端子D4から出力端子Q4へは「ブロッカーソレノイド信号」が送られ、入力端子D5から出力端子Q5へは「第3回動ステッピングモータ第1相信号」が送られ、入力端子D6から出力端子Q6へは「第3回動ステッピングモータ第2相信号」が送られ、入力端子D7から出力端子Q7へは「第3回動ステッピングモータ第3相信号」が送られ、入力端子D8から出力端子Q8へは「第3回動ステッピングモータ第4相信号」が送られるようになっている。
すなわち、メインCPU31の出力端子D0からは「外部信号1」、「メダル投入信号」、「停止表示器1信号」が適宜出力され、メインCPU31の出力端子D1からは「外部信号2」、「メダル払出信号」、「停止表示器2信号」が適宜出力され、メインCPU31の出力端子D2からは「外部信号3」、「外部信号4」、「停止表示器3信号」が適宜出力され、メインCPU31の出力端子D3からは「メダル払出装置信号」、「外部信号5」、「ブロッカ―ソレノイド信号」が適宜出力され、メインCPU31の出力端子D4からは「第1回動ステッピングモータ第1相信号」、「第2回動ステッピングモータ第1相信号」、「第3回動ステッピングモータ第1相信号」が適宜出力され、メインCPU31の出力端子D5からは「第1回動ステッピングモータ第2相信号」、「第2回動ステッピングモータ第2相信号」、「第3回動ステッピングモータ第2相信号」が適宜出力され、メインCPU31の出力端子D6からは「第1回動ステッピングモータ第3相信号」、「第2回動ステッピングモータ第3相信号」、「第3回動ステッピングモータ第3相信号」が適宜出力され、メインCPU31の出力端子D7からは「第1回動ステッピングモータ第4相信号」、「第2回動ステッピングモータ第4相信号」、「第3回動ステッピングモータ第4相信号」が適宜出力されるようになっている。また、メインCPU31の出力端子D0〜D7から各フリップフロップ32〜34に送る信号は、8ビットのパラレル信号として出力される。
なお、メインCPU31の出力端子D0〜D7は、それぞれ上述の信号以外の信号も出力するようになっていてもよい。また、メインCPU31の出力端子D0〜D7から各ICに送る信号は、必ずしも8ビットのパラレル信号として出力されるものでなくてもよい。
メインCPU31の出力端子D0〜D7からは、上述の各信号を含む各種データ信号が順次出力されており、各フリップフロップ32〜34は、対応する信号を保持(ラッチ)することで、入力端子D1〜D8から出力端子Q1〜Q8へ信号を送るようになっている。すなわち、例えば、メインCPU31の出力端子D0〜D7から、「外部信号1」、「外部信号2」、「外部信号3」、「メダル払出装置信号」、「第1回動ステッピングモータ第1相信号」、「第1回動ステッピングモータ第2相信号」、「第1回動ステッピングモータ第3相信号」および「第1回動ステッピングモータ第4相信号」の8つのデータ信号に対応する8ビットのパラレル信号が出力される際に、メインCPU31のパルス出力端子PO0から配線WR1を介してフリップフロップ32に書き込み信号が送られる(図4参照)。そして、フリップフロップ32が、配線WR1を介して送られる書き込み信号の立ち上がりエッジに従って、これらのデータ信号を保持することで、これらのデータ信号がフリップフロップ32から出力され、フリップフロップ32を介して周辺機器に送られる。フリップフロップ33,34についても同様であり、メインCPU31から各フリップフロップ33,34に対応するデータ信号(パラレル信号)が出力される際に、メインCPU31のパルス出力端子PO1,PO2から配線WR2,3を介してフリップフロップ33,34に書き込み信号が送られ、各データ信号がフリップフロップ33,34を介して周辺機器に送られる。
以上のように、本実施の形態の遊技機においては、フリップフロップ32〜34は、8入力のDフリップフロップとなっている。そして、各フリップフロップ32〜34が、対応するデータ信号が送られる際に同時にメインCPU31から送られる書き込み信号に従って、対応するデータ信号を保持することにより、各種データ信号がフリップフロップ32〜34を介して送られるようになっている。なお、IC32〜34は、フリップフロップでなくてもよく、メインCPU31の出力端子D0〜D7から出力されるデータのうち、リール20a〜20cのそれぞれに対して送られるデータを、それぞれのリール20a〜20cに対して個別に伝達できる回路であればよい。また、メインCPU31とIC32〜34との間に他のICが介在していてもよい。
「メダル投入信号」、「メダル払出信号」、「外部信号1」、「外部信号2」、「外部信号3」、「外部信号4」、「外部信号5」は、遊技機の状態を知らせるために、筐体11内部の上方に設けられた外部集中端子板に送られる信号である。これらの信号は、電子回路基板としての外部集中端子板を介して、遊技機の状態を監視するホールコンピュータに送られる。そして、ホールコンピュータは、これらの信号に基づいて、異常が発生していないかどうか監視する。ここで、「メダル投入信号」は、1回の遊技毎に投入されたメダルの数を知らせる信号である。「メダル払出信号」は、メダルの払い出し数を知らせる信号である。「外部信号1」、「外部信号2」、「外部信号3」は、それぞれいわゆるRB、BB、ART等の作動回数をカウント可能にする信号である。「外部信号4」は、不正行為が行われているおそれがあると内部で判断した場合に、これを知らせる信号である。「外部信号5」は、前面扉12が開放されていることを知らせる信号である。
また、「停止表示器1信号」、「停止表示器2信号」、「停止表示器3信号」は、それぞれストップボタン26a〜26cに内蔵される赤色LEDおよび青色LEDの点灯/消灯を制御する信号である。そして、これらの信号によって、各ストップボタン26a〜26cを赤色または青色に光らせることで、各ストップボタン26a〜26cの操作が有効か無効かを遊技者に報知する。
また、「ブロッカーソレノイド信号」は、メダルの投入を防ぐブロッカーのON/OFFを制御する信号である。ブロッカーがON状態のときには、メダル投入口22から投入されたメダルを、ブロッカーがはじいて、メダル受け皿28に向けて排出させる。一方、ブロッカーがOFF状態の時には、メダル投入口22から投入されたメダルがホッパー装置に向けて流され、メダルがベットあるいは貯留される。
また、「メダル払出装置信号」は、ホッパー装置によるメダルの払い出しを制御する信号である。ホッパー装置は、「メダル払出装置信号」を受けて、所定の枚数のメダルを払い出す。
次に、メインCPU31における、リール20a〜20cを制御するための信号の生成について図6および図7を参照しながら説明する。メインCPU31は、図6に示す励磁パターン更新処理によって励磁パターンを更新し、この励磁パターンを出力端子D0〜D7(より具体的には、出力端子D4〜D7)から出力して、リール20a〜20cを制御する。
メインCPU31は、図7に示す励磁パターンテーブル60から励磁パターンを取得する(ステップS1)。ここで、励磁パターンテーブル60は、励磁パターンが登録されたものであり、メイン制御基板30のROM(図示せず)に格納されている。図7に示すように、励磁パターンテーブル60に登録された各データは8ビットのデータとなっている。また、この登録された各データのうち、上位4ビット(4ビット目から7ビット目)が励磁パターンとなっている。具体的には、4ビット目に「第1回動ステッピングモータ第1相信号」、「第2回動ステッピングモータ第1相信号」および「第3回動ステッピングモータ第1相信号」のデータが割り当てられており、5ビット目に「第1回動ステッピングモータ第2相信号」、「第2回動ステッピングモータ第2相信号」および「第3回動ステッピングモータ第2相信号」のデータが割り当てられており、6ビット目に「第1回動ステッピングモータ第3相信号」、「第2回動ステッピングモータ第3相信号」および「第3回動ステッピングモータ第3相信号」のデータが割り当てられており、7ビット目に「第1回動ステッピングモータ第4相信号」、「第2回動ステッピングモータ第4相信号」および「第3回動ステッピングモータ第4相信号」のデータが割り当てられている。なお、下位4ビットには、「0」が割り当てられている。そして、ステップS1の処理においては、励磁パターンテーブル60から、励磁パターンのデータを含む8ビットのデータを取得する。換言すると、メインCPU31は、励磁パターンテーブル60から、1つの励磁パターンを取得する。
次いで、メインCPU31は、リール20a〜20cのうち、今回の励磁パターン更新処理において励磁パターンを更新するリールに対応する出力ポート(フリップフロップ32〜34)に送るデータの、現在の値(合成前の値:合成前データ)を取得する(ステップS2)。
次いで、メインCPU31は、ステップS2で取得した合成前データの下位4ビットをマスクする(ステップS3)。次いで、メインCPU31は、ステップS3でマスクした合成前データと、ステップS1で取得した励磁パターンのデータを含む8ビットのデータとを合成する(ステップS4)。すなわち、メインCPU31の出力端子D0〜D7から出力されるデータは8ビットのデータであり、励磁パターンテーブル60から取得されるデータおよびこのデータと合成される合成前データは8ビットのデータとなっているが、励磁パターンとしての情報を持つのは、励磁パターンテーブル60から取得されるデータの上位4ビットであるため、下位4ビットをマスクしてデータを合成することにより、当該合成によって出力端子D0〜D7から出力されるデータの下位4ビットに影響が出ることがないようにしている。具体的には、例えば、ステップS1で「00110000」という励磁パターンのデータを含む8ビットのデータを取得し、ステップS2で「00010001」という合成前データ(外部信号1がON状態のデータ)を取得したとする。このときに、ステップS3の処理では、ステップS2で取得した合成前データ「00010001」とマスク用データ「00001111」とのAND(論理積)をとり、「00000001」というデータを得る。次いで、ステップS4の処理では、ステップS3で取得したデータ(マスクした合成前データ)「00000001」と、ステップS1で取得したデータ「00110000」とのOR(論理和)をとることで、「00110001」という合成データ(合成後データ)を得る。以上のような処理により、下位4ビットの値を維持したまま、上位4ビット(励磁パターン)を更新することができる。
なお、下位4ビットをマスクして2つのデータを合成する処理は、上記のものに限られず、更新したくない値である下位4ビットの値を更新することなく、励磁パターンを更新できる処理であればよい。
次いで、メインCPU31は、ステップS4で得られた合成データ(合成後データ)を、励磁パターンを更新するリール20a〜20cに対応する出力ポートに送るデータとして保存する(ステップS5)。そして、この保存されたデータが、所定のタイミングで、対応する出力ポートを介して、対応するリール20a〜20cに送られる。なお、合成後データは、作成した時に対応するリール20a〜20cに向けて送られるようにしてもよい。
以上により、対応するリール20a〜20cに送られる励磁パターンが更新される。また、リール20a〜20cの回転中は、図7(a)に示す1〜8の更新順序で励磁パターンの更新を繰り返し行う。また、リール20a〜20cを停止させる場合には、図7(b)に示す1〜2の更新順序で励磁パターンを更新することにより、第1相〜第4相のすべてのコイルを励磁してリール20a〜20cを停止させ、その後第1相〜第4相のすべてのコイルに対する励磁を止める。
なお、合成前データおよび合成後データと、メインCPU31の出力端子D0〜D7とは、同じ番号が付されたビットと出力端子とが互いに対応している。すなわち、合成後データの0ビット目のデータが、出力端子D0から出力され、合成後データの1ビット目のデータが、出力端子D1から出力され、合成後データの2ビット目のデータが、出力端子D2から出力され、合成後データの3ビット目のデータが、出力端子D3から出力され、合成後データの4ビット目のデータが、出力端子D4から出力され、合成後データの5ビット目のデータが、出力端子D5から出力され、合成後データの6ビット目のデータが、出力端子D6から出力され、合成後データの7ビット目のデータが、出力端子D7から出力される。そして、このような8ビットのデータが出力されることから、出力端子D0〜D7を、それぞれビット0〜ビット7と呼ぶことがある。同様に、フリップフロップ32〜34それぞれの、入力端子D1〜D7および出力端子Q1〜Q7も、それぞれビット0〜ビット7と呼ぶことがある。また、配線MD0〜MD7も、それぞれビット0〜ビット7と呼ぶことがある。
また、合成前データあるいは合成後データの下位4ビットについては、それぞれ所定のタイミングでビット毎にセット/リセットが行われる。そして、このビット毎のセット/リセットにより生成された各信号と、励磁パターン更新処理により更新された励磁パターンとが、所定のタイミングでメインCPU31の出力端子D0〜D7から出力される。
ここで、従来の遊技機における問題点について図5および図8を参照しながら説明する。従来の遊技機においては、例えば、図5に示すように、第2リール20bに対する信号と、第3リール20cに対する信号とが同一の出力ポート(フリップフロップ33)を介して送られていた。このため、励磁パターン更新処理における処理数が多くなってしまっていた。
この従来の遊技機においては、図8に示すように、本発明の遊技機同様、メインCPU31は、励磁パターンを取得し(ステップS11)、励磁パターンを更新するリール20a〜20cに対応する出力ポートに送るデータの現在の値(合成前の値:合成前データ)を取得する(ステップS12)。
次いで、メインCPU31は、今回の励磁パターン更新処理においては第2リール20bの励磁パターンを更新するのか否か判定する(ステップS13)。
第2リール20bの励磁パターンを更新する場合(ステップS13でYes)、メインCPU31は、ステップS12で取得した合成前データの上位4ビットをマスクする(ステップS14)。
次いで、メインCPU31は、マスクした合成前データの上位4ビットと下位4ビットとを反転させる(ステップS15)。次いで、メインCPU31は、この反転したデータと、ステップS11で取得した励磁パターンとを合成する(ステップS16)。次いで、メインCPU31は、合成により得られたデータの上位4ビットと下位4ビットとを反転させる(ステップS17)。次いで、メインCPU31は、ステップS16で合成し、ステップS17で反転することにより得られたデータ(合成後データ)を、第2リール20bおよび第3リール20cに対応する出力ポートに送るデータとして保存する(ステップS18)。
なお、ステップS13でNoの場合の処理(ステップS19,S20,S18)は、前述のステップS3,S4,S5の処理と同様のため、説明を省略する。
以上のように、この従来の遊技機においては、第2リール20bに対応するフリップフロップと、第3リール20cに対応するフリップフロップとが同一であるため、当該フリップフロップ33に対してメインCPU31の出力端子D0〜D7から出力するデータは、第2リール20bに対するデータと第3リール20cに対するデータとを含んでいる必要がある。よって、メインCPU31の出力端子D0〜D7のうち、第2リール20bを制御する信号が出力される端子と、第3リール20cを制御する信号が出力される端子とは、別の端子となってしまう。換言すると、当該フリップフロップ33に対してメインCPU31の出力端子D0〜D7から出力するデータにおいて、第2リール20bに対するデータと、第3リール20cに対するデータとは、別々のビットに割り当てられている必要がある。このため、ステップS14〜S17のように、上位ビットと下位ビットとを反転させて計算する処理等が必要となり、励磁パターン更新処理に係るプログラムのコード量等が増加してしまうこととなる。また、本実施の形態の遊技機においては、どの出力ポートに対する処理なのかという情報があれば、どのリール20a〜20cに対する処理なのか判定することなく処理が行なえるのに対し、従来の遊技機においては、ステップS13のように、どのリール20a〜20cに対する処理なのか判定する処理が必要となり、プログラムのコード量等が増加してしまうこととなる。また、下位4ビットに励磁パターンが割り当てられたテーブルデータを用意することで、反転処理等を省くことも可能であるが、この場合、テーブルデータのデータ量が増加してしまうこととなる。
これに対し、本実施の形態の遊技機によれば、メインCPU31は、3個のリール20a〜20cに対して、同一の端子群D4〜D7から制御信号を出力するので、3個のリール20a〜20cに対して同じ励磁パターン更新処理で制御信号を生成して出力することができる。したがって、複数のリールを制御する処理を容易化し、プログラム容量を削減することができる。なお、図8に示す従来の遊技機における励磁パターン更新処理に対し、図6に示す本実施の形態の遊技機における励磁パターン更新処理によれば、プログラムの容量を約半分に抑えることができる。
また、3個のリール20a〜20cに対して同一の端子群D4〜D7から出力される制御信号が、3個のリール20a〜20cそれぞれに対応した3個のフリップフロップ32〜34それぞれを介して送られるため、同一の端子群D4〜D7から出力される制御信号によって、3個のリール20a〜20cをそれぞれ個別に制御することが可能となる。
また、3個のフリップフロップ32〜34は、同一のICとなっている。すなわち、回路の種類(例えば、Dフリップフロップ、Dラッチ等)だけではなく、端子数等も同一の、型番が同一のICとなっている。そして、メインCPU31の出力端子D4〜D7の各端子は、3個のフリップフロップ32〜34の同一の各入力端子D5〜D8に対して接続されている。したがって、設計時や組み立て時における配線作業を容易化し、配線ミス等を防止することができる。また、フリップフロップ32〜34は、反応速度や駆動力が同一であるため、メインCPU31におけるタイミング制御やメイン制御基板30の設計等が容易化できる。
なお、メインCPU31の出力端子D0〜D7から出力されフリップフロップ32〜34に送られる信号のうち、リール20a〜20cを制御する信号以外の信号は、リール20a〜20cを制御する信号と異なり、それぞれビット毎にセット/リセットを行い生成すればよく、リール20a〜20cを制御する信号のように複数ビットのデータからなる励磁パターンを合成したりする必要が無いので、プログラム容量を増加させることなく、従来の遊技機から本実施の形態の遊技機のように信号の割り振りを変えることができる。
なお、スロットマシン10は、リールを4個以上備えていてもよい。例えば、リール20a〜20cに加え、もう1つリールを備えている場合、メイン制御基板30がフリップフロップ32〜34に加え、もう1つフリップフロップを備えることとし、メインCPU31からの制御信号を、追加のフリップフロップを介して追加のリールに送ることとしてもよい。すなわち、4個以上のリールと、リールと同数のIC(フリップフロップ)とを備え、メインCPU31からの制御信号が、それぞれのリールに対して、異なるICを介して送信されるようになっていてもよい。なお、この場合の各ICは互いに同一のICであってもよく、異なるICであってもよい。また、後述する第2の実施の形態または第3の実施の形態のスロットマシン10においても同様に、4個以上のリールと、リールと同数のICとを備え、それぞれのリールに対して、それぞれのICを介してメインCPU31からの信号が送信されるようになっていてもよい。
なお、例えば、スロットマシン10が4個のリールを備える場合に、第1出力ポート(フリップフロップ32)の入力端子D1〜D4に第1リール20aへの信号を対応付け、第1出力ポートの入力端子D5〜D8に第2リール20bへの信号を対応付け、第2出力ポート(フリップフロップ33)の入力端子D1〜D4に第3リール20cへの信号を対応付け、第2出力ポートの入力端子D5〜D8に第4リール(図示せず)への信号を対応付け、第3出力ポート(フリップフロップ34)の入力端子D1〜D8および別のICに外部信号1〜5等を対応付けることも考えられる。
次に、メインCPU31における、前述の「メダル投入信号(投入信号)」および「メダル払出信号(払出信号)」の生成について説明する。前述のように、「メダル投入信号」は、投入(ベット)されたメダルの数をホールコンピュータ等の遊技機外部の装置(外部装置)に知らせる信号である。また、「メダル払出信号」は、払い出されるメダルの数をホールコンピュータ等の遊技機外部の装置に知らせる信号である。
「メダル投入信号」および「メダル払出信号」は、信号制御手段102によって生成される。具体的には、信号制御手段102は、「メダル投入信号」として、投入(ベット)されたメダルの枚数(規定数)に応じた回数分のパルスを生成する。信号制御手段102は、遊技開始操作としてのスタートレバー24に対する操作がされた場合に、当該パルスを生成し、外部装置に対して出力する。また、信号制御手段102は、「メダル払出信号」として、遊技の結果払い出されるメダルの枚数に応じた回数分のパルスを生成する。信号制御手段102は、リール20a〜20cが停止した後、メダルの払い出しがある場合に、当該パルスを生成し、外部装置に対して出力する。なお、「メダル払出信号」は、実際にメダルを払い出す(ホッパー装置からの払い出しおよびクレジットを増加させる処理を含む)前に外部装置に対して出力してもよく、メダルを払い出している最中に外部装置に対して出力してもよく、メダルを払い出し終わってから外部装置に出力してもよい。
なお、本実施形態の遊技機においては、ある遊技においてリプレイが入賞した場合には、「メダル払出信号」として、当該遊技において投入されたメダルの枚数に応じた回数分のパルスが生成され、出力される。また、当該遊技の次回の遊技については、「メダル投入信号」として、当該枚数に応じた回数分のパルスが生成され、出力される。すなわち、リプレイが入賞した場合には、その遊技において投入された枚数に応じた払い出しがあるものとし、かつ次回の遊技においてはこの払い出されたものとした枚数に応じた枚数の投入があるものとして、「メダル投入信号」および「メダル払出信号」が生成される。ただし、このような構成とせず、リプレイが入賞した場合には、その遊技における払出枚数および次回の遊技における投入枚数を「0」とみなして、「メダル投入信号」および「メダル払出信号」を生成または出力する構成としてもよい。
メダルが3枚投入されたときの「メダル投入信号」およびメダルが3枚払い出されるときの「メダル払出信号」の例を図9に示す。「メダル投入信号」および「メダル払出信号」のパルスは、59.60ms続くON状態(第1状態)と、59.60ms続くOFF状態(第2状態)とによって形成される。すなわち1つのパルスの周期は、119.20msとなっている。また、パルスを出力しないときの「メダル投入信号」および「メダル払出信号」は、OFF状態となっている。したがって「メダル投入信号」および「メダル払出信号」を119.20ms毎に区切って考えた場合に、各区間の前半はメダルの投入または払出の有無(パルスの有無)に応じてON状態またはOFF状態となり、各区間の後半は必ずOFF状態となるようになっている。換言すると、特定期間の前半はON状態またはOFF状態となり、特定期間の後半はOFF状態となるようになっている。そして、ON状態からOFF状態への切り替わり(OFFエッジ)は、特定期間の1/2が経過したときにのみ発生し、OFF状態からON状態への切り替わり(ONエッジ)は、特定期間が経過したときにのみ発生するようになっている。
次に、このような「メダル投入信号」および/または「メダル払出信号」を生成する端子板出力制御処理(信号生成処理)について、図10および図11に示すフローチャートを参照しながら説明する。
なお、以下の説明で登場するAレジスタ、Bレジスタ、CレジスタおよびHLレジスタは、メインCPU31の内部レジスタである。また、以下の説明で登場するゼロフラグおよびキャリーフラグは、メインCPU31の内部レジスタにセットされるフラグである。
まず、端子板出力制御処理から呼び出される汎用の処理であるカウンタ減算処理について図10を参照しながら説明する。カウンタ減算処理は、信号制御手段102の一部として機能するカウンタ更新手段104が行う。カウンタ減算処理に際しては、HLレジスタに減算対象となるRWMの番地(RWMの領域)をセットしておく必要がある。
カウンタ減算処理において、まず、カウンタ更新手段104は、HLレジスタにセットされた番地(HLレジスタが示すRWMの領域)に格納された値(データ)を読み込み、Aレジスタに設定する(ステップS31)。
次いで、カウンタ更新手段104は、Aレジスタの値が「0」か否か判定する(ステップS32)。Aレジスタの値が「0」の場合(ステップS32でYES)、カウンタ更新手段104はゼロフラグをセットする。一方、Aレジスタの値が「0」でない場合(ステップS32でNO)、カウンタ更新手段104はゼロフラグをリセットする。また、Aレジスタの値に関わらず、カウンタ更新手段104はキャリーフラグをリセットする。ゼロフラグがセットされた場合(ステップS32でYES)、カウンタ減算処理を終了し、呼び出し元に戻る。
Aレジスタの値が「0」でない場合(ステップS32でNO)、カウンタ更新手段104は、Aレジスタの値と「2」を比較し、比較結果に応じてキャリーフラグを設定する(ステップS33)。具体的には、カウンタ更新手段104は、Aレジスタの値が「2」未満の場合にキャリーフラグをセットし、Aレジスタの値が「2」以上の場合にキャリーフラグをリセットする。ここで、Aレジスタが取り得る値は、0〜255のいずれかの整数である。したがって、ステップS32およびステップS33の処理を経てキャリーフラグがセットされるのは、Aレジスタの値が「1」の場合のみであり、Aレジスタの値が「1」以外の場合には、キャリーフラグがセットされないようになっている。
次いで、カウンタ更新手段104は、Aレジスタの値を「1」減算するデクリメント処理を行う(ステップS34)。カウンタ更新手段104は、この減算の結果、Aレジスタの値が「0」となった場合にゼロフラグをセットし、「0」とならなかった場合には、ゼロフラグをリセットする。
次いで、カウンタ更新手段104は、Aレジスタの値をHLレジスタが示す番地にセットする(ステップS35)。
以上のように、カウンタ減算処理では、HLレジスタが示す番地に格納された値が「0」でない場合にステップS33〜S35の処理を行い、HLレジスタが示す番地に格納された値を「1」減らす。また、HLレジスタが示す番地に格納された値が「0」の場合には、HLレジスタが示す番地に格納された値を「0」のまま変えない。また、HLレジスタが示す番地に格納された値が「0」の場合、キャリーフラグをリセットし、ゼロフラグをセットする。また、HLレジスタが示す番地に格納された値が「1」の場合、キャリーフラグをセットし、ゼロフラグをセットする。また、HLレジスタが示す番地に格納された値が「2」以上の場合、キャリーフラグをリセットし、ゼロフラグをリセットする。
次に、端子板出力制御処理について図11を参照しながら説明する。端子板出力制御処理は、タイマ割込み4回につき1回実行される。本実施形態の遊技機においては、タイマ割込みの周期が1.49msに設定されており、端子板出力制御処理は5.96msに1回実行されるようになっている。
まず、信号制御手段102は、パルスタイマの番地をHLレジスタにセットする(ステップS51)。ここで、パルスタイマは、「メダル投入信号」または「メダル払出信号」のパルスの周期(前記特定期間)を計測・管理可能とするものである。具体的には、パルスタイマは、「メダル投入信号」または「メダル払出信号」のパルスの周期を計測・管理可能とするデータを格納するRWMの領域である。パルスタイマには、「0」〜「20」のいずれかの整数値が格納される。
次いで、信号制御手段102(カウンタ更新手段104)は、カウンタ減算処理を行う(ステップS52)。具体的には、信号制御手段102は、パルスタイマの値から「1」減算する処理を行う。このカウンタ減算処理により、パルスタイマの値が所定間隔(5.96ms毎)で一定値ずつ更新されることとなる。
次いで、信号制御手段102は、Bレジスタにループ回数として「2」(2回)をセットする(ステップS53)。また、信号制御手段102は、Cレジスタのビット0(最下位ビット)に「メダル投入信号」の初期値として「0」をセットするとともに、Cレジスタのビット1に「メダル払出信号」の初期値として「0」をセットする。
なお、「メダル投入信号」および「メダル払出信号」は、「0」がOFF状態に対応し、「1」がON状態に対応する。
次いで、信号制御手段102は、端子板出力信号(「メダル投入信号」および「メダル払出信号」)がOFFエッジか否かを判定する(ステップS54)。具体的には、信号制御手段102は、ステップS52で減算された後のパルスタイマの値が、端子板出力信号の半周期を示す値「10」であるか否かを判定し、「10」である場合にはOFFエッジと判定し、「10」でない場合にはOFFエッジでないと判定する。つまり、ステップS54の処理において、信号制御手段102は、「メダル投入信号」または「メダル払出信号」のOFFエッジが発生し得るタイミングか否かを判定しているといえる。すなわち、本実施の形態の遊技機においては、「メダル投入信号」あるいは「メダル払出信号」がON状態からOFF状態に切り替わる可能性(OFFエッジが発生する可能性)があるのは、特定期間の1/2が経過したタイミングのみであるため(図9参照)、信号制御手段102は、パルスタイマの値に基づいて当該タイミングを検出している。端子板出力信号がOFFエッジ(OFFエッジが発生し得るタイミング)であると判定した場合(ステップS54でYES)、信号制御手段102は、ステップS63の処理に移行する。すなわち、信号制御手段102は、パルスタイマの値がしきい値「10」に達したか否かに基づいて、次に行う処理を決定する。
なお、端子板出力信号とは、「メダル投入信号」と「メダル払出信号」とを含むもの(合成したもの)である。また、端子板出力制御処理において、端子板出力信号は、Cレジスタに格納された8ビットのデータということもできる。端子板出力制御処理においてCレジスタに格納されたデータの下位2ビット(ビット0およびビット1)は、「メダル投入信号」および「メダル払出信号」に対応する。また、端子板出力制御処理においてCレジスタに格納されたデータの上位6ビットは、全て「0」にセットされている。
端子板出力信号がOFFエッジ(OFFエッジが発生し得るタイミング)でないと判定した場合(ステップS54でNO)、信号制御手段102は、パルスタイマの値が「0」か否かを判定する(ステップS55)。そして、パルスタイマの値が「0」でないと判定した場合(ステップS55でNO)、端子板出力制御処理が終了する。
一方、パルスタイマの値が「0」と判定した場合(ステップS55でYES)、信号制御手段102は、パルスタイマに所定値「20」をセットする(ステップS56)。換言すると、信号制御手段は、パルスタイマの値が特定値「0」に達した場合に、パルスタイマに所定値「20」をセットする。
次いで、信号制御手段102は、パルスカウンタの番地をHLレジスタにセットする(ステップS57)。ここで、パルスカウンタは、メダルの払出枚数をカウントするための払出数用パルスカウンタとメダルの投入枚数をカウントするための投入数用パルスカウンタとを含む。払出数用パルスカウンタは、メダルの払出数に応じた値を格納するRWMの領域である。払出数用パルスカウンタには、表示判定処理の判定結果に応じてメダルが払い出される際に、払い出されるメダルの枚数に応じた値が格納される。具体的には、例えば、9枚のメダルが払い出される場合には、払出数用パルスカウンタには「9」という値が格納される。また、投入数用パルスカウンタは、メダルの投入数に応じた値を格納するRWMの領域である。投入数用パルスカウンタには、スタートレバー24に対する遊技開始操作を契機として遊技が行われる際に、遊技において投入(ベット)されたメダルの枚数に応じた値が格納される。具体的には、例えば、3枚のメダルが投入された場合には、「3」という値が格納される。
ステップS57〜S62の処理は、1回の端子板出力制御処理につき2回実行されるが、1回目のステップS57の処理においては払出数用パルスカウンタの番地をHLレジスタにセットし、払出数用パルスカウンタについてステップS58〜S61の処理を行う。また、2回目のステップS57の処理においては投入数用パルスカウンタの番地をHLレジスタにセットし、投入数用パルスカウンタについてステップS58〜S61の処理を行う。
次いで、信号制御手段102は、ステップS57においてHLレジスタにセットしたパルスカウンタに関してカウンタ減算処理を行う(ステップS58)。
次いで、信号制御手段102は、パルスカウンタの値が「0」か否かを判定する(ステップS59)。
パルスカウンタの値が「0」でない場合(ステップS59でNO)、信号制御手段102は、キャリーフラグをセットする(ステップS60)。一方、パルスカウンタの値が「0」の場合(ステップS59でYES)、信号制御手段102は、キャリーフラグをセットせずにステップS61の処理に進む。
ステップS58〜S60の処理では、カウンタ減算処理で減算される前のパルスカウンタの値が「0」の場合、ステップS58でキャリーフラグがリセットされ、その後キャリーフラグがセットされないので、キャリーフラグの内容は「0」となる。また、カウンタ減算処理で減算される前のパルスカウンタの値が「1」の場合、ステップS58でキャリーフラグがセットされるので、キャリーフラグの内容は「1」となる。また、カウンタ減算処理で減算される前のパルスカウンタの値が「2」以上の場合、ステップS58でキャリーフラグがリセットされるが、ステップS60でキャリーフラグがセットされるので、キャリーフラグの内容は「1」となる。すなわち、ステップS58〜S60の処理では、カウンタ減算処理で減算される前のパルスカウンタの値が「0」の場合、キャリーフラグの内容が「0」となり、カウンタ減算処理で減算される前のパルスカウンタの値が「1」以上の場合、キャリーフラグの内容が「1」となる。また、カウンタ減算処理で減算される前のパルスカウンタの値が「1」以上の場合、カウンタ減算処理によって、パルスカウンタの値から「1」減算される。
次いで、信号制御手段102は、端子板出力信号を生成する(ステップS61)。具体的には、信号制御手段102は、Cレジスタを左ローテートする。このため、1回目のステップS61の処理では、払出枚数についてのキャリーフラグの内容がCレジスタのビット0に移動する。また、2回目のステップS61の処理では、1回目のステップS61の処理でCレジスタのビット0に移動した払出枚数についてのキャリーフラグの内容がCレジスタのビット1に移動するとともに、投入枚数についてのキャリーフラグの内容がCレジスタのビット0に移動する。すなわち、2回のステップS61の処理の結果、Cレジスタのビット1に最新の払い出しに応じた「メダル払出信号」の情報が格納され、Cレジスタのビット0に最新の投入(ベット)に応じた「メダル投入信号」の情報が格納される。
次いで、信号制御手段102は、払出枚数および投入枚数の双方についてステップS57〜S61の処理が終了したか否かを判定し(ステップS62)、終了していない場合にはステップS57の処理に戻り、終了している場合には、ステップS63の処理へ進む。具体的には、信号制御手段102は、ステップS53でループ回数として「2」がセットされたBレジスタの値から「1」を減算し、減算した結果が「0」よりも大きければ、ステップS57〜S61の処理が終了していないと判定し、減算した結果が「0」であればステップS57〜S61の処理が終了したと判定する。すなわち、信号制御手段102は、ステップS57〜S61の処理を2回行うと、ステップS63の処理に移行する。
ここまでの処理により、ステップS63の処理を行うまでには、Cレジスタのビット0に「メダル投入信号」の情報が格納され、Cレジスタのビット1に「メダル払出信号」の情報が格納されることとなる。また、前記特定期間の前半開始時であって、ステップS63の処理が実行されるときにはCレジスタのビット0およびビット1には「0」または「1」がセットされており、前記特定期間の後半開始時であって、ステップS63の処理が実行されるときにはCレジスタのビット0およびビット1には「0」がセットされていることとなる。
次いで、信号制御手段102は、第2出力ポートイメージの番地をHLレジスタにセットする(ステップS63)。ここで、第2出力ポートイメージは、メインCPU31から第2出力ポート33を介して送られる出力信号の情報を格納するRWMの領域またはここに格納された情報である。
次いで、信号制御手段102は、第2出力ポートイメージの内容をAレジスタに読み出す(ステップS64)。
次いで、信号制御手段102は、Aレジスタに読み出した第2出力ポートイメージの内容について、「メダル投入信号」および「メダル払出信号」に対応する部分をマスクする(ステップS65)。すなわち、前述のように、メインCPU31から第2出力ポート33を介して送られる信号には、「メダル投入信号」および「メダル払出信号」以外の信号も含まれるため、端子板出力制御処理において「メダル投入信号」および「メダル払出信号」以外の信号が変動してしまわないように処理をする。具体的には、信号制御手段102は、第2出力ポートイメージの内容が読み出されたAレジスタについて、「メダル投入信号」に対応するビット0および「メダル払出信号」に対応するビット1のデータを「0」にし、それ以外のビットについてはデータをそのまま維持させる。さらに具体的には、信号制御手段102は、Aレジスタのデータと「11111100B」との論理積をとり、その結果をAレジスタに格納する。
次いで、信号制御手段102は、第2出力ポートイメージに含まれる「メダル投入信号」および「メダル払出信号」以外の信号と、本端子板出力制御処理において生成した端子板出力信号(「メダル投入信号」および「メダル払出信号」)とを合成する(ステップS66)。具体的には、信号制御手段102は、AレジスタのデータとCレジスタのデータとの論理和をとり、その結果をAレジスタに格納する。
次いで、信号制御手段102は、Aレジスタのデータを、第2出力ポートイメージにセットする(ステップS67)。以上により、端子板出力制御処理が終了する。
以上のように、端子板出力制御処理においては、パルスタイマは5.96msに1回更新され、20回の更新で1周するようになっている。すなわち、パルスタイマは周期119.20msでループするようになっている。そして、パルスタイマの1周が、前記特定期間、すなわちメダルの投入または払出(パルス)の有無に応じてON状態またはOFF状態となる前半部分と必ずOFF状態となる後半部分とを有する特定期間に対応するようになっている。したがって、パルスタイマによって、特定期間の開始点および終了点ならびに特定期間の1/2経過点が判別可能となっている。
信号制御手段102は、パルスタイマによって計測される特定期間の1/2が経過すると、それまでの信号の状態に関わらずに「メダル投入信号」および「メダル払出信号」をOFF状態にする。また、信号制御手段は、パルスタイマによって計測される特定期間が終了し、次の特定期間が開始する際に、遊技において投入されたメダルの枚数を示す投入数用パルスカウンタの値または遊技において払い出されたメダルの枚数を示す払出数用パルスカウンタの値に基づいて「メダル投入信号」または「メダル払出信号」をON状態にするか否か決定する。
本実施の形態の遊技機によれば、遊技に使用する遊技媒体の投入数を知らせる「メダル投入信号」を生成する信号制御手段102を備え、信号制御手段102は、所定間隔(5.96ms間隔)で一定値「1」ずつパルスタイマの記憶値を更新する処理と、パルスタイマの記憶値がしきい値「10」に達するまでは「メダル投入信号」をON状態(第1状態)とし、パルスタイマの記憶値がしきい値「10」に達した後は「メダル投入信号」をOFF状態(第2状態)とする処理と、パルスタイマの記憶値が特定値「0」に達した場合に、パルスタイマに所定値「20」をセットする処理と、を行い、遊技媒体の投入数に応じた回数分、「メダル投入信号」のON状態(第1状態)とOFF状態(第2状態)とを繰り返させることができる。
また、本実施の形態の遊技機によれば、遊技の結果払い出される遊技媒体の払出数を知らせる「メダル払出信号」を生成する信号制御手段102を備え、信号制御手段102は、所定間隔(5.96ms間隔)で一定値「1」ずつパルスタイマの記憶値を更新する処理と、パルスタイマの記憶値がしきい値「10」に達するまでは「メダル払出信号」をON状態(第1状態)とし、パルスタイマの記憶値がしきい値「10」に達した後は「メダル払出信号」をOFF状態(第2状態)とする処理と、パルスタイマの記憶値が特定値「0」に達した場合に、パルスタイマに所定値「20」をセットする処理と、を行い、遊技媒体の投入数に応じた回数分、「メダル払出信号」のON状態(第1状態)とOFF状態(第2状態)とを繰り返させることができる。
前述のように、「メダル投入信号」および「メダル払出信号」のエッジは必ず特定期間の前半と後半との切り替わり点で発生するとともに、特定期間の後半においては、「メダル投入信号」および「メダル払出信号」は必ずOFF状態となる。本実施の形態の遊技機においては、パルスタイマの記憶値が特定値「0」に達した場合にパルスタイマに所定値「20」をセットする処理および所定間隔で一定値ずつパルスタイマを更新する処理により、当該特定期間の計測を可能となっているとともに、パルスタイマの記憶値がしきい値「10」に達したか否かに基づいて当該特定期間の前半から後半への切り替わり点を判別可能となっている。このため、特定期間の前半と後半との切り替わり点か否かを判定しこの切り替わり点でのみ、「メダル投入信号」または「メダル払出信号」のON状態とOFF状態とを切り替える処理を行うようにすることが可能となる。また、「メダル投入信号」および「メダル払出信号」を、特定期間の後半においては必ずOFF状態とするとともに、特定期間の前半においてはメダルの投入あるいは払い出しがある場合にはON状態とし、無い場合にはOFF状態とするといったように、現在が特定期間の前半に対応するか後半に対応するかに応じて信号状態を決定することが可能とすることが可能となる。したがって、「メダル投入信号」または「メダル払出信号」を簡易な処理(プログラム)で生成し、外部装置に対して出力することができる。
なお、パルスタイマのしきい値は、必ずしも特定期間の1/2経過を判別可能とするものでなくてもよく、特定期間のうち所定期間の経過を判別可能とするものであればよい。換言すると、しきい値は、「メダル投入信号」または「メダル払出信号」のONエッジまたはOFFエッジが発生し得るタイミングを判別可能とするものであればよい。
なお、本明細書において説明したフローチャートに示すフローはあくまで一例であり、各処理の順序や構成は異なるものであってもよい。