以下、本発明の実施の形態を図面を参照して説明する。
まず、遊技機の一例であるパチンコ遊技機の全体の構成について説明する。図1はパチンコ遊技機1を正面からみた正面図であり、図2はパチンコ遊技機を示す背面図である。なお、以下の説明において、図1の手前側をパチンコ遊技機の前面(表面)側、奥側を背面(裏面)側として説明する。パチンコ遊技機の前面(表面)とは、遊技者側からパチンコ遊技機1を見たときに遊技者と対向する面である。
パチンコ遊技機1は、縦長の方形状に形成された外枠100(図2参照)と、外枠100に開閉可能に取り付けられた前面枠101(図2参照)と、で主に構成されている。前面枠101の前面には、ガラス扉枠102および上皿扉枠103がそれぞれ一側を中心に開閉可能に設けられているとともに、下皿枠104が取り付けられている。また、前面枠101の背面側には、機構部品等が取り付けられる機構板105(図2参照)が一側を中心にして開閉可能に取り付けられている。
図1に示すように、ガラス扉枠102の下方に取り付けられた上皿扉枠103の前面には、遊技媒体(遊技球)としての遊技球(打球)を貯留可能な打球供給皿(上皿)3が設けられている。打球供給皿3の下方には、打球供給皿3から溢れた遊技球を貯留する余剰球受皿(下皿)4が設けられている。その側方には、遊技球を発射する打球操作ハンドル(操作ノブ)5が設けられている。ガラス扉枠102の背面には、前面枠101に対して着脱可能に取り付けられた遊技盤6が配置されている。なお、遊技盤6は、それを構成する板状体と、その板状体に取り付けられた種々の部品とを含む構造体である。また、遊技盤6の前面には遊技領域7が形成されている。
遊技領域7の中央付近には、それぞれが演出用の飾り図柄を変動表示する複数の変動表示領域を含む演出表示装置(可変表示装置)9が設けられている。また、演出表示装置9の上部には、各々を識別可能な複数種類の識別情報としての特別図柄を変動表示する特別図柄表示器(特別図柄表示装置)8が設けられている。演出表示装置9には、例えば「左」、「中」、「右」の3つの変動表示領域(図柄表示エリア)がある。演出表示装置9は、特別図柄表示器8による特別図柄の変動表示期間中に、装飾用(演出用)の図柄であって、各々を識別可能な複数種類の識別情報としての飾り図柄の変動表示を行なう。演出表示装置9は、後述する演出制御基板80に搭載されている演出制御用マイクロコンピュータ110(図3参照)によって制御される。特別図柄表示器8は表示部が小型であるので、変動表示の態様および変動表示の表示結果は、演出表示装置9の表示結果に比べて見づらい。よって、遊技者は主として演出表示装置9の方に注目する。
特別図柄表示器8は、例えば0〜9の数字を変動表示可能な簡易で小型の表示器(例えば7セグメントLED)で実現されている。特別図柄表示器8は、遊技者に当りの種類を把握しづらくさせるために、0〜99など、より多種類の数字を変動表示するように構成されていてもよい。また、演出表示装置9は、例えば、液晶表示装置で実現される。演出表示装置9は、特別図柄表示器8による特別図柄の変動表示期間中に、飾り図柄の変動表示を行なう。
演出表示装置9の下方には、遊技球を受け入れ可能な入賞領域としての第1始動口15aおよび第2始動口15bを有する始動入賞装置15が設けられている。始動入賞装置15において、上部に第1始動口15aが設けられ、その下部に第2始動口15bが設けられている。第2始動口15bの左右には、開閉動作をすることが可能な態様で一対の可動片13が設けられている。第1始動口15aは、常に遊技球の進入(受け入れ)が可能な状態になっている。第2始動口15bの上方に第1始動口15aの周囲の構造物が設けられ、左右に可動片13が設けられているので、第2始動口15bは、可動片13が閉状態であるときに遊技球の進入(受け入れ)が不可能な状態になり、可動片13が開状態であるときに遊技球の進入(受け入れ)が可能な状態になる。
なお、始動入賞装置15は、可動片13が閉状態になっている状態において、第2始動口15bに入賞はしづらいものの、入賞することは可能である(すなわち、遊技球が入賞しにくい)ように構成されていてもよい。また、始動口として、入賞のしやすさが変化しない第1始動口15aのみが設けられていてもよく、可動片13の開閉動作によって入賞のしやすさが変化する第2始動口15bのみが設けられていてもよい。
始動入賞装置15の可動片13は、所定の開放条件が成立したときに、ソレノイド(普通電動役物ソレノイド)16によって駆動されることによって閉状態から所定期間開状態にされた後、閉状態にされる。始動入賞装置15の可動片13が開状態になることによって、遊技球が第2始動口15bに入賞し易くなる(始動入賞し易くなり)。また、始動入賞装置15の可動片13が閉状態になることによって、遊技球が第2始動口15bに入賞しなくなる(始動入賞しにくくなり)。第1始動口15aに入った入賞球は、遊技盤6の背面に導かれ、第1始動口スイッチ14aによって検出される。また、第2始動口15bに入った入賞球は、遊技盤6の背面に導かれ、第2始動口スイッチ14bによって検出される。
演出表示装置9の下部には、第1始動口15aまたは第2始動口15bに入った有効入賞球の記憶数すなわち保留記憶(始動記憶または始動入賞記憶ともいう)数を表示する4つの特別図柄保留記憶表示器18が設けられている。特別図柄保留記憶表示器18は、保留記憶数を入賞順に4個まで表示する。特別図柄保留記憶表示器18は、第1始動口15aまたは第2始動口15bに始動入賞があるごとに、点灯状態のLEDの数を1増やす。そして、特別図柄保留記憶表示器18は、特別図柄表示器8で変動表示が開始されるごとに、点灯状態のLEDの数を1減らす(すなわち1つのLEDを消灯する)。具体的には、特別図柄保留記憶表示器18は、特別図柄表示器8で変動表示が開始されるごとに、点灯状態をシフトする。なお、この例では、第1始動口15aまたは第2始動口15bへの入賞による保留記憶数に上限数(4個まで)が設けられているが、保留記憶数の上限数を、4個以上の値にしてもよく、4個よりも少ない値にしてもよい。
始動入賞装置15の下部には、ソレノイド(大入賞口扉ソレノイド)21によって開閉される開閉板を用いた特別可変入賞球装置20が設けられている。特別可変入賞球装置20は、開閉板によって開閉される大入賞口を形成する。大当り遊技状態において開閉板が遊技者にとって有利な開状態(第1の状態)に制御され、大当り遊技状態以外の状態において開閉板が遊技者にとって不利な閉状態(第2の状態)に制御される。大入賞口に入賞した遊技球は、カウントスイッチ23で検出される。
遊技球がゲート32を通過しゲートスイッチ32aで検出されると、普通図柄を変動表示する普通図柄表示器10における変動表示が開始される。この実施の形態では、左右のLED(点灯時に図柄が視認可能になる)が交互に点灯することによって変動表示が行なわれ、例えば、変動表示の終了時に左側のLEDが点灯すれば当りになる。そして、普通図柄表示器10における停止図柄が所定の図柄(当り図柄)になると、始動入賞装置15の可動片13の開放条件が成立し、始動入賞装置15における可動片13が所定回数、所定時間だけ開状態になる。普通図柄表示器10の近傍には、ゲート32を通過した有効通過球の記憶数、すなわち、始動通過記憶数を表示する4つのLEDによる普通図柄始動記憶表示器41が設けられている。ゲート32への遊技球の通過があるごとに、普通図柄始動記憶表示器41は点灯するLEDを1増やす。そして、普通図柄表示器10における変動表示が開始されるごとに、点灯するLEDを1減らす。
遊技盤6には、遊技球を受け入れて入賞を許容する入賞領域として、第1通常入賞口29および第2通常入賞口30が設けられる。第1通常入賞口29への遊技球の入賞は、入賞口スイッチ(第1通常入賞口スイッチ)29aによって検出される。第2通常入賞口30への遊技球の入賞は、入賞口スイッチ(第2通常入賞口スイッチ)30aによって検出される。なお、第1始動口15a、第2始動口15b、および、大入賞口も、遊技球を受け入れて入賞を許容する入賞領域を構成する。また、遊技領域7の左右周辺には、遊技中に点滅表示される装飾LED25が設けられ、下部には、入賞しなかった遊技球を回収するアウト口26がある。
遊技領域7の外側の左右上部には、効果音を発する2つのスピーカ27が設けられている。遊技領域7の外周には、天枠LED28a(図3参照)が内蔵される天枠発光部28Hと、左枠LED28b(図3参照)が内蔵される左発光部28Lおよび右枠LED28c(図3参照)が内蔵される右発光部28Rが設けられている。さらに、遊技領域7における各構造物(大入賞口等)の周囲には装飾LEDが設置されている。これら天枠LED28a、左枠LED28bおよび右枠LED28cおよび装飾用LEDは、パチンコ遊技機1に設けられている装飾発光体の一例である。なお、上述した演出用(装飾用)の各種LEDの他にも演出のためのLEDやランプが設置されている。
そして、この例では、左発光部28Lの所定箇所に、賞球払出中に点灯する賞球LED51が設けられ、右枠LED28cの所定箇所に、補給球が切れたときに点灯する球切れLED52が設けられている。さらに、プリペイドカードが挿入されることによって球貸しを可能にするプリペイドカードユニット(以下、「カードユニット」という。)50が、パチンコ遊技機1に隣接して設置されている。
上皿扉枠103の前面における打球供給皿3の左右側方から打球供給皿3の左右側面にかけて、供給皿左LED300aを有する供給皿左発光部300Lと、供給皿右LED300bを有する供給皿右発光部300Rとが設けられている。打球供給皿3の前面には、打球供給皿3の内部に設けられた供給皿前LED301aを有する供給皿前発光部301が設けられている。さらに、余剰球受皿4の周縁上面には、受皿発光部302が設けられている。受皿発光部302は、余剰球受皿4の内部に設けられた受皿LED302aを含む。
装飾LED25、天枠LED28a、左枠LED28b、右枠LED28c、供給皿左LED300a、供給皿右LED300b、供給皿左右外LED300c、供給皿前LED301a、受皿LED302a等の各種発光手段には、LEDドライバ基板35から点灯のための駆動信号が供給される。また、スピーカ27には、音声出力基板70から音声出力信号が供給される。
遊技者の操作に応じて打球発射装置から発射された遊技球は、打球レールを通って遊技領域7に入り、その後、遊技領域7を下りてくる。遊技球が、第1始動口15aに入り第1始動口スイッチ14aで検出されるか、または、第2始動口15bに入り第2始動口スイッチ14bで検出されると、特別図柄の変動表示を開始できる状態であれば、特別図柄表示器8において特別図柄が変動表示を始める。特別図柄の変動表示を開始できる状態でなければ、保留記憶数を1増やす。
特別図柄表示器8における特別図柄の変動表示は、所定の変動時間(変動開始時から表示結果の導出表示時までの時間)が経過したときに停止する。停止時の特別図柄(停止図柄)が大当り図柄であると、大当り遊技状態に移行する。大当り遊技状態においては、特別可変入賞球装置20による大入賞口が、一定時間経過するまで、または、所定個数(例えば10個)の遊技球が入賞するまで開放する開放制御が行われる。開放制御は、所定回(所定ラウンド:例えば15ラウンド)継続する。なお、大入賞口の開放中に大入賞口内に設けられているV入賞領域に入賞したことを条件に、次ラウンドが開始されるようにしてもよい。
停止時の特別図柄表示器8における特別図柄が大当り図柄のうちのあらかじめ定められた特別な大当り図柄(確変大当り図柄)である場合には、大当り遊技状態後に大当りとすると判定される確率が、通常状態であるときに比べて高くなる確率変動状態(確変状態:高確率状態ともいう、)という遊技者にとってさらに有利な状態になる。
また、高確率状態では、普通図柄表示器10の変動時間(変動開始時から表示結果の導出表示時までの時間)を短縮して早期に表示結果を導出表示させる制御も行われる。さらに、普通図柄表示器10における停止図柄が当り図柄になる確率が高められるとともに、始動入賞装置15の可動片13の開放時間が長くされ、かつ、開放回数が増加する。また、大当り遊技が終了すると、所定期間、時短状態に制御される。時短状態は、特別図柄の変動(可変表示)が所定回数(100回)行なわれるまで継続する。
次に、パチンコ遊技機1の裏面の構造について図2を参照して説明する。図2に示すように、パチンコ遊技機1裏面側では、演出表示装置9を制御する演出制御用マイクロコンピュータが搭載された演出制御基板80を含む変動表示制御ユニット49、遊技制御用マイクロコンピュータ等が搭載された遊技制御基板(主基板)31、音声出力基板70、LEDドライバ基板(図示せず)、および、球払出制御を行なう払出制御用マイクロコンピュータ等が搭載された払出制御基板37等の各種基板が設置されている。なお、遊技制御基板31は基板収納ケース200に収納されている。
さらに、パチンコ遊技機1裏面側には、DC30V、DC21V、DC12VおよびDC5V等の各種電源電圧を作成する電源回路が搭載された電源基板910やタッチセンサ基板91Aが設けられている。電源基板910には、パチンコ遊技機1における遊技制御基板31および各電気部品制御基板(演出制御基板80および払出制御基板37)やパチンコ遊技機1に設けられている各電気部品(電力が供給されることによって動作する部品)への電力供給を実行あるいは遮断するための電力供給許可手段としての電源スイッチが設けられている。さらに、電源スイッチの内側(基板内部側)には、交換可能なヒューズが設けられている。
なお、電気部品制御基板には、電気部品制御用マイクロコンピュータを含む電気部品制御手段が搭載されている。電気部品制御手段は、遊技制御手段等からのコマンドとしての指令信号(制御信号)に従ってパチンコ遊技機1に設けられている電気部品(遊技用装置:球払出装置97、演出表示装置9、LEDなどの発光体、スピーカ27等)を制御する。以下、遊技制御基板31を電気部品制御基板に含めて説明を行なうことがある。その場合には、電気部品制御基板に搭載される電気部品制御手段は、遊技制御手段と、遊技制御手段等からの指令信号に従ってパチンコ遊技機1に設けられている電気部品を制御する手段とのそれぞれを指す。また、遊技制御基板31以外のマイクロコンピュータが搭載された基板をサブ基板ということがある。
パチンコ遊技機1裏面において、上方には、各種情報をパチンコ遊技機1の外部に出力するための各端子を備えたターミナル基板159が設置されている。ターミナル基板159には、少なくとも、球切れ検出スイッチ167の出力を導入して外部出力するための球切れ用端子、賞球情報(賞球個数信号)を外部出力するための賞球用端子および球貸し情報(球貸し個数信号)を外部出力するための球貸し用端子が設けられている。また、中央付近には、遊技制御基板31からの各種情報をパチンコ遊技機1外部に出力するための各端子を備えた情報端子板(盤用外部端子板)36が設置されている。
貯留タンク38に貯留された遊技球は誘導レール(図示せず)を通り、カーブ樋を経て払出ケース40Aで覆われた球払出装置97に至る。球払出装置97の上方には、遊技媒体切れ検出手段としての球切れスイッチ187が設けられている。球切れスイッチ187が球切れを検出すると、球払出装置97の払出動作が停止する。球切れスイッチ187は遊技球通路内の遊技球の有無を検出するスイッチであるが、貯留タンク38内の補給球の不足を検出する球切れ検出スイッチ167も誘導レールにおける上流部分(貯留タンク38に近接する部分)に設けられている。球切れ検出スイッチ167が遊技球の不足を検知すると、遊技機設置島に設けられている補給機構からパチンコ遊技機1に対して遊技球の補給が行なわれる。
入賞にもとづく景品としての遊技球や球貸し要求にもとづく遊技球が多数払出されて打球供給皿3が満杯になると、遊技球は、余剰球誘導通路を経て余剰球受皿4に導かれる。さらに遊技球が払出されると、感知レバー(図示せず)が貯留状態検出手段としての満タンスイッチ48(図3参照)を押圧して、貯留状態検出手段としての満タンスイッチ48がオンする。その状態では、球払出装置内の払出モータの回転が停止して球払出装置の動作が停止するとともに打球発射装置の駆動も停止する。
図3は、遊技制御基板31における回路構成の一例を示すブロック図である。なお、図3には、パチンコ遊技機1に搭載されている払出制御基板37、LEDドライバ基板35、音声出力基板70、インタフェース基板66、中継基板77、および、演出制御基板80も示されている。主基板(遊技制御基板)31には、プログラムに従ってパチンコ遊技機1を制御する基本回路(遊技制御手段に相当)となる遊技制御用マイクロコンピュータ560と、ゲートスイッチ32a、第1始動口スイッチ14a、第2始動口スイッチ14b、カウントスイッチ23、入賞口スイッチ(普通入賞口スイッチ)29a,30aを遊技制御用マイクロコンピュータ560に与える入力ドライバ回路58と、始動入賞装置15の可動片13を開閉するソレノイド16、および特別可変入賞球装置20を開閉するソレノイド21を遊技制御用マイクロコンピュータ560からの指令に従って駆動する出力回路59と、遊技制御用マイクロコンピュータ560からの指令に従って各種の情報信号をホール管理コンピュータ等のパチンコ遊技機1の外部に設けられた装置に出力する情報出力回路53とが搭載されている。情報出力回路53から出力された情報信号は、情報端子基板36を介して、パチンコ遊技機1の外部(例えば、遊技機の遊技データを収集するホールコンピュータ)に出力される。
情報出力回路53から出力される情報信号として、例えば、大当り1情報信号、大当り2情報信号、大当り3情報信号、高確率情報信号、時短情報信号、第1始動情報信号、第2始動情報信号がある。
大当り1情報信号、大当り2情報信号および大当り3情報信号は、大当りの発生を示す信号であるが、それぞれ、確変大当り、非確変大当り等の大当りの種類を示す情報を含む。高確率情報信号は、確変状態であるか否かを示す信号である。時短情報信号は、時短状態であるか否かを示す信号である。第1始動情報信号は、第1始動口15aに遊技球が入賞したことを示す信号である。第2始動情報信号は、第2始動口15bに遊技球が入賞したことを示す信号である。
なお、ゲートスイッチ32a、第1始動口スイッチ14a、第2始動口スイッチ14b、カウントスイッチ23、入賞口スイッチ29a,30a等のスイッチは、センサと称されているものでもよい。すなわち、遊技球を検出できる遊技媒体検出手段(この例では遊技球検出手段)であれば、その名称を問わない。入賞検出を行なう第1始動口スイッチ14a、第2始動口スイッチ14b、カウントスイッチ23、入賞口スイッチ29a,30aは、遊技球の入賞を検出する入賞検出手段でもある。
なお、ゲート32のような通過ゲートであっても、賞球の払出しが行なわれるものであれば、通過ゲートへ遊技球が進入することが入賞になる。その場合には、通過ゲートに設けられているスイッチ(例えばゲートスイッチ32a)が入賞検出手段になる。
遊技制御用マイクロコンピュータ560は、ゲーム制御(遊技進行制御)用のプログラム等を記憶するROM54、ワークメモリとして使用される記憶手段(変動データを記憶する変動データ記憶手段)としてのRAM55、およびプログラムに従って制御動作を行なうプロセッサであるCPU56、および、I/Oポート57を含む。遊技制御用マイクロコンピュータ560は、1チップマイクロコンピュータである。なお、1チップマイクロコンピュータは、CPU56の他に少なくともRAM55が内蔵されていればよい。また、ROM54およびI/Oポート57は、外付けであっても内蔵されていてもよい。また、I/Oポート部57は、外付けであってもよい。遊技制御用マイクロコンピュータ560には、さらに、ハードウェア乱数(ハードウェア回路が発生する乱数)を発生する乱数回路503が内蔵されている。
遊技制御用マイクロコンピュータ560においては、CPU56がROM54に格納されているプログラムに従って制御を実行する。従って、以下に説明するような遊技制御用マイクロコンピュータ560が実行する(または、処理を行なう)ということは、具体的にはCPU56がプログラムに従って制御を実行することである。このことは、遊技制御基板31以外の他の基板に搭載されているマイクロコンピュータについても同様である。また、遊技制御手段は、CPU56を含む遊技制御用マイクロコンピュータ560で実現されている。
乱数回路503は、特別図柄の可変表示の表示結果により大当りとするか否か判定するための判定用の乱数を発生するために用いられるハードウェア回路である。乱数回路503は、初期値(例えば、0)と上限値(例えば、65535)とが設定された数値範囲内で、数値データを、設定された更新規則に従って更新し、ランダムなタイミングで発生する始動入賞時が数値データの読出(抽出)時であることにもとづいて、読出される数値データが乱数値となる乱数発生機能を有する。
遊技制御用マイクロコンピュータ560は、第1始動口スイッチ14aまたは第2始動口スイッチ14bへの始動入賞が生じたときに乱数回路503から数値データをランダムRとして読み出し、ランダムRにもとづいて特定の表示結果としての大当り表示結果にするか否か、すなわち、大当りとするか否かを判定する。そして、大当りとすると判定したときに、遊技状態を遊技者にとって有利な特定遊技状態としての大当り遊技状態に移行させる。
乱数回路503は、数値データの更新範囲の選択設定機能(初期値の選択設定機能、および、上限値の選択設定機能)、数値データの更新規則の選択設定機能、および数値データの更新規則の選択切換え機能等の各種の機能を有する。このような機能によって、生成する乱数のランダム性を向上させることができる。
また、遊技制御用マイクロコンピュータ560は、乱数回路503が更新する数値データの初期値を設定する機能を有している。例えば、ROM54等の所定の記憶領域に記憶された遊技制御用マイクロコンピュータ560のIDナンバ(遊技制御用マイクロコンピュータ560の各製品ごとに異なる数値で付与されたIDナンバ)を用いて所定の演算を行なって得られた数値データを、乱数回路503が更新する数値データの初期値として設定する。そのような処理を行うことによって、乱数回路503が発生する乱数のランダム性をより向上させることができる。
また、RAM55は、その一部または全部が電源基板910において作成されるバックアップ電源によってバックアップされている不揮発性記憶手段としてのバックアップRAMである。すなわち、パチンコ遊技機1に対する電源電力の供給が停止したときである電源断時でも、所定期間(バックアップ電源としてのコンデンサが放電してバックアップ電源が電力供給不能になるまで)は、RAM55の一部または全部の内容は保存される。特に、少なくとも、遊技の制御状態に応じたデータ(特別図柄プロセスフラグ等)と未払出賞球数を示すデータとは、バックアップデータとして、RAM55に保存される。制御状態に応じたデータとは、停電等が生じた後に復旧した場合に、そのデータにもとづいて、制御状態を停電等の発生前に復旧させるために必要なデータである。また、制御状態に応じたデータと未払出賞球数を示すデータとを、遊技の進行状態を示すデータと定義する。この実施の形態では、RAM55の全部の記憶領域が、電源バックアップされているとする。
遊技制御用マイクロコンピュータ560のリセット端子には、電源基板910からのリセット信号が入力される。なお、リセット信号がハイレベルになると遊技制御用マイクロコンピュータ560は動作可能状態になり、リセット信号がローレベルになると遊技制御用マイクロコンピュータ560は動作停止状態になる。なお、リセット回路をそれぞれの電気部品制御基板(遊技制御基板31を含む)に搭載してもよいし、複数の電気部品制御基板のうち一つまたは複数にリセット回路を搭載し、そこからリセット信号を他の電気部品制御基板に供給するようにしてもよい。
さらに、電源基板910からの電源電圧が所定値以下に低下したことを示す電源断信号が遊技制御用マイクロコンピュータ560に入力される。電源断信号は、遊技制御用マイクロコンピュータ560の入力ポートに入力される。また、遊技制御用マイクロコンピュータ560の入力ポートには、RAMの内容をクリアすることを指示するためのクリアスイッチが操作されたことを示すクリア信号が入力される。
図3に示すように、主基板31には、照合機365を接続することが可能である。照合機365は、主基板31が正規の基板であるか否かを、主基板31に一意に付与されている基板ID(例えば、遊技制御用マイクロコンピュータ560固有のIDナンバ)にもとづいて判定し、判定結果を表示する機器である。主基板31が備えるROM54には、主基板31自身に一意に与えられている基板IDが登録されている。照合機365には、主基板31に一意に付与されている基板IDがあらかじめ格納されている。照合機365は、主基板31から照合端子364(図46参照)を介して送られてきた基板IDと、自己が保存している主基板31の基板IDとを照合し、一致すれば照合OK側のランプを点灯させ、一致しなければ照合NG側のランプを点灯させる。
図4は、中継基板177、演出制御基板80、LEDドライバ基板35および音声出力基板70の回路構成例を示すブロック図である。なお、図4に示す例では、ランプドライバ基板35および音声出力基板70には、マイクロコンピュータは搭載されていないが、マイクロコンピュータを搭載してもよい。また、LEDドライバ基板35および音声出力基板70を設けずに、演出制御に関して演出制御基板80のみを設けてもよい。また、ここでは、LEDドライバ基板35を例示するが、遊技機に設けられているLED以外の発光体(ランプ等)を駆動する回路も搭載されている場合には、ランプドライバ基板とも表現される。
演出制御基板80は、演出制御用CPU101、ROMおよびRAMを含む演出制御用マイクロコンピュータ110を搭載している。なお、ROMおよびRAMは外付けであってもよい。演出制御基板80において、演出制御用CPU101は、内蔵または外付けのROM(図示せず)に格納されたプログラムに従って動作し、中継基板177を介して入力される主基板31からの取込信号(演出制御INT信号)に応じて、入力ドライバ102および入力ポート103を介して演出制御コマンドを受信する。また、演出制御用CPU101は、演出制御コマンドにもとづいて、VDP(ビデオディスプレイプロセッサ)109に、演出表示装置9の表示制御を行わせる。
演出制御コマンドおよび演出制御INT信号は、演出制御基板80において、まず、入力ドライバ102に入力する。入力ドライバ102は、中継基板177から入力された信号を演出制御基板80の内部に向かう方向にしか通過させない(演出制御基板80の内部から中継基板177への方向には信号を通過させない)信号方向規制手段としての単方向性回路でもある。
さらに、中継基板177には、主基板31から入力された信号を演出制御基板80に向かう方向にしか通過させない(演出制御基板80から中継基板77への方向には信号を通過させない)信号方向規制手段としての単方向性回路177Aが搭載されている。単方向性回路として、例えばダイオードやトランジスタが使用される。図4には、ダイオードが例示されている。また、単方向性回路は、各信号毎に設けられる。さらに、単方向性回路である出力ポート571を介して主基板31から演出制御コマンドおよび演出制御INT信号が出力されるので、中継基板177から主基板31の内部に向かう信号が規制される。すなわち、中継基板177からの信号は主基板31の内部(遊技制御用マイクロコンピュータ560側)に入り込まない。なお、出力ポート571は、図3に示されたI/Oポート部57の一部である。また、出力ポート571の外側(中継基板77側)に、さらに、単方向性回路である信号ドライバ回路が設けられていてもよい。
さらに、演出制御用CPU101は、出力ポート105を介してLEDドライバ基板35に対してLEDを駆動する信号を出力する。また、演出制御用CPU101は、出力ポート104を介して音声出力基板70に対して音番号データを出力する。
LEDドライバ基板35において、LEDを駆動する信号は、入力ドライバ381を介してLEDドライバ382に入力される。LEDドライバ382は、LEDを駆動する信号を増幅して天枠LED28a、左枠LED28b、右枠LED28c、供給皿左LED300a、供給皿右LED300b、供給皿左右外LED300c、供給皿前LED301a、受皿LED302aなどの枠側に設けられている各ランプに供給する。また、枠側に設けられている装飾LED25に供給する。
音声出力基板70において、音番号データは、入力ドライバ702を介して音声合成用IC703に入力される。音声合成用IC703は、音番号データに応じた音声や効果音を発生し増幅回路705に出力する。増幅回路705は、音声合成用IC703の出力レベルを、ボリューム706で設定されている音量に応じたレベルに増幅した音声信号をスピーカ27に出力する。音声データROM704には、音番号データに応じた制御データが格納されている。音番号データに応じた制御データは、所定期間(例えば飾り図柄の変動期間)における効果音または音声の出力態様を時系列的に示すデータの集まりである。
演出制御用CPU101は、受信した演出制御コマンドに従ってキャラクタROM(図示せず)から必要なデータを読み出す。キャラクタROMは、演出表示装置9に表示されるキャラクタ画像データ、具体的には、人物、文字、図形または記号等(飾り図柄、背景図柄を含む)をあらかじめ格納しておくためのものである。演出制御用CPU101は、キャラクタROMから読み出したデータをVDP109に出力する。VDP109は、演出制御用CPU101から入力されたデータにもとづいて表示制御を実行する。
この実施の形態では、演出制御用マイクロコンピュータ110と共動して演出表示装置9の表示制御を行うVDP109が演出制御基板80に搭載されている。VDP109は、演出制御用マイクロコンピュータ110とは独立したアドレス空間を有し、そこにVRAMをマッピングする。VRAMは、VDPによって生成された画像データを展開するためのバッファメモリである。そして、VDP109は、VRAM内の画像データを演出表示装置9に出力する。
次に、主基板31を収納する基板収納ケース200の構造を説明する。図5は、基板収納ケースを示す分解斜視図であり、図6(a)は、図5に示された基板収納ケース200の要部を示す拡大斜視図であり、図6(b)は、図6(a)に示されたケース本体の要部を示す平面図である。図7は、基板収納ケース200および主基板31の組み付け状態を示す分解斜視図である。図8は、ケースカバー202に対する主基板31の取り付け状態を示す斜視図である。図9は、配線側コネクタの接続状況を示す斜視図である。図10は、コネクタ規制部材の取り付け状況を示す斜視図である。図11は、ケース本体201とケースカバー202とを閉鎖した状態を示す縦断面図である。図12は、基板収納ケース200の封止状態を示す斜視図である。図13は、図12に示す基板収納ケース200のA−A断面を示す断面図である。図14は、基板収納ケース200を示す一部破断側面図である。図15(a)は、図14に示す基板収納ケース200のB−B断面を示す断面図である。図15(b)は、図14に示す基板収納ケース200のC−C断面を示す断面図である。
基板収納ケース200は、図5に示すように、主基板31の裏面側を覆うケース本体201と、主基板31の実装面31a(図11参照)側を覆うケースカバー202とを含み、主基板31を挟持するように組み付けられる。なお、主基板31の実装面31aには、遊技制御用マイクロコンピュータ560等の電子部品や、他の基板から延出された配線の一端に設けられた配線側コネクタ等が接続される基板側コネクタ238a〜238c等が実装されている。なお、この実施の形態では、3つの基板側コネクタ238a〜238cが例示されているが、実装されるコネクタの数は任意であり、実際には3つ以上のコネクタが実装されることがある。
また、基板収納ケース200は、ケースカバー201の外側に装着され、基板側コネクタ238a〜238cに接続される配線側コネクタ(ハーネス側コネクタ)290a〜290cの抜脱を防止するためのコネクタ規制部材500を備えている。なお、主基板31は、ケースカバー202の裏面側に取り付けられた状態で基板収納ケース200の内部に封止状態で収納される。
ケース本体201は、透明な合成樹脂からなり、略長方形状に形成される底板201aと、底板201aの周囲を囲むように形成された側壁203〜206とで、上面が開放する直方体状に成形されている。側壁205、206の内面には、図12に示す封止状態(閉鎖状態)において主基板31の裏面周囲を支持する上下方向を向く支持リブ207が複数形成されている。また、側壁203および閉塞壁216の内面における長手方向の中央位置には、ケースカバー202を位置決めするための上下方向を向く位置決め用リブ270が形成されている。
一方の短辺の側壁203は、図6(a)に示すように、長手方向の略中央に位置する中央側壁203aと、中央側壁203aの左右側方に位置する膨出壁203b,203cと、中央側壁203aと膨出壁203b,203cとを連接する連接壁203dとで、略凹状に形成されている。つまり、膨出壁203b,203cと連接壁203dとで、中央側壁203aの長手方向の左右側に、本体内部側から外側に向けて膨出する略長方形状の膨出部208a,208bが形成されている。
膨出部208a,208bの内部は、ケース本体201の内部に形成される略長方形状の基板収納空間S1(図6(b)において2点鎖線で囲まれる領域)にそれぞれ連通する膨出空間S2,S3が形成されている。つまり、内部が中空状に構成されている。一方の膨出部208aの膨出空間S2内には、複数(この実施の形態では3本)の予備用ワンウェイねじ281を収納するねじ収納部209が設けられている。
ねじ収納部209は、図6(b)に示すように、ケース本体201の底板201aから立設される側壁203よりも若干低い板状部209aと、板状部209aの長手方向に向けて所定間隔おきに形成される複数の筒状部209bとで構成される。各筒状部209bには、予備用ワンウェイねじ281のねじ部の直径よりも若干大径で、かつ、頭部の直径よりも小径の所定深さの挿入孔209cが形成されている。挿入孔209cには、上面開口から予備用ワンウェイねじ281を挿通して収納できる(図15(a)参照)。
板状部209aは、長手方向の両端が、それぞれ側壁206および連接壁203dの内面に連設されている。また、板状部209aは、膨出壁203bに対して平行に、基板収納空間S1と膨出空間S2とを区画するように配設されている。また、膨出壁203b,203cの下部には、ケースカバー202の係止爪251を係止可能な係止穴210がそれぞれ形成されている(図15(a)参照)。
予備用ワンウェイねじ281は、一方向の回転によってねじ止めされる。しかし、他方向に回転させようとしても回転させることができない、すなわち、そのねじを緩めることができない機能を有するねじである(図6参照)。具体的には、外周に雄ねじ部が形成されたねじ部283と、ねじ部283の上端に設けられる頭部284とで構成され、ねじ部283の直径よりも頭部284の直径の方が大径になっている(図15(a)参照)。なお、ワンウェイねじ280も予備用ワンウェイねじ281と同様に構成されている。
中央側壁203aの外側には、ワンウェイねじ280がねじ止めされる複数(この実施の形態では4つ)のねじ孔211a〜211dが形成される第2被固着部212が形成されている。被固着部212は、図6および図14に示すように、中央側壁203aの外側における両連接壁203d,203d間に架設されるとともに、ねじ孔211a〜211dが長手方向に向けて所定間隔おきに形成された固着片212aと、固着片212aの下面における各ねじ孔211a〜211dに対応する箇所から垂下される筒状部212bとで構成され、ねじ孔211a〜211dは、固着片212aから筒状部212bにかけて所定深さに形成されている。
固着片212aは、側壁203に連設されている。固着片212aにおける3辺が、側壁203における中央側壁203aおよび両連接壁203dに接している。また、固着片212aにおける中央側壁203aの反対側の長辺が、膨出壁203b,203dと同じ平面上にくるように形成されている。つまり、両サイドの膨出部208a,208bよりも外側に突出しないように形成されている。よって、誤ってケース本体201を落下した場合でも、第2被固着部212が両サイドの膨出部208a,208bによって保護されて損傷しない。
他方の短寸の側壁204には、図5および図11に示すように、その上端から内向きに連設される内向片204aと、内向片204aの先端から下方に垂れ下がるように形成されている垂下片204bとが連設されている。側壁204、内向片204aおよび垂下片204bの内面によって、ケースカバー202の回動枢支片を係止する下向きに開口する被係止凹部215(図11参照)が長手方向に向けて形成されている。
また、図11に示すように、底板201aにおける被係止凹部215の下方には開口が形成されている。そして、開口端縁部から、側壁204よりも高さが低い閉塞壁216が立ち上がるように設けられ、封止状態においてケースカバー202の側壁下端と底板201aの上面との間が外側から被覆される。
底板201aの下面には、ケース本体201をパチンコ遊技機1に設けられる基板収納ケース取付板(図示略)に取り付ける際に、基板収納ケース取付板に係止可能な複数の取付板用係止爪217と、取り付けの際における位置決め用の位置決め片218とが突出するように設けられている。
ケースカバー202は、透明な合成樹脂で形成され、図5および図6(a)に示すように、略長方形状に形成される上板220と、上板220の周縁辺のうちの3つの縁辺を囲むように形成された側壁230〜232とによって下面が開放する直方体状に形成されている。上板220における2つの長辺のうち一方側は、長手方向に向けて下方に凹設され、上板220の一部に所定幅を有する帯状の凹部234が形成されている。
具体的には、上板220は、図7および図13に示すように、実装面31aとの対向面(裏面)が実装面31にほぼ当接する位置に設けられている低被覆面部220aと、低被覆面部220aよりも実装面31aから離間した位置に設けられる高被覆面部220bと、低被覆面部220aと高被覆面部220bとを連設する傾斜被覆面部220cとで構成され、低被覆面部220aおよび傾斜被覆面部220cによって凹部234が形成されている。
低被覆面部220aは、図7に示すように、平面視略長方形状に形成された主基板31の実装面31aにおける一方の長辺に沿うように形成された帯状のコネクタ実装領域S10(図7において斜線で示される領域)を被覆するとともに、コネクタ実装領域S10に実装された複数の基板側コネクタ238a〜238cの接続口238dおよび本体上部を通してケースカバー202の外部に通過させるためのコネクタ用開口236a〜236cが形成されている。
また、低被覆面部220aの裏面は、主基板31が取り付けられた状態で、図13に示すように主基板31の実装面31aにほぼ当接する。なお、各コネクタ用開口236a〜236cにおいて、開口端縁と各種コネクタ238a〜238cの本体側面との間から針金等の異物や配線等が容易に入れないように、開口端縁と各種コネクタ238a〜238cの本体側面との間は、例えば約1mm以内の隙間となるように形成されている。
高被覆面部220bは、主基板31の実装面31aにおけるコネクタ実装領域S10以外のメイン部品実装領域(図中斜線で示される領域以外の領域)すなわち遊技制御用マイクロコンピュータ560等の電子部品や各種回路等が実装される領域の上方を被覆するために、低被覆面部220aよりも高い位置、つまり低被覆面部220aに比べて実装面31aから離れた位置に配置される。
傾斜被覆面部220cは、高被覆面部220bの一側縁から低被覆面部220aの一側縁に向けて下方に傾斜するように設けられている。高被覆面部220b側の上部には、コネクタ規制部材500に形成された複数の係止爪501が係合される複数の係合穴502が長手方向に向けて所定間隔おきに形成されている。
上板220の裏面四隅には、図8に示すように、主基板31を取り付けるための基板取付ねじ239が取り付けられるねじ孔240aを有する取付用支柱240が一方の対角線上に2つ突出するように設けられている。また、取り付けの際の位置決め用の位置決め用凸部241が他方の対角線上に2つ突出するように設けられ、ケースカバー202の裏面側に主基板31を取り付けできるようになっている。
主基板31を取り付けるときには、主基板31の実装面31aをケースカバー202の裏面に対向させた状態、つまり実装面31aを上方に向けた状態でケースカバー202の裏面側に主基板31を押し当てる。そして、各コネクタ用開口236a〜236cから各コネクタ238a〜238cが通過するように、主基板31における位置決め用凸部241に対応する2つの角部に形成された位置決め孔243をそれぞれ位置決め用凸部241内に挿通して位置決めした状態で、主基板31の取付用支柱240に対応する2つの角部に形成されたねじ取付孔242に基板取付ねじ239を取り付け、ねじ孔240aに基板取付ねじ239をねじ止めする。
ケースカバー202に主基板31を取り付けた状態において、上板220における低被覆面220aの裏面と実装面31aとが対向してほぼ当接した状態となる(図13参照)。よって、各コネクタ用開口236a〜236cの開口端縁と各種コネクタ238a〜238cの本体側面との間から針金等の異物や配線等を差し込んでも、遊技制御用マイクロコンピュータ等が実装されている主基板31の中央部に向けて進入することが困難であり、不正行為が効果的に防止される。
また、高被覆面220bの裏面所定箇所には、ワンウェイねじ280の頭部284を被覆するキャップ244が複数繋げられたキャップ吊支体245(図7における拡大図参照)を保持する四角柱状のキャップ保持部(図示略)が下向きに設けられている。キャップ吊支体245におけるキャップ244は、封止の際に使用するワンウェイねじ280および予備用ワンウェイねじ281の頭部284を被覆するものであり、ワンウェイねじ280および予備用ワンウェイねじ281の合計数(4個)のキャップを有している。
なお、各キャップ244には下端に係止爪が形成された一対の係止片が設けられている。係止爪を被固着部255a〜255dの内面に形成された段部に係止することによって、キャップ244は、被固着部255a〜255dの上面開口を閉塞するように保持される。
上板220の上面には、図5に示すように、パチンコ遊技機1の機種名を記した機種名シール(図示略)を貼着するための機種名表示用凹部247と、主基板31を検査した際に書き込む「検査者」や「検査日」等の各項目が記された検査履歴シール(図示略)を貼着するための検査名表示用凹部248が設けられている。
側壁230におけるケース本体201側の膨出部208a,208bに対応する箇所には、膨出部208a,208bよりも一回り小さい膨出部カバー250a,250bが外側に向けて膨出するように形成されている。膨出部カバー250a,250bは、封止状態において膨出部208a,208bを構成する膨出壁203b,203cおよび連接壁203dよりも内側に入り込み、膨出空間S2,S3の上方を閉塞する。
膨出部カバー250a,250bは、内部が中空状に形成され、一方の膨出部カバー250bの内部空間は、側壁230によりケースカバー202における基板収納空間と区画されて独立した空間となっている(図6参照)。他方の膨出部カバー250aの内部空間は、側壁230における膨出部カバー250aに対応する箇所が切り欠かれ、ケースカバー202の基板収納空間と連通する(図15(a)参照)。
膨出部カバー250a,250bにおける膨出部208a,208bに形成された係止穴210に対応する壁部には、下端から上方に向けて切り欠かれた2本のスリットを介して弾性変形自在に構成された係止片252が形成されている。係止片252の下端には、係止穴210に係止可能な外向きの係止爪251が形成され、ケース本体201の上面をケースカバー202により閉鎖した状態、つまり封止状態において係止爪251が係止穴210に係止される。
また、図15(a)に示すように、ねじ収納部209に対応する膨出部カバー250aの上壁裏面254には、膨出部カバー250aの長手方向に向けて延びるねじ規制用リブ253が下方に向かって設けられている(図6参照)。具体的には、ねじ規制用リブ253は、ケース本体201の上面をケースカバー202により閉鎖した状態、つまり封止状態において、ねじ収納部209の板状部209aの直上に板状部209aと平行になるように配置されるように、膨出部カバー250aの上壁裏面254における板状部209aとの対向位置から下方に向かって設けられている。つまり、上壁裏面254における挿入孔209cの上面開口との対向位置から、挿入孔209cの上面開口に向けて所定長さ延設されている。具体的には、その下端が挿入孔209c内に挿入された各予備用ワンウェイねじ281の頭部284に近接する長さを有している。
封止状態において、膨出部カバー250aの上壁裏面254から下方に向けて延設されたねじ規制用リブ253によって、ねじ収納部209内に収納された予備用ワンウェイねじ281のねじ収納部209からの逸脱が防止される。すなわち、ねじ収納部209から予備用ワンウェイねじ281が逸脱して基板収納空間S1内に入り込み、基板を損傷させてしまうこと等が確実に防止される。
図6に示すように、側壁203における両膨出部カバー250a,250bの間には、複数(この実施の形態では4つ)の四角筒状の被固着部255a〜255dが、ケース本体201の各ねじ孔211a〜211dに対向する箇所に複数形成されている。それらの固着部によって第1被固着部255が構成されている。
各被固着部255a〜255dは、図14および図15(b)に示すように、ワンウェイねじ280および予備用ワンウェイねじ281を挿通可能な四角柱状の筒状部256と、筒状部256と側壁230とを連接する連接部257とで構成されている。そして、連接部257を介して筒状部256が側壁230から所定距離離間した状態で配置されている。よって、連接部257をニッパ等の工具で切断できる。また、連設部257は、ケースカバー202の一側縁である側壁230の外面から外方に向けて複数設けられ、各連設部257の先端に被固着部255a〜255dが設けられている。
筒状部256は、上面が開口する有底の筒体であり、内部にワンウェイねじ280を収納可能な大きさを有しているとともに、底板258には、ワンウェイねじ280の頭部284の直径よりも小径の取付孔259が形成されている。取付孔259は、封止状態において、各ねじ孔211a〜211dの対向位置に配置される。
図5および図11に示すように、ケース本体201側の被係止凹部215が形成されている側壁204に対応する側壁231には、先端に被係止凹部215に係止可能な上向きの係止条260が長手方向に設けられた係止片261が、外方に向けて設けられている。
このように構成されたケース本体201およびケースカバー202は、ケース本体201の上面開口がケースカバー202で塞がれた状態において、ケース本体201の側壁205の内面と、ケースカバー202の低被覆面部220aにおける側壁205の内面との対向辺である長辺220d(図9参照)端面との間に、垂直板500bを挿通可能な間隙部505が、側壁205の内面に沿って形成される(図13参照)。
次に、コネクタ規制部材500の構造について説明する。コネクタ規制部材500は、透明な合成樹脂材からなる板部材で形成され、図10に示すように、ケースカバー202の外側に装着可能に構成されている。板材の幅寸法は、ケースカバー202の長辺202dにおける長手方向の幅寸法よりも若干短い。コネクタ規制部材500は、装着時においてケースカバー202における低被覆面220aよりも若干大きめに形成される上板500aと、上板500aの外端から下方に向けて設けられる垂直板500bと、垂直板500bの下端から上板500aと平行になるように同方向に設けられる下板500cとで、略コ字形に形成されている。
上板500aにおける長辺500dには、複数の係合穴502のそれぞれに差し込み可能に、かつ、弾性変形可能に構成される。また、先端に上向きの係止爪501が形成された係止片が上板500aとほぼ平行になるように突出して設けられ、係止片を係合穴502からケースカバー202内に通した状態において、ケースカバー202の裏面における係合穴502の上縁に係止爪501が係止されるように形成されている。
上板500aには、各配線側コネクタ290a〜290cから延びる配線291a〜291cを通過させることが可能な細長長方形状の配線挿通用開口503a〜503cが長手方向に向けて形成されている。各配線挿通用開口503a〜503cから長辺500dに向けて、各配線291a〜291cを通すことが可能な配線挿通用スリット504a〜504cが設けられている。
各配線291a〜291cは、いわゆるフラットケーブルである。よって、配線挿通用開口503a〜503cおよび配線挿通用スリット504a〜504cは、横長長方形状に形成されている。すなわち、配線挿通用開口503a〜503cは、長辺および短辺が、配線側コネクタ290a〜290c本体の長辺および短辺よりも短く形成され、配線側コネクタ290a〜290cを通過させることは不可能であり、かつ、配線291a〜291cを通過させることが可能に形成されている。また、配線挿通用スリット504a〜504cは、配線291a〜291cを配線挿通用スリット504a〜504cに対して平行にした状態で長辺500d側から差し込み可能な幅寸法に形成されている。
よって、各配線291a〜291cを、長辺500d側から配線挿通用スリット504a〜504c内に差し込んで配線挿通用開口503a〜503cまで引き込むことによって、配線挿通用開口503a〜503c内に配置することができる。
また、これら配線挿通用スリット504a〜504cは、配線挿通用開口503a〜503cの開口長縁辺に対して傾斜するように、かつ、互いに平行に形成されているとともに、開口長縁辺における長手方向の中央位置から長辺500d側に向けて斜めに延設されている。これにより、配線挿通用スリット504a〜504cを介して引き込んだ配線291a〜291cを、配線挿通用開口503a〜503c内に斜めに進入させることができるため、配線挿通用開口503a〜503c内にスムーズに進入させることができる。
また、開口長縁辺の長手方向の中央位置から配線挿通用スリット504a〜504cが設けられているので、配線挿通用開口503a〜503c内に配線291a〜291cを配置した状態において、配線291a〜291cの列方向の両端が配線挿通用スリット504a〜504cとの連設部から離れ、配線291a〜291cが配線挿通用スリット504a〜504c内に逆戻りすることがない。すなわち、配線挿通用スリット504a〜504cの幅は、配線挿通用開口503a〜503cの一辺よりも狭い。
下板500cは、垂直板500bの下端から上板500aと同方向に向けて設けられ、その幅は、主基板31の短辺の幅寸法よりも若干短い。つまり、主基板31の裏面31b(実装面31aの反対面)ほぼ全域を被覆可能な長さである(図13参照)。
このように形成されたコネクタ規制部材500は、基板側コネクタ238a〜238cに接続された配線側コネクタ290a〜290cからの各配線291a〜291cを、配線挿通用スリット504a〜504cを介して配線挿通用開口503a〜503c内を通過させた後、ケースカバー202に対して側方から近接させ、係止爪501を係合穴502に差し込んで一端をケースカバー202に係止させることによって、ケースカバー202に対して仮止めすることができる。
この状態において、上板500aにより低被覆面部220aの上方および外側方が上板500aおよび垂直板500bにより被覆されるとともに、主基板31の裏面31bが下板500cにより被覆される。
次に、このように構成されたケース本体201とケースカバー202とで、主基板31を内部に収納して封止状態とするとともに、コネクタ規制部材500により配線側コネクタ290a〜290cを抜くことを規制する状況を説明する。
主基板31を封止状態で収納するときには、まず、ケースカバー202の裏面に設けられたキャップ保持部(図示略)に、キャップ吊支体245を取り付けた後、主基板31をケースカバー202の裏面側に取り付ける。具体的には、図8に示すように、主基板31の実装面31aをケースカバー202の裏面に対向させた状態、つまり実装面31aを上方に向けた状態でケースカバー202の裏面側に押し当てる。そして、各コネクタ用開口236a〜236cに各基板側コネクタ238a〜238cが通るように、主基板31における位置決め用凸部241に対応する2つの角部に形成された位置決め孔243をそれぞれ位置決め用凸部241内に通して位置決めした状態で、主基板31の取付用支柱240に対応する2つの角部に形成されたねじ取付孔242に基板取付ねじ239を取り付け、ねじ孔240aに基板取付ねじ239をねじ止めする。
図9に示すように、主基板31をケースカバー202の裏面側に取り付けた状態において、各コネクタ用開口236a〜236cから、各基板側コネクタ238a〜238c本体上部がケースカバー202の外部に露出される。つまり、各基板側コネクタ238a〜238cの本体上面に形成された接続口238dがケースカバー202の外部に上向きに開放されるため、ケースカバー202に配線側コネクタ290a〜290cを通すことなく、各基板側コネクタ238a〜238cの接続口238dに各配線側コネクタ290a〜290cを差し込んで接続することができる。
次いで、図10に示すように、各基板側コネクタ238a〜238cに接続された各配線側コネクタ290a〜290cからの各配線291a〜291cを、長辺500d側から配線挿通用スリット504a〜504c内に差し込み、配線挿通用開口503a〜503c内を通した後、ケースカバー202に対して側方から近接させ、係止爪501を係合穴502に差し込んで一端をケースカバー202に係止させることによって、ケースカバー202に対して仮止めする。
このように、各基板側コネクタ238a〜238cに各配線291a〜291cの配線側コネクタ290a〜290cを接続した状態で、各配線291a〜291cを配線挿通用開口503a〜503cに簡単に通すことができる。また、配線291a〜291cにおける配線側コネクタ290a〜290cとは反対側の端部に設けられる配線側コネクタ(図示略)等を、配線挿通用開口503a〜503cを通過させる必要がない上に、例えば、配線291a〜291cにおける配線側コネクタ290a〜290cとは反対側の端部が図示しない他の基板に対してコネクタ等を介さずに直接接続されている場合であっても、配線側コネクタ290a〜290cを配線挿通用開口503a〜503cを通過させる必要がなく、上板500aに大きな開口を形成しなくて済む。よって、コネクタ規制部材500の強度低下が防止される。
ケース本体201において、図7に示すように、ねじ収納部209の挿入孔209c内に、予備用ワンウェイねじ281を収納しておく。このとき、各挿入孔209cの上面開口の上方からねじ部283を挿入孔209c(図6(b)参照)内に通すだけで、簡単に収納することができる。この収納状態において、ねじ部283は挿入孔209c内に完全に収納され、頭部284のみが挿入孔209cの上面開口から外部に突出された状態で保持されている(図15(a)参照)。よって、収納された予備用ワンウェイねじ281を使用する際に、頭部284を手で摘むだけで簡単に取り出すことができる。
次いで、主基板31が一体的に取り付けられるとともに、コネクタ規制部材500が外側に仮止めされたケースカバー202で、ケース本体201の上面開口を閉鎖する。具体的には、図11に示すように、ケースカバー202の一方の短辺から外方に向けて突設された係止片260が下を向くようにケースカバー202を傾斜させた状態、すなわち、主基板31の裏面31bをケース本体201に対向させた状態で、ケース本体201における閉塞壁216の上端と垂下片204bの下端との間に係止片260を差し込む。そして、係止条260を被係止凹部215内に係止させた状態で、係止部を中心としてケースカバー202を図中矢印方向に向けて向けて回転させ、ケースカバー202をケース本体201の側壁203〜206により囲まれた空間内に嵌め込む。
ケース本体201の膨出部208a,208bの膨出空間S2,S3内に膨出部カバー250a,250bが嵌め込まれて、両係止爪251がそれぞれ係止穴210の開口上端縁に係止される。その結果、ケースカバー202の一方の短辺側が係止条260と被係止凹部215とにより係止されるとともに、他方の短辺側が係止爪251と係止孔251とにより係止され、ケースカバー202がケース本体201に対して仮止めされる。なお、この状態では、係止穴210の外方からそれぞれの係止爪251を内側に向けて押し込んで係止状態を解除すれば、ケースカバー202を簡単に開放させることができる。
この状態において、膨出部カバー250aの上壁裏面254から下方に向かって設けられているねじ規制用リブ253の下端が、ねじ収納部209に収納された3本の予備用ワンウェイねじ281の頭部284に近接した状態で配置される。従って、予備用ワンウェイねじ281がねじ収納部209から逸脱して基板収納空間S1内に入り込み、主基板31の配線パターン等を傷つけて断線させてしまうこと等が防止される。
また、ケースカバー202の各側壁230〜233の下端が、ケース本体201の側壁203〜206の上端よりも下方に深く入り込んだ状態になるので、ケース本体201とケースカバー202との間から針金等の異物を進入しにくくなる。
また、ねじ収納部209は、膨出部208aの膨出空間S2内に設けられているので、主基板31が基板収納空間S1内におけるねじ収納部209の上端よりも下方位置に配置された状態でも(図15(b)参照)、ねじ収納部209と干渉することがない。
また、図13に示されるように、ケース本体201の側壁205の内面とケースカバー202の低被覆面部220aの長辺220dとの間に形成される間隙部505に、コネクタ規制部材500の垂直板500bが差し込まれた状態で配置される。また、下板500cの下面全域がケース本体201の底板201a上面に載置される。コネクタ規制部材500は、ケース本体201に対して安定的に保持されるとともに、主基板31の裏面31bが下板500cにより被覆される。
つまり、ケースカバー202に対して係止爪501を介して一端側が係止されたコネクタ規制部材500は、その一部を構成する他端側の下板500cおよび垂直板500bの下部がケース内部に配置される。
さらに、この状態において、ケース本体201の第2被固着部212の上方に、ケースカバー202の第1被固着部255が配置される。すなわち、固着片212aの上面に各被固着部255a〜255dが載置されると、各ねじ孔211a〜211dと各取付孔259とが合致し、ワンウェイねじ280を通すことが可能な状態になる。ここで、4つの被固着部255a〜255dのうち、いずれか1つの筒状部256の上面開口からワンウェイねじ280を挿入し、ねじ部283の先端を取付孔259に差し込んだ状態で、マイナスドライバー等の工具によりワンウェイねじ280を時計回りにねじ込む(図6参照)。
すると、図14に示すように、ねじ部283の外周に形成された雄ねじのねじ切り作用によって、ねじ部283が取付孔259を貫通して、固着片212aおよび筒状部212b内に貫通形成されたねじ孔211a内にねじ止めされ、固着片212aおよび被固着部255d、つまり第2被固着部212と第1被固着部255とがワンウェイねじ280を介して固着(かしめ)される。
すなわち、ケースカバー202は、一方の短辺側が係止条260が被係止凹部215により係止され、他方の短辺側がワンウェイねじ280を介して固着されていることにより、ケース本体201に対してケースカバー202が開放不能に固着され、主基板31は、実装面31aおよび裏面31bがこれらケース本体201およびケースカバー202により被覆された状態で、基板収納ケース200内に封止状態で収納される。
なお、ワンウェイねじ280を完全にねじ込んだ後、その上方から、所定の色に着色された色付接着剤Zを筒状部256内に注入した後、キャップ244を筒状体255dの上面開口に嵌め込んで、頭部284の上面に形成された溝等を被覆することにより、ワンウェイねじ280を取り外しにくくすることができる。
さらに、透明な合成樹脂材からなる筒状部256内に色付接着剤Zが注入されることによって、ワンウェイねじ280に対する何らかのアクセスがあった場合において、色付接着剤Zが抉り取られた痕跡等が色により視認しやすくなるため、透明な筒状部256外部からでも不正行為の痕跡を発見しやすくなる。
なお、色付接着剤を注入することに代えて、有色のキャップ244を用いるようにしてもよい。その場合、最初に装着されるワンウェイねじ280に対して用いられるキャップ244のみを有色にして、予備用ワンウェイねじ281に対して用いられるキャップ244は透明であるようにしてもよい。また、キャップ244に接着剤を注入することに代えて、熱溶着や超音波溶着によってキャップ244を固着する用にしてもよい。溶着で固着する場合には、接着剤で固着する場合に比べて、より強固に固着される。
また、この封止状態を解除してケースカバー202を開放しようとする場合、ワンウェイねじ280を反時計回りに回して取り外すことができないので、ケース本体201またはケースカバー202の一部を破壊するか、あるいは、連接部257をニッパ等の工具により切断し、固着片212aにワンウェイねじ280を介して固着されている被固着部255aの筒状部256をケースカバー202から切り離すしかない。
つまり、破壊または切断のいずれの方法をとるにせよ、封止状態を解除してケースカバー202を開放した場合には、破壊または切断の痕跡が残る。その結果、例えば不正行為によりケースカバー202が開放された場合でも、早期のうちに不正行為が行われたことを発見することができる。よって、万が一不正な遊技制御プログラムが格納されたROMを有する主基板等にすりかえられた場合でも、早期に発見して対処することができる。従って、その状態で遊技が行われて遊技店が不利益を被ることを回避することができる。
また、ワンウェイねじ280によりケース本体201に対してケースカバー202が開放不能に固着された封止状態にされるので、ケースカバー202の外側に仮止めされたコネクタ規制部材500が、ケースカバー202から離脱不能に保持されるとともに、基板側コネクタ238a〜238cに接続された配線側コネクタ290a〜290cの抜脱が上板500aとの当接により規制される。
具体的には、図13に示すように、ケース本体201に対してケースカバー202が開放不能に固着された封止状態において、コネクタ規制部材500は、下板500cが主基板31の裏面31bを被覆するようにその下方に配置されることによって、その上方への移動が、ケース本体201に固着されたケースカバー202の裏面側に取り付けられた主基板31との当接により規制される。
また、下板500cから上向きに連設された垂直板500bが、ケースカバー202の長辺220dとケース本体201の側壁205内面とに挟持されるとともに、係止爪501が係合穴502に係止されることによって、ケース本体201の底板201a上でのスライド移動が規制されるとともに、上板500aの変形も防止される。特に、垂直板500bの外面が側壁205の内面に上下方向にわたり密着した状態で保持されるので、垂直板500bの外側への変形も防止される。つまり、下板500c,垂直板500b,ケースカバー202の長辺220dおよび側壁205によって、規制部材保持手段が構成されている。
コネクタ規制部材500の上方および水平方向の移動が規制されることによって、コネクタ規制部材500のケースカバー202からの離脱が防止され、安定して基板収納ケース200に保持される。そして、基板収納ケース200に保持されたコネクタ規制部材500の上板500aによって、ケースカバー202における低被覆面部220aの上面が被覆されるとともに、垂直板500bの上部,傾斜被覆面部220c,ケースカバー202の一部により低被覆面部220aの上方側周面が被覆される。よって、基板側コネクタ238a〜238cおよび配線側コネクタ290a〜290cが外部から遮断される。従って、コネクタの接続部に対する不正行為が防止される。
また、図13に示すように、基板側コネクタ238a〜238cに接続された配線側コネクタ290a〜290cの上方近傍に上板500aが配置されるので、配線側コネクタ290a〜290cを基板側コネクタ238a〜238cから抜脱しようとする際に、配線側コネクタ290a〜290cの本体上面における配線291a〜291cの延出部周囲が、上板500aの裏面における配線挿通用開口503a〜503cの周囲(当接規制部)に当接される。すなわち、配線側コネクタ290a〜290cの抜脱方向への移動が上板500aにより当接規制されるため、基板側コネクタ238a〜238cに正規以外の不正部品が接続された配線が接続されることを効果的に防止できる。
また、下板500cは主基板31の裏面31bを被覆可能な大きさに形成されているので、封止状態において、裏面31bに形成された配線パターン等に対する不正行為も抑制できるとともに、安定性も向上する。なお、この実施の形態では、下板500cは主基板31の裏面31bを被覆可能な大きさに形成されていたが、コネクタ規制部材500の上方への移動を主基板31の裏面31bとの当接により規制可能な長さを有していれば、裏面31b全域を被覆可能な大きさに形成されていなくてもよい。
次に、第2被固着部212と第1被固着部255とをワンウェイねじ280を介して固着して封止状態を構成した後、主基板31の故障や検査等により主基板31を取り出すために封止状態を解除し、再度封止状態とする場合について説明する。
なお、ねじ孔211a〜211dおよび被固着部255a〜255dを複数形成し、繰り返し封止状態とすることができるようにするのは、例えばメーカが主基板31を遊技店等に出荷する際に、主基板31を基板収納ケース200内に封止状態で収納するために、1つのねじ孔211a〜211dおよび被固着部255a〜255dを使用した後、遊技店において、上記のように主基板31が故障して交換する場合や検査等を行うために主基板31を取り出す場合等において、封止状態を解除することがあるからである。その後再度封止状態にする際に他のねじ孔211a〜211dおよび被固着部255a〜255dを使用するので、これらが第2被固着部212および第1被固着部255が複数必要となる。
再度封止状態にする場合には、ケースカバー202を開放したときに、キャップ吊支体245からキャップ244を1つ分離して取り出しておくとともに、ねじ収納部209から予備用ワンウェイねじ281を1本取り出しておく。そして、ケース本体201の上面開口をケースカバー202により閉鎖する。ここで、まだ連接部257が切断されていない被固着部255b〜255dのうちいずれかの筒状部に予備用ワンウェイねじ281を挿入し、ねじ孔211bにねじ止めして、第2被固着部212と第1被固着部255とを固着して封止状態を構成することができる。
このように、第2被固着部212としてのねじ孔211a〜211dおよび第1被固着部255としての被固着部255a〜255dが複数設けられているので、ケース本体201やケースカバー202の一部を破壊することなく連接部257を切断するだけで、基板収納ケース200を交換すること等なく、封止状態を解除した後でも、封止状態を複数回繰り返し構成することができる。
以上説明したように、この実施の形態では、主基板31をケースカバー202の裏面に取り付けることにより、基板側コネクタ238a〜238cがコネクタ用開口236a〜236cを介してケースカバー202の外部に開放される。また、開放された基板側コネクタ238a〜238cに配線側コネクタ290a〜290cを接続した状態で、ケースカバー202の外側にコネクタ規制部材500を仮止めして基板収納ケース200に保持することによって、配線側コネクタ290a〜290cの抜き取りが、当接規制部としての上板500aで規制される。ケースカバー202に、基板側コネクタ238a〜238cに接続された配線側コネクタ290a〜290cと反対側の配線側コネクタ(図示略)を通過させるための大きな挿通口等を形成しなくても、ケースカバー202の外側にコネクタ規制部材500を装着することができるので、コネクタ規制部材500の強度低下が防止される。
また、下板500cは、封止状態とされたケース本体201およびケースカバー202により被覆されるので、封止状態を解除するかコネクタ規制部材500または基板収納ケース200の一部を破壊しない限りコネクタ規制部材500の保持状態を解除することができなくなる。よって、基板収納ケース200の一部を破壊したり封止状態を解除して配線側コネクタ290a〜290cを抜脱したときには、その痕跡が残り、不正が行われた可能性があることを確実に発見することができる。
また、この実施の形態では、封止状態においてケース内部に配置される下板500cが規制部材保持手段として機能するので、例えばワンウェイねじ等の特殊な保持部材等を用いてコネクタ規制部材500をケースカバー202に保持したり、保持構造を複雑化することなく、ケースカバー202およびケース本体201を封止状態とするだけでケースカバー202に簡単に装着できる。よって、基板側コネクタ238a〜238cに正規以外の不正部品が接続された配線が接続されることを効果的に防止できる。
また、コネクタ規制部材500の一部は、複数の配線側コネクタ290a〜290cを当接規制することが可能な1枚の上板500aで構成されているので、複数の配線側コネクタ290a〜290cそれぞれに対応する複数の当接規制部を個別に形成する必要がない。また、複数の配線側コネクタ290a〜290cをまとめて規制することができるため、保持作業の手間が軽減される。
さらに、配線側コネクタ290a〜290cを抜き取る方向への移動を規制するだけでなく、配線側コネクタ290a〜290cの上方が被覆されるので、基板側コネクタ238a〜238cと配線側コネクタ290a〜290cとの接続部に対する不正行為が困難になる。また、コネクタ規制部材500に配線側コネクタ290a〜290cを挿通するための大きな挿通口等を形成する必要がないので、強度低下が防止される。
また、コネクタ規制部材500の一部は、封止状態において間隙部505に配置される垂直板500bと、離脱方向への移動が主基板31により当接規制される下板500cとで構成されるので、ねじ等の保持部材を使用することなく、垂直板500bを間隙部505に差し込んだ状態で封止状態とするだけで、係止部としての下板500cの係止作用により垂直板500bの抜脱方向への移動が規制されてケースに保持される。よって、コネクタ規制部材500の装着作業が容易になる。
コネクタ規制部材500には、ケースカバー202に形成された係止穴502に係合可能な係止爪501が形成されているので、係止爪501が係合穴502に係合されることによって、コネクタ規制部材500の上板500aが変形や破損しにくくなる。その結果、上板500aを変形させて配線側コネクタ290a〜290cをケースカバー202との間に形成される隙間から抜脱すること等を確実に防止することができる。
また、主基板31の実装面31aにおけるコネクタ用開口236a〜236c近傍が低被覆面220aにより被覆されるので、コネクタ用開口236a〜236cと基板側コネクタ238a〜238cとの間に形成される隙間から不正器具等を挿入しにくくなる。その結果、主基板31に対する不正行為を防止することができる。
また、ケースカバー202に凹部234が形成され、コネクタ規制部材500は凹部234に装着されるようにしたので、装着状態においてコネクタ規制部材500がケースカバー202から大きく突出することがない。よって、パチンコ遊技機1に配設された状態等において、コネクタ規制部材500が邪魔になることがない。
また、コネクタ規制部材500は、透明な合成樹脂材にて構成されているので、基板収納ケース200内の視認性がコネクタ規制部材500により損なわれることがないので、主基板31の監視に支障を来すことがない。
また、複数のうち少なくとも一対の第1被固着部としてのねじ孔211a〜211dおよび第2被固着部としての被固着部255a〜255d同士を固着部材としてのワンウェイねじ280により固着することによって、主基板31を封止状態とすることができる。また、基板収納ケース200を破壊するかもしくは固着されたねじ孔211a〜211dの連接部257を切断することで、封止状態を解除してケースカバー202を開放することができる。さらに、連接部を切断するなどして封止状態を解除した後でも、未使用の一対のねじ孔211a〜211dおよび被固着部255a〜255d同士を予備用ワンウェイねじ281によって固着して、再度主基板31を封止状態でケース内部に収納することができる。
また、基板収納ケース200を開放することによって、ねじ収納部209の挿入孔209cの上面開口が開放されるので、予備用ワンウェイねじ281をねじ収納部209に簡単に収納および取り出すことができる。また、主基板31の封止状態において、ねじ収納部209に収納された予備用ワンウェイねじ281のねじ収納部209からの逸脱が、規制部としてのねじ規制用リブ253の下端との当接により規制される。よって、逸脱した予備用ワンウェイねじ281により主基板31が損傷することを防止できる。
さらに、ねじ規制用リブ253が、膨出部カバー250aの上壁裏面254からねじ収納部209の挿入孔209cの上面開口に向かって下方に設けられているので、ねじ収納部209の配設位置が、ケースカバー202やケース本体201の形状により制限されたり、ケースカバー202やケース本体201の形状をねじ収納部209の配設位置に合わせて形成する必要がない。よって、基板収納ケース200の設計が煩雑になることを回避できる。
具体的は、例えばねじ収納部209に収納された予備用ワンウェイねじ281の頭部284からケースカバー202の裏面までの距離が、予備用ワンウェイねじ281の長さよりも大きい場合には、予備用ワンウェイねじ281がねじ収納部209から逸脱するおそれがある。そこで、例えばケースカバー202におけるねじ収納部209に対応する箇所をねじ収納部209の挿入孔209cの上面開口に極力近接させようとすると、ケースカバー202全体の形状、あるいはねじ収納部209の配設位置を設計変更しなければならない。しかし、ケースカバー202の裏面の所定箇所からねじ規制用リブ253が延びるように設けられることによって、ケースカバー202全体の形状やねじ収納部209の配設位置を設計変更しないで済む。
また、3つの予備用ワンウェイねじ281の逸脱を規制できるように、ねじ規制用リブ253が、上壁裏面254の長手方向にわたって延設されているので、膨出部カバー250aの強度が高まる。よって例えばケースカバー202を過って床等に落下させてしまった場合等に、膨出部カバー250aが破壊されにくくなり、その側方に設けられる第1被固着部255の保護作用が効果的に高まる。
また、第2被固着部212および第1被固着部255の前後側方に膨出部208a,208bが設けられているので、いずれか一側方のみに設けられている場合に比べて、これら第2被固着部212および第1被固着部255がより効果的に保護される。
また、膨出部208aの膨出空間S2内に設けられたねじ収納部209は、複数本の予備用ワンウェイねじ281をまとめて収納可能であるから、各ねじ孔211a〜211dや各被固着部255a〜255dそれぞれの近傍に予備用ワンウェイねじ281を収納しておくよりも、ケース本体201の構造を簡素化することができるばかりか、予備用ワンウェイねじ281の管理が容易になる。
また、ケース本体201の側壁203の一部に膨出部208aが形成され、膨出部208aの側方に第2被固着部212が設けられているので、過って基板収納ケース200を床等に落下させた場合等に、ねじ孔211a〜211dや被固着部255a〜255dが容易に破損することが防止される。また、膨出部208aの内部に形成された膨出空間S2内に設けられたねじ収納部209に予備用ワンウェイねじ281を収納しておくことができるので、膨出部208aを有効に利用することができるばかりか、主基板31を内部に収納または取り出す際に予備用ワンウェイねじ281が邪魔になることがないように収納しておくことができる。
つまり、膨出部208aと第2被固着部212とが、ケース本体201における一側辺の長手方向に向けて直線状に配設されるとともに、特にねじ孔211a〜211dとねじ収納部209とが一側辺に沿うように配置されることによって、ケース本体201外形に凹凸部が形成されることがない。その結果、ケース本体201の構造を簡素化できる上に、保管や輸送時における収納性が向上する。
また、ねじ収納部209は、ケース本体201の内部における基板収納空間S1から外側に張り出すように設けられた膨出空間S2内、すなわち、主基板31の封止状態において主基板31と上下方向に重合しない位置に配設されているとともに、主基板31は、膨出空間S2内に張り出さないように設けられているので、予備用ワンウェイねじ281の収納および取り出しの際に主基板31と干渉することがない。
さらに、予備用ワンウェイねじ281は、ねじ収納部209の挿入孔209cの上面開口を介して内部に挿入される挿入部であるねじ部283と、ねじ部283の一端に設けられる頭部284とで構成され、ねじ収納部209は、予備用ワンウェイねじ281を収納した状態において、頭部284が挿入孔209cの上面開口の外部に突出した状態で保持されるように構成されているので、予備用ワンウェイねじ281のねじ収納部209からの取り出しが容易になる。
また、主基板31が、複数の電子部品および基板側コネクタ238a〜238cが実装される実装面31aと実装面31aと反対側の裏面31bとを有し、ケースカバー202が、コネクタ238a〜238cに対応する箇所に、コネクタ238a〜238cの接続口238dをケース外部に開放するためのコネクタ用開口236a〜236cが形成されるとともに、主基板31を取り付け可能に構成され、主基板31が、実装面31aをケースカバー202により被覆し、かつ、裏面31bをケース本体201に対向させた状態で基板収納ケース200の内部に封止状態で収納されるので、基板収納ケース200を開放しても、ケースカバー202からの主基板31の取り外しに時間がかかり、電子部品や基板側コネクタ238a〜238c等に対する不正行為を行いにくくなる。
次に、コネクタ規制部材520の他の態様を、図16〜図18を参照して説明する。図16は、他の実施の形態のコネクタ規制部材およびケースカバーを示す斜視図である。図17は、図16に示すコネクタ規制部材が装着された基板収納ケース200を示す平面図である。図18は、図17に示す基板収納ケース200のD−D断面を示す断面図である。
上記の実施の形態のコネクタ規制部材500は、ケース本体201およびケースカバー202の封止状態においてケース内部に配置される下板500cおよび間隙部505に配置される垂直板500bにより基板収納ケース200に保持されていたが、この実施の形態のコネクタ規制部材520は、固定ねじ522によりケースカバー202に保持される。
以下、この実施の形態のコネクタ規制部材520において、上記の実施の形態のコネクタ規制部材500と相違する点を説明する。なお、この実施の形態において、上記の実施の形態のコネクタ規制部材500と同様の構成部位および基板収納ケースについては、図16〜図18において同様の符号を付して、詳細な説明は省略する。
コネクタ規制部材520は、透明な合成樹脂材からなる板部材にて形成されている。図16に示すように、コネクタ規制部材520は、低被覆面部220aの上方を被覆可能な上板520aと、上板520aの外端から下方に向けて延設される垂直板520bとにより側面視略L字形に形成されている。つまり、上記の実施の形態のコネクタ規制部材500における下板500cがない形状に形成されているとともに、垂直板520bの上下幅寸法は、垂直板500bの上下幅寸法よりも短くなるように形成されている。
上板520aには、配線挿通用開口503a〜503cおよび配線挿通用スリット504a〜504cが形成されている。垂直板520bには、固定ねじ522が取り付けられる複数の取り付け孔521が、ケースカバー202の長辺202d端面における長手方向にわたり所定間隔おきに形成された複数(この実施の形態では3つ)のねじ孔523に対応する箇所に形成されている。
このように形成されたコネクタ規制部材520は、上記の実施の形態のバイト道央に、配線挿通用開口503a〜503cに配線291a〜291cを通し、かつ、垂直板520bの外側から各取り付け孔521に固定ねじ522を取り付けた状態で、垂直板520bの内面下部を長辺220d端面に当接させてケースカバー202の外側に配置し、固定ねじ522をねじ孔523にねじ止めすることによって、ケースカバー202の外側に装着される。
この状態において、コネクタ規制部材520は、ケースカバー202に対して離脱不能に保持される。従って、配線側コネクタ290a〜290cの上方が上板520aにより被覆され、かつ、基板側コネクタ238a〜238cからの配線側コネクタ290a〜290cの抜き取りが規制される。
また、コネクタ規制部材520が装着されたケースカバー202によって、ケース本体201の開口を閉鎖した状態(封止状態)において、図17および図18に示すように、各取り付け孔521にねじ止めされた固定ねじ522の頭部が、ケース本体201の側壁205により被覆される。よって、ケース本体201およびケースカバー202の封止状態を解除するかケースの一部を破壊しない限り固定ねじ522を取り外すことができない。
このように、この実施の形態のコネクタ規制部材520も、上記の実施の形態のコネクタ規制部材500と同様の作用を果たす。また、コネクタ規制部材520は、ケースカバー202に対して固定ねじ522により直接固定され、ケースカバー202に対して安定的に保持されるので、ケースカバー202に対するガタツキ等がコネクタの規制に支障を来すこと等が防止される。
また、封止状態において側壁205により保持部材としての固定ねじ522の頭部が被覆されるので、固定ねじ522の取り付け孔523からの取り出しができなくなるため、固定ねじ522に前述したワンウェイねじ等の特殊な部材を用いなくても、取り付け孔523からの取り出しを困難とすることができる。
また、図18に示すように、上板520aの端面520cは、必ずしもケースカバー202に当接したり係止されていなくてもよ。例えば、傾斜被覆面部220cに沿うように近接されていてもよい。
次に、さらに他の実施の形態のコネクタ規制部材550を、図19および図20を参照して説明する。図19は、この実施の形態のコネクタ規制部材およびケースカバーを示す斜視図である。図20は、図19に示すコネクタ規制部材が装着された基板収納ケースの要部を示す拡大縦断面図である。
上記の各実施の形態のコネクタ規制部材500,520は、ケース本体201およびケースカバー202の封止状態において形成される間隙部505に、垂直板500b,520bが配置されていたが、この実施の形態のコネクタ規制部材550は、垂直板550bの下端が低被覆面部220aの上面に配置される。
以下、この実施の形態のコネクタ規制部材550において、上記の実施の形態のコネクタ規制部材500と相違する点を説明する。なお、この実施の形態において、コネクタ規制部材500と同様の構成部位および基板収納ケースについては、図19,図20において同様の符号を付して、詳細な説明は省略する。
コネクタ規制部材550は、透明な合成樹脂材からなる板部材で形成されている。図19に示されるように、コネクタ規制部材550は、低被覆面部220aの上方を被覆可能な上板550aと、上板550aの外端から下方に向けて延設される垂直板550bとで略L字形に形成されている。つまり、上記のコネクタ規制部材520とほぼ同形状に形成されている。しかし、垂直板550bの下部が若干肉厚に形成されている。
上板550aには、配線挿通用開口503a〜503cおよび配線挿通用スリット504a〜504cが形成されている。垂直板550bの下端面には、固定ねじ552が螺入される複数のねじ孔551が、ケースカバー202の低被覆面部202aの端縁側に設けられた凹条220eの長手方向に亘って所定間隔おきに形成された複数(この実施の形態では3つ)の取り付け孔220fに対応する箇所に形成されている。
このように形成されたコネクタ規制部材550は、配線挿通用開口503a〜503cに配線291a〜291cを通し、かつ、ケースカバー202の裏面側から各取り付け孔220fに固定ねじ552を取り付けた状態で、垂直板550bの下端面を凹条220eの上面に当接させてケースカバー202の外側に配置し、固定ねじ552がねじ孔551にねじ止めされることによって、ケースカバー202の外側に装着される。
この状態において、コネクタ規制部材550は、ケースカバー202に対して離脱不能に保持されるので、配線側コネクタ290a〜290cの上方が上板550aにより被覆され、かつ、配線側コネクタ290a〜290cの基板側コネクタ238a〜238cからの抜き取りが規制される。
また、コネクタ規制部材550が装着されたケースカバー202によってケース本体201の開口を閉鎖した状態(封止状態)において、図20に示すように、各ねじ孔551に螺入された固定ねじ552の頭部がケース内部に配置され、ケース本体201およびケースカバー202により被覆される。よって、ケース本体201およびケースカバー202の封止状態を解除するかケースの一部を破壊しない限り固定ねじ552を取り外すことができない。
このように、この実施の形態のコネクタ規制部材550も、上記のコネクタ規制部材500と同様の作用を果たす。また、ケースカバー202に対して固定ねじ552により直接固定され、ケースカバー202に対して安定的に保持されるので、ケースカバー202に対するがたつき等がコネクタの規制に支障を来すこと等が防止される。
また、封止状態において固定ねじ552の頭部がケース本体201およびケースカバー202により被覆されるので、固定ねじ552のねじ孔551からの取り出しができなくなり、固定ねじ552に前述したワンウェイねじ等の特殊な部材を用いなくても、ねじ孔551からの取り出しが困難になる。
なお、上記の各実施の形態では、基板収納ケースは主基板31を内部に収納可能なケースであったが、内部に収納する制御基板は主基板31に限られず、例えば払出制御基板37や演出制御基板80等を収納するケースであってもよい。
図21は、さらに他の実施の形態の基板収納ケース200Aを示す分解斜視図である。図22(a)は、基板収納ケース200Aを示す平面図であり、図22(b)は基板収納ケースを示す斜視図である。図23は、ケースカバー202をスライドさせて閉鎖する状況における基板収納ケースを示す要部斜視図である。
図21に示すように、基板収納ケース200Aにおいて、ケース本体201の側壁205,206には、ケースカバー202側に設けられるガイド片355をガイドするガイド溝350が、長手方向に渡って一定間隔おきに複数(この実施の形態では3つ)形成されている。ガイド溝350は、ガイド片355を側壁205,206の長手方向に向けて平行にガイドする直線状の水平溝350aと、水平溝350aの一端から側壁205,206の上端に向けて形成される水平溝350aよりも幅広の垂直溝350bとが、略L字形をなすように形成されているものである。
また、側壁205,206の内側には、側壁205,206に沿って長手方向に、底板201aの上面から立ち上がるように閉塞壁358が形成されている。閉塞壁358と側壁205,206との間に形成される上向きに開口する凹溝内には、ケースカバー202のガイドカバー部354における内板354bの下端が嵌るようになっている。そのような構造によって、内板354bの下端と底板201aの上面との間からの異物の進入が防止される。
側壁203側には、上記の基板収納ケース200と同様に、内部に膨出空間S2,S3を有する膨出部208a,208b、第2被固着部212、ねじ収納部209が形成されている。なお、第2被固着部212の固着片212aは、中央側壁203aの上端と同高さで形成されている。また、固着片212aの長手方向の一端側が膨出部208bの上方まで設けられ、膨出部208bの膨出空間S3の上方を被覆するカバー部351を形成している。
側壁203と反対側の短辺には側壁204に相当する側壁はなく、側壁203と反対側の短辺は開放され、そこは、ケースカバー202の側壁で閉鎖される。底板201aにおける側壁203と反対側の短辺から、ケースカバー202の側壁231の下部に設けられた横長のスリット(図示せず)に差し込み可能な差込片352を先端に有する水平片353が形成されている。
ケースカバー202には、側壁232,233のさらに外側に、ケース本体201の側壁205,206の上端にそれぞれ嵌合可能なガイドカバー部354が形成されている。ガイドカバー部354は内部空間を有する。よって、ケースカバー202がケース本体201を閉鎖するときに、ガイドカバー部354の内部空間の一部にケース本体201の側壁205,206の上端が嵌まった状態で、ケース本体201に対してケースカバー202を長手方向に向けてスライド移動できる。
ガイドカバー部354の内部における上記各ガイド溝350に対応する箇所には、ガイド溝350における水平溝350a内に嵌合可能な水平方向を向くガイド片355が、その両端を外板354aおよび内板354bの内面における上板354cの下方所定箇所に固着されて設けられている。つまりガイド片355は、上板354cから離間した下方位置に配置されている。なお、上板354cにおける各ガイド片355の直上位置には、ガイド片355を成形するための成形用開口356が形成されている。
側壁230には、4つの被固着部255a〜255dからなる第1被固着部255が設けられているとともに、膨出部208aに対応する箇所には、膨出部208aの上方を被覆するための膨出部カバー357が設けられている。膨出部カバー357は、庇片357aと、その前後両端から垂れ下がるように設けられている垂下片357bとで構成され、ケースカバー202をスライドさせる際に、先端開口からねじ収納部209を挿入できるようになっている。
側壁231は、ケース本体201の一方の短辺開口を閉塞可能な上下幅を有している。その下部には、差込片352が差し込まれるスリット(図示せず)が2箇所に形成されている。ケースカバー202の閉鎖状態において、ケースカバー202の側壁231側が差込片352により係止されて浮き上がりが防止される。
ケース本体201の上面開口をケースカバー202で閉鎖するときに、主基板31をケースカバー202の裏面側に取り付け、ケース本体201に対して主基板31の裏面31bを対向させた姿勢で、かつ、各ガイド片355を各ガイド溝300の開口直上に配置した状態で、ケースカバー202をケース本体201に向けて下降させる。なお、このときにケースカバー202の上方から各ガイド片355を見ることはできないが、その直上に配置される成形用開口356を目安にしてガイド片355をガイド溝300の開口直上に配置することができる。
そして、ガイド溝350の開口からガイド片355が垂直溝350b内に挿入された状態で、ケースカバー202は、ケース本体201に対して長手方向に若干ずれた位置に配置される。この状態で、側壁205,206の上端にガイドカバー部354が嵌る。
この状態から、ケースカバー202を側壁230側に向けて水平に押し込む(図23参照)。すなわち、スライド移動させる。このとき、ケースカバー202は、側壁205,206の上端に嵌合されたガイドカバー部354によって、移動方向に対する左右方向のずれが防止される。そして、ケースカバー202の側壁231に形成されたスリットに差込片352が差し込まれて水平片353の端面が側壁231の内面に当接し、かつ、膨出部カバー357の庇片357aの先端がケース本体201の膨出壁203bの内面に当接し、ケース本体201に対するケースカバー202のスライド移動が規制され、ケースカバー202が閉鎖位置に位置決めされる。
また、ガイド片355は、ケースカバー202のスライド移動に伴って、垂直溝350bから直線溝350a内に入り込む。よって、閉鎖位置において、直線溝350aの上方の側壁206により上方への移動、つまり浮き上がりが確実に防止される。
また、膨出部208aの膨出空間内に設けられたねじ収納部209に収納されている予備用ワンウェイねじ281の頭部284の直上に膨出部カバー357が近接配置されるので、ねじ収納部209からの予備用ワンウェイねじ281の逸脱が防止される。
その後、4つの被固着部255a〜255dのうちいずれか1つの筒状部(ここでは被固着部255a)の上面開口からワンウェイねじを挿入し、ねじ部の先端を取付孔に差し込んだ状態で、スクリュードライバ等の工具でワンウェイねじを時計回りにねじ込み、第2被固着部と第1被固着部255とをワンウェイねじ280を介して固着(かしめ)する。
ケース本体201の長手方向の側壁205,206の内側において、カバー部351の近傍には、規制部359が突出するように形成されている。ケース本体201に対してケースカバー202を長手方向に向けてスライドさせるようにしてケース本体201とケースカバー202とを嵌め合わせることができるが、そのままでは、製造工程等において、ケース本体201とケースカバー202とが嵌め合わされた状態で移動されるときに、ケース本体201とケースカバー202とが長手方向でずれる可能性がある。規制部359は、側壁230の動きを規制して、すなわち、側壁230が動いても規制部359の設置位置で停止させる役割を果たす。
また、各被固着部255a〜255dは、ワンウェイねじおよび予備用ワンウェイねじを通すことが可能な四角柱状の筒状部と、筒状部と側壁230とを連接する連接部257とで構成されているが(図23参照)、図24に示すように、4つの連接部257のうちの少なくとも1つ(例えば、被固着部255d)は、上部255xが下部255yよりも幅広に形成されている。図24に示すように、上部255xの幅1001はW1であり、従来構造では上部255xは存在せず、各被固着部255a〜255dの幅1002はW2であり、また、W1>W2である。上述したように、連接部257はニッパ等の工具で切断可能であるが、幅広の上部255xでは切断面の面積が大きくなり、切断跡が目立つ。すなわち、切断されたことを容易に視認できるようになる。なお、ここでは、図23に示されたように、最初にワンウェイねじがねじ止めされる被固着部255dに対する連接部257のみが幅広の上部255xを有するようにしたが、他の被固着部255ab〜255dに対しても幅広の上部255xを有するようにしてもよい。被固着部255a〜255dの全てにおいて、上部255xを有するようにしてもよい。
図25〜図27は、パチンコ遊技機1における基板構成の例を示すブロック図である。なお、図25〜図27には、基板(電気回路等を搭載したボード)以外に、他の基板と配線ケーブル(ハーネス:以下、ケーブルという。)で接続される電気部品(例えば、スイッチやソレノイド)も記載されている。以下、図25〜図27に示されている電気部品も基板と同列に扱って説明を行う。
各基板は、ケーブルで電気的に接続され、ケーブルはハーネス側コネクタを含み、ハーネス側コネクタが、接続先の各基板において基板側コネクタに接続される。図25〜図27において、〇(実線の〇)は、基板側コネクタの設置個所を示し、特に、一旦ハーネス側コネクタが差し込まれると、抜くことが不能になるような構造(以下、「コネクタ封止」または「コネクタ封止構造」という。)が採用される箇所を示す。ただし、〇で示される全ての箇所のうちの一部においてのみ、コネクタ封止構造が採用されていてもよい。また、図25〜図27において、〇が付されていない基板側コネクタの設置個所もあるが、その箇所では、コネクタ封止構造を採用しなくてもよい。なお、図25には明示されていないが、主基板31におけるマイクロコンピュータ照合端子に対して、コネクタを抜くことが不能になるような構造を採用する必要はない。通常は、マイクロコンピュータ照合端子に基板側コネクタが装着されていないからである。また、図25において、破線の〇が付されている箇所でも、コネクタ封止構造が採用されることが好ましい。
図25〜図27に示す例では、図25に示すように、主基板31に設けられている各基板側コネクタには、特別図柄表示器8や普通図柄表示器10等が搭載された図柄基板411、音声出力基板70に供給される電源(電力)を中継する周辺電源中継基板412、周辺コマンド中継基板(図4に示された中継基板)177、盤用外部端子板(情報端子板)36、スイッチ中継基板441、第1始動口スイッチ14aおよび第2始動口スイッチ14bに接続されるケーブルのハーネス側コネクタが接続される。なお、図柄基板411に代えて、特別図柄表示器8や普通図柄表示器10等への信号を中継する(特別図柄表示器8や普通図柄表示器10等の表示状態を制御するための信号を出力する)図柄中継基板を用いてもよい。
また、図27に示すように、主基板31から電源基板910および払出制御基板37に接続されるケーブルのハーネス側コネクタも、電源基板910および払出制御基板37の側でコネクタ封止される。
なお、第1始動口スイッチ14aおよび第2始動口スイッチ14b等の遊技球を検出するための検出スイッチについてもコネクタ封止構造を採用することが好ましいことは以下の理由による。すなわち、遊技機において、検出スイッチは、一般に、内部に検出部を収容したケーシングに対して配線付のコネクタが抜き差し可能に設けられた構造を有する。そのコネクタを封止しないと、不正基板に接続されて不正使用される可能性がある。そこで、検出スイッチについてもコネクタ封止構造を採用する。
例えば、ケーシング自体に、配線付のコネクタを封止する部材を形成する。検出スイッチは一般に小型であり、ケーシング自体に特殊加工を施すことが難しい場合には、検出スイッチのケーシング自体を保持する部分(例えば、可変入賞球装置の構造部の裏側等)の周辺にコネクタ封止構造(図28等参照)を採用して、検出スイッチ側にコネクタ(後述する基板側コネクタ601に相当)を封止する。なお、検出スイッチ側のコネクタは、必ずしも基板上に実装されるものでなくてもよい。
スイッチ中継基板441に設けられている各基板側コネクタには、普通電動役物ソレノイド16、大入賞口扉ソレノイド21、ゲートスイッチ32a、カウントスイッチ23、第1普通入賞口スイッチ(普通入賞口スイッチ(1))29aおよび第2普通入賞口スイッチ(普通入賞口スイッチ(2))29aに接続されるケーブルのハーネス側コネクタが接続される。
音声出力基板70に設けられている各基板側コネクタには、演出制御基板80、枠側に設けられている発光体に駆動信号を出力する回路が搭載された枠ランプ中継基板431、およびLEDドライバ基板35に接続されるケーブルのハーネス側コネクタが接続される。周辺コマンド中継基板177に設けられている各基板側コネクタには、演出制御基板80に接続されるケーブルのハーネス側コネクタが接続される。なお、LEDドライバ基板35は、演出制御基板80に接続されてもよい。
演出制御基板80に設けられている各基板側コネクタには、液晶中継基板A421、およびLCDモジュール423に電力を供給するインバータ基板424に接続されるケーブルのハーネス側コネクタが接続される。なお、液晶中継基板A421は液晶中継基板B422と接続され、演出表示装置9を構成するLCDモジュール423はインバータ基板424と接続される。
LEDドライバ基板35に設けられている各基板側コネクタには、遊技盤6に設けられている役物に設置されている発光体に供給される駆動信号を中継するランプ中継基板432、遊技盤6に設けられている発光体に供給される駆動信号を中継するセンター右基板433およびセンター上基板434に接続されるケーブルのハーネス側コネクタが接続される。
なお、図26に示すように、センター右基板433には、センター右上基板465およびセンターベース基板466が接続され、センター上基板434には、センター左基板471およびセンター中基板472が接続され、センター中基板472には、センター中左基板473およびセンター中右基板474が接続される。また、ランプ中継基板432には、再度基板461およびセンター右下基板462が接続される。センター右基板433、センター上基板434、サイド基板461、センター右下基板462、センター右上基板465、センターベース基板466、センター左基板471、センター中基板472、センター中左基板473およびセンター中右基板474は、それぞれ、遊技板6における装飾部材に設けられているLEDの基板である。
枠ランプ中継基板431には、前板ランプ上基板457、前板中継基板450、前板ランプ左基板451、上皿ランプ中継基板452、上皿ランプ左基板453、上皿ランプ右基板454、および左右のスピーカ27が接続される。前板ランプ上基板457には、前板ランプ右基板458、スピーカランプ左基板459、およびスピーカランプ右基板460が接続される。前板ランプ左基板451、上皿ランプ中継基板452、上皿ランプ左基板453、前板ランプ上基板457、前板ランプ右基板458、スピーカランプ左基板459、およびスピーカランプ右基板460は、それぞれ、遊技枠に設けられているLEDまたはランプの基板である。
図27に示すように、電源基板910には、払出制御基板37および電源コード911も接続される。また、払出制御基板37には、払出中継基板71が接続され、払出中継基板71には、払出センサ基板390、払出カウントスイッチ310、および払出モータ389が接続される。
また、払出制御基板37には、ドア開放スイッチ(1)155、ドア開放スイッチ(2)156、中継基板482、貸出装置接続端子板483、プラ(プラスチック)枠中継基板491が接続される。中継基板482には、枠用外部端子板481、球切れスイッチ187、および満タンスイッチ48が接続される。貸出装置接続端子板483には、カードユニット50(図示せず)が接続されるとともに、残高表示基板484が接続される。プラ枠中継基板491には、賞球LED基板496、球切れLED基板497,発射制御基板492が接続される。発射制御基板492には、発射モータ493、単発発射スイッチ494、タッチセンサ(タッチリング)495が接続される。
次に、ハーネス側コネクタが基板側コネクタに差し込まれると、部材を破壊しない限りハーネス側コネクタを抜くことが不能になるような構造例を説明する。図28〜図32は、第1の構造例を示す図である。図28は、ハーネス側コネクタが差し込まれた後、カバー部材が取り付けられる前の状態を示す斜視図である。図29は、カバー部材が取り付けられた後の状態を示す斜視図である。図30は、ハーネス側コネクタを抜くためにカバー部材を破壊する状態を示す斜視図である。図31は、カバー部材が破壊された後、ハーネス側コネクタが抜かれた状態を示す斜視図である。図32は、カバー部材を示す図である。図32において、(a)はカバー部材を底面側から見た底面図であり、(b)はカバー部材の上面を示す上面図であり、(c)はカバー部材の正面(穴部が視認される面)を示す正面図であり、(d)はカバー部材を裏面(正面の反対側の面)側から見た裏面図であり、(e)はカバー部材の側面を示す側面図である。
図32に示すように、カバー部材613の底面および裏面(特に、被覆部634の底面および裏面)は開放している。すなわち、底面および裏面は存在しない。従って、カバー部材613は、ハーネス側コネクタ602と基板側コネクタ601とを覆うことができるとともに、ハーネス側コネクタ602に繋がるハーネスを外部に出すことができる。
図28に示すように、基板収納ケース200におけるケースカバー202には、中央に穴部610を有する矩形の立ち板部611,612が設けられている。図28には、ハーネス側コネクタ602が基板側コネクタ601に差し込まれた状態が示されている。カバー部材613は、ハーネス側コネクタ602と基板側コネクタ601とを覆う被覆部614と、左右の係合ピン固定部615,616とを有する。係合ピン固定部615,616には、カバー部材が設置されたときに、立ち板部611,612における穴部610の位置に相対する位置に穴部619が設けられている。また、図32に示すように、被覆部614と左右の係合ピン固定部615,616との間には、仕切部620が存在する。
図29に示すように、カバー部材613が設置された後、係合ピン621,622が穴部610,619に挿入される。係合ピン621,622の先端側は、弾性を有し、傘状に形成されている。従って、係合ピン621,622の先端側は、穴部610,619を通るときに窄まり、穴部610,619を通過すると広がって、係合ピン固定部615,616の内壁に傘部における縁が当接する。よって、係合ピン621,622は抜けない状態になる。その結果、ケースカバー202に設けられている立ち板部611,612と係合ピン621,622とによって、カバー部材613はケースカバー202から抜けない状態になる。なお、仕切部620は、係合ピン621,622の先端側(爪部)が切り取られないようにするための防護用の壁の役割を果たす。
カバー部材613において、被覆部614と左右の係合ピン固定部615,616との間に、複数の切り込み部617と複数の切り込み部618とが設けられている。
ハーネス側コネクタ602を基板側コネクタ601から抜くには、カバー部材613を破壊する必要がある。例えば、図30に示すように、ニッパ等の工具625を切り込み部617,618に差し入れ、切り込み部617の間、および切り込み部618の間を切断する。すると、被覆部614が左右の係合ピン固定部615,616から切り離される。よって、被覆部614を取り外すことが可能になる。図31には、被覆部614が取り外された後、ハーネス側コネクタ602が基板側コネクタ601から抜かれた状態が示されている。
以上のように、ハーネス側コネクタ602が基板側コネクタ601に差し込まれ、カバー部材613が装着されると、カバー部材613を破壊しない限りハーネス側コネクタ602を抜くことが不能になる。また、カバー部材613を破壊することによって、ハーネス側コネクタ602を基板側コネクタ601から外すことが可能になるが、図31に示す状態において、左右の係合ピン固定部615,616の破断面には破断の際の傷跡が残る。よって、ハーネス側コネクタ602を基板側コネクタ601から外した後、ハーネス側コネクタ602に不正基板(例えば、不正ROMを含むマイクロコンピュータを搭載した不正な主基板)を装着する目的で不正にカバー部材613を破壊しても、容易にそのことがわかる。従って、不正行為を抑止することができる。
また、図31に示す被覆部614が取り外された状態では、係合ピン固定部615,616の内部に存在する係合ピン621,622の先端部分を工具等で切断することができる。そして、係合ピン固定部615,616をケースカバー202から外すことができる。
カバー部材613を破壊した後、係合ピン固定部615,616を基板から外すことができるので、新たなカバー部613を装着することができる。つまり、ハーネス側コネクタ602を基板側コネクタ601に再装着した後、再度カバー部613を取り付けることができる。従って、検査等の目的でカバー部材613を破壊した後に、再度、カバー部材613を破壊しない限りハーネス側コネクタ602を抜くことが不能になるような構造を適用することができる。よって、基板収納ケース200自体を無駄にすることがない。
図33〜図37は、第2の構造例を示す図である。図33は、ハーネス側コネクタが差し込まれた後、カバー部材が取り付けられる前の状態を示す斜視図である。図34は、ハーネス側コネクタを抜くためにカバー部材を破壊する状態を示す斜視図である。図35は、カバー部材が破壊された後、ハーネス側コネクタが抜かれた状態を示す斜視図である。図36は、係合ピン固定部を取り外す様子を示す斜視図である。図37は、カバー部材を示す図である。図37において、(a)はカバー部材を底面から見た底面図であり、(b)はカバー部材の上面を示す上面図であり、(c)はカバー部材の正面(穴部が視認される面)を示す正面図であり、(d)はカバー部材を裏面(正面の反対側の面)から見た裏面図であり、(e)はカバー部材の側面を示す側面図である。
図37に示すように、カバー部材633の底面(特に、被覆部634の底面)および裏面は開放している。すなわち、底面および裏面は存在しない。従って、カバー部材633は、ハーネス側コネクタ602と基板側コネクタ601とを覆うことができるとともに、ハーネス側コネクタ602に繋がるハーネスを外部に出すことができる。
図33に示すように、基板収納ケース200におけるケースカバー202には、2つの傘部631,632が設けられている。傘部631,632は、合成樹脂等で形成されるケースカバー202と一体に形成される。ただし、ケースカバー202とは別に傘部631,632を形成し、形成した傘部631,632をケースカバー202に取り付けるようにしてもよい。傘部631,632は、図29に示された係合ピン621,622の機能と同様の機能を果たす。図33には、ハーネス側コネクタ602が基板側コネクタ601に差し込まれた状態が示されている。カバー部材633は、ハーネス側コネクタ602と基板側コネクタ601とを覆う被覆部634と、左右の係合ピン固定部635,636とを有する。係合ピン固定部635,636には、カバー部材633が設置されたときに、傘部631,632の位置に相対する位置に穴部639が設けられている。また、図37に示すように、被覆部634と左右の係合ピン固定部635,636との間には、仕切部640が存在する。仕切部640は、傘部631,632の先端側(爪部)が切り取られないようにするための防護用の壁の役割を果たす。また、図37に示すように、穴部639の平面形状は、略楕円における曲率が緩い方の縁部に凸状部分が付加されたような形状である。傘部631,632を上(先端側)から見た形状は、穴部639における凸状部分に合うような形状である。
図33に示すように、カバー部材633が設置されるときに、傘部631,632が穴部639に挿入される。傘部631,632は弾性を有する。従って、傘部631,632の先端側は、穴部639における凸状部分を通るときに窄まり、穴部639を通過すると広がって、係合ピン固定部635,636の内壁に傘部631,632における縁が当接する。よって、カバー部材633は傘部631,632から抜けない状態になる。すなわち、カバー部材633はケースカバー202から抜けない状態になる。
カバー部材633において、被覆部634と左右の係合ピン固定部635,636との間に、内部に向かう複数の切り込み部637および複数の切り込み部638が設けられている。
ハーネス側コネクタ602を基板側コネクタ601から抜くには、カバー部材633を破壊する必要がある。例えば、図34に示すように、ニッパ等の工具625を切り込み部637,638に差し入れ、切り込み部637の間、および切り込み部638の間を切断する。すると、被覆部634が左右の係合ピン固定部635,636から切り離される。よって、被覆部634を取り外すことが可能になる。図35には、被覆部634が取り外された後、ハーネス側コネクタ602が基板側コネクタ601から抜かれた状態が示されている。
以上のように、ハーネス側コネクタ602が基板側コネクタ601に差し込まれ、カバー部材633が装着されると、カバー部材633を破壊しない限りハーネス側コネクタ602を抜くことが不能になる。また、カバー部材633を破壊することによって、ハーネス側コネクタ602を基板側コネクタ601から外すことが可能になるが、図35に示す状態において、左右の係合ピン固定部635,636の破断面には破断の際の傷跡が残る。よって、ハーネス側コネクタ602を基板側コネクタ601から外した後、ハーネス側コネクタ602に不正基板(例えば、不正ROMを含むマイクロコンピュータを搭載した不正な主基板)を装着する目的で不正にカバー部材633を破壊しても、容易にそのことがわかる。従って、不正行為を抑止することができる。
また、図36に示すように、穴部639の平面形状は、略楕円における曲率が緩い方の縁部に凸状部分が付加されたような形状である。そして、傘部631,632を上(先端側)から見た形状は、穴部639における凸状部分に合うような形状である。六面体(例えば、略立方体)である係合ピン固定部635,636を90゜回転させると(例えば、図36に示すa方向に回転させる)、傘部631,632は、略楕円の穴部639から抜け出すことが可能になる。すなわち、係合ピン固定部635,636を傘部631,632から抜き出して(例えば、図36に示すb方向に抜き出して)、基板から外すことが可能になる。なお、被覆部634が取り外されない限り、係合ピン固定部635,636を回転させることはできない。つまり、カバー部材633を破壊しない限り、係合ピン固定部635,636を回転させることはできない。
カバー部材633を破壊した後、係合ピン固定部635,636を基板から外すことができるので、新たなカバー部633を装着することができる。つまり、ハーネス側コネクタ602を基板側コネクタ601に再装着した後、再度カバー部633を取り付けることができる。従って、検査等の目的でカバー部材633を破壊した後に、再度、カバー部材633を破壊しない限りハーネス側コネクタ602を抜くことが不能になるような構造を適用することができる。よって、基板収納ケース200自体を無駄にすることがない。
また、図33、図35および図36に示すように、係合ピン固定部635,636の底面は、ケースカバー202における高くなっている部分(直立している部分)の側が円弧状に切り取られたような形状になっている。従って、係合ピン固定部635,636を回転させるときに、ケースカバー202における直立している部分に当たることなく円滑に回転させることができる。
図38〜図40は、第3の構造例を示す図である。図38は、ハーネス側コネクタが差し込まれた後、カバー部材が取り付けられる前の状態を示す斜視図である。図39は、カバー部材の取り外しを規制するための処理が施されている状態を示す斜視図である。図40は、カバー部材の取り外しを規制するための処理が施された後の状態を示す斜視図である。
カバー部材653の底面および裏面における上部は開放している。すなわち、底面は存在せず、裏面における上部は存在しない。従って、カバー部材653は、ハーネス側コネクタ602と基板側コネクタ601とを覆うことができるとともに、ハーネス側コネクタ602に繋がるハーネスを外部に出すことができる。
また、カバー部材653の裏面の下部には、外側に突出する2つの係止部655が設けられている。基板収納ケース200において、係止部655に対応する位置に、穴部652が設けられている。また、カバー部材653の正面側には、中央に挿入穴657が開けられたインシュロック係合部654が設けられている。また、基板収納ケース200において、インシュロック係合部654に対応する位置に、中央に挿入穴651が開けられたインシュロック係合部650が設けられている。
図39に示すように、カバー部653が装着されると、カバー部材653側のインシュロック係合部654と基板収納ケース200側のインシュロック係合部650とが当接する。その状態では、挿入穴657と挿入穴651とが相対する。そして、図40に示すように、挿入穴657と挿入穴651とに紐状物(インシュロック)661が挿入され、その先端が、インシュロック661の中途に設けられている紐止め用穴662に挿入されて固定される。
図40に示された状態では、インシュロック661を解かない限り、カバー部653を基板側から外すことができない。よって、ハーネス側コネクタ602を基板側コネクタ601から引き抜くことはできない。なお、インシュロック661は、汎用品ではなく特注品である。すなわち、一般には入手困難なものである。また、インシュロック661の一つ一つにタグが形成されている。そして、タグに固有の識別番号(ID)が付されている。固有のID(メーカ等で管理されている。)によって、インシュロック661を偽造することを困難にすることができる。偽造をより困難にするために、IDは、印字されるのではなく、金型成型時に形成される。また、インシュロック661を解いた後では、再度、先端を紐止め用穴662に挿入しても固定不能な構造を有することが好ましい。よって、一度インシュロック661を解くと、新たなインシュロック661を入手しない限り、元の状態(図40に示された状態)に戻すことはできない。
よって、ハーネス側コネクタ602を基板側コネクタ601から外した後、ハーネス側コネクタ602に不正基板(例えば、不正ROMを含むマイクロコンピュータを搭載した不正な主基板)を装着する目的で不正にカバー部材653を外しても、容易にそのことがわかる。固定されたインシュロック661が存在しなくなるからである。
図41〜図44は、第4の構造例を示す図である。図41は、ハーネス側コネクタが差し込まれた後、カバー部材が取り付けられる前の状態を示す斜視図である。図42は、カバー部材の取り外しを規制するための処理が施されている状態を示す斜視図である。図43は、カバー部材の取り外しを規制するための処理が施された後の状態を示す斜視図である。図44は、ハーネス側コネクタを抜くためにカバー部材を破壊する状態を示す斜視図である。
カバー部材673の底面および裏面における上部は開放している。すなわち、底面は存在せず、裏面における上部は存在しない。従って、カバー部材673は、ハーネス側コネクタ602と基板側コネクタ601とを覆うことができるとともに、ハーネス側コネクタ602に繋がるハーネスを外部に出すことができる。
カバー部材673の正面側には、中央に穴部672を有する取付部材674,675が設けられている。また、基板収納ケース200において、内部にねじ溝が切られた穴部678を有するねじ受け部材670,671が設けられている。
図42に示すように、カバー部材673がハーネス側コネクタ602と基板側コネクタ601とに被せられると、取付部材674,675がねじ受け部材670,671に当接する。また、穴部672は穴部678に相対する。その状態で、2カ所の穴部672,678の一方にワンウェイねじ679が差し込まれ、ねじ止めされる。図43には、ねじ受け部材670にねじ止めされた様子が示されている。なお、ねじ受け部材670,671のうちの一方(例えば、ねじ受け部材671)は予備用である。後述するように、ねじ受け部材670が破壊された後、新たなカバー部材673を被せて、予備用のねじ受け部材671に新たなワンウェイねじ679をねじ止めすることによって、再度コネクタ封止構造を実現することができる。また、ケースカバー202等に、予備のワンウェイねじ679を保管しておく箇所を設け、そこに、予備のワンウェイねじ679を保管してもよい。
図43に示す状態では、ワンウェイねじ679をスクリュードライバで外すことはできないので、カバー部材673を破壊しない限りハーネス側コネクタ602を抜くことが不能になる。また、カバー部材673を破壊することによって、ハーネス側コネクタ602を基板側コネクタ601から外すことが可能になる。図41に示すように、取付部材674,675の根元部(略直方体のカバー部材673の本体に近い側)677は、扁平に形成されている。よって、図44に示すように、ニッパ等の工具625で、根元部677を切断すると、カバー部材673が基板収納ケース200から切り離され、ハーネス側コネクタ602を基板側コネクタ601から引き抜くことが可能になる。
根元部677が切断されると、根元部677の破断面には破断の際の傷跡が残る。よって、ハーネス側コネクタ602を基板側コネクタ601から外した後、ハーネス側コネクタ602に不正基板(例えば、不正ROMを含むマイクロコンピュータを搭載した不正な主基板)を装着する目的で不正にカバー部材673を破壊しても、容易にそのことがわかる。従って、不正行為を抑止することができる。
以上に説明したように、ハーネス側コネクタ602を基板側コネクタ601に装着した後、カバー部材613,633,653,673を被せて、カバー部材613,633,653,673を取り外せないような構造にすることによって不正行為を効果的に防止することができる。
上述したように、ハーネス側コネクタ602を基板側コネクタ601に装着した後、その接合を解除できないようにするための構造の適用箇所は、図25〜図27に示す例では、〇で示された箇所であるが、〇で示される箇所のうちの全ての箇所に適用してもよいし、任意の数カ所(1カ所を含む)に適用してもよい。
また、適用する場合に、主基板31にケーブルで直接電気的に接続される他の基板におけるコネクタ設置位置(主基板31と他の基板の双方において)において適用されることが好ましいが、主基板31(第1基板とする。)に接続される他の基板(第2基板とする。)と、第2基板に接続されるさらに他の基板(第3基板とする。)との双方におけるコネクタ設置位置(第1基板および第2基板を接続するケーブルが接続されるコネクタの設置位置)においても、上述したコネクタ封止構造(基板側コネクタ601とハーネス側コネクタ602との封止)が適用されることがより好ましい。第3基板におけるコネクタ接続を外して、第1基板を不正基板に換えて(第2基板も含めて交換して、または第2基板で実現される機能も含む不正基板に交換して)第3基板に接続するような不正行為がなされることも考えられるからである。なお、第1基板に相当するものは主基板31に限られず、他の基板であってもよい。
図5や図10等に示されたコネクタ規制部材500によるコネクタ封止構造、図16〜図18に示されたコネクタ規制部材520によるコネクタ封止構造、および図19および図20に示されたコネクタ規制部材550によるコネクタ封止構造でも、コネクタ規制部材500,520,550または基板収納ケース200の一部を破壊しない限りコネクタ規制部材500の保持状態を解除することができなくなる。よって、第1基板と第2基板と第3基板の各々に上記の第1〜第4の構造例をコネクタ封止構造として適用できるが、図5や図10等に示されたコネクタ規制部材500によるコネクタ封止構造を適用してもよい。
なお、第2基板や第3基板にもコネクタ封止構造を採用して、主基板31を第2基板や第3基板に接続不能にした場合には、第2基板や第3基板が演出制御基板80や図柄基板411である場合には、主基板31を不正基板に換えても、正規の演出が実行されない。また、第2基板や第3基板が払出制御基板37である場合には、正規の払出制御が実行されない。その他の基板についても、正規の機能を果たさなくなる。その結果、外部から遊技機を観察すると、異常な動作を行っていることが容易に把握される。つまり、第2基板や第3基板にもコネクタ封止構造を採用すれば、主基板31が不正基板に換えられても、容易にそのことを発見できる。換言すれば、不正基板を第2基板や第3基板に接続できなくすると、例えば、第2基板や第3基板が演出制御基板80である場合には、画像表示、音、発光等の演出が実行されない、第2基板や第3基板が払出制御基板37である場合には、入賞があっても払出が実行されない、第2基板や第3基板が図柄基板411である場合には、始動入賞しても図柄が変動しない、第2基板や第3基板がその他の基板である場合にも、演出や報知が正常になされない、といった現象が生ずる。よって、現象により不正基板が外部から容易に認識されてしまうことになるので、不正行為者は主基板31と接続される基板に対しては極力全部の基板と不正基板とを接続することが予想される。よって、第2基板や第3基板のコネクタを封止することに意義がある。
例えば、図25〜図27に例示する構成において、主基板31、図柄基板411、周辺電源中継基板412、周辺コマンド中継基板177、盤用外部端子板36、第1始動口スイッチ14a、第2始動口スイッチ14b、電源基板910、払出制御基板37、音声出力基板70および演出制御基板80に着目すると、主基板31には、主基板31と他の基板(図柄基板411、周辺電源中継基板412、周辺コマンド中継基板177、盤用外部端子板36、第1始動口スイッチ14a、第2始動口スイッチ14b、電源基板910、払出制御基板37)とを接続するための複数の基板側コネクタ601が搭載されているが、それぞれの基板側コネクタ601に他の基板に接続されるハーネス側コネクタ602が差し込まれた後にはハーネス側コネクタ602を引き抜き不能にするための引き抜き不能化手段(封止手段等)によって、ハーネス側コネクタ602は引き抜き不能になる。
また、他の基板(図柄基板411、周辺電源中継基板412、周辺コマンド中継基板177、盤用外部端子板36、第1始動口スイッチ14a、第2始動口スイッチ14b、電源基板910、払出制御基板37)についても、主基板31を接続するための基板側コネクタ601が搭載されているが、それぞれの基板側コネクタ601に主基板31に接続されるハーネス側コネクタ602が差し込まれた後にはハーネス側コネクタ602を引き抜き不能にするための引き抜き不能化手段(封止手段等による第1引き抜き不能化手段)によって、ハーネス側コネクタ602は引き抜き不能になる。
また、音声出力基板70および演出制御基板80には、他の基板(周辺電源中継基板412、周辺コマンド中継基板177)を接続するための基板側コネクタ601が搭載されているが、それぞれの基板側コネクタ601に他の基板(周辺電源中継基板412、周辺コマンド中継基板177)に接続されるハーネス側コネクタ602が差し込まれた後にはハーネス側コネクタ602を引き抜き不能にするための引き抜き不能化手段(封止手段等による第2引き抜き不能化手段)によって、ハーネス側コネクタ602は引き抜き不能になる。
なお、図25〜図27に例示する構成において、遊技球を検出するための各スイッチは、スイッチ部材そのものであってもよいが、スイッチ部材を搭載した基板であってもよい。
なお、上記の各構造では、1つのカバー部材613,633,653,673を用いたが、カバー部材は1つに限られない。例えば、ハーネス側コネクタ602を基板側コネクタ601に装着した後、コネクタを複数のカバー部材で覆うようにして、それらのカバー部材を、破壊しない限り、開けられないような構造を用いてもよい。また、コネクタをカバー部材で覆うようにした後、そのカバー部材を他の部材(例えば、上記のカバー部材613,633,653,673の構造を有するもの)で覆うようにしてもよい。
また、以上の説明では、ハーネス側コネクタ602を基板側コネクタ601から取り外すことができない構造(引き抜き不能化手段)としてカバー部材613,633,653,673を用いた構造を例にしたが、ハーネス側コネクタ602を基板側コネクタ601から取り外すことができない構造(基板や電気部品に設けられているコネクタ(例えば、雌型コネクタ)に差し込まれたコネクタ(例えば、雄型コネクタ)を抜けないようにするための構造)は、そのような構造に限られない。以下のような構造による引き抜き不能化手段を用いてもよい。
(A)コネクタ自体を、一度他のコネクタが装着されたら、引き抜き不能な構造を有するものにする。
(B)例えば、両コネクタが接続されたら、内部的に(人手で操作できないように)、両コネクタをロックする解除不能化部材を設ける。
(C)ロック付きのコネクタを用いる。通行、ロック部分を人手で操作することによって、両コネクタの接続を解除することができるが、ロック部分に対して、一度他のコネクタが装着されたら、ロック部分を人手で操作してもロック解除されないような解除不能化部材を設ける。
また、以上の説明では、ハーネス側コネクタ602と基板側コネクタ601との接合部分を開放できないようにするための封止手段(基板側コネクタ601に差し込まれたハーネス側コネクタ602を抜けないようにするための手段)として、係合ピン、インシュロック、係合ピンまたはワンウェイねじを例示したが、封止手段はそれらに限られない。例えば、以下のようなものを使用することができる。
(1)リベット
(2)熱溶着や高周波溶着で接合される部材
(3)紫外線硬化樹脂などによる接着剤
(4)係合部品(この場合には、係合部分に接着剤を塗布したり、接着剤を注入したり、溶着したりする。)
また、上記の(1)〜(4)のものや係合ピンを用いる場合に、基板側コネクタ601からハーネス側コネクタ602を外す際に、上記の各構造のようにコネクタ自体を破壊するのではなく、上記の(1)〜(4)のものや係合ピンを破壊したり、それらの一部を破壊するような構造にしてもよい。
なお、上記の(A)〜(C)およびカバー部材613,633,653,673を用いた構造のうちのいずれかの構造と、上記の(1)〜(4)、係合ピン、インシュロックおよびねじのうちのいずれかの封止手段とを、任意に組み合わせることができる。
また、以上の説明では、ハーネス側コネクタ602と基板側コネクタ601との接合部分を開放できないようにするための封止手段の材質として、金属を用いてもよいし、合成樹脂を用いてもよい。
また、以上の説明では、封止可能回数(カバー部材613,633,653,673の利用可能回数)は1回であったが、複数回利用できるような構造を採用してもよい。例えば、基板収納ケース200において採用されたかしめ(ワンウェイねじによる)回数を複数回にするためにワンウェイねじの装着箇所を複数(例えば4つ)設ける。複数回利用できるような構造を採用する場合には、再封止のための予備部材を用意しなくてよい。
封止可能回数を複数回にした場合には、開封(破壊等によって封止を解除すること)したことが容易に確認できるようにする構造を有していることが好ましい。例えば、切断によって開封するような構造では、切断部を直ちに視認できるように、上面側に切断面がくるような構造を採用することが好ましい。
また、封止可能回数を複数回にした場合には、正規の開封に対応するために、基板側コネクタの近傍に、履歴シールを貼付しておくことが好ましい。履歴シールには、例えば、開封の際に記入される「検査者」の欄と「検査日」の欄とが設けられている。検査者等が検査等の目的で開封したときには、「検査者」の欄に自身の名前を記入し「検査日」の欄に破壊した日を記入する。それらの記入がないにも関わらず、開封されているときには、不正行為がなされたと判定することができる。
さらに、封止に用いる部材は、開封されたことが容易に確認できるように、特殊な形状であることが好ましい。
なお、上記の第1〜第4の構造例では、ハーネス側コネクタ602と基板側コネクタ601との接合部分を開放できないように封止する封止手段が用いられたが、基板収納ケース200に、コネクタに関する封止機能を持たせると、封止手段の数が少なくなってコストが増大しない。
また、上記の第1〜第4の構造、またはカバー部材を用いる他の構造において、封止されているコネクタに対して万一不正行為がなされても容易に不正行為を発見できるように、カバー部材は透明の材質で形成されていることが好ましい。
また、封止手段の色を、蛍光色等の目立つような色にして、開封されていないか否かに注目させるようにしておくことが好ましい。
図45は、主基板31における回路構成の他の例を示すブロック図である。なお、図45には、一部のみが示されている。図45に示すように、遊技店員等による操作に応じて遊技制御用マイクロコンピュータ560による遊技制御処理を中断させるための中断ボタン361が主基板31に搭載されている。中断ボタン361は、押下されたことに応じて、遊技制御処理中断信号を遊技制御用マイクロコンピュータ560に対して出力する。
また、主基板31には、遊技制御用マイクロコンピュータ560の制御に応じて、遊技機の遊技状態を報知するための状態報知LED61に駆動信号を与えるLED回路60が設けられている。状態報知LED61は、主基板31に設けられている。記載省略されているその他の構成は、図3に示された構成と同じである。
この実施の形態では、状態報知のための発光体として状態報知LED61が用いられているが、LED以外の発光体を用いてもよい。発光体は1個ものに限られず複数個の発光体により報知するものでもよい。さらにドットマトリクス表示器、7セグメント表示器、液晶表示器、EL等により報知するものでもよい。また、発光体以外の報知手段(例えば、スピーカ、ブザー等)を用いてもよい。
図46は、遊技制御用マイクロコンピュータの回路構成および主基板から演出制御基板に送信される演出制御コマンドの信号線を示すブロック図である。図46には、図3に示す遊技球の入賞等を検出するための各種スイッチのうち、始動口スイッチ(第1始動口スイッチおよび第2始動口スイッチ)14a,14bが示されている。また、可変入賞球装置15を開閉するソレノイド16および特別可変入賞球装置20を開閉するソレノイド21も示されている。
図46には、主基板31に、照合端子364が設けられていることが示されている。また、図46には、遊技制御用マイクロコンピュータ560のより詳しい構成が示されている。遊技制御用マイクロコンピュータ560は、クロック回路801、システムリセット手段として機能するリセットコントローラ802、乱数回路803a,803b、ゲーム制御用のプログラム等を記憶するROM54、ワークメモリとして使用されるRAM55、プログラムに従って動作するCPU56、CPU56に割込要求信号(タイマ割込による割込要求信号)を送出するCTC804、およびI/Oポート部57を内蔵する。
クロック回路801は、システムクロック信号を27(=128)分周して生成した所定の周期の基準クロック信号CLKを、各乱数回路803a,803bに出力する。リセットコントローラ802は、ローレベルの信号が一定期間入力されたとき、CPU56および各乱数回路803a,803bに所定の初期化信号を出力して、遊技制御用マイクロコンピュータ560をシステムリセットする。なお、乱数回路803a,803bは、図4に示された乱数回路503の一部である。
また、この実施の形態では、図46に示すように、遊技制御用マイクロコンピュータ560は、発生可能な乱数の値の範囲が異なる2つの乱数回路803a,803bを搭載する。乱数回路803aは、12ビットの疑似乱数を発生する乱数回路(以下、12ビット乱数回路ともいう)である。12ビット乱数回路803aは、12ビットで発生できる範囲(すなわち、0から4095までの範囲)の値の乱数を発生する機能を備える。また、乱数回路803bは、16ビットの疑似乱数を発生する乱数回路(以下、16ビット乱数回路ともいう)である。16ビット乱数回路803bは、16ビットで発生できる範囲(すなわち、0から65535までの範囲)の値の乱数を発生する機能を備える。なお、この実施の形態では、遊技制御用マイクロコンピュータ560が2つの乱数回路を内蔵する場合を説明するが、遊技制御用マイクロコンピュータ560は、3以上の乱数回路を内蔵してもよい。また、この実施の形態では、12ビット乱数回路803aおよび16ビット乱数回路803bを包括的に表現する場合、または、12ビット乱数回路803aと16ビット乱数回路803bとのうちいずれかを指す場合に、乱数回路503という。
次に、乱数回路503の構成について説明する。図47は、乱数回路503の構成例を示すブロック図である。なお、この実施の形態において、12ビット乱数回路803aと16ビット乱数回路803bとの基本的な構成は同じである。図47に示すように、乱数回路803は、カウンタ821、比較器822、カウント値順列変更回路823、クロック信号出力回路824、カウント値更新信号出力回路825、乱数値読取信号出力回路826、乱数更新方式選択信号出力回路827、セレクタ828、乱数回路起動信号出力回路830、乱数値記憶回路831、反転回路832、ラッチ信号生成回路833およびタイマ回路834とを含む。
この実施の形態では、乱数回路503は、複数種類の識別情報の可変表示の表示結果を特定の表示結果とするか否か(例えば、特別図柄表示装置8の表示図柄の組み合わせを大当り図柄の組み合わせとするか否か)を判定するための大当り判定用の乱数を発生する。そして、遊技制御用マイクロコンピュータ560のCPU56は、乱数回路503が発生した乱数にもとづいて特定の表示結果とすると判定すると、遊技状態を遊技者にとって有利な特定遊技状態(例えば、大当り遊技状態)に移行させる。なお、この実施の形態では、確変とするか否かを決定するための確変決定用乱数や、特別図柄(大当り図柄)を決定する特別図柄決定用乱数など、大当り判定用以外の判定用乱数については、後述するようにソフトウェア乱数(CPU56が乱数発生用のプログラムに従って動作することによって発生される乱数)を用いる。
カウンタ821は、セレクタ828によって選択された所定の信号を入力し、セレクタ828から入力する信号に応答してカウント値Cを出力する。この場合、カウンタ821は、所定の初期値を入力し、カウント値Cを一定の規則に従って初期値から所定の最終値まで循環的に更新して出力する。また、カウンタ821は、カウント値Cを最終値まで更新すると、カウント値Cを最終値まで更新した旨を示す通知信号をCPU56に出力する。この実施の形態では、カウンタ821から通知信号が出力されると、CPU56によって初期値が更新される。
この実施の形態において、カウンタ821は、セレクタ828から信号を入力するごとに(セレクタ828からの信号における立ち上がりエッジが入力されるごとに)、カウント値Cを「0」から「4095」まで1ずつカウントアップする。また、カウンタ821は、カウント値Cを「4095」までカウントアップすると、カウント値Cを最終値まで更新した旨を示す通知信号をCPU56に出力する。すると、CPU56は、カウンタ821から通知信号を入力し、初期値を更新する。そして、カウンタ821は、CPU56によって更新された初期値から「4095」まで、再びカウント値Cをカウントアップする。また、「4095」までカウントアップすると、カウンタ821は、再び「0」からカウントを開始する。そして、カウンタ821は、更新後の初期値の1つ前の値(最終値)までカウントアップすると、通知信号をCPU56に出力する。なお、この実施の形態では、比較器822は、後述するように、全てのカウント値を入力すると通知信号をカウンタ821に出力する。この場合、カウンタ821は、比較器822から通知信号を入力すると、カウント値をリセットして「0」にする。
なお、比較器822は、入力したカウント値が乱数最大値設定レジスタ835に設定されている乱数最大値より大きいか否かを判断し、カウント値が乱数最大値より大きい(乱数最大値を超えた)と判断すると、通知信号をカウンタ821に出力してもよい。この場合、例えば、比較器822は、カウント値が乱数最大値を超えたと判断すると、クロック信号出力回路824が次に乱数発生用クロック信号SI1を出力する前に、通知信号をカウンタ821に出力する。例えば、乱数最大値設定レジスタ835に乱数最大値「256」が設定されている場合を考える。この場合、カウンタ821が「0」から「256」までカウントアップし、さらにカウント値「257」を出力すると、比較器822は、入力したカウント値「257」が乱数最大値「256」を超えたと判断し、カウンタ821に通知信号を出力する。比較器822から通知信号を入力すると、カウンタ821は、クロック信号出力回路824からの乱数発生用クロック信号SI1の入力を待つことなく、カウント値を「258」に更新し出力する。以上の処理を繰り返し実行することによって、比較器822は、カウント値「257」から「4095」まで入力している間、カウント値が乱数最大値を超えていると判断して、繰り返しカウンタ821に通知信号を出力する。そして、カウンタ821は、比較器822から通知信号を入力している間、クロック信号出力回路824からの乱数発生用クロック信号SI1の入力を待つことなく、カウント値を繰り返し更新し出力する。そのようにすることによって、クロック信号出力回路824が次に乱数発生用クロック信号SI1を出力するまでの間に、「257」から「4095」までカウント値を高速にカウントアップさせるように制御し、「257」から「4095」までの乱数値を読み飛ばす(乱数値記憶回路831に記憶させない)ように制御する。
カウント値順列変更回路823は、カウント値順列変更レジスタ(RSC)836、更新規則選択レジスタ(RRC)842および更新規則メモリ843を含む。カウント値順列変更レジスタ836は、カウンタ821がカウントアップするカウント値Cの更新順である順列(初期値から最終値までの並び順)を変更させるためのカウント値順列変更データ「01(H)」を格納する。なお、(H)は16進数であることを示す。カウント値順列変更回路823は、カウント値順列変更レジスタ836に数値順列変更データ「01(H)」が格納されているとき、カウンタ821がカウントアップして更新するカウント値Cの順列を、カウント値順列変更データ「01(H)」が格納されていないときとは異なる順列に変更する。この場合、カウント値順列変更回路823は、数値順列変更データ「01(H)」が格納されているとき、カウント値の順列の変更に用いる更新規則を切り換える。また、カウント値の順列の変更に用いる更新規則を切り換えた後に、カウンタ821がカウント値の更新を開始すると、カウント値順列変更レジスタ836のカウント値順列変更データは、CPU56によって、「01(H)」から初期値である「0(=00(H))」に戻される(クリアされる)。
なお、CPU56によってカウント値順列変更データをクリアするのでなく、乱数回路503側でカウント値順列変更データをクリアするようにしてもよい。例えば、カウント値順列変更レジスタ836にカウント値順列変更データ「01(H)」が書き込まれたことにもとづいて、更新規則選択レジスタ(RRC)842にレジスタ値が設定されると、カウント値順列変更回路823は、カウント値順列変更レジスタ836のレジスタ値をクリアするようにしてもよい。
図48は、更新規則選択レジスタ842の例を示す説明図である。更新規則選択レジスタ842は、カウンタ821が出力するカウント値の並び順の並べ替え(順列の変更)に用いる更新規則を設定するレジスタである。この実施の形態では、更新規則選択レジスタ842にレジスタ値が設定されることによって、カウンタ821が出力するカウント値の順列の変更に用いる更新規則が設定される。図48に示すように、更新規則選択レジスタ842は、8ビットレジスタであり、初期値が「0(=00(H))」に設定されている。また、更新規則選択レジスタ842は、ビット0〜ビット3が書込および読出ともに可能な状態に構成されている。また、更新規則選択レジスタ842は、ビット4〜ビット7が書込および読出ともに不可能な状態に構成されている。したがって、更新規則選択レジスタ842のビット4〜ビット7に値を書き込む制御を行っても無効とされ、ビット4〜ビット7から読み出す値は全て「0(=0000(B))」である。なお、(B)は2進数であることを示す。
更新規則選択レジスタ842の値(レジスタ値)は、カウント値順列変更レジスタ836にカウント値順列変更データ「01(H)」が書き込まれたことに応じて、レジスタ値が「0(=00(H))」から「15(=0F(H))」まで循環的に更新される。すなわち、カウント値順列変更レジスタ836にカウント値順列データ「01(H)」が書き込まれるごとに、更新規則選択レジスタ842のレジスタ値は、「0」から「1」ずつ加算され、「15」になると再び「0」に戻る。
図49は、更新規則メモリ843の例を示す説明図である。図49に示すように、更新規則メモリ843は、更新規則選択レジスタ842の値(レジスタ値)と、カウント値の更新規則とを対応付けて格納している。図49に示す例では、例えば、更新規則選択レジスタ842にレジスタ値1が設定されている場合、更新規則Bを用いて、カウンタ821が出力するカウント値の順列が変更されることが分かる。なお、図49において、更新規則Aは、カウンタ821がカウント値Cを更新する規則と同一の更新規則であり、レジスタ値「0」に対応づけて更新規則メモリ843に格納される。また、更新規則メモリ843には、カウンタ821がカウント値Cを更新する更新規則とは異なる更新規則B〜Pが、レジスタ値「1」〜「15」に対応づけて格納される。
カウント値順列変更回路823は、カウント値順列変更レジスタ836にカウント値順列変更データ「01(H)」が書き込まれている場合、まず、カウンタ821からカウント値の最終値「4095」が最初に入力されるまで、現在設定されている更新規則に従って、そのままカウント値を出力する。そして、カウント値順列変更回路823は、カウンタ821からカウント値の最終値「4095」を入力すると、カウント値の更新規則を変更する。なお、CPU56によって初期値が変更されている場合には、カウント値順列変更回路823は、カウンタ821から変更後の最終値(初期値の1つ前の値)まで入力すると、カウント値の更新規則を変更することになる。
カウント値順列変更回路823は、更新規則選択レジスタ842のレジスタ値に対応する更新規則を更新規則メモリ843から選択し、カウント値の順列の変更に用いる更新規則として設定する。また、カウント値順列変更回路823は、カウンタ821によって再び初期値「0」から順にカウント値の更新が開始されると、設定した更新規則に従って、カウント値の初期値から最終値までの順列を変更する。なお、CPU56によって初期値が変更されている場合には、カウント値順列変更回路823は、カウンタ821によって変更後の初期値から順にカウント値の更新が開始されると、設定した更新規則に従って、カウント値の初期値から最終値までの順列を変更することになる。そして、カウント値順列変更回路823は、変更した順列に従ってカウント値を出力する。
なお、この実施の形態では、後述する乱数最大値設定レジスタ835に乱数最大値が設定されていることによって、発生させる乱数の最大値が制限されている場合、カウント値順列変更回路823は、カウント値Cを乱数最大値以下に制限して順列を変更して出力する。例えば、乱数最大値設定レジスタ835に乱数最大値「256」が設定されているものとし、カウント値順列変更回路823が、更新規則Aから更新規則Bに変更して、カウント値の順列を変更するものとする。この場合、カウント値順列変更回路823は、比較器822の乱数最大値設定レジスタ835に設定されている乱数最大値「256」にもとづいて、更新規則Bに従って、カウント値の順列を「256→255→・・・→0」に変更して出力する。
以上のように、カウント値順列変更回路823は、カウント値順列変更レジスタ836にカウント値順列変更データ「01(H)」が書き込まれている場合、更新規則を切り替えて用いることによって、カウント値Cの順列を変更して出力する。そのため、乱数回路503が生成する乱数のランダム性を向上させることができる。
図50は、カウント値順列変更回路823が、カウンタ821が出力するカウント値の順列を変更する場合の例を示す説明図である。図50に示すように、CPU56は、所定のタイミングで、カウント値順列変更データ「01(H)」をカウント値順列変更レジスタ836に書き込む。すると、更新規則選択レジスタ842のレジスタ値が1加算される。例えば、更新規則選択レジスタ842のレジスタ値が「0」から「1」に更新される。レジスタ値が更新されると、カウント値順列変更回路823は、カウンタ821から最初にカウント値の最終値「4095」が入力されるまで、更新前のレジスタ値「0」に対応する「更新規則A」に従ってカウント値を更新して出力する。このとき、カウント値順列変更回路823は、更新規則Aに従って、「0→1→・・・→4095」の順列でカウント値を出力する。
カウンタ821からカウント値の最終値「4095」が入力されると、カウント値順列変更回路823は、更新規則メモリ843から、更新後のレジスタ値「1」に対応する「更新規則B」を選択して設定する。カウント値順列変更回路823は、カウンタ821から再び初期値「0」以降のカウント値の入力を開始すると、選択設定した「更新規則B」に従って、カウント値の順列を変更して出力する。本例では、カウント値順列変更回路823は、順列を「0→1→・・・→4095」から「4095→4094→・・・→0」に変更して、カウント値を出力する。
その後、カウント値順列変更レジスタ836は、後述するように、カウント値順列変更回路823が切り替え後の更新規則に従ってカウント値の更新動作を開始したことに応じてリセットされる。そして、次にカウント値順列変更データ「01(H)」がカウント値順列変更レジスタ836に書き込まれるまで、カウント値順列変更回路823は、「4095→4094→・・・→0」のままの順列で、カウント値を出力し続ける。
CPU56によってカウント値順列変更データ「01(H)」がカウント値順列変更レジスタ836に再度書き込まれると、カウント値順列変更レジスタ836のレジスタ値が「1」から「2」に更新される。そして、カウンタ821からカウント値の最終値「4095」を入力すると、カウント値順列変更回路823は、更新規則メモリ843から、レジスタ値「2」に対応する「更新規則C」を選択して設定する。カウント値順列変更回路823は、カウンタ821から再び初期値「0」以降のカウント値の入力を開始すると、選択設定した「更新規則C」に従って、カウント値の順列を更新して出力する。本例では、カウント値順列変更回路823は、順列を「4095→4094→・・・→0」から「1→3→…→4095→0→・・・→4094」に変更して、カウント値を出力する。
以上のように、カウント値順列変更レジスタ836をリセットした後、カウント値順列データ「01(H)」をカウント値順列変更レジスタ836に再度書き込むことによって、カウント値の順列をさらに変更することができる。
図51は、カウント値順列変更レジスタ836の例を示す説明図である。カウント値順列変更レジスタ836は、カウンタ821がカウントアップするカウント値の順列を変更させるためのカウント値順列変更データ「01(H)」を設定するレジスタである。図51に示すように、カウント値順列変更レジスタ836は、読出可能な8ビットレジスタであり、初期値が「0(=00(H))」に設定されている。また、カウント値順列変更レジスタ836は、ビット0だけが書込および読出ともに可能な状態に構成されている。すなわち、カウント値順列変更レジスタ836は、ビット1〜ビット7が書込および読出ともに不可能な状態に構成されている。したがって、カウント値順列変更レジスタ836のビット1〜ビット7に値を書き込む制御を行っても無効とされ、ビット1〜ビット7から読み出す値は全て「0(=0000000(B))」である。
なお、カウント値順列変更レジスタ836の値は、カウント値順列変更回路823が切り替え後の更新規則に従ってカウント値の更新動作を開始したことに応じて、CPU56によってリセットされる。この場合、CPU56は、カウント値順列変更レジスタ836に書き込まれている値を、カウント値順列変更データ「01(H)」から初期値である「0(=00(H))」に戻す。
比較器822は、ランダムR(乱数回路503が発生する乱数)の最大値(乱数最大値)を指定するための乱数最大値設定データを格納する乱数最大値設定レジスタ(RMX)835を備える。比較器822は、乱数最大値設定レジスタ835に格納されている乱数最大値設定データに示される乱数最大値に従って、カウンタ821が更新するカウント値の更新範囲を制限する。この実施の形態では、比較器822は、カウンタ821から入力するカウント値と乱数最大値設定レジスタ835に格納されている乱数最大値設定データ(例えば「00FF(H)」)に示される乱数最大値(例えば「256」)とを比較する。そして、比較器822は、入力したカウント値が乱数最大値以下であると判断すると、入力したカウント値を乱数値記憶回路831に出力する。
この実施の形態では、比較器822は、具体的には、以下のような制御を行う。比較器822は、カウント値の初期値更新の際に、CPU56からカウント値の初期値をもらい、初期値から乱数最大値までのカウント値の個数を求める。例えば、カウント値の初期値が「157」であり乱数最大値が「256」である場合、比較器822は、初期値から乱数最大値までのカウント値の個数を「100個」と求める。また、比較器822は、カウント値順列変更回路823からカウント値を入力するに従って、初期値からカウント値をいくつ入力したかをカウントアップする。初期値からカウント値を入力した回数が「100回」に達すると、比較器822は、初期値「157」から最大値「256」までの全てのカウント値を入力したと判断する。そして、比較器822は、全てのカウント値を入力した旨の通知信号をカウンタ821に出力する。カウント値の個数で判断することによって、カウント値順列変更回路823によってカウント値の順列が変更されている場合であっても、比較器822は、カウント値の更新範囲を乱数最大値以下に制限し、全てのカウント値を入力した際にカウンタ821に通知信号を出力することができる。
カウント値の更新範囲を比較器822が制限する動作について説明する。なお、本例では、カウント値順列変更回路823が更新規則Aを選択し、乱数最大値設定レジスタ835に乱数最大値「256」が設定されている場合を説明する。
カウンタ821が「0」から「256」までカウント値を更新している間、カウント値順列変更回路823は、乱数最大値設定レジスタ835に設定されている乱数最大値「256」にもとづいて、更新規則Aに従って、「0」から「256」までのカウント値をそのまま比較器822に出力する。この場合、カウント値順列変更回路823は、比較器822から乱数最大値「256」の値をもらい、カウンタ821から入力するカウント値が乱数最大値より大きいか否かを判断し、更新規則が変更されているとき(例えば、更新規則B)であっても、乱数最大値設定レジスタ835に設定されている乱数最大値「256」にもとづいて、「257」から「4095」までのカウント値を比較器822に出力しない。カウンタ821は、例えば、初期値が「0」と設定されているときに、最終値「256」までカウント値を更新すると、通知信号をCPU56に出力する。通知信号を出力すると、CPU56によって、カウンタ821のカウント値の初期値が変更される。本例では、CPU56によって、初期値が「50」に変更されるものとする。
なお、カウント値が乱数最大値「256」より大きいか否かをカウント値順列変更回路823が判断するのでなく、比較器822が判定するようにしてもよい。この場合、例えば、比較器822は、カウント値が乱数最大値設定レジスタ835に設定されている乱数最大値より大きいか否かを判断し、カウント値が乱数最大値より大きいと判断すると、通知信号をカウンタ821に出力する。そして、比較器822は、カウント値が乱数最大値を超えたと判断すると、クロック信号出力回路824が次に乱数発生用クロック信号SI1を出力する前に、通知信号をカウンタ821に出力する。そのようにすることによって、比較器822は、クロック信号出力回路824が次に乱数発生用クロック信号SI1を出力するまでの間に、「257」から「4095」までカウント値を高速にカウントアップさせるようにカウンタ821を制御する。そのようにすることによって、カウント値順列変更回路823からの値が「257」未満のときだけカウント値を乱数値記憶回路831に出力するようにし、カウント値順列変更回路823からの値が「257」以上のときにはカウント値を高速で更新させるようにすることができる。
更新規則Aにもとづいて、カウント値順列変更回路823から、「0」から「255」までカウント値を入力している間、比較器822は、入力するカウント値が乱数最大値「256」以下であるので、入力したカウント値をそのまま乱数値記憶回路831に出力する。次に、カウント値順列変更回路823から入力するカウント値が「256」に達すると、比較器822は、入力したカウント値を乱数値記憶回路831に出力するとともに、初期値から最大値までの全てのカウント値を入力した旨の通知信号をカウンタ821に出力する。具体的には、比較器822は、カウント値の初期値変更の際に、CPU56からカウント値の初期値(本例では、「0」)をもらい、初期値「0」から乱数最大値(本例では、「256」)までのカウント値の個数(本例では、「257個」)を求める。そして、カウント値順列変更回路823から入力したカウント値の個数が257個に達すると、全てのカウント値を入力した旨の通知信号をカウンタ821に出力する。なお、本例では、CPU56によって初期値が「50」に変更されるので、カウンタ821は、比較器822から通知信号を入力しても、カウント値をリセットするとなく、変更後の初期値「50」からカウント値の更新を行う。
カウンタ821が変更後の初期値「50」から「256」までカウント値を更新している間、カウント値順列変更回路823は、乱数最大値設定レジスタ835に設定されている乱数最大値「256」にもとづいて、更新規則Aに従って、「50」から「256」までのカウント値をそのまま比較器822に出力する。また、カウント値順列変更回路823は、乱数最大値設定レジスタ835に設定されている乱数最大値「256」にもとづいて、「257」から「4095」までのカウント値を比較器822に出力せず、カウンタ821の更新するカウント値が1周したとき(257回更新したとき)に、カウント値順列変更レジスタ836にカウント値順列変更データが書き込まれた場合には、カウント値順列変更回路823は、カウント値の順列を変更して出力する。例えば、更新規則が更新規則Bに変更された場合、カウント値順列変更回路823は、カウント値の順列を「256→255→・・・→50」に変更して出力する。
カウント値順列変更回路823から、「256」から「50」までカウント値を入力している間、比較器822は、入力したカウント値をそのまま乱数値記憶回路831に出力する。次に、カウント値順列変更回路823から入力するカウント値が「50」に達すると、比較器822は、入力したカウント値を乱数値記憶回路831に出力するとともに、初期値から最大値までの全てのカウント値を入力した旨の通知信号をカウンタ821に出力する。具体的には、比較器822は、カウント値の初期値変更の際に、CPU56からカウント値の初期値(本例では、「50」)をもらい、初期値「50」から乱数最大値(本例では、「256」)までのカウント値の個数(本例では、「207個」)を求める。そして、カウント値順列変更回路823から入力したカウント値の個数が207個に達すると、全てのカウント値を入力した旨の通知信号をカウンタ821に出力する。
なお、カウント値順列変更回路823がカウント値の順列を変更した場合であっても、比較器822は、カウント値の個数が207個に達すると、通知信号をカウンタ821に出力する。そのようにすることによって、カウント値の順列が変更された場合であっても、初期値「50」から最大値「256」までの全てのカウント値を入力したことにもとづいて、通知信号をカウンタ821に出力できる。
比較器822から通知信号を入力すると、カウンタ821は、カウント値の初期値をリセットし「0」に戻す。そして、カウンタ821は、「0」からカウント値の更新を行う。カウンタ821の値が「0」から再び更新がされると、カウンタ821からのカウント値にもとづいて、カウント値順列変更回路823は「49」〜「0」までのカウント値を比較器822に出力し、比較器822はカウント値順列変更回路823からのカウント値の入力にもとづいて乱数値記憶回路831にカウント値を出力する。そして、カウンタ821は、最終値(本例では、「49」)までカウント値を更新すると、通知信号をCPU56に出力する。通知信号を出力すると、CPU56によって、カウンタ821のカウント値の初期値が再び変更される。
以上のような動作を繰り返すことにより、比較器822は、カウンタ821に、「0」から乱数最大値「256」まで連続的にカウント値をカウントアップさせ、「0」から「256」までの値を乱数値記憶回路831にランダムR(乱数値)として記憶させる。すなわち、比較器822は、カウント値の更新範囲を乱数最大値「256」以下に制限して、カウンタ821にカウント値を更新させる。
図52は、乱数最大値設定レジスタ835の例を示す説明図である。図52(a)は、12ビット乱数回路803aが搭載する乱数最大値設定レジスタ835の例を示す。また、図52(b)は、16ビット乱数回路803bが搭載する乱数最大値設定レジスタ835の例を示す。まず、12ビット乱数回路803aが搭載する乱数最大値設定レジスタ835について説明する。図52(a)に示すように、12ビット乱数回路803aにおいて、乱数最大値設定レジスタ835は、16ビットレジスタであり、初期値が「4095(=0FFF(H))」に設定されている。乱数最大値設定レジスタ835は、ビット0〜ビット11が書込および読出ともに可能な状態に構成されている。また、乱数最大値設定レジスタ835は、ビット12〜ビット15が書込および読出ともに不可能な状態に構成されている。したがって、12ビット乱数回路803aにおいて、乱数最大値設定レジスタ835のビット12〜ビット15に値を書き込む制御を行っても無効とされ、ビット12〜ビット15から読み出す値は全て「0(=0000(B))」である。
また、乱数最大値設定レジスタ835に設定される乱数最大値は、所定の下限値が定められている。この実施の形態では、乱数最大値設定レジスタ835に下限値「256」より小さい値を指定する乱数最大値設定データ「0000(H)」〜「00FE(H)」が書き込まれた場合、CPU56は、乱数最大値設定レジスタ835に、初期値「4095」を指定する乱数最大値設定データ「0FFF(H)」を設定しなおす。すなわち、乱数最大値設定レジスタ835に設定可能な乱数最大値は「256」から「4095」までであり、CPU56は、下限値「256」より小さい値が設定されていると判断すると、乱数最大値を所定値「4095」に設定しなおす。なお、CPU56は、リセットコントローラ802によって遊技制御用マイクロコンピュータ560がシステムリセットされるまで、乱数最大値設定データが書き込まれた乱数最大値設定レジスタ835を書込不可能に制御する。なお、CPU56により書込不可能に制御するのでなく、乱数最大値設定レジスタ835は、データが書き込まれた後にリセット信号を入力するまで書込不可能となるように形成されていてもよい。
次に、16ビット乱数回路803bが搭載する乱数最大値設定レジスタ835について説明する。図52(b)に示すように、16ビット乱数回路803bにおいて、乱数最大値設定レジスタ835は、16ビットレジスタであり、初期値が「65535(=FFFF(H))」に設定されている。また、16ビット乱数回路803bにおいて、乱数最大値設定レジスタ835は、ビット0〜ビット15の全てのビットが書込および読出ともに可能な状態に構成されている。
また、乱数最大値設定レジスタ835に下限値「512」より小さい値を指定する乱数最大値設定データ「0000(H)」〜「00FE(H)」が書き込まれた場合、CPU56は、乱数最大値設定レジスタ835に、初期値「65535」を指定する乱数最大値設定データ「FFFF(H)」を設定しなおす。すなわち、乱数最大値設定レジスタ835に設定可能な乱数最大値は「512」から「65535」までであり、CPU56は、下限値「512」より小さい値が設定されていると判断すると、乱数最大値を所定値「65535」に設定しなおす。なお、CPU56は、リセットコントローラ802によって遊技制御用マイクロコンピュータ560がシステムリセットされるまで、乱数最大値設定データが書き込まれた乱数最大値設定レジスタ835を書込不可能に制御する。
クロック信号出力回路824は、セレクタ828および反転回路832に出力するクロック信号の周期(すなわち、カウント値の更新周期)を指定するための周期設定データを格納する周期設定レジスタ(RPS)837を備える。クロック信号出力回路824は、周期設定レジスタ837に格納されている周期設定データにもとづいて、遊技制御用マイクロコンピュータ560が搭載するクロック回路801から入力する基準クロック信号CLKを分周して、乱数回路503内部で乱数値の生成に用いるクロック信号(乱数発生用クロック信号SI1)を生成する。そのようにすることによって、クロック信号出力回路824は、クロック信号を所定回数入力したことを条件に、カウント値Cを更新させるための乱数発生用クロック信号SI1をカウンタ821に出力するように動作する。なお、周期設定データとは、クロック回路801から入力した基準クロック信号CLKを何分周させるかを設定するためのデータである。また、クロック出力回路824は、生成した乱数発生用クロック信号SI1をセレクタ828および反転回路832に出力する。例えば、周期設定レジスタ837に周期設定データ「0F(H)(=16)」が書き込まれている場合、クロック信号出力回路824は、クロック回路801から入力する基準クロック信号CLKを16分周して乱数発生用クロック信号SI1を生成する。この場合、クロック信号出力回路824が生成する乱数発生用クロック信号SI1の周期は、「システムクロック信号の周期×128×16」となる。
図53は、周期設定レジスタ837の例を示す説明図である。図53に示すように、周期設定レジスタ837は、8ビットレジスタであり、初期値が「256(=FF(H))」に設定されている。また、周期設定レジスタ837は、書込および読出ともに可能な状態に構成されている。
また、周期設定レジスタ837に設定される周期設定データの値は、所定の下限値が定められている。この実施の形態では、周期設定レジスタ837に下限値「システムクロック信号の周期×128×7」より小さい値を指定する周期設定データ「00(H)〜06(H)」が書き込まれた場合、CPU56は、周期設定レジスタ837に下限値「システムクロック信号の周期×128×7」を指定する周期設定データ「07(H)」を設定しなおす。すなわち、周期設定レジスタ837に設定可能な周期は「システムクロック信号の周期×128×7」から「システムクロック信号の周期×128×256」までであり、CPU56は、下限値より小さい値が設定されていると判断すると、周期設定データを設定しなおす。なお、CPU56は、リセットコントローラ802によって遊技制御用マイクロコンピュータ560がシステムリセットされるまで、周期設定データが書き込まれた周期設定レジスタ837を書込不可能に制御する。なお、CPU56により書込不可能に制御するのでなく、周期設定レジスタ837は、データが書き込まれた後にリセット信号を入力するまで書込不可能となるように形成されていてもよい。
なお、周期設定レジスタ837に下限値としての周期設定データを設定することなく、設定された周期設定データにもとづいて、例えばクロック信号出力回路824が基準クロック信号CLKをそのままカウンタ821および反転回路832に出力するようにしてもよい。この場合、CPU56は、周期設定レジスタ837に設定される周期設定データの値を下限値と比較して設定しなおす処理を行う必要がなくなる。また、カウンタ821は、クロック信号出力回路824から基準クロック信号CLKを入力する毎にカウント値Cを更新することになる。
カウント値更新信号出力回路825は、カウント値更新データ「01(H)」を格納するカウント値更新レジスタ(RGN)838を備える。カウント値更新データとは、カウント値の更新を要求するためのデータである。カウント値更新信号出力回路825は、カウント値更新レジスタ838にカウント値更新データ「01(H)」が書き込まれたことに応じて、カウント値更新信号SI3をセレクタ828に出力する。
図54は、カウント値更新レジスタ838の例を示す説明図である。図54に示すように、カウント値更新レジスタ838は、読出不能な8ビットレジスタであり、ビット0のみが書込可能な状態に構成されている。したがって、カウント値更新レジスタ838のビット1〜ビット7に値を書き込む制御を行っても無効とされる。
乱数値読取信号出力回路826は、乱数値取込データ「01(H)」を格納する乱数値取込レジスタ(RLT)839を備える。乱数値取込データとは、乱数値記憶回路831へのカウント値の取込を要求するためのデータである。乱数値読取信号出力回路826は、乱数値取込レジスタ839に乱数値取込データ「01(H)」が書き込まれたことに応じて、乱数値の読み取りを要求するための乱数値読取信号をラッチ信号生成回路833に出力する。
図55は、乱数値取込レジスタ839の例を示す説明図である。図55に示すように、乱数値取込レジスタ839は、読出不能な8ビットレジスタである。また、乱数値取込レジスタ839は、ビット0だけが書込可能な状態に構成されている。すなわち、乱数値取込レジスタ839のビット1〜ビット7に値を書き込む制御を行っても無効とされる。
乱数更新方式選択信号出力回路827は、乱数更新方式選択データを格納する乱数更新方式選択レジスタ(RTS)840を備える。乱数更新方式選択データとは、ランダムRの値を更新する方式である各乱数更新方式のうち、いずれかの乱数更新方式を指定するためのデータである。乱数更新方式選択信号出力回路827は、乱数更新方式選択レジスタ840に乱数更新方式選択データが書き込まれたことに応じて、書き込まれた乱数更新方式選択データにより指定される乱数更新方式に対応する乱数更新方式選択信号を、セレクタ828およびラッチ信号生成回路833に出力する。
図56(A)は、乱数更新方式選択レジスタ840の例を示す説明図である。図56(A)に示すように、乱数更新方式選択レジスタ840は、8ビットレジスタであり、初期値が「00(H)」に設定されている。また、乱数更新方式選択レジスタ840は、ビット0〜ビット1が書込および読出ともに可能な状態に構成されている。また、乱数更新方式選択レジスタ840は、ビット2〜ビット7が書込および読出ともに不可能な状態に構成されている。したがって、乱数更新方式選択レジスタ840のビット2〜ビット7に値を書き込む制御を行っても無効とされ、ビット2〜ビット7から読み出す値は全て「0(=000000(B))」である。
図56(B)は、乱数更新方式選択レジスタ840に書き込まれる乱数更新方式選択データの一例の説明図である。図56(B)に示すように、乱数更新方式選択データは、2ビットのデータから構成される。乱数更新方式選択データ「01(B)」は、第1の乱数更新方式を指定するために用いられる。また、乱数更新方式選択データ「10(B)」は、第2の乱数更新方式を指定するために用いられる。なお、この実施の形態では、第1の乱数更新方式とは、カウント値更新信号出力回路825からカウント値更新信号SI3が出力されたことをトリガとして、カウント値を更新する方式である。また、第2の乱数更新方式とは、クロック信号出力回路824から乱数発生用クロック信号SI1が出力されたことをトリガとして、カウント値を更新する方式である。また、乱数更新方式選択データ「01(B)」または「10(B)」が乱数更新方式選択レジスタ840に書き込まれた場合、乱数回路503は起動可能な状態となる。一方、乱数更新方式選択データ「00(B)」または「11(B)」が乱数更新方式選択レジスタ840に書き込まれた場合、乱数回路503は起動不能な状態となる。
セレクタ828は、カウント値更新信号出力回路825から出力されるカウント値更新信号SI3、またはクロック信号出力回路824から出力される乱数発生用クロック信号SI1のいずれかを選択してカウンタ821に出力する。セレクタ828は、乱数更新方式選択信号出力回路827から第1の乱数更新方式に対応する乱数更新方式選択信号(第1の乱数更新方式選択信号ともいう)が入力されると、カウント値更新信号出力回路825から出力されるカウント値更新信号SI3を選択してカウンタ821に出力する。一方、セレクタ828は、乱数更新方式選択信号出力回路827から第2の乱数更新方式に対応する乱数更新方式選択信号(第2の乱数更新方式選択信号ともいう)が入力されると、クロック信号出力回路824から出力される乱数発生用クロック信号SI1を選択してカウンタ821に出力する。なお、セレクタ828は、乱数更新方式選択信号出力回路827から第1の更新方式選択信号が入力されると、カウント値更新信号出力回路825から出力されるカウント値更新信号SI3に応じて、クロック信号出力回路824から出力される乱数発生用クロック信号SI1に同期した数値データの更新を指示する数値更新指示信号を、カウンタ821に出力してもよい。
乱数回路起動信号出力回路830は、乱数回路起動データ「80(H)」を格納する乱数回路起動レジスタ(RST)841を備える。乱数回路起動データとは、乱数回路503の起動を要求するためのデータである。乱数回路起動信号出力回路830は、乱数回路起動レジスタ841に乱数回路起動データ「80(H)」が書き込まれると、所定の乱数回路起動信号をカウンタ821およびクロック信号出力回路837に出力し、カウンタ821およびクロック信号出力回路824をオンにさせる。そして、カウンタ821によるカウント値の更新動作とクロック信号出力回路824による内部クロック信号の出力動作とを開始させることによって、乱数回路503を起動させる。
図57は、乱数回路起動レジスタ841の例を示す説明図である。図57に示すように、乱数回路起動レジスタ841は、8ビットレジスタであり、初期値が「00(H)」に設定されている。乱数回路起動レジスタ841は、ビット7だけが書込および読出ともに可能な状態に構成されている。また、乱数回路起動レジスタ841は、ビット0〜ビット6が書込および読出ともに不可能な状態に構成されている。すなわち、乱数回路起動レジスタ841のビット0〜ビット6に値を書き込む制御を行っても無効とされ、ビット0〜ビット6から読み出す値は全て「0(=000000(B))」である。
乱数値記憶回路831は、例えば16ビットレジスタであり、遊技制御処理における大当り判定において用いられる乱数であるランダムRの値を格納する。乱数値記憶回路831は、ラッチ信号生成回路833からラッチ信号SLを入力したことに応じて、カウンタ821から比較器822を介して出力されるカウント値CをランダムRの値として格納する。そして、乱数値記憶回路831は、ラッチ信号生成回路833からラッチ信号SLを入力するごとに、カウンタ821が更新するカウント値Cを読み込んでランダムRの値を記憶する。
図58は、乱数値記憶回路831の一構成例を示す回路図である。乱数値記憶回路831は、図58に示すように、2個のAND回路2001,2003と、2個のNOT回路2002,2004と、16個のフリップフロップ回路2101〜2116と、16個のOR回路2201〜2216とを含む。
図58に示すように、AND回路2001の入力端子は、ラッチ信号生成回路833の出力端子とNOT回路2004の出力端子とに接続され、出力端子は、NOT回路2002の入力端子とフリップフロップ回路2101〜2116のクロック端子Clk1〜Clk16とに接続されている。NOT回路2002の入力端子は、AND回路2001の出力端子に接続され、出力端子は、AND回路2003の一方の入力端子に接続されている。
AND回路2003の入力端子は、NOT回路2002の出力端子と遊技制御用マイクロコンピュータ560が搭載するCPU56とに接続され、出力端子は、NOT回路2004の入力端子に接続されている。NOT回路2004の入力端子は、AND回路2003の出力端子に接続され、出力端子は、AND回路2001の一方の入力端子とOR回路2201〜2216の一方の入力端子とに接続されている。
フリップフロップ回路2101〜2116の入力端子D1〜D16は、比較器822の出力端子に接続されている。フリップフロップ回路2101〜2116のクロック端子Clk1〜Clk16は、AND回路2001の出力端子に接続され、出力端子Q1〜Q16は、OR回路2201〜2216の他方の入力端子に接続されている。
OR回路2201〜2216の入力端子は、NOT回路2004の出力端子とフリップフロップ回路2101〜2116の出力端子とに接続され、出力端子は、遊技制御用マイクロコンピュータ560が搭載するCPU56に接続されている。
乱数値記憶回路831の動作について説明する。図59は、乱数値記憶回路831に各信号が入力されるタイミング、および乱数値記憶回路831が各信号を出力するタイミングを示すタイミングチャートである。図59に示すように、遊技制御用マイクロコンピュータ560が搭載するCPU56から出力制御信号SC(本例では、ハイレベル信号)が入力されていない場合(すなわち、AND回路2003の一方の入力端子への入力がローレベルの場合)、ラッチ信号生成回路833からラッチ信号SLが入力されると(図59に示す例では、タイミングT1,T2,T7のとき)、AND回路2001の2つの入力端子への入力はともにハイレベルとなる。そのため、AND回路2001の出力端子から出力される信号SRはハイレベルとなる。そして、AND回路2001から出力された信号SRは、フリップフロップ回路2101〜2116のクロック端子Clk1〜Clk16に入力される。
フリップフロップ回路2101〜2116は、クロック端子Clk1〜Clk16から入力される信号SRの立ち上がりエッジに応答して、比較器822から入力端子D1〜D16を介して入力されるカウント値CのビットデータC1〜C16を乱数値のビットデータR1〜R16としてラッチして記憶する。また、フリップフロップ回路2101〜2116は、記憶するランダムRのビットデータR1〜R16を出力端子Q1〜Q16から出力する。
出力制御信号SCが入力されていない場合(図59に示す例では、タイミングT3までの期間およびタイミングT6以降の期間)、AND回路2003の一方の入力端子への入力がローレベルとなるので、AND回路2003の出力端子から出力される信号SGはローレベルとなる。AND回路2003が出力する信号SGは、NOT回路2004において反転され、ハイレベルの信号とされる。そして、OR回路2201〜2216の一方の入力端子に、NOT回路2004からハイレベルの信号が入力される。
以上のように、OR回路2201〜2216の一方の入力端子への入力がハイレベルとなるので、他方の入力端子に入力される信号がハイレベルであるかローレベルであるかに関わらず、OR回路2201〜2216はハイレベルの信号を出力する。すなわち、入力されるランダムRのビットデータR1〜R16の値が「0」であるか「1」であるかに関わらず、OR回路2201〜2216から出力される信号SO1〜SO16は、全てハイレベル(「1」)となる。そのようにすることによって、乱数値記憶回路831から出力される値は、常に「65535(=1111111111111111(B))」となり、乱数値記憶回路831からランダムRを読み出すことができない状態となる。すなわち、乱数値記憶回路831から乱数を読み出そうとしても、乱数値記憶回路831から常に同じ値「65535」しか読み出せない状態となり、出力制御信号SCが入力されていない場合、乱数値記憶回路831は、読出不能(ディスエーブル)状態となる。なお、16ビット乱数回路803bを用いる場合、乱数値としての値「65535」が用いられる可能性がある。この場合、遊技制御用マイクロコンピュータ560は、値「65535」を読み込んだとしても、その値が乱数であるのか読出不能状態であるのかを判断することができない。そのため、図68に示す各大当り判定用の判定テーブルにおいて、あらかじめランダムRが「65535」である場合には「はずれ」と判定するように設定しておけばよい。
ラッチ信号生成回路833からラッチ信号SLが入力されていないときに、CPU56から出力制御信号SCが入力されると(図59に示す例では、タイミングT4からタイミングT6までの期間)、AND回路2003の2つの入力端子への入力がともにハイレベルとなるので、AND回路2003の出力端子から出力される信号SGはハイレベルとなる。AND回路2003が出力する信号SGは、NOT回路2004において反転され、ローレベルの信号とされる。そして、OR回路2201〜2216の一方の入力端子に、NOT回路2004からローレベルの信号が入力される。
以上のように、OR回路2201〜2216の一方の入力端子への入力がローレベルとなるので、他方の入力端子に入力される信号がハイレベルの場合、OR回路2201〜2216の出力端子からハイレベルの信号が出力される。また、OR回路2201〜2216の他方の入力端子に入力される信号がローレベルの場合、OR回路2201〜2216からローレベルの信号が出力される。すなわち、OR回路2201〜2216の他方の入力端子に入力されるランダムRのビットデータR1〜R16の値は、OR回路2201〜2216の出力端子からそのまま(すなわち、ビットデータR1〜R16の値が「1」のときは「1」が、「0」のときは「0」)出力される。そのようにすることによって、乱数値記憶回路831からのランダムRの読出が可能となる。すなわち、出力制御信号SCが入力されている場合、乱数値記憶回路831は、読出可能(イネイブル)状態となる。
ただし、CPU56から出力制御信号SCが入力される前に、ラッチ信号生成回路833からラッチ信号SLが入力されている場合、AND回路2003の一方の入力端子への入力がローレベルとなるので、ラッチ信号SLが入力されている状態のままで、出力制御信号SCが入力されても(図59に示す例では、タイミングT3からタイミングT4の期間)、AND回路2003の出力端子から出力される信号SGはローレベルのままとなる。AND回路2003が出力する信号SGは、NOT回路2004において反転され、ハイレベルの信号とされる。そして、OR回路2201〜2216の一方の入力端子に、NOT回路2004からハイレベルの信号が入力される。
以上のように、OR回路2201〜2216の一方の入力端子への入力がハイレベルとなるので、他方の入力端子に入力される信号がハイレベルであるかローレベルであるかに関わらず、OR回路2201〜2216から出力される信号SO1〜SO16は全てハイレベルとなる。そして、出力制御信号SCが入力されているにも関わらず、乱数値記憶回路831からランダムRを読み出すことができない状態のままとなる。すなわち、ラッチ信号SLが入力されている場合、乱数値記憶回路831は、出力制御信号SCを受信不可能な状態となる。なお、16ビット乱数回路803bを用いる場合、乱数値としての値「65535」が用いられる可能性がある。この場合、遊技制御用マイクロコンピュータ560は、値「65535」を読み込んだとしても、その値が乱数であるのか読出不能状態であるのかを判断することができない。そのため、図68に示す各大当り判定用の判定テーブルにおいて、あらかじめランダムRが「65535」である場合には「はずれ」と判定するように設定しておけばよい。
また、ラッチ信号生成回路833からラッチ信号SLが入力される前に、CPU56から出力制御信号SCが入力されている場合、AND回路2001の一方の入力端子への入力がローレベルとなるので、出力制御信号SCが入力されているままの状態で、ラッチ信号SLが入力されても(図59に示す例では、タイミングT5)、AND回路2001の出力端子から出力される信号SRはローレベルのままとなる。そのため、フリップフロップ回路2101〜2116のクロック端子Clk1〜Clk16に入力される信号SRは、ローレベルからハイレベルに立ち上がらず、フリップフロップ回路2101〜2116に格納されているランダムRのビットデータR1〜R16は、ラッチ信号SLが入力されているにも関わらず、記憶される乱数は更新されない。すなわち、出力制御信号SCが入力されている場合、乱数値記憶回路831は、ラッチ信号SLを受信不可能な状態となる。
反転回路832は、クロック信号出力回路824から入力する乱数発生用クロック信号SI1における信号レベルを反転させることによって、クロック信号の極性を反転させた反転クロック信号SI2を生成する。また、反転回路832は、生成した反転クロック信号SI2をラッチ信号生成回路833に出力する。
ラッチ信号生成回路833は、セレクタおよびフリップフロップ回路等を用いて構成される。ラッチ信号生成回路833は、乱数値読取信号出力回路826からの乱数値読取信号と反転回路832からの反転クロック信号SI2とを入力し、乱数値記憶回路831に乱数値を記憶させるためのラッチ信号SLを出力する。また、ラッチ信号生成回路833は、乱数更新方式選択信号出力回路827からの乱数更新方式選択信号によって指定された乱数値更新方式に応じて、ラッチ信号SLを出力する。この場合、ラッチ信号生成回路833は、乱数更新方式選択信号出力回路827から第1の乱数更新方式選択信号が入力された場合、反転回路832から出力される反転クロック信号SI2を選択し、ラッチ信号SLとして乱数値記憶回路831に出力する。一方、ラッチ信号生成回路833は、乱数更新方式選択信号出力回路827から第2の乱数更新方式選択信号が入力された場合、乱数値読取信号出力回路826から出力される乱数値読取信号を、反転回路832から出力される反転クロック信号SI2の立ち上がりエッジに同期させて、ラッチ信号SLとして乱数値記憶回路831に出力する。
タイマ回路834は、始動口14への遊技球の入賞を検出した旨の入賞検出信号SSを始動口スイッチ14aから入力する。また、タイマ回路834は、始動口スイッチ14aから入賞検出信号SSが継続して入力されている時間を計測する。そして、タイマ回路834は、計測時間が所定期間(例えば、3ms)になると、乱数値読取信号出力回路826の乱数値取込レジスタ839に乱数値取込データ「01(H)」を書き込む。例えば、タイマ回路834は、ハイレベルの信号が入力されたことに応じて起動するアップカウンタまたはダウンカウンタによって構成される。タイマ回路834は、始動口スイッチ14aからの入力がハイレベルとなっている間(すなわち、入賞検出信号SSが継続して入力されている間)、クロック回路801から順次入力する基準クロック信号CLKをアップカウントまたはダウンカウントする。そして、タイマ回路834は、アップカウントまたはダウンカウントするカウント値が3msに対応する値になると、始動口スイッチ14aから入賞検出信号SSが入力されたと判断して、乱数値取込データ「01(H)」を乱数値取込レジスタ839に書き込む。
図60は、遊技制御用マイクロコンピュータ560における記憶領域のアドレスマップの一例を示す説明図である。図60に示すように、遊技制御用マイクロコンピュータ560の記憶領域のうち、0000(H)番地〜1FFF(H)番地の領域は、ROM54に割り当てられている。また、7E00(H)番地〜7FFF(H)番地の領域は、RAM55に割り当てられている。さらに、FD00(H)番地〜FE00(H)番地の領域は、乱数最大値設定レジスタ835等の内蔵レジスタに割り当てられている。
また、図60に示すように、ROM54に割り当てられている0000(H)番地〜1FFF(H)番地の領域は、ユーザプログラムエリアとユーザプログラム管理エリアとを含む。0000(H)番地〜1F7F(H)番地の領域のユーザプログラムエリアには、ユーザ(例えば、遊技機の設計者)により予め作成されたプログラム(ユーザプログラム)850が記憶される。また、1F80(H)番地〜1FFF(H)番地の領域のユーザプログラム管理エリアには、CPU56がユーザプログラム850を実行するために必要となるデータ(ユーザプログラム実行データ)が記憶される。また、RAM55に割り当てられている7E00(H)番地〜7FFF(H)番地の領域のうち、7E00(H)番地〜7EFF(H)番地の領域は未使用領域であり、7F00(H)番地〜7FFF(H)番地の領域はワークエリアとして用いられる。
図61は、ユーザプログラム管理エリアにおけるアドレスマップの一例を示す説明図である。図61に示すように、1F97(H)番地の領域には、乱数回路803のカウンタ821に入力される初期値を変更するための方式である初期値変更方式のうち、ユーザによって選択された初期値変更方式を指定するための初期値変更方式設定データが記憶される。また、1F98(H)番地および1F99(H)番地の領域には、RAM55に割り当てられた7F00(H)番地〜7FFF(H)番地のうち、ユーザによって予め指定されたRAM55における番地(指定RAM番地)を特定するためのRAM番地データが記憶される。この場合、指定RAM番地を示す値のうち、指定RAM番地の下位の値が1F98(H)番地に記憶され、指定RAM番地の上位の値が1F99(H)番地に記憶される。
図62は、初期値変更方式設定データの一例を示す説明図である。図62に示すように、初期値変更データは、8ビットのデータから構成される。初期値変更データ「00(H)」は、初期値変更方式として、初期値を変更しないことを指定するデータである。この実施の形態では、初期値変更データ「00(H)」が設定されている場合、乱数回路503のカウンタ821は、予め定められた初期値「0」から所定の最終値までカウント値を更新することになる。また、初期値変更データ「01(H)」は、初期値変更方式として、カウンタ821に入力する初期値を、遊技制御用マイクロコンピュータ560を識別するためのIDナンバにもとづく値に変更することを指定するデータである。この実施の形態では、初期値変更データ「01(H)」が設定されている場合、カウンタ821が更新するカウンタ値の初期値が「0」からIDナンバにもとづく値に変更され、カウンタ821は、変更後の初期値から所定の最終値までカウント値を更新することになる。
ユーザプログラムエリアに記憶されるユーザプログラム850について説明する。図63は、ユーザプログラム850の構成例を示す説明図である。図63に示すように、この実施の形態では、ユーザプログラム850は、複数種類のプログラムモジュールから構成される乱数回路設定プログラム851と、表示結果決定プログラム852と、カウント値順列変更プログラム854と、乱数値更新プログラム855とを含む。
乱数回路設定プログラム851は、乱数回路503にランダムRの値を更新させるための初期設定を行う乱数回路設定処理を実行させるためのプログラムである。すなわち、CPU56は、乱数回路設定プログラム851に従って処理を実行することにより、乱数回路設定手段として機能する。
図64は、乱数回路設定プログラム851の構成例を示す説明図である。図64に示すように、乱数回路設定プログラム851は、複数種類のプログラムモジュールとして、乱数最大値設定モジュール851aと、乱数更新方式選択モジュール851bと、周期設定モジュール851cと、乱数回路起動モジュール851dと、初期値変更モジュール851eと、乱数回路選択モジュール851fとを含む。
乱数最大値設定モジュール851aは、ユーザ(例えば、遊技機の設計者)によって予め設定されたランダムRの最大値を乱数回路503に設定させるためのプログラムモジュールである。CPU56は、乱数最大値設定モジュール851aに従って処理を実行することによって、ユーザによって予め設定されたランダムRの最大値を指定する乱数最大値設定データを、乱数最大値設定レジスタ835に書き込む。そのようにすることによって、CPU56は、ユーザによって予め設定されたランダムRの最大値を乱数回路503に設定する。例えば、ユーザによってランダムRの最大値として予め「255」が設定された場合、CPU56は、乱数最大値設定レジスタ835に乱数最大値設定データ「00FF(H)」を書き込んで、ランダムRの最大値「255」を乱数回路503に設定する。
乱数更新方式選択モジュール851bは、ユーザによって選択された乱数更新方式(第1の乱数更新方式または第2の乱数更新方式)を乱数回路503に設定させるためのプログラムモジュールである。CPU56は、乱数更新方式選択モジュール851bに従って処理を実行することによって、ユーザによって選択された乱数更新方式を指定する乱数更新方式選択データ「01(B)」または「10(B)」を乱数更新方式選択レジスタ840に書き込む。そのようにすることによって、CPU56は、ユーザによって選択された乱数更新方式を乱数回路503に設定する。よって、遊技制御用マイクロコンピュータ560は、第1の乱数更新方式または第2の乱数更新方式のうちのいずれかを、乱数回路503が乱数更新に用いる乱数更新方式として選択する機能を備える。
周期設定モジュール851cは、ユーザによって予め設定された内部クロック信号の周期(すなわち、クロック信号出力回路824がセレクタ828および反転回路832にクロック信号を出力する周期)を乱数回路503に設定させるためのプログラムモジュールである。CPU56は、周期設定モジュール851cに従って処理を実行することによって、ユーザによって予め設定された内部クロック信号の周期を指定するための周期設定データを周期設定レジスタ837に書き込む。そのようにすることによって、CPU56は、ユーザによって予め設定された内部クロック信号の周期を乱数回路503に設定する。例えば、ユーザによって内部クロック信号の周期が予め「システムクロック信号の周期×128×16」と設定された場合、CPU56は、周期設定レジスタ837に周期設定データ「0F(H)」を書き込んで、内部クロック信号の周期「システムクロック信号の周期×128×16」を乱数回路503に設定する。
乱数回路起動モジュール851dは、乱数回路503を起動させるためのプログラムモジュールである。CPU56は、乱数回路起動モジュール851dに従って処理を実行することによって、乱数回路起動データ「80(H)」を乱数回路起動レジスタ841に書き込むことにより、乱数回路503を起動させる。
初期値変更モジュール851eは、カウンタ821が更新するカウント値の初期値を変更させるためのプログラムモジュールである。CPU56は、初期値変更モジュール851eに従って処理を実行することによって、初期値変更手段として機能する。CPU56は、初期値変更モジュール851eを実行して、ユーザによって選択された初期値変更方式によって、カウンタ821が更新するカウント値の初期値を変更させる。そのようにすることによって、遊技制御用マイクロコンピュータ560は、初期値変更方式を選択する機能を備える。
この実施の形態では、ユーザプログラム管理エリアの1F97(H)番地の領域に初期値変更方式設定データ「01(H)」が記憶されている場合、CPU56は、カウント値の初期値を、遊技制御用マイクロコンピュータ560毎に付与された固有のIDナンバにもとづいて算出された値に変更させる。
例えば、遊技制御用マイクロコンピュータ560は、RAM55の所定の記憶領域に、遊技制御用マイクロコンピュータ560のIDナンバと、IDナンバにもとづいて所定の演算を行って求めた演算値とを予め対応付けて記憶している。この場合、例えば、遊技制御用マイクロコンピュータ560のIDナンバが「100」であるとすると、IDナンバ「100」に所定値「50」を加算して求めた演算値「150」を、予めIDナンバに対応付けて記憶している。また、例えば、IDナンバ「100」に所定値「50」を減算して求めた演算値「50」を、予めIDナンバに対応付けて記憶している。また、例えば、予めIDナンバに対応づけて所定値だけを記憶していてもよい。そして、遊技制御用マイクロコンピュータ560は、予め記憶する所定値(例えば、「50」)にIDナンバ(例えば、「100」を加算して求めた値「150」を、カウント値の初期値としてもよい。また、遊技制御用マイクロコンピュータ560は、予め記憶する所定値(例えば、「50」)をIDナンバ(例えば、「100」)から減算して求めた値「50」を、カウント値の初期値としてもよい。
そして、初期値変更方式設定データ「01(H)」が記憶されている場合、CPU56は、予め記憶するIDナンバにもとづく演算値にカウント値の初期値を変更させる。そのようにすれば、乱数回路503が発生する乱数のランダム性をより向上させることができ、遊技制御用マイクロコンピュータ560のIDナンバを見ただけでは乱数の初期値を認識しにくくすることができる。そのため、無線信号を用いた取り込み信号を遊技機に対して発生させるなどの行為によって、大当り状態への移行条件を不正に成立させられてしまうことをより確実に防止することができ、セキュリティ性を向上させることができる。
また、例えば、初期値変更方式設定データ「01(H)」が記憶されている場合、CPU56は、遊技制御用マイクロコンピュータ560のIDナンバと所定値とを演算して(例えば、IDナンバに所定値を加算して)求めた演算値にカウント値の初期値を変更させる。この場合、例えば、CPU56は、乱数を用いてランダムに変化させた値をIDナンバと演算することによって、演算に用いる値をランダムに更新し初期値を求めてもよい。そのようにすれば、乱数回路503が発生する乱数のランダム性をより向上させることができる。
乱数回路選択モジュール851fは、遊技制御用マイクロコンピュータ560が内蔵する各乱数回路503の中から、遊技制御処理を含むタイマ割込処理の実行時に用いる乱数回路を設定するためのプログラムモジュールである。CPU56は、乱数回路選択モジュール851fに従って処理を実行することによって、遊技制御用マイクロコンピュータ560が内蔵する2つの乱数回路(12ビット乱数回路803aおよび16ビット乱数回路803b)のうち、いずれの乱数回路をタイマ割込処理の実行時に用いるかを設定する。例えば、CPU56は、RAM55の所定の記憶領域に記憶された所定の設定値(ユーザによって予め設定された値)に従って、タイマ割込処理の実行時に用いる乱数回路として、12ビット乱数回路803aまたは16ビット乱数回路803bを設定する。
なお、タイマ割込処理の実行時に用いる乱数回路として、12ビット乱数回路803aおよび16ビット乱数回路803bの両方を設定してもよい。この場合、遊技制御用マイクロコンピュータは、例えば、12ビット乱数回路803aが発生した乱数にもとづいて大当り判定を行い、16ビット乱数回路803bが発生した乱数にもとづいて確変判定を行うようにしてもよい。この実施の形態では、乱数値記憶回路831は、12ビット乱数回路803aと16ビット乱数回路803bとにそれぞれ存在する(すなわち、12ビット用の乱数を記憶する乱数記憶回路と、16ビット用の乱数を記憶する乱数記憶回路とが、別個に存在する)。また、12ビット乱数回路803aおよび16ビット乱数回路803bの両方を設定した場合、遊技制御用マイクロコンピュータ560は、12ビット乱数回路803aから読み出した乱数と、16ビット乱数回路803bから読み出した乱数とを、RAM55に設けられた別々のバッファ領域にそれぞれ格納する。そのため、12ビット乱数回路803aから乱数を読み出すタイミングと、16ビット乱数回路803bから乱数を読み出すタイミングとが同じであっても、2つの異なる乱数を抽出し別々のバッファ領域に格納することができる。
乱数値更新プログラム855は、乱数更新方式として第1の乱数更新方式が選択されているときに、乱数値記憶回路831に格納されているランダムRの値を更新させるためのプログラムである。CPU56は、乱数値更新プログラム855に従って処理を実行することによって、乱数値更新手段として機能する。CPU56は、第1の乱数更新方式が選択されているときに、乱数値更新プログラム855を実行して、カウント値更新データ「01(H)」をカウント値更新レジスタ838に書き込むことにより、カウンタ821にカウント値を更新させ、乱数値記憶回路831に格納さているランダムRの値を更新させる。なお、乱数更新方式として第2の乱数更新方式が選択されている場合には、クロック信号出力回路837が出力する乱数発生用クロック信号によって、カウンタ821にカウント値を更新させ、乱数値記憶回路831に格納さているランダムRの値を更新させることになる。
表示結果決定プログラム852は、特別図柄表示装置8における表示結果を大当り図柄とするか否かを決定するためのプログラムである。CPU56は、表示結果決定プログラム852に従って処理を実行することによって、表示結果決定手段として機能する。
この実施の形態では、CPU56は、遊技球が可変入賞球装置15に入賞して特別図柄の可変表示を実行するための条件(実行条件)が成立したことに応じて、表示結果決定プログラム852に従って処理を実行する。そして、CPU56は、乱数値記憶回路831から更新後のランダムRの値を読み出して、特別図柄表示装置8における表示結果を大当り図柄とするか否かを決定する。
図65は、第1の乱数更新方式が選択されている場合に、CPU56がランダムRの値を更新させたりランダムRの値を読出したりする動作を示す説明図である。図65に示すように、第1の乱数更新方式が選択されている場合、CPU56は、カウント値更新データ「01(H)」をカウント値更新レジスタ838に書き込むことによって、乱数値記憶回路831が記憶するランダムRの値(例えば「2」)を更新させる。そして、CPU56は、遊技球が可変入賞球装置15に入賞して特別図柄の可変表示を実行するための条件(実行条件)が成立したことに応じて、乱数値記憶回路831からランダムRの値(例えば「2」)を読み出す。
なお、乱数値記憶回路831が記憶するランダムRの値をさらに更新させる場合、前回更新時にランダムRの値を更新したときから、クロック回路801が出力するシステムクロック信号の周期以上の間隔を経過したときに、カウント値更新レジスタ838にカウント値更新データ「01(H)」を書き込まなければならない。なぜなら、更新後のランダムRの値を乱数値記憶回路831から読み出す時間を確保する必要があるからである。
図66は、第2の乱数更新方式が選択されている場合に、CPU56がランダムRの値を読出したりする動作を示す説明図である。図66に示すように、第2の乱数更新方式が選択されている場合、タイマ回路834は、乱数値取込データ「01(H)」を乱数値取込レジスタ839に書き込むことによって、カウンタ821が出力するカウント値(例えば「2」)を乱数値記憶回路831に取り込ませて、乱数値記憶回路831が記憶するランダムRの値を更新させる。そして、CPU56は、乱数値記憶回路831から更新後のランダムRの値(例えば「2」)を読み出す。
具体的には、第2の乱数更新方式が選択されている場合、カウンタ821は、乱数発生用クロック信号SI1を入力したことをトリガとしてカウント値Cを更新する。その後、乱数値取込データ「01(H)」が乱数値取込レジスタ839に書き込まれると、ラッチ信号生成回路833はラッチ信号SLを乱数値記憶回路831に出力する。そして、乱数値記憶回路831は、ラッチ信号SLを入力したことをトリガとしてカウンタ821が出力するカウント値を読み込んで記憶する。そして、CPU56は、乱数値記憶回路831が記憶するランダムRの値を読み出す。
なお、タイマ回路834が乱数値取込データ「01(H)」を乱数値取込レジスタ839に書き込まなければ、カウンタ821がカウント値を更新しても、乱数値記憶回路831は、カウンタ821が更新する乱数値を記憶しない。例えば、タイマ回路834が乱数値取込データ「01(H)」を乱数値取込レジスタ839に書き込み、カウンタ821が出力するカウント値「3」を乱数値記憶回路831に取り込ませて、乱数値記憶回路831が記憶するランダムRの値「3」を更新させたとする。この場合、タイマ回路834が乱数値取込データ「01(H)」を再び乱数値取込レジスタ839に書き込まなければ、カウンタ821が出力するカウント値が「3」から「4」や「5」に更新されても、乱数値記憶回路831が記憶する乱数値は更新されず、乱数値記憶回路831から読み出される乱数値は「3」のままである。
カウント値順列変更プログラム854は、カウント値順列変更レジスタ836にカウント値順列変更データ「01(H)」を書き込んで、乱数値記憶回路831が記憶するカウント値の順列を変更させるカウント値順列変更処理を実行するためのプログラムである。CPU56は、カウント値順列変更プログラム854に従って処理を実行することによって、数値データ順列変更手段として機能する。CPU56は、カウント値順列変更プログラム854を実行して、カウント値順列変更レジスタ836にカウント値順列変更データ「01(H)」を書き込むことによって、カウント値順列変更回路823が出力し乱数値記憶回路831に入力されるカウント値の順列を変更させる。
また、遊技制御用マイクロコンピュータ560は、図67に示すように、特図保留メモリ870と、大当り判定用テーブルメモリ871と、フラグメモリ872と、始動入賞口スイッチタイマメモリ873とを備える。
特図保留メモリ870は、遊技球が可変入賞球装置15に入賞して特別図柄の可変表示の実行条件は成立したが、未だ可変表示の開始条件が成立していない(例えば、特別図柄表示装置8がまだ可変表示を実行中である)可変表示の実行条件の成立回数を含む保留データを記憶するためのメモリ(保存領域)である。特図保留メモリ870は、4つのエントリを備え、各エントリには、遊技球が可変入賞球装置15に入賞した順に、保留番号と、入賞に応じて乱数値記憶回路831から読み出したランダムRの値とが対応付けて格納される。また、特別図柄表示装置8における特別図柄の可変表示が1回終了したり、大当り遊技状態が終了したりするごとに、特図保留メモリ870の最上位の情報にもとづいた可変表示の開始条件が成立し、特図保留メモリ870最上位の情報にもとづいた可変表示が実行される。この場合、特別図柄の可変表示の開始条件が成立すると、特図保留メモリ870の第2位以下に登録されている情報が1位ずつ繰り上がる。また、特別図柄の可変表示中に遊技球が可変入賞球装置15に新たに入賞した場合には、その新たな入賞にもとづいて乱数値記憶回路831から読み出されたランダムRの値が、特図保留メモリ870の空エントリに登録される。
大当り判定用テーブルメモリ871は、CPU56が特別図柄表示装置8の表示結果を大当り図柄とするか否かを判定するために用いる複数の大当り判定テーブルを記憶する。具体的には、大当り判定用テーブルメモリ871は、図68(A)に示すように、確変状態以外の遊技状態(通常状態という)において用いられる通常時大当り判定テーブル871aを記憶する。また、大当り判定用テーブルメモリ871は、図68(B)に示すように、確変状態において用いられる確変時大当り判定テーブル871bを格納する。なお、図68に示す判定テーブルを用いて大当り判定を行う場合、乱数最大値設定レジスタ835に設定された乱数最大値によって大当りと判定する確率が大きく変化することになる。この場合、例えば、誤動作により最大値が設定されてしまったとき等に、設定される乱数最大値が小さすぎると、通常時大当り判定テーブル871aを用いた場合と、確変時大当り判定テーブル871bを用いた場合とで、大当りと判定する確率の差が小さくなってしまい、遊技者の遊技に対する興味を減退させてしまうことになる。そのため、乱数回路503および乱数最大値に対応づけて、複数の判定テーブル(複数の通常時大当り判定用テーブル871aおよび複数の確変時大当たり判定用テーブル871b)を大当り判定用テーブルメモリ871に記憶してもよい。そして、遊技制御用マイクロコンピュータ560のCPU56は、大当り判定用テーブルメモリ871が記憶する判定テーブルのうち、使用する乱数回路503および乱数最大値に対応する判定テーブル871a,871bを用いて、表示結果決定プログラム852に従って、特別図柄表示装置8の表示結果を大当り図柄とするか否かを判定するようにしてもよい。そのようにすることによって、使用する乱数回路503の種類や乱数最大値が異なっても、大当たりと判定する確率がある程度同じになるように制御することができる。
フラグメモリ872には、遊技の進行を制御する遊技制御処理において用いられる各種のフラグが設定される。例えば、フラグメモリ872には、遊技状態が確変状態であることを示す確変フラグや、大当り状態であることを示す大当りフラグが設定される。
始動口スイッチタイマメモリ873は、始動口スイッチ14aから入力される入賞検出信号SSに応じて加算またはクリアされるタイマ値を記憶する。
ここで、「なりすまし基板」について説明する。「なりすまし基板」とは、パチンコ遊技機の主基板に「なりすまして」大当りを発生させる等の不正な制御を実行する不正回路基板を意味する。
従来から、マイクロコンピュータに各種の処理を実行させるための制御プログラムが格納されたROMを交換し、不正に大当りを発生させる不正行為が行われていた。このため、ROMが交換されないように、ROMをマイクロコンピュータに内蔵させて1チップマイクロコンピュータ化するとともに、ROMの格納データにより所定の演算を行い、その演算結果により正規なROMか否かを確認するセキュリティチェックを行うようにしていた。
ところが、1チップマイクロコンピュータ自体を偽造して、正規のマイクロコンピュータと交換し、不正に大当りを発生させる不正行為が行われるようになった。これに対応して、マイクロコンピュータが交換されたときの痕跡が残るように、主基板を格納する基板ボックスを封止することとし、基板ボックスが開封されたことがわかるようにした遊技機が用いられるようになった。
しかし、始動口スイッチと主基板との間の配線に不正回路基板を取り付けて、大当り判定用乱数の大当り判定値のタイミングで不正に始動入賞を発生させる不正行為が行われるようになった。これに対応して、大当り判定用乱数の初期値を変更させて大当り判定値と一致するタイミングをずらすものや、高速で更新するハードウェア乱数が用いられるようになった。
その後、主基板を格納する基板ボックスを不正回路を搭載した基板に交換して不正に大当りを発生させる行為が行われるようになった。これに対応して、マイクロコンピュータに主基板の外部に設置された照合機を接続し、正規のマイクロコンピュータであるか否かを照合する機能を持たせ、不正回路基板の発見が容易となるようにするようになった。
ところが、正規の主基板は遊技機に残したままで、電源だけを供給し正規のマイクロコンピュータの照合機能は生かしつつ、入賞・大当り等その他の主基板の機能を主基板の代わりに実行する「なりすまし基板」を主基板の裏側に設置し、不正に大当りを発生させる不正行為が発生するようになった。
図69は、なりすまし基板が遊技機に設置された状態の例を示すブロック図である。図69に示すように、なりすまし基板31Xは、主基板31と、主基板31と信号のやりとりを行う他の電気部品制御基板(この実施の形態では、演出制御基板80、払出制御基板37)との間に設置される。そして、主基板31と信号のやりとりを行う他の電気部品制御基板は、主基板31ではなく、なりすまし基板31Xと信号のやりとりを行うこととなる。また、一例として、なりすまし基板31Xから主基板31に対して電源電力が供給される。
なりすまし基板31Xは、一般に、正規の主基板31のコネクタを全部抜き、基板ボックスの裏に隠して設置される。主基板31側のコネクタをはずすとすぐに発見されるため、主基板31に接続されている相手側基板のコネクタを抜く。これにより、見た目上は、主基板31の異常は発見されにくい。そして、主基板31に接続されていた電気部品をなりすまし基板31Xにすべて接続させる。さらに、なりすまし基板31Xから正規の主基板31に電源を供給する配線を接続する。よって、遊技制御用マイクロコンピュータ560の照合機能(認証信号を出力する機能)が動作するので、照合機365を用いて照合を行った場合に、認証対象がなりすまし基板31Xではなく主基板31となるため、照合結果はOKになる。
そして、なりすまし基板31Xを主基板31の裏側に隠す。パチンコ遊技機に搭載される主基板31は、基板自体に不正回路が搭載されていないかを容易に発見させる目的で、部品の実装は片面実装とされ、さらに面実装部品の使用ができないので基板自体が比較的大きい。よって、主基板31と同程度の性能を有する制御基板を、両面実装とし、その面実装部品により作成すると、正規の主基板31より小さくすることができる。すなわち、主基板31と同程度の性能を有する「なりすまし基板」を、主基板31より小さく作成することができる。このため、「なりすまし基板」を主基板31の裏側に隠して設置することが容易にできてしまう。
図70は、既に説明したような主基板31を収容する遊技制御基板ボックスを簡略化して示す正面図である。主基板31は、遊技機裏面において、遊技制御基板ボックスに収容されている。すなわち、収納手段としての遊技制御基板ボックスに主基板31が収納され、それらが組み合わされた遊技制御ユニットの形で遊技機に取り付けられている。遊技制御基板ボックスは、主基板31が収容されたボックス本体31Aが蓋部31Bで覆われる構造である。蓋部31Bは、取付部31D,31Eのそれぞれにおける1箇所の取付穴にねじ込まれたワンウェイねじとその他のねじ(図示せず)でボックス本体31Aに固着される。ワンウェイねじとは、ねじ締め方向にしか回らないねじであり、遊技制御基板ボックスを開封不能とする固着手段の一例である。従って、一旦締め付けるとねじを取り外すことはできない。遊技制御基板ボックスは、ボックス本体31Aと蓋部31Bとの接合部分がねじ等の例えば金具によって固くとめられた「かしめ構造」を成している。
蓋部31Bをボックス本体31Aから外して主基板31を露出させようとする場合には、取付部31D,31Eにおけるワンウェイねじの取付部分(蓋部31Bとの取付部分)を切断する必要がある。従って、取付部分の切断の履歴から主基板31が露出された回数がわかる。管理者等が把握している取付部分の切断の履歴(回数)よりも実際の切断の回数が多い場合には、蓋部31Bが不正に外されて主基板13が露出され、遊技制御用マイクロコンピュータが不正マイクロコンピュータに交換された可能性があることがわかる。なお、取付部31D,31Eにはそれぞれ3箇所の取付穴が設けられているので、蓋部31Bを3回まで外すことができる。
また、蓋部31Bの不正取り外し防止のために、蓋部31Bとボックス本体31Aとの間に、ホログラムがプリントされた封印シール31F,31Gが貼着される。封印シール31F,31Gを剥がすと蓋部31Bおよびボックス本体31Aにホログラムが部分的に残るので、剥がされたことが一目でわかる。このことからも、蓋部31Bをボックス本体31Aから不正に取り外して主基板31を露出させようとしたことがわかる。
さらに、蓋部31Bの表面には、紫外線が照射されると蛍光発光する特殊蛍光インクによって印刷が施された領域366がある。領域366における印刷は、通常状態では視認不能であるが、紫外線を照射すると、領域366における印刷内容が蛍光発光して印刷内容が視認される。そして、領域366があること、および領域366の印刷内容は公表されない。
遊技制御基板ボックスが偽物(不正遊技制御用マイクロコンピュータが搭載された偽遊技制御基板ボックス)と交換された場合、偽遊技制御基板ボックスには領域366は存在しないので、紫外線を照射することによって、遊技制御基板ボックスの真偽を判定することができる。偽遊技制御基板ボックスに紫外線を照射しても、領域366における印刷内容が発光することがないからである。
なお、この実施の形態では、遊技制御基板ボックスの表面に特殊蛍光インクによって印刷が施された領域366を設けたが、遊技制御基板ボックスに収納されている遊技制御用マイクロコンピュータ560の表面に、特殊蛍光インクによって印刷を施してもよい。
また、特殊蛍光インクによって印刷を施すのではなく、遊技制御基板ボックスの所定箇所に変化を付けるようにしてもよい。例えば、取付部31D,31Eにおける3箇所の取付穴の形状をそれぞれ異なるようにしてもよい。その場合、一見しただけでは同形状に見えるが測定器で測定すると違いがわかる程度に変化を付ける。また、3箇所の取付穴の位置を等間隔に設けるのではなく、不等間隔にしてもよい。その場合、一見しただけでは等間隔に見えるが測定器で測定すると不等間隔であることがわかる程度に変化を付ける。さらに、遊技制御基板ボックスに複数の放熱用穴が設けられているときには、穴の形状をそれぞれ異なるようにしてもよい。その場合、一見しただけでは同形状に見えるが測定器で測定すると違いがわかる程度に変化を付ける。なお、穴の間隔や穴の形状等に違いがあることは公表されない。それ以外にも、遊技制御基板ボックスまたは主基板や遊技制御用マイクロコンピュータ560において、一見しただけでは視認できないような特殊な加工(例えば、視認しづらい位置にマーク等を伏しておく。)を施すようにしてもよい。
遊技制御基板ボックスをそのように構成にすると、遊技制御基板ボックスが偽遊技制御基板ボックスと交換された場合、本来の穴の間隔や穴の形状等に違いがあることを知らない限り、偽遊技制御基板ボックスにおいて穴の間隔や穴の形状等に違いを付けることは考えづら。また、本来の遊技制御基板ボックスに施されている特殊な加工と同じ加工をすることは考えづら。すなわち、偽遊技制御基板ボックスと交換された場合、そこには穴の間隔や穴の形状等に違いがないことになるので、または特殊な加工が存在しないことになるので、穴の間隔や穴の形状等を測定することによって、または特殊な加工の有無によって、遊技制御基板ボックスの真偽を判定することができる。
また、この実施の形態では、蓋部31Bに、機種名シール31aと検査履歴シール31bとが貼付されている。検査履歴シール31bには、主基板31の検査、修理、交換等の際に記入される「検査者」の欄と「検査日」の欄とが設けられているが、この例では、遊技機管理番号も記載されている。遊技機管理番号は、例えば遊技制御基板ボックスのユニット番号(各遊技制御ユニットに固有に付与された番号)である。
また、この実施の形態では、図70に示すように、蓋部31Bに、中断ボタン361を突出させるための孔(開口部)が設けられ、その孔から中断ボタン361の押下操作部が露出している。
なお、主基板31におけるコネクタ部分は蓋部31Bの外部に露出している。図70に示された例では、識別情報入出力のためのコネクタ31Cが例示されている。しかし、主基板31には、他の基板等との接続のための他のコネクタも搭載されている。
上記のように、主基板31が、開封不能な固着手段によって封止された基板ボックス内に収納され、中断ボタン361の押下操作部が、基板ボックスに設けられた開口部に設置されるように構成されているので、なりすまし基板が設置されている場合に、中断ボタン361からの遊技制御処理中断信号を確実に主基板31に入力させることができる。よって、なりすまし基板が設置されている場合に、中断ボタン361からの遊技制御処理中断信号がなりすまし基板に入力され、なりすまし基板が設置されているにもかかわらず遊技が中断されてしまうことを防止することができる。
図71は、主基板31に搭載された中断ボタン361の搭載状態および状態報知LED61の設置状態の例を示す説明図である。図71には、遊技制御基板ボックスに収納された主基板31に中断ボタン361および状態報知LED61が搭載されているときの主基板31および遊技制御基板ボックスの蓋部31Bの断面が示されている。図71に示すように、中断ボタン361は、ボタンの押下操作部分が遊技制御基板ボックスの蓋部31Bに設けられた孔(図70参照)から露出した状態で、主基板31の基板上に搭載される。よって、主基板31が遊技制御基板ボックス内に密封されていても、中断ボタン361を押下することが可能となる。なお、中断ボタン361は、主基板31に設けられていればよく、遊技制御基板ボックスの蓋部31Bに設けられた孔から突出した状態、またはその孔から臨む遊技制御基板ボックス内に位置させるようにしてもよい。
また、遊技制御基板ボックスの蓋部31Bに設けられた孔と中断ボタン361の押下操作部との間の隙間は、極力狭くすることが望ましい。すなわち、遊技制御基板ボックスの蓋部31Bに設けられた孔は、遊技制御基板ボックスの密封状態を確保するため、中断ボタン361によって大部分が塞がれるように形成される。例えば、遊技制御基板ボックスの蓋部31Bに設けられた孔の内壁に、中断ボタン361の押下操作部分の外壁が押下操作可能に接触した状態となるようにしてもよい。また、中断ボタン361を覆う柔軟性のある材質のカバーを、遊技制御基板ボックスの蓋部31Bに設けられた孔を塞ぎ、かつ中断ボタン361の押下操作可能な状態で、破壊等されない限り外れないように設置するようにしてもよい。このように、遊技制御基板ボックスの蓋部31Bに設けられた孔と中断ボタン361の押下操作部との間の隙間を極力狭くしたり、カバーによって完全に塞ぐようにすれば、遊技制御基板ボックスが破壊などされない限り主基板31の配線の変更等を行うことが不可能となるため、主基板31からの信号が取り出されてなりすまし基板などの外部に出力されることを防止することができる。
なお、一般に遊技制御基板ボックスの蓋部31Bは透明(着色されている場合もあるが、その場合でも、外部から遊技制御基板ボックスの内部を視認することは可能である。)であるから、主基板31に設置されている状態報知LED61の点灯状態を、遊技制御基板ボックスの外部から視認することができる。また、この実施の形態では、状態報知LED61は主基板31に設置されているが、遊技制御基板ボックス内において、主基板31以外の箇所に設置してもよい。
次に遊技機の動作について説明する。図72および図73は、遊技機に対して電力供給が開始され遊技制御用マイクロコンピュータ560へのリセット信号がハイレベルになったことに応じて遊技制御用マイクロコンピュータ560(具体的には、CPU56)が実行するメイン処理を示すフローチャートである。リセット信号が入力されるリセット端子の入力レベルがハイレベルになると、CPU56は、プログラムの内容が正当か否かを確認するための処理であるセキュリティチェック処理を実行した後、ステップS1以降のメイン処理を開始する。メイン処理において、CPU56は、まず、必要な初期設定を行う。
初期設定処理において、CPU56は、まず、割込禁止に設定する(ステップS1)。次に、マスク可能割込の割込モードを設定し(ステップS2)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS3)。なお、ステップS2では、CPU56の特定レジスタ(Iレジスタ)の値(1バイト)と内蔵デバイスが出力する割込ベクタ(1バイト:最下位ビット0)から合成されるアドレスが、割込番地を示すモードに設定する。また、マスク可能な割込が発生すると、CPU56は、自動的に割込禁止状態に設定するとともに、プログラムカウンタの内容をスタックにセーブする。
次いで、内蔵デバイスレジスタの設定(初期化)を行う(ステップS4)。ステップS4の処理によって、内蔵デバイス(内蔵周辺回路)であるCTC(カウンタ/タイマ)およびPIO(パラレル入出力ポート)の設定(初期化)を行う。この実施の形態で用いられる遊技制御用マイクロコンピュータ560は、I/Oポート(PIO)およびタイマ/カウンタ回路(CTC)804も内蔵している。
次いで、CPU56は、認証信号(主基板31に一意に与えられている基板ID)を照合端子364に対して出力するとともに(ステップS81)、RAM55をアクセス可能状態に設定する(ステップS5)。
次に、CPU56は、入力ポートを介して入力されるクリアスイッチ(例えば、電源基板に搭載されている。)の出力信号の状態を確認する(ステップS6)。その確認においてオンを検出した場合には、CPU56は、通常の初期化処理を実行する(ステップS10〜S15)。
クリアスイッチがオンの状態でない場合には、遊技機への電力供給が停止したときにバックアップRAM領域のデータ保護処理(例えばパリティデータの付加等の電力供給停止時処理)が行われたか否か確認する(ステップS7)。そのような保護処理が行われていないことを確認したら、CPU56は初期化処理を実行する。バックアップRAM領域にバックアップデータがあるか否かは、例えば、電力供給停止時処理においてバックアップRAM領域に設定されるバックアップフラグの状態によって確認される。
電力供給停止時処理が行われたことを確認したら、CPU56は、バックアップRAM領域のデータチェックを行う(ステップS8)。この実施の形態では、データチェックとしてパリティチェックを行う。よって、ステップS8では、算出したチェックサムと、電力供給停止時処理で同一の処理によって算出され保存されているチェックサムとを比較する。不測の停電等の電力供給停止が生じた後に復旧した場合には、バックアップRAM領域のデータは保存されているはずであるから、チェック結果(比較結果)は正常(一致)になる。チェック結果が正常でないということは、バックアップRAM領域のデータが、電力供給停止時のデータとは異なっていることを意味する。そのような場合には、内部状態を電力供給停止時の状態に戻すことができないので、電力供給の停止からの復旧時でない電源投入時に実行される初期化処理を実行する。
チェック結果が正常であれば、CPU56は、遊技制御手段の内部状態と演出制御手段等の電気部品制御手段の制御状態を電力供給停止時の状態に戻すための遊技状態復旧処理(ステップS41〜S43の処理)を行う。具体的には、ROM54に格納されているバックアップ時設定テーブルの先頭アドレスをポインタに設定し(ステップS41)、バックアップ時設定テーブルの内容を順次作業領域(RAM55内の領域)に設定する(ステップS42)。作業領域はバックアップ電源によって電源バックアップされている。バックアップ時設定テーブルには、作業領域のうち初期化してもよい領域についての初期化データが設定されている。ステップS41およびステップS42の処理によって、作業領域のうち初期化してはならない部分については、保存されていた内容がそのまま残る。初期化してはならない部分とは、例えば、電力供給停止前の遊技状態を示すデータ(特別図柄プロセスフラグ、確変フラグなど)、出力ポートの出力状態が保存されている領域(出力ポートバッファ)、未払出賞球数を示すデータが設定されている部分などである。
また、CPU56は、電力供給復旧時の初期化コマンドとしての停電復旧指定コマンドを送信する(ステップS43)。そして、ステップS14に移行する。
なお、この実施の形態では、バックアップフラグとチェックデータとの双方を用いてバックアップRAM領域のデータが保存されているか否か確認しているが、いずれか一方のみを用いてもよい。すなわち、バックアップフラグとチェックデータとのいずれかを、遊技状態復旧処理を実行するための契機としてもよい。
初期化処理では、CPU56は、まず、RAMクリア処理を行う(ステップS10)。なお、RAMクリア処理によって、所定のデータ(例えば大当り判定用乱数を生成するためのカウンタのカウント値のデータ)は0に初期化されるが、任意の値またはあらかじめ決められている値に初期化するようにしてもよい。また、RAM55の全領域を初期化せず、所定のデータ(例えば大当り判定用乱数を生成するためのカウンタのカウント値のデータ)をそのままにしてもよい。また、ROM54に格納されている初期化時設定テーブルの先頭アドレスをポインタに設定し(ステップS11)、初期化時設定テーブルの内容を順次作業領域に設定する(ステップS12)。
ステップS11およびS12の処理によって、例えば、特別図柄プロセスフラグや普通図柄プロセスフラグなど制御状態に応じて選択的に処理を行うためのフラグ(遊技状態を示すフラグ)に初期値が設定される。
また、CPU56は、サブ基板(主基板31以外のマイクロコンピュータが搭載された基板。)を初期化するための初期化指定コマンド(遊技制御用マイクロコンピュータ560が初期化処理を実行したことを示すコマンドでもある。)をサブ基板に送信する(ステップS13)。例えば、演出制御用マイクロコンピュータは、初期化指定コマンドを受信すると、演出表示装置9において、遊技機の制御の初期化がなされたことを報知するための画面表示、すなわち初期化報知を行う。
また、CPU56は、乱数回路503を初期設定する乱数回路設定処理を実行する(ステップS14)。CPU56は、例えば、乱数回路設定プログラムに従って処理を実行することによって、乱数回路503にランダムRの値を更新させるための設定を行う。乱数回路503は、所定のクロック信号を用いて乱数を発生させる。この実施の形態では、乱数回路503は、CPU56から数値が読み出されるときに、0〜65535の数値のいずれかの数値をCPU56に出力する。
そして、ステップS15において、CPU56は、所定時間(例えば2ms)毎に定期的にタイマ割込がかかるように遊技制御用マイクロコンピュータ560に内蔵されているCTCのレジスタの設定を行なう。すなわち、初期値として例えば2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。この実施の形態では、2ms毎に定期的にタイマ割込がかかるとする。
初期化処理の実行(ステップS10〜S15)が完了すると、CPU56は、メイン処理で、表示用乱数更新処理(ステップS17)および初期値用乱数更新処理(ステップS18)を繰り返し実行する。表示用乱数更新処理および初期値用乱数更新処理を実行するときには割込禁止状態に設定し(ステップS16)、表示用乱数更新処理および初期値用乱数更新処理の実行が終了すると割込許可状態に設定する(ステップS19)。この実施の形態では、表示用乱数とは、変動パターンを決定するための乱数であり、表示用乱数更新処理とは、表示用乱数を発生するためのカウンタのカウント値を更新する処理である。また、初期値用乱数更新処理とは、初期値用乱数を発生するためのカウンタのカウント値を更新する処理である。この実施の形態では、初期値用乱数とは、普通図柄に関して当りとするか否か決定するための乱数を発生するためのカウンタ(普通図柄当り判定用乱数発生カウンタ)等のカウント値の初期値を決定するための乱数である。後述する遊技の進行を制御する遊技制御処理(遊技制御用マイクロコンピュータ560が、遊技機に設けられている演出表示装置、可変入賞球装置、球払出装置等の遊技用の装置を、自身で制御する処理、または他のマイクロコンピュータに制御させるために指令信号を送信する処理、遊技装置制御処理ともいう)において、普通図柄当り判定用乱数のカウント値が1周(普通図柄当り判定用乱数の取りうる値の最小値から最大値までの間の数値の個数分歩進したこと)すると、そのカウンタに初期値が設定される。
次に、メイン処理における乱数回路設定処理(ステップS15)を説明する。図74は、乱数回路設定処理を示すフローチャートである。乱数回路設定処理において、CPU56は、まず、乱数回路設定プログラム851に含まれる乱数回路選択モジュール851fに従って処理を実行し、遊技制御用マイクロコンピュータ560が内蔵する各乱数回路803a,803bの中から、遊技制御処理を含むタイマ割込処理の実行時に用いる乱数回路を設定する(ステップS151)。例えば、CPU56は、ユーザ(例えば、遊技機の製作者)によって設定されたタイマ割込処理の実行時に用いる乱数回路503を指定する指定情報を、あらかじめRAM55の所定の記憶領域に記憶している。そして、CPU56は、RAM55の所定の記憶領域に記憶された指定情報に従って、12ビット乱数回路803aまたは16ビット乱数回路803bのいずれかを選択し、選択した乱数回路をタイマ割込処理の実行時に用いる乱数回路として設定する。なお、タイマ割込処理の実行時に用いる乱数回路として、12ビット乱数回路803aおよび16ビット乱数回路803bの両方を設定してもよい。この場合、遊技制御用マイクロコンピュータは、例えば、12ビット乱数回路803aが発生した乱数にもとづいて大当り判定を行い、16ビット乱数回路803bが発生した乱数にもとづいて確変判定を行うようにしてもよい。
CPU56は、ステップS151で使用する乱数回路503を設定すると、例えば、カウンタ821やクロック信号出力回路824の動作を停止させることで、使用しないように設定した方の乱数回路のカウンタ821がカウント値Cを更新しないようにする。また、例えば、CPU56は、使用しないように設定した方の乱数回路のカウンタ821はカウント値Cを更新するが、CPU56は出力制御信号SCを出力しないようにし、乱数値記憶回路831から乱数を読み出せないように制御してもよい。また、例えば、CPU56は、使用しないように設定した方の乱数回路の乱数値取込レジスタ839に乱数値取込データ「01(H)」を書き込まないようにし、ラッチ信号生成回路833がラッチ信号SLを乱数値記憶回路831に出力しないように制御してもよい。
上記のように、使用する乱数回路503を設定するようにすることによって、使用する乱数回路503だけを設定することによって、生成する乱数の値の範囲を適切に設定することができる。また、タイマ割込処理の実行中に不要な乱数を処理することを防止することができ、遊技制御用マイクロコンピュータ560の制御負担を軽減することができる。例えば、大当りとする判定値として離れた値(例えば、「1」と「100」を含む判定テーブルを用いて大当り判定を行う場合、所定の大当り確率(例えば、100分の1)で大当りと判定するようにすると、16ビット乱数回路803bによる乱数を用いるよりも、12ビット乱数回路803aによる乱数を用いた方が、処理すべき判定値の種類の数が少なくて済み、遊技制御用マイクロコンピュータ560の制御負担が軽減される。
また、CPU56は、乱数回路設定プログラム851に含まれる乱数最大値設定モジュール851aに従って処理を実行し、ユーザによって予め設定された乱数最大値を指定する乱数最大値設定データを、乱数最大値設定レジスタ835に書き込む(ステップS152)。そのようにすることによって、ユーザによって予め設定されたランダムRの乱数最大値を乱数回路503に設定する。なお、タイマ割込実行時に用いる乱数回路として12ビット乱数回路803aを設定した場合、CPU56は、乱数最大値(「0」〜「4095」のうちのいずれかの値)を指定する乱数最大値設定データを、12ビット乱数回路803aの乱数最大値設定レジスタ835に書き込む。また、タイマ割込実行時に用いる乱数回路として16ビット乱数回路803bを設定した場合、CPU56は、乱数最大値(「0」〜「65535」のうちのいずれかの値)を指定する乱数最大値設定データを、16ビット乱数回路803bの乱数最大値設定レジスタ835に書き込む。
なお、この実施の形態では、乱数最大値として「0」〜「255」が設定された場合には、後述する乱数最大値再設定処理において乱数最大値を所定値に設定しなおすことになる。また、乱数最大値として「256」以上の値を書き込む制御を行った場合であっても、データ化けなどの原因によって「0」〜「255」の値が乱数最大値設定レジスタ835に設定されてしまった場合には、後述する乱数最大値再設定処理において乱数最大値を所定値に設定しなおす。
上記のように、ステップS152において、生成する乱数の最大値をあらかじめ乱数最大値設定レジスタ835に設定するので、タイマ割込処理の実行中に用いる乱数の範囲より大きい値の乱数を生成してしまうことを防止でき、乱数回路503および遊技制御用マイクロコンピュータ560の処理負担を軽減することができる。
また、CPU56は、ステップS152で乱数最大値設定レジスタ835に設定した乱数最大値が所定の下限値以下でないかを確認し、乱数最大値が下限値以下である場合には、乱数最大値設定レジスタ835に設定されている乱数最大値の再設定を行う乱数最大値再設定処理を実行する(ステップS153)。
また、CPU56は、乱数回路設定プログラム851に含まれる初期値変更モジュール851eに従って処理を実行し、乱数回路503のカウンタ821が更新するカウント値の初期値を変更させる初期値変更処理を実行する(ステップS154)。
また、CPU56は、乱数回路設定プログラム851に含まれる乱数更新方式選択モジュール851bに従って処理を実行し、乱数更新方式選択データを乱数更新方式選択レジスタ840に書き込む(ステップS155)。そのようにすることによって、乱数回路503の乱数更新方式を設定する。なお、この実施の形態では、CPU56は、乱数更新方式選択データ「10(H)」を乱数更新方式選択レジスタ840に書き込むものとする。すなわち、この実施の形態では、乱数回路503の乱数更新方式として第2の乱数更新方式が設定される。
また、CPU56は、乱数回路設定プログラム851に含まれる周期設定モジュール851cに従って処理を実行し、ユーザによって予め設定された乱数発生用クロック信号SI1の周期を指定する周期設定データ(基準クロック信号を何分周させるかを設定するためのデータ)を、周期設定レジスタ837に書き込む(ステップS156)。そのようにすることによって、ユーザによって予め設定された乱数発生用クロック信号SI1の周期を乱数回路503に設定する。
また、CPU56は、乱数回路503のカウンタ821によって所定の最終値までカウント値が更新されたときに、カウンタ821に入力する初期値を更新するか否かを設定する(ステップS157)。例えば、CPU56は、カウンタ821によって所定の最終値までカウント値が更新されたときに、カウンタ821に入力する初期値を更新するか否かを示す設定値を、予めユーザによって設定されRAM55の所定領域に記憶している。そして、CPU56は、RAM55の所定の記憶領域に記憶された所定の設定値に従って、カウンタ821によって所定の最終値までカウント値が更新されたときに、カウンタ821に入力する初期値を更新するか否かを設定する。この実施の形態では、CPU56は、ステップS157において、カウンタ821に入力する初期値を更新すると判定すると、所定の最終値までカウント値が更新されたとき(カウンタ821から通知信号を入力したとき)に初期値を更新する旨を示す初期値更新フラグをセットする。
また、CPU56は、乱数回路503のカウンタ821によって所定の最終値までカウント値が更新されたときに、カウンタ821が更新するカウント値の順列を変更するか否かを設定する(ステップS158)。例えば、CPU56は、カウンタ821によって所定の最終値までカウント値が更新されたときに、カウンタ821が出力するカウント値の順列を変更するか否かを示す設定値を、予めユーザによって設定されRAM55の所定領域に記憶している。そして、CPU56は、RAM55の所定の記憶領域に記憶された所定の設定値に従って、カウンタ821によって所定の最終値までカウント値が更新されたときに、カウンタ821が出力するカウント値の順列を変更するか否かを設定する。この実施の形態では、CPU56は、ステップS158において、カウンタ821が出力するカウント値の順列を変更すると判定すると、所定の最終値までカウント値が更新されたときにカウント値の順列を変更する旨を示すカウント値順列変更フラグをセットする。この実施の形態では、ステップS158において、所定の設定値に従ってカウント値順列変更フラグをセットする場合を説明する。そして、CPU56は、後述するカウント値順列変更処理において、カウント値順列変更フラグがセットされていることにもとづいて、カウンタ821が出力するカウント値の順列を変更する。
そして、CPU56は、乱数回路設定プログラム851に含まれる乱数回路起動モジュール851dに従って処理を実行し、乱数回路起動データ「80(H)」を乱数回路起動レジスタ841に書き込む(ステップS159)。そのようにすることによって、CPU56は、乱数回路503を起動させる。
次に、乱数回路設定処理における乱数最大値再設定処理(ステップS153)を説明する。図75は、乱数最大値再設定処理を示すフローチャートである。乱数最大値再設定処理において、CPU56は、乱数最大値設定レジスタ835に設定されている乱数最大値を読み込む(ステップS153a)。なお、タイマ割込処理の実行時に用いる乱数回路として12ビット乱数回路803aを設定した場合、CPU56は、12ビット乱数回路803aの乱数最大値設定レジスタ835に設定されている乱数最大値を読み込む。また、タイマ割込処理の実行時に用いる乱数回路として16ビット乱数回路803bを設定した場合、CPU56は、16ビット乱数回路803bの乱数最大値設定レジスタ835に設定されている乱数最大値を読み込む。
CPU56は、読み込んだ乱数最大値が所定の下限値以下であるか否かを判定する(ステップS153b)。12ビット乱数回路803aを設定した場合、12ビット乱数回路803aにおいて設定可能な乱数最大値が「256」から「4095」までであるので、CPU56は、12ビット乱数回路803aの乱数最大値設定レジスタ835から読み込んだ乱数最大値が下限値「256」以下であるか否かを判定する。また、16ビット乱数回路803bを設定した場合、16ビット乱数回路803bにおいて設定可能な乱数最大値が「256」から「65535」までであるので、CPU56は、16ビット乱数回路803bの乱数最大値設定レジスタ835から読み込んだ乱数最大値が下限値「256」以下であるか否かを判定する。
読み込んだ乱数最大値が下限値以下である場合、CPU56は、乱数最大値設定レジスタ835に設定される乱数最大値を所定値に設定しなおす(ステップS153c)。12ビット乱数回路803aを設定した場合、12ビット乱数回路803aの乱数最大値設定レジスタ835から読み込んだ乱数最大値が下限値「256」以下であると判定すると、CPU56は、乱数最大値設定レジスタ835に設定される乱数最大値を所定値「4095」に設定しなおす。また、16ビット乱数回路803bを設定した場合、16ビット乱数回路803bの乱数最大値設定レジスタ835から読み込んだ乱数最大値が下限値「256」以下であると判定すると、CPU56は、乱数最大値設定レジスタ835に設定される乱数最大値を所定値「65535」に設定しなおす。
以上のように、乱数最大値設定レジスタ835に設定した乱数最大値が所定の下限値以下となっている場合には、乱数最大値を所定値に設定しなおす。そのため、遊技制御用マイクロコンピュータ560の誤動作や、無線信号を用いた取り込み信号を遊技機に対して発生させるなどの行為によって、過度に小さい値が乱数の最大値として設定されてしまうことを防止することができる。従って、最小値から最大値までの値の範囲が過度に小さい乱数を生成する事態が発生することを防止することができる。
次に、乱数回路設定処理における初期値変更処理(ステップS154)を説明する。図76は、初期値変更処理を示すフローチャートである。初期値変更処理において、CPU56は、まず、ユーザプログラム実行データエリアの1F97(H)番地の領域に記憶されている初期値変更方式設定データを読み出し、ユーザによって選択された初期値変更方式を特定する。この場合、CPU56は、読み出した初期値変更方式設定データの値が「01(H)」であるか否かを判定することによって(ステップS154a)、ユーザによって選択された初期値変更方式を特定する。
初期値変更方式設定データの値が「01(H)」である場合、CPU56は、乱数回路503のカウンタ821に入力する初期値を、遊技制御用マイクロコンピュータ560固有のIDナンバにもとづいて設定された値に変更する(ステップS154b)。例えば、CPU56は、RAM55の所定の記憶領域に、遊技制御用マイクロコンピュータ560のIDナンバと、IDナンバにもとづいて所定の演算を行って求めた演算値とを予め対応付けて記憶している。そして、ステップS154bにおいて、CPU56は、予め記憶するIDナンバにもとづく演算値にカウント値の初期値を変更させる。また、例えば、ステップS154bにおいて、CPU56は、遊技制御用マイクロコンピュータ560のIDナンバと所定値とを演算して(例えば、IDナンバ(例えば、「100」)に所定値(例えば、「100」)を加算して)求めた演算値(例えば、「200」)にカウント値の初期値を設定する。また、カウンタ821に入力する初期値を変更すると、CPU56は、カウント値の初期値を変更した旨を示す初期値変更フラグをセットする(ステップS154c)。
なお、CPU56は、ステップS154bにおいてカウンタ821に入力する初期値を変更する際、乱数回路503の比較器822の乱数最大値設定レジスタ835の値を確認し、IDナンバにもとづいて設定された値が乱数最大値以上であるか否かを判断する。そして、IDナンバにもとづいて設定された値が乱数最大値以上であると判断すると、CPU56は、カウンタ821に入力する初期値を変更しない(例えば、初期値を「0」のまま変更しない)。そのようにすることによって、カウント値の初期値が乱数最大値以上の値に設定されてしまう事態を防止することができる。
ステップS154aにおいて、初期値変更方式設定データの値が「01(H)」でない場合(すなわち、ユーザプログラム実行データエリアの1F97(H)番地の領域に記憶されている初期値変更方式設定データの値が「00(H)」である場合)、CPU56は、カウント値の初期値の変更を行わず、そのまま初期値変更処理を終了し、ステップS155に移行する。
乱数回路設定処理が実行されることによって、遊技制御処理を含むタイマ割込処理の実行時に乱数回路503に各種信号が入力され、乱数回路503内で各種信号が生成される。図77は、乱数回路503に各信号が入力されるタイミング、および乱数回路503内で各信号が生成されるタイミングを示すタイミングチャートである。
図77に示すように、クロック回路801は、所定周期ごと(図77に示すタイミングT11,T21,・・・)に、出力端子の信号レベルをローレベルからハイレベルに立ち上げることによって、乱数回路503に基準クロック信号CLK(図77(A)参照)を入力する。
クロック信号出力回路824は、クロック回路801から供給された基準クロック信号CLKを分周し、乱数発生用クロック信号SI1(図77(B)参照)を生成する。例えば、クロック信号出力回路824は、タイミングT11,T12,・・・で出力端子の信号レベルをローレベルからハイレベルに立ち上げ、タイミングT21,T22,・・・で信号レベルをハイレベルからローレベルに立ち下げることによって、乱数発生用クロック信号SI1を出力する。
なお、図77に示す例では、説明を分かりやすくするために、クロック信号出力回路824が基準クロック信号CLKを2分周して乱数発生用クロック信号SI1を生成する場合を示している。しかし、実際の乱数回路では、周期設定レジスタ837に設定可能な周期は「システムクロック信号の周期×128×7」から「システムクロック信号の周期×128×256」まである。従って、実際の乱数回路では、クロック信号出力回路824は、「システムクロック信号の周期×128×7」から「システムクロック信号の周期×128×256」までの範囲で周期設定レジスタ837に設定される周期設定データ「07(H)」〜「FF(H)」に対応した分周比で、基準クロック信号CLKを分周し乱数発生用クロック信号SI1を生成する。クロック信号出力回路824によって生成された乱数発生用クロック信号SI1は、セレクタ828と反転回路832とに出力される。
この実施の形態では、乱数回路設定処理において、第2の乱数更新方式が設定されるので、乱数更新方式選択信号出力回路827から第2の乱数更新方式選択信号がセレクタ828に入力される。セレクタ828は、乱数更新方式選択信号出力回路827から第2の乱数更新方式選択信号が入力されると、クロック信号出力回路824から入力した乱数発生用クロック信号SI1を選択してカウンタ821に出力する。カウンタ821は、セレクタ828から供給される乱数発生用クロック信号SI1の立ち上がりエッジが入力されるごとに、カウント値Cを更新してカウント値順列変更回路823に出力する。
反転回路832は、クロック信号出力回路824から入力した乱数発生用クロック信号SI1の信号レベルを反転させることによって、反転クロック信号SI2(図77(C)参照)を生成する。例えば、反転回路832は、タイミングT11,T12,・・・で出力端子の信号レベルをハイレベルからローレベルに立ち下げ、タイミングT21,T22,・・・で信号レベルをローレベルからハイレベルに立ち上げることによって、反転クロック信号SI2を出力する。また、反転回路832によって生成された反転クロック信号SI2は、ラッチ信号生成回路833に出力される。
ラッチ信号生成回路833には、入賞検出信号SS(図77(D)参照)がタイマ回路834に入力されてから所定時間(例えば3ミリ秒)が経過すると、乱数値読取信号出力回路826から乱数値読取信号が入力される。例えば、乱数値読取信号出力回路826の出力端子の信号レベルがローレベルからハイレベルに立ち上がることによって、ラッチ信号生成回路833に乱数値読取信号が入力される。ラッチ信号生成回路833は、乱数更新方式選択信号出力回路827から第2の乱数更新方式選択信号が入力されたことに応じて、乱数値読取信号出力回路826から入力する乱数値読取信号を反転回路832から供給される反転クロック信号SI2の立ち上がりエッジに同期させて、ラッチ信号SL(図77(E)参照)を出力する。
以上のように、乱数回路503は、タイミングT11,T12,T13・・・においてカウント値Cを更新し、タイミングT11,T12,T13とは異なるタイミングT22においてラッチ信号SLを出力させ、乱数値記憶回路831に乱数値を記憶する。
次に、遊技制御処理について説明する。図78は、タイマ割込処理を示すフローチャートである。メイン処理の実行中に、具体的には、ステップS16〜S19のループ処理の実行中における割込許可になっている期間において、タイマ割込が発生すると、CPU56は、図78に示すステップS20〜S35のタイマ割込処理を実行する。タイマ割込処理において、CPU56は、中断ボタン361からの遊技制御処理中断信号が入力しているか否か判定し(ステップS85)、遊技制御処理中断信号が入力されていなければ(ステップS85のN)、ステップS20以降の処理を実行する。遊技制御処理中断信号が入力されていれば、遊技制御処理中断信号が入力されなくなるまで遊技制御処理中断信号の状態を監視し、ステップS20以降の処理の実行を中断する。
ステップS20において、CPU56は、電源断信号が出力されたか否か(オン状態になったか否か)を検出する電源断処理(電源断検出処理)を実行する。電源断信号は、例えば電源基板910に搭載されている電圧低下監視回路が、遊技機に供給される電源の電圧の低下を検出した場合に出力する。そして、電源断検出処理において、CPU56は、電源断信号が出力されたことを検出したら、必要なデータをバックアップRAM領域に保存するための電力供給停止時処理を実行する。次いで、入力ドライバ回路58を介して、ゲートスイッチ32a、始動口スイッチ14a、カウントスイッチ23、および入賞口スイッチ29a,30a,33a,39aの検出信号を入力し、それらの状態判定を行う(スイッチ処理:ステップS21)。
次に、CPU56は、特別図柄表示器8、普通図柄表示器10、特別図柄保留記憶表示器18、普通図柄保留記憶表示器41の表示制御を行う表示制御処理を実行する(ステップS22)。特別図柄表示器8および普通図柄表示器10については、ステップS32,S33で設定される出力バッファの内容に応じて各表示器に対して駆動信号を出力する制御を実行する。
次に、CPU56は、乱数回路設定処理において所定の最終値までカウント値が更新されたときに初期値を更新する旨の設定がされてるか(ステップS157参照)を確認し、乱数回路503のカウンタ821に入力する初期値を更新する処理を行う(初期値更新処理:ステップS22A)。
また、CPU56は、普通図柄の当り図柄決定用の乱数等の各判定用乱数を生成するための各カウンタのカウント値を更新する処理を行う(判定用乱数更新処理:ステップS23)。CPU56は、さらに、初期値用乱数および表示用乱数を生成するためのカウンタのカウント値を更新する処理を行う(初期値用乱数更新処理,表示用乱数更新処理:ステップS24,S25)。
また、CPU56は、乱数回路503のカウンタ821が出力するカウント値の順列をカウント値順列変更回路823に変更させるカウント値順列変更処理を行う(ステップS25A)。この実施の形態では、乱数回路設定処理のステップS158でカウント値順列変更フラグがセットされているか否かによって、カウント値順列変更処理を実行するか否かが決定されている。そして、CPU56は、カウント値順列変更フラグがセットされていることにもとづいて、カウント値順列変更処理を実行する。
さらに、CPU56は、特別図柄プロセス処理を行う(ステップS26)。特別図柄プロセス処理では、特別図柄表示器8および大入賞口を所定の順序で制御するための特別図柄プロセスフラグに従って当する処理を実行する。CPU56は、特別図柄プロセスフラグの値を、遊技状態に応じて更新する。
次いで、普通図柄プロセス処理を行う(ステップS27)。普通図柄プロセス処理では、CPU56は、普通図柄表示器10の表示状態を所定の順序で制御するための普通図柄プロセスフラグに従って当する処理を実行する。CPU56は、普通図柄プロセスフラグの値を、遊技状態に応じて更新する。
また、CPU56は、演出制御用マイクロコンピュータに演出制御コマンドを送出する処理を行う(演出制御コマンド制御処理:ステップS28)。
さらに、CPU56は、例えばホール管理用コンピュータに供給される大当り情報、始動情報、確率変動情報などのデータを出力する情報出力処理を行う(ステップS29)。
また、CPU56は、第1始動口スイッチ14a、第2始動口スイッチ14b、カウントスイッチ23および入賞口スイッチ29a,30aの検出信号にもとづく賞球個数の設定などを行う賞球処理を実行する(ステップS30)。具体的には、第1始動口スイッチ14a、第2始動口スイッチ14b、カウントスイッチ23および入賞口スイッチ29a,30aのいずれかがオンしたことにもとづく入賞検出に応じて、払出制御基板37に搭載されている払出制御用マイクロコンピュータに賞球個数を示す払出制御コマンド(賞球個数信号)を出力する。払出制御用マイクロコンピュータは、賞球個数を示す払出制御コマンドに応じて球払出装置97を駆動する。
この実施の形態では、出力ポートの出力状態に対応したRAM領域(出力ポートバッファ)が設けられているのであるが、CPU56は、出力ポートの出力状態に対応したRAM領域におけるソレノイドのオン/オフに関する内容を出力ポートに出力する(ステップS31:出力処理)。
また、CPU56は、特別図柄プロセスフラグの値に応じて特別図柄の演出表示を行うための特別図柄表示制御データを特別図柄表示制御データ設定用の出力バッファに設定する特別図柄表示制御処理を行う(ステップS32)。CPU56は、例えば、特別図柄プロセス処理でセットされる開始フラグがセットされると終了フラグがセットされるまで、変動速度が1コマ/0.2秒であれば、0.2秒が経過する毎に、出力バッファに設定される表示制御データの値を+1する。また、CPU56は、出力バッファに設定された表示制御データに応じて、ステップS22において駆動信号を出力することによって、特別図柄表示器8における特別図柄の可変表示を実行する。
さらに、CPU56は、普通図柄プロセスフラグの値に応じて普通図柄の演出表示を行うための普通図柄表示制御データを普通図柄表示制御データ設定用の出力バッファに設定する普通図柄表示制御処理を行う(ステップS33)。CPU56は、例えば、普通図柄の変動に関する開始フラグがセットされると終了フラグがセットされるまで、普通図柄の変動速度が0.2秒ごとに表示状態(「○」および「×」)を切り替えるような速度であれば、0.2秒が経過する毎に、出力バッファに設定される表示制御データの値(例えば、「○」を示す1と「×」を示す0)を切り替える。また、CPU56は、出力バッファに設定された表示制御データに応じて、ステップS22において駆動信号を出力することによって、普通図柄表示器10における普通図柄の演出表示を実行する。
また、CPU56は、遊技状態に応じて、状態報知LED61の点灯状態を制御する状態報知LED制御処理を行う(ステップS34)。
その後、割込許可状態に設定し(ステップS35)、処理を終了する。
以上の制御によって、この実施の形態では、遊技制御処理は2ms毎に起動されることになる。なお、遊技制御処理は、タイマ割込処理におけるステップS21〜S33(ステップS29を除く。)の処理に相当する。また、この実施の形態では、タイマ割込処理で遊技制御処理が実行されているが、タイマ割込処理では例えば割込が発生したことを示すフラグのセットのみがなされ、遊技制御処理はメイン処理において実行されるようにしてもよい。
また、CPU56は、タイマ割込処理を実行した回数をカウントする処理を実行する。この実施の形態では、CPU56は、タイマ割込処理を実行するごとに、タイマ割込処理を実行した回数を示す割込回数カウンタをカウントアップする。例えば、CPU56は、ステップS31の出力処理を完了すると、タイマ割込処理を実行した回数を示す割込回数カウンタの値を1加算する。
次に、タイマ割込処理における初期値更新処理(ステップS22A)について説明する。図79は、初期値更新処理を示すフローチャートである。初期値更新処理において、CPU56は、乱数回路503のカウンタ821が出力するカウント値Cを最終値まで更新した旨を示す通知信号の状態を確認する(ステップS220)。通知信号がオン状態になっていることを検出した場合には、CPU56は、初期値更新フラグがセットされているか否かを確認する(ステップS221)。すなわち、CPU56は、乱数回路設定処理において、所定の最終値までカウント値が更新されたときに初期値を更新する旨の設定がなされたか否か(ステップS157参照)を確認する。
初期値更新フラグがセットされている場合、CPU56は、乱数回路503のカウンタ821が所定の最終値までカウント値を更新したときに、カウンタ821に入力する初期値を更新すると判断する。また、初期値更新フラグがセットされている場合、CPU56は、初期値変更フラグがセットされているか否かを確認する(ステップS222)。すなわち、CPU56は、カウント値の初期値が現在変更されているか否か(すなわち、CPU56のIDナンバにもとづく値に変更されているか否か)を判断する。
初期値変更フラグがセットされている(すなわち、遊技制御用マイクロコンピュータ560のIDナンバにもとづく値に初期値が現在変更されている)場合、CPU56は、カウンタ821に入力する初期値を、遊技制御用マイクロコンピュータ560のIDナンバにもとづく値から元の値(例えば、「1」)にもどす(ステップS223)。そして、CPU56は、初期値変更フラグをリセットし(ステップS224)、初期値更新処理を終了する。
初期値変更フラグがセットされていない(すなわち、初期値が現在変更されていない)場合、CPU56は、カウンタ821に入力する初期値を、遊技制御用マイクロコンピュータ560のIDナンバにもとづく値に変更する(ステップS225)。この場合、例えば、遊技制御用マイクロコンピュータ560のIDナンバが「100」であるとすると、カウンタ821に入力する初期値を、IDナンバ「100」に所定値「100」を加算して求めた演算値「200」に変更する。また、例えば、カウンタ821に入力する初期値を、IDナンバ「100」に所定値「50」を減算して求めた演算値「50」に変更する。そして、CPU56は、初期値変更フラグをセットし(ステップS226)、初期値更新処理を終了する。
なお、12ビット乱数回路803aおよび16ビット乱数回路803bの両方を設定した場合、ステップS225において、CPU56は、一方の乱数回路(例えば、12ビット乱数回路803a)から読み込んだ乱数を所定値としてIDナンバに加算して、カウンタ821に入力する初期値を求めてもよい。そして、CPU56は、他の一方(例えば、16ビット乱数回路803b)から読み込んだ乱数を、大当り判定用の乱数として用いてもよい。
なお、CPU56は、ステップS225においてカウンタ821に入力する初期値を更新する際、乱数回路503の比較器822の乱数最大値設定レジスタ835の値を確認し、IDナンバにもとづいて設定された値が乱数最大値以上であるか否かを判断する。そして、IDナンバにもとづいて設定された値が乱数最大値以上であると判断すると、CPU56は、カウンタ821に入力する初期値を所定値のまま更新しない(例えば、所定値「0」のまま更新しない)。そのようにすることによって、カウント値の初期値が乱数最大値以上の値に設定されてしまう事態を防止することができる。
なお、ステップS220において通知信号がオフ状態であると判断した場合、およびステップS221において初期値更新フラグがセットされていないと判断した場合、CPU56は、カウンタ821に入力する初期値を更新することなく、そのまま初期値更新処理を終了し、ステップS23に移行する。
次に、タイマ割込処理におけるカウント値順列変更処理(ステップS25A)について説明する。図80は、カウント値順列変更処理を示すフローチャートである。CPU56は、カウント値順列変更プログラム854に従って処理を実行することによって、カウント値順列変更処理を行う。カウント値順列変更処理において、CPU56は、乱数回路503のカウンタ821が出力するカウント値Cを最終値まで更新した旨を示す通知信号の状態を確認する(ステップS241)。通知信号がオン状態になっていることを検出した場合には、CPU56は、カウント値順列変更フラグがセットされているか否かを確認する(ステップS242)。すなわち、CPU56は、乱数回路設定処理において、所定の最終値までカウント値が更新されたときにカウンタ821が更新するカウント値の順列を変更する旨の設定がなされたか否か(ステップS158参照)を確認する。
カウント値順列変更フラグがセットされている場合、CPU56は、乱数回路503のカウンタ821が所定の最終値までカウント値を更新したときに、カウンタ821が更新するカウント値の順列を変更すると判断する。そして、CPU56は、カウント値順列変更レジスタ836にカウント値順列変更データ「01(H)」を書き込む(ステップS243)。すなわち、CPU56は、カウント値順列変更データ「01(H)」を書き込むことによって、乱数値記憶回路831に入力されるカウント値Cの順列をカウント値順列変更回路823に変更させる。
以上のように、カウント値順列変更処理において、乱数を所定の最終値まで更新したときに、カウンタ821が更新するカウント値の順列を変更するので、乱数回路503が生成する乱数のランダム性をより向上させることができる。
図81は、遊技制御用マイクロコンピュータ560(具体的には、CPU56)が実行する特別図柄プロセス処理(ステップS26)の一例を示すフローチャートである。特別図柄プロセス処理では特別図柄表示器8および大入賞口を制御するための処理が実行される。特別図柄プロセス処理において、CPU56は、始動入賞口14に遊技球が入賞したことを検出するための始動口スイッチ14aがオンしていたら、すなわち始動入賞が発生していたら、始動口スイッチ通過処理を実行する(ステップS311,S312)。そして、ステップS300〜S307のうちのいずれかの処理を行う。
ステップS300〜S307の処理は、以下のような処理である。
特別図柄通常処理(ステップS300):特別図柄プロセスフラグの値が0であるときに実行される。遊技制御用マイクロコンピュータ560は、特別図柄の可変表示が開始できる状態になると、保留記憶数(始動入賞記憶数)を確認する。保留記憶数が0でない場合には、大当りとするか否か決定する。大当りとすることに決定した場合には、大当りフラグをセットする。そして、内部状態(特別図柄プロセスフラグ)をステップS301に対応した値(この例では1)に更新する。なお、大当りとするか否か決定することは、特別図柄および飾り図柄の表示結果を大当り図柄とするか否か決定することでもある。
変動パターン設定処理(ステップS301):特別図柄プロセスフラグの値が1であるときに実行される。特別図柄の可変表示後の停止図柄を決定する。また、変動パターンを決定し、その変動パターンにおける変動時間(可変表示時間:可変表示を開始してから表示結果が導出表示(停止表示)するまでの時間)を特別図柄の可変表示の変動時間とすることに決定する。また、演出制御用マイクロコンピュータに、変動時間を特定しうるコマンドを送信し、特別図柄の変動を開始させ、特別図柄の変動時間を計測する変動時間タイマをスタートさせる。そして、内部状態(特別図柄プロセスフラグ)をステップS302に対応した値(この例では2)に更新する。なお、演出制御用マイクロコンピュータは、遊技制御用マイクロコンピュータ560が送信する変動時間を特定しうるコマンドを受信すると演出表示装置9において飾り図柄の変動が開始されるように制御する。
表示結果特定コマンド送信処理(ステップS302):特別図柄プロセスフラグの値が2であるときに実行される。演出制御用マイクロコンピュータに、飾り図柄の表示結果を特定しうるコマンドである表示結果特定コマンドを送信する制御を行う。そして、内部状態(特別図柄プロセスフラグ)をステップS303に対応した値(この例では3)に更新する。
特別図柄変動中処理(ステップS303):特別図柄プロセスフラグの値が3であるときに実行される。変動パターン設定処理で選択された変動パターンの変動時間が経過(ステップS301でセットされる変動時間タイマがタイムアウトすなわち変動時間タイマの値が0になる)すると、内部状態(特別図柄プロセスフラグ)をステップS304に対応した値(この例では4)に更新する。
特別図柄停止処理(ステップS304):特別図柄プロセスフラグの値が4であるときに実行される。特別図柄表示器8における可変表示を停止して停止図柄を導出表示させる。また、演出制御用マイクロコンピュータに、飾り図柄の変動の停止を指示する図柄確定指定コマンドを送信する制御を行う。そして、大当りフラグがセットされている場合には、内部状態(特別図柄プロセスフラグ)をステップS305に対応した値(この例では5)に更新する。大当りフラグがセットされていない場合には、内部状態(特別図柄プロセスフラグ)をステップS300に対応した値(この例では0)に更新する。なお、演出制御用マイクロコンピュータは、遊技制御用マイクロコンピュータ560が送信する図柄確定指定コマンドを受信すると演出表示装置9において飾り図柄が停止されるように制御する。
大入賞口開放前処理(ステップS305):特別図柄プロセスフラグの値が5であるときに実行される。大入賞口開放前処理では、大入賞口を開放する制御を行う。具体的には、カウンタ(例えば大入賞口に入った遊技球数をカウントするカウンタ)などを初期化するとともに、ソレノイド21を駆動して大入賞口を開放状態にする。また、タイマによって大入賞口開放中処理の実行時間を設定し、内部状態(特別図柄プロセスフラグ)をステップS306に対応した値(この例では6)に更新する。なお、大入賞口開放前処理は各ラウンド毎に実行されるが、第1ラウンドを開始する場合には、大入賞口開放前処理は大当り遊技を開始する処理でもある。
大入賞口開放中処理(ステップS306):特別図柄プロセスフラグの値が6であるときに実行される。大当り遊技状態中のラウンド表示の演出制御コマンドを演出制御用マイクロコンピュータに送信する制御や大入賞口の閉成条件の成立を確認する処理等を行う。大入賞口の閉成条件が成立し、かつ、まだ残りラウンドがある場合には、内部状態(特別図柄プロセスフラグ)をステップS305に対応した値(この例では5)に更新する。また、全てのラウンドを終えた場合には、内部状態(特別図柄プロセスフラグ)をステップS307に対応した値(この例では7)に更新する。
大当り終了処理(ステップS307):特別図柄プロセスフラグの値が7であるときに実行される。大当り遊技状態が終了したことを遊技者に報知する表示制御を演出制御用マイクロコンピュータに行わせるための制御を行う。また、遊技状態を示すフラグ(例えば、確変フラグ)をセットする処理を行う。そして、内部状態(特別図柄プロセスフラグ)をステップS300に対応した値(この例では0)に更新する。
図82は、始動口スイッチ通過処理(ステップS312)を示すフローチャートである。始動口スイッチ通過処理において、CPU56は、認証信号(主基板31に一意に与えられている基板ID)を照合端子364に出力する(ステップS320)。次いで、始動入賞カウンタが示す始動入賞記憶数(または特図保留メモリ870が記憶している始動入賞記憶数)が最大値である4に達しているかどうか確認する(ステップS321)。始動入賞記憶数が4に達していなければ、CPU56は、割込実行回数カウンタに示されるタイマ割込処理の実行回数が所定回数(例えば、3回)に達しているか否かを確認する(ステップS322)。なお、遊技球が始動入賞口14に入賞したことを検出すると、CPU56は、割込実行回数カウンタをリセットする。そして、CPU56は、遊技球が始動入賞口14に入賞したあと、割込実行回数カウンタが所定回数に達しているか否かを確認する。
ステップS322において所定回数としてあらかじめ設定される値は、以下のように定められる。前述のように、乱数回路503のタイマ回路834は、始動口スイッチ14aから入賞検出信号SSが継続して入力されている時間を計測し、計測時間が所定期間になったことを検出すると、乱数値取り込みデータ「01(H)」を書き込む。この実施の形態では、タイマ回路834が計測する所定期間(例えば、3ms)が、所定回数のタイマ割込処理が実行される期間(例えば、2msごとのタイマ割込処理を3回実行する場合は6ms)よりも短くなるように、ステップS322において用いる所定回数(例えば、3回)が設定される。そのように設定することによって、乱数を読み出してから、乱数値記憶回路831に記憶される乱数の値が更新される前に再び乱数を読み出してしまうことを防止することができ、前回乱数値記憶回路831から読み出した乱数と同じ値の乱数を再び読み出してしまうことを防止することができる。
タイマ割込処理の実行回数が所定回数に達している場合、CPU56は、特定した乱数回路503の乱数値記憶回路831に出力制御信号SCを出力し、乱数値記憶回路831を読出可能(イネーブル)状態に制御する(ステップS323)。
CPU56は、乱数回路503の乱数値記憶回路831から、乱数値として記憶されているランダムRの値を読み出す(ステップS324)。また、CPU56は、読み出したランダムRの値を、例えばRAM55に設けられた所定のバッファ領域に格納する(ステップS325)。また、CPU56は、ランダムRの値をバッファ領域に格納すると、乱数値記憶回路831への出力制御信号SCの出力を停止し、乱数値記憶回路831を読出不能(ディスエーブル)状態に制御する(ステップS326)。また、CPU56は、割込実行回数カウンタをリセットする(ステップS327)。そして、CPU56は、所定のバッファ領域に格納したランダムRの値を特図保留メモリ870の空エントリの先頭にセットし(ステップS328)、始動入賞カウンタのカウント数を1加算することで始動入賞記憶数を1増やす(ステップS329)。
ステップS321において始動入賞記憶するが最大値である4に達している場合、およびステップS322においてタイマ割込処理の実行回数が所定回数に達してない場合、そのまま始動口スイッチ通過処理を終了する。
以上のように、始動口スイッチ通過処理において、乱数値記憶回路831からランダムRを読み出すにあたって、タイマ割込処理が所定回数実行されたこと(すなわち、タイマ割込処理が所定回数実行される間継続して入賞検出信号SSが入力されたこと)を条件に、乱数値記憶回路831から乱数を読み出す。そのため、乱数を読み出してから、乱数値記憶回路831に記憶される乱数の値が更新される前に再び乱数を読み出してしまうことを防止することができる。また、前回乱数値記憶回路831から読み出した乱数と同じ値の乱数を再び読み出してしまうことを防止することができる。
図83は、主基板31に搭載されている状態報知LED61の点灯状態と遊技状態との関係を示す説明図である。特別図柄および飾り図柄が変動していないときであって、大当り遊技中でないときには、図83(A)に示すように、常に点灯状態である。すなわち、点灯継続状態である。なお、図83(A),(B),(C)のそれぞれにおいて、上段は状態報知LED61の点灯状態(点灯しているか、消灯しているか、または点滅している)を示し、下段は、点灯と消灯の切替タイミングを示す。また、図83(A),(B),(C)の上段において、黒塗りで表示されている状態報知LED61の状態が点灯しているときを示す。
特別図柄および飾り図柄が変動しているときには、図83(B)に示すように、2秒間の点灯と2秒間の消灯とを繰り返す。すなわち、2秒間隔で点滅する。以下、2秒間隔の点滅を低速点滅という。大当り遊技中では、図83(C)に示すように、0.5秒間の点灯と0.5秒間の消灯とを繰り返す。すなわち、0.5秒間隔で点滅する。以下、0.5秒間隔の点滅を高速点滅という。
なお、図83に示す状態報知LED61の点灯状態と遊技状態との関係は一例であり、少なくとも、図柄変動中、大当り遊技中、図柄変動中および大当り遊技中以外(以下、通常状態という。)の点滅態様(報知態様)が異なれば、図83に示す報知態様とは異なる報知態様であってもよい。報知態様には、点灯継続の態様および点滅の態様があるが、通常状態では、消灯する期間が所定時間(一例として5秒)以下であることが条件である。つまり、報知がなされない期間が長時間にならないようにすることが条件である。換言すれば、主基板31に電力が供給されているときに所定時間を越えて報知がなされない状態になることを避けるように制御されることが条件である。主基板31に電力が供給されている状態では遊技制御用マイクロコンピュータ560および状態報知LED61等に電力が供給されるので、状態報知LED61は報知を行うことが可能であるが、消灯する期間が長いと、主基板31に電力が供給されていない状態(なりすまし基板が搭載されている可能性がある状態)と区別できないからである。なお、この実施の形態では、主基板31に電力が供給されているときには、状態報知LED61は、常に、点灯継続しているか、または点滅状態にあることによって、報知がなされている。また、不正行為者にとって状態報知LED61の報知態様を認識しづらくするために、報知態様をより複雑なものにしてもよい。
また、この実施の形態では、状態報知手段(この例では、状態報知LED61)の報知態様を異ならせる遊技状態を、「図柄変動中」、「大当り遊技中」および「通常状態」に分けたが、報知態様を異ならせる遊技状態はそれらに限られず、様々な状態が考えられる。例えば、「保留記憶個数の状態」、「可変入賞装置の開閉状態」、「高確率状態(確変状態)」、「特別図柄や普通図柄の図柄の変動短縮状態」、「可変入賞装置の開放延長状態」によって報知態様を異ならせてもよい。
また、この実施の形態では、異なる報知態様として「点灯」と「点滅」を例示するが、異なる報知態様はそれに限られず、例えば、フルカラーLED等を用いて色彩を異ならせることによって報知態様を異ならせるようにしてもよい。
図84は、ステップS34(図78参照)の状態報知LED制御処理を示すフローチャートである。状態報知LED制御処理において、CPU56は、大当り遊技中であるか否か確認する(ステップS901)。大当り遊技中であるか否かを、例えば、特別図柄プロセスフラグの値が大当り遊技中を示す値(この実施の形態では、5、6または7:図81参照))であるか否かによって確認できる。
大当り遊技中であれば、CPU56は、点滅における点灯時間および消灯時間を決めるための点滅タイマの値が0になっているか否か確認する(ステップS902)。0になっていれば、状態報知LED61の点灯状態を切り替える(ステップS903)。すなわち、状態報知LED61が点灯していた場合には状態報知LED61を消灯させ、状態報知LED61が消灯していた場合には状態報知LED61を点灯させる。なお、状態報知LED61を点灯させたり消灯させたりするには、LED回路60を介して状態報知LED61に至る信号を出力する出力ポートに点灯に対応する値(例えば1)を出力したり、消灯に対応する値(例えば0)を出力するのであるが、出力ポートに点灯に対応する値を出力したときには、RAM55における点灯状態フラグを例えば1にし、出力ポートに消灯に対応する値を出力したときには、点灯状態フラグを例えば0にする。そのように制御すれば、CPU56は、点灯状態フラグによって、状態報知LED61が点灯していたか否かを判定できる。そして、CPU56は、点滅タイマに、0.5秒に相当する値をセットする(ステップS904)。
点滅タイマの値が0になっていない場合には、CPU56は、点滅タイマの値を−1する(ステップS905)。
大当り遊技中でなければ、CPU56は、特別図柄および飾り図柄の変動中であるか否か確認する(ステップS906)。変動中であるか否かを、例えば、特別図柄プロセスフラグの値が変動中を示す値(この実施の形態では、3:図81参照))であるか否かによって確認できる。変動中であれば、CPU56は、点滅タイマの値が0になっているか否か確認する(ステップS907)。0になっていれば、状態報知LED61の点灯状態を切り替える(ステップS908)。すなわち、状態報知LED61が点灯していた場合には状態報知LED61を消灯させ、状態報知LED61が消灯していた場合には状態報知LED61を点灯させる。そして、CPU56は、点滅タイマに、2秒に相当する値をセットする(ステップS909)。
点滅タイマの値が0になっていない場合には、CPU56は、点滅タイマの値を−1する(ステップS910)。
また、特別図柄および飾り図柄の変動中でない場合には、状態報知LED61を点灯させる(ステップS911)。
以上に説明したように、この実施の形態では、遊技機への電源投入が開始されてからタイマ割込設定を行うまでに乱数回路503の初期設定(乱数回路設定処理)を行うとともに、乱数回路設定処理において、遊技制御用マイクロコンピュータ560固有のIDナンバにもとづく値を乱数の初期値として設定する。そのため、乱数回路503が生成する乱数のランダム性を向上させることができる。また、乱数のランダム性を向上させることができるので、乱数生成のタイミングを遊技者や遊技店に認識されにくくすることができ、無線信号を用いた取り込み信号を遊技機に対して発生させることによって、大当り状態などの特定遊技状態への移行条件を不正に成立させられてしまうことを防止することができる。
また、この実施の形態では、照合に用いるIDと乱数の初期値を設定するためのIDとに同一のIDを用いるようにしていたが、別個のIDを用いるようにしてもよい。
また、この実施の形態では、乱数回路503の反転回路832が極性を反転させた反転クロック信号SI2を生成し、反転クロック信号SI2に同期して乱数の記憶を指示するためのラッチ信号を出力する。そのため、乱数を更新するタイミングと乱数値記憶回路831に乱数を記憶させるタイミングとをずらすことができ、生成した乱数を安定して確実に記憶させることができる。
また、この実施の形態では、CPU56が、中断ボタン361からの遊技制御処理中断信号(中断操作信号)の入力に応じて遊技制御処理を中断させるように構成されているので、例えば遊技店員等が意図的に遊技制御処理を中断させることができる。そして、意図的な中断が不能となっている場合に不正回路基板(なりすまし基板)が設置されているものと判断することができ、不正回路基板を容易に発見することができるようになる。
なお、この実施の形態では、遊技制御処理を中断させる例として、遊技制御処理中断信号が入力されている間は制御プログラムに従ってループ処理を行う場合について説明したが、中断操作信号が入力されている間遊技が止まればよく、遊技を止める種々の方法をとることができる。例えば、遊技機への電力供給を停止する(すなわち、電源をオフする)などの周知あるいは公知の方法によって、遊技制御処理を中断するようにしてもよい。また、例えば、CPU56の処理を停止(システムリセット)させることで「遊技制御処理を中断」させるようにしてもよいし、遊技制御用マイクロコンピュータ560から出力される全ての制御信号を出力停止させることで「遊技制御処理を実質的に中断」させるようにしてもよい。
さらに、この実施の形態では、主基板31を収容する遊技制御基板ボックス内に、遊技状態に応じて報知態様を異ならせる状態報知LED61が設けられている。図69に示すように、なりすまし基板31Xが設置され、なりすまし基板31Xから主基板31に対して電力が供給されている場合、主基板31のCPU56は動作しているので、照合機365を用いて照合を行ったときに、認証対象はなりすまし基板31Xではなく主基板31であるから、照合結果はOKになる。しかし、特別図柄および飾り図柄の変動は、なりすまし基板31Xに搭載されているマイクロコンピュータによって制御される。よって、変動の制御を行っていない主基板31のCPU56は、特別図柄および飾り図柄の変動を行っているとは認識していないので、状態報知LED61を点滅させない。よって、なりすまし基板31Xに搭載されている場合には図柄変動中に状態報知LED61は点灯する状態を継続する(通常状態の報知態様のままになる。)ので、状態報知LED61が点滅する状態になるか否かによって、不正基板が設置されていることが検査される。例えば、始動入賞口14に遊技球を入れることによって図柄の変動を開始させることによって、不正基板が設置されているか否かを容易に検査できる。また、大当り遊技は、なりすまし基板31Xに搭載されているマイクロコンピュータによって制御される。よって、大当り遊技中では、主基板31のCPU56は、大当り遊技状態であることを認識していないので、状態報知LED61を点滅させない。よって、なりすまし基板31Xに搭載されている場合には図柄変動中に状態報知LED61は点灯する状態を継続する(通常状態の報知態様のままになる。)ので、状態報知LED61が点滅する状態になるか否かによって、不正基板が設置されていることが検査される。
また、なりすまし基板31Xが設置され、主基板31に対して電力が供給されない場合には、状態報知LED61は点灯しない。上述したように、この実施の形態では、主基板31に電力供給がなされているときには、通常状態では、状態報知LED61は点灯する状態になる。よって、遊技機の電源を入れた状態において、状態報知LED61が点灯するか否かによって、不正基板が設置されているか否かを容易に確認できる。
上記の実施の形態では、中断ボタン361を用いて遊技制御処理を中断させることによって、なりすまし基板が設置されているか否かを発見するようにしていたが、中断ボタン361を用いることなく、以下に示すようにしてなりすまし基板が設置されているか否かを発見するようにしてもよい。
なお、本実施の形態において、上記の実施の形態と同様の構成および処理をなす部分についてはその詳細な説明を省略し、主として上記の実施の形態と異なる部分および上記の実施の形態では説明を省略した部分について説明する。
図85は、この実施の形態における主基板31の回路構成を示すブロック図である。図85に示すように、主基板31には、遊技球の未払出数が所定数を超えたときに点灯される未払出超過LED362と、入賞が発生したときに点灯される入賞報知ランプ363とが搭載されている。また、遊技機の遊技状態を報知するための状態報知LED61に駆動信号を与えるLED回路60が設けられている。状態報知LED61は、主基板31に設けられている。記載省略されているその他の構成は、図3に示された構成と同じである。
次に、主基板31と払出制御基板37との間で送受信される払出制御信号について説明する。図86は、遊技制御用マイクロコンピュータ560から払出制御用マイクロコンピュータ370に対して出力される払出制御信号および遊技制御用マイクロコンピュータ560に払出制御用マイクロコンピュータ370から入力される払出制御信号の内容の一例を示す説明図である。この実施の形態では、払出制御等に関する各種の制御を行うために、主基板31と払出制御基板37との間で複数種類の制御信号が送受信(双方向通信)される。
図86に示すように、電源確認信号は、主基板31の立ち上がり時(電力供給の開始後に遊技制御用マイクロコンピュータ560が遊技の進行を制御可能な状態となったとき)に立ち上がり(オン状態になり)、払出制御基板37に対して主基板31が立ち上がったことを通知するための信号(主基板31の接続確認信号)である。また、電源確認信号は、賞球払出を許可する状態であることを示す。すなわち、遊技制御用マイクロコンピュータ560は、電源確認信号をオフ状態にすることによって、払出制御用マイクロコンピュータ370に対して賞球払出を行わせないようにすることができる。なお、払出制御用マイクロコンピュータ370は、賞球払出中に電源確認信号がオフ状態になったことを検出した場合には、そのときに払い出すことが決まっている個数の賞球払出を完了させた時点で、賞球払出処理を実行しない状態に移行する。
払出REQ信号は、賞球の払出要求時に出力状態(=オン状態)になる信号(すなわち賞球払出要求のトリガ信号)である。また、払出REQ信号は、払出制御用マイクロコンピュータ370からの受信確認信号がオン状態になると、停止状態(オフ状態)になる。
払出個数信号は、払出要求を行う遊技球の個数(例えば1〜15個)を指定するために出力される信号(賞球個数コマンド)である。払出個数信号は、遊技制御用マイクロコンピュータ560(具体的には、CPU56)が、賞球待機状態において受信確認信号がオン状態になったことを検出したとき、または、払出REQ信号の送信後に受信確認信号がオン状態にならなかったことを検出したとき、もしくは払出REQ信号の送信停止後にオフ状態にならなかったことを検出したときに出力される受信確認信号エラーを示すエラー信号としても用いられる。具体的には、払出個数信号が1E(H)であれば、受信確認信号エラーであることを示している。また、払出個数信号は、CPU56が、賞球待機状態において払出動作中信号がオン状態になったことを検出したとき、または、受信確認信号がオフ状態になった後、払出動作中信号がオン状態にならなかったことを検出したときに出力される払出動作中信号エラーを示すエラー信号としても用いられる。具体的には、払出個数信号が1F(H)であれば、払出動作中信号エラーであることを示している。
接続確認信号は、払出制御用マイクロコンピュータ370が、払出制御基板37の立ち上がり時にオン状態にして、遊技制御用マイクロコンピュータ560に、払出制御基板37が立ち上がったことを通知するための信号である。換言すれば、払出制御用マイクロコンピュータ370が賞球払出処理を実行可能であることを通知するための信号である。よって、払出制御用マイクロコンピュータ370は、遊技球の払い出しに関わるエラーが発生すると、接続確認信号をオフ状態にする。受信確認信号は、払出制御用マイクロコンピュータ370が払出REQ信号がオン状態になったことに応じて払出個数信号を受信すると、オン状態にする信号である。払出動作中信号は、払出制御用マイクロコンピュータ370が賞球払出処理を開始するとオン状態にし、払出個数信号で指令された個数の賞球払出が完了するとオフ状態にする信号である。
図87は、図86に示す払出制御信号の送受信に用いられる信号線等を示すブロック図である。図87に示すように、払出制御信号のうち、電源確認信号、払出REQ信号、および払出個数信号は、CPU56によって出力回路67を介して出力され、入力回路373Aを介して払出制御用マイクロコンピュータ370に入力される。また、払出制御信号のうち、接続確認信号、受信確認信号および払出動作中信号は、払出制御用マイクロコンピュータ370によって出力回路373Bを介して出力され、入力回路68を介して遊技制御用マイクロコンピュータ560に入力される。電源確認信号、払出REQ信号、接続確認信号、受信確認信号および払出動作中信号は、それぞれ1ビットのデータであり、それぞれ1本の信号線(信号経路)によって送信される。払出個数信号は、5ビットのデータで構成され5本の信号線(信号経路)によって送信される。
図88は、払出制御信号の出力の仕方の一例を示すタイミング図である。図88に示すように、入賞検出スイッチが遊技球の入賞を検出したことにもとづいて、CPU56は、払出REQ信号をオン状態にするとともに、払出個数信号の出力状態を、入賞に応じて払い出される賞球数に応じた状態にする。なお、この実施の形態では、第1始動口スイッチ14aまたは第2始動口スイッチ14bで遊技球が検出されると4個の賞球払出を行い、入賞口スイッチ33a,39aのいずれかで遊技球が検出されると7個の賞球払出を行い、Vカウントスイッチ22またはカウントスイッチ23で遊技球が検出されると15個の賞球払出を行う。また、上述したように、払出個数信号は5ビットで構成されているので、8ビットで表現されている00(H)〜0F(H)の賞球個数コマンドのうち、下位の5ビットが払出個数信号によって主基板31から払出制御基板37に伝達される。従って、払出個数信号によって、0〜31個の賞球個数指定を行うことが可能であるが、この実施の形態では、1F(H)および1E(H)はエラー通知のために使用される。よって、実際には、0〜29個の賞球個数指定を行うことが可能である。しかし、この実施の形態では、個数指定としては15(0F(H))までを使用するので、以下、「00(H)〜0F(H)の払出個数信号」のように表現することがある。
払出制御用マイクロコンピュータ370は、払出REQ信号の受信を確認すると、払出個数信号を入力し、受信確認信号を送信(オン状態)する。CPU56は、受信確認信号の受信を確認すると、払出REQ信号の送信を停止する(オフ状態にする)。払出制御用マイクロコンピュータ370は、払出REQ信号がオフ状態になったことを確認すると、払出個数信号で指定された個数の賞球払出が行われるように払出モータ289を駆動する。駆動を開始するときに、払出動作中信号を送信(オン状態)する。払出制御用マイクロコンピュータ370は、払出個数カウントスイッチ301の検出信号にもとづいて、払出個数信号で指定された個数の賞球払出が行われたことを確認すると、払出動作中信号の送信を停止する(オフ状態にする)。CPU56は、払出動作中信号がオフ状態になったことを確認すると、払出個数信号の状態をオフ状態(全て0の状態)にする。
なお、CPU56は、払出REQ信号をオフ状態にするときに、払出個数信号の状態をオフ状態にしてもよい。
図88に示すように、払出REQ信号および払出個数信号がオン状態であるときに新たな入賞が検出されると、その入賞にもとづく払出REQ信号のオンおよび払出個数信号の出力は待たされる。具体的には、CPU56は、払出REQ信号がオン状態であるときに新たな入賞を検出すると、その入賞にもとづいて払い出されるべき賞球数を、RAM55に形成される総賞球数格納バッファの内容に加算する。そして、CPU56は、払出REQ信号をオフ状態にしたときに、総賞球数格納バッファの内容が0でなければ、15を上限として、総賞球数格納バッファの内容が示す賞球数の賞球払出を指示するために、払出REQ信号をオン状態にするとともに、払出個数信号を出力する。
図89は、ステップS29の賞球処理の一例を示すフローチャートである。賞球処理において、CPU56は、賞球個数加算処理(ステップS201)と賞球制御処理(ステップS202)とを実行する。そして、RAM55に形成される出力ポートバッファのうちの出力ポート0バッファの内容をポート0に出力する(ステップS203)。なお、出力ポート0バッファの内容は、賞球制御処理において更新される。また、出力ポート0は、図4に示されたI/Oポート57のうち、払出制御信号の各信号を出力するための出力ポートである。
賞球個数加算処理では、図90に示す賞球個数テーブルが使用される。賞球個数テーブルは、ROM54に設定されている。賞球個数テーブルの先頭アドレスには処理数(この例では「6」)が設定され、その後に、スイッチオンバッファの下位アドレス、入賞により賞球を払い出すことになる入賞口の各スイッチについてのスイッチ入力ビット判定値、賞球数が、入賞口の各スイッチのそれぞれに対応して順次設定されている。なお、スイッチ入力ビット判定値は、入力ポート0における各スイッチの検出信号が入力されるビットに対応した値である。また、スイッチオンバッファの上位アドレスは固定的な値(例えば7F(H))である。また、賞球個数テーブルにおいて、6つのスイッチオンバッファの下位アドレスのそれぞれには、同じデータが設定されている。入力ポート0は、図4に示されたI/Oポート57のうち、賞球払出に関わる入賞を検出するスイッチの検出信号を入力するための出力ポートである。
図91は、賞球個数加算処理を示すフローチャートである。賞球個数加算処理において、CPU56は、賞球個数テーブルの先頭アドレスをポインタにセットする(ステップS161)。そして、ポインタが指すアドレスのデータ(この場合には処理数)をロードする(ステップS162)。次に、スイッチオンバッファの上位アドレス(8ビット)を2バイトのチェックポインタの上位1バイトにセットする(ステップS163)。
そして、ポインタの値を1増やし(ステップS164)、ポインタが指す賞球個数テーブルのデータ(この場合にはスイッチオンバッファの下位アドレス)をチェックポインタの下位1バイトにセットした後(ステップS165)、ポインタの値を1増やす(ステップS166)。次いで、チェックポインタが指すアドレスのデータ、すなわちスイッチオンバッファの内容をレジスタにロードし(ステップS167)、ロードした内容と、ポインタが指す賞球個数テーブルのデータ(この場合にはスイッチ入力ビット判定値)との論理積をとる(ステップS168)。この結果、スイッチオンバッファの内容がロードされたレジスタには、検査対象としているスイッチの検出信号に対応したビット以外の7ビットが0になる。そして、ポインタの値を1増やす(ステップS169)。
ステップS168における演算結果が0でなれば、すなわち、検査対象のスイッチの検出信号がオン状態であれば(ステップS170)、入賞が発生したとして入賞報知ランプ363を所定期間点灯させ(ステップS171)、ポインタが指す賞球個数テーブルのデータ(この場合には賞球個数)を賞球加算値に設定し(ステップS172)、賞球加算値を、RAM55に形成されている16ビットの総賞球数格納バッファの内容に加算する(ステップS173)。なお、総賞球数格納バッファは、バックアップRAMに形成されている。そして、CPU56は、ステップS173での加算の結果、総賞球数格納バッファに格納されている賞球個数(未払出の賞球の総数)があらかじめ定められた異常判定数(例えば、200、500、1000等)以上になった場合には、未払出超過LEDを点灯させる(ステップS174,175)。
ステップS176では処理数を1減らし、処理数が0であれば処理を終了し、処理数が0でなければステップS164に戻る(ステップS177)。また、ステップS170において、ステップS168における演算結果が0であること、すなわち、検査対象のスイッチの検出信号がオフ状態であることを確認したら、ステップS176に移行する。
図92は、ステップS201の賞球制御処理を示すフローチャートである。賞球制御処理では、CPU56は、賞球プロセスコードの値に応じて、ステップS231〜S236のいずれかの処理を実行する。
図93は、賞球プロセスコードの値が0の場合に実行される待機処理(ステップS231)を示すフローチャートである。CPU56は、待機処理において、賞球タイマの値を確認する(ステップS241A)。賞球タイマの値が0でない場合には、賞球タイマの値を1減算して処理を終了する(ステップS242A)。なお、賞球タイマの値が0でない場合とは、例えば、前回の払出制御信号の通信時に払出動作中信号がオフになったことを確認して賞球個数信号をオフ状態にしたときに、次に払出REQ信号をオン状態にするまでに待ち時間を挿入するために賞球タイマに所定値がセットされたような場合である。
賞球タイマの値が0であった場合には、CPU56は、電源確認信号をオフ状態にしているか否か確認し(ステップS243A)、電源確認信号をオフ状態にしているときには、処理を終了する。よって、電源確認信号をオフ状態にしている場合には、払出REQ信号が出力されないことになる。なお、CPU56は、電源確認信号の出力状態を、出力ポート0バッファのビット6の状態によって把握できる。また、CPU56は、入力ポートを介して接続確認信号の状態を確認する(ステップS243B)。接続確認信号がオフ状態であれば処理を終了する。よって、接続確認信号がオフ状態である場合には、払出個数信号送信処理(図94参照)に移行されず(具体的には、後述するステップS254での払出REQ中出力値を出力ポート0バッファにセットする処理が実行されず)、払出REQ信号が出力されないことになる。
接続確認信号がオン状態である場合には、入力ポートを介して受信確認信号の状態を確認する(ステップS244)。受信確認信号は、待機状態ではオン状態にならないはずであるから、受信確認信号がオン状態である場合には、CPU56は、通信エラーが生じたと判断する。そして、賞球異常状態出力値(00(H)または1E(H))を出力ポート0バッファにセットして処理を終了する(ステップS247)。なお、賞球異常状態出力値が出力ポート0バッファにセットされると、ステップS203(図89参照)において出力ポート0バッファの内容がポート0に出力されることによって、電源確認信号および払出REQ信号がオフ状態になる。このような制御によって、賞球払出待機中に受信確認信号がオン状態になったときには、電源確認信号がオフ状態になる。そして、総賞球数格納バッファに0でない値が記憶されていたとしても、払出指令信号を出力する状態に移行しない。すなわち、払出指令信号をオン状態にすることを禁止する。
また、賞球異常状態出力値として1E(H)がセットされる場合は図63に示された場合に対応し、賞球異常状態出力値として00(H)がセットされる場合は図62に示された場合に対応する。賞球異常状態出力値としての1E(H)がセットされると、払出個数信号として1E(H)が出力され、賞球異常状態出力値としての00(H)がセットされると、払出個数信号として00(H)が出力される。ただし、この段階では、通常、賞球異常状態出力値がセットされる前に、払出個数信号として00(H)になっている。
また、CPU56は、受信確認信号がオン状態でなければ、入力ポートを介して払出動作中信号の状態を確認する(ステップS245)。払出動作中信号は、待機状態ではオン状態にならないはずであるから、払出動作中信号がオン状態である場合には、CPU56は、通信エラーが生じたと判断する。そして、賞球異常状態出力値(00(H)または1F(H))を出力ポート0バッファにセットして処理を終了する(ステップS246)。このような制御によって、賞球払出待機中に払出動作中信号がオン状態になったときには、電源確認信号がオフ状態になる。そして、総賞球数格納バッファに0でない値が記憶されていたとしても、払出指令信号を出力する状態に移行しない。すなわち、払出指令信号をオン状態にすることを禁止する。
通信エラーが生じていなければ、賞球待機中出力値(40(H))を出力ポート0バッファにセットする(ステップS248)。なお、賞球待機中出力値が出力ポート0バッファにセットされると、ステップS203において出力ポート0バッファの内容がポート0に出力されることによって、払出REQ信号はオフ状態になり、電源確認信号はオン状態になる。ただし、通信に関する制御が正常に続行されていた場合には、この段階で、すでに、払出REQ信号はオフ状態になり、電源確認信号はオン状態になっている。ステップS248の処理が有効になるのは、通信エラーの状態から回復したとき(具体的には、払出制御基板37からの接続確認信号がオン状態に戻ったとき)である。
次いで、CPU56は、総賞球数格納バッファの内容を確認する(ステップS249)。その値が0であれば処理を終了し、0でなければ、賞球プロセスコードの値を1にした後(ステップS250)、処理を終了する。
図94は、賞球プロセスコードの値が1の場合に実行される払出個数信号送信処理(ステップS232)を示すフローチャートである。CPU56は、払出個数信号送信処理において、総賞球数格納バッファの内容が賞球コマンド最大値(この例では「15」)よりも小さいか否か確認する(ステップS251)。総賞球数格納バッファの内容が賞球コマンド最大値以上であれば、賞球コマンド最大値を賞球個数バッファに設定する(ステップS252)。また、総賞球数格納バッファの内容が賞球コマンド最大値よりも小さい場合には、総賞球数格納バッファの内容を賞球個数バッファに設定する(ステップS253)。
その後、払出REQ中出力値(60(H))を出力ポート0バッファにセットする(ステップS254)。なお、払出REQ中出力値が出力ポート0バッファにセットされると、ステップS203において出力ポート0バッファの内容がポート0に出力されることによって、払出REQ信号がオン状態になり、電源確認信号のオン状態が維持される。また、賞球個数バッファの内容を出力ポート0バッファの下位5ビットにセットする(ステップS255)。さらに、賞球タイマに、受信確認信号がオンすることを監視するための所定時間(一例として5秒)に相当する値(この例では2500)をセットする(ステップS256)。その後、賞球プロセスコードの値を2にして(ステップS257)、処理を終了する。なお、5秒は、1回の払出処理(例えば最大25個の遊技球の払出)が完了するのに十分な時間であり、払出制御手段が球貸し処理を行っていることに起因して、払出REQ信号の確認を行わない期間を考慮した時間である。複数回の球貸し処理(例えば1回につき25個の遊技球の払い出し)が連続して実行されることが許容されている場合には、受信確認信号がオンすることを監視するための所定時間は、連続して実行される球貸し処理の最大回数を考慮して定められる。
なお、この実施の形態では、賞球コマンド最大値は「15」である。従って、最大で「15」の払出数を指定する払出個数信号が払出制御基板37に送信される。
図95は、賞球プロセスコードの値が2の場合に実行される受信確認信号オン待ち処理(ステップS233)を示すフローチャートである。CPU56は、受信確認信号オン待ち処理において、受信確認信号がオン状態になったことに応じて(ステップS261)、総賞球数格納バッファの内容から、賞球個数バッファの内容(払出制御用マイクロコンピュータ370に指令した賞球払出個数)を減算する(ステップS262)。そして、出力ポート0バッファの払出REQ信号出力ビットをリセットする(ステップS263)。なお、出力ポート0バッファの払出REQ信号出力ビットがリセットされると、ステップS203において出力ポート0バッファの内容がポート0に出力されることによって、払出REQ信号はオフ状態になるが、取込要求信号である払出REQ信号がオフ状態になったことによって払出指令信号がオフ状態になったことになる。
さらに、受信確認信号がオフ状態になることを監視するための所定時間(一例として100ms)に相当する値を賞球タイマにセットする(ステップS264)。また、賞球プロセスコードの値を3にして(ステップS265)、処理を終了する。
受信確認信号がオン状態になっていない場合には、賞球タイマの値を1減算する(ステップS266)。賞球タイマの値が0になっていない場合には処理を終了する。賞球タイマの値が0になった場合には(ステップS267)、CPU56は、通信エラーが生じたと判断する。そして、賞球異常状態出力値(00(H)または1E(H))を出力ポート0バッファにセットする(ステップS268)。賞球異常状態出力値が出力ポート0バッファにセットされると、ステップS203(図89参照)において出力ポート0バッファの内容がポート0に出力されることによって、電源確認信号および払出REQ信号がオフ状態になる。そして、賞球プロセスコードの値を待機処理に相当する0にして(ステップS269)、処理を終了する。
図96は、賞球プロセスコードの値が3の場合に実行される受信確認信号オフ待ち処理(ステップS234)を示すフローチャートである。CPU56は、受信確認信号オフ待ち処理において、受信確認信号がオフ状態になったことに応じて(ステップS271)、払出動作中信号がオン状態になることを監視するための所定時間(一例として100ms)に相当する値を賞球タイマにセットする(ステップS272)。また、賞球プロセスコードの値を4にして(ステップS273)、処理を終了する。
受信確認信号がオフ状態になっていない場合には、賞球タイマの値を1減算する(ステップS275)。賞球タイマの値が0になっていない場合には処理を終了する。賞球タイマの値が0になった場合には(ステップS276)、CPU56は、通信エラーが生じたと判断する。そして、賞球異常状態出力値(00(H)または1E(H))を出力ポート0バッファにセットする(ステップS277)。そして、賞球プロセスコードの値を待機処理に相当する0にして(ステップS278)、処理を終了する。
図97は、賞球プロセスコードの値が4の場合に実行される払出動作中信号オン待ち処理(ステップS235)を示すフローチャートである。CPU56は、払出動作中信号オン待ち処理において、払出動作中信号がオン状態になったことに応じて(ステップS281)、払出動作中信号がオフ状態になることを監視するための所定時間(一例として5秒)に相当する値を賞球タイマにセットする(ステップS282)。また、賞球プロセスコードの値を5にして(ステップS283)、処理を終了する。
払出動作中信号がオン状態になっていない場合には、賞球タイマの値を1減算する(ステップS285)。賞球タイマの値が0になっていない場合には処理を終了する。賞球タイマの値が0になった場合には(ステップS286)、CPU56は、通信エラーが生じたと判断する。そして、賞球異常状態出力値(00(H)または1F(H))を出力ポート0バッファにセットする(ステップS287)。賞球異常状態出力値が出力ポート0バッファにセットされると、ステップS203(図89参照)において出力ポート0バッファの内容がポート0に出力されることによって、電源確認信号および払出REQ信号がオフ状態になる。そして、賞球プロセスコードの値を待機処理に相当する0にして(ステップS288)、処理を終了する。
図98は、賞球プロセスコードの値が5の場合に実行される払出動作中信号オフ待ち処理(ステップS236)を示すフローチャートである。CPU56は、払出動作中信号オフ待ち処理において、払出動作中信号がオフ状態になったことに応じて(ステップS291)、遅延時間値(一例として20msに相当する10)を賞球タイマにセットし(ステップS294)、出力ポート0バッファの払出個数信号出力ビット(下位5ビット)を0にして(ステップS297)、また、賞球プロセスコードの値を0にして(ステップS298)、処理を終了する。この場合、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370との間の通信は正常に終了したことになる。なお、遅延時間値は、次に払出REQ信号をオン状態にするまでに待ち時間を設けるためにセットされる。
払出動作中信号がオフ状態になっていない場合には、賞球タイマの値を1減算する(ステップS292)。賞球タイマの値が0になっていない場合には処理を終了する。賞球タイマの値が0になった場合には(ステップS293)、CPU56は、払出エラーが生じたと判断する。そして、CPU56は、異常報知コマンド送信要求をセットし(ステップS295)、出力ポート0バッファの電源確認信号出力ビットをリセットする(ステップS296)。また、出力ポート0バッファの払出個数信号出力ビット(下位5ビット)を0にし(ステップS297)、賞球プロセスコードの値を0にして(ステップS298)、処理を終了する。なお、異常報知コマンド送信要求がセットされると、演出制御用マイクロコンピュータに異常報知コマンドが送信される。
以上のように、遊技制御用マイクロコンピュータ560は、払出制御用マイクロコンピュータ370との間の通信の異常(通信エラー)が発生したときには、遊技球の払い出しを停止させるための制御(例えば、電源確認信号をオフ)を行う。そして、遊技制御用マイクロコンピュータ560は、払出制御用マイクロコンピュータ370との間の通信の異常が解消されるまで遊技球の払い出しを停止させる。すなわち、新たな事象(遊技球の入賞等)が生じても、それに応じた処理を行わず、例えば新たに生じた事象を記憶しておく。遊技制御用マイクロコンピュータ560は、通信異常が解消されると(例えば、接続確認信号のオン状態を検出すると)、通信を再開する。
この実施の形態では、CPU56が景品遊技媒体数記憶手段(この例では総賞球数格納バッファ)に記憶されている景品遊技媒体数データから払出指令信号で指定した払出数に対応する値を減算する減算処理を実行するための所定の条件は、払出制御用マイクロコンピュータ370から受信確認信号を受信したとき、具体的には、受信確認信号がオン状態になったときである。なお、受信確認信号がオン状態になったときには、払出制御用マイクロコンピュータ370は、払出指令信号で指令された個数の賞球払出をまだ行っていない。受信確認信号がオン状態になったときよりも後に(例えば、払出動作中信号がオフ状態になったとき、すなわち払出個数信号で指令した個数の賞球払出が完了したときに)総賞球数格納バッファの減算処理を行うように構成すると、賞球払出中に不正に遊技機の電力供給を停止させた後に電力供給を復旧させるような不正行為によって、不正に多数の賞球払出が行われてしまう。例えば、払出指令信号で15個の賞球払出が指令された場合に、10個の賞球払出がなされた時点で、不正に遊技機の電力供給を停止させた後に電力供給を復旧させると、総賞球数格納バッファの内容は何ら減算されていないので、実際には10個の賞球払出はなされているにも関わらず、その10個の賞球払出はなされていないものとして、賞球制御を続行してしまう。
しかし、この実施の形態では、受信確認信号がオン状態になったときに、すなわち、払出制御用マイクロコンピュータ370が払出指令信号を受け付けて受信確認信号を送信したときに総賞球数格納バッファの減算処理が実行されるので、上記の不正行為を防止することができる。
なお、遊技制御手段と払出制御手段とが賞球払出制御に関して双方向通信を行い、遊技制御手段が、受信確認信号に相当する信号を受信したことに応じて、景品遊技媒体数記憶手段に記憶されている景品遊技媒体数データから払出指令信号で指定した払出数に対応する値を減算する減算処理を行う遊技機は知られている(例えば、特開2004−65676号公報参照。)。
図99は、特開2004−65676号公報に記載されている払出制御信号の出力の仕方を示すタイミングチャートである。図99に示すように、特開2004−65676号公報に記載されている遊技機では、遊技制御手段が、受信確認信号に相当するBUSY信号がオン状態となったあとオフ状態となったことに応じて、景品遊技媒体数記憶手段に記憶されている景品遊技媒体数データから払出指令信号で指定した払出数に対応する値を減算する減算処理を行うようにしている。
しかし、特開2004−65676号公報に記載されている遊技機では、遊技制御手段は、減算処理を行った後でも、払出制御手段が指示された個数の賞球払出を完了するまで払出指令信号(特に払出REQ信号)のオン状態を維持する。そして、払出指令信号のオン状態が維持されている状態(例えば図99に示す時刻T)で電源断が生じた後に電源が復旧すると、遊技制御手段は、制御状態が保存されている場合には、復旧処理によって、再び払出指令信号をオン状態にする。その場合、払出制御手段は、最初から(例えば15個の賞球払出の指示を受けた場合の1個目)賞球払出処理を再開するので、電源断が生ずる前に数個の遊技球を賞球として払い出していた場合には、重複払出が行われることになる。一方、この実施の形態では、減算処理を行うときに払出指令信号をオフ状態にするので、すなわち、早めに払出指令信号をオフ状態にするので、重複払出が行われ賞球が過剰に払い出されてしまう可能性が低減する。
次に、払出制御手段(払出制御用マイクロコンピュータ370およびI/Oポート)の動作を説明する。図100は、遊技機に対して電力供給が開始され払出制御用マイクロコンピュータ370へのリセット信号がハイレベルになったことに応じて払出制御用マイクロコンピュータ370が実行するメイン処理を示すフローチャートである。メイン処理では、払出制御用マイクロコンピュータ370は、まず、必要な初期設定を行う。すなわち、払出制御用マイクロコンピュータ370は、まず、割込禁止に設定する(ステップS701)。次に、割込モードを割込モード2に設定し(ステップS702)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS703)。また、払出制御用マイクロコンピュータ370は、内蔵デバイスレジスタの設定(初期化)を行い(ステップS704)、CTCおよびPIOの設定(初期化)を行う(ステップS705)を行った後に、RAMをアクセス可能状態に設定する(ステップS706)。
この実施の形態では、内蔵CTCのうちの一つのチャネルがタイマモードで使用される。従って、ステップS704の内蔵デバイスレジスタの設定処理およびステップS705の処理において、使用するチャネルをタイマモードに設定するためのレジスタ設定、割込発生を許可するためのレジスタ設定および割込ベクタを設定するためのレジスタ設定が行われる。そして、そのチャネルによる割込がタイマ割込として用いられる。タイマ割込を例えば2ms毎に発生させたい場合は、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。
なお、タイマモードに設定されたチャネル(この実施の形態ではチャネル3)に設定される割込ベクタは、タイマ割込処理の先頭アドレスに相当するものである。具体的は、Iレジスタに設定された値と割込ベクタとでタイマ割込処理の先頭アドレスが特定される。タイマ割込処理では、払出手段を制御する払出制御処理(少なくとも主基板からの賞球払出に関する指令信号に応じて球払出装置97を駆動する処理を含み、球貸し要求に応じて球払出装置97を駆動する処理が含まれていてもよい。)が実行される。
この実施の形態では、払出制御用マイクロコンピュータ370でも割込モード2が設定される。従って、内蔵CTCのカウントアップにもとづく割込処理を使用することができる。また、CTCが送出した割込ベクタに応じた割込処理開始アドレスを設定することができる。
CTCのチャネル3(CH3)のカウントアップにもとづく割込は、CPUの内部クロック(システムクロック)をカウントダウンしてレジスタ値が「0」になったら発生する割込であり、タイマ割込として用いられる。具体的には、払出制御用CPU371の動作クロックを分周したクロックがCTCに与えられ、クロックの入力によってレジスタの値が減算され、レジスタの値が0になるとタイマ割込が発生する。例えば、CH3のレジスタ値はシステムクロックの1/256周期で減算される。分周したクロックにもとづいて減算が行われるので、レジスタの初期値は大きくならない。
次いで、払出制御用マイクロコンピュータ370は、RAMクリア処理を行う(ステップS707)。また、RAM領域のフラグやカウンタなどに初期値を設定する(ステップS708)。ステップS708の処理には、賞球未払出個数カウンタ初期値(例えば0)を賞球未払出個数カウンタにセットする処理、および接続確認信号をオン状態にするための処理(具体的には、RAMに形成されている出力ポート1バッファのビット4をセットする処理)が含まれる。なお、出力ポートバッファの内容は、後述するステップS760の出力処理が最初に実行されるときに出力ポートの出力に反映される。メイン処理は遊技機に対して電力供給が開始されたことに応じて開始され、払出制御処理における出力処理が最初に実行されるときに出力ポートに接続確認信号が出力される(オン状態になる)ので、接続確認信号は、遊技機に対する電力供給が開始され払出処理を実行可能な状態になったときに、オン状態にされることになる。
そして、定期的にタイマ割込がかかるように払出制御用マイクロコンピュータ370に設けられているCTCのレジスタの設定を行う(ステップS709)。すなわち、初期値としてタイマ割込発生間隔に相当する値が所定のレジスタ(時間定数レジスタ)に設定される。そして、初期設定処理のステップS701において割込禁止とされているので、初期化処理を終える前に割込が許可される(ステップS710)。その後、タイマ割込の発生を監視するループ処理に入る。
上記のように、この実施の形態では、払出制御用マイクロコンピュータ3701の内蔵CTCが繰り返しタイマ割込を発生するように設定される。そして、タイマ割込が発生すると、払出制御用マイクロコンピュータ370は、タイマ割込処理においてタイマ割込フラグをセットする。メイン処理におけるループ処理では、タイマ割込フラグがセットされたことを検出すると、ステップS750以降の払出制御処理を実行する。
図101のステップS750において、払出制御用マイクロコンピュータ370は、発射モータ94に対する励磁パターンの出力処理(発射モータφ1〜φ4のパターンの出力ポート0への出力)を行う。なお、ステップS752の発射モータ制御処理において、励磁パターンがRAM領域である励磁パターンバッファに格納され、ステップS750では、払出制御用マイクロコンピュータ370は、励磁パターンバッファの内容を出力ポート0の下位4ビットに出力する処理を行う。
次に、払出制御用マイクロコンピュータ370は、入力判定処理を行う(ステップS751)。入力判定処理は、払出個数カウントスイッチ301およびエラー解除スイッチ375の検出信号の状態チェックを行う処理を含む。具体的には、それらのそれぞれに対応したスイッチタイマ(払出個数カウントスイッチタイマ、エラー解除スイッチタイマ)がRAMに形成され、スイッチチェック処理において、それらがオン状態であることを検出したら対応するスイッチタイマの値を+1し、オフ状態であることを検出したら対応するスイッチタイマの値をクリアする。
次に、払出制御用マイクロコンピュータ370は、発射モータ制御処理を実行する(ステップS752)。発射モータ制御処理では、発射モータφ1〜φ4のパターンを励磁パターンバッファに格納する。また、発射モータ94を不能動化すべきときには、発射モータ94を回転させない発射モータφ1〜φ4のパターンを励磁パターンバッファに格納する。また、払出制御用マイクロコンピュータ370は、払出モータ制御処理を実行する(ステップS753)。払出モータ制御処理では、払出モータ289を駆動すべきときには、払出モータφ1〜φ4のパターンを出力ポート0に出力するための処理を行う。
また、払出制御用マイクロコンピュータ370は、カードユニット50と通信を行うプリペイドカードユニット制御処理を実行する(ステップS754)。次いで、CPU56と通信を行う主制御通信処理を実行する(ステップS755)。さらに、カードユニット50からの球貸し要求に応じて貸し球を払い出す制御を行い、また、主基板からの払出個数信号が示す個数の賞球を払い出す制御を行う賞球球貸し制御処理を実行する(ステップS756)。
そして、払出制御用マイクロコンピュータ370は、各種のエラーを検出するエラー処理を実行する(ステップS757)。また、遊技機外部に出力される賞球情報や球貸し情報を出力するための情報出力処理を実行する(ステップS758)。また、エラー処理の結果に応じてエラー表示LED374に所定の表示を行うとともに、賞球LED51および球切れLED52を点灯するための表示制御処理を実行する(ステップS759)。なお、払出制御用マイクロコンピュータ370は、表示制御処理において、払出動作中信号がオン状態であるときに、賞球LED51を点灯するための制御を行う。また、払出動作中信号をオフ状態にしたら、賞球LED51を消灯するための制御を行う。
また、この実施の形態では、出力ポートの出力状態に対応したRAM領域(出力ポート0バッファ、出力ポート1バッファ、出力ポート2バッファ)が設けられているのであるが、払出制御用マイクロコンピュータ370は、出力ポート0バッファ、出力ポート1バッファおよび出力ポート2バッファの内容を出力ポートに出力する(ステップS760:出力処理)。ただし、出力ポート0の下位4ビット(発射モータφ1〜φ4)については、ステップS750で実行されているので、出力処理においては、出力ポート0の下位4ビットについての出力を行わない。出力ポート0バッファ、出力ポート1バッファおよび出力ポート2バッファは、払出モータ制御処理(ステップS753)、プリペイドカード制御処理(ステップS754)、主制御通信処理(ステップS755)、情報出力処理(ステップS758)および表示制御処理(ステップS759)で更新される。
図102は、ステップS753の払出モータ制御処理を示すフローチャートである。払出モータ制御処理において、払出制御用マイクロコンピュータ370は、払出モータ制御コードの値に応じて、ステップS521〜S526のいずれかの処理を実行する。
払出モータ制御コードの値が0の場合に実行される払出モータ通常処理(ステップS521)では、払出制御用マイクロコンピュータ370は、ポインタを、ROMに格納されているテーブルの先頭アドレスにセットする。払出モータ通常処理設定テーブルには、球払出時の払出モータ289を回転させるための各ステップの励磁パターン(払出モータφ1〜φ4)のデータが順次設定されている払出モータ励磁パターンテーブルが格納されている。
払出モータ制御コードの値が1の場合に実行される払出モータ起動準備処理(ステップS522)では、払出制御用マイクロコンピュータ370は、出力ポート0の出力状態に対応した出力ポート0バッファのビット4〜7に励磁パターンの初期値を設定する等の処理を行う。
払出モータ制御コードの値が2の場合に実行される払出モータスローアップ処理(ステップS523)では、払出制御用マイクロコンピュータ370は、払出モータ289を滑らかに回転開始させるために、定速処理の場合よりも長い間隔で、かつ、徐々に定速処理の場合の時間間隔に近づくような時間間隔で、払出モータ励磁パターンテーブルの内容を読み出して出力ポート0の出力状態に対応した出力ポート0バッファのビット4〜7に設定する。読み出しに際して、ポインタが指すアドレスの払出モータ励磁パターンテーブルの内容を読み出すとともに、ポインタの値を+1する。
払出モータ制御コードの値が3の場合に実行される払出モータ定速処理(ステップS524)では、払出制御用マイクロコンピュータ370は、定期的に払出モータ励磁パターンテーブルの内容を読み出して出力ポート0の出力状態に対応した出力ポート0バッファのビット4〜7に設定する。
払出モータ制御コードの値が4の場合に実行される払出モータブレーキ処理(ステップS525)では、払出制御用マイクロコンピュータ370は、払出モータ289を滑らかに停止させるために、定速処理の場合よりも長い間隔で、かつ、徐々に定速処理の場合の時間間隔から遠ざかるような時間間隔で、払出モータ励磁パターンテーブルの内容を読み出して出力ポート0の出力状態に対応した出力ポート0バッファのビット4〜7に設定する。
払出モータ制御コードの値が5の場合に実行される球噛み時払出モータブレーキ処理(ステップS526)では、払出制御用マイクロコンピュータ370は、球噛みを解除するための回転の場合に、払出モータ289を滑らかに停止させるために、球噛みを解除するための払出モータ289の回転の場合よりも長い間隔で、かつ、徐々に定速処理の場合の時間間隔から遠ざかるような時間間隔で、払出モータ励磁パターンテーブルの内容を読み出して出力ポート0の出力状態に対応した出力ポート0バッファのビット4〜7に設定する。
図103は、ステップS755の主制御通信処理を示すフローチャートである。主制御通信処理では、払出制御用マイクロコンピュータ370は、電源確認信号がオン状態であれば(ステップS51)、主制御通信制御コードの値に応じて、ステップS531〜S535のいずれかの処理を実行する。
電源確認信号がオフ状態であれば、払出個数信号が1F(H)を示している場合には、エラーフラグにおける払出動作中信号エラービットをセットし(ステップS52,S53)、接続確認信号をオフ状態にする。払出個数信号が1E(H)を示している場合には、エラーフラグにおける受信確認信号エラービットをセットし(ステップS54,S55)、接続確認信号をオフ状態にする(ステップS58)。払出個数信号が1F(H)または1E(H)を示していない場合には、賞球払出動作中であれば(ステップS56)、エラーフラグにおける払出動作中信号エラービットをセットし(ステップS57)、接続確認信号をオフ状態にする(ステップS58)。なお、賞球払出動作中であるか否かは、RAMに形成されている賞球動作中フラグがセットされているか否かによって判定される。また、ステップS58で接続確認信号をオフ状態にする場合、RAMに形成されている出力ポート1バッファの接続確認信号出力ビット(ビット4:図78参照)をリセットし、ステップS760の出力処理において、出力ポート1バッファの内容がポート1に出力されることによって、実際に接続確認信号がオフ状態になる。
また、ステップS52,S53の処理は、CPU56が実行するステップS287の処理(賞球異常出力値として1F(H)を使用する場合)に対応する。ステップS54,S55の処理は、CPU56が実行するステップS268,S277の処理(賞球異常出力値として1E(H)を使用する場合)に対応する。ステップS56,S57の処理は、CPU56が実行するステップS296の処理に対応する。なお、この実施の形態では、ステップS53,S57において、ともに、払出動作中信号エラービットをセットしているが、払出制御用マイクロコンピュータ370は、CPU56が払出動作中信号がオンしなかったことを検出したときに通信エラーと判定したのか(ステップS287の場合)、払出動作中信号がオフしなかったことを検出したときに通信エラーと判定したのか(ステップS296の場合)を区別できるので、ステップS53とステップS57とで、セットするエラービットを変えるようにしてもよい。
図104は、主制御通信制御コードの値が0の場合に実行される待機処理(ステップS531)を示すフローチャートである。待機処理において、払出制御用マイクロコンピュータ370は、エラービットがオンしている場合には、以降の処理を実行せずに処理を終了する(ステップS541)。ステップS541では、エラーフラグ中のビットのうち1つでもセットされていたら、エラービットがセットされていると判断する。
また、払出制御用マイクロコンピュータ370は、カードユニット50が球貸しスイッチが操作されたことに応じて出力する信号であるBRDY信号(ユニット操作信号)がオン状態であれば、以降の処理を実行せずに処理を終了する(ステップS542)。BRDY信号がオン状態であるということは、カードユニット50から球貸し要求が発生していることまたは球貸し処理中を意味する。すなわち、球貸し要求が発生しているときまたは球貸し処理中であるときには、主基板31の遊技制御用マイクロコンピュータ560との通信(賞球払出に関する通信)が進行しない。
ステップS541〜S542の条件が成立せず、電源確認信号がオン状態である場合には、払出制御用マイクロコンピュータ370は、払出REQ信号がオン状態になっているか否か確認する(ステップS543,S544)。オン状態になっている場合には、払出個数信号が示す賞球数を、一時記憶するためのRAM領域である賞球未払出個数バッファにセットし(ステップS545)、受信確認信号をオン状態にするための処理を行う(ステップS546)。具体的には、出力ポート1の出力状態に対応した出力ポート1バッファにおける受信確認信号に対応したビットをオン状態に設定する。また、払出REQ信号がオフ状態になることを監視するための所定時間(一例として100ms)に相当する値を主制御通信制御タイマにセットする(ステップS547)。そして、主制御通信制御コードの値を1にして(ステップS548)、処理を終了する。
なお、払出制御用マイクロコンピュータ370は、ステップS545において、払出個数信号が賞球数として0個を示していたら、ステップS546の処理を実行しない。CPU56は、払出REQ信号をオン状態にした場合に賞球数として0個を示す払出個数信号を送信することはなく、また、賞球払出待機中において払出個数信号が0個を示す状態(無効コマンドを出力する状態)にしているので、払出REQ信号がオン状態であって払出個数信号が0個を示す状態になっているということは、ノイズ等で基板間で払出REQ信号がオン状態になってしまったと考えられる。従って、そのような状況では、払出制御用マイクロコンピュータ370は、ステップS546の処理を実行しないことによって、受信確認信号をオン状態にしないことが好ましい。
図105は、主制御通信制御コードの値が1の場合に実行される払出REQ信号オフ待ち処理(ステップS532)を示すフローチャートである。払出REQ信号オフ待ち処理において、払出制御用マイクロコンピュータ370は、払出REQ信号がオフ状態であれば(ステップS551)、払出個数信号が示す賞球数を一時記憶するためのRAM領域である賞球未払出個数バッファの内容を、賞球未払出個数カウンタにセットする(ステップS552)。また、受信確認信号をオフ状態にするための処理を行う(ステップS553)。具体的には、出力ポート1の出力状態に対応した出力ポート1バッファにおける受信確認信号に対応したビットをオフ状態に設定する。そして、主制御通信制御コードの値を2にして(ステップS554)、処理を終了する。なお、ステップS553の処理が実行されたことに応じて、後述する払出動作開始待ち処理(図110参照)において賞球払出処理が開始される。
払出REQ信号がオフ状態でなければ、払出制御用マイクロコンピュータ370は、主制御通信制御タイマの値を1減算する(ステップS555)。主制御通信制御タイマの値が0になっていなければ処理を終了する(ステップS556)。主制御通信制御タイマの値が0になった場合には、受信確認信号を送信(オン状態にすること)してから所定時間が経過しても払出REQ信号がオフせず通信エラーが発生したと判断する。そして、受信確認信号および接続確認信号をオフ状態にするための処理を行う(ステップS557)。具体的には、出力ポート1の出力状態に対応した出力ポート1バッファにおける受信確認信号および接続確認信号に対応したビットをオフ状態に設定する。また、エラーフラグのビット4(払出REQ信号エラービット)をセットする(ステップS558)。そして、主制御通信制御コードの値を0にして(ステップS559)、処理を終了する。
図106は、主制御通信制御コードの値が2の場合に実行される払出動作開始待ち処理(ステップS533)を示すフローチャートである。払出動作開始待ち処理において、払出制御用マイクロコンピュータ370は、賞球払出処理中であることを示す賞球動作中フラグがオン状態(1:セット状態)になった場合には、(ステップS561)、払出動作中信号をオン状態にするための処理を行う(ステップS562)。具体的には、出力ポート1の出力状態に対応した出力ポート1バッファにおける払出動作中信号に対応したビットをオン状態に設定する。そして、主制御通信制御コードの値を3にして(ステップS563)、処理を終了する。
図107は、主制御通信制御コードの値が3の場合に実行される払出動作中処理(ステップS534)を示すフローチャートである。払出動作中処理において、払出制御用マイクロコンピュータ370は、賞球動作中フラグがオフ状態(0:リセット状態)になった場合には(ステップS571)、払出個数信号で指定された個数の賞球払出処理が完了したとして、払出動作中信号をオフ状態にするための処理を行う(ステップS572)。具体的には、出力ポート1の出力状態に対応した出力ポート1バッファにおける払出動作中信号に対応したビットをオフ状態に設定する。また、払出個数信号がオフ状態(5ビット全て0)になることを監視するための所定時間(一例として100ms)に相当する値を主制御通信制御タイマにセットする(ステップS573)。そして、主制御通信制御コードの値を4にして(ステップS574)、処理を終了する。
図108は、主制御通信制御コードの値が4の場合に実行される払出個数信号オフ待ち処理(ステップS535)を示すフローチャートである。払出個数信号オフ待ち処理において、払出制御用マイクロコンピュータ370は、払出個数信号がオフ状態になっていたら(ステップS581)、主制御通信制御コードの値を待機状態に対応する0にして(ステップS582)、処理を終了する。この時点で、1回の賞球払出に関わる遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370との間の通信が正常に終了したことになる。
払出個数信号がオフ状態になっていない場合には、払出制御用マイクロコンピュータ370は、主制御通信制御タイマの値を1減算する(ステップS583)。主制御通信制御タイマの値が0になっていなければ処理を終了する(ステップS584)。主制御通信制御タイマの値が0になった場合には、払出動作中信号の送信を停止(オフ状態にすること)してから所定時間が経過しても払出個数信号がオフ状態にならず通信エラーが発生したと判断する。そして、接続確認信号をオフ状態にするための処理を行う(ステップS585)。具体的には、出力ポート1の出力状態に対応した出力ポート1バッファにおける接続確認信号に対応したビットをオフ状態に設定する。また、エラーフラグのビット5(払出個数信号エラービット)をセットする(ステップS586)。そして、主制御通信制御コードの値を0にして(ステップS582)、処理を終了する。
図109は、ステップS756の賞球球貸し制御処理を示すフローチャートである。賞球球貸し制御処理において、払出制御用マイクロコンピュータ370は、払出個数カウントスイッチ301の検出信号がオン状態になったことを確認したら(ステップS601)、球貸し中であれば球貸し未払出個数カウンタの値を1減らし(ステップS602,S604)、球貸し中でなければ賞球未払出個数カウンタの値を1減らす(ステップS602,S603)。その後、払出制御コードの値に応じてステップS610〜S612のいずれかの処理を実行する。
図110は、払出制御コードが0の場合に実行される払出開始待ち処理(ステップS610)を示すフローチャートである。払出開始待ち処理において、払出制御用マイクロコンピュータ370は、エラービットがセットされていたら、以降の処理を実行しない(ステップS621)。エラーフラグにおけるエラービットには、主制御未接続エラーのビットが含まれている。また、主制御未接続エラーは、主基板31からの電源確認信号が賞球払出中でないときにオフ状態になるとセットされる。従って、払出制御用マイクロコンピュータ370は、遊技機に対して電力供給が開始された後、電源確認信号がオン状態になったことを条件に、実質的な制御を開始する。
また、BRDY信号がオン状態でなければ、ステップS631以降の賞球払出のための処理を実行する。BRDY信号がオン状態であって、さらに、球貸し要求信号であるBRQ信号(球貸し要求信号)がオン状態になっていたら球貸し動作中フラグをセットする(ステップS623,S624)。そして、球貸し未払出個数カウンタに「25」をセットし(ステップS625)、払出モータ回転回数バッファに「25」をセットする(ステップS626)。なお、BRQ信号は、BRDY信号が出力された時点から所定の遅延時間が経過したときに、カードユニット50が出力する信号である。
払出モータ回転回数バッファは、払出モータ制御処理(ステップS768)において参照される。すなわち、払出モータ制御処理では、払出モータ回転回数バッファにセットされた値に対応した回転数分だけ払出モータ289を回転させる制御が実行される。
その後、払出制御用マイクロコンピュータ370は、払出モータ制御処理で実行される処理を選択するための払出モータ制御コードに、払出モータ起動準備処理(ステップS522)に応じた値(具体的は「1」)をセットし(ステップS627)、払出制御コードの値を1にして(ステップS628)、処理を終了する。
ステップS631では、払出制御用マイクロコンピュータ370は、賞球未払出個数カウンタの値が0であるか否かを確認する。賞球未払出個数カウンタの値が0であれば処理を終了する。賞球未払出個数カウンタには、主制御通信処理の払出REQ信号オフ待ち処理におけるステップS552において、すなわち、主基板31の遊技制御用マイクロコンピュータ560からの払出REQ信号がオフ状態になったときに、0でない値(払出個数信号が示す数)がセットされている。賞球未払出個数カウンタの値が0でない場合には、払出モータ回転回数バッファに賞球未払出個数カウンタの値をセットする(ステップS633)。そして、賞球動作中フラグをセットし(ステップS635)、ステップS627に移行する。
図111は、払出制御コードが1の場合に実行される払出モータ停止待ち処理(ステップS611)を示すフローチャートである。払出モータ停止待ち処理において、払出制御用マイクロコンピュータ370は、払出動作が終了したか否か確認する(ステップS641)。払出制御用マイクロコンピュータ370は、例えば、払出モータ制御処理における払出モータブレーキ処理(ステップS525)が終了するときにその旨のフラグをセットし、ステップS641においてそのフラグを確認することによって払出動作が終了したか否かを確認することができる。
払出動作が終了した場合には、払出制御用マイクロコンピュータ370は、払出制御監視タイマに払出通過監視時間をセットする(ステップS642)。払出通過監視時間は、最後の払出球が払出モータ289によって払い出されてから払出個数カウントスイッチ301を通過するまでの時間に、余裕を持たせた時間である。そして、払出制御コードの値を2にして(ステップS643)、処理を終了する。
図112〜図114は、払出制御コードの値が2の場合に実行される払出通過待ち処理(ステップS612)を示すフローチャートである。払出通過待ち処理では、賞球払出が行われているときには、賞球未払出個数カウンタの値が0になっていれば正常に払出が完了したと判定される。賞球未払出個数カウンタの値が0になっていない場合には、エラー状態でなければ、払出不足分の遊技球(賞球未払出個数カウンタの値が示す個数の遊技球)の再払出動作を、2回を上限として試みる。再払出動作において払出個数カウントスイッチ301によって遊技球が実際に払い出されたことが検出されたら正常に払出が完了したと判定される。なお、この実施の形態では、払出REQ信号を受信したときに賞球未払出個数カウンタにセットされた個数の遊技球が払い出されるように払出モータ289を回転させたのであるから、賞球未払出個数カウンタの値が0になっていない場合には、正常に払出が完了していないことになる。
また、球貸し払出が行われているときには、球貸し未払出個数カウンタの値が0になっていれば正常に払出が完了したと判定される。球貸し未払出個数カウンタの値が0になっていない場合には、エラー状態でなければ、球貸し残数(球貸し未払出個数カウンタの値に相当)の再払出動作を試みる。なお、この実施の形態では、1回の球貸し払出動作で払い出される遊技球数は25個(固定値)であり、25個の遊技球が払い出されるように払出モータ289を回転させたのであるから、球貸し未払出個数カウンタの値が0になっていない場合には、正常に払出が完了していないことになる。
払出通過待ち処理において、払出制御用マイクロコンピュータ370は、まず、払出制御タイマの値を確認し、その値が0になっていればステップS653に移行する(ステップS650)。払出制御タイマの値が0でなければ、払出制御タイマの値を−1する(ステップS651)。そして、払出制御タイマの値が0になっていなければ(ステップS652)、すなわち払出制御タイマがタイムアウトしていなければ処理を終了する。なお、ステップS650の処理は、後述する遊技球払出のリトライ動作が開始されたときのことを考慮した処理である。後述するステップS807の処理が実行された場合には、ステップS650からS653に移行するルートを経てリトライ動作が開始される。
払出制御タイマがタイムアウトしていれば(ステップS652)、球貸し払出処理(球貸し動作)を実行していたか否か確認する(ステップS653)。球貸し動作を実行していたか否かは、RAMに形成されている払出制御状態フラグにおける球貸し動作中ビットがセットされているか否かによって確認される。球貸し動作を実行していない場合、すなわち、賞球払出処理(賞球動作)を実行していた場合には、払出制御用マイクロコンピュータ370は、賞球未払出個数カウンタの値を確認する(ステップS654)。賞球未払出個数カウンタの値が0になっている場合には、正常に賞球払出処理が完了したとして、払出制御状態フラグにおける再払出動作中1ビット、再払出動作中2ビット、賞球動作中フラグおよび球貸し動作中ビットをリセットし(ステップS655)、払出制御コードを0にして(ステップS656)、処理を終了する。
「払出制御状態フラグ」は、初回の再払出動作の実行中であるか否かを示す再払出動作中1ビットと、2回目の再払出動作の実行中であるか否かを示す再払出動作中2ビットと、賞球の払出動作を実行しているか否かを示す賞球動作中フラグと、球貸し動作を実行しているか否かを示す球貸し動作中ビットとを含む複数ビット構成のフラグである。
払出制御用マイクロコンピュータ370は、賞球未払出個数カウンタの値が0になっていない場合には、通信に関わらないエラーについてのエラーフラグ(ここでは、払出スイッチ異常検知エラー1ビット、払出スイッチ異常検知エラー2ビットおよび払出ケースエラービットのうちのいずれか1ビットまたは複数ビット)がセットされていないことを条件として(ステップS659)、再払出動作を実行する。なお、払出スイッチ異常検知エラー1ビット、払出スイッチ異常検知エラー2ビットおよび払出ケースエラービットのうちのいずれか1ビットまたは複数ビットがセットされている場合には、再払出動作を実行しない。
再払出処理(再払出動作を行わせるための制御)を実行するために、払出制御用マイクロコンピュータ370は、まず、再払出動作中2ビットがセットされているか否か確認する(ステップS662)。セットされていなければ、再払出動作中1ビットがセットされているか否か確認する(ステップS663)。再払出動作中1ビットもセットされていなければ、初回の再払出動作を実行するために、再払出動作中1ビットをセットし(ステップS665)、払出モータ回転回数バッファに賞球未払出個数カウンタまたは球貸し未払出個数カウンタの値をセットする(ステップS666)。払出モータ回転回数バッファは、払出モータ制御処理(ステップS768)において参照される。すなわち、払出モータ制御処理では、払出モータ回転回数バッファにセットされた値に対応した回転数分だけ払出モータ289を回転させる制御が実行される。なお、ステップS666において、球貸し未払出個数カウンタの値も取り扱われるのは、球貸し払出処理における再払出処理でもステップS666が用いられるからである。払出制御用マイクロコンピュータ370は、ステップS666において、賞球払出処理における再払出処理では賞球未払出個数カウンタの値をセットし、球貸し払出処理における再払出処理では球貸し未払出個数カウンタの値をセットする。その後、払出制御コードを1にして(ステップS667)、処理を終了する。
ステップS663において、再払出動作中1ビットがセットされていることを確認したら、払出制御用マイクロコンピュータ370は、2回目の再払出を実行するために、再払出動作中1ビットをリセットし(ステップS669)、再払出動作中2ビットをセットする(ステップS670)。そして、ステップS666に移行する。
ステップS662において、再払出動作中2ビットがセットされていることを確認したら、払出制御用マイクロコンピュータ370は、2回の再払出処理を実行しても払出不足分の遊技球が払い出されなかったとして、エラーフラグにおける払出ケースエラービットをセットする(ステップS672)。その際に、再払出動作中2ビットをリセットしておく(ステップS671)。そして、処理を終了する。
以上のように、再払出処理(補正払出処理)において所定回(この例では2回)の再払出動作を行っても遊技球の払出不足が解消されない場合には、遊技球の払出動作不良として、払出個数カウントスイッチ未通過エラービット(払出ケースエラービット)がセットされる。
従って、この実施の形態では、払出制御手段における景品遊技媒体払出制御手段は、払出検出手段としての払出個数カウントスイッチ301からの検出信号にもとづいて、景品遊技媒体の払い出しが完了しなかったことを検出したときに、あらかじめ決められた所定回(この例では2回)を限度として、払出手段に不足分の景品遊技媒体の払い出しを行わせるように制御を行う。なお、この実施の形態では、景品遊技媒体を払い出すためのリトライ動作を2回行っても景品遊技媒体の払い出しが行われなかった場合には、払出ケースエラービットをセットしてエラー発生中状態になるが(ステップS672)、景品遊技媒体の払い出しが完了しなかったことを初めて検知したときに払出ケースエラービットをセットしてもよい。なお、「リトライ動作(あるいは「リトライ」、「リトライ動作処理」)」とは、所定数の遊技球の払い出しを行うための通常の払出処理を実行したのにもかかわらず、実際の払い出し数が少ない場合に実行させる動作であって、通常の払出処理とは別に、未払出の遊技球を払い出すために払出処理を再度実行させるための動作(すなわち再払出動作)を意味する。
賞球球貸し制御処理において、払出動作(1回の賞球払出または1回の球貸し)を行うか否か判定するためにエラービットがチェックされるのは、図110に示された払出開始待ち処理においてのみである。図111に示された払出モータ停止待ち処理および図112等に示された払出通過待ち処理では、エラービットはチェックされない。なお、払出通過待ち処理におけるステップS658等でもエラービットがチェックされているが、そのチェックは再払出動作を行うか否かを判断するためであって、払出動作(1回の賞球払出または1回の球貸し)を開始するか否か判定するためではない。従って、ステップS626またはS633の処理が行われて遊技球の払出処理が開始された後では、エラーが発生しても払出処理は中断されない。すなわち、エラーが発生すると、遊技球の払出処理は、切りのよい時点(1回の賞球払出または1回の球貸しが終了した時点)まで継続される。なお、ステップS621でチェックされるエラーフラグにおけるエラービットの中には、主基板31からの電源確認信号がオフ状態になったことを示すエラービットが含まれている。よって、電源確認信号がオフ状態になったときにも、遊技球の払出処理は、切りのよい時点で停止される。また、1回の賞球払出または1回の球貸しとは、賞球未払出個数カウンタまたは球貸し未払出個数カウンタに0でない値がセットされてから賞球未払出個数カウンタまたは球貸し未払出個数カウンタの値が0になるまでの遊技球払出処理を意味する。
電源確認信号がオフ状態になったとき、特許文献1に記載の遊技機と同様に、払い出しを中断し、エラー状態から回復したときに払い出しを再開する構成にすると、データ(未払出分の遊技媒体の個数情報)の管理が複雑になってしまうが、本発明では、予定数の景品遊技媒体の払い出しが完了して、切りのよい時点で払出処理を停止する。従って、そのようなデータを管理する必要がなく、制御を簡易化することができる。
ステップS653で球貸し払出処理(球貸し動作)を実行していたことを確認すると、払出制御用マイクロコンピュータ370は、球貸し未払出個数カウンタの値が0になっているか否か確認する(ステップS657)。0になっていれば、正常に球貸し払出処理が完了したとしてステップS655に移行する。
球貸し未払出個数カウンタの値が0になっていなければ、エラーフラグ(具体的には、払出スイッチ異常検知エラー1ビット、払出スイッチ異常検知エラー2ビットおよび払出ケースエラービットのうちのいずれか1ビットまたは複数ビット)がセットされていないことを条件として(ステップS658)、再払出処理を実行する。なお、エラーフラグがセットされている場合には、再払出処理を実行しない。
再払出処理を実行するために、払出制御用マイクロコンピュータ370は、まず、再払出動作中2ビットがセットされているか否か確認する(ステップS676)。セットされていなければ、再払出動作中1ビットがセットされているか否か確認する(ステップS677)。再払出動作中1ビットもセットされていなければ、初回の再払出動作を実行するために、再払出動作中1ビットをセットし(ステップS679)、ステップS666に移行する。
ステップS677において、再払出動作中1ビットがセットされていることを確認したら、払出制御用マイクロコンピュータ370は、再払出動作を再度実行するための処理を行う。具体的には、再払出動作中1ビットをリセットする(ステップS681)。そして、再払出動作中2ビットをセットし(ステップS685)、ステップS666に移行する。
ステップS676において、再払出動作中2ビットがセットされていることを確認したら、払出制御用マイクロコンピュータ370は、再払出動作中2ビットをリセットし(ステップS686)、エラーフラグにおける払出ケースエラービットをセットする(ステップS688)。そして、処理を終了する。
以上のように、球貸し処理に係る再払出処理(補正払出処理)において連続して2回の再払出動作を行っても遊技球の払出不足が解消されないが場合には、遊技球の払出動作不良として、払出個数カウントスイッチ未通過エラービット(払出ケースエラービット)がセットされる。
以上に説明したように、遊技制御用マイクロコンピュータ560が、総賞球数格納バッファに記憶されている賞球の未払出総数が所定の異常判定数以上となったときに、未払出超過LED362を点灯させて異常の発生を報知するように構成されているので、未払出超過LED362による異常の発生の報知によって、払出制御用マイクロコンピュータ370との通信が不正基板に搭載されたマイクロコンピュータとの間で実行されていることを報知することができ、不正基板を容易に発見することができるようになる。
この実施の形態では、入賞が発生したときに、主基板31に搭載されている入賞報知ランプ363を所定期間点灯させるように構成されているので、なりすまし基板が設置されている場合には入賞が発生しても入賞報知ランプ363が点灯しなくなるようにすることができ、なりすまし基板が設置されていることを容易に発見することができる。さらに、入賞報知ランプ363が点灯しなくならないように、入賞検出のスイッチ(例えば始動口スイッチ14a)の検出信号がなりすまし基板だけでなく正規の主基板31にも入力されるように配線された場合であっても、主基板31と払出制御基板37との通信が行われないため、主基板31で管理されている総賞球数格納バッファに記憶されている賞球の未払出総数が減算されなくなり、総賞球数格納バッファに記憶されている賞球の未払出総数が所定の異常判定数以上となって、なりすまし基板が設置されていることを容易に発見することができるのである。なお、本発明においては、遊技進行による信号が主基板31上で認識されることを本旨としているので、例えば、第1始動口スイッチ14a、第2始動口スイッチ14bに限らず、他の入賞検出のスイッチ(ゲートスイッチ32a、カウントスイッチ23、入賞口スイッチ29a,30a等)の検出信号により入賞報知ランプ363を所定期間点灯させるようにしてもよい。
なお、主基板31に搭載されている未払出超過LED362は、開封不能な固着手段によって封止された基板ボックス(図70参照)に収納されている。従って、不正基板からの信号によって未払出超過LED362が駆動されることを防止することができる。
また、第1の実施の形態および第2の実施の形態では、タイマ割込設定を行うまでに乱数回路503の初期設定(乱数回路設定処理)を行うようにしていたが、逆に、乱数回路503の初期設定(乱数回路設定処理)を行ったあとにタイマ割込の設定を行う(例えば図73に示すステップS14とステップS15を逆の順番で行う)ようにしてもよい。そして、乱数回路設定処理において、遊技制御用マイクロコンピュータ560固有のIDナンバにもとづく値を乱数の初期値として設定するようにしてもよい。このように構成すれば、遊技制御処理の実行中に乱数回路の設定が変更されることが無いようにすることができ、不正行為を防止することができる。
実施の形態3.
第1の実施の形態では、ラッチ信号生成回路833に入力するクロック信号を反転させて、乱数を更新するタイミングと乱数値記憶回路831に乱数を記憶させるタイミングとをずらすようにしたが、ラッチ信号生成回路833に入力するクロック信号を遅延させるようにしてもよい。以下、ラッチ信号生成回路833に入力するクロック信号を遅延させる第3の実施の形態を説明する。
なお、本実施の形態において、第1の実施の形態と同様の構成および処理をなす部分についてはその詳細な説明を省略し、主として第1の実施の形態と異なる部分について説明する。
図115は、乱数回路503の他の構成例を示すブロック図である。なお、この実施の形態において、12ビット乱数回路803aと16ビット乱数回路803bとの基本的な構成は同じである。図115に示すように、この実施の形態では、乱数回路503が、図47に示された反転回路832に代えて遅延回路832Aを含む点で、第1の実施の形態と異なる。
遅延回路832Aは、クロック信号出力回路824から入力する乱数発生用クロック信号SI1を遅延させることによって、クロック信号を遅延させた遅延クロック信号SI4を生成する。また、遅延回路832Aは、生成した遅延クロック信号SI4をラッチ信号生成回路833に出力する。従って、この実施の形態では、ラッチ信号生成回路833は、乱数発生用クロック信号SI1を遅延させた遅延クロック信号SI4に同期して、乱数値記憶回路831にラッチ信号を出力することになる。
なお、遅延回路832A以外の乱数回路503の各構成要素の基本的な機能は、第1の実施の形態で示したそれらの機能と同様である。
以上に説明したように、この実施の形態では、乱数回路503の遅延回路832Aが遅延クロック信号SI4を生成し、遅延クロック信号SI4に同期して乱数の記憶を指示するためのラッチ信号を出力する。そのため、乱数を更新するタイミングと乱数値記憶回路831に乱数を記憶させるタイミングとをずらすことができ、生成した乱数を安定して確実に記憶させることができる。
実施の形態4.
図116は、第4の実施の形態における主基板の構成を示すブロック図である。第4の実施の形態における主基板の構成は、中断ボタン361が設けられていない点を除いて、図4に示す第1の実施の形態における主基板の構成と同じである。
図117は、遊技制御用マイクロコンピュータ560(具体的には、CPU56)が実行するメイン処理の一部を示すフローチャートである。リセット信号が入力されるリセット端子の入力レベルがハイレベルになると、遊技制御用マイクロコンピュータ560は、プログラムの内容が正当か否かを確認するための処理であるセキュリティチェック処理を実行した後、ステップS1以降のメイン処理を開始する。
この実施の形態では、CPU56は、メイン処理において、認証信号(主基板31に一意に与えられている基板ID)を照合端子364に出力するとともに(ステップS81)、認証信号を演出制御基板80に対して送信する(ステップS82)。その他の処理は、図72および図73に示された処理と同じである。
図118は、演出制御用マイクロコンピュータ(演出制御基板80に搭載されているマイクロコンピュータ)が実行するメイン処理を示すフローチャートである。メイン処理では、まず、RAM領域のクリアや各種初期値の設定、また演出制御の起動間隔を決めるための2msタイマの初期設定等を行うための初期化処理が行われる(ステップS701)。その後、演出制御用マイクロコンピュータは、タイマ割込フラグの監視(ステップS702)の確認を行うループ処理に移行する。タイマ割込が発生すると、演出制御用マイクロコンピュータは、タイマ割込処理においてタイマ割込フラグをセットする。メイン処理において、タイマ割込フラグがセットされていたら、演出制御用マイクロコンピュータは、そのフラグをクリアし(ステップS703)、以下の演出制御処理を実行する。
この実施の形態では、タイマ割込は2ms毎にかかる。すなわち、演出制御処理は、2ms毎に起動される。また、この実施の形態では、タイマ割込処理ではフラグセットのみがなされ、具体的な演出制御処理はメイン処理において実行されるが、タイマ割込処理で演出制御処理を実行してもよい。
演出制御処理において、演出制御用マイクロコンピュータは、まず、受信した演出制御コマンドを解析する(コマンド解析処理:ステップS704)。次いで、演出制御用マイクロコンピュータは、演出制御プロセス処理を行う(ステップS705)。演出制御プロセス処理では、制御状態に応じた各プロセスのうち、現在の制御状態(演出制御プロセスフラグ)に対応したプロセスを選択して演出表示装置9の表示制御を実行する。そして、乱数カウンタを更新する処理を実行する(ステップS706)。その後、ステップS702のタイマ割込フラグの確認を行う処理に戻る。
次に、主基板31からの演出制御コマンド受信処理について説明する。図119は、主基板31から受信した演出制御コマンドを格納するためのコマンド受信バッファの一構成例を示す説明図である。この例では、2バイト構成の演出制御コマンドを6個格納可能なリングバッファ形式のコマンド受信バッファが用いられる。従って、コマンド受信バッファは、受信コマンドバッファ1〜12の12バイトの領域で構成される。そして、受信したコマンドをどの領域に格納するのかを示すコマンド受信個数カウンタが用いられる。コマンド受信個数カウンタは、0〜11の値をとる。なお、必ずしもリングバッファ形式でなくてもよく、例えば、図柄指定コマンド格納領域を3個(2×3=6バイトのコマンド受信バッファ)、それ以外の変動パターン指定などのコマンド格納領域を1個(2×1=2バイトのコマンド受信バッファ)のようなバッファ構成としてもよい。音声制御手段や、ランプ制御手段においても同様に、リングバッファ形式でないバッファ形式としてもよい。
主基板31からの演出制御用のINT信号は演出制御用マイクロコンピュータの割込端子に入力されている。例えば、主基板31からのINT信号がオン状態になると、演出制御用マイクロコンピュータにおいて割込がかかる。そして、演出制御用マイクロコンピュータは、割込処理において演出制御コマンドの受信処理を実行する。演出制御コマンドの受信処理において、演出制御用マイクロコンピュータは、受信した演出制御コマンドデータを、コマンド受信個数カウンタが示す受信コマンドバッファに格納する。
図120は、コマンド解析処理(ステップS704)の具体例を示すフローチャートである。主基板31から受信された演出制御コマンドは受信コマンドバッファに格納されるが、コマンド解析処理では、演出制御用マイクロコンピュータは、コマンド受信バッファに格納されているコマンドの内容を確認する。
コマンド解析処理において、演出制御用マイクロコンピュータは、まず、コマンド受信バッファに受信コマンドが格納されているか否か確認する(ステップS921)。格納されているか否かは、コマンド受信個数カウンタの値と読出ポインタとを比較することによって判定される。両者が一致している場合が、受信コマンドが格納されていない場合である。コマンド受信バッファに受信コマンドが格納されている場合には、演出制御用マイクロコンピュータは、コマンド受信バッファから受信コマンドを読み出す(ステップS922)。なお、読み出したら読出ポインタの値を+2しておく(ステップS923)。
受信した演出制御コマンドが変動パターン指定の演出制御コマンドであれば(ステップS924)、演出制御用マイクロコンピュータは、そのコマンドのEXTデータを変動パターンデータ格納領域に格納する(ステップS925)。
受信した演出制御コマンドが表示結果指定の演出制御コマンドであれば(ステップS926)、演出制御用マイクロコンピュータは、そのコマンドのEXTデータを特別図柄の表示結果として特別図柄格納領域に格納する(ステップS927)。
受信した演出制御コマンドが認証信号(基板ID)を示す演出制御コマンドであれば(ステップS928)、演出制御用マイクロコンピュータは、そのコマンドが示す基板IDと、演出制御基板80が備えるROMあるいはRAMに格納されている主基板31の基板IDとを照合して、一致しているか否かを照合結果として判定する照合処理を実行する(ステップS929)。そして、演出表示装置9に所定の表示を行うことで、照合結果を報知する(ステップS930)。
照合処理によって受信した基板IDと格納している基板IDとが一致していると判定した場合には、演出制御用マイクロコンピュータは、ステップS930の処理で、例えば「照合OK」を演出表示装置9に表示する。
また、照合処理によって受信した基板IDと格納している基板IDとが一致していないと判定した場合には、演出制御用マイクロコンピュータは、ステップS930の処理で、例えば「照合NG」を演出表示装置9に表示する。
照合結果が照合OKでなければ(ステップS931のN)、演出制御用マイクロコンピュータは、動作停止状態に制御する(ステップS932)。なお、動作停止状態は、システムリセットされた状態や、演出制御処理を実行しない状態等、演出制御のための実質的な制御が停止された状態を意味する。
演出制御用マイクロコンピュータは、ステップS922で読み出した受信コマンドがその他の演出制御コマンドである場合には、受信コマンドに対応するコマンド受信フラグをセットし、必要であれば受信コマンドを保存する(ステップS933)。
以上に説明したように、この実施の形態では、遊技制御用マイクロコンピュータ560が、照合機365に対して照合端子364を介して基板IDを送信するとともに、演出制御用マイクロコンピュータに対して基板IDを送信し、演出制御用マイクロコンピュータが、基板IDにもとづいて主基板31を認証するか否か判定し、認証しないと判定したときは、主基板31を認証しない旨の報知を行うとともに、動作停止状態とする制御を行うように構成されているので、例えば遊技店員が演出制御用マイクロコンピュータに対して基板IDが送信されるようにする(例えば、電源再投入、始動入賞口へ遊技球)ことで、不正回路基板が設置されていることを容易に発見することができる。つまり、この実施の形態の遊技機は、遊技制御用マイクロコンピュータ560のIDと、他の基板上のマイクロコンピュータのIDとを相互に監視する機能を備える。他の基板上のマイクロコンピュータが、遊技制御用マイクロコンピュータ560の正規のIDを受信できない場合には、主基板31に代わってなりすまし基板が遊技制御処理を行っている可能性があるが、この実施の形態では、他の基板上のマイクロコンピュータ(この例では、演出制御用マイクロコンピュータ)がなりすまし基板の存在を検知する。
また、この実施の形態では、演出制御用マイクロコンピュータが、基板IDを受信したことに応じて主基板31を認証するか否かの判定を行うが、遊技機への電力供給が開始されたときから所定期間内に遊技制御用マイクロコンピュータ560からの基板IDが受信されないときは、照合NGと判断し、主基板31を認証しない旨の報知や、動作停止状態とする制御を行うようにしてもよい。この場合、演出制御用マイクロコンピュータは、遊技機への電力供給が開始されたときから基板IDが受信されるまで、演出表示装置9に主基板31を認証しない旨の報知(例えば、「照合NG」の表示)を行うようにしてもよい。具体的には、例えば、ステップS701の処理で「照合NG」の表示を開始し、ステップS619にて「照合OK」と判定されたときに認証済フラグをセットするとともに「照合NG」の表示を終了し、所定期間「照合OK」の表示を行うようにすればよい。なお、認証済フラグは、遊技機への電力供給が開始されたとき(ステップS701)または電力供給が停止されるときにリセットされる。また、この場合、演出制御用マイクロコンピュータが、遊技機への電力供給が開始されたときから基板IDが受信されるまで、動作停止状態に制御(基板IDを受信するための処理以外は実行しないように制御。例えば、演出制御処理を開始する前に基板IDの受信確認等を行うように構成し、演出制御処理を開始しない状態に制御)するようにしてもよい。すなわち、遊技制御用マイクロコンピュータ560が、遊技機への電力供給が開始されたときに、演出制御用マイクロコンピュータに対して基板IDを送信し、演出制御用マイクロコンピュータが、基板IDが受信されるまで、遊技制御基板を認証しない旨の報知と、動作停止状態の制御とのうち、少なくとも何れか一方を行うように構成されていてもよい。そのように構成すれば、遊技機への電力供給が開始される毎に、不正回路基板が設置されているか否かを判定することができる。
なお、主基板31から演出制御基板80への基板IDの通信方法はどのような方法であってもよく、例えば、主基板31と演出制御基板80とを同期させて基板IDを送受するようにしてもよい。
また、この実施の形態では、基板IDにもとづいて主基板31を認証しないと判定したときは、主基板31を認証しない旨の報知を行うとともに、動作停止状態とする制御を行うようにしていたが、主基板31を認証しない旨の報知、あるいは動作停止状態とする制御の何れか一方を行うようにしてもよい。
なお、上記の各実施の形態では、照合に用いるIDと乱数の初期値を設定するためのIDとに同一のIDを用いるようにしていたが、これに限らず、別個のIDを用いるようにしてもよい。
また、上記の各実施の形態では、遊技制御用マイクロコンピュータ560が、始動口スイッチ14aからの入賞検出信号が入力されたことを条件に、照合機365に対して照合端子364を介して基板IDを送信し、演出制御用マイクロコンピュータが、基板IDにもとづいて主基板31を認証するか否か判定し、認証しないと判定したときは、主基板31を認証しない旨の報知を行うとともに、動作停止状態とする制御を行うように構成されているので、不正回路基板が設置されていることを容易に発見することができる。すなわち、始動入賞口14に遊技球を入賞させたときに、照合NGの表示がなされれば何らかの不正行為がなされている可能性があることを遊技店員等に認識させることができ、照合OKの表示も照合NGの表示もなされなければ、演出制御用マイクロコンピュータによる基板IDにもとづく照合処理が実行されていない(始動口スイッチ14aからの入賞検出信号がなりすまし基板に入力されていて、主基板31に入力されていない)ことになり、不正回路基板が設置されていると遊技店員等に認識させることができる。よって、不正回路基板が設置されていることを容易に発見することができる。なお、ここでは、不正回路基板が設置されている場合には、本来は照合OKと表示されるべきときにその表示がなされないことになるので、照合OKの表示がなされないことが、主基板31を認証しない旨の報知に相当する。
始動口スイッチ14aからの入賞検出信号がなりすまし基板および主基板31に入力されている場合の対策として、例えば、照合処理中は演出制御用マイクロコンピュータによる表示処理を停止するようにすればよい。このようにすれば、不正回路基板が設置されているときは、始動入賞の発生にもとづく照合処理の結果が表示される前に、演出表示装置9での可変表示が開始されることになる。このため、始動口スイッチ14aからの入賞検出信号がなりすまし基板および主基板31に入力されていても、不正回路基板が設置されていることを容易に発見することができる。
なお、上記の各実施の形態では、遊技制御用マイクロコンピュータ560が、始動口スイッチ14aからの入賞検出信号が入力されたことを条件に、照合機365に対して照合端子364を介して基板IDを送信するようにしていたが、他の入賞検出スイッチからの入賞検出信号が入力されたことを条件に基板IDを送信するようにしてもよい。
また、上記の各実施の形態では、遊技機への電源投入が開始されてからタイマ割込設定を行うまでに乱数回路503の初期設定(乱数回路設定処理)を行うとともに、乱数回路設定処理において、遊技制御用マイクロコンピュータ560固有のIDナンバにもとづく値を乱数の初期値として設定する。そのため、乱数回路503が生成する乱数のランダム性を向上させることができる。また、乱数のランダム性を向上させることができるので、乱数生成のタイミングを遊技者や遊技店に認識されにくくすることができ、無線信号を用いた取り込み信号を遊技機に対して発生させることによって、大当り状態などの特定遊技状態への移行条件を不正に成立させられてしまうことを防止することができる。
また、上記の各実施の形態では、乱数回路503の反転回路832が極性を反転させた反転クロック信号SI2を生成し、反転クロック信号SI2に同期して乱数の記憶を指示するためのラッチ信号を出力する。そのため、乱数を更新するタイミングと乱数値記憶回路831に乱数を記憶させるタイミングとをずらすことができ、生成した乱数を安定して確実に記憶させることができる。
また、信号伝達される基板IDを暗号化するようにしてもよい。また、基板IDは、主基板31に一意に定められているIDであったが、マイクロコンピュータの製造メーカが認証のために許容している複数のIDのうちいずれかであってもよい。複数のIDのうちいずれかである場合には、照合処理を実行する主体(照合機365、演出制御用マイクロコンピュータ)は、マイクロコンピュータの製造メーカが認証のために許容している複数のIDをあらかじめ記憶しておき、受信した基板IDがそのいずれかであるか否かを判定することで、認証するか否かを判定するようにすればよい。
また、上記の各実施の形態では、基板IDの受信の有無や照合結果を報知することによって、主基板31と演出制御基板80との接続状態を遊技店員等が確認するもできるようになる。
また、上記の各実施の形態では、各々を識別可能な複数種類の識別情報を可変表示可能な可変表示手段を備え、あらかじめ定められている可変表示の実行条件が成立した後、可変表示の開始条件の成立にもとづいて可変表示手段にて識別情報の可変表示を開始し、識別情報の可変表示の表示結果が特定の表示結果となったときに遊技者にとって有利な特定遊技状態に移行させる遊技機(以下、機種Aという)を例示したが、本発明による遊技機はそのような遊技機に限定されるものではなく、「識別情報を可変表示可能な可変表示手段」を有さない遊技機にも適用できる。つまり、所定の始動入賞領域への入賞により、可変入賞装置を所定回数開放させ、その開放により可変入賞装置に入賞した遊技媒体が特定領域(V領域)を通過すると特定遊技状態(大当り状態)に制御される遊技機(以下、機種Bという)にも適用することができる。
また、機種Aと機種Bとの混合タイプの機種にも適用することができる。つまり、各々を識別可能な複数種類の識別情報を可変表示可能な可変表示手段を備え、あらかじめ定められている可変表示の実行条件が成立した後、可変表示の開始条件の成立にもとづいて可変表示手段にて識別情報の可変表示を開始し、識別情報の可変表示の表示結果が特定の表示結果となったときに遊技者にとって有利な特定遊技状態に移行させる制御と、識別情報の可変表示の表示結果が特定の表示結果と異なる所定の表示結果(小当り)となったときに可変入賞装置を所定回数開放させ、その開放により可変入賞装置に入賞した遊技媒体が特定領域(V領域)を通過することで特定遊技状態(大当り状態)に移行させる制御とをともに実行する遊技機であってもよい。
なお、上述した各実施の形態では、主基板31からの制御コマンドが演出制御基板80に入力され、演出制御基板80を介してLEDドライバ基板35および音声出力基板70に制御コマンドが入力されるように構成されていたが、他の基板構成であってもよい。例えば、演出制御基板80、LEDドライバ基板35および音声出力基板70が1枚の基板により構成するようにしてもよい。また、例えば、主基板31からの制御コマンドがランプドライバ基板35および音声出力基板70に入力され、LEDドライバ基板35または音声出力基板70を介して制御コマンドが演出制御基板80に入力されるように構成されていてもよい。さらに、LEDドライバ基板35や音声出力基板70をマイクロコンピュータを搭載した基板にしてもよい。
また、上述した各実施の形態では、主基板31に「なりすました」不正回路基板を発見するものとして説明したが、払出制御基板37に「なりすました」不正回路基板を発見するものに適用することも可能である。
図121〜図124は、それぞれ、基板構成の他の例を示すブロック図である。図121〜図124には、主基板31および演出制御に関わる基板のみが示されている。また、図121〜図124において、〇は、基板側コネクタの設置個所を示し、特に、一旦ハーネス側コネクタが差し込まれると、抜くことが不能になるような構造が採用される箇所を示す。ただし、〇で示される全ての箇所のうちの一部においてのみ、そのような構造が採用されていてもよい。
図121に示す演出制御基板80Aは、図25に示された演出制御基板80、音声出力基板70およびLEDドライバ基板35に搭載されていた回路の機能を全て実現する回路が搭載されている基板である。また、図121には、演出制御基板80Aは、主基板31から電力供給を受ける例が示されているが、電源基板910から電力供給を受けるようにしてもよい。また、演出制御基板80Aと主基板31との間に、中継基板が設けられていてもよい。中継基板が設けられている場合には、中継基板の2つのコネクタ(主基板31に接続されるケーブルのコネクタ、および演出制御基板80Aに接続されるケーブルのコネクタ)の設置位置も〇で示される箇所になる。
図122に示す音/LED基板80Bは、図25に示された音声出力基板70およびLEDドライバ基板35に搭載されていた回路の機能を全て実現する回路が搭載されている基板である。図柄制御基板80Cは、図25に示された演出制御基板80に搭載されていた回路の機能を全て実現する回路が搭載されている基板である。なお、音/LED基板80Bと主基板31との間に、中継基板が設けられていなくてもよい。
図123に示す音/図柄制御基板80Dは、図25に示された音声出力基板70および演出制御基板80に搭載されていた回路の機能を全て実現する回路が搭載されている基板である。なお、音/LED基板80Bと主基板31との間に、中継基板が設けられていなくてもよい。
図124に示すLED/図柄制御基板80Eは、図25に示されたLEDドライバ基板35および演出制御基板80に搭載されていた回路の機能を全て実現する回路が搭載されている基板である。なお、音/LED基板80Bと主基板31との間に、中継基板が設けられていなくてもよい。
なお、変動表示装置9、発光体およびスピーカ27等の演出用の電気部品を制御するための基板構成が、図121〜図124に例示された基板構成以外の構成であっても、封止手段(基板側コネクタに差し込まれたハーネス側コネクタを抜けないようにするための手段)は、主基板31にケーブルで直接電気的に接続される他の基板におけるコネクタ設置位置(主基板31と他の基板の双方において)において適用されることが好ましいが、主基板31(基板Aとする。)に接続される他の基板(基板Bとする。)と、基板Bに接続されるさらに他の基板(基板Cとする。)との双方におけるコネクタ設置位置(基板B、Cを接続するケーブルが接続されるコネクタの設置位置)においても適用されることがより好ましい。
また、図125に示すように、図柄基板411と、第1始動口スイッチ14a(または、第1始動口スイッチ14aを搭載した基板)および第2始動口スイッチ14b(または、第2始動口スイッチ14bを搭載した基板)とを、封止状態にすることが可能な1つの収納ケースに収納してもよい。収納ケースは、例えば基板収納ケース200と同様に構成される。また、特別図柄表示器8も収納ケースに収納してもよい。第1始動口スイッチ14aおよび第2始動口スイッチ14bは、大入賞口の近傍に配置されている(図1参照)。特別図柄表示器8が大入賞口の近傍に配置された遊技機では、図柄基板411と、第1始動口スイッチ14aおよび第2始動口スイッチ14bとは全て大入賞口の近傍に配置されるので、それらを1つの収納ケースに収納することが効果的である。入賞が大当りとするか否かの抽選の契機になる第1始動口スイッチ14aおよび第2始動口スイッチ14bは不正行為を受けやすく、それらを図柄基板411や特別図柄表示器8とともに封止状態にすることができるからである。なお、図125には、図121〜図124に示された基板等の一部のみが示されている。
また、遊技制御用マイクロコンピュータ560は、主基板31に搭載されている基板側コネクタからハーネス側コネクタが引き抜かれたときに、その旨を報知するために使用可能な信号を出力するようにしてもよい。図126は、コネクタが引き抜かれたことを検出するための構成を示す説明図である。図126に示す例では、基板側コネクタ901に接続されるハーネス側コネクタ902に接続されているケーブル(ハーネス)における一部の配線911,912が接続されている。そして、主基板31において、配線911,912に接続される基板側コネクタ901のピンが半田付け等で接続される接続箇所921,922のうち一方を接地し、他方を遊技制御用マイクロコンピュータ560に接続する。
なお、図126に示された構成を、主基板31に接続される第2基板や、第2基板に接続される第3基板に適用するなどして、第2基板や第3基板に接続されているハーネス側コネクタが引き抜かれたことを検出し、検出したことを示す信号を、報知のために、遊技機外部に出力したり、報知可能な部品(発光体等)を搭載した基板に出力するようにしてもよい。また、主基板31に接続されているハーネス側コネクタが引き抜かれたことを検出する回路を第2基板や第3基板に設けるなどして、主基板31に接続されているハーネス側コネクタが引き抜かれたことを第2基板や第3基板の側で検出し、検出したことを示す信号を、報知のために出力するようにしてもよい。
基板側コネクタ901とハーネス側コネクタ902とが接続されている状態では、遊技制御用マイクロコンピュータ560に接地レベル(ローレベル)の信号が入力される。基板側コネクタ901からハーネス側コネクタ902が抜き取られると、接続箇所922がオープンになる。その場合、一般に、遊技制御用マイクロコンピュータ560は信号レベルがハイレベルになったと認識する。よって、遊技制御用マイクロコンピュータ560は接続箇所922からの入力信号の信号レベルがハイレベルになった場合に、基板側コネクタ901からハーネス側コネクタ902が抜き取られたと判定する。そのように判定した遊技制御用マイクロコンピュータ560は(具体的にはCPU56)は、遊技機外部に信号を出力するための基板等(例えば、端子板)を介して、コネクタが取り外されたことを示す信号を出力する。また、演出制御用マイクロコンピュータ110に、演出制御コマンドによってコネクタが取り外されたことを示す情報を送信してもよい。その演出制御コマンドを受信した演出制御用マイクロコンピュータ110は、演出用装置(変動表示装置9、スピーカ27、LEDやランプ)で、コネクタが取り外されたことを報知する。
また、遊技機の主電源がオフされたとき(遊技機に対する電力供給が停止したとき)に基板側コネクタ901からハーネス側コネクタ902が抜き取られた場合に、その旨を記憶し、主電源がオンしたときに、記憶にもとづいて、遊技機外部に信号を出力するための基板等(例えば、端子板)を介して、コネクタが取り外されたことを示す信号を出力したり、演出制御用マイクロコンピュータ110に、演出制御コマンドによってコネクタが取り外されたことを示す情報を送信してもよい。
図127は、主電源のオフ時にコネクタが引き抜かれたことを検出するための構成を示す説明図である。図127に示す例では、JKフリップフロップ923が記憶手段として用いられている。JKフリップフロップ923には、例えばRAM55に供給されるバックアップ電源からの電力が分岐して供給されている。また、JKフリップフロップ923Q出力の初期レベルはH(ハイレベル)であるとする。基板側コネクタ901とハーネス側コネクタ902とが接続されている状態では、JKフリップフロップ923のQ出力のレベルは変化しない(HであればHのまま、LであれがLのまま)が、基板側コネクタ901からハーネス側コネクタ902が抜き取られると、Q出力はL(ローレベル)になる。そのときに、主電源がオフしていても同様である。また、ハーネス側コネクタ902が再挿入されてもQ出力は変化しない。よって、遊技制御用マイクロコンピュータ560は、JKフリップフロップ923のQ出力がLになっていたら、基板側コネクタ901からハーネス側コネクタ902が抜き取られたと判定できる。
この場合にも、図127に示された構成を、主基板31に接続される第2基板や、第2基板に接続される第3基板に適用するなどして、第2基板や第3基板に接続されているハーネス側コネクタが引き抜かれたことを検出し、検出したことを示す信号を、報知のために、遊技機外部に出力したり、報知可能な部品(発光体等)を搭載した基板に出力するようにしてもよい。また、主基板31に接続されているハーネス側コネクタが引き抜かれたことを検出する回路を第2基板や第3基板に設けるなどして、主基板31に接続されているハーネス側コネクタが引き抜かれたことを第2基板や第3基板の側で検出し、検出したことを示す信号を、報知のために出力するようにしてもよい。
また、上記の各実施の形態では、以下のように構成されている遊技機も開示されている。
各々を識別可能な複数種類の識別情報(例えば、特別図柄)を可変表示可能な可変表示手段(例えば、特別図柄表示器8)を備え、あらかじめ定められている可変表示の実行条件(例えば、始動入賞口14への遊技球の入賞)が成立した後、可変表示の開始条件(例えば、特別図柄の最終停止および大当たり遊技の終了)の成立にもとづいて識別情報の可変表示を開始し、識別情報の可変表示の表示結果が特定の表示結果(例えば、大当たり図柄)となったときに遊技者にとって有利な特定遊技状態に移行させる遊技機であって、乱数を発生する乱数回路(例えば、乱数回路503)を内蔵し、遊技の進行を制御する遊技制御処理を実行する遊技制御用マイクロコンピュータ(例えば、遊技制御用マイクロコンピュータ560)と、操作に応じて遊技制御処理を中断させるための中断操作信号を出力する遊技中断操作手段(例えば、中断ボタン361)とを搭載した遊技制御基板(例えば、主基板31)を備え、乱数回路は、所定の信号(例えば、クロック信号)の入力にもとづいて、数値データ(例えば、カウント値)を更新可能な所定の範囲において、所定の初期値から所定の最終値まで予め定められた順序に従って数値データを更新する数値更新手段(例えば、カウンタ821)と、数値更新手段によって更新された数値データを乱数値として記憶する乱数記憶手段(例えば、乱数値記憶回路831)とを含み、遊技制御用マイクロコンピュータは、遊技機への電力供給が開始されたときに、乱数回路の初期設定を行う乱数回路初期設定手段(例えば、遊技制御用マイクロコンピュータ560におけるステップS14を実行する部分)と、乱数回路初期設定手段が乱数回路の初期設定を行ったあとに、所定時間ごとにタイマ割込を発生させるための設定をする割込設定手段(例えば、遊技制御用マイクロコンピュータ560におけるステップS15を実行する部分)と、タイマ割込が発生したときに、遊技制御処理(例えば、タイマ割込処理におけるステップS21〜S33(ステップS29を除く)の処理)を含むタイマ割込処理を実行する割込処理実行手段(例えば、遊技制御用マイクロコンピュータ560におけるステップS20〜S35の処理を実行する部分)と、割込処理実行手段によるタイマ割込処理において、可変表示の実行条件が成立したときに、乱数記憶手段が記憶する乱数値を読み出す乱数読出手段(例えば、遊技制御用マイクロコンピュータ560におけるステップS324の処理を実行する部分)と、乱数読出手段によって読み出された乱数値が所定の判定値と合致するか否かを判定することによって、識別情報の可変表示の表示結果を特定の表示結果とするか否かを決定する表示結果決定手段(例えば、遊技制御用マイクロコンピュータ560におけるステップS300の処理を実行する部分)と、遊技制御処理を中断させる遊技制御処理中断手段(例えば、遊技制御用マイクロコンピュータ560におけるステップS85の処理を実行する部分)とを含み、乱数回路初期設定手段は、初期設定において、数値更新手段が更新する数値データの所定の初期値を、遊技制御用マイクロコンピュータ毎に付与された遊技制御用マイクロコンピュータを識別するためのマイコン識別情報(例えば、遊技制御用マイクロコンピュータ560固有のIDナンバ)にもとづいて設定し(例えば、ステップS154bの処理)、遊技制御処理中断手段は、遊技中断操作手段からの中断操作信号の入力に応じて、遊技制御処理を中断させる(例えば、ステップS85のY)ことを特徴とする遊技機。そのような構成によれば、意図的に遊技制御処理を中断させることができ、意図的な中断が不能となっている場合に不正基板が設置されているものとして不正基板を容易に発見することができる。
遊技制御基板が、開封不能な固着手段によって封止された基板ボックス(例えば図70に示す遊技制御基板ボックス)内に収納され、遊技中断操作手段の操作部(例えば中断ボタン361の押下操作部分)が、基板ボックスに形成された開口部(例えば、蓋部31Bに設けられた開口部)に臨ませて設置されている遊技機。そのような構成によれば、遊技中断操作手段からの中断操作信号を不正基板に入力させて遊技を中断させることを防止することができる。
遊技媒体を用いて遊技者が所定の遊技を行うことが可能であり、遊技により払出条件が成立(例えば入賞の発生)したことにもとづいて景品として景品遊技媒体を払い出し、各々を識別可能な複数種類の識別情報(例えば、特別図柄)を可変表示可能な可変表示手段(例えば、特別図柄表示器8)を備え、あらかじめ定められている可変表示の実行条件(例えば、始動入賞口14への遊技球の入賞)が成立した後、可変表示の開始条件(例えば、特別図柄の最終停止および大当たり遊技の終了)の成立にもとづいて識別情報の可変表示を開始し、識別情報の可変表示の表示結果が特定の表示結果(例えば、大当たり図柄)となったときに遊技者にとって有利な特定遊技状態に移行させる遊技機であって、乱数を発生する乱数回路(例えば、乱数回路503)を内蔵し、遊技の進行を制御する遊技制御処理を実行する遊技制御用マイクロコンピュータ(例えば、遊技制御用マイクロコンピュータ560)を搭載した遊技制御基板(例えば主基板31)と、景品遊技媒体の払い出しを行う払出手段(例えば、球払出装置97)と、払出手段を制御する払出制御処理を実行する払出制御マイクロコンピュータ(例えば、払出制御用マイクロコンピュータ370)とを備え、乱数回路は、所定の信号(例えば、クロック信号)の入力にもとづいて、数値データ(例えば、カウント値)を更新可能な所定の範囲において、所定の初期値から所定の最終値まで予め定められた順序に従って数値データを更新する数値更新手段(例えば、カウンタ821)と、数値更新手段によって更新された数値データを乱数値として記憶する乱数記憶手段(例えば、乱数値記憶回路831)とを含み、遊技制御用マイクロコンピュータは、遊技機への電力供給が開始されたときに、乱数回路の初期設定を行う乱数回路初期設定手段(例えば、遊技制御用マイクロコンピュータ560におけるステップS14の処理を実行する部分)と、乱数回路初期設定手段が乱数回路の初期設定を行ったあとに、所定時間ごとにタイマ割込を発生させるための設定をする割込設定手段(例えば、遊技制御用マイクロコンピュータ560におけるステップS15の処理を実行する部分)と、タイマ割込が発生したときに、遊技制御処理(例えば、タイマ割込処理におけるステップS21〜S33(ステップS29を除く)の処理)を含むタイマ割込処理を実行する割込処理実行手段(例えば、遊技制御用マイクロコンピュータ560におけるステップS20〜S35の処理を実行する部分)と、割込処理実行手段によるタイマ割込処理において、可変表示の実行条件が成立したときに、乱数記憶手段が記憶する乱数値を読み出す乱数読出手段(例えば、遊技制御用マイクロコンピュータ560におけるステップS324の処理を実行する部分)と、乱数読出手段によって読み出された乱数値が所定の判定値と合致するか否かを判定することによって、識別情報の可変表示の表示結果を特定の表示結果とするか否かを決定する表示結果決定手段(例えば、遊技制御用マイクロコンピュータ560におけるステップS300の処理を実行する部分)と、払出条件の成立にもとづいて払い出すべき景品遊技媒体の数を特定可能な景品遊技媒体数データを記憶する景品遊技媒体数記憶手段(例えば、遊技制御用マイクロコンピュータ560におけるRAM55)と、景品遊技媒体数記憶手段に景品遊技媒体数データが記憶されていることにもとづいて払出制御マイクロコンピュータに対して景品遊技媒体の払出数を指定するための払出指令信号を、所定の指令条件が成立しているときにオン状態にする払出指令信号出力手段(例えば、遊技制御用マイクロコンピュータ560におけるステップS254,S255の処理を実行する部分)と、払出指令信号出力手段が払出指令信号をオン状態にした後に所定の減算条件が成立すると景品遊技媒体数記憶手段に記憶されている景品遊技媒体数データから払出指令信号で指定した払出数に対応する値を減算する減算処理を行う景品遊技媒体数データ減算手段(例えば、遊技制御用マイクロコンピュータ560におけるステップS261,S262の処理を実行する部分)とを含み、払出制御マイクロコンピュータは、払出指令信号を受信したことにもとづいて、払出指令信号を受信したことを示す受信確認信号をオン状態にする受信確認信号出力手段(例えば、払出制御用マイクロコンピュータ370におけるステップS544,S546の処理を実行する部分)と、払出手段を制御して払出指令信号により指定された払出数の景品遊技媒体を払い出させる払出処理を実行する景品遊技媒体払出制御手段(例えば、払出制御用マイクロコンピュータ370におけるステップS631,S633,S637等の処理を実行する部分)とを含み、景品遊技媒体数データ減算手段は、受信確認信号がオン状態になったことを所定の減算条件の成立として減算処理を行い(例えばステップS261,S262の処理を実行)、乱数回路初期設定手段は、初期設定において、数値更新手段が更新する数値データの所定の初期値を、遊技制御用マイクロコンピュータ毎に付与された遊技制御用マイクロコンピュータを識別するためのマイコン識別情報(例えば、遊技制御用マイクロコンピュータ560固有のIDナンバ)にもとづいて設定し(例えば、ステップS154bの処理を実行)、遊技制御用マイクロコンピュータは、景品遊技媒体数記憶手段に記憶されている景品遊技媒体数データが示す払い出すべき景品遊技媒体の数が所定の異常判定数となったときに、所定の異常報知手段(例えば未払出超過LED362)を制御して異常の発生を報知する(例えば、ステップS174,S175の処理を実行)ことを特徴とする遊技機。そのような構成によれば、異常報知手段による異常の発生の報知によって、払出制御用マイクロコンピュータとの通信が不正基板に搭載されたマイクロコンピュータとの間で実行されていることを報知することができ、不正基板を容易に発見することができるようになる。
遊技制御基板が、開封不能な固着手段によって封止された基板ボックス(例えば図70に示す遊技制御基板ボックス)内に収納され、異常報知手段(例えば未払出超過LED362)は、基板ボックスに収納されている遊技機。そのような構成によれば、不正基板からの信号によって異常報知手段が駆動されることを防止することができる。
割込設定手段が、遊技機への電力供給が開始されたあと、乱数回路初期設定手段が乱数回路の初期設定(例えばステップS14)を行った後に、所定時間毎にタイマ割込を発生させるための設定を行い(例えばステップS14の処理を実行した後にステップS15の処理を実行)、乱数回路初期設定手段が、割込設定手段によってタイマ割込を発生させるための設定がなされたあとに、乱数回路の初期設定を行うように構成されている遊技機。そのような構成によれば、遊技制御処理の実行中に乱数回路の設定が変更されることがないようにすることができ、不正行為を防止することができる。
遊技制御用マイクロコンピュータが、数値更新手段が更新可能な数値データの所定の範囲が異なる乱数回路(例えば、12ビット乱数回路803aと16ビット乱数回路803b)を複数内蔵し、乱数回路初期設定手段が、初期設定において、遊技制御用マイクロコンピュータが内蔵する複数の乱数回路の中から使用可能な乱数回路を設定し(例えば、遊技制御用マイクロコンピュータ560がステップS151の処理を実行する)、乱数回路初期設定手段により使用可能と設定された乱数回路以外の乱数回路の機能を停止させる乱数停止手段(例えば、遊技制御用マイクロコンピュータ560が、ステップS151の処理で使用する乱数回路503を設定すると、使用しないように設定した方の乱数回路のカウンタ821がカウント値Cを更新しないように制御する部分)を備えた遊技機。そのような構成によれば、使用する乱数回路だけを設定することによって、生成する乱数の値の範囲を適切に設定することができる。
乱数回路初期設定手段が、初期設定において、数値データが更新される所定の範囲の最大値としての値が設定される数値最大値レジスタ(例えば、乱数最大値設定レジスタ835)に、数値更新手段により更新可能な数値データの範囲内において所定の最大値(例えば、乱数最大値)を設定し(例えば、遊技制御用マイクロコンピュータ560がステップS152の処理を実行する部分)、数値更新手段は、乱数回路初期設定手段により設定された所定の最大値が、所定の下限値(例えば、12ビット乱数回路803aを設定した場合における「256」)以下であるか否かを判定する設定値判定手段(例えば、遊技制御用マイクロコンピュータ560におけるステップS153bの処理を実行する部分)と、設定値判定手段によって数値最大値レジスタに設定された所定の最大値が所定の下限値以下であると判定されたときに、数値最大値レジスタに、数値更新手段により更新可能な数値データの範囲内の所定値(例えば、12ビット乱数回路803aを設定した場合における「4095」)を設定しなおす最大値再設定手段(例えば、遊技制御用マイクロコンピュータ560におけるステップS153cを実行する部分)とを含む遊技機。そのような構成によれば、遊技制御用マイクロコンピュータの誤動作や、無線信号を用いた取り込み信号を遊技機に対して発生させるなどの行為によって、過度に小さい値が乱数の最大値として設定されてしまうことを防止することができる。
所定周期のクロック信号を生成し、乱数回路に出力するクロック信号生成手段(例えば、クロック回路801)を備え、数値更新手段が、クロック信号を所定回数入力したことを条件に、数値データを更新し(例えば、クロック信号出力回路824が基準クロック信号CLKを16分周した乱数発生用クロック信号SIを入力すると、カウンタ821がカウント値Cを更新する部分)、乱数回路初期設定手段が、初期設定において、数値更新手段が数値データを更新する条件であるクロック信号の入力回数を設定する(例えば、遊技制御用マイクロコンピュータ560がステップS156の処理を実行する)ように構成された遊技機。そのような構成によれば、乱数回路が生成する乱数のランダム性をより向上させることができる。
遊技制御用マイクロコンピュータが、乱数回路初期設定手段によって設定される数値データの所定の初期値を、マイコン識別情報を用いて演算する数値演算手段(例えば、遊技用マイクロコンピュータにおけるステップS154bの処理を実行する際に、遊技制御用マイクロコンピュータ560のIDナンバと所定値とを演算して(例えば、IDナンバに所定値を加算して)演算値を求める部分)を含み、乱数回路初期設定手段は、数値演算手段による演算によって算出された値にもとづいて初期値を設定する(例えば、遊技用マイクロコンピュータがステップS154bの処理を実行する際に、求めた演算値をカウント値の初期値として設定する)ように構成された遊技機。そのような構成によれば、乱数回路が生成する乱数のランダム性をより向上させることができる。
乱数回路初期設定手段が、初期設定において、数値更新手段によって所定の最終値まで数値データが更新されたときに、乱数回路初期設定手段が設定した所定の初期値を変更するか否かを設定し(例えば、遊技制御用マイクロコンピュータ560がステップS157の処理を実行する)、乱数回路が、数値更新手段によって所定の最終値まで数値データが更新されたきに、数値データが所定の最終値まで更新された旨を示す通知信号を出力する通知信号出力手段(例えば、カウンタ821の出力端子)と、通知信号が出力されたことにもとづいて、乱数回路初期設定手段によって初期値を変更する設定がされているときに、所定の初期値の値を変更する初期値変更手段(例えば、遊技制御用マイクロコンピュータ560におけるステップS220〜S226の処理を実行する部分)とを含むように構成された遊技機。そのような構成によれば、乱数回路が生成する乱数のランダム性をより向上させることができる。
遊技領域における入賞領域(例えば、始動入賞口14)に遊技媒体が入賞し、可変表示の実行条件が成立したことを検出して入賞検出信号(例えば、入賞検出信号SS)を出力する入賞検出手段(例えば、始動口スイッチ14a)を備え、乱数回路が、入賞検出手段からの入賞検出信号が入力されたことにもとづいて、数値更新手段が更新する数値データを乱数記憶手段に記憶させる指示をするためのラッチ信号を出力するラッチ信号出力手段(例えば、ラッチ信号生成回路833)を含み、ラッチ信号出力手段が、入賞検出手段から入賞検出信号が所定期間継続して入力されたことを条件(例えば、タイマ回路834が所定期間(例えば、3ms)を計測したときに、乱数値読取信号出力回路826から出力される乱数値読取信号を入力したこと)に、ラッチ信号を出力する(例えば、ラッチ信号生成回路833が、乱数値読取信号出力回路826から出力される乱数値読取信号を、反転回路832から出力される反転クロック信号SI2の立ち上がりエッヂに同期させて、ラッチ信号SLとして乱数値記憶回路831に出力する部分)ように構成された遊技機。そのような構成によれば、ノイズの発生を入力検出信号の入力と誤認識してラッチ信号を出力し、生成した乱数を記憶してしまうことを防止できる。また、無線信号を用いた取り込み信号を遊技機に対して発生させるなどの行為によってラッチ信号が出力され、不正なラッチ信号によって生成された乱数を記憶させられてしまう可能性を低減することができる。
遊技領域における入賞領域に遊技媒体が入賞し、可変表示の実行条件が成立したことを検出して入賞検出信号を出力する入賞検出手段(例えば、始動口スイッチ14a)を備え、乱数回路が、入賞検出手段からの入賞検出信号が入力されたことにもとづいて、数値更新手段が更新する数値データを乱数記憶手段に記憶させる指示をするためのラッチ信号を出力するラッチ信号出力手段(例えば、ラッチ信号生成回路833)を含み、ラッチ信号出力手段が、入賞検出手段から入賞検出信号が所定期間継続して入力されたことを条件に、ラッチ信号を出力し(例えば、ラッチ信号生成回路833が、乱数値読取信号出力回路826から出力される乱数値読取信号を、反転回路832から出力される反転クロック信号SI2の立ち上がりエッヂに同期させて、ラッチ信号SLとして乱数値記憶回路831に出力する部分)、乱数読出手段が、割込処理実行手段によってタイマ割込処理が所定回数実行される間継続して、入賞検出手段から入賞検出信号が入力されたことを条件(例えば、遊技制御用マイクロコンピュータ560によるステップS322の処理の実行の際に、割込回数カウンタに示されるタイマ割込処理の実行回数が所定回数(例えば、3回)に達していること)に、乱数記憶手段が記憶する乱数値を読み出し(例えば、CPU56が、乱数回路503の乱数値記憶回路831から、乱数値として記憶されているランダムRの値を読み出し)、所定期間(例えば、3ms)は所定回数のタイマ割込処理が実行される期間(例えば、6ms)よりも短くなるように構成された遊技機。そのような構成によれば、乱数を読み出してから、乱数記憶手段に記憶される乱数の値が更新される前に再び乱数を読み出してしまうことを防止することができる。そのため、前回乱数記憶手段から読み出した乱数と同じ値の乱数を再び読み出してしまうことを防止することができる。乱数回路が生成する乱数のランダム性をより向上させることができる。
乱数回路初期設定手段が、初期設定において、数値更新手段が更新する数値データの所定の初期値から所定の最終値までの値の並び順(例えば、カウンタ821が更新するカウント値Cの順列)を変更するか否かを設定する数値順設定手段(例えば、遊技制御用マイクロコンピュータ560におけるステップS158の処理を実行する部分)を含み、乱数回路が、数値更新手段によって所定の最終値まで数値データが更新されたときに、数値データが所定の最終値まで更新された旨を示す通知信号を出力する通知信号出力手段(例えば、カウンタ821の出力端子)と、通知信号が出力されたことにもとづいて、乱数回路初期設定手段によって、数値データの所定の初期値から所定の最終値までの並び順を変更する設定がされているときに、数値更新手段が更新する数値データの所定の初期値から所定の最終値までの並び順を変更する数値順変更手段(例えば、遊技制御用マイクロコンピュータ560におけるステップS24を実行する部分)とを含むように構成された遊技機。そのような構成によれば、乱数回路が生成する乱数のランダム性をより向上させることができる。
遊技者が所定の遊技を行うことが可能な遊技機であって、遊技の進行を制御する遊技制御処理(例えば、タイマ割込処理におけるステップS21〜S33(ステップS29を除く)の処理)を実行する遊技制御用マイクロコンピュータ(例えば、遊技制御用マイクロコンピュータ560)を搭載した遊技制御基板(例えば、主基板31)と、遊技制御用マイクロコンピュータからのコマンドにもとづいて演出手段(例えば、演出表示装置9、スピーカ27、ランプ25等)を制御する演出制御用マイクロコンピュータ(例えば演出制御基板80に搭載されたマイクロコンピュータ)を搭載した演出制御基板(例えば演出制御基板80)とを備え、遊技制御基板には、遊技制御用マイクロコンピュータの認証用情報(例えば、遊技制御用マイクロコンピュータ560固有のIDナンバ)を照合して正否を判定する照合機(例えば照合機365)に対し認証用情報を出力するための照合端子(例えば照合端子364)が設けられ、遊技制御用マイクロコンピュータは、照合機に対して照合端子を介して認証用情報を送信する第1認証情報送信手段(例えば、遊技制御用マイクロコンピュータ560におけるステップS81の処理を実行する部分)と、演出制御用マイクロコンピュータに対して認証用情報を送信する第2認証情報送信手段(例えば、遊技制御用マイクロコンピュータ560におけるステップS82の処理を実行する部分)とを含み、演出制御用マイクロコンピュータは、認証用情報にもとづいて遊技制御基板を認証するか否か判定する認証判定手段(例えば、演出制御用マイクロコンピュータにおけるステップS929の処理を実行する部分)とを有し、演出制御用マイクロコンピュータは、認証用情報が受信されていないとき、あるいは認証判定手段が認証しないと判定したときは(例えば、ステップS929の処理による照合の結果が不一致であったとき)、遊技制御基板を認証しない旨の報知(例えばステップS930の処理で「照合NG」を表示)または動作停止状態とする制御(例えばステップS932)の少なくとも一方を行うことを特徴とする遊技機。そのような構成によれば、第2認証情報送信手段に認証用情報を送信させるようにすることによって、不正回路基板が設置されていることを容易に発見することができる。
第2認証情報送信手段が、遊技機への電力供給が開始されたときに、演出制御用マイクロコンピュータに対して認証用情報を送信し(例えばステップS82の処理を実行)、演出制御用マイクロコンピュータが、例えば認証情報を受信する認証用情報受信手段によって認証用情報が受信されるまで、遊技制御基板を認証しない旨の報知(例えばステップS701の処理で「照合NG」の表示を開始し、ステップS929の処理で「照合OK」と判定されたときに「照合NG」の表示を終了し「照合OK」の表示を行う。)または動作停止状態(例えばステップS932)とする制御の少なくとも一方を行うように構成された遊技機。そのような構成によれば、遊技機への電力供給が開始される毎に、不正回路基板が設置されているか否かを判定することができる。
遊技球を用いて遊技者が所定の遊技を行うことが可能な遊技機であって、遊技球が所定の入賞領域(例えば始動入賞口14)に入賞したことを検出したときに入賞検出信号を出力する入賞検出手段(例えば始動口スイッチ14a)と、遊技の進行を制御する遊技制御処理(例えば、タイマ割込処理におけるステップS21〜S33(ステップS29を除く)の処理)を実行する遊技制御用マイクロコンピュータ(例えば、遊技制御用マイクロコンピュータ560)と、入賞検出手段からの入賞検出信号を入力する入力回路(例えば入力ドライバ回路58)とを搭載した遊技制御基板(例えば主基板31)とを備え、遊技制御基板には、遊技制御用マイクロコンピュータの認証用情報(例えば、遊技制御用マイクロコンピュータ560固有のIDナンバ)を照合して正否を判定する照合機(例えば照合機365)に対し認証用情報を出力するための照合端子(例えば照合端子364)が設けられ、遊技制御用マイクロコンピュータは、照合機に対して照合端子を介して認証用情報を送信する認証情報送信手段(例えば、遊技制御用マイクロコンピュータ560におけるステップS320の処理を実行する部分)を含み、認証情報送信手段は、入力回路に入賞検出手段からの入賞検出信号が入力されたことを条件(例えばステップS311のY)に、認証用情報を送信する(例えばステップS320)ことを特徴とする遊技機。そのような構成によれば、入賞検出手段に遊技媒体を検出させて認証情報送信手段に認証用情報を送信させるようにすることによって、不正回路基板が設置されていることを容易に発見することができる。
また、上述したように、主基板31は基板ボックスに収納されているが、なりすまし基板(不正基板)は、本来の主基板31と同等の機能を備えている上に、主基板31よりも小型に形成されている。従って、発見が難しい。また、不正に大当りを生じさせるような機能を備えていることもある。そして、本来主基板31に接続されるべき電気部品や他の基板が、なりすまし基板に接続され、主基板31に代わって遊技制御処理を実行する。すなわち、主基板31と電気部品や他の基板とを接続するケーブルのコネクタを外し、なりすまし基板側に接続する。そこで、上記のような対策に加えて、なりすまし基板の発見を容易にするために、以下のような対策を施すことが望ましい。
(1)基板ボックス内にスピーカを搭載し、そのスピーカを演出に用いる。スピーカから出力される音が演出とずれている場合には、なりすまし基板が存在していると推定できる。
(2)主基板31にテスト用スイッチを搭載し、テスト用スイッチが押下された場合には、他の電気部品制御基板にテストコマンドを送信するように構成する。テスト用スイッチを押下してもテストコマンドが送信されない場合には、主基板31に代わってなりすまし基板が遊技制御処理を行っている可能性がある。
(3)主基板31において、コネクタ外れを検出して報知する機能を搭載する。報知がなされた場合には、主基板31に代わってなりすまし基板が遊技制御処理を行っている可能性がある。
(4)基板ボックス内に入賞に応じて報知を行う報知機器を搭載する。入賞が生じているにも関わらず報知がなされない場合には、主基板31に代わってなりすまし基板が遊技制御処理を行っている可能性がある。
(5)遊技制御用マイクロコンピュータ560の照合検査において、遊技制御用マイクロコンピュータ560に対する入力信号がないと照合NG信号を出力するように構成する。入賞を生じさせつつ照合検査を行ったときに照合NG信号が出力されたら、主基板31に代わってなりすまし基板が遊技制御処理を行っている可能性がある。
(6)主基板31と電気部品や他の基板とを接続するケーブル長をできるだけ短くしておく。ケーブル長に余裕が生じていたら、主基板31に代わってなりすまし基板が遊技制御処理を行っている可能性がある。
(7)主基板31と電気部品や他の基板とを接続するケーブルを、主基板31の裏面を通らないように設置する。ケーブルが主基板31の裏に隠れていたら、主基板31に代わってなりすまし基板が遊技制御処理を行っている可能性がある。
(8)主基板31と電気部品や他の基板とを接続するケーブルのコネクタを容易に外せない構造にする。コネクタに外れた痕跡が残っていれば、ケーブルが主基板31の裏に隠れていたら、主基板31に代わってなりすまし基板が遊技制御処理を行っている可能性がある。
(9)基板ボックスと取付面との間の隙間をなくす。基板ボックスが裏側に出ていたら、主基板31に代わってなりすまし基板が遊技制御処理を行っている可能性がある。
(10)遊技機裏面において各基板を覆うようなカバーを設け、カバーが容易に外れない構造にする。カバーが外れた痕跡があれば、主基板31に代わってなりすまし基板が遊技制御処理を行っている可能性がある。