(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下、本発明に係る遊技機の実施の形態としてパチンコ遊技機を例に挙げ、次の順序で説明する。
<1.パチンコ遊技機の構造>
<2.パチンコ遊技機の制御構成>
<3.主制御部の構成>
<4.シリアル通信回路の構成>
<5.実施の形態の制御処理>
[5−1:メイン処理]
[5−2:タイマ割込処理]
[5−3:コマンド送信に関する処理]
<6.まとめ及び変形例>
【0011】
<1.パチンコ遊技機の構造>
まず
図1、
図2を参照して、本発明の実施の形態としてのパチンコ遊技機1の構成を概略的に説明する。
図1は実施の形態のパチンコ遊技機1の外観を示す正面側の斜視図であり、
図2は遊技盤の正面図である。
図1,
図2に示すパチンコ遊技機1は、主に「枠部」と「遊技盤部」から成る。
「枠部」は以下説明する前枠2,外枠4、ガラス扉5、操作パネル7を有して構成される。「遊技盤部」は
図2の遊技盤3から成る。以下の説明上で、「枠部」「枠側」とは前枠2,外枠4、ガラス扉5、操作パネル7の総称とする。また「盤部」「盤側」とは遊技盤3を示す。
【0012】
図1に示すようにパチンコ遊技機1は、木製の外枠4の前面に額縁状の前枠2が開閉可能に取り付けられている。図示していないが、この前枠2の裏面には遊技盤収納フレームが形成されており、その遊技盤収納フレーム内に
図2に示す遊技盤3が装着される。これにより遊技盤3の表面に形成した遊技領域3aが前枠2の開口部2aから
図1のパチンコ遊技機1前面側に臨む状態となる。
なお遊技領域3aの前側には、透明ガラスを支持したガラス扉5が設けられており、遊技領域3aは透明ガラスを介して前面の遊技者側に表出される。
【0013】
ガラス扉5は軸支機構6により前枠2に対して開閉可能に取り付けられている。そしてガラス扉5の所定位置に設けられた図示しない扉ロック解除用キーシリンダを操作することで、前枠2に対するガラス扉5のロック状態を解除し、ガラス扉5を前側に開放できる構造とされている。また扉ロック解除用キーシリンダの操作によっては、外枠4に対する前枠2のロック状態も解除可能な構成とされている。
またガラス扉5の前面側には、枠側の発光手段として装飾ランプ20wが各所に設けられている。装飾ランプ20wは、例えばLEDによる発光動作として、演出用の発光動作、エラー告知用の発光動作、動作状態に応じた発光動作などを行う。
【0014】
ガラス扉5の下側には操作パネル7が設けられている。この操作パネル7も、図示しない軸支機構により、前枠2に対して開閉可能とされている。
操作パネル7には、上受け皿ユニット8、下受け皿ユニット9、発射操作ハンドル10が設けられている。
【0015】
上受け皿ユニット8には、弾球に供される遊技球を貯留する上受け皿8aが形成されている。下受け皿ユニット9には、上受け皿8aに貯留しきれない遊技球を貯留する下受け皿9aが形成されている。
また上受け皿ユニット8には、上受け皿8aに貯留された遊技球を下受け皿9a側に抜くための球抜きボタン16が設けられている。下受け皿ユニット9には、下受け皿9aに貯留された遊技球をパチンコ遊技機1下方に抜くための球抜きレバー17が設けられている。
また上受け皿ユニット8には、図示しない遊技球貸出装置に対して遊技球の払い出しを要求するための球貸しボタン14と、遊技球貸出装置に挿入した有価価値媒体の返却を要求するためのカード返却ボタン15とが設けられている。
さらに上受け皿ユニット8には、パトライトスイッチ11、演出ボタン12、十字キー13が設けられている。パトライトスイッチ11や演出ボタン12は、所定の入力受付期間中に内蔵ランプが点灯されて操作可能となり、その内蔵ランプ点灯時に押下することにより演出に変化をもたらすことができる押しボタンとされる。また十字キー13は遊技者が演出状況に応じた操作や演出設定等のための操作を行う操作子である。
【0016】
発射操作ハンドル10は操作パネル7の右端部側に設けられ、遊技者が弾球のために
図3に示す発射装置56を作動させる操作子である。
また前枠2の上部の両側と、発射操作ハンドル10の近傍には、演出音を音響出力するスピーカ25が設けられている。
【0017】
次に
図2を参照して、遊技盤3の構成について説明する。遊技盤3は、略正方形状の木製合板または樹脂板を主体として構成されている。この遊技盤3には、発射された遊技球を案内する球誘導レール31が盤面区画部材として環状に装着されており、この球誘導レール31に取り囲まれた略円形状の領域が遊技領域3aとなっている。
【0018】
この遊技領域3aの略中央部には、主液晶表示装置32M(LCD:Liquid Crystal Display)が設けられ、また主液晶表示装置32Mの右側には副液晶表示装置32Sが設けられている。
主液晶表示装置32Mでは、後述する演出制御部51の制御の下、背景画像上で、例えば左、中、右の3つの装飾図柄の変動表示が行われる。また通常演出、リーチ演出、スーパーリーチ演出などの各種の演出画像の表示も行われる。副液晶表示装置32Sも、同様に各種演出に応じた表示が行われる。
【0019】
また遊技領域3a内には、主液晶表示装置32M及び副液晶表示装置32Sの表示面の周囲を囲むように、センター飾り35Cが設けられている。
センター飾り35Cは、そのデザインにより装飾効果を発揮するだけでなく、周囲の遊技球から主液晶表示装置32M及び副液晶表示装置32Sの表示面を保護する作用を持つ。さらにセンター飾り35Cは、遊技球の打ち出しの強さまたはストローク長による遊技球の流路の左右打ち分けを可能とする部材としても機能する。すなわち球誘導レール31を介して遊技領域3a上部に打ち出された遊技球の流下経路は、センター飾り35Cによって分割された左遊技領域3bと右遊技領域3cのいずれかを流下することとなる。いわゆる左打ちの場合、遊技球は左遊技領域3bを流下していき、右打ちの場合、遊技球は右遊技領域3cを流下していく。
【0020】
また左遊技領域3bの下方には、左下飾り35Lが設けられ、装飾効果を発揮するとともに左遊技領域3bとしての範囲を規定する。
同様に右遊技領域3cの下方には右下飾り35Rが設けられ、装飾効果を発揮するとともに左遊技領域3bとしての範囲を規定する。
なお、遊技領域3a(左遊技領域3b及び右遊技領域3c)内には、所要各所に釘49や風車47が設けられて遊技球の多様な流下経路を形成する。
また主液晶表示装置32Mの下方にはセンターステージ35Sが設けられており、装飾効果を発揮するとともに、遊技球の遊動領域として機能する。
なお図示していないが、センター飾り35Cには、適所に視覚的演出効果を奏する可動体役物が設けられている。
【0021】
遊技領域3aの右上縁付近には、複数個のLEDを配置して形成されたドット表示器による図柄表示部33が設けられている。
この図柄表示部33では、所定のドット領域により、第1特別図柄表示部、第2特別図柄表示部、及び普通図柄表示部が形成され、第1特別図柄、第2特別図柄、及び普通図柄のそれぞれの変動表示動作(変動開始および変動停止を一セットする変動表示動作)が行われる。
なお、上述した主液晶表示装置32Mは、図柄表示部33による第1、第2特別図柄の変動表示と時間的に同調して、画像による装飾図柄を変動表示する。
【0022】
センター飾り35Cの下方には、上始動口41(第1の特別図柄始動口)を有する入賞装置が設けられ、さらにその下方には下始動口42a(第2の特別図柄始動口)を備える普通変動入賞装置42が設けられている。
上始動口41及び下始動口42aの内部には、遊技球の通過を検出する検出センサ(
図3に示す上始動口センサ71,下始動口センサ72)が形成されている。
【0023】
上始動口41は、図柄表示部33における第1特別図柄の変動表示動作の始動条件に係る入賞口で、始動口開閉手段(始動口を開放または拡大可能にする手段)を有しない入賞率固定型の入賞装置となっている。
【0024】
下始動口42aを有する普通変動入賞装置42は、始動口開閉手段により始動口の遊技球の入賞率を変動可能な入賞率変動型の入賞装置として構成されている。すなわち下始動口42aを開放または拡大可能にする左右一対の可動翼片(可動部材)42bを備えた、いわゆる電動チューリップ型の入賞装置である。
この普通変動入賞装置42の下始動口42aは、図柄表示部33における第2特別図柄の変動表示動作の始動条件に係る入賞口である。そして、この下始動口42aの入賞率は可動翼片42bの作動状態に応じて変動する。すなわち可動翼片42bが開いた状態では、入賞が容易となり、可動翼片42bが閉じた状態では、入賞が困難又は不可能となるように構成されている。
【0025】
また普通変動入賞装置42の左右には、一般入賞口43が複数個設けられている。各一般入賞口42の内部には、遊技球の通過を検出する検出センサ(
図3に示す一般入賞口センサ74)が形成されている。
また右遊技領域3cの下部側には、遊技球が通過可能なゲート(特定通過領域)からなる普通図柄始動口44が設けられている。この普通図柄始動口44は、図柄表示部33における普通図柄の変動表示動作に係る入賞口であり、その内部には、通過する遊技球を検出するセンサ(
図3に示すゲートセンサ73)が形成されている。
【0026】
右遊技領域3c内の普通図柄始動口44から普通変動入賞装置42へかけての流下経路途中には第1特別変動入賞装置45(特別電動役物)が設けられている。
第1特別変動入賞装置45は、突没式の開放扉45bにより第1大入賞口45aを閉鎖/開放する構造とされている。また、その内部には第1大入賞口45aへの遊技球の通過を検出するセンサ(
図3の第1大入賞口センサ75)が形成されている。
第1大入賞口45aの周囲は、右下飾り35Rが遊技盤3の表面から膨出した状態となっており、その膨出部分の上辺及び開放扉45bの上面が右流下経路3cの下流案内部を形成している。従って、開放扉45bが盤内部側に引き込まれることで、下流案内部に達した遊技球は容易に第1大入賞口45aに入る状態となる。
【0027】
また普通変動入賞装置42の下方には、第2特別変動入賞装置46(特別電動役物)が設けられている。第2特別変動入賞装置46は、下部が軸支されて開閉可能な開放扉46bにより、その内側の第2大入賞口46aを閉鎖/開放する構造とされている。また、その内部には第2大入賞口46aへの遊技球の通過を検出するセンサ(
図3の第2大入賞口センサ76)が形成されている。
開放扉46bが開かれることで第2大入賞口46aが開放される。この状態では、左遊技領域3b或いは右遊技領域3cを流下してきた遊技球は、高い確率で第2大入賞口50に入ることとなる。
【0028】
以上のように盤面の遊技領域には、入賞口として上始動口41、下始動口42a、普通図柄始動口44、第1大入賞口45a、第2大入賞口46a、一般入賞口43が形成されている。
本実施の形態のパチンコ遊技機1においては、これら入賞口のうち、普通図柄始動口44以外の入賞口への入賞があった場合には、各入賞口別に設定された入賞球1個当りの賞球数が遊技球払出装置55(
図3参照)から払い出される。
例えば、上始動口41および下始動口42aは3個、第1大入賞口45a、第2大入賞口46aは13個、一般入賞口43は10個などと賞球数が設定されている。
なお、これらの各入賞口に入賞しなかった遊技球は、アウト口48を介して遊技領域3aから排出される。
ここで「入賞」とは、入賞口がその内部に遊技球を取り込んだり、ゲートを遊技球が通過したりすることをいう。実際には入賞口ごとに形成されたセンサ(各入賞検出スイッチ)により遊技球が検出された場合、その入賞口に「入賞」が発生したものとして扱われる。この入賞に係る遊技球を「入賞球」とも称する。
【0029】
以上のような盤面において、センター飾り35C、左下飾り35L、右下飾り35R、センターステージ35S、第1特別変動入賞装置45、第2特別変動入賞装置46、さらには図示していない可動体役物には、詳細には図示していないが各所に、盤側の発光手段として装飾ランプ20bが設けられている。
装飾ランプ20bは、例えばLEDによる発光動作として、演出用の発光動作、エラー告知用の発光動作、動作状態に応じた発光動作などを行う。
【0030】
<2.パチンコ遊技機の制御構成>
次に本実施の形態のパチンコ遊技機1の制御系の構成について説明する。
図3はパチンコ遊技機1の内部構成の概略的なブロック図である。
本実施の形態のパチンコ遊技機1は、その制御構成を形成する基板として主に、主制御基板50、演出制御基板51、液晶制御基板52、払出制御基板53、発射制御基板54、電源基板58が設けられている。
【0031】
主制御基板50は、マイクロコンピュータ等が搭載され、パチンコ遊技機1の遊技動作全般に係る統括的な制御を行う。なお以下では、主制御基板50に搭載されたマイクロコンピュータ等を含めて主制御基板50の構成体を「主制御部50」と表記する。
演出制御基板51は、マイクロコンピュータ等が搭載され、主制御部50から演出制御コマンドを受けて、画像表示、発光、音響出力を用いた各種の演出動作を実行させるための制御を行う。なお以下では、演出制御基板51に搭載されたマイクロコンピュータ等を含めて演出制御基板51の構成体を「演出制御部51」と表記する。
【0032】
液晶制御基板52はマイクロコンピュータやビデオプロセッサ等が搭載され、演出制御部51からの表示制御コマンドを受けて、主液晶表示装置32M、副液晶表示装置32Sによる表示動作の制御を行う。
なお主液晶表示装置32M、副液晶表示装置32Sによる表示動作の制御を行う液晶制御基板として、主液晶制御基板、副液晶制御基板を独立して設けてもよい。
【0033】
払出制御基板53は、マイクロコンピュータ等が搭載され、主制御部50から払出制御コマンドを受けて、遊技球払出装置55による賞球の払い出し制御を行う。なお以下では、払出制御基板51に搭載されたマイクロコンピュータ等を含めて払出制御基板53の構成体を「払出制御部53」と表記する。
本実施の形態では、払出制御部53は、遊技球払出装置55により実際に賞球を払い出す動作の制御を行うものとするが、払出制御部53は、実際の賞球の払出し制御を行わずに遊技者の持ち球数をカウントする処理を行うようにしてもよい。例えば遊技球の払出を行わないいわゆる封入式遊技機の場合、遊技終了時に持ち球データをカード等に記録して精算を行うことになる。このために必要な持ち球のカウント処理を行うようにする。
【0034】
発射制御基板54は、パチンコ遊技機1に設けられている発射装置56による遊技球の発射動作の制御を行う。
電源基板58は、外部電源(例えばAC24V)からAC/DC変換、さらにはDC/DC変換を行い、各部に動作電源電圧Vccを供給する。なお電源経路の図示は省略している。
【0035】
まず主制御部50及びその周辺回路について述べる。
主制御部50は、CPU100(以下「主制御CPU100」と表記)を内蔵したマイクロプロセッサ、ROM101(以下「主制御ROM101」と表記)、RAM102(以下「主制御RAM102」と表記)を搭載し、マイクロコンピュータを構成している。
主制御CPU100は制御プログラムに基づいて、遊技の進行に応じた各種演算及び制御処理を実行する。
主制御ROM101は、主制御CPU100による遊技動作の制御プログラムや、遊技動作制御に必要な種々のデータを記憶する。
主制御RAM102は、主制御CPU100が各種演算処理に使用するワークエリアや、各種入出力データや処理データのバッファ領域として用いられる。
なお
図4で後述するが、主制御部50は、各部とのインターフェース回路(外部バスI/F109等)、乱数を生成する乱数回路104、各種の時間計数のためのCTC(Counter Timer Circuit:タイマ回路106)、主制御CPU100に割込み信号を与える割込コントローラ105なども備えている。
また、主制御RAM102は、主制御部50に形成された不図示のバックアップ用電源端子に別途電源が供給されていることで、主制御部50の電源切断後もデータを保持するようにされている。
【0036】
主制御部50は、上述のように盤面の遊技領域の各入賞手段(上始動口41、下始動口42a、普通図柄始動口44、第1大入賞口45a、第2大入賞口46a、一般入賞口43)に設けられるセンサの検出信号を受信する構成となっている。
すなわち、上始動口センサ71、下始動口センサ72、ゲートセンサ73、一般入賞口センサ74、第1大入賞口センサ75、第2大入賞口センサ76のそれぞれの検出信号が主制御部50に供給される。
なお、これらのセンサ(71〜76)は、入球した遊技球を検出する検出スイッチにより構成されるが、具体的にはフォトスイッチや近接スイッチなどの無接点スイッチや、マイクロスイッチなどの有接点スイッチで構成することができる。
【0037】
主制御部50は、上始動口センサ71、下始動口センサ72、ゲートセンサ73、一般入賞口センサ74、第1大入賞口センサ75、第2大入賞口センサ76のそれぞれの検出信号の受信に応じて、処理を行う。例えば抽選処理、図柄変動制御、賞球払出制御、演出制御コマンド送信制御、外部データ送信処理などを行う。
【0038】
また主制御部50には、下始動口42の可動翼片42bを開閉駆動する普通電動役物ソレノイド77が接続され、主制御部50は遊技進行状況に応じて制御信号を送信して普通電動役物ソレノイド77の駆動動作を実行させ、可動翼片42bの開閉動作を実行させる。
さらに、主制御部50には、第1大入賞口45の開放扉45bを開閉駆動する第1大入賞口ソレノイド78と、第2大入賞口46の開放扉46bを開閉駆動する第2大入賞口ソレノイド79が接続されている。主制御部50は、いわゆる大当たり状況に応じて、第1大入賞口ソレノイド78又は第2大入賞口ソレノイド79を駆動制御して、第1大入賞口45又は第2大入賞口46の開放動作を実行させる。
【0039】
また主制御部50には、図柄表示部33が接続されており、図柄表示部33に制御信号を送信して、各種図柄表示(LEDの消灯/点灯/点滅)を実行させる。これにより図柄表示部33における第1特別図柄表示部80、第2特別図柄表示部81、普通図柄表示部82での表示動作が実行される。
【0040】
また主制御部50には、枠用外部端子基板57が接続される。主制御部50は、遊技進行に関する情報を、枠用外部端子基板57を介して図示しないホールコンピュータに送信可能となっている。遊技進行に関する情報とは、例えば大当り当選情報、賞球数情報、図柄変動表示実行回数情報などの情報である。ホールコンピュータとは、パチンコホールのパチンコ遊技機1を統括的に管理する管理コンピュータであり、パチンコ遊技機1外部に設置されている。
【0041】
また主制御部50には、払出制御部(払出制御基板)53が接続されている。払出制御部53は、図示しないCPUを内蔵したマイクロプロセッサ、ROM、RAMを搭載し、マイクロコンピュータを構成している。
この払出制御部53には、発射装置56を制御する発射制御基板54と、遊技球の払い出しを行う遊技球払出装置55が接続されている。
主制御部50は、払出制御部53に対し、払い出しに関する制御コマンド(賞球数を指定する払出制御コマンド)を送信する。払出制御部53は当該制御コマンドに応じて遊技球払出装置55を制御し、遊技球の払い出しを実行させる。
また払出制御部53は、主制御部50に対して、払い出し動作状態に関する情報(払出状態信号)を送信可能となっている。主制御部50側では、この払出状態信号によって、遊技球払出装置55が正常に機能しているか否かを監視する。具体的には、賞球の払い出し動作の際に、玉詰まりや賞球の払い出し不足といった不具合が発生したか否かを監視している。
【0042】
また主制御部50は、特別図柄変動表示に関する情報を含む演出制御コマンドを、演出制御部51に送信する。なお、主制御部50から演出制御部51への演出制御コマンドの送信は一方向通信により実行されるようにしている。これは、外部からの不正行為による不正な信号が演出制御部51を介して主制御部50に入力されることを防止するためである。
【0043】
続いて演出制御部51及びその周辺回路について説明する。
演出制御部51は、CPU200(以下「演出制御CPU200」と表記)を内蔵したマイクロプロセッサ、ROM201(以下「演出制御ROM201」と表記)、RAM202(以下「演出制御RAM202」と表記)を搭載し、マイクロコンピュータを構成している。
演出制御CPU200は演出制御プログラム及び主制御部50から受信した演出制御コマンドに基づいて、各種演出動作のための演算処理や各演出手段の制御を行う。演出手段とは、本実施の形態のパチンコ遊技機1の場合、主液晶表示装置32M、副液晶表示装置32S、装飾ランプ20w、20b、スピーカ59及び図示を省略した可動体役物となる。
演出制御ROM201は、演出制御CPU200による演出動作の制御プログラムや、演出動作制御に必要な種々のデータを記憶する。
演出制御RAM202は、演出制御CPU200が各種演算処理に使用するワークエリアや、テーブルデータ領域、各種入出力データや処理データのバッファ領域などとして用いられる。
なお図示は省略したが、演出制御部51は、各部とのインターフェース回路、演出のための抽選用乱数を生成する乱数生成回路、各種の時間計数のためのCTC、演出制御CPU200に割込み信号を与える割込コントローラ回路なども備えている。
この演出制御部51の主な役割は、主制御部50からの演出制御コマンドの受信、演出制御コマンドに基づく演出の選択決定、主液晶表示装置32M、副液晶表示装置32S側への演出制御コマンドの送信、スピーカ25による出力音制御、装飾ランプ20w,20b(LED)の発光制御、可動体役物の動作制御などとなる。
【0044】
演出制御部51は、主液晶表示装置32M、副液晶表示装置32S側への演出制御コマンドの送信を行うが、その演出制御コマンドは、液晶インターフェース基板66を介して液晶制御基板52に送られる。
【0045】
液晶制御基板52は、主液晶表示装置32M及び副液晶表示装置32Sの表示制御を行う。図示していないが、液晶制御基板52には、VDP(Video Display Processor)、画像ROM、VRAM(Video RAM)、液晶制御CPU、液晶制御ROM、液晶制御RAMを備えている。
VDPは、画像展開処理や画像の描画などの映像出力処理全般の制御を行う。
画像ROMには、VDPが画像展開処理を行う画像データ(演出画像データ)が格納されている。
VRAMは、VDPが展開した画像データを一時的に記憶する画像メモリ領域とされる。
液晶制御CPUは、VDPが表示制御を行うために必要な制御データを出力する。
液晶制御ROMには、液晶制御CPUの表示制御動作手順を記述したプログラムやその表示制御に必要な種々のデータが格納される。
液晶制御RAMは、ワークエリアやバッファメモリとして機能する。
【0046】
液晶制御基板52は、これらの構成により、演出制御基板51からの演出制御コマンドに基づいて各種の画像データを生成し、主液晶表示装置32M及び副液晶表示装置32Sに出力する。これによって主液晶表示装置32M及び副液晶表示装置32Sにおいて各種の演出画像が表示される。
【0047】
また演出制御部51は、光演出や音演出の制御を行う。このため演出制御部51には枠ドライバ部61、盤ドライバ部62及び音源IC(Integrated Circuit)59が接続されている。
枠ドライバ部61は、枠側の装飾ランプ部63のLEDについて発光駆動を行う。なお、装飾ランプ部63とは、
図1に示したように枠側に設けられている装飾ランプ20wを総括的に示したものである。
盤ドライバ部62は、盤側の装飾ランプ部64のLEDについて発光駆動を行う。なお、装飾ランプ部64とは、
図2に示したように盤側に設けられている装飾ランプ20bを総括的に示したものである。
また盤ドライバ部62は、可動体役物モータ部65のモータの駆動も行う。可動体役物モータ65は、盤側に形成されている1又は複数の可動体役物を駆動する1又は複数の各モータを総括的に示している。可動体役物モータ部65のモータには例えばステッピングモータが用いられる。
【0048】
なおこの例では盤ドライバ部62は、盤側に形成されている可動体役物を駆動する可動体役物モータ部65のモータの駆動も行うものとしているが、装飾ランプ部64の各LEDを発光駆動するドライバ部と、可動体役物モータ部65のモータを駆動するドライバ部が別体として設けられても良い。
【0049】
可動体役物モータ部65としては、例えば複数の役物に対応して複数のモータ(例えばステッピングモータ)が設けられる。
各モータには原点位置が規定されている。原点位置は、例えば役物が
図2の盤面に通常は表出しない位置などとされる。
モータが原点位置にあるか否かを演出制御基板51側で確認できるようにするため、各モータには原点スイッチ68が設けられている。例えばフォトインターラプタが用いられる。この原点スイッチ68の情報が演出制御CPU200によって検知される構成とされている。
【0050】
また演出制御部51は、スピーカ25により所望の音を出力させるべく、音源IC59に対する制御を行う。音源IC59には音データROM69が接続されており、音源IC59は音データROM69から必要な音データ(再生するフレーズの音データ)を取得して音声信号出力を行う。
音源IC59は、複数チャネル(後述する音チャネルaCH)のフレーズをミキシングして所定本数(チャネル数)の音声信号を得る。
図1に示したように、本例の場合、スピーカ25は複数設けられるため、音源IC59の出力チャネル数は例えばLch,Rchの2チャネルなど(ステレオ出力)が可能となる。上記のミキシングにより、演出制御部51より再生指示された複数チャネルのフレーズを同時再生可能とされる。
また音源IC59は、演出制御部51からの指示に従い、制御対象として指示されたフレーズについての音コントロールを行う。具体的に、演出制御部51は、ボリュームの変化指示やフェードイン再生/フェードアウト再生等の音響効果の付与指示に係る情報を音源IC59に対して与え、音源IC59はそれらの情報に従って制御対象として指定されたフレーズの再生制御を行う。
【0051】
音源IC59による出力音声信号はアンプ部67で増幅された後、スピーカ25に対して与えられる。
なお、
図3では図示の都合上、音源IC59の出力チャネル数を1つとしているが、実際にはアンプ部67及びスピーカ25は例えばLch、Rchに対応した出力チャネルがそれぞれ設けられ、ステレオによる音再生が可能とされる。
【0052】
なお、上記では音源IC59を演出制御基板51とは別体に設けるものとしたが、音源IC59は演出制御基板51と同一基板上に一体的に設けることもできる。
【0053】
また演出制御部51には、遊技者が操作可能な操作部60が接続され、操作部60からの操作検出信号を受信可能となっている。この操作部60は、
図1で説明したパトライトスイッチ11、演出ボタン12、十字キー13と、それらの操作検出機構のことである。
演出制御部51は、操作部60からの操作検出信号に応じて、各種演出制御を行うことができる。
【0054】
演出制御部51は、主制御部50から送られてくる演出制御コマンドに基づき、あらかじめ用意された複数種類の演出パターンの中から抽選によりあるいは一意に演出パターンを決定し、必要なタイミングで各種演出手段を制御する。これにより、演出パターンに対応する主・副液晶表示装置32M、32Sによる演出画像の表示、スピーカ25からの音再生、装飾ランプ部63、64(装飾ランプ20w、20b)におけるLEDの点灯点滅駆動、可動体役物モータ部65のモータによる可動体役物の動作が実現され、時系列的に種々の演出パターンが展開されていく。これにより「演出シナリオ」が実現される。
【0055】
なお演出制御コマンドは、1バイト長のモード(MODE)と、同じく1バイト長のイベント(EVENT)からなる2バイト構成により機能を定義する。
MODEとEVENTの区別を行うために、MODEのBit7はON、EVENTのBit7をOFFとしている。
【0056】
<3.主制御部の構成>
図4は、主制御部50の内部構成を示したブロック図である。
主制御部50は、前述した主制御CPU100、主制御ROM101及び主制御RAM102が接続された内部バス103と、内部バス103に対して接続された乱数回路104、割込コントローラ105、タイマ回路106、カウンタ回路107、リセットコントローラ108、外部バスI/F(インターフェース)109、クロック回路110、パラレル入力回路111、シリアル通信回路112、アドレスデコード回路113及び演算回路114の各部を備えている。
本例の場合、これら主制御部50を構成する各部は同一基板上に実装されている。すなわち、主制御部50としてのマイクロコンピュータは所謂ワンチップマイコンとされている。
【0057】
乱数回路104は、所定の規則に従って乱数値を発生させる回路である。本例の場合、乱数回路104は16ビット疑似乱数を2系統(2チャンネル)生成可能とされている。乱数回路104には、乱数値のスタート値や更新方法を選択的に設定可能とされている。
本例の場合、乱数回路104の乱数(ハードウェア乱数)は、大当り/小当り/はずれの判定に用いられる。なお、後述する特別図柄用乱数や普通図柄用乱数などの他の乱数は、プログラムにより更新されるソフトウェア乱数とされる。
【0058】
割込コントローラ105は、パラレル入力回路111の所定の信号入力端子DTiを介して行われる外部からの割込要求や、主制御部50内の回路、特にシリアル通信回路112、乱数回路104、タイマ回路106からの割込要求を制御する回路である。
割込コントローラ105は、ノンマスカブル割込とマスカブル割込の2種の割込みについて制御を行うことが可能とされている。ノンマスカブル割込は、主制御CPU100の割込み禁止状態でも無条件に受け付けられるべき割込みであり、パラレル入力回路111の信号入力端子DTiのうちの所定の信号入力端子DTiに所定の信号が入力されることで発生する。
マスカブル割込は、主制御CPU100の設定命令により割込みの要求の受付を許可/禁止できる割込みである。マスカブル割込は、その種類ごとに予め優先順位を設定しておくことが可能とされ、優先度の低い割込みをマスクすることが可能とされている。
マスカブル割込には大別して外部マスカブル割込と内部マスカブル割込の2種がある。外部マスカブル割込は、パラレル入力回路111の信号入力端子DTiのうちの所定の信号入力端子DTiに所定の信号が入力されることで発生する割込みである。
内部マスカブル割込は、次に示す割込発生要因に起因して発生する割込みである。すなわち、タイマ回路106のタイムアウト、シリアル通信回路112のデータ受信、シリアル通信回路112のデータ送信、及び乱数回路104の乱数取り込みである。
【0059】
タイマ回路106は、プログラマブルタイマとされ、ユーザプログラムの設定によりリアルタイム割込要求や時間計測が可能とされている。本例の場合、タイマ回路106は8ビットのタイマを3チャンネル有している。
【0060】
カウンタ回路107は、プログラマブルカウンタとされ、ユーザプログラムの設定により時間計測等が可能とされている。本例の場合、カウンタ回路107は8ビットのカウンタを4チャンネル有している。
【0061】
リセットコントローラ108は、各種リセットと内部リセットを制御する回路である。
ここで、パチンコ遊技機1のリセットにはシステムリセットとユーザリセットの2種が存在する。システムリセットは、主制御CPU100を含む主制御部50の内部回路全てが初期化されるリセットであり、リセット端子TRSにシステムリセット信号SRSTが入力されたことに応じて実行される。
ここで、システムリセットについては、初期化が実行された後、セキュリティモードに移行するかPROMモードに移行するかを選択可能とされている。セキュリティモードは、初期化が実行された後にセキュリティチェックを行い、その結果がOKであればユーザモード(ユーザプログラムをリセットアドレスから実行するモード)に移行し、NGであれば主制御CPU100を停止させる動作モードである。PROMモードは、主制御ROM101の読み書きを行うための動作モードである。初期化後にセキュリティモード/PROMモードの何れに移行するかは、設定端子TPRに入力するプログラム信号PRGのレベル(例えばLOWレベル/Highレベル)に応じて選択可能とされている。
ユーザリセットは、主制御部50内の所定の回路のみが選択的に初期化され、初期化後に上記のユーザモードに移行するリセットである。ユーザリセットにより初期化される回路は、例えば主制御CPU100、割込コントローラ105、タイマ回路106、カウンタ回路107、パラレル入力回路111、シリアル通信回路112及び演算回路114である。ユーザリセットは、リセットコントローラ108に備えられたWDT(ウォッチドッグタイマ)回路120による後述するタイムアウト信号Stoに応じて発生する。
【0062】
外部バスI/F109は、アドレスバス、データバス、及び各制御信号の方向制御や、駆動能力を強化するバスインターフェースである。
図1に示した演出制御部51、液晶I/F基板66、音源IC59などの所定の外部デバイスとのデータ通信は外部バスI/F109を介して行われる。
外部バスI/F109は、データ入出力用端子DTを介して複数ビット(本例では8ビット)のデータを送受信可能とされていると共に、アドレスデータ出力端子を介して複数ビット(本例では16ビット)のアドレスデータを出力可能とされている。また外部バスI/F109は、各種のリクエスト信号やサイクルを示す信号などデータのやりとりに付随する信号を複数の信号出力端子SToを介して出力可能とされている。
【0063】
クロック回路110は、外部より第1の外部クロックと第2の外部クロックが入力され、第1の外部クロックに基づき主制御CPU100を始めとした主制御部50の内部回路に対してシステムクロックを供給する共に、第2の外部クロックを乱数回路104に対して供給する。またクロック回路110は、システムクロックを不図示のクロック端子を介して外部デバイスに供給可能とされている。
なお、本例の場合、クロック回路110は外部から入力されたクロックを2分周してシステムクロックを生成する。
【0064】
パラレル入力回路111は、入力専用のパラレル入力ポートであり、複数の信号入力端子DTiを介して外部デバイスより複数系統の信号をパラレル入力可能とされている。パラレル入力回路111は、パラレル入力された信号を内部バス103に送出可能とされている。またパラレル入力回路111は、信号入力端子DTiのうち所定の信号入力端子DTiに入力された信号を乱数回路104に供給可能とされている。
パラレル入力回路111は、信号入力端子DTiのうちの所定の信号入力端子DTiに所定の信号が入力されたことに応じて、前述したノンマスカブル割込又は外部マスカブル割込についての割込要求信号を割込コントローラ105に出力する。
【0065】
シリアル通信回路112は、外部デバイスとの間でシリアルデータ通信によるデータの送受信を行う。本例の場合、主制御CPU100と、払出制御基板53や演出制御基板51との間のコマンド信号等のデータ送受信は、シリアル通信回路112を介して行われる。
シリアル通信回路112は、送信データをデータ送信端子TXを介して外部デバイスに送信する。一方、データの受信については、パラレル入力回路111の信号入力端子DTiのうち所定の一つの信号入力端子DTiを用いて行うことが可能とされている。
また、シリアル通信回路112は、データ送信に応じた割込要求信号を割込コントローラ105に出力する。
シリアル通信回路112内の詳細な構成例は後述する。
なお、ここではシリアル通信回路112のデータ送信端子TXが1つのみとされた場合すなわち送信系統が1系統のみとされた場合を例示したが、シリアル通信回路112による送信系統は2系統以上とすることもできる。
また、シリアル通信回路112がパラレル入力回路111の所定の信号入力端子DTiを共用してデータ受信を行う例を挙げたが、シリアル通信回路112がデータ受信を行うための端子を別途に設けることもできる。
【0066】
アドレスデコード回路113は、ユーザプログラムの外部デバイス用のアドレスデコード回路である。本例のアドレスデコード回路113はメモリマップドI/O方式及びI/OマップドI/O方式の双方に対応しており、主制御RAM102へのリード/ライト命令に含まれるアドレスデータをデコードして外部デバイスのチップセレクト信号CSを生成し、外部デバイスに出力することが可能とされている。なお、生成したチップセレクト信号CSは、図示を省略したチップセレクト信号出力端子を介して外部デバイスに送出可能とされている。本例の場合、チップセレクト信号CSは設定によりシリアル通信回路112のデータ通信端子TXを介して出力することも可能とされている。
なお、本例のパチンコ遊技機1においては、設定によりチップセレクト信号CSを使用しない選択を行うことも可能とされている。
【0067】
演算回路114は、乗算回路と除算回路を備え、乗算及び除算を行うことが可能とされている。本例の場合、乗算回路は8ビット×8ビットの乗算回路とされ、除算回路は16ビット÷16ビットの除算回路とされている。
【0068】
<4.シリアル通信回路の構成>
図5は、シリアル通信回路112の内部構成を示したブロック図である。
シリアル通信回路112は、送受信部150、データレジスタ151、ボーレートレジスタ152、ボーレート生成回路153、コマンドレジスタ154、送信トリガレベル設定レジスタ155、ステータスレジスタ156、FIFOステータスレジスタ157、割込制御レジスタ158、通信設定レジスタ159を備えている。
【0069】
データレジスタ151は、送受信データを一時記憶する。即ち内部バス103を介して主制御CPU100により制御コマンドその他の送信データがセットされるレジスタであると共に、シリアル通信回路112で受信した受信データが内部バス103を介した転送の際に一時記憶されるレジスタである。
【0070】
送受信部150は、データ送信端子TXからのシリアルデータ送信、及びデータ受信端子RX(
図4の例ではパラレル入力回路111の所定の信号入力端子DTi)からのシリアルデータ受信を行う。このため送受信部150は、送信用シフトレジスタ160、送信データレジスタ161、パリティ生成部162、割り込み制御回路163、受信データレジスタ164、パリティチェック部165、受信用シフトレジスタ166を有する。
まず送信系に関して、送信データレジスタ161は、例えば64バイトのFIFOメモリとして構成される。説明上、送信データレジスタ161を「送信FIFO161」とも表記する。
主制御CPU100によって上述のデータレジスタ151にセットされた制御コマンド等の送信データは、送信FIFO161に書き込まれる。例えば制御コマンドが2バイトのデータフォーマットで送信されるとすると、64バイトの送信FIFO161には、最大32個の制御コマンドが一時的に記憶可能となる。
送信FIFO161に書き込まれた1又は複数の各送信データは、順次送信用シフトレジスタ160に転送され、送信用シフトレジスタ160からシリアル送信出力される。
なお、パリティ生成部162が設けられていることで、送信データにパリティビットを付加することも可能とされている。
【0071】
受信系として、受信データレジスタ164は、例えば8バイトのFIFOメモリとして構成される。説明上、受信データレジスタ164を「受信FIFO164」とも表記する。
シリアル通信による受信データは、受信用シフトレジスタ166によって取り込まれ、受信FIFO164に転送される。
なお受信データにパリティビットが含まれている場合、受信FIFO164に書き込まれた受信データについては、パリティチェック部165によるデータエラーチェックが行われる。
受信FIFO164が8バイトであることで、連続的に8バイト分の受信データの取り込みを行うことができる。
受信FIFO164に一時記憶された受信データは、データレジスタ151に転送された後、主制御CPU100によって読み出されていく。
【0072】
割込制御回路163は送受信データに関する割込処理の制御を行う。このためステータスレジスタ156やFIFOステータスレジスタ157へのフラグ書込や、割込コントローラ105へのデータ送信割込信号TX0I、データ受信割込信号RX0Iの送信を行う。
【0073】
以上のような送受信部150で送受信される通信データフォーマットは、例えば
図6A、
図6Bのようになる。
図6Aは、スタートビットSTA、ビットb0〜b7の8ビットの送受信データ、ストップビットSTPにより1フレームが構成される例である。
送受信前のアイドルラインは、ハイレベル(論理「1」)とされる。またスタートビットSTAはローレベル(論理「0」)とされて1フレームの始まりを示す。8ビットの送受信データでは、最下位ビットb0(LSB)から順に送受信する。ハイレベル(論理「1」)のストップビットSTPにより1フレームの完了を示す。
図6BはパリティビットPRを付加した例である。シリアル通信回路112ではパリティの使用/未使用を選択できる。使用する場合は送信時には8ビット(1バイト)の送信データに対してパリティ生成部162でパリティビットPRの付加が行われる。また受信時には、取り込まれた1バイトの受信データに対してパリティチェック部165でのチェックサム処理が行われる。
【0074】
図5に戻って、ボーレートレジスタ152はボーレート制御に用いられる。このボーレートレジスタ152には、主制御CPU100によってボーレート設定データが書き込まれる。
ボーレート生成回路153は、ボーレートレジスタ152に書き込まれたボーレート設定データに応じて、内部クロックSCLKを元に送信クロックTCK、受信クロックRCKを生成する。送信用シフトレジスタ160は送信クロックTCKに基づいて送信動作を行い、受信用シフトレジスタ166は受信クロックRCKに基づいて受信データのサンプリング動作を行う。
本実施の形態の場合、4ms間隔で実行するタイマ割込処理で送信する可能性のあるコマンド数の最大数(より具体的には、送信する全てのコマンドを合わせた総フレーム数×フレームのビット数としての最大値)を、割込み処理の間隔以内でボーレートを設定する。例えば後述するが、1回の割込み処理において最大7個の払出制御コマンド(1バイトのコマンドデータを含めた7フレーム)を払出制御部53に送信することが想定され、また最大15個の演出制御コマンド(2バイトの演出制御コマンドのため2フレーム×15=30フレーム)を演出制御部51に送信すると仮定した場合、37フレーム(仮に1フレーム=10ビットとすると370ビット)の送信が4ms以内に可能となるようなボーレートとする。
【0075】
通信設定レジスタ159は、シリアル通信回路112の通信フォーマットや動作モードを設定するレジスタである。
例えば送信機能を一時的に使用禁止にするビット、受信機能を一時的に使用禁止にするビット、動作モードとしてノーマルモードとFIFOモードを選択するビット、送受信データのデータ長を設定するビット、パリティ機能の使用/未使用を設定するビット、パリティ種類(偶数パリティ/奇数パリティ)を設定するビット等が用意されている。
本実施の形態の場合、動作モードとしてはFIFOモードが選択される。
【0076】
コマンドレジスタ154は、シリアル通信回路112のソフトウエアによるクリアやブレークコード(1フレーム以上の“0”)の送信を行うためのレジスタである。
主制御CPU100がコマンドレジスタ154の所定のビットに書込を行うことで、シリアル通信回路112においては送信FIFO161のクリア、受信FIFO164のクリア、ブレークコード送信等が行われる。
【0077】
送信トリガレベル設定レジスタ155は、送信FIFO161のトリガレベルを設定するレジスタである。主制御CPU100は、送信トリガレベル設定レジスタ155における6ビットを用いて“00h”〜“3Fh”で1バイト〜64バイトのトリガレベルを設定可能とされる。
送信FIFO161に書き込まれている1又は複数の送信データのバイト数が、設定されたトリガレベルとしてのバイト数未満のときに、後述のステータスレジスタ156において送信データ書込状況を示す書込状況フラグがセットされ、送信FIFO161のエンプティ状態が示される。
【0078】
ステータスレジスタ156は、シリアル通信回路112の送信・受信状態を確認するためのレジスタである。このステータスレジスタ156には、送信完了フラグを示すビット、ノーマルモードでの各種状態を示すビット、FIFOモードでの各種状態を示すビットが用意される。
送信完了フラグはノーマルモード、FIFOモードのいずれの場合にも対応して、送信用シフトレジスタ160からのデータ転送が完了するとセットされるフラグである。
ノーマルモードでの各種状態を示すビットとしては、送信データエンプティを示すビット、受信用シフトレジスタ166の値が受信FIFO164に転送されたか否かに応じてセットされる受信データフルフラグを示すビット、受信系でのノイズ検出に応じたノイズフラグを示すビット、受信系のオーバーラン検出に応じたオーバーランフラグを示すビット、受信系でのブレークコード検出に応じたブレークコード検出フラグを示すビット、ストップコードの検出有無に応じたフレーミングエラーフラグを示すビット、パリティエラーフラグを示すビットがある。
FIFOモードの各種状態を示すビットとしては、送信FIFOトリガレベルを示すビット、受信FIFOトリガレベルを示すビット、受信FIFOタイムアウトエラーフラグを示すビット、受信FIFO164の先頭にある受信データがブレークコード、フレーミングエラー、パリティエラーのいずれかの場合にセットされる受信FIFO先頭エラーフラグを示すビット、受信FIFO164内にブレークコード、フレーミングエラー、パリティエラーを含む受信データが存在する場合にセットされる受信FIFOデータエラーフラグを示すビット、受信FIFO164内にノイズを含む受信データが存在する場合にセットされる受信FIFOノイズフラグを示すビット、受信FIFO内に受信データが1つでもあるとセットされる受信FIFOレディを示すビットがある。
【0079】
このようなステータスレジスタ156にセットされる送信完了フラグは、送信用シフトレジスタ160からのデータ転送が完了すると“1”にセットされるフラグである。データレジスタ151に送信データがライトされると“0”とされる。なお、コマンドレジスタ154の所定ビットに“1”を書き込むことで送信完了フラグを“1”とすることもできる。但しこの場合、送信中のデータがある場合は、送信完了後に“1”とされる。
また送信FIFOトリガレベルを示すビットは、送信FIFO161に書き込まれているデータが送信トリガレベル設定レジスタ155に設定された送信FIFOトリガレベル未満となったときに“1”にセットされる。送信FIFOトリガレベルを示すビットが“1”であることは送信FIFO161に送信FIFOトリガレベルに至っていない空きがあることを示す。送信FIFO161に送信データが転送され、記憶しているデータ量が送信FIFOトリガレベル以上となると“0”とされる。
【0080】
FIFOステータスレジスタ157はFIFOモード時の受信状態を確認するためのレジスタである。このFIFOステータスレジスタ157には、受信FIFO164の先頭にある受信データについて、ノイズを含むことを示すビット、ブレークコードであることを示すビット、フレーミングエラーで有ることを示すビット、パリティエラーであることを示すビット等がある。
【0081】
割込制御レジスタ158は、シリアル通信回路112の割込要求の許可/禁止等を設定するレジスタである。
なお、割込制御レジスタ158の一部は、受信FIFO164のトリガレベルのバイト数を設定するビットに用いられている。
【0082】
<5.実施の形態の制御処理>
[5−1:メイン処理]
以下、本実施の形態の制御処理について説明する。
図7は、主制御部50のメイン処理を示すフローチャートである。
メイン処理が開始されるのは、システムリセットが発生した場合及びユーザリセットが発生した場合である。
【0083】
図7に示す主制御側メイン処理において、主制御CPU100は、先ずステップS11で、自らを割込み禁止状態に設定(割込みモード2)する。そして、続くステップS12で、主制御部50内の各部を含めて内部レジスタの値を初期設定する(各種初期設定)。
【0084】
次いで主制御CPU100は、ステップS13でハード乱数回路を起動させる。すなわち、乱数回路104を起動させる。
そして、主制御CPU100は、ステップS14でRAMクリア信号を読み込む。RAMクリア信号は、不図示の入力ポートを介して入力されるRAMクリアスイッチの出力信号を意味する。
【0085】
さらに、主制御CPU100は、ステップS15で周辺基板の起動待ち処理を行う。ここで言う周辺基板とは、主制御部50に対して通信可能に接続された基板、例えば演出制御基板51、液晶制御基板52などを意味する。
なお、起動待ちのための待機時間は、周辺基板のプログラム構成や回路構成に基づいて適宜に決定されるが、本例では、例えば2s(second)〜3s程度の時間に設定されている。
【0086】
主制御CPU100は、ステップS15の起動待ち処理を行った後、ステップS16で電源異常信号がOFF状態となるまで待機する。電源異常信号は、電源基板58より不図示の入力ポートを介して入力される信号であり、「1」がON状態(つまり異常状態)を表し「0」がOFF状態(つまり正常状態)を表す。
なお、先のステップS15の待機処理において十分な待ち時間が確保されているため、実際にはステップS16での待機が生じることは無い。
電源異常信号がOFF状態であることが確認されたら、主制御CPU100はステップS17で待機画面表示コマンドを周辺基板に送信する。
【0087】
次いで主制御CPU100は、ステップS18で電源投入信号がON状態となるまで待機する。電源投入信号は、払出制御基板53から入力され、「1」がON状態(つまり電源投入状態)を表し「0」がOFF状態(つまり電源非投入状態)を表す。
【0088】
電源投入信号がON状態であることが確認されたことに応じ、主制御CPU100はステップS19で、RAMクリア信号の状態(ON/OFF)を判定する。RAMクリア信号とは、主制御RAM102の全領域を初期化(ゼロクリア)するか否かを決定する信号である。RAMクリア信号としては通常、RAMクリアスイッチ(パチンコ店の店員が操作する)のON/OFF状態に対応した値を有している。停電状態からの復旧時には、RAMクリアスイッチはOFF状態であるため、RAMクリア信号はOFF状態である。RAMクリアスイッチがON状態であればRAMクリア信号もON状態である。
【0089】
RAMクリア信号がON状態であった場合、主制御CPU100は処理をステップS19からS22に進め、主制御RAM102の全領域のゼロクリアを行う(RAM初期化)。なお、RAM初期化は、主制御RAM102における所定の使用領域のみをゼロクリアするようにしてもよい。
続いてステップS23で主制御CPU100は、主制御RAM102がゼロクリアされたことを報知するための「RAMクリア表示コマンド」を初期化コマンドとして周辺基板に送信する。そしてステップS24で、RAMクリア報知タイマに、RAMクリアされた旨を報知するための時間として、例えば、30sを格納する(RAMクリア情報設定処理)。
上記のステップS22〜S24の処理により、パチンコ遊技機1の動作状態が初期状態に戻される。
主制御CPU100は、ステップS24の処理を実行したことに応じて、処理をステップS25に進める。
【0090】
また、主制御CPU100は、ステップS19でRAMクリア信号がON状態でなかったと判定された場合は、ステップS20で主制御RAM102内のバックアップデータが有効であるか否かを判定する。バックアップデータが有効か否かの判定は、所謂バックアップフラグやチェックサム値に基づき行う。なお、バックアップデータは、後述する
図8の電源異常チェック処理(S51)において実行されるバックアップ処理によって主制御RAM102に格納される。
ステップS20において、バックアップデータが有効でないとの判定結果が得られた場合は、主制御CPU100は上述したステップS22に処理を進めてRAM初期化処理を行った後、RAMクリア表示のコマンド送信処理(S23)及びRAMクリア情報設定処理(S24)を実行して、パチンコ遊技機1の動作状態を初期状態に戻す。
【0091】
一方、主制御CPU100は、ステップS20でバックアップデータが有効であるとの判定結果が得られた場合は、ステップS21で周辺基板に停電復帰を行うためのコマンド送信を行う。
主制御CPU100は、ステップS21のコマンド送信処理を行ったことに応じてステップS25に処理を進める。
ここで、ステップS21の処理は、バックアップデータに基づいた復帰制御を行うバックアップ復帰処理に相当する。
【0092】
ステップS25では、主制御CPU100はタイマ割込み動作を起動するためにCTC(タイマ回路106)を初期設定して、主制御CPU100を割込み許可状態に設定する。
次いで、主制御CPU100はステップS26で、WDT回路120を起動させる処理を行う。すなわちWDT回路120に動作許可及びタイムアウト時間を指示するための値をセットして、WDT回路120を起動させる。これによりWDT回路120内で、タイムアウト時間に応じたクロックの選択が行われると共にカウント動作が開始される。
なお本例の場合、タイムアウト時間としては例えば4msを設定している。
【0093】
主制御CPU100は、ステップS26でWDT回路120を起動させた後は、ステップS27、S28、S29の処理として、割込みが発生するまで割込禁止状態と割込許可状態とを繰り返すとともに、その間に、各種乱数更新処理を実行する。
具体的に、ステップS28の各種乱数更新処理では、特別図柄変動表示や普通図柄変動表示に使用される各種乱数の初期値(スタート値)変更のために使用する乱数と、変動パターンの選択に利用される変動パターン用乱数を更新する。すなわち、特別図柄用乱数の初期値を変更するための特別図柄用初期値乱数、普通図柄用乱数の初期値を変更するための普通図柄用初期値乱数、変動パターン用乱数1、及び変動パターン用乱数2である。
ここで、特別図柄用乱数は、確変/非確変の判定に用いられる乱数であり、普通図柄用乱数は普通電動役物(いわゆる電チュー)を開放するか否かの判定に用いられる乱数である。特別図柄用乱数、特別図柄用初期値乱数、普通図柄用乱数、普通図柄用初期値乱数、及び変動パターン用乱数1、変動パターン用乱数2は、プログラムによりカウントされるソフトウェア乱数とされている。
【0094】
主制御RAM102にはこれらのソフトウェア乱数のカウント値を格納するための記憶領域がそれぞれ定められている。これらの記憶領域は、それぞれ対応する乱数をソフトウェア的に生成するためのカウンタと換言できる。
ステップS28の各種乱数更新処理では、上述の特別図柄用初期値乱数、普通図柄用初期値乱数、及び変動パターン用乱数1、変動パターン用乱数2を生成するカウンタを更新する処理を行う。例えば、変動パターン用乱数1のカウンタとして取り得る数値範囲が0〜238とすると、主制御RAM102の変動パターン用乱数1の値を生成するための記憶領域から値を取得し、取得した値に1を加算してから元の記憶領域に格納する。このとき、取得した値に1を加算した結果が239であれば0を元の記憶領域に格納する。他の変動パターン用乱数2、特別図柄用初期値乱数及び普通図柄用初期値乱数についても同様に更新処理を行う。
主制御CPU100は、間欠的に実行されるタイマ割込処理を行っている間を除いて、ステップS27〜S29のループ処理によって上記の各種乱数更新処理を繰り返し実行するようになっている。
ステップS27〜S29のループ処理は、タイマ割込処理を実行する期間を除いて所定の処理を繰り返し実行する無限ループ処理である。
【0095】
[5−2:タイマ割込処理]
次に、
図8を参照して主制御CPU100のタイマ割込処理(以下「主制御タイマ割込処理」と表記)について説明する。主制御タイマ割込処理は、CTCからの一定時間(4ms程度)ごとの割込みで起動され、上述したメイン処理実行中に割り込んで実行される。具体的に、主制御タイマ割込処理は、ステップS29で割込許可状態とされた後に実行されるものである。
【0096】
タイマ割込みが生じると、主制御CPU100はレジスタの内容をスタック領域に退避させた後、まず
図8のステップS51として電源基板58からの電源の供給状態を監視する電源異常チェック処理を行う。この電源異常チェック処理では、主に、電源基板58からの電源異常信号を監視する。ここでは、例えば、電断が生じるなどの異常が発生した場合、電源復帰時に支障なく遊技を復帰できるように、電断時における所定の遊技情報を主制御RAM102に格納するバックアップ処理などが行われる。
【0097】
次にステップS52で、主制御CPU100は遊技動作制御に用いられるタイマを管理するタイマ管理処理を行う。パチンコ遊技機1の遊技動作制御に用いる各種タイマ(例えば特別図柄役物動作タイマなど)のタイマ値は、この処理で管理(更新)される。
【0098】
ステップS53では、主制御CPU100は入力管理処理を行う。この入力管理処理では、パチンコ遊技機1に設けられた各種センサによる検出情報を入賞カウンタに格納する。ここでの各種センサによる検出情報とは、例えば、上始動口センサ71、下始動口センサ72、ゲートセンサ(普通図柄始動口センサ)73、第1大入賞口センサ75、第2大入賞口センサ76、一般入賞口センサ74などの入賞検出スイッチから出力されるスイッチ信号のON/OFF情報(入賞検出情報)である。
このステップS53の処理により、各入賞口において入賞を検出(入賞が発生)したか否かが割込みごとに監視される。また上記「入賞カウンタ」とは、各々の入賞口に入賞した遊技球数(入賞球数)を計数するカウンタである。本実施の形態では、主制御RAM102の所定領域に、賞球数の種類に応じた複数の入賞カウンタが設けられている。
またこの入力管理処理では、入賞検出スイッチからの検出情報が入賞を許容すべき期間中に入賞したか否かに基づいて、不正入賞があったか否かも監視される。例えば大当り遊技中でないにもかかわらず第1、第2大入賞口センサ75,76が遊技球を検出したような場合は、これを不正入賞とみなして入賞検出情報を無効化し、その無効化した旨を外部に報知するべく後述のステップS55のエラー管理処理において所定のエラー処理が行われるようになっている。
このステップS53の処理について詳しくは後述する。
【0099】
ステップS54では、主制御CPU100はソフトウェア乱数を定期的に更新するタイマ割込内乱数管理処理を行う。この定期乱数更新処理では、変動パターン用乱数1、変動パターン用乱数2についての更新は実行せず、特別図柄用乱数、特別図柄用初期値乱数、普通図柄用乱数、普通図柄用初期値乱数の更新を実行する。
ここで、特別図柄用乱数、普通図柄用乱数についての更新処理としては、割込み毎に主制御RAM102の対応するカウンタの値を+1する処理と、カウント値がそのカウンタの取り得る数値の上限値に達するごと(つまりカウンタが1周するごと)にカウンタのスタート値(初期値)を変更する処理を行う。例えば、特別図柄用乱数のカウンタの値を所定範囲で更新(+1加算)し、特別図柄用乱数のカウンタが1周するごとに、特別図柄用初期値乱数のカウンタの値を読み出してその値を特別図柄用乱数カウンタに格納する。普通図柄用乱数についても、普通図柄用初期値乱数を用いて同様に処理する。
これにより、特別図柄用乱数及び普通図柄用乱数のカウント値は、更新周期は一定でありながらもランダムになる。
【0100】
ステップS55では、主制御CPU100は、遊技動作状態の異常の有無を監視するエラー管理処理を行う。このエラー管理処理では、遊技動作状態の異常として、例えば、基板間に断線が生じたか否かの監視や、不正入賞があったか否かの監視などをして、これらの動作異常(エラー)が発生した場合には、そのエラーに対応した所定のエラー処理を行う。
エラー処理としては、例えば、所定の遊技動作(例えば、遊技球の払い出し動作や遊技球の発射動作など)の進行を停止させたり、エラー報知用コマンドを演出制御部51に送信して、演出手段によりエラーが発生した旨を報知させたりする。
【0101】
ステップS56では、主制御CPU100は賞球管理処理を行う。この賞球管理処理では、ステップS53の入力管理処理で格納したデータを把握して、上述の入賞カウンタの確認を行い、入賞があった場合は、賞球数を指定する払出制御コマンドを払出制御基板53に送信する。
この払出制御コマンドを受信した払出制御基板53は、遊技球払出装置55を制御し、指定された賞球数の払い出し動作を行わせる。これにより、それぞれの入賞口に対応した賞球数が払い出されるようになっている。入賞口に対応した賞球数とは、入賞口別に設定された入賞球1個当りの所定の賞球数×入賞カウンタの値分の賞球数である。
このステップS56の処理について詳しくは後述する。
【0102】
ステップS57では主制御CPU100は、普通図柄管理処理を行う。この普通図柄管理処理では、普通図柄変動表示における補助当り抽選を行い、その抽選結果に基づいて、普通図柄の変動パターンや普通図柄の停止表示態様を決定したり、所定時間毎に点滅を繰り返す普通図柄のデータ(普通図柄変動中のLED点滅表示用データ)を作成したり、普通図柄が変動中でなければ、停止表示用のデータ(普通図柄停止表示中のLED点滅表示用データ)を作成したりする。
【0103】
ステップS58では、主制御CPU100は、普通電動役物管理処理を行う。この普通電動役物管理処理では、ステップS57の普通図柄管理処理の補助当り抽選の抽選結果に基づき、普通電動役物ソレノイド77に対するソレノイド制御用の励磁信号の生成およびそのデータ(ソレノイド制御データ)の設定を行う。ここで設定されたデータに基づき、後述のステップS64のソレノイド管理処理にて、励磁信号が普通電動役物ソレノイド77に対して出力され、これにより可動翼片42bの動作が制御される。
【0104】
ステップS59では、主制御CPU100は、特別図柄管理処理を行う。この特別図柄管理処理では、主に、特別図柄変動表示における大当り抽選を行い、その抽選結果に基づいて、特別図柄の変動パターン(先読み変動パターン、変動開始時の変動パターン)や特別停止図柄などを決定する。
ステップS60では、主制御CPU100は特別電動役物管理処理を行う。この特別電動役物管理処理では、主に、大当り抽選結果が「大当り」または「小当り」であった場合、その当りに対応した当り遊技を実行制御するために必要な設定処理を行う。
【0105】
ステップS61では、主制御CPU100は右打ち報知情報管理処理を行う。この右打ち報知情報管理処理では、例えば第1、第2大入賞口45a,46aが開放される機会や可動翼片42bが駆動される電サポ状態など、右打ちが有利な状況において右打ち指示報知を行う「発射位置誘導演出(右打ち報知演出)」を現出させるための処理を行う。右打ち指示とは、具体的には、右遊技領域3cを狙う旨を有技者に指示する演出動作であり、例えば主液晶表示装置32Mに「右打ち」を遊技者に促す画像を表示させたり、スピーカ25から右打ちメッセージ音声を発生させる。
右打ち報知演出が行われる場合、この右打ち報知情報管理処理において、演出制御コマンドとして、右打ち報知演出の実行指示する「右打ち指示コマンド」が演出制御部51に送信され、このコマンドを受けて、演出制御部51が、画像や音声による右打ち報知の実行制御を行う。
【0106】
ステップS62では、主制御CPU100は、LED管理処理を行う。このLED管理処理は、図柄表示部33に対して普通図柄表示や第1,第2特別図柄表示のための表示データを出力する処理である。この処理により、普通図柄や特別図柄の変動表示および停止表示が行われる。なお、ステップS57の普通図柄管理処理で作成された普通図柄の表示データや、ステップS59の特別図柄管理処理中の特別図柄表示データ更新処理で作成される特別図柄の表示データは、このLED管理処理で出力される。
【0107】
ステップS63では、主制御CPU100は、外部端子管理処理を行う。この外部端子管理処理では、枠用外部端子基板57を通して、パチンコ遊技機1の動作状態情報をホールコンピュータや島ランプなどの外部装置に対して出力する。動作状態情報としては、大当り遊技が発生した旨(条件装置が作動した旨)、小当り遊技が発生した旨、図柄変動表示が実行された旨(特別図柄変動表示ゲームの開始または終了した旨)、入賞情報(始動口や大入賞口に入賞した旨や賞球数情報)などの情報が含まれる。
【0108】
ステップS64では、主制御CPU100は、ソレノイド管理処理を行う。このソレノイド管理処理では、ステップS58の普通電動役物管理処理で作成されたソレノイド制御データに基づく普通電動役物ソレノイド77に対する励磁信号の出力処理や、ステップS60の特別電動役物管理処理で作成されたソレノイド制御データに基づく第1,第2大入賞口ソレノイド78,79に対する励磁信号の出力処理を行う。これにより、可動翼片42bや開放扉45b、46bが所定のパターンで動作し、下始動口42aや大入賞口45a、46bが開閉される。
【0109】
主制御CPU100は、以上のステップS51〜ステップS64の処理を終えた後、退避していたレジスタの内容を復帰させて、ステップS65で割込み許可状態に設定する。これにより、タイマ割込処理を終了して、割込み前の
図6の主制御側メイン処理に戻り、次のタイマ割込みが発生するまでステップS27〜S29のループ処理を行う。
【0110】
[5−3:コマンド送信に関する処理]
以上の所定時間毎の主制御タイマ割込処理において行われる払出制御コマンド送信や、演出制御コマンド送信などのコマンド送信に関する処理について説明する。
まず払出制御コマンド送信について説明する。
賞球の払出制御に関する処理は主に、
図8のステップS53の入力管理処理と、ステップS56の賞球管理処理として行われる。
【0111】
ステップS53の入力管理処理を
図9で詳細に説明する。
図9のステップS5301で主制御CPU100は、各入力ポートのレベルデータを取得し、それを基にエッジデータを作成してワーク領域に保存する。即ちこの処理は、上始動口センサ71、下始動口センサ72、ゲートセンサ(普通図柄始動口センサ)73、第1大入賞口センサ75、第2大入賞口センサ76、一般入賞口センサ74などの入賞検出スイッチから出力されるスイッチ信号のON/OFF情報(入賞検出情報)を確認する処理となる。エッジデータとは、これらの各センサについて検出信号のL、Hのレベル差分データであり、つまりエッジデータとは検出有りを示すデータとなる。
【0112】
ステップS5302で主制御CPU100は入賞無効処理を行う。ここでは、例えば上始動口41、下始動口42a、第1大入賞口45a、第2大入賞口46a等に関しての不正入賞を検知する処理が行われる。
【0113】
ステップS5303で主制御CPU100はエッジデータの有無を確認する。上述のステップS5301でエッジデータが保存されなかった場合は、入賞無しのため、処理を終える。
【0114】
エッジデータが存在する場合はステップS5304に進み、賞球数毎に対応した入賞カウンタを+1する。
入賞カウンタとしては、賞球数の種類に応じた複数の入賞カウンタが設けられている。例えば仮に、以下のように賞球数が決められているとする。
・上始動口41と下始動口42a:3個賞球
・一般入賞口43:左上入賞口、左下入賞口、右入賞口のいずれも10個賞球
・第1大入賞口45a:11個賞球
・第2大入賞口46a:15個賞球
このような場合、3個、10個、11個、15個の賞球数の種類に対応して4つの入賞カウンタ(NCT1,NCT2,NCT3,NCT4)が設けられる。
ステップS5304では、4つの入賞カウンタのそれぞれに、エッジデータ数に応じてカウント値が加算される。
あくまで説明のための極端な例であるが、上始動口41、下始動口42a、3つの一般入賞口43,43,43、第1大入賞口45a、第2大入賞口46aの全てに遊技球が同時に入球したとする。この場合、3個賞球の入賞口に対応する入賞カウンタNCT1は+2され、10個賞球の入賞口に対応する入賞カウンタCT2は+3され、11個賞球の入賞口に対応する入賞カウンタCT3は+1され、15個賞球の入賞口に対応する入賞カウンタCT4は+1される、ということになる。
【0115】
払出制御のための入賞カウンタの処理は以上であるが、入賞口毎の賞球個数は、ホールコンピュータにも通知する。例えば玉詰まりなどで払出しが遅れるような場合でも、ホールコンピュータがリアルタイムに賞球数を把握できるようにするためである。
このためにステップS5305では、入賞した入賞口に対応する賞球個数を賞球個数カウンタに加算する。ステップS5306では、加算した値がマックス値を越えた場合は加算結果をマックス値に変更する。そしてステップS5307では、加算結果をワーク領域にセットする。
この賞球個数カウンタの値は、
図8のステップS63でホールコンピュータに送信されるものとなる。
【0116】
以上のように入力管理処理では、賞球に関しては、入賞口への入球が検出されることに応じて賞球カウンタのカウントアップが行われる。
【0117】
図8のステップS56の賞球管理処理は
図10のように行われる。
ステップS5601で主制御CPU100は、変数Nに入賞カウンタの種類の総数をセットする。上記例のように4つの入賞カウンタ(NCT1,NCT2,NCT3,NCT4)が設けられる場合、N=4とする。
ステップS5602で主制御CPU100は、ループ制御変数X=1に設定する。
【0118】
ステップS5603で主制御CPU100は、入賞カウンタNCT(X)の値を確認する。従ってまず3個賞球の入賞口に対応する入賞カウンタNCT1の値を確認する。
入賞カウンタNCT1=0であれば、3個賞球の払出制御コマンドは発生しないためステップS5608に進む。
入賞カウンタNCT1≠0であれば、1つ以上の3個賞球の払出制御コマンドが発生する。この場合主制御CPU100はステップS5604に進み、賞球数R(X)の払出制御コマンドデータを生成する。賞球数R1=3個である。つまり3個賞球の払出制御コマンドを生成する。そしてステップS5605でコマンド送信処理(
図11で後述)を行う。
【0119】
主制御CPU100はステップS5606で入賞カウンタNCT(X)の値をデクリメントし、ステップS5607で入賞カウンタNCT(X)=0であるか否かを確認する。“0”であれば既に入賞カウンタNCT(X)についての払出制御コマンドの処理を終えたことになるためステップS5608に進む。一方、“0”でなければステップS5604に戻る。つまり入賞カウンタNCT(X)の値の数だけ、払出制御コマンドが生成されることになる。
例えばこの賞球管理処理を開始した時点で、入賞カウンタNCT1=2であったとすると、まずステップS5604で3個賞球の払出制御コマンドを生成される。その後ステップS5606でのデクリメントで入賞カウンタNCT1=1となり、この場合、ステップS5604に戻って、再度3個賞球の払出制御コマンドを生成され、ステップS5605でコマンド送信処理が行われる。
その後はステップS5606でのデクリメントで入賞カウンタNCT1=0となることでステップS5607からS5608に進む。
【0120】
ステップS5608では、ループ制御変数X=Nであるか否かを確認する。X=Nでなければ、ステップS5609でループ制御変数XをインクリメントしてステップS5603に戻る。つまり、続いて入賞カウンタNTC2について、上記同様にステップS5603〜S5607の処理を行う。この場合、入賞カウンタNCT2の値が“1”以上であれば、5個賞球の払出制御コマンドが1以上生成され、コマンド送信処理が行われる。
その後、入賞カウンタNCT3,NCT4についても同様に処理が行われる。
以上により、4つの入賞カウンタ(NCT1,NCT2,NCT3,NCT4)によって示された各賞球に応じた賞球数を指定する払出制御コマンドが生成されコマンド送信処理されることになる。
【0121】
上述のステップS5605の時点で、主制御CPU100は
図11A又は
図11Bのようなコマンド送信処理を呼び出して実行する。
図11Aの場合、主制御CPU100はステップS201で、シリアル通信回路112における送信可能確認を行う。この場合、FIFOモードで動作しているシリアル通信回路112のステータスレジスタ156の必要なフラグを確認する。例えば送信FIFOトリガレベルを示すビットを確認して、送信FIFO161に空きがあるかを確認する。また、コマンド送信に支障があるエラーが発生しているか否かなどを確認してもよい。
あくまで仮にではあるが、例えば送信FIFOトリガレベルを最大の64バイトに設定しているような場合、送信FIFOトリガレベルを示すビットが“0”であると、データレジスタ151に払出制御コマンドを転送しても、送信FIFO161へ転送できない。このような場合にはステップS202からS201に戻って待機する。但し実際上は、送信FIFOトリガレベルは1バイトや2バイトなどに設定されればよく、以上のようなことは、まず想定されない。
送信可能(例えば送信FIFOトリガレベルを示すビットが“1”)であるときは、ステップS203に進んで、データレジスタ151に払出制御コマンドを書き込む。
【0122】
なお、払出制御コマンドは、払出制御部53に賞球数を指示するコマンドであり8ビット(1バイト)で構成される。
パチンコ遊技機の賞球の最大は15個であるため、4ビットが0〜15の賞球情報となり、残りの4ビットは未使用や或いはエラー情報などに用いられる。
ステップS203ではこの1バイトの払出制御コマンドをデータレジスタ151に書き込むことになる。
シリアル通信回路112では、データレジスタ151に書き込まれた払出制御コマンドを送信FIFO161に転送し、送信FIFO161から送信用シフトレジスタ160に転送して、払出制御部53に対するシリアル送信を実行する。
【0123】
ここで、上述のように、送信FIFO161が64バイトの容量を備えていることを考える。すると、払出制御コマンドの送信の際に、送信FIFO161に空きが無いということは実際には発生しないものといえる。
例えば賞球を発生させる入賞口が上記例のように上始動口41、下始動口42a、3つの一般入賞口43,43,43、第1大入賞口45a、第2大入賞口46aの7個であるとする。払出制御コマンドを8ビット(1バイト)構造である。すると、最大でも1回の割込処理の際に送信される払出制御コマンドの数は7個、つまり7バイトである。
また、仮に1つの払出制御コマンドを2回送信するものとしても、14バイトに過ぎない。
【0124】
この場合、実際には1回のタイマ割込処理の過程で、その際に検出された全ての賞球についての払出制御コマンドを送信するものとしても、送信FIFO161がフルになってしまうことは生じない。
従って、ステップS201の送信可能確認の処理として、送信FIFO161の空きを確認する処理を行うものとしても、ステップS202で待機(送信FIFO161の空き待ち)することは実際には生じないといえる。そのため、コマンド送信処理は効率よく実行できるものとなる。
【0125】
さらには、ステップS201の送信可能確認の処理が、送信FIFO161の空きを確認するのみの処理とした場合(送信に関して他のエラー確認等は行わない場合)は、そもそもステップS201,S202の処理は不要とすることもできる。
図11Bの処理は、送信可能確認を行わない例である。主制御CPU100は、例えばステータスレジスタ156の送信FIFOトリガレベルを示すビットを確認する処理を行わない。コマンド送信処理として主制御CPU100が実行するのは、ステップS251としてデータレジスタ151に払出制御コマンドを書き込むのみとする。
これに応じてシリアル通信回路112では、データレジスタ151に書き込まれた払出制御コマンドを送信FIFO161に転送し、送信FIFO161から送信用シフトレジスタ160に転送して、払出制御部53に対するシリアル送信を実行する。
この
図11Bの処理によれば、払出制御コマンドの送信処理はさらに効率化される。
【0126】
続いて、上述の
図8のように定時処理として行われる主制御タイマ割込処理において行われる制御コマンドに関する処理として、払出制御コマンドに限らず、演出制御コマンドも含めて説明する。
上記
図8の主制御タイマ割込処理の過程で主制御部50は、例えば電源異常チェック処理(S51)で電源断コマンドを送信する場合がある。またタイマ割込内乱数管理処理(S54)で乱数異常に関する制御コマンドを送信することがある。またエラー管理処理(S55)で演出制御部51(及び演出制御部51を介して液晶制御基板52)や、払出制御部53にエラーに関する制御コマンドを送信する場合がある。また賞球管理処理(S56)で払出制御部53に対して払出制御コマンドを送信する場合がある。また、特別図柄管理処理(S59)、特別電動役物管理処理(S60)、右打ち報知情報管理処理(S61)で演出や表示に関する制御コマンドを演出制御部51に送信する場合がある。
但し、1回の主制御タイマ割込処理において送信が実行される制御コマンド数は、パチンコ遊技機としての機種によっても異なるが、最大10〜15コマンドである。
【0127】
これらの場合として、コマンド送信が発生する条件となった場合、主制御CPU100は
図12に示すステップS101として、その発生条件に応じたコマンドデータの生成を行う。そしてステップS102でコマンド送信処理をコールする。
【0128】
例えば主制御CPU100は
図13又は
図14のようなコマンド送信処理を呼び出して実行する。
図13の例の場合、主制御CPU100はステップS301で、シリアル通信回路112における送信可能確認を行う。上述の
図11のステップS201と同様、FIFOモードで動作しているシリアル通信回路112のステータスレジスタ156の各フラグを確認する。例えば送信FIFOトリガレベルを示すビットを確認して、送信FIFO161に空きがあるかを確認する。また、コマンド送信に支障があるエラーが発生しているか否かなどを確認してもよい。
送信FIFOトリガレベルを示すビットが“0”であると、データレジスタ151に制御コマンドを転送しても、送信FIFO161へ転送できない。このような場合にはステップS302からS301に戻って待機する。
送信可能(例えば送信FIFOトリガレベルを示すビットが“1”)であるときは、ステップS303に進んで、データレジスタ151にコマンドデータの上位バイトを書き込む。
また主制御CPU100はステップS304で再び送信可能確認を行う。そして待機が必要であればステップS305→S304として待機する。送信可能が確認されたら、ステップS306に進んで、データレジスタ151にコマンドデータの下位バイトを書き込む。
【0129】
シリアル通信回路112では、以上のようにデータレジスタ151に書き込まれる制御コマンドを、逐次送信FIFO161に転送し、送信FIFO161から送信用シフトレジスタ160に転送して、例えば演出制御部51に対するシリアル送信を実行する。
【0130】
なお、先に説明したように演出制御部51に対する演出制御コマンドは、1バイト長のモード(MODE)と、同じく1バイト長のイベント(EVENT)からなる2バイト構成である。ステップS
303、S
306の処理は、このような2バイト構成の場合に、その上位バイトと下位バイトをそれぞれデータレジスタ151に書き込むという意味である。
上述のように払出制御部53に対する払出制御コマンドが1バイト構成であるとした場合、それらのコマンド送信の際は、先述したように当該1バイトのコマンドデータ全体を
図11のステップS
303でデータレジスタ151に書き込んでコマンド送信処理を終了すればよい。
【0131】
ここで、上述のように送信FIFO161が64バイトの容量を備えていることを考える。すると、制御コマンドの送信の際に、送信FIFO161に空きが無いということは実際には発生しないものといえる。
1回の主制御タイマ割込処理において送信が実行される制御コマンド数は、上述のように最大10〜15コマンドである。仮に全てのコマンドを2バイト構成としても、送信するコマンドデータの最大は2×15の30バイトであり、64バイトの送信FIFO161の容量の半分程度である。
【0132】
このため実際には、1回のタイマ割込処理の過程で、送信FIFO161の容量がフルとなるほどコマンドデータが書き込まれることは生じない。
従って、ステップS301やS304の送信可能確認の処理として、送信FIFO161の空きを確認する処理を行うものとしても、ステップS302又はS305で待機(送信FIFO161の空き待ち)が生ずることは実際にはないといえる。そのため、コマンド送信処理は効率よく実行できるものとなる。
【0133】
さらには、ステップS301、S304の送信可能確認の処理が、送信FIFO161の空きを確認するのみの処理とした場合(送信に関して他のエラー確認等は行わない場合)は、そもそもステップS301,S302、及びS304,S305の処理は不要とすることもできる。
図14の処理は、送信可能確認を行わない例である。主制御CPU100は、例えばステータスレジスタ156の送信FIFOトリガレベルを示すビットを確認する処理を行わない。コマンド送信処理として主制御CPU100が実行するのは、ステップS351としてデータレジスタ151に制御コマンドの上位バイトを書き込み、またステップS352としてデータレジスタ151に制御コマンドの下位バイトを書き込むのみとする。
これらの処理に応じてシリアル通信回路112では、データレジスタ151に書き込まれた制御コマンドの上位バイト、下位バイトを順次送信FIFO161に転送し、送信FIFO161から送信用シフトレジスタ160に転送して、払出制御部53に対するシリアル送信を実行する。
この
図14の処理によれば、コマンド送信処理はさらに効率化される。
【0134】
<6.まとめ及び変形例>
以上、実施の形態として
図1〜
図14を用いて説明してきた構成や各処理により、本実施の形態のパチンコ遊技機1では、主制御部50の制御処理の効率化やそれによる処理負担の軽減が実現される。
【0135】
本実施の形態のパチンコ遊技機1は、n個(例えば7個)の入賞口を備え、遊戯球が入賞口に入球することに応じて遊技価値を付与する。そして遊技動作を統括的に制御すると共に、遊技動作に関連する制御コマンドを出力する主制御部50(主制御手段)と、主制御部50からの、賞球数を指定するmビット(例えば8ビット)の払出制御コマンドに基づいて遊技価値の付与を行う払出制御部53(払出制御手段)と、各入賞口のそれぞれに対応して設けられ、遊戯球の入球の検出信号を前記主制御手段に出力する複数のセンサ手段(例えば上始動口センサ71、下始動口センサ72、第1大入賞口センサ75、第2大入賞口センサ76、一般入賞口センサ74)とを備える。
主制御部50には、少なくとも(n×m:例えば7×8)ビット以上の容量(例えば容量64バイト)を有する送信FIFO161(送信データ記憶部)と、この送信FIFO161から転送された送信データをシリアル送信出力する送信用シフトレジスタ160とを有するシリアル通信回路112が備えられている。
そしてシリアル通信回路112を含む主制御部50は、例えばタイマ割込などによる所定時間毎に実行する賞球管理処理毎に、複数のセンサ手段のそれぞれからの検出信号に応じた1又は複数の払出制御コマンドを送信FIFO161に書き込み、送信FIFO161に書き込んだ払出制御コマンドを順次前記送信用シフトレジスタ160に転送して、払出制御部53に対してシリアル送信する処理を行う。
このようにシリアル通信回路112に(n×m)ビット以上の十分な容量を有する送信FIFO161が設けられていることで、仮に各入賞口の全てに同時に遊技球が入球したと仮定しても、それぞれの入球に応じた払出制御コマンドをシリアル通信回路にセットし、送信することができる。従って、払出制御コマンド送信で、送信FIFO161の空き待ちのような待機処理は実質的に生じないものとなり、より効率的な処理が実現される。
【0136】
また本実施の形態のパチンコ遊技機1は、遊技動作を統括的に制御すると共に、遊技動作に関連する制御コマンドを出力する主制御部50(主制御手段)と、主制御部50から出力される制御コマンドに基づいて制御動作を行うサブ制御手段(例えば演出制御部51等)を備える。また主制御部50が所定間隔で実行する1回の定時処理(主制御タイマ割込処理)におけるサブ制御手段へ送信する制御コマンド数の最大値をx(例えばx=15)、制御コマンドのビット数をy(例えばy=16ビット:2バイト)としたときに、前記主制御手段には、少なくとも(x×y)ビット以上の容量(例えば容量64バイト)を有する送信FIFO161(送信データ記憶部)と、送信FIFO161から転送された送信データをシリアル送信出力する送信用シフトレジスタ160とを有するシリアル通信回路112が備えられている。
そしてシリアル通信回路112を含む主制御部50は、1回の定時処理(例えば主制御タイマ割込処理)においてサブ制御手段に送信すべき1又は複数の制御コマンドを送信FIFO161に書き込み、送信FIFO161に書き込んだ制御コマンドを順次送信用シフトレジスタ160に転送して、サブ制御手段に対してシリアル送信する処理を行う。
このようにシリアル通信回路112に(x×y)ビット以上の十分な容量を有する送信FIFO161が設けられていることで、仮に1回の定時処理で最大数の制御コマンド送信が生ずると仮定しても、それぞれの制御コマンドを問題無くシリアル通信回路にセットし、送信することができる。従って、コマンド送信で、送信FIFO161の空き待ちのような待機処理は実質的に生じないものとなり、効率的な処理が実現される。
【0137】
また送信データのバッファ(送信データ記憶部)として例えばFIFO型のメモリとしてキュー構造を採用することで、送信データの書き込みの通りに順次送信用シフトレジスタ160への転送も行われ、送信バッファ上の転送に複雑な制御も不要である。
【0138】
またサブ制御手段として、最も制御コマンドの送信機会が多い演出制御部51を想定すること、つまり最大数xを演出制御コマンドの数を想定することで本実施の形態の有用性は高まる。
【0139】
また、シリアル通信回路112では、送信データ記憶部(送信FIFO161)に対する送信データ書込状況を示す書込状況フラグが設定される。即ちステータスレジスタ156における送信FIFOトリガレベルを示すビットである。
この場合に、主制御CPU100は、制御コマンドのデータレジスタ151への書込(つまりは送信FIFO161への転送)は、
図11Bや
図14のように、書込状況フラグの認識処理を行わずに実行することもできる。これによりコマンド書込の際の確認処理が不要で、処理負担が軽減され、より効率的な処理が実現される。
【0140】
なお、本発明は実施の形態で挙げた例に限らず多様な変形例や適用例が考えられる。
送信データのバッファとして機能する送信データ記憶部として送信FIFO161を例に挙げたが、必ずしもFIFO型のメモリでなくてもよい。n×mビット以上の容量を用意することで、少なくとも払出制御コマンドのシリアル通信回路112への書込に待機時間が必要になることが生じないことになり、処理は効率的に実行される。
また払出制御コマンドの送信は、4ms毎の主制御タイマ割込処理で行われる例を挙げたが、これに限られない。例えば入力管理処理(S53)で賞球フラグや賞球カウンタをセットし、それをメインループで確認して払出制御コマンドを送信するような処理例も考えられる。例えば賞球管理処理(S56)の全部又は一部を、
図7のステップS27,S29の間に行うような例である。
【0141】
また、上記では、本発明がパチンコ遊技機1のような弾球遊技機に適用される例を示したが、本発明は回胴式遊技機(いわゆるスロット機)にも適用できる。即ち遊戯価値の付与としての遊戯用メダルの払い出しやカウントなどのためのコマンド送信や、演出制御コマンドの送信処理として、本発明のシリアル送信方式を適用できる。