(57)【要約】【課題】電断が検出された際に、電断復旧時に電断前の制御状態に復帰させるための電断処理を行うスロットマシンにおいて、電断を誤って検出した際に、誤って電断処理が行われてしまうことを防止できる。【解決手段】メイン制御部４１には、電圧低下信号を２系統の入力部に入力し、ＣＰＵ４１ａは、一方の入力部に電圧低下信号が入力されて電断割込処理を実行しても、復旧時にＲＡＭ４１ｃのデータが正常であるかを判定可能とするための処理や出力ポートの初期化等が実行される前に、電断フラグがセットされ、かつ信号入力端子ＤＡＴＡに電圧低下信号が入力された状態が所定時間継続して、初めてこれらの処理を実行する。【選択図】図１５
2008054986.tif 000002
【特許請求の範囲】
【請求項１】
遊技用価値を用いて１ゲームに対して所定数の賭数を設定することによりゲームが開始可能となるとともに、各々が識別可能な複数種類の識別情報を変動表示可能な可変表示装置の表示結果が導出表示されることにより１ゲームが終了し、該可変表示装置の表示結果に応じて入賞が発生可能とされたスロットマシンであって、
信号が入力されることにより外部割込を発生させる割込入力端子と、通常入力端子と、を有するマイクロコンピュータにて構成され、遊技の制御を行うメイン制御手段と、
前記スロットマシンで用いられる所定の電力の状態を監視し、電力供給が断たれたことに関わる電断条件が成立しているときに電断信号を出力する電断検出手段と、
を備え、
前記電断検出手段は、前記電断信号を前記マイクロコンピュータの前記割込入力端子及び前記通常入力端子に出力し、
前記メイン制御手段は、
前記メイン制御手段を構成するマイクロコンピュータが動作を行うためのデータを読み出し及び書き込み可能に記憶する記憶領域を有し、電力供給が停止しても該記憶領域に記憶されているデータを保持することが可能なメインデータ記憶手段と、
前記外部割込の発生に応じて、電断が発生した旨を示す電断データを設定する電断時割込処理を実行する電断時割込処理実行手段と、
予め定められた単位時間毎に実行中の処理に割り込んで実行するタイマ割込処理を実行するタイマ割込処理実行手段と、
を含み、
前記タイマ割込処理実行手段は、
前記電断データが設定されており、かつ前記通常入力端子へ前記電断信号が入力されている場合に電断条件の成立を判定する電断条件成立判定手段と、
前記電断条件成立判定手段により継続して前記電断条件が成立していると判定されている状態が、所定時間経過したか否かを判定する電断条件成立時間判定手段と、
前記電断条件成立時間判定手段により継続して前記電断条件が成立していると判定されている状態が所定時間経過したと判定されたときに、前記メイン制御手段の起動時に該メイン制御手段の制御状態を正常に復帰できるようにするための電断処理を実行する電断処理実行手段と、
を含む、
ことを特徴とするスロットマシン。
【請求項２】
前記メイン制御手段は、前記メインデータ記憶手段における記憶領域の少なくとも一部を初期化する初期化手段を更に含み、
前記初期化手段は、前記初期化を行っている間は前記電断時割込処理実行手段による前記電断時割込処理の実行を禁止する電断時割込処理実行禁止手段を含む、
ことを特徴とする請求項１に記載のスロットマシン。
【請求項３】
前記メイン制御手段は、前記メイン制御手段の起動時に、前記メインデータ記憶手段に記憶されているデータに基づいて該メイン制御手段の制御状態を復帰させるメイン制御状態復帰処理を含むメイン起動処理を実行するメイン起動処理手段を更に含み、
前記電断処理実行手段は、前記電断処理において前記メインデータ記憶手段における記憶領域に０以外の特定のデータを格納した後、該特定のデータを含む前記記憶領域のデータを排他的論理和演算した結果が０となる調整用データを算出し、該算出した調整用データを前記記憶領域に格納する処理を実行し、
前記メイン起動処理手段は、前記メイン起動処理において前記メインデータ記憶手段における記憶領域のデータを排他的論理和演算した結果が０であるか否か、及び前記記憶領域に前記特定のデータが格納されているか否か、を判定し、前記記憶領域のデータを排他的論理和演算した結果が０であると判定し、かつ前記記憶領域に前記特定のデータが格納されていると判定したことを条件に、前記メイン制御状態復帰処理を実行する、
ことを特徴とする請求項１または２に記載のスロットマシン。
【請求項４】
前記メイン起動処理手段は、前記メイン起動処理において前記メインデータ記憶手段の記憶領域のデータを排他的論理和演算した結果が０であると判定し、かつ前記記憶領域に前記特定のデータが格納されていると判定した場合に、該記憶領域に格納されている前記特定のデータを該特定のデータ以外のデータに更新する、
ことを特徴とする請求項３に記載のスロットマシン。
【請求項５】
前記メインデータ記憶手段の記憶領域には、前記メイン制御手段を構成するマイクロコンピュータが動作を行うためのデータが記憶されるワーク領域と、前記メイン制御手段を構成するマイクロコンピュータが動作を行うためのデータが読み出し及び書き込みが行われることのない未使用領域と、が少なくとも割り当てられており、
前記メイン起動処理手段は、前記メイン起動処理において前記メインデータ記憶手段の記憶領域のデータを排他的論理和演算した結果が０であると判定し、かつ前記記憶領域に前記特定のデータが格納されていると判定した場合に、前記メインデータ記憶手段の記憶領域における未使用領域を初期化する、
ことを特徴とする請求項３または４に記載のスロットマシン。
【請求項６】
前記メイン制御手段は、前記メイン制御手段の起動時に、前記メインデータ記憶手段に記憶されているデータに基づいて該メイン制御手段の制御状態を復帰させるメイン制御状態復帰処理を含むメイン起動処理を実行するメイン起動処理手段を更に含み、
前記メインデータ記憶手段の記憶領域には、前記メイン制御手段を構成するマイクロコンピュータが動作を行うためのデータが記憶されるワーク領域と、前記メイン制御手段を構成するマイクロコンピュータが動作を行うためのデータが読み出し及び書き込みが行われることのない未使用領域と、が少なくとも割り当てられており、
前記電断処理実行手段は、前記電断処理において、前記メインデータ記憶手段における前記未使用領域を含む全ての記憶領域のデータを排他的論理和演算した結果が所定値となる調整用データを算出し、該算出した調整用データを前記ワーク領域に格納する処理を実行し、
前記メイン起動処理手段は、前記メイン起動処理において前記メインデータ記憶手段における前記未使用領域を含む全ての記憶領域のデータを排他的論理和演算した結果が前記所定値であるか否かを判定し、前記メインデータ記憶手段における前記未使用領域を含む全ての記憶領域のデータを排他的論理和演算した結果が前記所定値であると判定したことを条件に、前記メイン制御状態復帰処理を実行する、
ことを特徴とする請求項１〜５のいずれかに記載のスロットマシン。
【請求項７】
前記メイン起動処理手段は、前記メイン起動処理において前記メインデータ記憶手段における前記未使用領域を含む全ての記憶領域のデータを排他的論理和演算した結果が前記所定値であると判定した場合に、前記メインデータ記憶手段の記憶領域における未使用領域を初期化する、
ことを特徴とする請求項６に記載のスロットマシン。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各々が識別可能な複数種類の図柄を変動表示可能な可変表示装置の表示結果に応じて所定の入賞が発生可能なスロットマシンに関する。
【背景技術】
【０００２】
この種のスロットマシンには、マイクロコンピュータ等からなる制御部が搭載されており、この制御部により遊技の制御が行われている。また、この制御部には、遊技の制御を行うためのプログラムやデータを書き換え不可能に記憶するメモリ（ＲＯＭ）、遊技の制御を行うためのデータを書き換え可能に記憶するメモリ（ＲＡＭ）、が備えられている。
【０００３】
制御部に搭載されるマイクロコンピュータには、外部割込を発生させる割込入力端子と、通常入力端子が備えられており、割込入力端子に信号が入力されて割込が発生すると、発生した割込に対応する割込処理の先頭アドレスとして、予め定められているＲＯＭ上のアドレスから書き込まれている命令が実行される。
【０００４】
また、一般的にスロットマシンは、不意の電断時にも電断復旧時に電断前の制御状態に復帰できるように、制御状態のバックアップを行っているが、電断時にバックアップされている制御状態が破壊されてしまうことがあり、電断復旧時に正常に復旧できない場合がある。このため、電断を検出して電断信号を出力する電断検出手段を設け、電断検出手段により電断が検出されて電断検出信号が出力された際に、この電断検出信号を割込入力端子に入力することで、その際の制御状態が正常か否かを確認するためのデータ（例えば、パリティ等のバックアップデータの演算結果）を設定するための電断処理を割込処理として行うものが提案されている。
【０００５】
一方、電断検出手段は、ノイズ等を拾って電断を誤って検出することがあり、この場合には、電断していないにも関わらず電断処理が行われて制御部が停止状態となってしまうという不具合が生じてしまう。このため、電断検出手段が出力する電断検出信号を割込入力端子と通常入力端子の双方に入力して、電断を検出した電断検出手段から出力される電断検出信号の割込入力端子への入力に基づいて実行される割込処理において、電断検出信号の通常入力端子への入力を更に検出したことを条件に、電断処理を行うようにしたものが提案されている（例えば、特許文献１参照）。
【０００６】
【特許文献１】特開２００６−１５８５３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載されたスロットマシンでは、電断検出信号の割込入力端子への入力が検出された後、直ちに割込処理が実行されて、電断検出信号が通常入力端子にも入力されているかが確認されて電断処理が行われるので、電断検出信号を検出した後、電断検出信号を再度確認するまでの時間間隔が非常に短いものとされている。
【０００８】
一方、静電気などで発生したノイズには継続時間が長くなるものがあり、特許文献１に記載されたスロットマシンにおいては、これら継続時間の長いノイズが発生して電断検出信号が検出されたときに、ノイズが消失する前に電断検出信号が再度確認されることで、電断が発生したと誤判定されて電断処理が行われてしまうという不具合が生じてしまう虞があった。
【０００９】
本発明は、このような問題点に着目してなされたものであり、電断が検出された際に、電断復旧時に電断前の制御状態に復帰させるための電断処理を行うスロットマシンにおいて、電断を誤って検出した際に、誤って電断処理が行われてしまうことを防止できるスロットマシンを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明の請求項１に記載のスロットマシンは、
遊技用価値（メダル）を用いて１ゲームに対して所定数（１または３）の賭数を設定することによりゲームが開始可能となるとともに、各々が識別可能な複数種類の識別情報を変動表示可能な可変表示装置リール２Ｌ、２Ｃ、２Ｒ）の表示結果が導出表示されることにより１ゲームが終了し、該可変表示装置の表示結果に応じて入賞が発生可能とされたスロットマシン（スロットマシン１）であって、
信号が入力されることにより外部割込（割込２）を発生させる割込入力端子と（トリガー端子ＣＬＫ／ＴＲＧ）、通常入力端子（信号入力端子ＤＡＴＡ）と、を有するマイクロコンピュータにて構成され、遊技の制御を行うメイン制御手段（メイン制御部４１）と、
前記スロットマシンで用いられる所定の電力（＋２５Ｖ）の状態を監視し、電力供給が断たれたことに関わる電断条件が成立しているとき（＋１８Ｖ以下となったとき）に電断信号（電圧低下信号）を出力する電断検出手段（電断検出回路４８）と、
を備え、
前記電断検出手段は、前記電断信号を前記マイクロコンピュータの前記割込入力端子及び前記通常入力端子に出力し、
前記メイン制御手段は、
前記メイン制御手段を構成するマイクロコンピュータが動作を行うためのデータを読み出し及び書き込み可能に記憶する記憶領域を有し、電力供給が停止しても該記憶領域に記憶されているデータを保持することが可能なメインデータ記憶手段（ＲＡＭ４１ｃ）と、
前記外部割込の発生に応じて、電断が発生した旨を示す電断データを設定する電断時割込処理を実行する電断時割込処理実行手段（ＣＰＵ４１ａは、トリガー端子ＣＬＫ／ＴＲＧに電圧低下信号が入力されたときに、電断割込処理を行い電断フラグをセットする）と、
予め定められた単位時間（本実施例では、約０．５６ｍｓ）毎に実行中の処理に割り込んで実行するタイマ割込処理を実行するタイマ割込処理実行手段（ＣＰＵ４１ａ）と、
を含み、
前記タイマ割込処理実行手段は、
前記電断データが設定されており、かつ前記通常入力端子へ前記電断信号が入力されている場合に電断条件の成立を判定する電断条件成立判定手段（ＣＰＵ４１ａは、タイマ割込処理中において電断判定処理を行い、電断フラグがセットされて電圧低下信号が信号入力端子ＤＡＴＡに入力されているときに、電断状態であると判定する）と、
前記電断条件成立判定手段により継続して前記電断条件が成立していると判定されている状態が、所定時間経過したか否かを判定する電断条件成立時間判定手段（ＣＰＵ４１ａは、タイマ割込処理中において電断判定処理を行い、電断状態であるときに電断カウンタを１加算して電断状態でないときに電断カウンタをクリアすることで、電断カウンタが５回に到達したか否かに基づいて、電断状態が電断判定処理が５回実行される時間継続したかを判定する）と、
前記電断条件成立時間判定手段により継続して前記電断条件が成立していると判定されている状態が所定時間経過したと判定されたときに、前記メイン制御手段の起動時に該メイン制御手段の制御状態を正常に復帰できるようにするための電断処理を実行する電断処理実行手段（ＣＰＵ４１ａは、タイマ割込処理中において電断判定処理を行い、電断カウンタが５回に到達したことに基づいて、破壊診断用データを設定する処理やＲＡＭパリティ調整用データを計算して設定する処理等、復旧時にＲＡＭ４１ｃのデータが正常であるかを判定可能とするための処理や出力ポートの初期化を行う）と、
を含む、
ことを特徴としている。
この特徴によれば、電断信号を割込入力端子と通常入力端子との２系統の端子に入力し、割込入力端子に電断信号が入力されたことを契機に電断時割込処理が実行されても、電断データを設定するのみで、電断検出後、直ちに電断処理が実施されることがない。その後、タイマ割込処理により、電断データの設定状況と通常入力端子への電断信号の入力状況に基づいて判定される電断条件の成立状態が所定時間経過したと判定されたことを条件に、初めて電断処理が実行されるようになっており、静電気などにより継続時間が長いノイズが発生したときにも、電断が発生したと誤判定されて電断処理が行われてしまうという不具合を防止できる。
尚、所定数の賭数とは、少なくとも１以上の賭数であって、２以上の賭数が設定されることや最大賭数が設定されることでゲームが開始可能となるようにしても良い。また、複数の遊技状態に応じて定められた賭数が設定されることでゲームが開始可能となるようにしても良い。
また、メインデータ記憶手段は、メイン制御手段を構成するマイクロコンピュータに内蔵されていても良いし、マイクロコンピュータの外部に備えていても良い。
また、前記スロットマシンで用いられる所定の電力の状態を監視し、電力供給が断たれたことに関わる電断条件が成立しているときとは、例えば、直流電圧を監視し、当該電圧が電断を判断するために定められた閾値以下となったとき、またはその期間が一定期間継続したときや、交流電圧を監視し、交流電圧の波形の乱れを検出したとき、またはその期間が一定期間継続したとき、等であり、停電を検出できるものであればその他の条件であっても良い。
【００１１】
本発明の請求項２に記載のスロットマシンは、請求項１に記載のスロットマシンであって、
前記メイン制御手段（メイン制御部４１）は、前記メインデータ記憶手段における記憶領域の少なくとも一部を初期化する初期化手段（ＣＰＵ４１ａは、初期化条件の成立によりＲＡＭ４１ｃの指定領域を初期化する）を更に含み、
前記初期化手段は、前記初期化を行っている間は前記電断時割込処理実行手段による前記電断時割込処理の実行を禁止する電断時割込処理実行禁止手段（ＣＰＵ４１ａは、初期化１〜４を行っている間は割込を禁止する）を含む、
ことを特徴としている。
この特徴によれば、メイン制御手段が初期化手段により初期化を行っている間は、電断時割込処理実行手段による電断時割込処理が行われないので、初期化が完了していない状態で電断処理が行われてしまうことを防止できる。
【００１２】
本発明の請求項３に記載のスロットマシンは、請求項１または２に記載のスロットマシンであって、
前記メイン制御手段（メイン制御部４１）は、前記メイン制御手段の起動時に、前記メインデータ記憶手段（ＲＡＭ４１ｃ）に記憶されているデータに基づいて該メイン制御手段の制御状態を復帰させるメイン制御状態復帰処理（レジスタの復帰）を含むメイン起動処理（起動処理）を実行するメイン起動処理手段（ＣＰＵ４１ａは、起動時に起動処理を行う）を更に含み、
前記電断処理実行手段は、前記電断処理において前記メインデータ記憶手段における記憶領域に０以外の特定のデータ（破壊診断用データ）を格納した後、該特定のデータを含む前記記憶領域のデータを排他的論理和演算した結果が０となる調整用データ（ＲＡＭパリティ調整用データ）を算出し、該算出した調整用データを前記記憶領域に格納する処理を実行し、
前記メイン起動処理手段は、前記メイン起動処理において前記メインデータ記憶手段における記憶領域のデータを排他的論理和演算した結果が０であるか否か、及び前記記憶領域に前記特定のデータが格納されているか否か、を判定し、前記記憶領域のデータを排他的論理和演算した結果が０であると判定し、かつ前記記憶領域に前記特定のデータが格納されていると判定したことを条件に、前記メイン制御状態復帰処理を実行する、
ことを特徴としている。
この特徴によれば、電断時にメインデータ記憶手段の記憶領域に０以外の特定のデータを格納した後、該特定のデータを含む記憶領域のデータを排他的論理和演算した結果が０となる調整用データを更に格納し、起動時にメインデータ記憶手段の記憶領域のデータを排他的論理和演算した結果が０であり、かつ０以外の特定のデータが格納されていることを条件に、メインデータ記憶手段にバックアップされているデータが正常であると判断して、メイン制御手段の制御状態を復帰させるようになっており、メインデータ記憶手段の記憶領域のデータがクリアされてしまった場合には、特定のデータが格納されるべき領域も０となり、このような場合には、メインデータ記憶手段にバックアップされているデータが正常ではないと判定され、誤ってバックアップされているデータが正常であると判定されてしまうことを防止できるので、起動時においてバックアップされているデータが正しい内容であるか否かの判定精度を高めることができる。
尚、前記メイン制御手段の起動時とは、前記スロットマシンへの電力供給が開始されたこと（電源投入）に伴いメイン制御手段が起動するときや、メイン制御手段に不具合（一定時間以上の動作の停止等）が生じたことに伴うリセット信号の入力によりメイン制御手段が再起動するときが該当する。
【００１３】
本発明の請求項４に記載のスロットマシンは、請求項３に記載のスロットマシンであって、
前記メイン起動処理手段（ＣＰＵ４１ａ）は、前記メイン起動処理（起動処理）において前記メインデータ記憶手段（ＲＡＭ４１ｃ）の記憶領域のデータを排他的論理和演算した結果が０であると判定し、かつ前記記憶領域に前記特定のデータ（破壊診断用データ）が格納されていると判定した場合に、該記憶領域に格納されている前記特定のデータを該特定のデータ以外のデータに更新（０にクリア）する、
ことを特徴としている。
この特徴によれば、起動後もメインデータ記憶手段の記憶領域に特定のデータが格納されたままの状態となることで、次回起動時においてメインデータ記憶手段のデータが正常にバックアップされていないにも関わらず、特定のデータが格納されているために正常にバックアップされていると誤って判定されてしまうことを防止できる。
尚、記憶領域に格納されている前記特定のデータを該特定のデータ以外のデータに更新するとは、例えば、特定のデータが格納されている領域の値を０に更新したり、予め定められた初期値に更新したりすることである。
【００１４】
本発明の請求項５に記載のスロットマシンは、請求項３または４に記載のスロットマシンであって、
前記メインデータ記憶手段（ＲＡＭ４１ｃ）の記憶領域には、前記メイン制御手段（メイン制御部４１）を構成するマイクロコンピュータが動作を行うためのデータが記憶されるワーク領域と、前記メイン制御手段を構成するマイクロコンピュータが動作を行うためのデータが読み出し及び書き込みが行われることのない未使用領域と、が少なくとも割り当てられており、
前記メイン起動処理手段（ＣＰＵ４１ａ）は、前記メイン起動処理（起動処理）において前記メインデータ記憶手段の記憶領域のデータを排他的論理和演算した結果が０であると判定し、かつ前記記憶領域に前記特定のデータ（破壊診断用データ）が格納されていると判定した場合に、前記メインデータ記憶手段の記憶領域における未使用領域を初期化する（初期化３）、
ことを特徴としている。
この特徴によれば、メインデータ記憶手段の未使用領域を利用して不正プログラムが格納された場合にも、当該不正プログラムが格納されたままメイン制御手段の制御がバックアップされているデータに基づいて復帰してしまうことを防止できる。
尚、未使用領域を初期化するとは、未使用領域に格納されている値を０に更新したり、予め定められた初期値に更新したりすることである。
【００１５】
本発明の請求項６に記載のスロットマシンは、請求項１〜５のいずれかに記載のスロットマシンであって、
前記メイン制御手段（メイン制御部４１）は、前記メインデータ記憶手段における記憶領域の少なくとも一部を初期化する初期化手段（ＣＰＵ４１ａは、初期化条件の成立によりＲＡＭ４１ｃの指定領域を初期化する）を更に含み、
前記メインデータ記憶手段（ＲＡＭ４１ｃ）の記憶領域には、前記メイン制御手段（メイン制御部４１）を構成するマイクロコンピュータが動作を行うためのデータが記憶されるワーク領域と、前記メイン制御手段を構成するマイクロコンピュータが動作を行うためのデータが読み出し及び書き込みが行われることのない未使用領域と、が少なくとも割り当てられており、
前記電断処理実行手段（ＣＰＵ４１ａ）は、前記電断処理（破壊診断用データを設定する処理やＲＡＭパリティ調整用データを計算して設定する処理等、復旧時にＲＡＭ４１ｃのデータが正常であるかを判定可能とするための処理や出力ポートの初期化）において、前記メインデータ記憶手段における前記未使用領域を含む全ての記憶領域のデータを排他的論理和演算した結果が所定値（０もしくは１、本実施例では０）となる調整用データ（ＲＡＭパリティ調整用データ）を算出し、該算出した調整用データを前記ワーク領域に格納する処理を実行し、
前記メイン起動処理手段（ＣＰＵ４１ａ）は、前記メイン起動処理（起動処理）において前記メインデータ記憶手段における前記未使用領域を含む全ての記憶領域のデータを排他的論理和演算した結果が前記所定値であるか否かを判定し、前記メインデータ記憶手段における前記未使用領域を含む全ての記憶領域のデータを排他的論理和演算した結果が前記所定値であると判定したことを条件に、前記メイン制御状態復帰処理（レジスタの復帰）を実行する、
ことを特徴としている。
この特徴によれば、起動時において、メインデータ記憶手段における未使用領域を含む全ての記憶領域に格納されているデータを排他的論理和演算した結果が所定値か否かを判定している。すなわちメインデータ記憶手段における未使用領域を含む全ての記憶領域に格納されているデータに基づいて計算された内容に基づいて、メインデータ記憶手段のデータが正常か否かを判定しているので、当該判定を正確にかつ簡便に行うことができる。また、例えば、メインデータ記憶手段の未使用領域を利用して不正プログラムが格納された場合にも、当該不正プログラムが格納されたままメイン制御手段の制御がバックアップされているデータに基づいて復帰してしまうことを防止できる。
尚、前記メイン制御手段の起動時とは、前記スロットマシンへの電力供給が開始されたこと（電源投入）に伴いメイン制御手段が起動するときや、メイン制御手段に不具合（一定時間以上の動作の停止等）が生じたことに伴うリセット信号の入力によりメイン制御手段が再起動するときが該当する。
【００１６】
本発明の請求項７に記載のスロットマシンは、請求項６に記載のスロットマシンであって、
前記メイン起動処理手段（ＣＰＵ４１ａ）は、前記メイン起動処理（起動処理）において前記メインデータ記憶手段（ＲＡＭ４１ｃ）における前記未使用領域を含む全ての記憶領域のデータを排他的論理和演算した結果が前記所定値（０もしくは１、本実施例では０）であると判定した場合に、前記メインデータ記憶手段の記憶領域における未使用領域を初期化する（初期化３）、
ことを特徴としている。
この特徴によれば、メインデータ記憶手段の未使用領域を利用して不正プログラムが格納された場合にも、当該不正プログラムが格納されたままメイン制御手段の制御がバックアップされているデータに基づいて復帰してしまうことを防止できる。
尚、未使用領域を初期化するとは、未使用領域に格納されている値を０に更新したり、予め定められた初期値に更新したりすることである。
【発明を実施するための最良の形態】
【００１７】
本発明の実施例を以下に説明する。
【００１８】
本発明が適用されたスロットマシンの実施例を図面を用いて説明すると、本実施例のスロットマシン１は、前面が開口する筐体（図示略）と、この筺体の側端に回動自在に枢支された前面扉と、から構成されている。
【００１９】
本実施例のスロットマシン１の筐体内部には、外周に複数種の図柄が配列されたリール２Ｌ、２Ｃ、２Ｒ（以下、左リール、中リール、右リールともいう）が水平方向に並設されており、図１に示すように、これらリール２Ｌ、２Ｃ、２Ｒに配列された図柄のうち連続する３つの図柄が前面扉に設けられた透視窓３から見えるように配置されている。
【００２０】
リール２Ｌ、２Ｃ、２Ｒの外周部には、それぞれ「赤７（図中黒７）」、「青７（図中網掛７）」、「ＢＡＲ」、「リプレイ」、「スイカ」、「チェリー」、「ベル」といった互いに識別可能な複数種類の図柄が所定の順序で、それぞれ２１個ずつ描かれている。リール２Ｌ、２Ｃ、２Ｒの外周部に描かれた図柄は、透視窓３において各々上中下三段に表示される。
【００２１】
各リール２Ｌ、２Ｃ、２Ｒは、各々対応して設けられリールモータ３２Ｌ、３２Ｃ、３２Ｒ（図２参照）によって回転させることで、各リール２Ｌ、２Ｃ、２Ｒの図柄が透視窓３に連続的に変化しつつ表示されるとともに、各リール２Ｌ、２Ｃ、２Ｒの回転を停止させることで、透視窓３に３つの連続する図柄が表示結果として導出表示されるようになっている。
【００２２】
また、前面扉には、メダルを投入可能なメダル投入部４、メダルが払い出されるメダル払出口９、クレジット（遊技者所有の遊技用価値として記憶されているメダル数）を用いてメダル１枚分の賭数を設定する際に操作される１枚ＢＥＴスイッチ５、クレジットを用いて、その範囲内において遊技状態に応じて定められた規定数の賭数（本実施例では後述の通常遊技状態においては３、後述のレギュラーボーナスにおいては１）を設定する際に操作されるＭＡＸＢＥＴスイッチ６、クレジットとして記憶されているメダル及び賭数の設定に用いたメダルを精算する（クレジット及び賭数の設定に用いた分のメダルを返却させる）際に操作される精算スイッチ１０、ゲームを開始する際に操作されるスタートスイッチ７、リール２Ｌ、２Ｃ、２Ｒの回転を各々停止する際に操作されるストップスイッチ８Ｌ、８Ｃ、８Ｒが設けられている。
【００２３】
また、前面扉には、クレジットとして記憶されているメダル枚数が表示されるクレジット表示器１１、後述するビッグボーナス中のメダルの獲得枚数やエラー発生時にその内容を示すエラーコード等が表示される遊技補助表示器１２、入賞の発生により払い出されたメダル枚数が表示されるペイアウト表示器１３が設けられている。
【００２４】
また、前面扉には、賭数が１設定されている旨を点灯により報知する１ＢＥＴＬＥＤ１４、賭数が２設定されている旨を点灯により報知する２ＢＥＴＬＥＤ１５、賭数が３設定されている旨を点灯により報知する３ＢＥＴＬＥＤ１６、メダルの投入が可能な状態を点灯により報知する投入要求ＬＥＤ１７、スタートスイッチ７の操作によるゲームのスタート操作が有効である旨を点灯により報知するスタート有効ＬＥＤ１８、ウェイト（前回のゲーム開始から一定期間経過していないためにリールの回転開始を待機している状態）中である旨を点灯により報知するウェイト中ＬＥＤ１９、後述するリプレイゲーム中である旨を点灯により報知するリプレイ中ＬＥＤ２０が設けられている。
【００２５】
また、ＭＡＸＢＥＴスイッチ６の内部には、１枚ＢＥＴスイッチ５及びＭＡＸＢＥＴスイッチ６の操作による賭数の設定操作が有効である旨を点灯により報知するＢＥＴスイッチ有効ＬＥＤ２１（図２参照）が設けられており、ストップスイッチ８Ｌ、８Ｃ、８Ｒの内部には、該当するストップスイッチ８Ｌ、８Ｃ、８Ｒによるリールの停止操作が有効である旨を点灯により報知する左、中、右停止有効ＬＥＤ２２Ｌ、２２Ｃ、２２Ｒ（図２参照）がそれぞれ設けられている。
【００２６】
また、前面扉の内側には、所定のキー操作により後述するＲＡＭ異常エラーを除くエラー状態及び後述する打止状態を解除するためのリセット操作を検出するリセットスイッチ２３、後述する設定値の変更中や設定値の確認中にその時点の設定値が表示される設定値表示器２４、メダル投入部４から投入されたメダルの流路を、筐体内部に設けられた後述のホッパータンク（図示略）側またはメダル払出口９側のいずれか一方に選択的に切り替えるための流路切替ソレノイド３０、メダル投入部４から投入され、ホッパータンク側に流下したメダルを検出する投入メダルセンサ３１が設けられている。
【００２７】
筐体内部には、前述したリール２Ｌ、２Ｃ、２Ｒ、リールモータ３２Ｌ、３２Ｃ、３２Ｒ、各リール２Ｌ、２Ｃ、２Ｒのリール基準位置をそれぞれ検出可能なリールセンサ３３からなるリールユニット（図示略）、メダル投入部４から投入されたメダルを貯留するホッパータンク（図示略）、ホッパータンクに貯留されたメダルをメダル払出口９より払い出すためのホッパーモータ３４、ホッパーモータ３４の駆動により払い出されたメダルを検出する払出センサ３５、電源ボックス（図示略）が設けられている。
【００２８】
電源ボックスの前面には、後述のビッグボーナス終了時に打止状態（リセット操作がなされるまでゲームの進行が規制される状態）に制御する打止機能の有効／無効を選択するための打止スイッチ３６、起動時に設定変更モードに切り替えるための設定キースイッチ３７、通常時においてはＲＡＭ異常エラーを除くエラー状態や打止状態を解除するためのリセットスイッチとして機能し、設定変更モードにおいては後述する内部抽選の当選確率（出玉率）の設定値を変更するための設定スイッチとして機能するリセット／設定スイッチ３８、電源をＯＮ／ＯＦＦする際に操作される電源スイッチ３９が設けられている。
【００２９】
本実施例のスロットマシン１においてゲームを行う場合には、まず、メダルをメダル投入部４から投入するか、あるいはクレジットを使用して賭数を設定する。クレジットを使用するには１枚ＢＥＴスイッチ５、またはＭＡＸＢＥＴスイッチ６を操作すれば良い。遊技状態に応じて定められた規定数の賭数が設定されると、入賞ラインＬ１〜Ｌ５（図１参照）が有効となり、スタートスイッチ７の操作が有効な状態、すなわち、ゲームが開始可能な状態となる。尚、本実施例では、規定数の賭数として後述する通常遊技状態においては３枚が定められており、後述するレギュラーボーナス中においては、１枚が定められている。尚、遊技状態に対応する規定数を超えてメダルが投入された場合には、その分はクレジットに加算される。
【００３０】
ゲームが開始可能な状態でスタートスイッチ７を操作すると、各リール２Ｌ、２Ｃ、２Ｒが回転し、各リール２Ｌ、２Ｃ、２Ｒの図柄が連続的に変動する。この状態でいずれかのストップスイッチ８Ｌ、８Ｃ、８Ｒを操作すると、対応するリール２Ｌ、２Ｃ、２Ｒの回転が停止し、透視窓３に表示結果が導出表示される。
【００３１】
そして全てのリール２Ｌ、２Ｃ、２Ｒが停止されることで１ゲームが終了し、有効化されたいずれかの入賞ラインＬ１〜Ｌ５上に予め定められた図柄の組み合わせ（以下、役とも呼ぶ）が各リール２Ｌ、２Ｃ、２Ｒの表示結果として停止した場合には入賞が発生し、その入賞に応じて定められた枚数のメダルが遊技者に対して付与され、クレジットに加算される。また、クレジットが上限数（本実施例では５０）に達した場合には、メダルが直接メダル払出口９（図１参照）から払い出されるようになっている。尚、有効化された複数の入賞ライン上にメダルの払出を伴う図柄の組み合わせが揃った場合には、有効化された入賞ラインに揃った図柄の組み合わせそれぞれに対して定められた払出枚数を合計し、合計した枚数のメダルが遊技者に対して付与されることとなる。ただし、１ゲームで付与されるメダルの払出枚数には、上限（本実施例では、１５枚）が定められており、合計した払出枚数が上限を超える場合には、上限枚数のメダルが付与されることとなる。また、有効化されたいずれかの入賞ラインＬ１〜Ｌ５上に、遊技状態の移行を伴う図柄の組み合わせが各リール２Ｌ、２Ｃ、２Ｒの表示結果として停止した場合には図柄の組み合わせに応じた遊技状態に移行するようになっている。
【００３２】
図２は、スロットマシン１の構成を示すブロック図である。スロットマシン１には、図２に示すように、遊技制御基板４０、演出制御基板９０、電源基板１００が設けられており、遊技制御基板４０によって遊技状態が制御され、演出制御基板９０によって遊技状態に応じた演出が制御され、電源基板１００によってスロットマシン１を構成する電気部品の駆動電源が生成され、各部に供給される。
【００３３】
電源基板１００には、外部からＡＣ１００Ｖの電源が供給されるとともに、このＡＣ１００Ｖの電源からスロットマシン１を構成する電気部品の駆動に必要な直流電圧が生成され、遊技制御基板４０及び遊技制御基板４０を介して接続された演出制御基板９０に供給されるようになっている。また、電源基板１００には、前述したホッパーモータ３４、払出センサ３５、打止スイッチ３６、設定キースイッチ３７、リセット／設定スイッチ３８、電源スイッチ３９が接続されている。
【００３４】
遊技制御基板４０には、前述した１枚ＢＥＴスイッチ５、ＭＡＸＢＥＴスイッチ６、スタートスイッチ７、ストップスイッチ８Ｌ、８Ｃ、８Ｒ、精算スイッチ１０、リセットスイッチ２３、投入メダルセンサ３１、リールセンサ３３が接続されているとともに、電源基板１００を介して前述した払出センサ３５、打止スイッチ３６、設定キースイッチ３７、リセット／設定スイッチ３８が接続されており、これら接続されたスイッチ類の検出信号が入力されるようになっている。
【００３５】
また、遊技制御基板４０には、前述したクレジット表示器１１、遊技補助表示器１２、ペイアウト表示器１３、１〜３ＢＥＴＬＥＤ１４〜１６、投入要求ＬＥＤ１７、スタート有効ＬＥＤ１８、ウェイト中ＬＥＤ１９、リプレイ中ＬＥＤ１０、ＢＥＴスイッチ有効ＬＥＤ２１、左、中、右停止有効ＬＥＤ２２Ｌ、２２Ｃ、２２Ｒ、設定値表示器２４、流路切替ソレノイド３０、リールモータ３２Ｌ、３２Ｃ、３２Ｒが接続されているとともに、電源基板１００を介して前述したホッパーモータ３４が接続されており、これら電気部品は、遊技制御基板４０に搭載された後述のメイン制御部４１の制御に基づいて駆動されるようになっている。
【００３６】
遊技制御基板４０には、ＣＰＵ４１ａ、ＲＯＭ４１ｂ、ＲＡＭ４１ｃ、Ｉ／Ｏポート４１ｄを備えたマイクロコンピュータからなり、遊技の制御を行うメイン制御部４１、所定範囲（本実施例では０〜１６３８３）の乱数を発生させる乱数発生回路４２、乱数発生回路から乱数を取得するサンプリング回路４３、遊技制御基板４０に直接または電源基板１００を介して接続されたスイッチ類から入力された検出信号を検出するスイッチ検出回路４４、リールモータ３２Ｌ、３２Ｃ、３２Ｒの駆動制御を行うモータ駆動回路４５、流路切替ソレノイド３０の駆動制御を行うソレノイド駆動回路４６、遊技制御基板４０に接続された各種表示器やＬＥＤの駆動制御を行うＬＥＤ駆動回路４７、スロットマシン１に供給される電源電圧を監視し、電圧低下を検出したときに、その旨を示す電圧低下信号をメイン制御部４１に対して出力する電断検出回路４８、電源投入時またはＣＰＵ４１ａからの初期化命令が入力されないときにＣＰＵ４１ａにリセット信号を与えるリセット回路４９、その他各種デバイス、回路が搭載されている。
【００３７】
ＣＰＵ４１ａは、計時機能、タイマ割込などの割込機能（割込禁止機能を含む）を備え、ＲＯＭ４１ｂに記憶されたプログラム（後述）を実行して、遊技の進行に関する処理を行うととともに、遊技制御基板４０に搭載された制御回路の各部を直接的または間接的に制御する。ＲＯＭ４１ｂは、ＣＰＵ４１ａが実行するプログラムや各種テーブル等の固定的なデータを記憶する。ＲＡＭ４１ｃは、ＣＰＵ４１ａがプログラムを実行する際のワーク領域等として使用される。Ｉ／Ｏポート４１ｄは、メイン制御部４１が備える信号入出力端子を介して接続された各回路との間で制御信号を入出力する。
【００３８】
メイン制御部４１は、信号入力端子ＤＡＴＡを備えており、遊技制御基板４０に接続された各種スイッチ類の検出状態がこれら信号入力端子ＤＡＴＡを介して入力ポートに入力される。これら信号入力端子ＤＡＴＡの入力状態は、ＣＰＵ４１ａにより監視されており、ＣＰＵ４１ａは、信号入力端子ＤＡＴＡの入力状態、すなわち各種スイッチ類の検出状態に応じて段階的に移行する基本処理を実行する。
【００３９】
また、ＣＰＵ４１ａは、前述のように割込機能を備えており、割込の発生により基本処理に割り込んで割込処理を実行できるようになっている。本実施例では、割込１〜４の４種類の割込を実行可能であり、各割込毎にカウンタモード（信号入力端子ＤＡＴＡとは別個に設けられたトリガー端子ＣＬＫ／ＴＲＧからの信号入力に応じて外部割込を発生させる割込モード）とタイマモード（ＣＰＵ４１ａのクロック入力数に応じて内部割込を発生させる割込モード）のいずれかを選択して設定できるようになっている。
【００４０】
本実施例では、割込１〜４のうち、割込２がカウンタモードに設定され、割込３がタイマモードに設定され、割込１、４は未使用とされている。トリガー端子ＣＬＫ／ＴＲＧは、前述した電断検出回路４８と接続されており、ＣＰＵ４１ａは電断検出回路４８から出力された電圧低下信号の入力に応じて割込２を発生させて後述する電断割込処理を実行する。また、ＣＰＵ４１ａは、クロック入力数が一定数に到達する毎、すなわち一定時間間隔（本実施例では、約０．５６ｍｓ）毎に割込３を発生させて後述するタイマ割込処理を実行する。また、割込１、４は、未使用に設定されているが、ノイズ等によって割込１、４が発生することがあり得る。このため、ＣＰＵ４１ａは、割込１、４が発生した場合に、もとの処理に即時復帰させる未使用割込処理を実行するようになっている。
【００４１】
また、ＣＰＵ４１ａは、割込１〜４のいずれかの割込の発生に基づく割込処理の実行中に他の割込を禁止するように設定されているとともに、複数の割込が同時に発生した場合には、割込２、３、１、４の順番で優先して実行する割込が設定されている。すなわち割込２とその他の割込が同時に発生した場合には、割込２を優先して実行し、割込３と割込１または４が同時に発生した場合には、割込３を優先して実行するようになっている。
【００４２】
また、ＣＰＵ４１ａは、割込１〜４のいずれかの割込の発生に基づく割込処理の開始時に、レジスタに格納されている使用中のデータをＲＡＭ４１ｃに設けられた後述のスタック領域に一時的に退避させるとともに、当該割込処理の終了時にスタック領域に退避させたデータをレジスタに復帰させるようになっている。
【００４３】
ＲＡＭ４１ｃには、ＤＲＡＭ（Dynamic RAM）が使用されており、記憶しているデータ内容を維持するためのリフレッシュ動作が必要となる。ＣＰＵ４１ａには、このリフレッシュ動作を行うためのリフレッシュレジスタが設けられている。リフレッシュレジスタは、８ビットからなり、そのうちの下位７ビットが、ＣＰＵ４１ａがＲＯＭ４１ｂから命令をフェッチする度に自動的にインクリメントされるもので、その値の更新は、１命令の実行時間毎に行われる。
【００４４】
また、メイン制御部４１には、停電時においてもバックアップ電源が供給されており、バックアップ電源が供給されている間は、ＣＰＵ４１ａによりリフレッシュ動作が行われてＲＡＭ４１ｃに記憶されているデータが保持されるようになっている。
【００４５】
乱数発生回路４２は、後述するように所定数のパルスを発生する度にカウントアップして値を更新するカウンタによって構成され、サンプリング回路４３は、乱数発生回路４２がカウントしている数値を取得する。乱数発生回路４２は、乱数の種類毎にカウントする数値の範囲が定められており、本実施例では、その範囲として０〜１６３８３が定められている。ＣＰＵ４１ａは、その処理に応じてサンプリング回路４３に指示を送ることで、乱数発生回路４２が示している数値を乱数として取得する（以下、この機能をハードウェア乱数機能という）。後述する内部抽選用の乱数は、ハードウェア乱数機能により抽出した乱数をそのまま使用するのではなく、ソフトウェアにより加工して使用するが、その詳細については詳しく説明する。また、ＣＰＵ４１ａは、前述のタイマ割込処理により、特定のレジスタの数値を更新し、こうして更新された数値を乱数として取得する機能も有する（以下、この機能をソフトウェア乱数機能という）。
【００４６】
ＣＰＵ４１ａは、Ｉ／Ｏポート４１ｄを介して演出制御基板９０に、各種のコマンドを送信する。遊技制御基板４０から演出制御基板９０へ送信されるコマンドは一方向のみで送られ、演出制御基板９０から遊技制御基板４０へ向けてコマンドが送られることはない。遊技制御基板４０から演出制御基板９０へ送信されるコマンドの伝送ラインは、ストローブ（ＩＮＴ）信号ライン、データ伝送ライン、グラウンドラインから構成されているとともに、演出中継基板８０を介して接続されており、遊技制御基板４０と演出制御基板９０とが直接接続されない構成とされている。
【００４７】
演出制御基板９０には、スロットマシン１の前面扉に配置された液晶表示器５１（図１参照）、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ５５等の電気部品が接続されており、これら電気部品は、演出制御基板９０に搭載された後述のサブ制御部９１による制御に基づいて駆動されるようになっている。
【００４８】
演出制御基板９０には、メイン制御部４１と同様にＣＰＵ９１ａ、ＲＯＭ９１ｂ、ＲＡＭ９１ｃ、Ｉ／Ｏポート９１ｄを備えたマイクロコンピュータにて構成され、演出の制御を行うサブ制御部９１、演出制御基板９０に接続された液晶表示器５１の駆動制御を行う液晶駆動回路９２、演出効果ＬＥＤ５２、リールＬＥＤ５５の駆動制御を行うランプ駆動回路９３、スピーカ５３、５４からの音声出力制御を行う音声出力回路９４、電源投入時またはＣＰＵ９１ａからの初期化命令が入力されないときにＣＰＵ９１ａにリセット信号を与えるリセット回路９５、その他の回路等、が搭載されており、ＣＰＵ９１ａは、遊技制御基板４０から送信されるコマンドを受けて、演出を行うための各種の制御を行うとともに、演出制御基板９０に搭載された制御回路の各部を直接的または間接的に制御する。
【００４９】
ＣＰＵ９１ａは、メイン制御部４１のＣＰＵ４１ａと同様に、タイマ割込などの割込機能（割込禁止機能を含む）を備える。サブ制御部９１の割込端子（図示略）は、コマンド伝送ラインのうち、メイン制御部４１がコマンドを送信する際に出力するストローブ（ＩＮＴ）信号線に接続されており、ＣＰＵ９１ａは、ストローブ信号の入力に基づいて割込を発生させて、メイン制御部４１からのコマンドを取得し、バッファに格納するコマンド受信割込処理を実行する。また、ＣＰＵ９１ａは、クロック入力数が一定数に到達する毎、すなわち一定間隔毎に割込を発生させて後述するタイマ割込処理（サブ）を実行する。また、ＣＰＵ９１ａにおいても未使用の割込が発生した場合には、もとの処理に即時復帰させる未使用割込処理を実行するようになっている。
【００５０】
また、ＣＰＵ９１ａは、ＣＰＵ４１ａとは異なり、ストローブ信号（ＩＮＴ）の入力に基づいて割込が発生した場合には、他の割込に基づく割込処理の実行中であっても、当該処理に割り込んでコマンド受信割込処理を実行し、他の割込が同時に発生してもコマンド受信割込処理を最優先で実行するようになっている。
【００５１】
また、サブ制御部９１にも、停電時においてバックアップ電源が供給されており、バックアップ電源が供給されている間は、ＣＰＵ９１ａによりリフレッシュ動作が行われてＲＡＭ９１ｃに記憶されているデータが保持されるようになっている。
【００５２】
本実施例のスロットマシン１は、設定値に応じてメダルの払出率が変わるものであり、後述する内部抽選の当選確率は、設定値に応じて定まるものとなる。以下、設定値の変更操作について説明する。
【００５３】
設定値を変更するためには、設定キースイッチ３７をＯＮ状態としてからスロットマシン１の電源をＯＮする必要がある。設定キースイッチ３７をＯＮ状態として電源をＯＮすると、設定値表示器２４に設定値の初期値として１が表示され、リセット／設定スイッチ３８の操作による設定値の変更操作が可能な設定変更モードに移行する。設定変更モードにおいて、リセット／設定スイッチ３８が操作されると、設定値表示器２４に表示された設定値が１ずつ更新されていく（設定６から更に操作されたときは、設定１に戻る）。そして、スタートスイッチ７が操作されると設定値が確定し、確定した設定値がメイン制御部４１のＲＡＭ４１ｃに格納される。そして、設定キースイッチ３７がＯＦＦされると、遊技の進行が可能な状態に移行する。
【００５４】
本実施例のスロットマシン１においては、メイン制御部４１のＣＰＵ４１ａが電圧低下信号を検出した際に、電断割込処理を実行する。電断割込処理では、レジスタを後述するＲＡＭ４１ｃのスタックに退避し、メイン制御部４１のＲＡＭ４１ｃにいずれかのビットが１となる破壊診断用データ（本実施例では、５ＡＨ）、すなわち０以外の特定のデータを格納するとともに、ＲＡＭ４１ｃの全ての領域に格納されたデータに基づくＲＡＭパリティが０となるようにＲＡＭパリティ調整用データを計算し、ＲＡＭ４１ｃに格納する処理を行うようになっている。尚、ＲＡＭパリティとはＲＡＭ４１ｃの該当する領域（本実施例では、全ての領域）の各ビットに格納されている値の排他的論理和として算出される値である。このため、ＲＡＭ４１ｃの全ての領域に格納されたデータに基づくＲＡＭパリティが０であれば、ＲＡＭパリティ調整用データは０となり、ＲＡＭ４１ｃの全ての領域に格納されたデータに基づくＲＡＭパリティが１であれば、ＲＡＭパリティ調整用データは１となる。
【００５５】
そして、ＣＰＵ４１ａは、その起動時においてＲＡＭ４１ｃの全ての領域に格納されたデータに基づいてＲＡＭパリティを計算するとともに、破壊診断用データの値を確認し、ＲＡＭパリティが０であり、かつ破壊診断用データの値も正しいことを条件に、ＲＡＭ４１ｃに記憶されているデータに基づいてＣＰＵ４１ａの処理状態を電断前の状態に復帰させるが、ＲＡＭパリティが０でない場合（１の場合）や破壊診断用データの値が正しくない場合には、ＲＡＭ異常と判定し、ＲＡＭ異常エラーコードをレジスタにセットしてＲＡＭ異常エラー状態に制御し、遊技の進行を不能化させるようになっている。尚、ＲＡＭ異常エラー状態は、他のエラー状態と異なり、リセットスイッチ２３やリセット／設定スイッチ３８を操作しても解除されないようになっており、前述した設定変更モードにおいて新たな設定値が設定されるまで解除されることがない。
【００５６】
また、ＣＰＵ４１ａは、後述する内部抽選処理において当該ゲームにおいて設定された賭数が遊技状態に応じた賭数であるか否かを判定する。そして、設定された賭数が遊技状態に応じた賭数ではない場合にも、ＲＡＭ異常と判定し、ＲＡＭ異常エラーコードをセットしてＲＡＭ異常エラー状態に制御し、遊技の進行を不能化させるようになっている。尚、前述のようにＲＡＭ異常エラー状態は、他のエラー状態と異なり、リセットスイッチ２３やリセット／設定スイッチ３８を操作しても解除されないようになっており、前述した設定変更モードにおいて新たな設定値が設定されるまで解除されることがない。
【００５７】
また、ＣＰＵ４１ａは、後述する内部抽選処理において設定された賭数が遊技状態に応じた賭数であるか否かを判定するとともに、内部抽選に用いる設定値が適正な値であるか否かを判定する。
【００５８】
そして、設定された賭数が遊技状態に応じた賭数ではない場合、または内部抽選に用いる設定値が適正な値でない場合にも、ＲＡＭ異常と判定し、ＲＡＭ異常エラーコードをセットしてＲＡＭ異常エラー状態に制御し、遊技の進行を不能化させるようになっている。尚、前述のようにＲＡＭ異常エラー状態は、他のエラー状態と異なり、リセットスイッチ２３やリセット／設定スイッチ３８を操作しても解除されないようになっており、前述した設定変更モードにおいて新たな設定値が設定されるまで解除されることがない。
【００５９】
本実施例のスロットマシン１は、前述のように遊技状態に応じて設定可能な賭数の規定数が定められており、遊技状態に応じて定められた規定数の賭数が設定されたことを条件にゲームを開始させることが可能となる。本実施例では、遊技状態として、レギュラーボーナス、通常遊技状態があり、このうちレギュラーボーナスに対応する賭数の規定数として１が定められており、通常遊技状態に対応する賭数の規定数として３が定められている。このため、遊技状態がレギュラーボーナスにあるときには、賭数として１が設定されるとゲームを開始させることが可能となり、遊技状態が通常遊技状態にあるときには、賭数として３が設定されるとゲームを開始させることが可能となる。尚、本実施例では、遊技状態に応じた規定数の賭数が設定された時点で、全ての入賞ラインＬ１〜Ｌ５が有効化されるようになっており、遊技状態に応じた規定数が１であれば、賭数として１が設定された時点で全ての入賞ラインＬ１〜Ｌ５が有効化され、遊技状態に応じた規定数が３であれば、賭数として３が設定された時点で全ての入賞ラインＬ１〜Ｌ５が有効化されることとなる。
【００６０】
本実施例のスロットマシン１は、全てのリール２Ｌ、２Ｃ、２Ｒが停止した際に、有効化された入賞ライン（本実施例の場合、常に全ての入賞ラインが有効化されるため、以下では、有効化された入賞ラインを単に入賞ラインと呼ぶ）上に役と呼ばれる図柄の組み合わせが揃うと入賞となる。入賞となる役の種類は、遊技状態に応じて定められているが、大きく分けて、メダルの払い出しを伴う小役と、賭数の設定を必要とせずに次のゲームを開始可能となる再遊技役と、遊技状態の移行を伴う特別役と、がある。以下では、小役と再遊技役をまとめて一般役とも呼ぶ。遊技状態に応じて定められた各役の入賞が発生するためには、後述する内部抽選に当選して、当該役の当選フラグがＲＡＭ４１ｃに設定されている必要がある。
【００６１】
尚、これら各役の当選フラグのうち、小役及び再遊技役の当選フラグは、当該フラグが設定されたゲームにおいてのみ有効とされ、次のゲームでは無効となるが、特別役の当選フラグは、当該フラグにより許容された役の組み合わせが揃うまで有効とされ、許容された役の組み合わせが揃ったゲームにおいて無効となる。すなわち特別役の当選フラグが一度当選すると、例え、当該フラグにより許容された役の組み合わせを揃えることができなかった場合にも、その当選フラグは無効とされずに、次のゲームへ持ち越されることとなる。
【００６２】
このスロットマシン１における役としては、特別役としてビッグボーナス（１）、ビッグボーナス（２）、レギュラーボーナスが、小役としてチェリー、１枚（１）、１枚（２）、ベルが、再遊技役としてリプレイが定められている。また、スロットマシン１における役の組み合わせとしては、ビッグボーナス（１）＋チェリー、ビッグボーナス（２）＋チェリー、ビッグボーナス（１）＋１枚（１）、ビッグボーナス（２）＋１枚（１）、ビッグボーナス（１）＋１枚（２）、ビッグボーナス（２）＋１枚（２）が定められている。
【００６３】
本実施例のスロットマシン１においては、遊技状態が、通常遊技状態であるか、レギュラーボーナスであるか、によって抽選の対象となる役及び役の組み合わせが異なる。更に遊技状態が通常遊技状態である場合には、いずれかの特別役の持ち越し中か否か（特別役の当選フラグにいずれかの特別役が当選した旨が既に設定されているか否か）によっても抽選の対象となる役及び役の組み合わせが異なる。本実施例では、遊技状態に応じた状態番号が割り当てられており、内部抽選を行う際に、現在の遊技状態に応じた状態番号を設定し、この状態番号に応じて抽選対象となる役を特定することが可能となる。具体的には、通常遊技状態においていずれの特別役も持ち越されていない場合には、状態番号として「０」が設定され、通常遊技状態においていずれかの特別役が持ち越されている場合には、状態番号として「１」が設定され、レギュラーボーナスである場合には、状態番号として「２」が設定されるようになっている。
【００６４】
遊技状態が通常遊技状態であり、いずれの特別役も持ち越されていない状態、すなわち状態番号として「０」が設定されている場合には、ビッグボーナス（１）、ビッグボーナス（２）、レギュラーボーナス、ビッグボーナス（１）＋チェリー、ビッグボーナス（２）＋チェリー、ビッグボーナス（１）＋１枚（１）、ビッグボーナス（２）＋１枚（１）、ビッグボーナス（１）＋１枚（２）、ビッグボーナス（２）＋１枚（２）、リプレイ、チェリー、１枚（１）、１枚（２）、ベルが内部抽選の対象となる。また、遊技状態が通常遊技状態であり、いずれかの特別役が持ち越されている状態、すなわち状態番号として「１」が設定されている場合には、リプレイ、チェリー、１枚（１）、１枚（２）、ベルが内部抽選の対象となる。また、遊技状態がレギュラーボーナス、すなわち状態番号として「４」が設定されている場合には、チェリー、１枚（１）、１枚（２）、ベルが内部抽選の対象となる。
【００６５】
チェリーは、いずれの遊技状態においても左リールについて入賞ラインのいずれかに「チェリー」の図柄が導出されたときに入賞となり、通常遊技状態においては２枚のメダルが払い出され、レギュラーボーナスにおいては１５枚のメダルが払い出される。尚、「チェリー」の図柄が左リールの上段または下段に停止した場合には、入賞ラインＬ２、Ｌ４または入賞ラインＬ３、Ｌ５の２本の入賞ラインにチェリーの組み合わせが揃うこととなり、２本の入賞ライン上でチェリーに入賞したこととなるので、通常遊技状態においては４枚のメダルが払い出されることとなるが、レギュラーボーナスでは、２本の入賞ライン上でチェリーに入賞しても、１ゲームにおいて払い出されるメダル枚数の上限が１５枚に設定されているため、１５枚のみメダルが払い出されることとなる。１枚（１）は、いずれの遊技状態においても入賞ラインのいずれかに「青７−赤７−スイカ」の組み合わせが揃ったときに入賞となり、通常遊技状態においては１枚のメダルが払い出され、レギュラーボーナスにおいては１５枚のメダルが払い出される。１枚（２）は、いずれの遊技状態においても入賞ラインのいずれかに「赤７−青７−スイカ」の組み合わせが揃ったときに入賞となり、通常遊技状態においては１枚のメダルが払い出され、レギュラーボーナスにおいては１５枚のメダルが払い出される。ベルは、いずれの遊技状態においても入賞ラインのいずれかに「ベル−ベル−ベル」の組み合わせが揃ったときに入賞となり、通常遊技状態においては８枚のメダルが払い出され、レギュラーボーナスにおいては１５枚のメダルが払い出される。
【００６６】
リプレイは、通常遊技状態において入賞ラインのいずれかに「リプレイ−リプレイ−リプレイ」の組み合わせが揃ったときに入賞となるが、レギュラーボーナスでは、この組み合わせが揃ったとしてもリプレイ入賞とならない。リプレイ入賞したときには、メダルの払い出しはないが次のゲームを改めて賭数を設定することなく開始できるので、次のゲームで設定不要となった賭数（レギュラーボーナスではリプレイ入賞しないので必ず３）に対応した３枚のメダルが払い出されるのと実質的には同じこととなる。
【００６７】
レギュラーボーナスは、通常遊技状態において入賞ラインのいずれかに「赤７−赤７−ＢＡＲ」の組み合わせが揃ったときに入賞となる。レギュラーボーナス入賞すると、遊技状態が通常遊技状態からレギュラーボーナスに移行する。レギュラーボーナスは、１２ゲームを消化したとき、または８ゲーム入賞（役の種類は、いずれでも可）したとき、のいずれか早いほうで終了する。遊技状態がレギュラーボーナスにある間は、レギュラーボーナス中フラグがＲＡＭ４１ｃに設定される。
【００６８】
ビッグボーナスは、通常遊技状態において入賞ラインのいずれかに「赤７−赤７−赤７」の組み合わせ、または「青７−青７−青７」の組み合わせが揃ったときに入賞となる。ビッグボーナス入賞すると、遊技状態がビッグボーナスに移行する。ビッグボーナスに移行すると、ビッグボーナスへの移行と同時にレギュラーボーナスに移行し、レギュラーボーナスが終了した際に、ビッグボーナスが終了していなければ、再度レギュラーボーナスに移行し、ビッグボーナスが終了するまで繰り返しレギュラーボーナスに制御される。すなわちビッグボーナス中は、常にレギュラーボーナスに制御されることとなる。そして、ビッグボーナスは、当該ビッグボーナス中において遊技者に払い出したメダルの総数が４６６枚に達したときに終了する。この際、レギュラーボーナスの終了条件が成立しているか否かに関わらずレギュラーボーナスも終了する。遊技状態がビッグボーナスにある間は、ビッグボーナス中フラグがＲＡＭ４１ｃに設定される。
【００６９】
尚、「赤７−赤７−赤７」によるビッグボーナス及び「青７−青７−青７」によるビッグボーナスを区別する必要がある場合には、それぞれビッグボーナス（１）、ビッグボーナス（２）と呼ぶものとする。また、前述したレギュラーボーナス、ビッグボーナス（１）及びビッグボーナス（２）をまとめて、単に「ボーナス」と呼ぶ場合があるものとする。
【００７０】
以下、本実施例の内部抽選について説明する。内部抽選は、上記した各役への入賞を許容するか否かを、全てのリール２Ｌ、２Ｃ、２Ｒの表示結果が導出表示される以前に（実際には、スタートスイッチ７の検出時）決定するものである。内部抽選では、まず、後述するように内部抽選用の乱数（０〜１６３８３の整数）が取得される。そして、遊技状態に応じて定められた各役及び役の組み合わせについて、取得した内部抽選用の乱数と、遊技状態及び設定値に応じて定められた各役及び役の組み合わせの判定値数に応じて行われる。本実施例においては、各役及び役の組み合わせの判定値数から、一般役、特別役がそれぞれ単独で当選する判定値の範囲と、一般役及び特別役が重複して当選する判定値の範囲と、が特定されるようになっており、内部抽選における当選は、排他的なものではなく、１ゲームにおいて一般役と特別役とが同時に当選することがあり得る。ただし、種類の異なる特別役については、重複して当選する判定値の範囲が特定されることがなく、種類の異なる特別役については、排他的に抽選を行うものである。
【００７１】
いずれかの役または役の組み合わせの当選が判定された場合には、当選が判定された役または役の組み合わせに対応する当選フラグをＲＡＭ４１ｃに割り当てられた特別役格納ワーク及び一般役格納ワークに設定する。詳しくは、特別役が当選した場合には、当該特別役が当選した旨を示す特別役の当選フラグを特別役格納ワークに設定し、一般役格納ワークに設定されている当選フラグをクリアする。また、特別役＋一般役が当選した場合には、当該特別役が当選した旨を示す特別役の当選フラグを特別役格納ワークに設定し、当該一般役が当選した旨を示す一般役の当選フラグを一般役格納ワークに設定する。また、一般役が当選した場合には、当該一般役が当選した旨を示す一般役の当選フラグを一般役格納ワークに設定する。尚、いずれの役及び役の組み合わせにも当選しなかった場合には、一般役格納ワークのみクリアする。
【００７２】
図３は、遊技制御基板４０におけるメイン制御部４１まわりの構成を説明するための回路図である。
【００７３】
遊技制御基板４０における＋５Ｖの直流電圧の供給ラインは、図３に示すように、遊技制御基板４０上で分岐して＋５Ｖ（ＶＢＢ）の直流電圧の供給ラインを形成する。この＋５Ｖ（ＶＢＢ）の直流電圧の供給ラインは、逆流防止用のダイオード３１２を介してバックアップ電源入力端子ＶＢＢに接続されている。
【００７４】
また、電源基板１００から出力される直流電圧のうち、＋２５Ｖの直流電圧、すなわち＋２４Ｖ、＋１２Ｖ（ＶＣＣ）、＋１２Ｖ、＋５Ｖの直流電圧の生成源となる直流電圧は、遊技制御基板４０において、図３に示すように、抵抗３１１により減圧（本実施例では、約６．６％減圧）されて、電断検出回路４８が備える監視電圧入力端子ＶＳＢに入力される。電断検出回路４８は、監視電圧入力端子ＶＳＢに入力された電圧が所定の大きさ（本実施例では、＋１．２Ｖ）以下となったときに、電圧低下信号出力端子ＲＥＳＥＴから電圧低下信号を出力する構成とされている。この電圧低下信号出力端子ＲＥＳＥＴは、前述のようにメイン制御部４１のトリガー端子ＣＬＫ／ＴＲＧに接続されており、監視電圧入力端子ＶＳＢに入力された電圧が所定の大きさ以下となったときに、電圧低下信号がメイン制御部４１のトリガー端子ＣＬＫ／ＴＲＧに入力されるようになっている。すなわち、メイン制御部４１のＣＰＵ４１ａは、電断検出回路４８からの電圧低下信号の入力に基づき電断の発生を検知して後述する電断割込処理を実行できるようになっている。本実施例では、＋２５Ｖの直流電圧が約＋１８Ｖ以下となったときに抵抗３１１により減圧された電圧が＋１．２Ｖ以下となり、電圧低下信号が出力されるため、ＣＰＵ４１ａは電圧低下信号の入力に基づいて、＋２５Ｖの直流電圧が、＋１８Ｖ以下となったときに電断の発生を検知することができる。
【００７５】
また、電圧低下信号出力端子ＲＥＳＥＴは、途中で分岐してメイン制御部４１の信号入力端子ＤＡＴＡにも接続されており、監視電圧入力端子ＶＳＢに入力された電圧が所定の大きさ以下となったときに、電圧低下信号がメイン制御部４１のトリガー端子ＣＬＫ／ＴＲＧに加えて信号入力端子ＤＡＴＡにも入力されるようになっている。また、電断検出回路４８は、監視電圧入力端子ＶＳＢに入力された電圧が所定の大きさ（＋１．２Ｖ）以下となってから、当該電断検出回路４８が動作不能となるか、電圧が所定の大きさ（＋１．２Ｖ）を超えるまでの間、継続して電圧低下信号を出力するようになっている。このため、ＣＰＵ４１ａは、電断検出回路４８からの電圧低下信号の入力に基づく電断割込処理中にも、電圧低下信号の入力状況を監視することが可能とされている。
【００７６】
このように本実施例では、メイン制御部４１並びに電断検出回路４８が、電圧生成回路３０８により生成された＋５Ｖの直流電圧にて駆動されるとともに、電断検出回路４８は、電圧生成回路３０３により生成された＋２５Ｖの直流電圧がこれら各デバイスを駆動させる＋５Ｖよりも高い電圧である＋１８Ｖ以下となったときに、電断の発生を検知し、電圧低下信号を出力するようになっており、ＣＰＵ４１ａが電断の発生を検知した後もしばらくは＋５Ｖの直流電圧がメイン制御部４１に対して供給されるため、電圧低下信号の入力に基づきＣＰＵ４１ａが電断割込処理や、後述する電断判定処理を行うのに必要な時間を十分に確保することができるようになっている。
【００７７】
次に停電時におけるメイン制御部４１のＣＰＵ４１ａの動作状況を図４のタイミングチャートに基づいて説明する。
【００７８】
まず、電断検出回路４８は、＋２５Ｖの直流電圧（以下電源監視用電圧と称す）が＋１８Ｖ以下となったとき（ｔａ１）に電圧低下信号をメイン制御部４１に対して出力する。電圧低下信号が入力された際にＣＰＵ４１ａが設定変更処理やゲーム処理の実行中であればゲーム処理に割り込んで電断割込処理が実行される。また、タイマ割込処理の要求（割込３）と同時に電圧低下信号が入力された場合にはタイマ割込処理よりも電断割込処理を優先して電断割込処理が実行される。また、ＣＰＵ４１ａがタイマ割込処理の実行中に電圧低下信号が入力された場合には実行中のタイマ割込処理が終了した時点で電断割込処理が実行される（ｔａ２）。ＣＰＵ４１ａは、電断割込処理の実行に基づいて電断フラグをセットする。
【００７９】
その後、ＣＰＵ４１ａはタイマ割込処理を再開する。ＣＰＵ４１ａは、タイマ割込処理において、電断フラグがセットされている場合には電断判定処理を実行するようになっている（ｔａ３）。この電断判定処理においては電圧低下信号が入力されていれば電断状態と判定し、電断状態が所定時間継続したことを条件に、具体的には、タイマ割込処理中に実行される電断判定処理において、５回継続して電断状態であると判定したことを条件に、ＣＰＵ４１ａは復旧時にＲＡＭ４１ｃのデータが正常であるかを判定可能とするための処理や出力ポートの初期化等を実行する。したがって、ＣＰＵ４１ａは、電断状態が継続したまま５回目の電断判定処理が実行されたときにこれら処理を実行する（ｔａ４）。つまり、電断状態が所定時間継続したとは、１回目の電断判定処理が実行されたときから５回目の電断判定処理が実行されたときまで、電断状態が継続したことを意味する。
【００８０】
尚、本実施例では、タイマ割込処理に要する最大時間、電断割込処理に要する最大時間、及びタイマ割込処理が実行される時間間隔（４回分）の合計よりも、電源監視用電圧が電圧低下信号が出力される＋１８Ｖ（ｔａ１）となってからＣＰＵ４１ａを駆動させることが可能な電圧（＋５Ｖ）（ｔａ５）まで降下する時間の方が長いので、停電発生時にＣＰＵ４１ａがタイマ割込処理の実行中であっても電断割込処理及びを確実に行える時間が担保されるようになっている。
【００８１】
次に、メイン制御部４１のＲＡＭ４１ｃの初期化について説明する。メイン制御部４１のＲＡＭ４１ｃは、５１２バイトの格納領域を有しており、図５に示すように、各バイト毎に７Ｅ００（Ｈ）〜７ＦＦＦ（Ｈ）のアドレスが割り当てられているとともに、重要ワーク、一般ワーク、特別ワーク、設定値ワーク、非保存ワーク、未使用領域、スタック領域に区分されている。
【００８２】
重要ワークは、７Ｅ００（Ｈ）〜７Ｅ２７（Ｈ）の４０バイトの領域であり、各種表示器やＬＥＤの表示用データ、Ｉ／Ｏポート４１ｄの入出力データ、遊技時間の計時カウンタ等、ビッグボーナス終了時に初期化すると不都合があるデータが格納されるワークである。
【００８３】
一般ワークは、７Ｅ２８（Ｈ）〜７Ｅ８Ｅ（Ｈ）、７ＥＢＡ（Ｈ）〜７Ｆ０４（Ｈ）の１７８バイトの領域であり、停止図柄データ、メダルの払出枚数、役の当選フラグ、ビッグボーナス中のメダル払出総数等、ビッグボーナス終了時に初期化可能なデータが格納されるワークである。
【００８４】
特別ワークは、７Ｅ８Ｆ（Ｈ）〜７ＥＢ５（Ｈ）の３９バイトの領域であり、演出制御基板９０へコマンドを送信するためのデータ、各種ソフトウェア乱数等、設定開始前にのみ初期化されるデータが格納されるワークである。
【００８５】
設定値ワークは、７ＥＢ６（Ｈ）の１バイトの領域であり、設定値が格納されるワークであり、設定開始前（設定変更モードへの移行前）の初期化において０が格納された後、１に補正され、設定終了時（設定変更モードへの終了時）に新たに設定された設定値が格納されることとなる。
【００８６】
非保存ワークは、７ＥＢ７（Ｈ）〜７ＥＢ９（Ｈ）の３バイトの領域であり、打止スイッチ３６の状態や各種スイッチ類の状態を保持するワークであり、起動時にＲＡＭ４１ｃのデータが破壊されているか否かに関わらず必ず値が設定されることとなる。
【００８７】
未使用領域は、７Ｆ０５（Ｈ）〜７ＦＤ１（Ｈ）の２０５バイトの領域であり、ＲＡＭ４１ｃの格納領域のうち使用していない領域であり、後述する複数の初期化条件のいずれか１つでも成立すれば初期化されることとなる。
【００８８】
スタック領域は、７ＦＤ２（Ｈ）〜７ＦＦＦ（Ｈ）の４６バイトの領域であり、このうち７ＦＤ２（Ｈ）〜スタックポインタ−１の領域は、スタック領域内の使用されていない未使用スタック領域であり、スタックポインタ〜７ＦＦＦ（Ｈ）の領域は、ＣＰＵ４１ａのレジスタから退避したデータが格納されている使用中スタック領域である。このうち未使用スタック領域は、未使用領域と同様に、後述する複数の初期化条件のいずれか１つでも成立すれば初期化されることとなるが、使用中スタック領域は、プログラムの続行のため、初期化されることはない。
【００８９】
本実施例においてメイン制御部４１のＣＰＵ４１ａは、図６（ａ）に示すように、設定開始前（設定変更モードへの移行前）、ビッグボーナス終了時、起動時にＲＡＭ４１ｃのデータが破壊されていないとき、１ゲーム終了時の４つからなる初期化条件が成立した際に、各初期化条件に応じて初期化される領域の異なる４種類の初期化を行う。
【００９０】
初期化１は、起動時において設定キースイッチ３７がＯＮの状態であり、設定変更モードへ移行する場合において、その前に行う初期化であり、初期化１では、ＲＡＭ４１ｃの格納領域のうち、使用中スタック領域を除く全ての領域（未使用領域及び未使用スタック領域を含む）が初期化される。初期化２は、ビッグボーナス終了時に行う初期化であり、初期化２では、ＲＡＭ４１ｃの格納領域のうち、一般ワーク、未使用領域及び未使用スタック領域が初期化される。初期化３は、起動時において設定キースイッチ３７がＯＦＦの状態であり、かつＲＡＭ４１ｃのデータが破壊されていない場合において行う初期化であり、初期化３では、非保存ワーク、未使用領域及び未使用スタック領域が初期化される。初期化４は、１ゲーム終了時に行う初期化であり、初期化４では、ＲＡＭ４１ｃの格納領域のうち、未使用領域及び未使用スタック領域が初期化される。
【００９１】
ＲＯＭ４１ｂには、初期化１〜４に対応してそれぞれ初期化する領域の開始アドレスと初期化する領域のサイズを示す初期化サイズとが登録されており、ＣＰＵ４１ａがＲＡＭ４１ｃの初期化を行う際には、初期化テーブルを参照し、初期化条件に応じて初期化１〜４のいずれかに対応する開始アドレスと初期化サイズを取得し、開始アドレスにポインタを設定し、初期化サイズを設定する。また、初期化サイズが未使用スタック領域のサイズを含むものであれば、未使用スタック領域のサイズ（スタックポインタ−７ＦＤ２（Ｈ））を計算し、初期化サイズを設定する。そして、ポインタが設定された初期化アドレスから１バイトづつ該当するアドレスの領域を０クリアし、１バイトクリアする毎に初期化サイズを１減算するとともに、ポインタを１進める処理を、初期化サイズが０になるまで実行する。すなわちＣＰＵ４１ａがＲＡＭ４１ｃを初期化する際には、初期化条件に応じた領域毎に初期化するのではなく、指定したアドレスから指定したサイズ分の領域を初期化することとなる。
【００９２】
図６（ｂ）は、初期化テーブルを示す図である。初期化テーブルには、前述のように初期化１〜４に対応して開始アドレス及び初期化サイズが登録されている。
【００９３】
初期化１には、開始アドレスとして７Ｅ００（Ｈ）、初期化サイズとして１Ｄ３（Ｈ）＋Ｍ（未使用スタック領域のサイズ：（スタックポインタ−７ＦＤ２））バイトが登録されているので、初期化１では、７Ｅ００（Ｈ）から１Ｄ３（Ｈ）＋Ｍバイト分の領域が初期化される。そして、図５に示すように、重要ワーク、一般ワーク、特別ワーク、設定値ワーク、非保存ワーク、一般ワーク、未使用領域、未使用スタック領域は、７Ｅ００（Ｈ）から連続するアドレス領域に割り当てられており、これらの領域のサイズを合計すると１Ｄ３（Ｈ）＋Ｍバイトとなるので、初期化１において、７Ｅ００（Ｈ）から１Ｄ３（Ｈ）＋Ｍバイト分が初期化されることで、重要ワーク、一般ワーク、特別ワーク、設定値ワーク、非保存ワーク、一般ワーク、未使用領域、未使用スタック領域の順番でこれらの各領域が初期化されることとなる。
【００９４】
初期化２には、２つの開始アドレス及び各アドレス別の初期化サイズが登録されている。これは、初期化２において初期化される一般ワークが離れた２つのアドレス領域に割り当てられているからである。初期化２には、最初に初期化する領域の開始アドレスとして７Ｅ２８（Ｈ）、初期化サイズとして６７（Ｈ）バイトが登録され、次に初期化する領域の開始アドレスとして７ＥＢ７（Ｈ）、初期化サイズとして１１９（Ｈ）＋Ｍバイトがそれぞれ登録されているので、初期化２では、７Ｅ２８（Ｈ）から６７（Ｈ）バイト分の領域及び７ＥＢ７（Ｈ）から１１９（Ｈ）＋Ｍバイト分の領域が初期化される。そして、７Ｅ２８（Ｈ）〜７Ｅ８Ｅ（Ｈ）の一般ワークのサイズは６７（Ｈ）バイトとなり、図５に示すように、残りの一般ワークの領域、未使用領域、未使用スタック領域は、７ＥＢ７（Ｈ）から連続するアドレス領域に割り当てられ、これらの領域のサイズを合計すると１１９（Ｈ）＋Ｍバイトとなるので、初期化２において、７Ｅ２８（Ｈ）から６７（Ｈ）バイト分が初期化され、７ＥＢ７（Ｈ）から１１９（Ｈ）＋Ｍバイト分が初期化されることで、一般ワーク、未使用領域、未使用スタック領域の順番でこれらの各領域が初期化されることとなる。
【００９５】
初期化３にも、２つの開始アドレス及び各アドレス別の初期化サイズが登録されている。これは、初期化３において初期化される非保存ワークと未使用領域及び未使用スタック領域とが離れた２つのアドレス領域に割り当てられているからである。初期化３には、最初に初期化する領域の開始アドレスとして７ＥＢ７（Ｈ）、初期化サイズとして３（Ｈ）バイトが登録され、次に初期化する領域の開始アドレスとして７Ｆ０５（Ｈ）、初期化サイズとしてＣＥ（Ｈ）＋Ｍバイトがそれぞれ登録されているので、初期化３では、７ＥＢ７（Ｈ）から３（Ｈ）バイト分の領域及び７Ｆ０５（Ｈ）からＣＥ（Ｈ）＋Ｍバイト分の領域が初期化される。そして、図５に示すように、非保存ワークは、７ＥＢ７（Ｈ）から３バイト分の領域であり、未使用領域、未使用スタック領域は、７Ｆ０５（Ｈ）から連続するアドレス領域に割り当てられ、これらの領域のサイズを合計するとＣＥ（Ｈ）＋Ｍバイトとなるので、初期化３において、７ＥＢ７（Ｈ）から３（Ｈ）バイト分が初期化され、７Ｆ０５（Ｈ）からＣＥ（Ｈ）＋Ｍバイト分が初期化されることで、非保存ワーク、未使用領域、未使用スタック領域の順番でこれらの各領域が初期化されることとなる。
【００９６】
初期化４には、開始アドレスとして７Ｆ０５（Ｈ）、初期化サイズとしてＣＥ（Ｈ）＋Ｍバイトが登録されているので、初期化４では、７Ｆ０５（Ｈ）からＣＥ（Ｈ）＋Ｍバイト分の領域が初期化される。そして、図５に示すように、未使用領域、未使用スタック領域は、７Ｆ０５（Ｈ）から連続するアドレス領域に割り当てられており、これらの領域のサイズを合計するとＣＥ（Ｈ）＋Ｍバイトとなるので、初期化４において、７Ｆ０５（Ｈ）からＣＥ（Ｈ）＋Ｍバイト分が初期化されることで、未使用領域、未使用スタック領域の順番でこれらの各領域が初期化されることとなる。
【００９７】
また、初期化１〜４のうち初期化１、３については、ＣＰＵ４１ａの起動後、割込が許可される前に行われる処理である。一方、初期化２、４については、割込が許可されている状態で行われる処理であるが、これら初期化２、４の実行中は、割込が禁止されるようになっている。すなわち初期化１〜４の実行中においては常に割込が禁止されるようになっている。
【００９８】
尚、本実施例においてＲＡＭ４１ｃの記憶領域を初期化するとは、対象となる領域のデータを０クリアすること、すなわち対象となる領域の値を０に更新することであるが、例えば、対象となる領域のデータを予め定められた初期値に書き換えるようにしても良い。
【００９９】
次に、本実施例におけるメイン制御部４１のＣＰＵ４１ａが実行する各種制御内容を、図７〜図２０に基づいて以下に説明する。
【０１００】
ＣＰＵ４１ａは、リセット回路４９からリセット信号が入力されると、図７のフローチャートに示す起動処理を行う。尚、リセット信号は、電源投入時及びメイン制御部４１の動作が停滞した場合に出力される信号であるので、起動処理は、電源投入に伴うＣＰＵ４１ａの起動時及びＣＰＵ４１ａの不具合に伴う再起動時に行われる処理である。
【０１０１】
起動処理では、まず、内蔵デバイスや周辺ＩＣ、割込モード、スタックポインタ等を初期化した後（Ｓａ１）、入力ポートから電圧低下信号の検出データを取得し、電圧低下信号が入力されているか否か、すなわち電圧が安定しているか否かを判定し（Ｓａ２）、電圧低下信号が入力されている場合には、電圧低下信号が入力されているか否かの判定以外は、いずれの処理も行わないループ処理に移行する。
【０１０２】
Ｓａ２のステップにおいて電圧低下信号が入力されていないと判定した場合には、Ｉレジスタ及びＩＹレジスタの値を初期化する（Ｓａ３）とともに、打止スイッチ３６の状態を取得し、ＣＰＵ４１ａの特定のレジスタに打止機能の有効／無効を設定する（Ｓａ４）。Ｉレジスタ及びＩＹレジスタの初期化により、Ｉレジスタには、割込発生時に参照する割込テーブルのアドレスが設定され、ＩＹレジスタには、ＲＡＭ４１ｃの格納領域を参照する際の基準アドレスが設定される。これらの値は、固定値であり、起動時には常に初期化されることとなる。
【０１０３】
次いで、ＲＡＭ４１ｃへのアクセスを許可し（Ｓａ５）、設定キースイッチ３７がＯＮの状態か否かを判定する（Ｓａ６）。Ｓａ６のステップにおいて設定キースイッチ３７がＯＮの状態でなければ、ＲＡＭ４１ｃの全ての格納領域（未使用領域及び未使用スタック領域を含む）のＲＡＭパリティを計算し（Ｓａ７）、ＲＡＭパリティが０か否かを判定する（Ｓａ８）。正常に電断判定処理が行われていれば、ＲＡＭパリティが０になるはずであり、Ｓａ８のステップにおいてＲＡＭパリティが０でなければ、ＲＡＭ４１ｃに格納されているデータが正常ではないので、ＲＡＭ異常を示すエラーコードをレジスタに設定し（Ｓａ１０）、図８に示すエラー処理に移行する。
【０１０４】
また、Ｓａ８のステップにおいてＲＡＭパリティが０であれば、更に破壊診断用データが正常か否かを判定する（Ｓａ９）。正常に電断判定処理が行われていれば、破壊診断用データが設定されているはずであり、Ｓａ９のステップにおいて破壊診断用データが正常でない場合（破壊診断用データが電断時に格納される５Ａ（Ｈ）以外の場合）にも、ＲＡＭ４１ｃのデータが正常ではないので、ＲＡＭ異常を示すエラーコードをレジスタに設定し（Ｓａ１０）、図８に示すエラー処理に移行する。
【０１０５】
エラー処理では、図８に示すように、現在の遊技補助表示器１２の表示状態をスタックに退避し（Ｓｂ１）、レジスタに格納されているエラーコードを遊技補助表示器１２に表示する（Ｓｂ２）。
【０１０６】
次いで、レジスタに格納されているエラーコードを確認し、当該エラーコードがＲＡＭ異常エラーを示すエラーコードであるか否かを判定し（Ｓｂ３）、ＲＡＭ異常エラーを示すエラーコードである場合には、ＲＡＭ４１ｃの格納領域のうち、使用中スタック領域を除く全ての格納領域を初期化する初期化１を行った後（Ｓｂ４）、いずれの処理も行わないループ処理に移行する。
【０１０７】
また、Ｓｂ３のステップにおいて、ＲＡＭ異常以外を示すエラーコードではないと判定された場合には、リセット／設定スイッチ３８の操作が検出されているか否かを判定し（Ｓｂ５）、リセット／設定スイッチ３８の操作が検出されていなければ、更にリセットスイッチ２３の操作が検出されているか否かを判定し（Ｓｂ６）、リセットスイッチ２３の操作も検出されていなければ、Ｓｂ４のステップに戻る。すなわちリセット／設定スイッチ３８またはリセットスイッチ２３の操作が検出されるまで、遊技の進行が不能な状態で待機する。
【０１０８】
そして、Ｓｂ５のステップにおいてリセット／設定スイッチ３８の操作が検出された場合、またはＳｂ６のステップにおいてリセットスイッチ２３の操作が検出された場合には、レジスタに格納されているエラーコードをクリアし（Ｓｂ７）、遊技補助表示器１２の表示状態をＳｂ１のステップにおいてスタックに退避した表示状態に復帰させて（Ｓｂ８）、もとの処理に戻る。
【０１０９】
このようにエラー処理においては、ＲＡＭ異常エラー以外によるエラー処理であれば、リセット／設定スイッチ３８またはリセットスイッチ２３が操作されることで、エラー状態を解除してもとの処理に復帰するが、ＲＡＭ異常エラーによるエラー処理であれば、リセット／設定スイッチ３８またはリセットスイッチ２３が操作されてもエラー状態が解除されることはない。
【０１１０】
図７に戻り、Ｓａ９のステップにおいて破壊診断用データが正常であると判定した場合には、ＲＡＭ４１ｃのデータは正常であるので、ＲＡＭ４１ｃの非保存ワーク、未使用領域及び未使用スタック領域を初期化する初期化３を行った後（Ｓａ１１）、破壊診断用データをクリアする（Ｓａ１２）。次いで、各レジスタを電断前の状態、すなわちスタックに保存されている状態に復帰し（Ｓａ１３）、割込を許可して（Ｓａ１４）、電断前の最後に実行していた処理に戻る。
【０１１１】
また、Ｓａ６のステップにおいて設定キースイッチ３７がＯＮの状態であれば、ＲＡＭ４１ｃの格納領域のうち、使用中スタック領域を除く全ての格納領域を初期化する初期化１を実行した後（Ｓａ１５）、設定値ワークに格納されている値（この時点では０）を１に補正する（Ｓａ１６）。次いで、割込を許可して（Ｓａ１７）、図９に示す設定変更処理、すなわち設定変更モードに移行し（Ｓａ１８）、設定変更処理の終了後、ゲーム処理に移行する。
【０１１２】
設定変更処理では、図９に示すように、ＲＡＭ４１ｃの設定値ワークに格納されている設定値（設定変更処理に移行する前に設定値ワークの値は１に補正されているので、ここでは１である）を読み出す（Ｓｃ１）。
【０１１３】
その後、リセット／設定スイッチ３８とスタートスイッチ７の操作の検出待ちの状態となり（Ｓｃ２、Ｓｃ３）、Ｓｃ２のステップにおいてリセット／設定スイッチ３８の操作が検出されると、Ｓｃ１のステップにおいて読み出した設定値に１を加算し（Ｓｃ４）、加算後の設定値が７であるか否か、すなわち設定可能な範囲を超えたか否かを判定し（Ｓｃ５）、加算後の設定値が７でなければ、再びＳｃ２、Ｓｃ３のステップにおけるリセット／設定スイッチ３８とスタートスイッチ７の操作の検出待ちの状態に戻り、Ｓｃ５のステップにおいて加算後の設定値が７であれば設定値を１に補正した後（Ｓｃ６）、再びＳｃ２、Ｓｃ３のステップにおけるリセット／設定スイッチ３８とスタートスイッチ７の操作の検出待ちの状態に戻る。
【０１１４】
また、Ｓｃ３のステップにおいてスタートスイッチ７の操作が検出されると、その時点で選択されている変更後の設定値をＲＡＭ４１ｃの設定値ワークに格納して、設定値を確定した後（Ｓｃ７）、設定キースイッチ３７がＯＦＦの状態となるまで待機する（Ｓｃ８）。そして、Ｓｃ８のステップにおいて設定キースイッチ３７のＯＦＦが判定されると、図７のフローチャートに復帰し、ゲーム処理に移行することとなる。
【０１１５】
このように起動処理においては、設定キースイッチ３７がＯＮの状態ではない場合に、ＲＡＭパリティが０であるか否か、破壊診断用データが正常であるか否かを判定することでＲＡＭ４１ｃに記憶されているデータが正常か否かを判定し、ＲＡＭ４１ｃのデータが正常でなければ、エラー処理に移行する。ＲＡＭ異常エラーによるエラー処理では、ＲＡＭ異常エラーを示すエラーコードを遊技補助表示器１２に表示させた後、いずれの処理も行わないループ処理に移行するので、ゲームの進行が不能化される。そして、ＲＡＭ４１ｃのデータが正常でなければ、割込が許可されることがないので、一度ＲＡＭ異常エラーによるエラー処理に移行すると、設定キースイッチ３７がＯＮの状態で起動し、割込が許可されるまでは、電断しても電断割込処理は行われない。すなわち電断割込処理において電断フラグがセットされることがないため、タイマ割込処理中の電断判定処理において新たにＲＡＭパリティが０となるようにＲＡＭ調整用データが計算されて格納されることはなく、破壊診断用データが新たに設定されることもないので、ＣＰＵ４１ａが再起動しても設定キースイッチ３７がＯＮの状態で起動した場合を除き、ＣＰＵ４１ａを再起動させてもゲームを再開させることができないようになっている。
【０１１６】
そして、ＲＡＭ異常エラーによるエラー処理に一度移行すると、設定キースイッチ３７がＯＮの状態で起動し、ＲＡＭ４１ｃの使用中スタック領域を除く全ての領域が初期化された後、設定変更処理が行われ、リセット／設定スイッチ３８の操作により新たに設定値が選択・設定されるまで、ゲームの進行が不能な状態となる。すなわちＲＡＭ異常エラーによるエラー処理に移行した状態では、リセット／設定スイッチ３８の操作により新たに設定値が選択・設定されたことを条件に、ゲームの進行が不能な状態が解除され、ゲームを再開させることが可能となる。
【０１１７】
図１０は、ＣＰＵ４１ａが実行するゲーム処理の制御内容を示すフローチャートである。
【０１１８】
ゲーム処理では、ＢＥＴ処理（Ｓｄ１）、内部抽選処理（Ｓｄ２）、リール回転処理（Ｓｄ３）、入賞判定処理（Ｓｄ４）、払出処理（Ｓｄ５）、ゲーム終了時処理（Ｓｄ６）を順に実行し、ゲーム終了時処理が終了すると、再びＢＥＴ処理に戻る。
【０１１９】
Ｓｄ１のステップにおけるＢＥＴ処理では、賭数を設定可能な状態で待機し、遊技状態に応じた規定数の賭数が設定され、スタートスイッチ７が操作された時点で賭数を確定する処理を実行する。
【０１２０】
Ｓｄ２のステップにおける内部抽選処理では、Ｓｄ１のステップにおけるスタートスイッチ７の検出によるゲームスタートと同時に内部抽選用の乱数を抽出し、抽出した乱数の値に基づいて上記した各役への入賞を許容するかどうかを決定する処理を行う。この内部抽選処理では、それぞれの抽選結果に基づいて、ＲＡＭ４１ｃに当選フラグが設定される。
【０１２１】
Ｓｄ３のステップにおけるリール回転処理では、各リール２Ｌ、２Ｃ、２Ｒを回転させる処理、遊技者によるストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されたことに応じて対応するリール２Ｌ、２Ｃ、２Ｒの回転を停止させる処理を実行する。
【０１２２】
Ｓｄ４のステップにおける入賞判定処理では、Ｓｄ３のステップにおいて全てのリール２Ｌ、２Ｃ、２Ｒの回転が停止したと判定した時点で、各リール２Ｌ、２Ｃ、２Ｒに導出された表示結果に応じて入賞が発生したか否かを判定する処理を実行する。
【０１２３】
Ｓｄ５のステップにおける払出処理では、Ｓｄ４のステップにおいて入賞の発生が判定された場合に、その入賞に応じた払出枚数に基づきクレジットの加算並びにメダルの払出等の処理を行う。
【０１２４】
Ｓｄ６のステップにおけるゲーム終了時処理では、次のゲームに備えて遊技状態を設定する処理を実行する。
【０１２５】
図１１は、ＣＰＵ４１ａがＳｄ２のステップにおいて実行する内部抽選処理の制御内容を示すフローチャートである。
【０１２６】
本実施例の内部抽選処理では、まず、当該ゲームの遊技状態に応じて予め定められたメダルの投入枚数である規定枚数を読み出し（Ｓｇ１）、Ｓｇ２のステップに進む。規定枚数は、通常遊技状態においては３枚、レギュラーボーナスの遊技状態においては１枚とされている。
【０１２７】
Ｓｇ２のステップでは、メダルの投入枚数、すなわちＢＥＴカウンタの値が、Ｓｇ１のステップにて読み出した規定枚数か否かを判定し、メダルの投入枚数が規定枚数であればＳｇ３のステップに進み、メダルの投入枚数が規定枚数でなければＳｇ４のステップに進む。
【０１２８】
Ｓｇ３のステップでは、ＲＡＭ４１ｃの設定値ワークに格納されている設定値が１〜６の範囲であるか否か、すなわち設定値ワークに格納されている設定値が適正な値か否かを判定し、設定値が１〜６の範囲であればＳｇ５のステップに進み、１〜６の範囲でなければＳｇ４のステップに進む。
【０１２９】
Ｓｇ４のステップでは、ＲＡＭ４１ｃに格納されているデータが正常ではないと判定されたため、ＲＡＭ異常を示すエラーコードをレジスタに格納し、図８に示すエラー処理に移行する。
【０１３０】
Ｓｇ５のステップでは、乱数発生回路４２から乱数を取得するとともに、この乱数に基づいて前述の各役が当選したかを抽選する抽選処理を行い、当選した役の当選フラグをＲＡＭ４１ｃに設定する。
【０１３１】
図１２は、ＣＰＵ４１ａが割込２の発生に応じて、すなわち電断検出回路４８からの電圧低下信号が入力されたときに起動処理やゲーム処理に割り込んで実行する電断割込処理の制御内容を示すフローチャートである。
【０１３２】
電断割込処理においては、まず、割込を禁止する（Ｓｑ１）。すなわち電断割込処理の開始にともなってその他の割込処理が実行されることを禁止する。次いで、使用している可能性がある全てのレジスタをスタック領域に退避する（Ｓｑ２）。尚、前述したＩレジスタ及びＩＹレジスタの値は使用されているが、起動時の初期化に伴って常に同一の固定値が設定されるため、ここでは保存されない。
【０１３３】
次いで、電断を検出した旨を示す電断フラグをセットする（Ｓｑ３）。そして、Ｓｑ２においてスタック領域に退避したレジスタを復帰し（Ｓｑ４）、Ｓｑ１のステップにおいて禁止した割込を許可して（Ｓｑ５）、割込前の処理に戻る。尚、電断フラグのセットは、ＣＰＵ４１ａ内のレジスタもしくはＲＡＭ４１ｃの所定領域に所定データを書き込むことで実施される。
【０１３４】
図１３及び図１４は、ＣＰＵ４１ａが割込３の発生に応じて、すなわち０．５６ｍｓの間隔で起動処理やゲーム処理に割り込んで実行するタイマ割込処理の制御内容を示すフローチャートである。
【０１３５】
タイマ割込処理においては、まず、割込を禁止する（Ｓｎ１）。すなわち、タイマ割込処理の実行中に他の割込処理が実行されることを禁止する。そして、使用中のレジスタをスタック領域に退避する（Ｓｎ２）。
【０１３６】
そして、まず電断判定処理を実施する（Ｓｎ３）。電断判定処理については後述する。
【０１３７】
次いで、４種類のタイマ割込１〜４から当該タイマ割込処理において実行すべきタイマ割込を識別するための分岐用カウンタを１進める（Ｓｎ４）。Ｓｎ４のステップでは、分岐用カウンタ値が０〜２の場合に１が加算され、カウンタ値が３の場合に０に更新される。すなわち分岐用カウンタ値は、タイマ割込処理が実行される毎に、０→１→２→３→０・・・の順番でループする。
【０１３８】
次いで、分岐用カウンタ値を参照して２または３か、すなわちタイマ割込３またはタイマ割込４かを判定し（Ｓｎ５）、タイマ割込３またはタイマ割込４ではない場合、すなわちタイマ割込１またはタイマ割込２の場合には、リールモータ３２Ｌ、３２Ｃ、３２Ｒの始動時または定速回転中か否かを確認し、リールモータ３２Ｌ、３２Ｃ、３２Ｒの始動時または定速回転中であれば、後述するＳｎ９のモータステップ処理において変更した位相信号データや後述するＳｎ２４の最終停止処理において変更した位相信号データを出力するモータ位相信号出力処理を実行する（Ｓｎ６）。
【０１３９】
次いで、分岐用カウンタ値を参照して１か否か、すなわちタイマ割込２か否かを判定し（Ｓｎ７）、タイマ割込２ではない場合、すなわちタイマ割込１の場合には、リールモータ３２Ｌ、３２Ｃ、３２Ｒの始動時のステップ時間間隔の制御を行うリール始動処理（Ｓｎ８）、リールモータ３２Ｌ、３２Ｃ、３２Ｒの位相信号データの変更を行うモータステップ処理（Ｓｎ９）、リールモータ３２Ｌ、３２Ｃ、３２Ｒの停止後、一定時間経過後に位相信号を１相励磁に変更するモータ位相信号スタンバイ処理（Ｓｎ１０）を順次実行した後、Ｓｎ２においてスタック領域に退避したレジスタを復帰し（Ｓｎ２１）、Ｓｎ１のステップにおいて禁止した割込を許可して（Ｓｎ２２）、割込前の処理に戻る。
【０１４０】
また、Ｓｎ７のステップにおいてタイマ割込２の場合には、各種表示器をダイナミック点灯させるＬＥＤダイナミック表示処理（Ｓｎ１１）、各種ＬＥＤ等の点灯信号等のデータを出力ポートへ出力する制御信号等出力処理（Ｓｎ１２）、各種ソフトウェア乱数を更新する乱数更新処理（Ｓｎ１３）、各種時間カウンタを更新する時間カウンタ更新処理（Ｓｎ１４）、コマンドキューに格納されたコマンドを演出制御基板９０に対して送信するコマンド送信処理（Ｓｎ１５）、外部出力信号を更新する外部出力信号更新処理（Ｓｎ１６）を順次実行した後、Ｓｎ２においてスタック領域に退避したレジスタを復帰し（Ｓｎ２１）、Ｓｎ１のステップにおいて禁止した割込を許可して（Ｓｎ２２）、割込前の処理に戻る。
【０１４１】
また、Ｓｎ５のステップにおいてタイマ割込３またはタイマ割込４であれば、更に、分岐用カウンタ値を参照して３か否か、すなわちタイマ割込４か否かを判定し（Ｓｎ１７）、タイマ割込４でなければ、すなわちタイマ割込３であれば、入力ポートから各種スイッチ類の検出データを入力するポート入力処理（Ｓｎ１８）、回転中のリール２Ｌ、２Ｃ、２Ｒの原点通過（リール基準位置の通過）をチェックし、リール回転エラーの発生を検知するとともに、停止準備が完了しているか（停止準備完了コードが設定されているか）を確認し、停止準備が完了しており、かつ定速回転中であれば、回転中のリールに対応するストップスイッチの操作を有効化する原点通過時処理（Ｓｎ１９）、各種スイッチ類の検出信号に基づいてこれら各種スイッチが検出条件を満たしているか否かを判定するスイッチ入力判定処理（Ｓｎ２０）を順次実行した後、Ｓｎ２においてスタック領域に退避したレジスタを復帰し（Ｓｎ２１）、Ｓｎ１のステップにおいて禁止した割込を許可して（Ｓｎ２２）、割込前の処理に戻る。
【０１４２】
また、Ｓｎ１７のステップにおいてタイマ割込４であれば、ストップスイッチ８Ｌ、８Ｃ、８Ｒの検出に伴って停止リールのワークに停止操作位置が格納されたときに、停止リールのワークに格納された停止操作位置から停止位置を決定し、何ステップ後に停止すれば良いかを算出する停止スイッチ処理（Ｓｎ２３）、停止スイッチ処理で算出された停止までのステップ数をカウントして、停止する時期になったら２相励磁によるブレーキを開始する停止処理（Ｓｎ２４）、停止処理においてブレーキを開始してから一定時間後に３相励磁とする最終停止処理（Ｓｎ２５）を順次実行した後、Ｓｎ２においてスタック領域に退避したレジスタを復帰し（Ｓｎ２１）、Ｓｎ１のステップにおいて禁止した割込を許可して（Ｓｎ２２）、割込前の処理に戻る。
【０１４３】
図１５は、ＣＰＵ４１ａがタイマ割込処理において実行する電断判定処理の制御内容を示すフローチャートである。
【０１４４】
電断判定処理においては、まず、電断フラグがセットされているか否かを判定し、電断フラグがセットされていない場合には、直ちにタイマ割込処理に戻る（Ｓｑ１０１）。
【０１４５】
Ｓｑ１０１のステップにおいて、電断フラグがセットされていると判定した場合には、次いで、入力ポートから電圧低下信号の検出データを取得し、電圧低下信号が入力されているか否かを判定する（Ｓｑ１０２）。この際、電圧低下信号が入力されていなければ、この時点において電断状態ではなくなった旨を意味するので、Ｓｑ３においてセットした電断フラグをクリアし（Ｓｑ１１０）、電断状態の継続回数を示す電断カウンタをクリア（０をセット）して（Ｓｑ１１１）、タイマ割込処理に戻る。
【０１４６】
また、Ｓｑ１０２のステップにおいて電圧低下信号が入力されていれば、この時点まで電断状態が継続している旨を意味するので、電断カウンタに１を加算し（Ｓｑ１０３）、電断カウンタが５に到達したか否かを判定する（Ｓｑ１０４）。電断カウンタが５に到達していない場合には、タイマ割込処理に戻る。
【０１４７】
Ｓｑ１０４のステップにおいて、電断カウンタが５に到達していれば、破壊診断用データ（本実施例では、５Ａ（Ｈ））をセットして（Ｓｑ１０５）、全ての出力ポートを初期化する（Ｓｑ１０６）。次いでＲＡＭ４１ｃの全ての格納領域（未使用領域及び未使用スタック領域を含む）の排他的論理和が０になるようにＲＡＭパリティ調整用データを計算してセットし（Ｓｑ１０７）、ＲＡＭ４１ｃへのアクセスを禁止する（Ｓｑ１０８）。
【０１４８】
そして、電圧低下信号が入力されているか否かの判定（Ｓｑ１０９、尚、Ｓｑ１０９は、Ｓｑ１０２と同様の処理である）を除いて、何らの処理も行わないループ処理に入る。すなわち、そのまま電圧が低下すると内部的に動作停止状態になる。よって、電断時に確実にＣＰＵ４１ａは動作停止する。また、このループ処理において、電圧が回復し、電圧低下信号が入力されない状態となると、前述した起動処理が実行され、ＲＡＭパリティが０となり、かつ破壊診断用データが正常であれば、元の処理に復帰することとなる。
【０１４９】
尚、本実施例では、ＲＡＭ４１ｃへのアクセスを禁止した後、電圧低下信号の出力状況を監視して、電圧低下信号が入力されなくなった場合に電圧の回復を判定し、起動処理へ移行するようになっているが、ループ処理において何らの処理も行わず、ループ処理が行われている間に、電圧が回復し、リセット回路４９からリセット信号が入力されたことに基づいて、起動処理へ移行するようにしても良い。
【０１５０】
次に、ＣＰＵ４１ａが初期化条件の成立に応じて実行する初期化１〜４の制御内容を図１６〜図２０のフローチャートに基づいて説明する。
【０１５１】
図１６は、ＣＰＵ４１ａが起動処理において設定変更モードへの移行前に実行する初期化１の制御内容を示すフローチャートである。
【０１５２】
初期化１では、まず、ＲＯＭ４１ｂの初期化テーブルを参照し、初期化１に対応して登録されている開始アドレスと初期化サイズを読み出す（Ｓｒ１）。読み出した開始アドレス（７Ｅ００（Ｈ））にポインタをセットする（Ｓｒ２）。次いで、未使用スタック領域のサイズ（Ｍ＝スタックポインタ−７ＦＤ２（Ｈ））を計算し（Ｓｒ３）、初期化する領域のバイト数（１Ｄ３（Ｈ）＋Ｍ）をセットする（Ｓｒ４）。そして、Ｓｒ２でセットされた開始アドレスからＳｒ４でセットされたバイト数にわたりデータをクリアするＲＡＭクリア処理を実行し（Ｓｒ５）、ＲＡＭクリア処理が終了すると、初期化１を終了してもとの処理に復帰する。
【０１５３】
図１７は、図１６のＳｒ５のステップにおいて実行するＲＡＭクリア処理の制御内容を示すフローチャートである。
【０１５４】
ＲＡＭクリア処理では、ポインタが示すアドレスが示す１バイトのデータを０クリアし（Ｓｒ１０１）、初期化バイト数（初期化する領域としてセットされたバイト数）を１減算する（Ｓｒ１０２）。次いで、減算後の初期化バイト数が０となったか否か、すなわち指定されたバイト数全ての初期化が終了したか否かを判定する（Ｓｒ１０３）。減算後の初期化バイト数が０でなければ、ポインタを１進めて（Ｓｒ１０４）、Ｓｒ１０１の処理に戻り、初期化バイト数が０となるまでＳｒ１０１〜４の処理を繰り返し行う。そして、Ｓｒ１０３のステップにおいて減算後の初期化バイト数が０であれば、指定されたバイト数全ての初期化が終了したこととなるので、ＲＡＭクリア処理を終了し、もとの処理に復帰する。
【０１５５】
図１８は、ＣＰＵ４１ａがＳｄ８のゲーム終了時処理においてビッグボーナス終了時に実行する初期化２の制御内容を示すフローチャートである。
【０１５６】
初期化２では、まず、割込を禁止した後（Ｓｒ１１）、ＲＯＭ４１ｂの初期化テーブルを参照し、初期化２に対応して登録されている開始アドレスと初期化サイズを読み出す（Ｓｒ１２）。初期化２には、２つの開始アドレス及びそれぞれに対応する初期化サイズが登録されているので、読み出した開始アドレスのうち最初に初期化する領域の開始アドレス（７Ｅ２８（Ｈ））にポインタをセットし（Ｓｒ１３）、最初に初期化する領域のバイト数（６７（Ｈ））をセットし（Ｓｒ１４）、Ｓｒ１３でセットされた開始アドレスからＳｒ１４でセットされたバイト数にわたりデータをクリアするＲＡＭクリア処理（図１７参照）を実行する（Ｓｒ１５）。ＲＡＭクリア処理が終了すると、読み出した開始アドレスのうち２番目に初期化する領域の開始アドレス（７ＥＢＡ（Ｈ））にポインタをセットし（Ｓｒ１６）、未使用スタック領域のサイズ（Ｍ＝スタックポインタ−７ＦＤ２（Ｈ））を計算し（Ｓｒ１７）、２番目に初期化する領域のバイト数（１１９（Ｈ）＋Ｍ）をセットする（Ｓｒ１８）。そして、Ｓｒ１６でセットされた開始アドレスからＳｒ１８でセットされたバイト数にわたりデータをクリアするＲＡＭクリア処理（図１７参照）を実行し（Ｓｒ１９）、ＲＡＭクリア処理が終了すると、Ｓｒ１１のステップにおいて禁止していた割込を許可し（Ｓｒ２０）、初期化２を終了してもとの処理に復帰する。
【０１５７】
図１９は、ＣＰＵ４１ａが起動処理においてＲＡＭ４１ｃのデータが正常である場合に実行する初期化３の制御内容を示すフローチャートである。
【０１５８】
初期化３では、まず、ＲＯＭ４１ｂの初期化テーブルを参照し、初期化３に対応して登録されている開始アドレスと初期化サイズを読み出す（Ｓｒ２１）。初期化３には、２つの開始アドレス及びそれぞれに対応する初期化サイズが登録されているので、読み出した開始アドレスのうち最初に初期化する領域の開始アドレス（７ＥＢ７（Ｈ））にポインタをセットし（Ｓｒ２２）、最初に初期化する領域のバイト数（３（Ｈ））をセットし（Ｓｒ２３）、Ｓｒ２２でセットされた開始アドレスからＳｒ２３でセットされたバイト数にわたりデータをクリアするＲＡＭクリア処理（図１７参照）を実行する（Ｓｒ２４）。ＲＡＭクリア処理が終了すると、読み出した開始アドレスのうち２番目に初期化する領域の開始アドレス（７Ｆ０５（Ｈ））にポインタをセットし（Ｓｒ２５）、未使用スタック領域のサイズ（Ｍ＝スタックポインタ−７ＦＤ２（Ｈ））を計算し（Ｓｒ２６）、２番目に初期化する領域のバイト数（ＣＥ（Ｈ）＋Ｍ）をセットする（Ｓｒ２７）。そして、Ｓｒ２５でセットされた開始アドレスからＳｒ２７でセットされたバイト数にわたりデータをクリアするＲＡＭクリア処理（図１７参照）を実行し（Ｓｒ２８）、ＲＡＭクリア処理が終了すると、初期化３を終了してもとの処理に復帰する。
【０１５９】
図２０は、ＣＰＵ４１ａがＳｄ８のゲーム終了時処理において各ゲーム毎に実行する初期化４の制御内容を示すフローチャートである。
【０１６０】
初期化４では、まず、割込を禁止した後（Ｓｒ３１）、ＲＯＭ４１ｂの初期化テーブルを参照し、初期化４に対応して登録されている開始アドレスと初期化サイズを読み出す（Ｓｒ３２）。読み出した開始アドレス（７Ｆ０５（Ｈ））にポインタをセットする（Ｓｒ３３）。次いで、未使用スタック領域のサイズ（Ｍ＝スタックポインタ−７ＦＤ２（Ｈ））を計算し（Ｓｒ３４）、初期化する領域のバイト数（ＣＥ（Ｈ）＋Ｍ）をセットする（Ｓｒ３５）。そして、Ｓｒ３３でセットされた開始アドレスからＳｒ５でセットされたバイト数にわたりデータをクリアするＲＡＭクリア処理（図１７参照）を実行し（Ｓｒ３６）、ＲＡＭクリア処理が終了すると、Ｓｒ３１のステップにおいて禁止していた割込を許可し（Ｓｒ３７）、初期化４を終了してもとの処理に復帰する。
【０１６１】
以上説明したように、本実施例では、トリガー端子ＣＬＫ／ＴＲＧに電圧低下信号が入力されることで、ＣＰＵ４１ａが実行中の処理に割り込んで電断割込処理を実行するようになっているが、電断割込処理では、破壊診断用データを設定する処理やＲＡＭパリティ調整用データを計算して設定する処理等、復旧時にＲＡＭ４１ｃのデータが正常であるかを判定可能とするための処理や出力ポートの初期化等を行わずに、電断フラグをセットするのみである。
【０１６２】
その後、タイマ割込処理中に実行される電断判定処理において、破壊診断用データを設定する処理やＲＡＭパリティ調整用データを計算して設定する処理等、復旧時にＲＡＭ４１ｃのデータが正常であるかを判定可能とするための処理や出力ポートの初期化を行う前に、電断フラグがセットされており、かつ、信号入力端子ＤＡＴＡに電圧低下信号が入力されている電断状態であるか否か、更に、電断状態が電断判定処理が５回実行される間継続していたか否かの判定を行い、電断フラグがセットされ信号入力端子ＤＡＴＡに電圧低下信号が入力された状態で電断判定処理が５回継続して実行されていれば、復旧時にＲＡＭ４１ｃのデータが正常であるかを判定可能とするための処理や出力ポートの初期化等を行うのに対して、電断フラグがセットされ信号入力端子ＤＡＴＡに電圧低下信号が入力された状態で電断判定処理が５回継続して実行されていなければ、もとの処理に復帰するようになっている。
【０１６３】
すなわち、メイン制御部４１には、電圧低下信号が２系統の入力部に入力され、ＣＰＵ４１ａは、一方の入力部に電圧低下信号が入力されて電断割込処理を実行しても、復旧時にＲＡＭ４１ｃのデータが正常であるかを判定可能とするための処理や出力ポートの初期化等が実行される前に、電断フラグがセットされ、かつ信号入力端子ＤＡＴＡに電圧低下信号が入力された状態が所定時間（１回目の電断判定処理が実行されたときから５回目の電断判定処理が実行されたときまで）継続して、初めてこれらの処理が実行されるようになっており、電断を誤って検出した際に、誤って復旧時にＲＡＭ４１ｃのデータが正常であるかを判定可能とするための処理や出力ポートの初期化等の処理が行われてしまうことが防止できるので、静電気などにより継続時間が長いノイズが発生したときにも、電断が発生したと誤判定されてこれら処理が行われてしまうという不具合を防止できる。
【０１６４】
また、スロットマシンの内部は、電子機器が多数存在しているうえに、メダルには静電気が帯電しやすく、ノイズが起きやすい空間である。特に図２４に示すように、スロットマシン１の筐体の背面にメダルの補給孔を設け、設置店舗側の設備よりホッパータンク内に自動的にメダルが補給される場合には、メダルが減少すると逐時メダルが補給され、非常に静電気がメダルに帯電しやすい状況となる。
【０１６５】
このため、メイン制御基板４０は、他の機器や静電気からノイズが受けづらい位置に配置しなければならず、基板の配置やが制約を受けることとなる。
【０１６６】
一方、近年では、リールを縮小化してスロットマシンの上部に配置し、中央部に大型の液晶表示器を配置するスロットマシンが開発されており、この場合には、筐体の中央の空間が広くとれるため、筐体の背板の中央内側にメイン制御基板４０を配置することがメンテナンスの面では好ましい。
【０１６７】
しかしながら、筐体の背板の中央内側にメイン制御基板４０を配置すると、図２４に示すように、メイン制御基板４０が補給孔の近傍位置となり、すぐ下にはホッパータンクも存在することとなるため、静電気によるノイズを受けやすくなる。特に静電気によるノイズは継続時間が長いので、ノイズ対策的には好ましい位置とはいえない。
【０１６８】
これに対して本実施例のスロットマシン１では、静電気などにより継続時間が長いノイズが発生したときにも、電断が発生したと誤判定されてこれら処理が行われてしまうという不具合を防止できるので、上述のように筐体の背板の中央内側にメイン制御基板４０を配置しても静電気によるノイズの影響を極力抑えることが可能となる。すなわち本実施例の構成によれば、ノイズの発生をあまり考慮せずとも、メイン制御基板４０の配置位置を決められるので、メイン制御基板の配置の自由度を高めることができる。
【０１６９】
また、電断割込処理及びタイマ割込処理の実行中においては、他の割込が禁止されるようになっており、例えば、タイマ割込処理の実行中に電圧低下信号が入力された場合でも２重に割込が生じることがなく、ＣＰＵ４１ａの処理負荷が増大してしまったりデータの整合性がとれなくなってしまうことを防止できる。特に、コマンドの送信中に電圧低下信号が入力されても、割込が生じて当該コマンドの送信が阻害されることがなく、ＣＰＵ４１ａの駆動が停止する前に正常に送信を完了させることができる。
【０１７０】
また、電断割込処理の割込タイミングとタイマ割込処理の割込タイミングとが同時となった場合、すなわち割込２と割込３が同時に発生した場合には、割込２を優先し、電断割込処理を実行するとともに、タイマ割込処理の実行中に割込２が発生した場合には、当該タイマ割込処理の終了を待って電断割込処理を実行するようになっており、多重割込を防止しつつも極力早い段階で電断割込処理が行われるので、ＣＰＵ４１ａの駆動が停止する前に電断割込処理を確実に行うことができる。
【０１７１】
また、ＣＰＵ４１ａは、割込１〜４の４種類の割込を実行可能であり、このうち未使用に設定されている割込１、４が発生した場合には、もとの処理に即時復帰させる未使用割込処理を実行するようになっている。このため、未使用の割込１、４が発生したときでも、すぐに割込前の処理に復帰することとなるので、ノイズ等によって未使用の割込が発生してもＣＰＵ４１ａが暴走してしまうといった不具合を防止できる。
【０１７２】
また、本実施例では、ＲＡＭ４１ｃの未使用領域を利用して不正プログラムを格納させても、当該不正プログラムが常駐してしまうことを防止できる。
【０１７３】
また、本実施例では、ＲＡＭ４１ｃにおける未使用領域に加えてスタック領域における未使用スタック領域も１ゲーム毎に初期化されるので、ＲＡＭ４１ｃにおいてその時点で使用されていない全ての領域が１ゲーム毎に初期化されることとなり、例え、ＲＡＭ４１ｃの未使用領域を利用せずに未使用スタック領域を利用して不正プログラムを格納させようとしても、当該不正プログラムが常駐してしまう余地を無くすことができるので、不正プログラムが常駐してしまうことを一層確実に防止できるとともに、例えば、未使用スタック領域に不正なデータ（不正プログラムが指定するアドレス等）を加え、データの復帰時にマイクロコンピュータを誤作動させることでレジスタを不正なものに書き換えてしまうことにより、本来のプログラムとは異なる動作を行わせてしまうような不正も防止できる。更に、未使用スタック領域に不正なデータが格納されることによって、本来であれば退避したデータを格納できるはずの領域が圧迫され、スタック領域がオーバーフローしてしまい、メイン制御部４１を構成するマイクロコンピュータが暴走してしまう等の不具合も防止できる。
【０１７４】
尚、本実施例では、ゲーム終了時にＲＡＭ４１ｃの未使用領域及び未使用スタック領域を初期化する初期化４を毎ゲーム実行することで、ＲＡＭ４１ｃの未使用領域や未使用スタック領域を１ゲーム毎に初期化しているが、少なくとも１ゲーム毎に１回以上ＲＡＭ４１ｃの未使用領域及び／または未使用スタック領域が初期化されるものであれば、ＲＡＭ４１ｃの未使用領域及び／または未使用スタック領域の初期化を行うタイミングは、１ゲーム中のどのタイミングであっても良く、例えば、ゲーム開始時や１ゲーム毎に必ず実行される処理の実行時にＲＡＭ４１ｃの未使用領域及び／または未使用スタック領域の初期化を行うものであっても良い。
【０１７５】
また、設定開始前（設定変更モードへの移行前）、ビッグボーナス終了時、起動時にＲＡＭ４１ｃのデータが破壊されていないとき、１ゲーム終了時の４つからなる初期化条件が成立した際に、各初期化条件に応じて初期化される領域の異なる４種類の初期化１〜４を行うとともに、これら４種類の初期化条件のうちどの条件が成立した場合でも、必ずＲＡＭ４１ｃにおける未使用領域及びスタック領域における未使用スタック領域が初期化されるので、不正プログラムが常駐してしまうことを一層確実に防止できる。
【０１７６】
特に、起動時においてＲＡＭ４１ｃのデータが破壊されていないときに、必ずＲＡＭ４１ｃにおける未使用領域及びスタック領域における未使用スタック領域が初期化されるので、ＲＡＭ４１ｃにの未使用領域や未使用スタック領域を利用して不正プログラムや不正データが格納された場合にも、当該不正プログラムや不正データが格納されたままメイン制御部４１の制御状態がＲＡＭ４１ｃのデータに基づいて復帰してしまうことを防止できる。
【０１７７】
また、メイン制御部４１のＲＯＭ４１ｂには、初期化１〜４に対応してそれぞれ初期化する領域の開始アドレスと初期化する領域のサイズを示す初期化サイズとが登録されており、ＣＰＵ４１ａがＲＡＭ４１ｃの初期化を行う際には、初期化テーブルを参照し、初期化条件に応じて初期化１〜４のいずれかに対応する開始アドレスと初期化サイズを取得し、開始アドレスにポインタを設定し、初期化サイズを設定する（初期化サイズが未使用スタック領域のサイズを含むものであれば、未使用スタック領域のサイズ（スタックポインタ−７ＦＤ２（Ｈ））を計算し、初期化サイズを設定する）。そして、ポインタが設定された初期化アドレスから１バイトづつ該当するアドレスの領域を０クリアし、１バイトクリアする毎に初期化サイズを１減算するとともに、ポインタを１進める処理を、初期化サイズが０になるまで実行する。すなわちＣＰＵ４１ａがＲＡＭ４１ｃを初期化する際には、初期化条件に応じた領域毎に初期化するのではなく、指定したアドレスから指定したサイズ分の領域を初期化するようになっている。
【０１７８】
このため、ＲＯＭ４１ｂの初期化テーブルに、初期化条件の種類に対応する開始アドレスとその際初期化される領域のサイズのみを設定しておくことで、初期化条件の種類に対応する初期化終了アドレスを個々に設定しておくことなく、初期化条件の種類に対応する領域を初期化することができるとともに、複数種類の初期化を共通の処理（ＲＡＭ初期化処理）を用いて行えるので、複数種類の初期化を行うためのプログラム容量を削減できる。更に、ＲＡＭ初期化処理においては、初期化サイズが０か否かを判定するのみで処理の終了を判定するので、現在初期化したバイトのアドレスと終了アドレスとの比較によって処理の終了を判定する場合に比較して、処理負荷を大幅に軽減できる。
【０１７９】
また、初期化１〜４の実行中においては常に割込が禁止されるようになっており、ＲＡＭ４１ｃに記憶されているデータを初期化している最中に電断検出回路４８から電圧低下信号が入力されても、初期化が終了するまでは電断割込処理やタイマ割込処理による電断判定処理が実行されないので、例えば、初期化が完全に終了する前の段階で電断割込処理や電断判定処理が行われることに伴って、初期化されるべきデータのうち初期化されたデータと初期化されていないデータとが混在してしまい、復旧時に電断前の制御状態へ正常に復帰させることができなくなってしまう等の不具合を防止できる。
【０１８０】
また、電断判定処理において、いずれかのビットが１となる破壊診断用データをＲＡＭ４１ｃの所定アドレスに格納した後、ＲＡＭ４１ｃの未使用領域及び未使用スタック領域を含む全てのデータに基づくＲＡＭパリティが０となるようにＲＡＭパリティ調整用データを計算し、格納するとともに、復旧時においてＲＡＭ４１ｃにおける未使用領域及び未使用スタック領域を含む全ての領域に格納されているデータに基づいて計算したＲＡＭパリティが０か否か、及び破壊診断用データが格納されているか否か、を判定し、ＲＡＭパリティが０でなかった場合、またはＲＡＭパリティが０であっても破壊診断用データが正常に格納されていない場合には、ＲＡＭ異常エラーによるエラー状態となり、設定キースイッチ３７をＯＮの状態で電源投入し、ＲＡＭ４１ｃの使用中スタック領域を除く全ての領域を初期化する初期化１が行われるまで、ゲームの進行が不可能となるので、起動時にＲＡＭ４１ｃの未使用領域及び／または未使用スタック領域に不正プログラムが格納された場合でも、当該不正プログラムを発見して初期化することができる。
【０１８１】
また、本実施例では、ＲＡＭ４１ｃに記憶されているデータに異常が生じた場合には、ＲＡＭ異常エラーによるエラー状態に制御され、ゲームの進行が不能化されるとともに、一度ＲＡＭ異常エラーによるエラー状態に制御されると、設定変更モードに移行し、設定変更操作に基づいて設定値を新たに選択・設定しなければ、ゲームの進行が不能化された状態が解除されない。すなわち、ＲＡＭ４１ｃに記憶されているデータに異常が生じても、スロットマシンにより自動的に設定された設定値ではなく、設定変更操作に基づいて選択・設定された設定値（一般的に、設定変更操作は遊技店の従業員により行われるので、遊技店側が選択した設定値である）に基づいてゲームが行われることが担保されるので、ゲームの公平性を図ることができる。
【０１８２】
また、ＲＡＭ４１ｃに記憶されたデータに異常が生じるのは、停電時やＣＰＵ４１ａが暴走する等、制御に不具合が生じて制御を続行できないときがほとんどである。このため本実施例では、これらの状態から復旧してＣＰＵ４１ａが起動するときにおいてのみデータが正常か否かの判定を行うようになっているので、ＲＡＭ４１ｃに記憶されたデータが正常か否かの判定をデータに異常が生じている可能性が高い状況においてのみ行うことができる。すなわちデータに異常が生じている可能性の低い状況では、当該判定を行わずに済み、ＣＰＵ４１ａの負荷を軽減させることができる。
【０１８３】
また、本実施例では、電断判定処理においてＲＡＭ４１ｃの全てのデータに基づくＲＡＭパリティ、すなわち排他的論理和演算した結果が０となるようにＲＡＭパリティ調整用データを計算し、格納するとともに、復旧時においてＲＡＭ４１ｃにおける全ての領域に格納されているデータに基づいて計算したＲＡＭパリティが０か否かを判定することで、ＲＡＭ４１ｃのデータが正常か否かを判定しているので、当該判定を正確にかつ簡便に行うことができる。
【０１８４】
また、本実施例では、電断判定処理において、いずれかのビットが１となる破壊診断用データ（本実施例では、５Ａ（Ｈ））、すなわち０以外の特定のデータをＲＡＭ４１ｃの所定のアドレスに格納した後、この破壊診断用データを含むＲＡＭ４１ｃの全てのデータに基づくＲＡＭパリティが０となる調整用データを格納し、起動時においてＲＡＭパリティが０か否かの判定に加えて、破壊診断用データが正常に格納されているか否かの判定を行い、ＲＡＭパリティが０であり、かつ破壊診断用データも正常に格納されていることを条件に、ＲＡＭ４１ｃのデータが正常であると判定し、ＲＡＭ４１ｃに格納されているデータに基づいて制御状態を復帰させるようになっている。これにより、全ての領域に００（Ｈ）が格納されている場合、すなわちＲＡＭ４１ｃのデータが正常でなくても、ＲＡＭ４１ｃのデータが０クリアされてしまった場合には、起動時のＲＡＭパリティの判定により正常であると判定されてしまうが、ＲＡＭ４１ｃのデータが０クリアされてしまった場合には、破壊診断用データが格納されるべき領域も０となり、ＲＡＭ４１ｃのデータが正常ではないと判定され、誤ってＲＡＭ４１ｃのデータが正常であると判定されてしまうことを防止できるので、起動時においてＲＡＭ４１ｃのデータが正しい内容であるか否かの判定精度を一層高めることができる。
【０１８５】
また、ＣＰＵ４１ａは、起動時においてＲＡＭパリティが０であり、かつ破壊診断用データも正常に格納されていると判定し、ＲＡＭ４１ｃのデータが正常であると判定すると、ＲＡＭ４１ｃに格納されている破壊診断用データをクリアするようになっているので、起動後もＲＡＭ４１ｃに破壊診断用データが格納されたままの状態となることで、次回起動時においてＲＡＭ４１ｃのデータが正常ではないにも関わらず、破壊診断用データが格納されているために正常であると誤って判定してしまうことを防止できる。
【０１８６】
また、本実施例では、ＲＡＭ４１ｃのデータに異常が生じて、ゲームの進行が不能化された場合には、ゲームの進行が不能化された状態を解除する条件となる設定値の変更操作が有効となる設定変更モード（設定変更処理）へ移行することに伴って、ＲＡＭ４１ｃの使用中スタック領域を除く全ての領域が初期化されるので、ＲＡＭ４１ｃのデータに異常が生じたことに伴うデータの初期化及び設定値の選択・設定に伴うデータの初期化を１度で行うことができ、無駄な処理を省くことができる。更に、ＣＰＵ４１ａの起動時には、ＲＡＭ４１ｃのデータが正常か否かを判定する前に、設定キースイッチ３７がＯＮの状態であるか否かを判定し、その時点で設定キースイッチ３７がＯＮの状態であると判定した場合には、ＲＡＭ４１ｃのデータが正常か否かの判定は行わず、設定変更モードに移行し、新たに設定値が選択・設定されることとなり、この場合にも無駄な処理を省くことができる。
【０１８７】
尚、本実施例では、設定変更処理に移行する前に、ＲＡＭ４１ｃの使用中スタック領域を除く全ての領域を初期化する初期化１を行っているが、設定変更処理に移行することに伴って初期化１が行われれば良く、例えば、設定変更処理の終了後に行っても良いし、設定変更処理において設定値が確定した時点で行っても良い。尚、この場合には、確定した設定値が変更されてしまうと不都合が生じるので、初期化１においては、ＲＡＭ４１ｃの使用中スタック領域及び設定値ワークを除く全ての領域が初期化されることとなる。
【０１８８】
また、本実施例では、一度ＲＡＭ異常エラーによるエラー状態に制御されると、設定変更処理が行われるまで、ゲームが不能動化されるようになっているが、ＲＡＭ異常エラーによるエラー状態となったときに、ＲＡＭ４１ｃの使用中スタック領域を除く全ての領域を初期化する初期化１を行うとともに、設定値を初期値（例えば、設定値１）に設定し、この状態でリセット操作がなされることで、ゲームを再開できるようにしても良い。
【０１８９】
また、本実施例のスロットマシン１では、設定値ワークから読み出した値が１〜６の範囲か否か、すなわち内部抽選に用いる設定値が適正な範囲の値か否かを１ゲーム毎に判定し、設定値ワークから読み出した値が１〜６の範囲の値でなければ、ＲＡＭ異常エラーによるエラー状態に制御され、ゲームの進行が不能化される。本実施例において設定値ワークに格納される値、すなわち設定変更処理により選択可能な設定値の範囲は１〜６の値であるので、設定値ワークに格納されている値が１〜６の範囲の値でなければゲームの進行が不能化されることとなる。
【０１９０】
更に、設定された賭数が遊技状態に応じた賭数であるか否かを判定する処理を１ゲーム毎に実行し、設定された賭数が遊技状態に応じた賭数ではない場合にも、ＲＡＭ異常エラーによるエラー状態に制御され、ゲームの進行が不能化される。本実施例では、遊技状態毎に対応する賭数が定められているが、その賭数とは異なる賭数でゲームが行われている場合には、ＲＡＭ４１ｃに格納されているデータが壊れているか、或いは不正なプログラムが作動している可能性があるので、設定された賭数が遊技状態に応じた賭数ではない場合にもゲームの進行が不能化されることとなる。
【０１９１】
そして、一度ＲＡＭ異常エラーによるエラー状態に制御されると、設定変更モードに移行させて、設定変更操作に基づいて設定値を新たに選択・設定しなければ、ゲームの進行が不能化された状態が解除されない。すなわちデータ化けや不正なプログラムの作動などにより、設定値が適正でない場合や設定された賭数が遊技状態に応じた賭数ではない場合には、スロットマシンにより自動的に設定された設定値ではなく、設定変更操作に基づいて選択・設定された設定値（一般的に、設定変更操作は遊技店の従業員により行われるので、遊技店側が選択した設定値である）に基づいてゲームが行われることが担保されるので、ゲームの公平性を図ることができる。
【０１９２】
また、本実施例では、内部抽選処理において入賞の発生を許容するか否かを決定する際に、ＲＡＭ４１ｃの設定値ワークに格納されている設定値が適正な値（１〜６の範囲の値）でなければ、この場合にもＲＡＭ異常エラー状態に制御されるようになっているが、ＲＡＭ４１ｃの設定値ワークに格納されている設定値が適正な値（１〜６の範囲の値）でない場合に、設定値の初期値（例えば、設定値１）に基づく確率で入賞の発生を許容するか否かを決定するようにしても良い。
【０１９３】
以上、本発明の実施例を図面により説明してきたが、本発明はこの実施例に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。
【０１９４】
例えば、前記実施例では、電断判定処理においてＲＡＭ４１ｃのＲＡＭパリティが０となるようにＲＡＭパリティ調整用データを格納し、復旧時においてＲＡＭ４１ｃのＲＡＭパリティが０か否かを判定することで、ＲＡＭ４１ｃのデータが正常か否かを判定しているが、もちろん電断判定処理においてＲＡＭ４１ｃのＲＡＭパリティが１となるようにＲＡＭパリティ調整用データを格納し、復旧時においてＲＡＭ４１ｃのＲＡＭパリティが１か否かを判定することで、ＲＡＭ４１ｃのデータが正常か否かを判定するようにしても良い。更には、電断判定処理においてＲＡＭ４１ｃの全ての領域のチェックサム（該当する領域に格納されているデータの排他的論理和）を計算し、特定の領域に格納するとともに、復旧時において、ＲＡＭ４１ｃのチェックサムが格納されている特定の領域を含む全ての領域のチェックサムを計算し、その結果が００ＨであればＲＡＭ４１ｃのデータが正常であると判定し、００ＨでなければＲＡＭ４１ｃのデータが異常であると判定するようにしても良い。
【０１９５】
これは、電断判定処理において正常にチェックサムが格納されていれば、復旧時において特定の領域を除く領域のチェックサムと特定の領域に格納されているデータ（電断時に計算したチェックサム）が同じ値をとるはずであり、特定の領域を除く領域のチェックサムと特定の領域に格納されているデータが一致するのであれば、双方のデータの排他的論理和を計算するとその結果が００Ｈとなるので、ＲＡＭ４１ｃのチェックサムが格納されている特定の領域を含む全ての領域のチェックサムを計算した結果が００Ｈであれば、ＲＡＭ４１ｃのデータが正常であると判定できるためである。
【０１９６】
尚、この場合にも、電断判定処理において、チェックサムを計算する前にいずれかのビットが１となる破壊診断用データ（例えば５ＡＨ）を所定のアドレスに格納し、復旧時においては、チェックサムが００Ｈか否かの判定に加えて、破壊診断用データが正常に格納されているか否かの判定を行い、チェックサムが００Ｈであり、かつ破壊診断用データも正常であることを条件に、ＲＡＭ４１ｃのデータが正常であると判定することが好ましい。ＲＡＭ４１ｃのデータが正常でなくても、全ての領域に００Ｈが格納されている場合には、起動時のチェックサムの判定により正常であると判定されてしまうが、停電時にいずれかのビットが１となる破壊診断用データを格納した後、チェックサムを計算し、特定の領域に格納しておくとともに、起動時にチェックサムの判定に加えて破壊診断用データのチェックも行うことで、例え、起動時において全ての領域が０クリアされてしまい、チェックサムが００Ｈとなり正常と判定された場合にも、破壊診断用データが停電時に格納された値と一致しなくなり、異常と判定されるため、ＲＡＭ４１ｃに格納されているデータの異常の判定精度を高めることができる。
【０１９７】
また、上記では、電断判定処理においてＲＡＭ４１ｃのＲＡＭパリティまたはチェックサムを計算し、ＲＡＭ４１ｃに格納するとともに、復旧時においてＲＡＭ４１ｃの全ての領域に基づいて計算したＲＡＭパリティが０であるか否か、またはＲＡＭ４１ｃの全ての領域に基づいて計算したチェックサムが００Ｈであるか否か、に基づいてＲＡＭ４１ｃのデータが正常か否かを判定しているが、電断判定処理においてＲＡＭ４１ｃのＲＡＭパリティまたはチェックサムを計算し、特定の領域に格納するとともに、復旧時においてＲＡＭ４１ｃの特定の領域を除くＲＡＭパリティまたはチェックサムを計算し、特定の領域に格納されているＲＡＭパリティまたはチェックサムとの比較結果が一致するか否かによってＲＡＭ４１ｃのデータが正常か否かを判定するようにしても良い。尚、この場合にも上記と同様に、ＲＡＭパリティやチェックサムを計算する前にいずれかのビットが１となる破壊診断用データを所定のアドレスに格納し、復旧時においては、ＲＡＭパリティやチェックサムが一致するか否かの判定に加えて、破壊診断用データが正常に格納されているか否かの判定を行い、ＲＡＭパリティやチェックサムが一致し、かつ破壊診断用データも正常であることを条件に、ＲＡＭ４１ｃのデータが正常であると判定することが好ましい。
【０１９８】
また、前記実施例では、電断判定処理において破壊診断用データとして、５ＡＨをＲＡＭ４１ｃに格納しているが、０以外のデータを格納し、起動時に確認できるものであれば良く、このような構成であっても、起動時において全ての領域が０クリアされてしまった場合に破壊診断用データが停電時に格納された値と一致しなくなり、異常と判定されるため、ＲＡＭ４１ｃに格納されているデータの異常の判定精度を高めることができる。
【０１９９】
また、前記実施例では、ＣＰＵ４１ａの起動時において、ＲＡＭ４１ｃのＲＡＭパリティを計算し、その結果が０であるか否かを判定し、ＲＡＭパリティが０であることを条件に破壊診断用データが正常に格納されているか否かの判定を行っているが、まず、破壊診断用データが正常に格納されているか否かを判定し、破壊診断用データが正常に格納されていることを条件に、ＲＡＭ４１ｃのＲＡＭパリティを計算し、その結果が０であるか否かを判定するようにしても良く、このようにすれば、破壊診断用データが正常に格納されていない場合には、ＲＡＭパリティを計算せずに、ＲＡＭ４１ｃのデータが異常である旨を判定することができる。
【０２００】
また、前記実施例では、メイン制御部４１の起動時においてのみＲＡＭ４１ｃのデータが正常か否かを判定しているが、その他の契機、例えば、１ゲーム毎に判定するようにしても良い。
【０２０１】
また、前記実施例では、メイン制御部４１とは別個に設けられたリセット回路４９からのリセット信号に基づいてメイン制御部４１が起動するようになっているが、リセット回路をメイン制御部４１を構成するマイクロコンピュータが搭載していても良い。
【０２０２】
また、前記実施例では、メイン制御部４１を構成するマイクロコンピュータにＲＡＭ４１ｃが搭載されているが、マイクロコンピュータの外部に当該マイクロコンピュータのワークとして用いるＲＡＭを搭載したものであっても良い。
【０２０３】
また、前記実施例では、電断検出回路４８が、スロットマシン１に用いられる直流電圧を監視し、当該直流電圧が一定の電圧以下となったときに電断を検出しているが、例えば、当該直流電圧が一定の電圧以下となった期間が一定期間継続したときに電断を検出するようにしても良い。また、スロットマシン１に供給される交流電圧を監視し、交流電圧の波形の乱れを検出したとき、またはその期間が一定期間継続したときに電断を検出するようにしても良い。
【０２０４】
また、前記実施例では、電断検出回路４８が、遊技制御基板４０に搭載されているが、その他の場所に搭載されていても良く、例えば、電源基板１００や電源基板１００から遊技制御基板４０への電源の供給ラインが経由する中継基板等に搭載されていても良い。
【０２０５】
また、前記実施例では、各種エラー状態の内容をエラー状態に応じたエラーコードを遊技補助表示器１２に表示させることで、エラーを報知するようになっている。すなわち遊技制御部４１により制御される報知手段により報知されているが、これら遊技制御部４１により制御される報知手段に加えて、エラー状態を示すコマンドを演出制御部９１に対して送信し、演出制御部９１により制御される報知手段によりエラーの報知が行われるようにしても良いし、遊技制御部４１により制御される報知手段による報知を行わず、演出制御部９１により制御される報知手段によりエラーの報知が行われるようにしても良い。
【０２０６】
また、前記実施例１において、ＣＰＵ４１ａがＲＡＭ４１ｃの初期化を行う際には、ＲＯＭ４１ｂの初期化テーブルを参照し、初期化条件に応じて初期化１〜４のいずれかに対応する開始アドレスと初期化サイズを取得し、開始アドレスにポインタを設定し、初期化サイズを設定するとともに、ポインタが設定された初期化アドレスから１バイトづつ該当するアドレスの領域を０クリアし、１バイトクリアする毎に初期化サイズを１減算するとともに、ポインタを１進める処理を、初期化サイズが０になるまで実行することで、初期化条件に応じたＲＡＭ４１ｃの領域を初期化しているが、初期化１〜４において初期化される領域を連続するアドレス領域に設定するとともに、初期化テーブルには、初期化条件に応じて初期化１〜４のいずれかに対応する開始アドレスと、初期化１〜４の全てに共通する終了アドレスと、を登録しておき、ＣＰＵ４１ａがＲＡＭ４１ｃの初期化を行う際に、初期化テーブルを参照し、初期化条件に応じて初期化１〜４のいずれかに対応する開始アドレスを取得し、開始アドレスにポインタを設定するとともに、ポインタが設定された初期化アドレスから１バイトづつ該当するアドレスの領域を０クリアし、１バイトクリアする毎に、ポインタを進める処理を、初期化１〜４に共通の終了アドレスの領域がクリアされるまで実行することで、初期化条件に応じたＲＡＭ４１ｃの領域を初期化するようにしても良い。
【０２０７】
尚、この場合、１バイトクリアする毎に、ポインタが示すアドレスが終了アドレスであるかを判定し、終了アドレスであれば初期化を終了させるようにしても良いが、まず、初期化テーブルから取得した開始アドレスから共通の終了アドレスまでの初期化バイト数を計算して設定し、開始アドレスから１バイトクリアする毎に初期化バイト数を１減算するとともに、ポインタを１進める処理を、初期化バイト数が０になるまで実行し、初期化バイト数が０となった時点で終了アドレスの領域がクリアされたと判定し、初期化を終了することが好ましい。これは、ポインタが示すアドレスと終了アドレスを１バイト毎に比較する処理を行うよりも、初期化バイト数が０か否かを判定する処理の方が処理効率が高いからである。
【０２０８】
図２１（ａ）は、ＲＡＭ４１ｃの格納領域の変形例を示す図であり、図２１（ｂ）は、初期化テーブルの変形例を示す図であり、図２２は、初期化１の変形例を示すフローチャートである。
【０２０９】
図２１（ａ）に示すように、この変形例においては、ＲＡＭ４１ｃの格納領域が７Ｅ００（Ｈ）から、設定値ワーク、特別ワーク、重要ワーク、非保存ワーク、一般ワーク、未使用領域、未使用スタック領域、使用中スタック領域の順番で割り当てられている。このため、初期化１、２、４のいずれを行った場合でも、初期化される領域が連続するアドレス領域となる。詳しくは、初期化１において初期化される領域は、使用中スタック領域を除く全ての領域、すなわち、設定値ワーク、特別ワーク、重要ワーク、非保存ワーク、一般ワーク、未使用領域、未使用スタック領域であり、これらの領域は、７Ｅ００（Ｈ）〜スタックポインタまでの連続するアドレス領域である。また、初期化２において初期化される領域は、一般ワーク、未使用領域、未使用スタック領域であり、これらの領域は、７Ｅ５３（Ｈ）〜スタックポインタまでの連続するアドレス領域である。また、初期化４において初期化される領域は、未使用領域、未使用スタック領域であり、これらの領域は、７Ｆ０５（Ｈ）〜スタックポインタまでの連続するアドレス領域である。尚、初期化２において一般ワーク、未使用領域、未使用スタック領域が初期化されるのに対して、初期化３では、非保存ワーク、未使用領域、未使用スタック領域が初期化されるので、初期化３において初期化される未使用領域及び未使用スタック領域は、連続するアドレス領域となるが、非保存ワークは連続しないアドレス領域となる。
【０２１０】
図２１（ｂ）に示すように、この変形例において適用する初期化テーブルには、初期化１〜４に対応して開始アドレスが登録されているとともに、初期化１〜４に共通する終了アドレスが登録されている。また、初期化３については、非保存ワークが連続しないアドレス領域となるので、非保存ワークの開始アドレスに対応して初期化サイズが登録されている。
【０２１１】
次に、図２２に示すフローチャートに基づいて、ＣＰＵ４１ａが実行する初期化１の変形例を説明する。
【０２１２】
この初期化１では、まず、ＲＯＭ４１ｂの初期化テーブルを参照し、初期化１に対応して登録されている開始アドレスを読み出す（Ｓｒ１００１）。そして、読み出した開始アドレス（７Ｅ００（Ｈ））にポインタをセットする（Ｓｒ１００２）。次いで、ＲＯＭ４１ｂの初期化テーブルを参照し、初期化１〜４に共通の終了アドレスを読み出す（Ｓｒ１００３）。そして、Ｓｒ１００１で読み出した開始アドレス（７Ｅ００（Ｈ））からＳｒ１００３で読み出した終了アドレス（スタックポインタ）までのバイト数を計算し（Ｓｒ１００４）、計算したバイト数を初期化する領域のバイト数をセットする（Ｓｒ１００５）。そして、Ｓｒ１００２でセットされた開始アドレスからＳｒ１００５でセットされたバイト数にわたりデータをクリアするＲＡＭクリア処理を実行し（Ｓｒ１００６）、ＲＡＭクリア処理が終了すると、初期化１を終了してもとの処理に復帰する。
【０２１３】
また、初期化２、４の変形例は、図２２に示す初期化１の変形例とほぼ同様の処理であり、初期化テーブルに登録されている初期化２または初期化４の開始アドレスを取得し、開始アドレスから共通の終了アドレスまでのバイト数を計算し、開始アドレスから計算したバイト数にわたりデータをクリアする処理を行う。また、初期化３の変形例では、まず、初期化テーブルに登録されている非保存ワークの開始アドレスと初期化サイズを取得し、開始アドレスから初期化サイズ分のバイト数にわたりデータをクリアした後、初期化テーブルに登録されている未使用領域及び未使用スタック領域の開始アドレスを取得し、開始アドレスから共通の終了アドレスまでのバイト数を計算し、開始アドレスから計算したバイト数にわたりデータをクリアする処理を行う。
【０２１４】
上記のようなＲＡＭ４１ｃの初期化の変形例によれば、複数の初期化条件について、初期化テーブルに対応する開始アドレスとこれら複数の初期化条件に共通の終了アドレスのみを設定しておくことで、複数の初期化条件に対応する終了アドレスを個々に設定しておくことなく、複数の初期化条件に対応する領域を初期化することができるので、複数種類の初期化を行うためのプログラム容量を削減できる。
【０２１５】
また、前記実施例では、メダル並びにクレジットを用いて賭数を設定するスロットマシンを用いているが、本発明はこれに限定されるものではなく、遊技球を用いて賭数を設定するスロットマシンや、クレジットのみを使用して賭数を設定する完全クレジット式のスロットマシンであっても良い。
【０２１６】
更に、図２３に示すように、流路切替ソレノイド３０や投入メダルセンサ３１など、メダルの投入機構に加えて、遊技球の取込を行う球取込装置３０’、球取込装置３０’により取り込まれた遊技球を検出する取込球検出スイッチ３１’を設けるとともに、ホッパーモータ３４や払出センサ３５など、メダルの払出機構に加えて、遊技球の払出を行う球払出装置３４’、球払出装置３４’により払い出された遊技球を検出する払出球検出スイッチ３５’を設け、メダル及び遊技球の双方を用いて賭数を設定してゲームを行うことが可能であり、かつ入賞の発生によってメダル及び遊技球が払い出されるスロットマシンに適用しても良い。
【図面の簡単な説明】
【０２１７】
【図１】本発明が適用された実施例のスロットマシンの正面図である。
【図２】スロットマシンの構成を示すブロック図である。
【図３】遊技制御基板におけるメイン制御部まわりの構成を説明するための回路図である。
【図４】停電時における電圧の降下状況、メイン制御部のＣＰＵの動作状況を示すタイミングチャートである。
【図５】メイン制御部のＲＡＭの格納領域の構成を示す図である。
【図６】（ａ）は、メイン制御部のＣＰＵが行う初期化１〜４において初期化される領域を示す図である。（ｂ）は、メイン制御部のＲＯＭに格納された初期化テーブルを示す図である。
【図７】メイン制御部のＣＰＵが起動時に実行する起動処理の制御内容を示すフローチャートである。
【図８】メイン制御部のＣＰＵがエラー発生時に実行するエラー処理の制御内容を示すフローチャートである。
【図９】メイン制御部のＣＰＵが起動処理において実行する設定変更処理の制御内容を示すフローチャートである。
【図１０】メイン制御部のＣＰＵが起動処理後に実行するゲーム処理の制御内容を示すフローチャートである。
【図１１】メイン制御部のＣＰＵがゲーム処理において実行する内部抽選処理の制御内容を示すフローチャートである。
【図１２】メイン制御部のＣＰＵが、電断検出回路から電圧低下信号の入力されることによって実行する電断割込処理の制御内容を示すフローチャートである。
【図１３】メイン制御部のＣＰＵが定期的に実行するタイマ割込処理の制御内容を示すフローチャートである。
【図１４】メイン制御部のＣＰＵが定期的に実行するタイマ割込処理の制御内容を示すフローチャートである。
【図１５】メイン制御部のＣＰＵが定期的に実行する電断判定処理の制御内容を示すフローチャートである。
【図１６】メイン制御部のＣＰＵが起動処理において実行する初期化１の制御内容を示すフローチャートである。
【図１７】メイン制御部のＣＰＵが初期化１〜４において実行するＲＡＭクリア処理の制御内容を示すフローチャートである。
【図１８】メイン制御部のＣＰＵがビッグボーナス終了時に実行する初期化２の制御内容を示すフローチャートである。
【図１９】メイン制御部のＣＰＵが起動処理において実行する初期化３の制御内容を示すフローチャートである。
【図２０】メイン制御部のＣＰＵが１ゲーム終了毎に実行する初期化４の制御内容を示すフローチャートである。
【図２１】（ａ）は、メイン制御部におけるＲＡＭの格納領域の変形例を示す図である。（ｂ）は、初期化テーブルの変形例を示す図である。
【図２２】メイン制御部のＣＰＵが実行する初期化１の変形例を示す図である。
【図２３】スロットマシンの構成の変形例を示すブロック図である。
【図２４】スロットマシンの筐体背面の一例を示す図である。
【符号の説明】
【０２１８】
１  スロットマシン
２Ｌ、２Ｃ、２Ｒ  リール
８Ｌ、８Ｃ、８Ｒ  ストップスイッチ
４０  遊技制御基板
４１  メイン制御部
４１ａ  ＣＰＵ
４１ｂ  ＲＯＭ
４１ｃ  ＲＡＭ
４８  電断検出回路
【図１】
2008054986.tif 000003
【図２】
2008054986.tif 000004
【図３】
2008054986.tif 000005
【図４】
2008054986.tif 000006
【図５】
2008054986.tif 000007
【図６】
2008054986.tif 000008
【図７】
2008054986.tif 000009
【図８】
2008054986.tif 000010
【図９】
2008054986.tif 000011
【図１０】
2008054986.tif 000012
【図１１】
2008054986.tif 000013
【図１２】
2008054986.tif 000014
【図１３】
2008054986.tif 000015
【図１４】
2008054986.tif 000016
【図１５】
2008054986.tif 000017
【図１６】
2008054986.tif 000018
【図１７】
2008054986.tif 000019
【図１８】
2008054986.tif 000020
【図１９】
2008054986.tif 000021
【図２０】
2008054986.tif 000022
【図２１】
2008054986.tif 000023
【図２２】
2008054986.tif 000024
【図２３】
2008054986.tif 000025
【図２４】
2008054986.tif 000026