以下、実施例に基づいて本発明を更に詳細に説明する。図1〜図4は、実施例に係るスロットマシンSLを図示したものである。本スロットマシンSLは、矩形箱状の本体ケース1と、各種の遊技部材を装着した前面パネル2とが、ヒンジ3を介して連結され、前面パネル2が本体ケース1に対して開閉可能に構成されている(図2)。そして、図1は前面パネル2の正面図、図2はスロットマシンSLの右側面図(a)と平面図(b)、図3は前面パネル2の背面図、図4は本体ケース1の内部正面図を示している。
図4に示す通り、本体ケース1の略中央には、3つの回転リール4a〜4cを備える図柄回転ユニット4が配置され、その下側に、メダル払出装置5が配置されている。メダル払出装置5には、メダルを貯留するメダルホッパー5aと、払出モータMと、メダル払出制御基板55と、払出中継基板63と、払出センサ(不図示)などが設けられている。ここで、メダルは、払出モータMの回転に基づいて、払出口5bから図面手前に向けて導出される。なお、限界量を越えて貯留されたメダルは、オーバーフロー部5cを通して、補助タンク6に落下するよう構成されている。
上記のメダル払出装置5に隣接して電源基板62が配置され、また、図柄回転ユニット4の上部に主制御基板50が配置され、主制御基板50に隣接して回胴設定基板54が配置されている。なお、図柄回転ユニット4の内部には、回胴LED中継基板58と回胴中継基板57とが設けられ、図柄回転ユニット4に隣接して外部集中端子板56が配置されている。
図1に示すように、前面パネル2の上部には液晶表示ユニット7が配置され、その下部には、回転リール4a〜4cに対応する3つの表示窓8a〜8cが配置されている。そして、表示窓8aの左側には、遊技状態を示すLED群9が設けられ、その下方には、遊技成果として払出されるメダル数を表示する払出表示部10や、クレジット状態のメダル数を表示する貯留数表示部11が設けられている。
前面パネル2の中央には、メダルを投入するメダル投入口12が設けられ、これに隣接して、メダル投入口12に詰まったメダルを返却させるための返却ボタン13が設けられている。また、クレジット状態のメダルを払出すクレジット精算ボタン14と、メダル投入口12へのメダル投入に代えてクレジット状態のメダルを擬似的に一枚投入する投入ボタン15と、クレジット状態のメダルを擬似的に三枚投入するマックス投入ボタン16とが設けられている。
これらの遊技部材の下方には、回転リール4a〜4cの回転を開始させるスタートレバー17と、回転中の回転リール4a〜4cを停止させるためのストップボタン18a〜18cが設けられている。その他、前面パネル2の下方には、メダルを蓄える横長の受け皿19と、払出装置5の払出口5bに連通するメダル導出口20とが設けられている。なお、メダル導出口20の左右にはスピーカSPが配置されている。
図3に示すように、前面パネル3の裏側には、メダル投入口12に投入されたメダルの選別を行うメダル選別装置21と、メダル選別装置21により不適正と判別されたメダルをメダル導出口20に案内する返却通路22とが設けられている。また、前面パネル3の裏側上部には、演出制御基板51、演出インタフェイス基板52、及び液晶制御基板61などを収容する基板ケース23が配置されている。そして、メダル選別装置21の上部には、図1に示す各種の遊技部材と主制御基板50との間の信号を中継する遊技中継基板53が設けられている。
図5〜図7は、メダル選別装置21をより詳細に図示したものであり、それぞれ、正面図(図5)、平面図(図6)、及び背面図(図7)を示している。このメダル選別装置21は、上流側から下流側に向けて横長に延びる裏板24と、裏板24に取付られた各部材によって構成されている。そして、機能的には、導入部21aと、メダル径判定部21bと、投入メダル返却部21cと、投入枚数判定部21dとで構成されている。導入部21aには、裏板24に向けて付勢されて、裏板24と協働してメダル案内路を実現するガイド板25が設けられている。
メダル径判定部21bは、裏板24に開口させた矩形窓26と、ガイド板25と一体的に回動可能な当接板27と、裏板24に取り付けられてメダル案内路の一部となる上部ガイド溝(不図示)などで構成されている。そして、正規のメダル径より小径のメダルは、矩形窓26から落下する。一方、正規のメダル径より大径のメダルは、上部ガイド溝に侵入することができないために、導入部21aに止まることになる。
このような場合、遊技者が返却ボタン13を押すことになるが、返却ボタン13の押下に対応して返却バー28が降下すると、伝達バー29が、図7の時計方向に回動して、伝達バー29の先端29aが、当接板27を回動させることになる。ここで、当接板27は、ガイド板25と一体的に回動するので、メダル案内路は幅方向に開放されることになり、そこに止まって詰まっているメダルは、矩形窓26に進入した当接板27によって確実に排出される(図8(b)参照)。
投入メダル返却部21cは、断面略L字状の落下防止板30と、落下防止板30を吸着するソレノイド31とを中心に構成されている。回転リール4a〜4cが回転中であるなど、メダルの投入が禁止されるタイミングでは、ソレノイド31をOFF状態に制御してメダル案内路の下方を開放状態にする。その結果、誤って投入されたメダルは、返却通路22に落下して遊技者に返却されることになる(図9(b))。一方、メダル投入可能なタイミングでは、ソレノイド31をON状態に制御してメダル案内路の下方を閉塞状態にする。したがって、この場合には、投入されたメダルは、正しく、投入枚数判定部21dに誘導される。
投入枚数判定部21dは、メダルの移動方向に連続して設けられた2つのフォトインタラプタPH1、PH2を中心に構成されている。フォトインタラプタPHは、検査光を発光する発光ダイオードと、検査光を受けるフォトトランジスタとで構成されている。そして、検査光が通過するメダルによって遮断されるので、その遮断回数をカウントすることで、投入されたメダルの枚数を把握するようにしている。
図10は、実施例に係るスロットマシンSLの回路構成を示すブロック図である。図示の通り、このスロットマシンSLは、回転リール4a〜4cを含む各種の遊技部材の動作を制御する主制御基板50と、主制御基板50から受けた制御コマンドに基づいて演出動作を実現する演出制御基板51と、交流電圧(24V)を直流電圧(5V,12V,24V)に変換して装置各部に供給する電源基板62とを中心に構成されている。
主制御基板50は、演出制御基板51に対して、スピーカSPによる音声演出、LEDランプや冷陰極線管放電管によるランプ演出、及び、液晶表示ユニット7による図柄演出を実現するための制御コマンドを出力している。そして、演出制御基板51は、演出インタフェイス基板52を通して、液晶制御基板61に接続されており、液晶制御基板61は、液晶表示(LCD)ユニット7における図柄演出を実現している。
演出制御基板51は、演出インタフェイス基板52と共に、LED基板59やインバータ基板60や回胴LEDドライブ基板58を経由して、各種のLEDや冷陰極線管放電管におけるランプ演出を実現している。また、演出制御基板51は、演出インタフェイス基板52を通してスピーカSPを駆動して音声演出を実現している。
主制御基板50は、遊技中継基板53を通して、スロットマシンの各種遊技部材に接続されている。具体的には、スタートレバー17の始動スイッチ、ストップボタン18a〜18cの停止スイッチ、投入ボタン15,16の投入スイッチ、清算ボタン14の清算スイッチ、投入枚数判定部21dを構成するフォトインタラプタPH1,PH2、投入メダル返却部21cを構成するブロッカーソレノイド31、及び、各種LED素子9〜11などに接続されている。
また、主制御基板50は、回胴中継基板57を経由して、回転リール4a〜4cを回転させる3つのステッピングモータ、及び、回転リール4a〜4cの基準位置を検出するためのインデックスセンサに接続されている。そして、ステッピングモータを駆動又は停止させることによって、回転リール4a〜4cの回転動作と、目的位置での停止動作を実現している。
主制御基板50は、払出中継基板63を通してメダル払出装置5にも接続されている。メダル払出装置5には、メダル払出制御基板55と、メダル払出センサと、払出モータMとが設けられており、メダル払出制御基板55は、主制御基板50からの制御コマンドに基づいて払出モータMを回転させて、所定量のメダルを払出している。
その他、主制御基板50は、外部集中端子板56と、回胴設定基板54にも接続されている。外部集中端子板56は、例えばホールコンピュータHCに接続されており、主制御基板50は、外部集中端子板56を通して、メダルの投入枚数やメダルの払出枚数などを出力している。また、回胴設定基板54は、係員が設定した確率的なメダル払出枚数の設定値を示す設定キー信号などを出力している。
図11は、主制御基板50の回路構成を図示したものである。なお、フォトインタラプタPHは、メダル選別装置50の投入枚数判定部21d(図5〜図7)を構成する主要素子である。
図示の通り、主制御基板50は、ワンチップマイコン64と、8bitパラレルデータを入出力するI/Oポート回路65と、ハードウェア的に乱数値を生成するカウンタ回路66と、演出制御基板51などの外部基板とのインタフェイス回路とを中心に構成されている。ここで、ワンチップマイコン64は、Z80相当品のCPUコア64a、ROM、RAMなどの他に、CTC(Counter/Timer Circuit) 64bや、割込みコントローラ64cなどを内蔵している。
CTC64bは、8bitのカウンタやタイマを集積した回路であり、Z80システムに、周期的割り込みや一定周期のパルス出力作成機能(ビットレートジェネレータ)や時間計測の機能を付与するものである。そこで、本実施例では、CTC64bを利用して、Z80CPU64aに1.5mS程度の時間間隔でタイマ割込み(図19(a))をかけている。
インタフェイス回路としては、電源回路とのインタフェイス回路67、遊技中継基板53とのインタフェイス回路68と、回胴モータ駆動回路69と、演出制御基板と51のインタフェイス回路70などが設けられている。そして、電源遮断時には、インタフェイス回路67を通して、Z80CPU64aに電圧降下割込み(図19(b))をかけている。なお、回胴モータ駆動回路69は、回転リール4a〜4cのステッピングモータの駆動信号を生成する回路であり、インタフェイス回路70は、演出制御基板51に制御コマンドを出力するための8ビットパラレルポートである。
図11は、メダル選別装置50の投入枚数判定部21dと、遊技中継基板53との接続関係も示している。図示の通り、投入枚数判定部21dは、2つのフォトインタラプタPHa,PHbと、電流制限抵抗R1,R2とで構成されている。そして、フォトインタラプタPHa,PHbは、発光ダイオードとフォトトランジスタとで構成されている。なお、発光ダイオードとフォトトランジスタとの間を、メダルが通過するよう構成されているのは、先に説明した通りである。
発光ダイオードのアノード端子に接続された電流制限抵抗R1,R2には、共通して電源電圧Vccが供給されている。一方、発光ダイオードのカソード端子は、共通してグランド線に接続されている。したがって、遊技機の動作状態では常に発光ダイオードが点灯することになる。
また、フォトトランジスタの出力信号S1,S2を出力するコレクタ端子は、主制御基板50の入力回路にそれぞれ接続されている。一方、フォトトランジスタのエミッタ端子は、共通してグランド線に接続されている。そのため、メダルがフォトインタラプタPHaの位置を通過すると、通過時だけHレベルとなる出力信号S1が主制御基板50に供給される。同様に、メダルがフォトインタラプタPHbの位置を通過すると、通過時だけHレベルとなる出力信号S2が主制御基板50に供給される。
図12は、メダルの通過を判定する判定処理を説明するタイムチャートである。図示の通り、投入されたメダルが投入枚数判定部21dを通過すると、上流側の検出信号S1が先ず検出され、やや遅れて下流側の検出信号S2が検出されることが示されている。そこで、主制御基板50のワンチップマイコン64は、区間Taにおいて、検出信号S1,S2が同時にHレベルになるとエラーと判定し、また、検出信号S1=Lの状態で検出信号S2=Hとなった場合もエラーと判定している。次に、区間Tbにおいて、検出信号S1がLレベルになるとエラーと判定し、また、検出信号S1=H、検出信号S2=Lの状態が100mS以上継続した場合もエラーと判定している。
区間Tcでは、検出信号S2がLレベルになるとエラーと判定し、また、検出信号S1=H、検出信号S2=Hの状態が100mS以上継続した場合もエラーと判定している。区間Tdでは、検出信号S1がHレベルになるとエラーと判定し、また、検出信号S1=L、検出信号S2=Hの状態が100mS以上、継続した場合もエラーと判定している。
図13は、電源基板62の回路構成を示すブロック図である。この電源基板62は、交流24Vを受けて脈流電圧に変換する整流部80と、脈流電圧を直流5Vに変換する第1電圧変換部81と、脈流電圧を直流12Vに変換する第2電圧変換部82と、脈流電圧を直流24Vに変換する第3電圧変換部83と、第1電圧変換部81の出力電圧を蓄電する蓄電部84と、電源遮断状態を検出して検出信号RESを出力する電源監視部85とで構成されている。
蓄電部84は、大容量(例えば、1ファラッド程度)のコンデンサCと、過電流用の制限抵抗r1、r2と、逆方向電流を阻止するダイオードDとで構成されている。なお、制限抵抗r1は75Ω程度、制限抵抗r2は10Ω程度である。コンデンサCの両端電圧は、バックアップ電源として、ワンチップマイコン64に供給されている。
このバックアップ電源は、ワンチップマイコン64に内蔵されたSRAM(static ram)に供給されており、電源電圧の遮断状態でも、少なくとも数日はRAM(Random Access Memory)の記憶内容を保持するようにしている。なお、RAMの記憶容量は、この実施例では、遊技機のワークエリアとして使用される512バイト程度である。
図14は、電源監視部85を更に詳細に示す回路図である。電源監視部85は、交流電圧24Vを受けてON/OFF動作するスイッチング部SWと、スイッチング部SWのON/OFF状態を検出する検出部DET1と、検出部DET1の出力を遅延して伝達する遅延部DLY1と、遅延部DLY1の出力を受けてON/OFF動作する第1出力部OT1と、DC5Vの電圧低下を検出する検出部DET2と、検出部DET2の出力を遅延して伝達する遅延部DLY2と、遅延部DLY2の出力を受けてON/OFF動作する第2出力部OT2とで構成されている。そして、第1出力部OT1と第2出力部OT2から、検出信号RESが出力されるようになっている。
スイッチング部SWは、抵抗R1及びコンデンサC1からなる整流部と、コンデンサC1の出力値に基づいてON/OFF動作するトランジスタQ1とを中心に構成されている。そして、AC24Vが正常に供給されている場合には、トランジスタQ1がON状態となり、スイッチング部SWの出力がLレベルとなる。一方、AC24Vの電圧が低下して、コンデンサC1の出力が低下すると、トランジスタQ1がOFF状態となり、スイッチング部SWの出力がHレベルとなる。
検出部DET1は、分圧抵抗R4,R5と、基準電圧Er1と、コンパレータAP1とで構成されている。分圧抵抗R5は、トランジスタQ1に並列接続されているので、トランジスタQ1がON状態の場合には、R5が短絡状態となり、検出部DET1の出力は、Hレベルとなる。逆に、トランジスタQ1がOFF状態の場合には、検出部DET1の出力は、Lレベルとなる。
遅延部DLY1は、ON/OFF動作するトランジスタQ2,Q3と、5μA程度の定電流源A1と、シュミットトリガ型の反転増幅器AP2と、定電流源A1によって充電されるコンデンサC2とで構成されている。トランジスタQ2がOFF状態に変化すると、コンデンサC2は、定電流源A1によって充電が開始される。そのため、充電されるコンデンサC2の両端電圧が、LレベルからHレベルに変化するまで、トランジスタQ2のHレベル出力の伝達を遅延させることになる。なお、トランジスタQ2がON状態に変化すると、コンデンサC2の電荷は迅速に放電されるので、トランジスタQ2のLレベル出力は直ちに伝達される。
第1出力部OT1は、分圧抵抗R6〜R8と、ON/OFF動作するトランジスタQ4と、トランジスタQ4の負荷抵抗R9とで構成されている。また、第2出力部OT2は、分圧抵抗R12〜R14と、ON/OFF動作するトランジスタQ7と、トランジスタQ7の負荷抵抗R9とで構成されている。ここで、トランジスタQ4とトランジスタQ7とが並列に接続されているので、負荷抵抗R9と共に、ワイアードORのロジックを実現している。すなわち、トランジスタQ4及びトランジスタQ7のうち、少なくとも何れか一方がON状態になると、出力部OT1,OT2の出力(検出信号RES)はLレベルとなる。
検出部DET2は、分圧抵抗R10,R11と、基準電圧Er2と、コンパレータAP3とで構成されている。そのため、電源電圧(DC5V)が低下すると、検出部DET1の出力は、Hレベルとなる。逆に、電源電圧が正常値であれば、検出部DET1の出力は、Lレベルとなる。
遅延部DLY2は、ON/OFF動作するトランジスタQ5,Q6と、5μA程度の定電流源A3と、シュミットトリガ型の非反転増幅器AP4と、定電流源A3によって充電されるコンデンサC3とで構成されている。トランジスタQ5がOFF状態に変化すると、コンデンサC3は、定電流源A3によって充電が開始される。そのため、充電されるコンデンサC3の両端電圧が、LレベルからHレベルに変化するまで、トランジスタQ5のHレベル出力の伝達を遅延させることになる。
以上の通り、この電源監視部85は、交流24Vの電圧値を監視するスイッチング部SW及び検出部DET1と、直流5Vの電圧値を監視する検出部DET1とを備えている。そして、何れか一方の電圧値が正常値から低下すると、検出信号RESがLレベルに変化するようになっている。そのため、この検出信号に基づいてCPUに割込みをかけるようにしている(なお、これらの点は更に後述する)。
図15は、主制御基板50の内部回路のうち、電源基板62とのインタフェイス回路67を詳細に示す回路図である。このインタフェイス回路67は、電源基板50から検出信号RESを受けて異常信号ALMを生成する遅延部DLYと、基準パルスΦの周波数をN倍にする周波数分周部FDと、周波数分周部FDの出力パルスPLと異常信号ALMとを受けるシフトレジスタSRと、電源リセット信号を生成するリセット信号部RSTとを中心に構成されている。
周波数分周部FDは、この例では、基準パルスΦの周波数を2倍にするD型フリップフロップと、D型フリップフロップの出力を分周するリプルカウンタとで構成されている。但し、このような構成に限定されるものではなく、基準パルスの周波数を低下させる他の回路も適宜に選択可能である。
図15に示す通り、電源基板62の電源監視部85から受けた検出信号RESは、遅延部DLYとインバータG1とを経由して、異常信号ALMとして、NANDゲートG2とシフトレジスタSRと入力ポート回路65とに供給される。そして、NANDゲートG2には、異常信号ALMと共に、ワンチップマイコン64からの禁止信号RMN0も受けている。なお、禁止信号RMN0は、ワンチップマイコン64のイニシャライズ処理時にLレベルとなり、定常動作時にはHレベルとなっている。
したがって、禁止信号RMN0がHレベルとなっている定常状態で、検出信号RESがLレベルとなると、Hレベルの異常信号ALMが反転されて、ワンチップマイコン64の割込み端子INTに、Lレベルの割込み信号が供給されることになる。また、異常信号ALMは、入力ポート回路65を経由してワンチップマイコン64に供給されているので、ワンチップマイコン64は、何時でも、異常信号ALMのレベルを確認することができる。
リセット信号部RSTは、図14の回路とほぼ同様の構成であり、DC5Vの電圧変化を検出する検出部DET3と、検出部DET3の出力を遅延して伝達する遅延部DLY3と、遅延部DLY3の出力を受けてON/OFF動作する第3出力部OT3とで構成されている。
検出部DET3は、分圧抵抗R17,R18と、基準電圧Er3と、コンパレータAP5とで構成されている。遅延部DLY3は、ON/OFF動作するトランジスタQ8,Q9と、5μA程度の定電流源A5と、シュミットトリガ型の反転増幅器AP6と、定電流源A5によって充電されるコンデンサC6とで構成されている。また、第3出力部OT3は、トランジスタQ9の負荷抵抗R19と、ノイズ吸収用コンデンサC7と、2つのインバータG4,G5とで構成されている。
続いて、上記のリセット信号部RSTについて、電源基板62から電源電圧(DC5V)が供給された電源投入タイミングの動作内容を説明する。電源投入時には、電源電圧(DC5V)が傾斜して立ち上がるが(図15の右下参照)、これに合わせて、コンパレータAP5の出力はLレベルとなり、トランジスタQ8はOFF状態となる。そのため、コンデンサC6は定電流源A5によって充電されて、Lレベルの電圧から遅延時間tdを経てHレベルの電圧となる。そして、この遅延時間tdの後には、トランジスタQ9がON状態からOFF状態に変化し、第3出力部OT3の出力は、LレベルからHレベルとなる。
ところで、第3出力部OT3の出力は、2つのNANDゲートG6,G7を通して、ワンチップマイコンのリセット端子RST0に供給されている。そのため、ワンチップマイコンのリセット端子RST0は、電源投入後、所定時間だけLレベルの信号が供給されることになり、CPUコア64aを確実にリセット状態にすることができる。
続いて、図16に基づいて、電源基板62の電源監視部85と、主制御基板50のインタフェイス回路67及びワンチップマイコン64とに関連して、電源遮断時の動作内容を説明する。なお、図16には、定常状態における各トランジスタのON/OFF状態、及び、各トランジスタの入出力電圧のH/Lレベルを、丸枠や四角枠で囲って示している。また、定常状態では、検出信号RESはHレベルである。
このような定常状態において、電源が遮断すると、最初に最上流側のAC24Vが低下し、その後、所定の時間経過後に、下流側のDC5Vが低下すると思われる(図13参照)。そのため、AC24Vが低下した初期状態では、DC5Vは正常値を維持することになり、トランジスタQ1〜Q4、及びその他の電子素子AP1,AP2は正常に動作する。
図16に基づいて、各回路素子の動作を説明すると、電源遮断によるAC24Vの電圧低下に対応して、先ず、スイッチ部SWを構成しているトランジスタQ1がOFF状態となり、コンパレータAP1への反転入力電圧が増加する。そのため、コンパレータAP1の出力がHレベルからLレベルに変化し、トランジスタQ2がOFF状態に変化する。
すると、コンデンサC2は、定電流源A1によって充電が開始されて、Lレベルの電圧から所定の遅延時間を経てHレベルの電圧となる。そして、コンデンサC2の両端電圧がHレベルとなると反転増幅器AP2の出力がLレベルとなり、その結果、トランジスタQ3がON状態からOFF状態に変化し、トランジスタQ4は、OFF状態からON状態に変化する。
以上の動作の結果、検出信号RESは、電源遮断に対応してHレベルからLレベルに低下し、これがインタフェイス回路67を経由して供給されるワンチップマイコン64への割込み信号となる。なお、ワンチップマイコンは定常動作状態にあるので、禁止信号RMN0はHレベルであり、NANDゲートG2によって割込み信号RES(実際には異常信号ALM)が阻止されることはない。
なお、以上説明したAC24Vの低下に伴う検出信号RESの立下りの後、コンパレータAP3、非反転増幅器AP4、及びトランジスタQ5〜Q7は、図16に示すように動作すると解されるが、トランジスタQ7は、トランジスタQ4と共にワイアードロジックを構成しているので、検出信号RESに変化を与えることはない。
以上の通り、この実施例の電源監視部85は、AC24Vの電圧低下を監視する回路と、DC5Vの電圧低下を監視する回路とを重複して備えている。これは、例えば、整流部80は正常に動作しているが、第1電圧変換部81が故障して、直流電圧DC5Vのみが低下する可能性もあり、かかる異常時にも適切に対処して、遊技機の動作状態を正しくバックアップ保存できるようにするためである。
また、本実施例では、AC24Vの電圧低下を、トランジスタQ2から反転増幅器AP2に直ちに伝えるのではなく、一定の遅延時間τを設けている。したがって、この遅延時間中に交流入力電源の電圧(AC24V)が正常値に復旧すると、反転増幅器AP2の出力はHレベルを維持するので、ワンチップマイコン64には割込みがかからない。つまり、本実施例では、AC24Vの低下から所定時間待機して、ワンチップマイコン64に電源遮断の割込みをかけている。
本実施例がこのような待機動作を採用するのは、各遊技ホールで相当の頻度で発生しているAC電源の瞬停を考慮したものであり、具体的には、瞬停のたびにCPUに電源遮断の割込みをかけないためである。すなわち、日本では停電の発生頻度は低いものの、人間では感知できない程度の瞬停は、毎日のように発生している。ところが、UPS(Uninterrupted Power Supply=無停電電源装置)などを設けていない遊技ホールも多いので、そのような遊技ホールでも毎日の営業に支障が生じないよう、待機時間τ(遅延時間τ)を設定した電源遮断の検出回路(SW,DET1,DLY1,OT1)を設けているのである。
ところで、図15に示すように、検出信号RESはインバータG1で反転された後、シフトレジスタSRのA入力端子にも供給されている。そして、シフトレジスタSRのクロック端子CLKには、周波数分周部FDの出力パルスPLが供給されている。そのため、出力パルスPLが何個か供給された後(つまり、適当な時間消費の後)、シフト動作されたA入力端子への入力信号である異常信号ALMが、シフトレジスタSRから出力されることになる。
この遅延された異常信号ALMは、電源電圧(DC5V)が維持されている条件下で、NANDゲートG7を通過して、ワンチップマイコンのリセット端子に供給されて、CPUコア64aをリセット状態にする。
本実施例は、このような特有の動作を実現するので、例えば、電源電圧の電圧値(DC5V)が電解コンデンサなどで維持された状態で、遅延部DLY1の待機時間τを越えてAC24Vが低下状態を維持したものの、その後直ちに、AC24Vが正常値に復帰したような場合でも、CPUコア64aを正しくリセット状態にすることができる。
この点を更に説明すると以下の通りである。図15に関して説明した通り、電源電圧が0Vから5Vに向けて増加しない限り、リセット信号たるゲートG5の出力信号が出力されない。そのため、電源電圧(DC5V)が維持された状態でAC24Vのみが低下して、CPUコア64aに電源遮断割込みがかかった場合には、その後、ゲートG5の出力信号によっては、CPUコア64aをリセットして起動させることができない。
しかし、本実施例では、遅延された異常信号ALMがCPUコア64aをリセット状態にするので、上記した例外的な場合でも、CPUコア64aを正常に起動させることができる。なお、遅延された異常信号ALMがCPUコア64aをリセット状態にするタイミングでは、電源遮断割込みの全ての処理が完了しているのは勿論である。
なお、電源監視部85は、電源遮断時だけでなく、電源投入時にも機能し、電源投入時には、図15のリセット信号部RSTと同様の動作をする。具体的には、検出部DET2及び遅延部DLY2とは、検出部DET3及び遅延部DLY3と同様に動作するので、電源投入から所定時間内は、トランジスタQ6がOFF状態となり、これに対応してトランジスタQ7の出力が電源投入から所定時間内はLレベルとなる。
その結果、検出信号RESは、所定時間Lレベルを維持した後に立ち上がることになり、Lレベルの検出信号RESがワンチップマイコン64に割込みをかける可能性がある。しかし、先に説明した通り、電源投入直後は、NANDゲートG2の入力信号RMN0がLレベルであるから、Lレベルの検出信号RESがワンチップマイコン64の割込み端子INTに加わることはなく、割込み発生のおそれはない。
以上、電源基板62と主制御基板50の回路構成を中心に説明したので、次に主制御基板50のワンチップマイコン64(以下、主制御部50という)が実現する制御動作を説明する。
図17〜図19は、主制御部50が実行する制御プログラムを説明するフローチャートである。主制御部50の制御プログラムは、電源投入時に開始されるメイン処理(図17、図18)と、CTCからの定時割込みで起動されるタイマ割込み処理(図19(a))と、電源遮断時に電源基板62からの検出信号RES(異常信号ALM)で起動される電圧降下割込み処理(図19(b))とで構成されている。ここで、タイマ割込み、及び電圧降下割込みは、共にマスク可能な割込みであり(maskable interrupt)、本実施例ではNMI(non-maskable interrupt)を使用しない。
先ず、図17のメイン処理から説明すると、電源が投入されると初期処理(ST1)の後、RAMのワークエリアをクリアして、初期処理において割込み禁止状態に設定されているCPUを、割込み許可状態に設定する(ST2)。なお、初期処理については図18に基づいて更に後述する。
ステップST2の処理が終われば、満杯検知用金具のON/OFF状態を監視し、満杯状態であればエラー処理を行う(ST3)。満杯検知用金具は、補助タンク6に設けられた一対の導通センサFL1,FL2であり、これらがメダルによって導通されているか否かで満杯状態を検出している。
次に、メダル投入口12から実際に投入されたメダル、及び、投入ボタン15、16の押下によって擬似的に投入されたメダルについてのメダル投入処理を行う(ST4)。具体的には、投入されたメダルの検出処理や、メダル枚数を判定する処理を含む。
メダル投入処理(ST4)の後、カウンタ回路66のカウンタ値に基づいて乱数値を抽出し(ST5)、今回のゲームの当否を決定するため、乱数値に基づいた抽選処理を行う(ST6)。抽選処理で決定される当選状態には、例えば、最高価値のBB(ビッグボーナス)当り、次に価値の高いRB(レギュラーボーナス)当り、2〜15枚程度の配当メダルが払出されるフルーツ図柄当り、再ゲームが可能なリプレイゲーム当りなどが設けられている。
次に、回転リール4a〜4cを回転させるための準備作業を行い、タイマ割込みによる回転リール4a〜4cの回転を可能にし(ST7)、その後、ストップボタン18a〜18cが押されたら、対応する回転リール4a〜4cを停止させる回胴停止処理を行う(ST8)。そして、全ての回転リールが停止したら、有効な停止ライン上に、当選図柄が揃ったか否かが判定され(ST9)、必要数のメダルが払出される(ST10)。
そして、リプレイ図柄が揃っているか否か判定され(ST11)、リプレイ図柄が揃っている場合には、再遊技動作の開始処理(ST12)を実行した後、ステップST2に移行する。リプレイ図柄が揃っていない場合には、RB図柄が揃っているか否か判定され、RB図柄が揃っている場合には、レギュラーボーナスの開始処理(ST14)を実行した後、ステップST2に移行する。また、現在がレギュラーボーナスゲーム中であるか否か判定され(ST15)、レギュラーボーナスゲーム中であれば必要な処理(ST16)を実行した後、ステップST2に移行する。
一方、ステップST15の判定がNOの場合には、BB図柄が揃っているか否か判定され(ST17)、BB図柄が揃っている場合には、ビッグボーナスの開始処理(ST18)を実行した後、ステップST2に移行する。また、現在がビッグボーナスゲーム中であるか否か判定され(ST19)、NOであれば何もしないでステップST2に移行する。一方、ビッグボーナスゲーム中であれば、ビッグボーナスゲームに必要な処理(ST20)を実行した後、ビッグボーナスゲームの終了条件を満たすか否か判定される(ST21)。そして、判定結果がNOの場合には、何もしないでステップST2に移行するが、判定結果がYESの場合には、BBゲーム中に使用したRAMエリアも含めワークエリアをクリアしてステップST2に移行する。
続いて、図19(a)に示すタイマ割込み処理について説明する。なお、このタイマ割込み処理は、ワンチップマイコン64内部のCTCからのマスク可能な割込み信号(タイマ信号)に基づいて、1.5mS程度の時間間隔で起動される。
タイマ割込みがかかると、CPUのレジスタを退避した後(ST30)、ポート入力処理を行う(ST31)。ポート入力処理では、始動スイッチ、停止スイッチ、貯留メダルスイッチ、清算スイッチ、ドアスイッチなど、スロットマシンに配置された全てのスイッチからの信号が、I/Oポート回路65を通して入力される。また、ポート入力処理では、フォトインタラプタPH1、PH2からの検出信号S1,S2も、I/Oポート回路65を通して入力される。
次に、3つの回転リール4a〜4cの現在位置を常に把握するために、回胴回転制御処理が実行される(ST32)。主制御部50は、インデックセンサからの入力信号の入力タイミングと、その後、ステッピングモータに供給する駆動パルスの個数によって、各回転リール4a〜4cの現在位置を把握することができる。なお、回胴回転制御処理(ST32)では、回転リール4a〜4cの起動処理や停止処理も実施しており、例えば、停止状態から定速回転まで、段階的に回転リールを加速させる駆動信号も生成している。
回胴回転制御処理(ST32)が終われば、定期更新処理を実行する(ST33)。定時更新処理では、抽選用乱数値の更新、遊技動作を管理するソフトウェアタイマ値の更新、及びウォッチドッグタイマ値の更新処理を含んでいる。ここでウォッチドッグタイマ値の更新処理とは、ワンチップマイコンに内蔵されているウォッチドッグタイマを定期的にクリアする処理である。プログラムが暴走するなどして、この定時更新処理が実行されないと、ウォッチドッグタイマが限界値までカウントアップされて、CPUコア64aが自動的にリセットされてプログラム暴走状態から復帰することになる。
次に、演出制御部51に対して制御コマンドの1バイト分を出力する(ST34)。1つの制御コマンドは2バイト長であるので、連続する二回のタイマ割込みで1つの制御コマンドを送信することになる。なお、制御コマンドは、主制御部50の遊技状態を示すもので、スタートレバー17やストップボタン18a〜18cが操作されたことも含んだ遊技状態が、制御コマンドによって演出制御部51に通知される。これのような制御コマンドを受けた演出制御部51ではLEDランプを点灯させたり、効果音を発生させるべく制御動作を実行する。
次に、メダル情報出力処理を実行して、外部集中端子板56に対して、例えば、各々1ビット信号であるメダル投入信号やメダル払出信号を出力する(ST35)。このメダル投入信号や払出信号によって、ホールコンピュータHCは、各スロットマシンSLの投入されたメダル数や、各スロットマシンSLから払出されたメダル数を把握することができる。また、主制御部50は、各LEDランプ群を駆動するための駆動データを、遊技中継基板53や回胴中継基板57に対して出力する(ST36)。
その後、退避しておいたレジスタを復帰させた後(ST37)、CPUを割込み許可状態に設定して割込み処理を終える(ST38)。このように、本実施例では、タイマ割込みが開始されると、その処理が終わるまで、電圧降下割込みの開始が待たされることになる。しかし、本実施例では、交流入力電圧の低下に基づいて迅速に電圧降下割込みがかかり、しかも、タイマ割込みの処理は1.5ms以内に終了するので、NMIを使用しないことに何の弊害もない。
続いて、図19(b)に基づいて、電源遮断時の電圧降下割込み処理を説明する。図13に関して説明した通り、このスロットマシンSLでは、遊技状態を示す各データを一時的に保存するRAMのワークエリア(SRAM)は、バックアップ電源でバックアップされており、電源の遮断状態に係わらず、少なくとも数日(通常は7〜8日)は記憶内容が保護される。また、図15〜図16に関して説明した通り、電源基板62の電源監視部85は、交流入力電圧(AC24V)と電源電圧(DC5V)の値を常時監視しており、何れかの値が異常値まで低下すると、異常信号ALMがHレベルに変化して、CPUコア64aに電圧降下割込みをかけるようにしている。また、この異常信号ALMは、I/Oポート回路65を通してCPUコア64aに入力可能に構成されている(図11、図15参照)。
したがって、電圧降下割込みでは、最初に異常信号ALMをI/Oポート回路65から入力して、そのレベルを確認する(ST40)。これはノイズなどによる異常割込みを排除するためであり、もし取得した異常信号ALMが電圧低下を意味しない正常値ならそのまま割込み処理を終える(ST41)。
逆に、異常信号ALMが電圧低下を意味する異常値なら、レジスタを退避した後(ST42)、スタックポインタを退避する(ST43)。次に、コンデンサC(図13)でバックアップされるワークエリアに、所定の8ビットデータ(電源断キーワード)を格納する(ST44)。これは、電源遮断時にレジスタ類が正しくスタック領域に格納されたことを意味するデータであり、言い換えると、電源が復旧した際に、ステップST42,43で保存したデータを使用して良いことを意味するデータである。
以上の処理が終われば、RAMをアクセス不能に設定すると共に(ST45)、出力ポートをOFF状態に設定して(ST46)、その後は無限ループ処理に突入する。通常は、その後電源電圧が更に低下して、主制御部50は動作不能となる。但し、その後、電源が復旧すると、主制御部50は、電源断キーワードを確認した後、退避処理(ST42,ST43)したレジスタを復帰することで遊技状態を復元することが可能となる。なお、ワークエリアのデータが、数日以上バックアップされていることは前述した通りである。
ところで、タイマ割込み(図19(a))に関して説明した通り、タイマ割込み処理時は、割込み禁止状態である。また、電圧降下割込みは、NMIではなくマスク可能な通常の割込みである。そのため、例えば、タイマ割込み時に電圧降下割込みが生じても、タイマ割込みの処理(図19(a))が終わるまでは、電圧降下割込みの処理が待機されることになる。
本実施例では、このような独特の構成を採用するので、例えば、短時間に何回も電源電圧が低下して、電圧降下割込みが繰り返し発生したような場合でも、レジスタ類を何回もスタックして遊技データを破壊してしまうようなことがない。言い換えると、本実施例とは逆に、電圧降下割込みをNMIとした場合には、電圧降下割込みが短時間の間に繰り返し発生すると、遊技データその他が破壊されて制御プログラムが暴走してしまうおそれがある。
図19(c)は、この弊害を説明する図面であり、例えば、タイマ割込み時にレジスタを退避した後(ST30)にNMIが発生し、その後、電源が復旧してNMI時に退避したレジスタをメイン処理で復帰させる以前に、再度NMIが発生するようなことがあると、レジスタを退避させるスタックエリアが浪費されて、ワークエリアに保存されている遊技データその他を破壊してしまうおそれがある。一方、このような弊害を避けるためには、十分な容量のスタックエリアが必要となるが、そうすると、電源バックアップされるべきSRAMエリアの無駄使いとなる。また、スロットマシンなどの遊技機では、使用できるメモリ容量が法的に規制されているので、その意味でもスタックエリアを増加させる対策は妥当でない。
これに対して、本実施例では、電圧降下割込みをマスク可能な割込みとしているので、タイマ割込み時に退避されたレジスタに重合して、電圧降下時のレジスタが退避されることがなく、したがって、SRAMエリアの無駄使いがなく最小限のワークエリアの消費で足りる。しかも、本実施例では、AC電源の電圧低下の検出に待機時間を設けているので、短時間に繰り返してAC電源の瞬停が生じても、そのたびに割込みがかかることもない。また、ノイズなどによる電圧低下割込みがあっても、そのような異常割込みはステップST40の判定で排除される。
最後に、図18に基づいて、メイン処理の初期処理(図17のST1)について説明する。初期処理では、最初にCPUを割込み禁止状態に設定する(ST50)。本実施例では、電圧降下割込みは、NMIを使用しないので、電圧降下割込みが重複してかかっても、その割込み処理は待たされることになり、スタックエリアの無駄使いはない。なお、電圧降下割込み(図19(b))の開始が待たされても、本実施例では、交流入力電圧の低下に基づいて素早く電圧降下割込みがかかっているので、弊害が生じることはない。
続いて、異常信号ALMのレベルを判定し(ST51)、これが正常値(Lレベル)になるまで次の処理に移行しない(ST52)。そのため、電源復帰時に電源監視部85から発生する検出信号RES(機能的にはリセット信号)が、万一、Lレベルのままでも、これがHレベルに達するまで待機することになる。
図14に関して説明した通り、電源復帰時には、電源電圧にやや遅れて立ち上がる検出信号RESが発生するが、本実施例では、検出信号RESがHレベルに安定するまで(言い換えると異常信号ALMがLレベルに安定するまで)、次の処理に移行しない。そのため、万が一にも、図17のメイン処理が相当に進んだ段階で、再度、シフトレジスタSRなどを経由した異常信号ALMによってCPUがリセットされることはない。もっとも、電源復帰時に電源監視部85が生成する検出信号RESは、リセット信号部RSTの生成する電源リセット信号とほぼ同じタイミングで推移するので、通常は、ステップST51〜52の処理が機能することはない。
次に、ステップST44の処理が保存された電源断キーワードを判定し(ST53)、これが正常値か否かが判定される(ST54)。そして、万一、異常値であれば設定キーに関する処理などを行った後(ST55)、図17のステップST2に移行する。なお、設定キーは、確率的なメダル払出枚数の設定値などを係員が設定するためのキーである。
設定キーがOFF状態であれば、電源遮断前の状態(通常は前日の状態)を復元すれば足りるので、ステップST43で退避されたスタックポインタの値を復帰させ(ST58)、またバックアップされているワークエリアの値に基づいて出力ポートの状態を復元する(ST59)。
そして、電源断キーワードをゼロクリアする(ST60)。そのため、これ以降で、ウォッチドックタイマによってCPUがリセットされたような場合には、ステップST54の判定がNOとなり、ステップST2のRAMクリア処理が実行されることになる。
ステップST60の処理が終われば、レジスタを復帰させた後にCPUを割込み許可状態に設定し(ST61、ST62)、リターン命令を実行する。すると、スタックエリアに保存されていた戻りアドレスがプログラムカウンタに復帰して、電源遮断時に中断された処理が再開されることになる。
以上、本発明の実施例について具体的に説明したが、具体的な記載内容は特に本発明を限定する趣旨ではなく、適宜に変更可能である。例えば、実施例では、コンデンサによるバックアップ電源と、SRAMとを使用したが、フラッシュメモリのような不揮発性メモリを使用したのでも良いのは勿論である。