以下、実施例に基づいて本発明を詳細に説明する。図1は、本実施例のパチンコ機GMを示す斜視図である。このパチンコ機GMは、島構造体に着脱可能に装着される矩形枠状の木製外枠1と、外枠1に固着されたヒンジ2を介して開閉可能に枢着される前枠3とで構成されている。この前枠3には、遊技盤5が、裏側からではなく、表側から着脱自在に装着され、その前側には、ガラス扉6と前面板7とが夫々開閉自在に枢着されている。
ガラス扉6の外周には、LEDランプなどによる電飾ランプが、略C字状に配置されている。一方、ガラス扉6の下側には、スピーカが配置されている。
前面板7には、発射用の遊技球を貯留する上皿8が装着され、前枠3の下部には、上皿8から溢れ出し又は抜き取った遊技球を貯留する下皿9と、発射ハンドル10とが設けられている。発射ハンドル10は発射モータと連動しており、発射ハンドル10の回動角度に応じて動作する打撃槌によって遊技球が発射される。
上皿8の外周面には、演出ボタン11が設けられている。この演出ボタン11は、遊技者の左手で操作できる位置に設けられており、遊技者は、発射ハンドル10から右手を離すことなく演出ボタン11を操作できる。この演出ボタン11は、通常時には機能していないが、例えば、ゲーム状態がボタンチャンス状態となると演出ボタンの操作を受け付け可能となり、内蔵ランプを点灯させて操作可能であることが遊技者に報知される。また、この演出ボタン11は、モータ演出に遊技者を参加させる目的で活用される場合もある。
上皿8の右部には、カード式球貸し機に対する球貸し操作用の操作パネル12が設けられ、カード残額を3桁の数字で表示する度数表示部と、所定金額分の遊技球の球貸しを指示する球貸しスイッチと、ゲーム終了時にカードの返却を指令する返却スイッチとが設けられている。
図2に示すように、遊技盤5の表面には、金属製の外レールと内レールとからなるガイドレール13が環状に設けられ、その略中央には、背面側に延びる中央開口HOが設けられている。そして、中央開口HOの奥底には、液晶カラーディスプレイで構成された表示装置DISPが配置されている。また、遊技領域の適所には、図柄始動口15、大入賞口16、普通入賞口17、ゲート18が配設されている。
これらの入賞口15〜18は、それぞれ内部に検出スイッチを有しており、遊技球の通過を検出できるようになっている。そして、図柄始動口15に遊技球が入賞したことが検出されると、保留上限値を超えない限り、大当り抽選処理が実行され、遊技者に有利な遊技状態に移行するか否かが抽選決定される。
表示装置DISPの前面に形成される空間には、可動演出を実行する可動演出体AMUが昇降自在に配置されている。可動演出体AMUは、左右の昇降機構ALVa,ALVbに保持されて構成され、昇降機構ALVa,ALVbを駆動する演出モータM1,M2の回転に対応してガイド軸PLに沿って高速に昇降する。この可動演出体AMUは、可動演出時に、例えば表示装置DISPの最下部などの目的位置に移動して、他の演出モータM3〜M9の回転に対応する可動演出を実行することがある。なお、最上部に位置する待機状態(原点領域)では、遊技者から隠蔽されている。その他、遊技盤5の周りにも、小型の可動演出体(不図示)が複数個配置されており、多数の演出モータMOiによって複雑な可動演出を実現している。
本実施例の演出モータは、遊技盤5を保持する遊技枠に配置される第1群の演出モータMOiと、遊技盤5に配置される第2群の演出モータMxと、に区分されている。第2群の演出モータMxは、遊技盤5と一体化された盤側部材GM2(図3参照)であって、その遊技機の遊技性に対応した個性的な可動演出を実行する。これに対して、第1群の演出モータMOiは、遊技盤5から分離可能な枠側部材GM1(図3参照)であって、やや定型的な可動演出を実行する。
特に限定されないが、第1群及び第2群の全ての演出モータMx、MOiは、ステッピングモータで構成されており、各ステッピングモータは、2相励磁方式又は1−2相励磁方式で駆動されている。なお、この実施例では、可動演出体AMUを上下方向の往復駆動する演出モータM1〜M2は、電流方向が一定のユニポーラ型であるが、回転トルクを高めるべくバイポーラ型とするのも好適である。
ところで、表示装置DISPの上部には、待機状態の抽選処理数を特定するLED表示部LPが配置されている。LED表示部LPは、実施例の保留上限値に対応して4個のLEDランプで構成される。
表示装置DISPは、大当り状態に係わる特定図柄を変動表示すると共に背景画像や各種のキャラクタなどをアニメーション的に表示する装置である。この表示装置DISPは、中央部の特別図柄表示部Da〜Dcと、右上部の普通図柄表示部19と、中央下部の保留数表示部NUMと、を有している。保留数表示部NUMは、LED表示部LPに同期して同一の演出保留数を表示するが、可動演出体AMUが降下して実行される可動演出時には、表示内容が自動的に消滅するよう構成されている。
特別図柄表示部Da〜Dcでは、大当り抽選によって大当り状態が招来することを期待させるリーチ演出が実行され、特別図柄表示部Da〜Dc及びその周りでは、大当り抽選の当否結果を不確定に報知する予告演出などが実行される。また、普通図柄表示部19は普通図柄を表示するものであり、ゲート18を通過した遊技球が検出されると、普通図柄が所定時間だけ変動し、遊技球のゲート18の通過時点において抽出された抽選用乱数値により決定される停止図柄を表示して停止するようになっている。
図柄始動口15は、左右一対の開閉爪を備えた電動式チューリップで開閉されるよう例えば構成され、普通図柄表示部19の変動後の停止図柄が当り図柄を表示した場合には、開閉爪が所定時間だけ、若しくは、所定個数の遊技球を検出するまで開放されるようになっている。
図柄始動口15に遊技球が入賞すると、そのタイミングが画像演出の実行中でないことを条件に、特別図柄表示部Da〜Dcの表示図柄が所定時間だけ変動する画像演出が開始され、図柄始動口15への遊技球の入賞タイミングに応じた大当り抽選結果に基づいて決定される停止図柄で停止する。一方、画像演出中に図柄始動口15に遊技球が入賞すると、保留上限値(4個)に達しない限り、大当り抽選処理が保留状態となり、増加した演出保留数がLED表示部LPと、保留数表示部NUMに同期して表示される。なお、保留上限値を超えて図柄始動口15に遊技球が入賞した場合には、賞球動作として遊技球が払出されるだけで、大当り抽選処理は実行されない。
表示装置DISPの前面、及び/又は、その周りでは、一連の画像演出の間に、演出モータMx,MOiが動作して予告演出としての多様な可動演出が実行される。例えば、可動演出体AMUが中央開口HOの位置に降下することがあり、この場合には、目的位置まで降下した可動演出体AMUは、適宜な可動予告演出を実行した後、元の原点領域に向けて上昇する。
大入賞口16は、例えば前方に開放可能な開閉板16aで開閉制御されるが、特別図柄表示部Da〜Dcの図柄変動後の停止図柄が「777」などの大当り図柄のとき、「大当りゲーム」と称する特別遊技が開始され、開閉板16aが開放されるようになっている。
大入賞口16の開閉板16aが開放された後、所定時間が経過し、又は所定数(例えば10個)の遊技球が入賞すると開閉板16aが閉じる。このような動作は、最大で例えば15回まで特別遊技が継続され、遊技者に有利な状態に制御される。なお、特別図柄表示部Da〜Dcの変動後の停止図柄が特別図柄のうちの特定図柄であった場合には、特別遊技の終了後のゲームが高確率状態となるという特典が付与される。
図3は、上記した各動作を実現するパチンコ機GMの全体回路構成を示すブロック図である。図示の通り、このパチンコ機GMは、AC24Vを受けて各種の直流電圧や、電源異常信号ABN1、ABN2やシステムリセット信号(電源リセット信号)SYSなどを出力する電源基板20と、遊技制御動作を中心統括的に担う主制御基板21と、主制御基板21から受けた制御コマンドCMDに基づいてランプ演出及び音声演出を実行する演出制御基板22と、演出制御基板22から受けた制御コマンドCMD’に基づいて表示装置DSを駆動する画像制御基板23と、主制御基板21から受けた制御コマンドCMD”に基づいて払出モータMを制御して遊技球を払い出す払出制御基板24と、遊技者の操作に応答して遊技球を発射させる発射制御基板25と、を中心に構成されている。
但し、この実施例では、主制御基板21が出力する制御コマンドCMDは、コマンド中継基板26と演出インタフェイス基板27を経由して、演出制御基板22に伝送される。また、演出制御基板22が出力する制御コマンドCMD’は、演出インタフェイス基板27と画像インタフェイス基板28を経由して、画像制御基板23に伝送され、主制御基板21が出力する制御コマンドCMD”は、主基板中継基板32を経由して、払出制御基板24に伝送される。制御コマンドCMD,CMD’,CMD”は、何れも16ビット長であるが、主制御基板21や払出制御基板24が関係する制御コマンドは、8ビット長毎に2回に分けてパラレル送信されている。一方、演出制御基板22から画像制御基板23に伝送される制御コマンドCMD’は、16ビット長をまとめてパラレル伝送されている。そのため、可動予告演出を含む予告演出を、多様化して多数の制御コマンドを連続的に送受信するような場合でも、迅速にその処理を終えることができ、他の制御動作に支障を与えない。
ところで、本実施例では、演出インタフェイス基板27と演出制御基板22とは、配線ケーブルを経由することなく、雄型コネクタと雌型コネクタとを直結されて二枚の回路基板が積層されている。同様に、画像インタフェイス基板28と画像制御基板23についても、配線ケーブルを経由することなく、雄型コネクタと雌型コネクタとを直結されて二枚の回路基板が積層されている。そのため、各電子回路の回路構成を複雑高度化しても基板全体の収納空間を最小化できると共に、接続ラインを最短化することで耐ノイズ性を高めることができる。
これら主制御基板21、演出制御基板22、画像制御基板23、及び払出制御基板24には、ワンチップマイコンを備えるコンピュータ回路がそれぞれ搭載されている。そこで、これらの制御基板21〜24とインタフェイス基板27〜28に搭載された回路、及びその回路によって実現される動作を機能的に総称して、本明細書では、主制御部21、演出制御部22’、画像制御部23’、及び払出制御部24と言うことがある。すなわち、この実施例では、演出制御基板22と演出インタフェイス基板27とで演出制御部22’を構成し、画像制御基板23と画像インタフェイス基板28とで画像制御部23’を構成している。なお、演出制御部22’、画像制御部23’、及び払出制御部24の全部又は一部がサブ制御部である。
また、このパチンコ機GMは、図3の破線で囲む枠側部材GM1と、遊技盤5の背面に固定された盤側部材GM2とに大別されている。枠側部材GM1には、ガラス扉6や前面板7が枢着された前枠3と、その外側の木製外枠1とが含まれており、機種の変更に拘わらず、長期間にわたって遊技ホールに固定的に設置される。先に説明した通り、枠側部材GM1には、第1群の演出モータMOiも含まれる。
一方、盤側部材GM2は、機種変更に対応して交換され、新たな盤側部材GM2が、元の盤側部材の代わりに枠側部材GM1に取り付けられる。なお、枠側部材2を除く全てが、盤側部材GM2であり、盤側部材GM2には、第2群の演出モータMxが含まれる。
図3の破線枠に示す通り、枠側部材GM1には、電源基板20と、払出制御基板24と、発射制御基板25と、枠中継基板35と、ランプ駆動基板36と、モータ駆動基板37と、が含まれており、これらの回路基板が、前枠3の適所に各々固定されている。ここで、ランプ駆動基板36やモータ駆動基板37は、各々、盤側部材GM2であるランプ駆動基板29やモータ駆動基板30と略同一構成であり、シリアル信号を受ける同一構成の汎用ドライバDViが複数個搭載されている。そこで、本実施例では、モータ駆動基板30、ランプ駆動基板29、モータ駆動基板37、及び、ランプ駆動基板36の汎用ドライバDViに伝送されるシリアル信号に関して、チャンネルCH0〜チャンネルCH3と表現することがある。なお、枠中継基板35にもシリアル伝送回路が搭載されており、チャンネルCH4と表現することがある。
以上を踏まえて説明を続けると、モータ駆動基板37には、適宜な演出体による演出動作を実現する複数の演出モータMOiが配置されており、これら複数の演出モータMOiを駆動するための設定データSDATA2は、第2チャンネルCH2のシリアル信号として、クロック信号CK2と共に、演出制御基板22(ワンチップマイコン40のシリアル出力ポートS2)→演出インタフェイス基板27→枠中継基板34→枠中継基板35を経由して、モータ駆動基板37に搭載された複数の汎用ドライバDViに伝送されている。なお、複数の汎用ドライバDViは、演出制御基板22(ワンチップマイコン40)から許可レベルの動作許可信号ENABLE2を受けて動作可能となる。
また、モータ駆動基板37演出に近接してセンサ基板SENSが配置されており、センサ基板SENSには、演出モータMOiで駆動される複数N(例えば6個)の演出体が、各々、原点位置に位置しているか否かを検出する複数N個の原点検出センサ(図5(b)参照)が搭載されている。原点検出センサから出力される原点スイッチ信号SN(6ビット)は、演出ボタン11のスイッチ信号(2ビット)と共に枠中継基板35に伝送され、枠中継基板35で1ビットのシリアル信号に纏められた上で、枠中継基板34→演出インタフェイス基板27→演出制御基板22の経路でシリアル伝送される。このシリアル信号は、第4チャンネルCH4のシリアルデータSDATA4として、演出制御基板22のワンチップマイコン40のシリアル入力ポートS4に伝送されている。
図16(a)に示す通り、枠中継基板35には、8ビット長のパラレルデータを1ビット長のシリアルデータに変換するシフトレジスタ50が配置されており、シフトレジスタ50は、演出制御基板22のワンチップマイコン40から受ける動作許可信号ENABLE4とクロック信号CK4に基づいてシリアル伝送動作を実現している。なお、図16のシリアル伝送動作については、更に後述する。
一方、ランプ駆動基板36には、複数のLEDが接続されており、これらのLED群を駆動するための設定データSDATA3についても、第3チャンネルCH3のシリアル信号として、クロック信号CK3と共に、演出制御基板22(ワンチップマイコン40のシリアル出力ポートS3)→演出インタフェイス基板27→枠中継基板34→枠中継基板35を経由して、ランプ駆動基板36に搭載された複数の汎用ドライバDViに伝送されている。ランプ駆動基板36に搭載された汎用ドライバDViも、演出制御基板22(ワンチップマイコン40)から許可レベルの動作許可信号ENABLE3を受けて動作可能となる。
実施例の場合、モータ駆動基板37とランプ駆動基板36に搭載された汎用ドライバDViは、全て同一の回路構成であり、この点は、枠側部材GM1に属するモータ駆動基板30やランプ駆動基板29に搭載された汎用ドライバDViについても同様である。そして、動作許可信号ENABLEや、シリアルデータである設定データSDATAを受けて、汎用ドライバDViの内部回路が機能することで、出力信号(最高24ビットのアナログ信号)を出力している。
この出力信号は、駆動対象物に対応して、ステッピングモータを歩進回転させる駆動信号か、或いは、ランプを点滅制御する点灯信号であるが、何れの場合も、そのアナログレベル(階調レベル)を128段階で設定可能に構成されている。また、各汎用ドライバDViの出力端子は、各々24個であるので、例えば、ランプ駆動基板29,36にM個の汎用ドライバDViを搭載すれば、各々24×M個のランプを制御でき、モータ駆動基板37,30にN個の汎用ドライバDViを搭載すれば、各々24×N個の演出モータを制御できることになる。このように、各演出体を制御する設定信号SDATAがシリアル伝送されるので、ランプや演出モータの個数を増加させて演出動作を豊富化しても、配線が煩雑化したり、制御回路が複雑化することがない。
遊技盤5の背面には、主制御基板21、演出制御基板22、画像制御基板23が、表示装置DSやその他の回路基板と共に固定されている。そして、枠側部材GM1と盤側部材GM2とは、一箇所に集中配置された接続コネクタC1〜C4によって電気的に接続されている。
電源基板20は、接続コネクタC2を通して、主基板中継基板32に接続され、接続コネクタC3を通して、電源中継基板33に接続されている。電源基板20には、交流電源の投入と遮断とを監視する電源監視部MNTが設けられている。電源監視部MNTは、交流電源が投入されたことを検知すると、所定時間だけシステムリセット信号SYSをLレベルに維持した後に、これをHレベルに遷移させる。
また、電源監視部MNTは、交流電源の遮断を検知すると、電源異常信号ABN1,ABN2を、直ちにLレベルに遷移させる。なお、電源異常信号ABN1,ABN2は、電源投入後に速やかにHレベルとなる。
本実施例のシステムリセット信号は、交流電源に基づく直流電源によって生成されている。そのため、交流電源の投入(通常は電源スイッチのON)を検知してHレベルに増加した後は、直流電源電圧が異常レベルまで低下しない限り、Hレベルを維持する。したがって、直流電源電圧が維持された状態で、交流電源が瞬停状態となっても、システムリセット信号SYSがCPUをリセットすることはない。なお、電源異常信号ABN1,ABN2は、交流電源の瞬停状態でも出力される。
主基板中継基板32は、電源基板20から出力される電源異常信号ABN1、バックアップ電源BAK、及びDC5V,DC12V,DC32Vを、そのまま主制御部21に出力している。一方、電源中継基板33は、電源基板20から受けたシステムリセット信号SYSや、交流及び直流の電源電圧を、そのまま演出インタフェイス基板27に出力している。演出インタフェイス基板27は、受けたシステムリセット信号SYSを、そのまま演出制御部22’と画像制御部23’に出力している。
一方、払出制御基板24は、中継基板を介することなく、電源基板20に直結されており、主制御部21が受けると同様の電源異常信号ABN2や、バックアップ電源BAKを、その他の電源電圧と共に直接的に受けている。
電源基板20が出力するシステムリセット信号SYSは、電源基板20に交流電源24Vが投入されたことを示す電源リセット信号であり、この電源リセット信号によって演出制御部22’と画像制御部23’のワンチップマイコンは、その他のIC素子と共に電源リセットされるようになっている。
但し、このシステムリセット信号SYSは、主制御部21と払出制御部24には、供給されておらず、各々の回路基板21,24のリセット回路RSTにおいて電源リセット信号(CPUリセット信号)が生成されている。そのため、例えば、接続コネクタC2がガタついたり、或いは、配線ケーブルにノイズが重畳しても、主制御部21や払出制御部24のCPUが異常リセットされるおそれはない。
なお、演出制御部22’と画像制御部23’は、主制御部21からの制御コマンドに基づいて、従属的に演出動作を実行することから、回路構成の複雑化を回避するために、電源基板20から出力されるシステムリセット信号SYSを利用している。
ところで、主制御部21や払出制御部24に設けられたリセット回路RSTは、各々ウォッチドッグタイマを内蔵しており、各制御部21,24のCPUから、定時的なクリアパルスを受けない限り、各CPUは強制的にリセットされる。
また、この実施例では、RAMクリア信号CLRは、主制御部21で生成されて主制御部21と払出制御部24のワンチップマイコンに伝送されている。ここで、RAMクリア信号CLRは、各制御部21,24のワンチップマイコンの内蔵RAMの全領域を初期設定するか否かを決定する信号であって、係員が操作する初期化スイッチSWのON/OFF状態に対応した値を有している。
主制御部21及び払出制御部24は、電源基板20から電源異常信号ABN1,ABN2を受けることによって、停電や営業終了に先立って、必要な終了処理を開始するようになっている。また、バックアップ電源BAKは、営業終了や停電により交流電源24Vが遮断された後も、主制御部21と払出制御部24のワンチップマイコンの内蔵RAMのデータを保持するDC5Vの直流電源である。したがって、主制御部21と払出制御部24は、電源遮断前の遊技動作を電源投入後に再開できることになる(電源バックアップ機能)。このパチンコ機では少なくとも数日は、各ワンチップマイコンのRAMの記憶内容が保持されるよう設計されている。
図3に示す通り、主制御部21は、主基板中継基板32を経由して、払出制御部24に制御コマンドCMD”を送信する一方、払出制御部24からは、遊技球の払出動作を示す賞球計数信号や、払出動作の異常に係わるステイタス信号CONや、動作開始信号BGNを受信している。ステイタス信号CONには、例えば、補給切れ信号、払出不足エラー信号、下皿満杯信号が含まれる。動作開始信号BGNは、電源投入後、払出制御部24の初期動作が完了したことを主制御部21に通知する信号である。
また、主制御部21は、直接的に、或いは、遊技盤中継基板31を経由して、遊技盤5の各遊技部品に接続されている。そして、遊技盤上の各入賞口16〜18に内蔵された検出スイッチのスイッチ信号を受ける一方、電動式チューリップなどのソレノイド類を駆動している。ソレノイド類や検出スイッチは、主制御部21から配電された電源電圧VB(12V)で動作するよう構成されている。また、図柄始動口15への入賞状態などを示す各スイッチ信号は、電源電圧VB(12V)と電源電圧Vcc(5V)とで動作するインタフェイスICで、TTLレベル又はCMOSレベルのスイッチ信号に変換された上で、主制御部21に伝送される。
先に説明した通り、演出制御基板22と演出インタフェイス基板27とはコネクタ連結によって一体化されており、演出制御部22’は、電源中継基板33を経由して、電源基板20から各レベルの直流電圧(5V,12V,32V)と、システムリセット信号SYSを受けている(図3及び図4参照)。また、演出制御部22’は、コマンド中継基板26を経由して、主制御部21から制御コマンドCMDとストローブ信号STBとを受けている。
そして、演出制御部22’は、演出インタフェイス基板27を経由して、モータ駆動基板30やランプ駆動基板29に搭載された汎用ドライバDViに、各々、クロック信号CKや動作許可信号ENABLEと共に、チャンネルCH0とチャンネルCH1のシリアル信号として、設定データSDATAを供給している。先に説明した通り、モータ駆動基板30やランプ駆動基板29に搭載されている汎用ドライバDViは、モータ駆動基板37やランプ駆動基板36に搭載された汎用ドライバDViと同一構成であり、ランプ演出を実現するランプ群や、モータ演出を実現するモータ群は、4チャンネル(j=0〜3)に区分された信号CKj,SDATAj,ENABLEjを受ける多数の汎用ドライバDViによって駆動されている。
このように本実施例では、ランプ駆動用の設定データSDATAjだけでなく、モータ駆動用の設定データSDATAjについても、シリアル伝送されるので、演出内容を豊富化するべく演出モータMx,MOiの個数を増やしても、配線ケーブルが増加することがなく、機器構成が簡素化される。なお、後で詳述するが、汎用ドライバDViは、演出制御部22’のワンチップマイコン40のシリアル出力ポートSiから出力される各チャンネル(j=0〜3)の設定データのうち、自チャンネルCHjの設定データSDATAjの該当部分だけを取得して、担当するランプ群やモータ群を駆動している。
ところで、本実施例では、モータ駆動基板30に近接して、枠側と同様の盤側のセンサ基板SENSが配置されている。枠側のセンサ基板SENSと同様に、盤側のセンサ基板SENSにも、適宜な原点検出センサが配置され、可動演出体AMUが原点領域に収容されているか否かを判定している。先に説明した通り、枠側のセンサ基板SENSから出力された原点スイッチ信号SNは、第4チャンネルCH4のシリアル信号として、ワンチップマイコン40のシリアル入力ポートS4に伝送されるが、可動演出体AMUの原点スイッチ信号SNについては、演出インタフェイス基板27を経由して、ワンチップマイコン40の入力ポートPi’に伝送されるように構成されている(図4参照)。
図3及び図4に示す通り、演出制御部22’は、画像制御部23’に対して、制御コマンドCMD’及びストローブ信号STB’と、電源基板20から受けたシステムリセット信号SYSと、2種類の直流電圧(12V,5V)とを出力している。
そして、画像制御部23’では、制御コマンドCMD’に基づいて表示装置DSを駆動して各種の画像演出を実行している。表示装置DSは、LEDバックライトによって発光しており、画像インタフェイス基板28から5対のLVDS(低電圧差動伝送Low voltage differential signaling)信号と、バックライト電源電圧(12V)とを受けて駆動されている(図4参照)。
続いて、上記した演出制御部22’と画像制御部23’の構成を更に詳細に説明する。図4に示す通り、演出インタフェイス基板27は、電源中継基板33を経由して、電源基板20から3種類の直流電圧(5V,12V,32V)を受けている。ここで、直流電圧5Vは、デジタル論理回路の電源電圧として、演出インタフェイス基板27、ランプ駆動基板29、モータ駆動基板30、画像インタフェイス基板28、及び画像制御基板23に配電されて各デジタル回路を動作させている。
演出制御基板22には、直流電圧5Vが配電されておらず、12VからDC/DCコンバータで降圧された直流電圧3.3Vと、3.3VからDC/DCコンバータで更に降圧された直流電圧1.8Vだけが、演出インタフェイス基板27から演出制御基板22に配電されている。
このように、本実施例の演出制御基板22は、全ての回路が、電源電圧3.3V又はそれ以下の電源電圧で駆動されているので、電源電圧を5Vで動作する場合と比較して大幅に低電力化することができ、仮に、演出制御基板22の直上に演出インタフェイス基板27を配置して積層しても放熱上の問題が生じない。
但し、電源基板20から受けた直流電圧12Vは、そのままデジタルアンプ46の電源電圧として使用されると共に、ランプ駆動基板29やモータ駆動基板30に配電されてランプ群やモータ群の電源電圧となる。なお、直流電圧32Vは、演出インタフェイス基板のDC/DCコンバータにおいて直流電圧13Vに降圧されて、一部の演出モータMxの駆動電源として使用される。
図4に示すように、演出制御部22’は、音声演出・ランプ演出・可動演出体による予告演出・データ転送などの処理を実行するワンチップマイコン40と、ワンチップマイコン40の制御プログラムなどを記憶するフラッシュメモリ(flash memory)41と、ワンチップマイコン40からの指示に基づいて音声信号を再生して出力する音声合成回路42と、再生される音声信号の元データである圧縮音声データを記憶する音声用メモリ43とを備えて構成されている。
ここで、ワンチップマイコン40、フラッシュメモリ41、及び音声用メモリ43は、電源電圧3.3Vで動作しており、また、音声合成回路42は、電源電圧3.3V及び電源電圧1.8Vで動作しており大幅な省電力化が実現されている。ここで、1.8Vは、音声合成回路のコンピュータ・コア部の電源電圧であり、3.3Vは、I/O部の電源電圧である。
ワンチップマイコン40には、複数のパラレル入出力ポートPIO(Pi+Pi’+Po+Po’)と、複数のシリアル入出力ポートSiとが内蔵されている。ここで、シリアル入出力ポートSiは、制御レジスタRGへの設定値に基づいて入力ポート又は出力ポートとして機能する(図6参照)。そこで、本実施例では、CH0〜CH3のシリアルポート(S0〜S3)を、シリアル出力ポートに設定し、CH4のシリアルポートS4を、シリアル入力ポートに設定している。
そして、4チャンネルCH0〜CH3のシリアル出力ポート(S0〜S3)を活用して、モータ駆動基板30,37や、ランプ駆動基板29,36に搭載された多数の汎用ドライバDViに、設定データSDATA0〜SDATA3を、クロック信号CK0〜CK3に同期して出力している。すなわち、シリアル出力ポートS0〜S3は、クロック同期方式に基づいて、対応するモータ駆動基板30,37やランプ駆動基板29,36に対して、設定データSDATA0〜SDATA3を伝送している。なお、モータ駆動用の設定データSDATA0,SDATA2は、複数の演出モータMx,MOiの歩進動作を制御する駆動データΦ1〜Φ4を連結させたシリアルデータを含んでおり、ランプ駆動用の設定データSDATA1,SDATA3は、各LEDの発光輝度をPWM制御する輝度データを連結させたシリアルデータを含んでいる。
一方、シリアル入力ポートS4は、自らが出力するクロック信号CK4に同期して、第4チャンネルCH4のシリアル信号SADATA4を取得している。なお、第4チャンネルCH4のシリアル信号は、枠側のセンサ基板SENSから出力された原点スイッチ信号SN(6ビット)と、演出ボタン11のスイッチ信号(2ビット)をまとめた8ビットデータである。
また、モータ駆動基板30,37やランプ駆動基板29,36は、パラレル入出力ポートPIOのパラレル出力ポートPo’にも接続されており、各駆動基板30,37,29,36に搭載された汎用ドライバDViは、パラレル出力ポートPo’が出力する4ビット長の動作許可信号ENABLE0〜ENABLE3の何れか1ビットに基づいて動作を開始している。また、パラレル出力ポートPo’は、枠中継基板35に対しても、動作許可信号ENABLE4を出力しており、枠中継基板35のシフトレジスタ50の動作を許可している。
なお、全ての信号ENABLEj,CKj,SDATAjは、電源電圧3.3Vのワンチップマイコン40で生成されたデジタルデータであるが、演出インタフェイス基板27でレベル変換されることで電源電圧5Vに対応するデジタルデータとなる。したがって、演出インタフェイス基板27から汎用ドライバDViまでの伝送距離が長い場合でも、十分なノイズマージンが確保される。
パラレル入出力ポートPIOの入力ポートPiには、主制御部21からの制御コマンドCMD及びストローブ信号STBが入力され、コマンド出力ポートPoからは、制御コマンドCMD’及びストローブ信号STB’が出力されるよう構成されている。具体的には、入力ポートPiには、主制御基板21から出力された制御コマンドCMDとストローブ信号(割込み信号)STBとが、演出インタフェイス基板27のバッファ44において、電源電圧3.3Vに対応する論理レベルに変換されて8ビット単位で供給される。割込み信号STBは、ワンチップマイコンの割込み端子に供給され、受信割込み処理によって、演出制御部22’は、制御コマンドCMDを取得するよう構成されている。
演出制御部22’が取得する制御コマンドCMDには、(1)異常報知その他の報知用制御コマンドなどの他に、(2)図柄始動口への入賞に起因する各種演出動作の概要を特定する制御コマンド(変動パターンコマンド)や、図柄種別を指定する制御コマンド(図柄指定コマンド)が含まれている。ここで、変動パターンコマンドで特定される演出動作の概要には、演出開始から演出終了までの演出総時間と、大当たり抽選における当否結果とが含まれている。
また、図柄指定コマンドには、大当たり抽選の結果に応じて、大当たりの場合には、大当たり種別に関する情報(15R確変、2R確変、15R通常、2R通常など)を特定する情報が含まれ、ハズレの場合には、ハズレを特定する情報が含まれている。変動パターンコマンドで特定される演出動作の概要には、演出開始から演出終了までの演出総時間と、大当り抽選における当否結果とが含まれている。なお、これらに加えて、リーチ演出や予告演出の有無などを含めて変動パターンコマンドで特定しても良いが、この場合でも、演出内容の具体的な内容は特定されていない。
そのため、演出制御部22’では、変動パターンコマンドを取得すると、これに続いて演出抽選を行い、取得した変動パターンコマンドで特定される演出概要を更に具体化している。例えば、リーチ演出や予告演出について、その具体的な内容が決定される。そして、決定された具体的な遊技内容にしたがい、モータ群M1〜M9及びMOiによるモータ演出や、LED群の点滅によるランプ演出や、スピーカによる音声演出の準備動作を行うと共に、画像制御部23’に対して、ランプやスピーカによる演出動作に同期した画像演出に関する制御コマンドCMD’を出力する。
このような演出動作に同期した画像演出を実現するため、演出制御部22’は、コマンド出力ポートPoを通して、画像制御部23’に対するストローブ信号(割込み信号)STB’と共に、16ビット長の制御コマンドCMD’を演出インタフェイス基板27に向けて出力している。なお、演出制御部22’は、図柄指定コマンドや、表示装置DSに関連する報知用制御コマンドや、その他の制御コマンドを受信した場合は、その制御コマンドを、16ビット長に纏めた状態で、割込み信号STB’と共に演出インタフェイス基板27に向けて出力している。
上記した演出制御基板22の構成に対応して、演出インタフェイス基板27には出力バッファ45が設けられており、16ビット長の制御コマンドCMD’と1ビット長の割込み信号STB’を画像インタフェイス基板28に出力している。そして、これらのデータCMD’,STB’は、画像インタフェイス基板28を経由して、画像制御基板23に伝送される。
また、演出インタフェイス基板27には、音声合成回路42から出力される音声信号を受けるデジタルアンプ46が配置されている。先に説明した通り、音声合成回路42は、3.3Vと1.8Vの電源電圧で動作しており、また、デジタルアンプ46は、電源電圧12VでD級増幅動作しており、消費電力を抑制しつつ大音量の音声演出を可能にしている。
そして、デジタルアンプ46の出力によって、遊技機上部の左右スピーカと、遊技機下部のスピーカとを駆動している。そのため、音声合成回路42は、3チャネルの音声信号を生成する必要があり、これをパラレル伝送すると、音声合成回路42とデジタルアンプ46との配線が複雑化する。
そこで、本実施例では、音質の劣化を防止すると共に、配線の複雑化を回避するため、音声合成回路42とデジタルアンプ46との間は、4本の信号線で接続されており、具体的には、転送クロック信号SCLKと、チャネル制御信号LRCLKと、2ビット長のシリアル信号SD1,SD2との合計4ビットの信号線に抑制されている。なお、何れの信号も、その振幅レベルは3.3Vである。
ここで、SD1は、遊技機上部に配置された左右スピーカのステレオ信号R,Lを特定するPCMデータについてのシリアル信号であり、SD2は、遊技機下部に配置された重低音スピーカのモノラル信号を特定するPCMデータについてのシリアル信号である。そして、音声合成回路42は、チャネル制御信号LRCLKをLレベルに維持した状態で、左チャネルの音声信号Lを伝送し、チャネル制御信号LRCLKをHレベルに維持した状態で、右チャネルの音声信号Rを伝送する(図4(b)参照)。なお、重低音スピーカは本実施例では1個であるので、モノラル音声信号が伝送されているが、ステレオ音声信号として伝送できるのは勿論である。
何れにしても本実施例では、4種類の音声信号を4本のケーブルで伝送可能であるので、最小のケーブル本数によってノイズによる音声劣化のない信号伝達が可能となる。すなわち、シリアル伝送であるのでパラレル伝送より圧倒的にケーブル本数が少ない。なお、アナログ伝送を採る場合には、ケーブル本数は同数であるが、3.3V振幅のアナログ信号に、少なからずノイズが重畳して、音質が大幅に劣化する。一方、振幅レベルを上げると、電源配線が複雑化する上に消費電力が増加する。
このようなシリアル信号SD1,SD2は、クロック信号SCLKの立上りエッジに同期して、デジタルアンプ46に取得される。そして、デジタルアンプ46内部で、所定ビット長毎にパラレル変換され、DA変換後にD級増幅されて各スピーカに供給されている。
また、演出インタフェイス基板27には、ワンチップマイコン40のパラレル出力ポートPo’や、シリアルポートSiから出力される各種の信号を伝送する出力バッファ回路47,48,49が設けられている。ここで、出力バッファ47は、第2チャンネルCH2のモータ群や、第3チャネルCH3のLED群に関連しており、ワンチップマイコン40が出力するモータ駆動用やランプ駆動用の設定データSDATA2,SDATA3と、クロック信号CK2,CK3と、動作許可信号ENABLE2,ENABLE3を、振幅レベルを3.3Vから5Vにレベル変換した上で、枠中継基板34に出力している。そして、出力された3×2ビットの信号は、枠中継基板34、及び、枠中継基板35を経由して、モータ駆動基板37やランプ駆動基板36の汎用ドライバDViに伝送される。
また、出力バッファ47は、上記の信号とは別に、動作許可信号ENABLE4を出力しており、この動作許可信号ENABLE4は、枠中継基板34を経由して、枠中継基板35のシフトレジスタ50に伝送される。
同様に、出力バッファ48は、ワンチップマイコン40が出力するランプ駆動用の設定データSDATA1、クロック信号CK1、及び、動作許可信号ENABLE1を、振幅レベルを5Vにレベル変換した上で、ランプ駆動基板29の汎用ドライバDViに伝送しており、また、出力バッファ49は、モータ駆動用の設定データSDATA0、クロック信号CK0、及び、動作許可信号ENABLE0を、振幅レベルを5Vにレベル変換した上で、モータ駆動基板30の汎用ドライバDViに伝送している。
ここで、ランプ駆動基板29に搭載された汎用ドライバDViは、第1チャンネルCH1のLED群を駆動し、モータ駆動基板30に搭載された汎用ドライバDViは、第0チャンネルCH0の演出モータM1〜M9を駆動している。なお、各信号SDATAj,CKj,ENABLEjが、振幅レベル5Vで伝送されるので、伝送距離に拘わらず、十分なノイズマージンを有していることは先に説明した通りである。
特に限定されるものではないが、この実施例の演出モータM1〜M9は、2相励磁されるユニポーラ型のステッピングモータで構成され、汎用ドライバDViから2相励磁用の駆動データΦ1〜Φ4(図5(d)参照)を受けるモータドライバOUTによって駆動されて適宜な歩進動作を実現している。
図7(b)は、演出モータM1〜M9と、演出モータM1〜M9を駆動する9個のモータドライバOUTと、各モータドライバOUTに駆動データΦ1〜Φ4を出力する汎用ドライバDV0,DV1との関係を略記したものである。図示の通り、汎用ドライバDV0,DV1は、ワンチップマイコン40から、クロック信号CK0と、モータ駆動用の設定データSDATA0と、動作許可信号ENABLE0とを共通的に受けている。また、各演出モータM1〜M9には、演出インタフェイス基板27から直流電圧12Vが供給されている。
図5(a)に示す通り、モータドライバOUTは、ダーリントン接続された4組のトランジスタTrと4個のダンパーダイオードDpとを内蔵して構成され、汎用ドライバDViから駆動データΦ1〜Φ4を受けて、演出モータMxを駆動している。なお、可動演出体AMUを往復移動させる2個の演出モータM1,M2の励磁巻線Lx,Lyには、他の演出モータMxより高レベルの駆動電流を流すことで高い回転トルクを実現している。
図5(a)は、一対のモータドライバOUT,OUTと、一対の演出モータM1,M3との接続関係を示す回路図である。図示の通り、本実施例では、モータドライバOUT(ドライバIC)と演出モータMxとを一対一に対応させるのではなく、二個一組のモータドライバOUT,OUTと、二個一組の演出モータM1,M3とを対応させている。そして、各演出モータM1,M3について、励磁巻線Lxに駆動電流を供給するモータドライバOUTを、励磁巻線Lyに駆動電流を供給するモータドライバOUTとは別構成としている。なお、図7(c)は、演出モータM1の2相の励磁巻線Lx,Lyが、異なるモータドライバOUT,OUTによって駆動されること図示した図面である。
ここで、1組の演出モータM1,M3としては、同時には駆動されないか、或いは、同時に駆動される可能性が低い演出モータが選択される。したがって、演出モータM1と協働する演出モータM2は、別の演出モータM4と組み合わされて別の一組(M2,M4)を構成している。本実施例では、このような接続方法を採るため、モータドライバOUTに内蔵された4組のトランジスタTrについて、その2個以上が同時にON動作することがなく、したがって、演出モータMxに高い駆動電流を流しても、ドライバICの発熱を効果的に抑制することができる。
なお、二個一組のモータドライバOUT,OUTと、二個一組の演出モータMx,Myと、を適宜に対応させることで、各ドライバICの平均消費電力を抑制する接続関係は、第0チャンネルの他の演出モータM5〜M8や、第2チャンネルCH2の演出モータMOiについても同じである。
図5(b)は、可動演出体AMUが原点領域に収容されていることを検出するためのセンサ基板SENS(枠側部材)の構成を示す回路図である。盤側部材であるセンサ基板SENSについても同様の回路構成であり、何れのセンサ基板SENSも、例えば、原点検出センサPHと、その付属回路とで構成されている。原点検出センサPHは、具体的には、発光部と受光部とを有するフォトインタラプタであり、発光部は、フォトダイオードで構成され、受光部は、フォトトランジスタで構成されている。フォトダイオードとフォトトランジスタには各々、電流制限抵抗を通して電源電圧Vcc(=5V)が供給され、フォトトランジスタのコレクタ端子の電圧が、原点スイッチ信号SNとして出力される。
そして、発光部と受光部の間には、原点領域に待機する可動演出体AMUの一部(遮光片)が位置して、フォトダイオードの検査光を遮断している。そのため、可動演出体AMUが原点領域に位置する限り、原点スイッチ信号SNがHレベルであるが、可動演出体AMUが原点領域から離脱すると原点スイッチ信号SNがLレベルとなる(図5(c)参照)。先に説明した通り、原点スイッチ信号SNは、ワンチップマイコン40のパラレル入力ポートPi’に伝送されるので(図4参照)、演出制御基板22は、原点スイッチ信号SNのH/Lレベルに基づいて、可動演出体AMUが原点領域に位置しているか否かを把握することができる。
なお、盤側部材の原点スイッチ信号SNは、演出インタフェイス基板27でレベル変換されて、電源電圧3.3Vに対応する原点スイッチ信号SNとして、ワンチップマイコン40のパラレル入力ポートPi’に供給される。一方、枠側部材の原点スイッチ信号SN(6ビット)は、枠中継基板35のシフトレジスタ50(図16(a))でシリアル変換されて、ワンチップマイコン40のシリアル入力ポートS4に供給される。
図6(a)は、ワンチップマイコン40に内蔵されたシリアルポートSiの内部構成を図示したものである。図示の通り、シリアルポートS0〜シリアルポートS3は、出力ポートとして、全て同一構成であり、CPUコアから1バイトデータを受ける送信データレジスタDRと、送信データレジスタDRから1バイトデータの転送を受けて、設定データSDATAとしてシリアル出力する送信シフトレジスタSRと、シリアルポートの内部動作状態を管理する多数の制御レジスタRGと、カウンタ回路CTの出力パルスΦを受けて制御レジスタRGが指定する分周比のクロック信号CKjを出力するボーレートジェネレータBGと、を有して構成されている。
シリアル出力ポート(S0〜S3)の場合、制御レジスタRGには、エンプティビットEMPを含んだREAD可能な制御レジスタが含まれており、送信データレジスタDRが、新規データを受け入れ可能か否かを示している。すなわち、送信シフトレジスタSRの1バイトデータの送信が完了すると、エンプティビットEMPがHレベル(empty レベル)に遷移して、送信データレジスタDRに、新規データを書込むことができることが示される。したがって、CPUコア(以下、CPUと称す)は、エンプティビットEMPがHレベルであることを確認した上で、新規データを送信データレジスタDRに書込むことになる。
一方、シリアルポートS4は、入力ポートであって、外部からシリアルデータSDATA4を受けてパラレル変換する受信シフトレジスタSR’と、受信シフトレジスタSR’から1バイトデータの転送を受ける受信データレジスタDR’と、CPUコアから1バイトデータを受ける送信データレジスタDRと、シリアルポートの内部動作状態を管理する多数の制御レジスタRGと、カウンタ回路CTの出力パルスΦを受けて制御レジスタRGが指定する分周比のクロック信号CK4を出力するボーレートジェネレータBGと、を有して構成されている。なお、シリアルポートS0〜S4の内部回路構成は全て同一であり、制御レジスタRGへの設定値の違いなど、使用態様の差異にもとづき、シリアル入力ポート、又はシリアル出力ポートとして機能する。
シリアル入力ポート(S4)の場合、制御レジスタRGには、受信データレジスタDR’に1バイト長のデータが転送されたことを示す完了ビットFULLも含まれており、CPUは、完了ビットFULLがHレベル(完了レベル)であることを確認した上で、受信データレジスタDR’から受信データを取得することになる。
また、シリアルポート(S0〜S4)の制御レジスタRGには、送信許可ビットTXEや受信許可ビットRXEを含んだWRITE可能な制御レジスタが含まれている。そして、CPUが送信許可ビットTXEをON(H)レベルに設定すると、シリアル出力ポート(S0〜S3)の送信動作が許可され、OFFレベルに設定すると送信動作が禁止される。そこで、本実施例では、CPUは、送信処理の開始時に送信許可ビットTXEをON状態にセットし、送信処理の終了時に送信許可ビットTXEをOFFレベルにリセットしている。
一方、CPUが受信許可ビットRXEをON(H)レベルに設定すると、シリアル入力ポート(S4)の受信動作が許可され、OFFレベルに設定すると受信動作が禁止されるので、CPUは、受信処理の開始時に受信許可ビットRXEをON状態にセットし、受信処理の終了時に受信許可ビットRXEをOFFレベルにリセットしている。
図6(b)は、シリアル出力ポートS0〜S3について、送信開始時の動作を示すタイムチャートである。図示の通り、シリアル出力ポートS0〜S3が送信禁止状態(TXE=L)である場合や、送信データレジスタDRのデータがシリアル出力された後は、クロック信号CKが固定状態のHレベルである。また、送信データレジスタDRは空であり、エンプティビットEMPもHレベル(empty レベル)である。
そして、CPUが送信許可ビットTXEをON状態(送信許可状態)にセットした後、送信データレジスタDRに1バイト目の送信データを書込むと、エンプティビットEMPがLレベルに遷移すると共に、その後、所定時間(τ)経過後に、1バイト目の送信データが送信シフトレジスタSRに転送されて、シリアル送信動作が開始される。
また、送信データが送信シフトレジスタSRに転送されたことで、1ビット目のシリアル送信開始に対応して、その後は、エンプティビットEMPがHレベル(empty レベル)に遷移する。したがって、CPUは、HレベルのエンプティビットEMPを確認した上で、2バイト目の送信データを、送信データレジスタDRに書込むことになる。
すると、送信データレジスタDRへのデータ書込み動作に対応して、エンプティビットEMPがLレベル(fullレベル)に遷移する。そして、その後、1バイト目の送信データが全て送信されると、送信データレジスタDRから送信シフトレジスタSRに2バイト目のデータが転送され、2バイト目のデータ送信が開始されて、エンプティビットEMPがHレベルに遷移する。
このエンプティビットEMPは、送信データレジスタDRへの3バイト目のデータ書込み動作に対応して、Lレベルに変化するが、図示のように、新規データの書き込みがない場合にはHレベルを維持する。また、全てのデータが送信された後は、クロック信号CKがHレベルを維持して変化しない。
特に限定されないが、この実施例では、汎用ドライバDViの内部動作に対応して、1バイトデータのMSB(Most Significant Bit)からLSB(Least Significant Bit )に向けて、クロック信号CKに同期して送信動作が実行されるよう設定され(MSBファースト)、該当する制御レジスタRGに適宜な設定値が設定される。また、クロック信号CKの立下りエッジに同期して、送信動作が進行することも図示の通りである。なお、ここでは、CPUがエンプティビットEMPのHレベルを判定した上で、送信データレジスタDRに次の1バイトデータを書込むフラグセンス方式について説明したが、エンプティビットEMPがHレベルに遷移したことに対応して、割込み処理を起動させる割込み方式を採るのも好適である。
図6(c)は、シリアル入力ポートS4について、データ受信動作を示すタイムチャートである。図示の場合、便宜上、受信データは全体で2バイト長であるが、シリアル入力ポートS4が受信禁止状態(RXE=L)である場合や、2バイト長の受信処理を終えた後は、クロック信号CK4が固定状態のHレベルである。また、完了ビットFULLもLレベル(empty レベル)である。
そして、CPUが受信許可ビットRXEをON状態にセットした後、送信データレジスタDRに1バイト目のダミーデータを書込むと、クロック信号CK4の出力が開始される。後述するように、枠中継基板35のシフトレジスタ50は、動作許可信号ENABLE=Hの場合には、クロック信号CK4の立下りエッジに同期して、シリアルデータSDATA4を出力する。そこで、シリアル入力ポートS4は、このシフトレジスタ50の動作に対応して、自らが出力したクロック信号CK4の立上りエッジに同期して、シリアルデータSDATA4を、1ビット毎に受信シフトレジスタSR’に取得する。
このようにして、クロック信号CK4に同期して受信シフトレジスタSR’に取得されたデータが8ビットに達すると、この8ビットの取得データが、受信シフトレジスタDR’から受信データレジスタDR’に転送されると共に、完了ビットFULLがHレベル(完了レベル)にセットされる。そこで、CPUは、Hレベルの完了ビットFULLを確認した上で、受信データレジスタDR’から1バイト目の受信データを取得することになる。すると、このCPUの取得動作に対応して、完了ビットFULLがHレベルからLレベル(empty レベル)に戻るので、CPUは、完了ビットFULLが、再度、Hレベルになるのを待ち、2バイト目の受信データを取得することになる。
クロック信号CK4は、予め設定されたデータバイト数の送信動作を終えるか、受信許可ビットRXEがOFFレベルに設定されることで、定常レベル(H)に戻るので、余分のデータがシリアル伝送されることはない。なお、ここでは、完了ビットFULLをチェックするフラグセンス方式の動作を説明したが、何ら限定されず、完了ビットFULLがHレベルに遷移したことに対応して、自動的に割込み処理を起動させる割込み方式を採っても良いのは勿論である。
図7(b)や図7(c)は、モータ駆動基板30の回路構成を概略的に図示したものである。図示の通り、モータ駆動基板30には、2個の汎用ドライバDV0,DV1と、9個のモータドライバOUTが搭載され、モータドライバOUTから駆動電流が供給されることで、9個の演出モータM1〜M9が適宜な歩進動作を実現している。なお、モータドライバOUTの回路構成は、図5(a)に示す通りであり、9個のモータドライバOUTと、9個の演出モータM1〜M9とが一対一に対応しないことも先に説明した通りである(図7(c)参照)。
汎用ドライバDViは、24ビットの出力端子と、5ビットの付番端子とを有して構成されている。図示の通り、24ビットの出力端子は、演出モータMxの4個の入力端子(X,Xバー,Y,Yバー)に対応して、4ビット毎に区分されて、1個の汎用ドライバDViから、最大で、演出モータ6個分の駆動データ(6組のΦ1〜Φ4)を出力できるよう構成されている。
なお、この実施例では、汎用ドライバDViの付番端子の電圧レベルを固定化する回路構成を採ることで、スレーブアドレス(ポートアドレス)が付番されている。具体的には、汎用ドライバDV0,DV1のスレーブアドレスは、16進数表示で40H,41Hとなっている(図7(b)参照)。
また、各汎用ドライバDViには、動作内容を設定可能な複数の設定レジスタが内蔵されており、各設定レジスタは、一意のレジスタ番号(例えば、00H〜2CH)で特定されるようになっている。各設定レジスタには、1バイト長の設定値が設定されるが、典型的には、汎用ドライバDViの出力信号(24ビット)に関するON/OFF情報が、設定レジスタGR0〜GR2に設定される。なお、この24ビット長のON/OFF情報は、3個の設定レジスタGR0〜GR2に分散して設定される。
また、別の24個の設定レジスタMRxには、汎用ドライバDViの出力信号(24ビット)に関する諧調レベルを設定することもできる。諧調レベルは256段階であり、諧調レベルが設定された出力信号は、設定レジスタへの設定値(0〜255)に基づいてPWM制御されて、設定値に基づいたDuty比(=0〜255/256)となる。そのため、一時停止状態の演出モータMxについて、最適に省電力化した状態で拘束停止状態を実現することができる。
また、別の3個の設定レジスタをMRy活用すれば、24ビットの出力信号について、各々、フェードインやフェードアウトの動作態様を規定することもでき、更に別の設定レジスタMRzへの設定値に基づいて、フェードイン速度やフェードアウト速度を設定可能に構成されている。そのため、本実施例によれば、適宜なフェードイン制御やフェードアウト制御によって、演出モータMxの回転開始時や回転終了時の遷移動作を最適化することができる。
図7(a)は、一例として、演出モータMxを駆動する汎用ドライバDV0,DV1の動作とCPUの動作を説明するタイムチャートである。そこで、このタイムチャートに基づいて、ワンチップマイコン40(実際にはシリアル出力ポートS0)が出力する設定データSDATA0と、これを受ける汎用ドライバDV0の設定レジスタ(MR0〜MRn,GR0〜GR2)との関係について説明する。なお、設定レジスタGR0〜GR2には、汎用ドライバDViの出力信号に関するON/OFF情報が設定され、他の設定レジスタMR0〜MRnには、(1) フェードインやフェードアウトなどモータ駆動電流の遷移制御についての設定値と、(2) PWM制御によるモータ駆動電流の諧調制御についての設定値が設定される。但し、(1) 偏移制御や(2) 諧調制御を省略して、出力信号のON/OFF制御だけに止めるのも好適である。
何れにしても、設定レジスタMRx,GRxに適宜な設定データSDATAを設定するためには、これに先行して、各汎用ドライバDViを特定するスレーブアドレスの送信処理と、設定レジスタMRx,GRxのレジスタ番号N(実施例では00H〜**H)の送信処理とを実行する必要がある。但し、レジスタ番号N(=00H〜**H)が連続する場合には、最初のレジスタ番号N(=00H)を送信した後は、レジスタ番号00H以降の設定レジスタMRx,GRxに設定すべき設定データDnを1バイト毎に出力したので足りる。
なお、スレーブアドレスは、汎用ドライバDViを特定する5ビット長のポートアドレス(実施例では40H,41H)であるが(図7(b)参照)、適宜に3ビットを付加した8ビット長とされる。そして、この8ビット長のスレーブアドレスは、MSBからLSBに向けて送信される。図7(b)の回路構成から確認される通り、8ビット長のスレーブアドレス(40H又は41H)は、2個の汎用ドライバDV0,DV1に共通的に送信されるが、送信されたスレーブアドレス(40H又は41H)に対応する汎用ドライバDViだけが、その後の送信データ(設定データ)を受信することになる。
図7(a)のタイムチャートに示す通り、具体的には、各汎用ドライバDV0,DV1において、24個目(=8×3)のクロック信号CK0の立上りエッジで、1バイト目のデータであるスレーブアドレスが取得され、自らのスレーブアドレスに一致する汎用ドライバDViだけが、その後の受信処理を継続する。
そこで、ワンチップマイコン40のシリアルポートS0は、次に、汎用ドライバDViに対して、設定レジスタMR0のレジスタ番号N(=00H)を送信し、これに続いて、その設定レジスタMR0への設定データDnを送信する。そして、その後は、汎用ドライバDViの内部回路が機能して、レジスタ番号Nが自動的にインクリメントされ、その後に受信した設定データDn+1、Dn+2・・・・が、各々、設定レジスタMR1〜MRnや設定レジスタGR0〜GR2に設定される。
このように、本実施例では、レジスタ番号N(=00H〜**H)が連続するn+4個の設定レジスタ(MR0〜MRn,GR0〜GR2)を活用しているので、ワンチップマイコン40のシリアルポートS0から汎用ドライバDV0,DV1に送信されるシリアルデータの個数は、スレーブアドレス(1バイト)と、設定レジスタMR0のレジスタ番号(00H)と、n+4個の設定レジスタ(MR0〜MRn,GR0〜GR2)に設定すべき設定データ(n+4バイト)とで、総計n+6バイトとなる。
図6(b)に関して説明した通り、ワンチップマイコン40のシリアルポートS0では、n+4バイト目の設定データを出力した後は、制御レジスタRGのエンプティビットEMPをHレベルに維持する。また、送信データレジスタDRに書込み済みのn+4バイト目の設定データは、エンプティビットEMP=Hレベルが維持された状態で、送信シフトレジスタSRから1ビット毎にMSBからLSBに向けて出力される。そして、ワンチップマイコン40のシリアルポートS0が、n+4バイト目の設定データのLSBを出力した後は、クロック信号CKがHレベルを維持する。
そのため、ワンチップマイコン40のCPUは、n+4バイト目の設定データが、該当する汎用ドライバDViに取得されたと思われるタイミングで、動作許可信号ENABLE0をLレベルに戻すとともに、制御レジスタRGの送信許可ビットTXEを送信禁止レベルに戻している(図7参照)。すると、動作許可信号ENABLE0=Lに対応して、その後、各汎用ドライバDViでは、設定レジスタ(MR0〜MRn,GR0〜GR2)に新規設定された、又は設定されている設定データに基づいて演出モータMxを駆動することになる。
以上、チャンネルCH0の汎用ドライバDViに関し、シリアルポートS0から出力される設定データSDATA0について説明したが、他のシリアルポートS1〜S3から出力される設定データSDATA1〜SDATA3と、チャンネルCH1〜CH3の汎用ドライバDViとの関係も同様である。なお、上記の説明では、汎用ドライバ1個分のシリアルデータSDATA(合計2+n+4バイト)を送信する毎に、送信許可ビットTXEを禁止レベルに戻しているが、何ら限定されず、全ての汎用ドライバに対する送信処理が終えた後に、禁止レベルに戻しても良い。また、特に、禁止レベルに戻す必要もない。
図8は、演出制御部22’の動作内容を説明するフローチャートであり、ワンチップマイコン40のCPUによって実行される。演出制御部22’の動作は、CPUリセット後に無限ループ状に実行されるメイン処理(図8(a))と、1mS毎に起動されるタイマ割込み処理(図8(b))と、主制御部21が送信する制御コマンドを受信する受信割込み処理(不図示)と、を含んで実現される。
そこで、まず、タイマ割込み処理(図8(b))から説明する。タイマ割込み処理は、必要時に、チャンネルCH0の演出モータMxやチャンネルCH2の演出モータMOiを歩進させるべく励磁データを更新するモータ更新処理(ST20)と、励磁データを含んだ設定データSDATAをシリアルポートS0,S2から各演出モータMx,MOiにシリアル伝送するモータ出力処理(ST21)と、必要時に画像制御部23’に制御コマンドCMD’を出力するコマンド出力処理(ST22)と、演出ボタン11のスイッチ信号や原点スイッチ信号SNをシリアル信号として取得するシリアル信号取得処理(ST23)と、割込みカウンタのインクリメント処理(ST24)と、を有して構成されている。図8(e)に示すように、演出モータMx(M1〜M9)に関する励磁データは、モータ個数と駆動データΦ1〜Φ4に対応して9×4ビットである。
ところで、チャンネルCH0の演出モータM1〜M9に関するモータ更新処理(ST20)の詳細については、図8(d)及び図9〜図12に基づいて後述し、そのモータ出力処理(ST21)の詳細については、図13に基づいて後述する。また、シリアル信号取得処理(ST23)については、図17に基づいて後述する。
そこで、次にメイン処理(図8(a))に説明を移すが、メイン処理では、1mSタイマ割込み(図8(b))の構成に対応して、最初に、CPUが割込みカウンタを繰り返しチェックして、割込みカウンタの値が16になるのを待機する(ST10)。上記したように、割込みカウンタは、1mS毎に更新されているので(ST23)、ステップST10では、前回のステップST11の処理から、16mS経過するまでの経過時間を待機することになる。したがって、この実施例では、ステップST11〜ST17のメイン処理が16mS毎に繰り返されることになる。
次に、16mSの待機時間が経過した場合には、割込みカウンタをゼロクリアした上で(ST11)、主制御部21から送信された制御コマンドCMDを解析する(ST12)。制御コマンドCMDには、変動パターンコマンド、予告演出コマンド、報知用制御コマンド、保留数コマンドなどが含まれている。
そこで、コマンド解析処理では、図8(c)に示す通り、先ず、変動パターンコマンドを新規に受信したか否かを判定し(ST70)、変動パターンコマンドを受信している場合には、演出内容を具体的に特定する演出抽選を実行する(ST71)。そして、これから実行すべき演出シナリオについて初期設定処理を実行する(ST73)。その他、予告演出コマンドを受信した場合にも、予告演出の演出シナリオについて初期設定をする(ST72,ST73)。予告演出には可動演出体AMUに対応する演出モータM1,M2や、チャンネルCH0の他の演出モータM3〜M9や、チャンネルCH2の演出モータMOiを回転させる演出が含まれている。そして、このようにして初期設定された演出シナリオは、16mS間隔で管理されて進行される(ST14)。
次に、演出ボタン11などのスイッチ信号のレベルを判定した上で(ST13)、開始設定された演出シナリオを更新する(ST14)。そして、演出シナリオに対応して、音声再生動作を進行させる(ST15)。なお、演出ボタン11からのスイッチ信号は、シリアル信号取得処理(ST23)で取得される。
続いて、各ランプ駆動基板36,29に接続されているLED群について、更新された演出シナリオに基づいて、各ランプの輝度を規定した輝度データを更新して、LED出力バッファ(不図示)に輝度データを格納する(ST16)。次に、ステップST16の処理で更新された輝度データを含んだ設定データを、シリアルポートS1及びS3を経由して、各ランプ駆動基板36,29に伝送する(ST17)。
先に説明した通り、シリアルポートS1,S2,S3は、シリアルポートS0と同一構成の出力ポートであり、また、ランプ駆動基板36,29に搭載された汎用ドライバDViは、モータ駆動基板30に搭載された汎用ドライバDViと同じである。したがって、LED出力処理(ST17)の具体的内容は、図13に示すモータ出力処理(ST21)と同じである。但し、本実施例では、人間の視感を考慮すると特段の高速処理が不要なLED群を16mS毎に点灯制御する一方で(ST16〜ST17参照)、精密で多様な動作を円滑に実現するべく、演出モータMx,MOiを1mS毎に高速制御して(ST20〜ST21参照)、最適な演出動作を実現している。また、本実施例では、シリアルポートS0〜S3を活用することで、CPUの制御負担を大幅に軽減しつつ、複雑高度な演出動作を実現している。
以下、このような効果を奏するモータ更新処理(ST20)と、モータ出力処理(ST21)について、特に、チャンネルCH0の演出モータMxに関して説明する。なお、枠側部材GM1であるチャンネルCH2の演出モータMxについての制御動作も、以下に説明するチャンネルCH0の演出モータMxに関する制御動作と基本的に同じである。
図8(d)は、チャンネルCH0のモータ更新処理(ST20)の内容を具体的に示すフローチャートであり、このモータ更新処理(ST20)は、演出モータM1〜M9について、各々の演出内容を規定する演出テーブルTBL(図9(a)参照)に基づいて実行される(ST50〜ST64)。ここで、演出テーブルTBLとは、一連のモータ演出の演出内容を具体的に規定するもので、多数の演出テーブルTBL・・・の何れか一つが、演出シナリオ(ST72,ST14参照)に規定されている。
そして、チャンネルCH0の各演出モータM1〜M9について、演出シナリオに規定されたモータ演出の開始タイミングに達すると、モータ演出中フラグがセット状態になり、演出シナリオで特定される演出テーブルTBLに基づいて、ステップST52以下の処理が実行される。一方、それ以外のタイミングでは、モータ出力バッファBUF(図8(e)参照)の励磁データΦ1’〜Φ4’がクリア状態に維持される。なお、この実施例では、モータ出力バッファBUFには、演出モータM1〜M9の9種類の駆動データ(Φ1〜Φ4)に対応する励磁データが4×9ビットの領域が確保されており(図8(e))、モータ演出中フラグがセット状態であれば、これに対応する演出モータMxの励磁データΦ1’〜Φ4’が1ms毎に更新される。
ところで、本実施例のモータ演出は、一まとまりの単位演出を組み合わせて構成されており、単位演出の実行順序や実行時間や実行スピードが、演出テーブルTBLに規定されている。先に説明したように、本実施例では、多数の演出テーブルTBL・・・TBLが用意されているが、図9(b)には、図9(a)の演出テーブルTBLに規定された演出モータM1,M2の動作であって、可動演出体AMUが原点領域の近くで往復運動を繰り返した上で目的位置に移動し、他の演出テーブルTBL”に基づいて実行される演出モータM3,M4の可動予告演出の後に、可動演出体AMUが原点領域に回収される場合が図示されている。
ここで、演出モータM3,M4による可動予告演出は、大当り状態に至る可能性が高い(信頼度の高い)予告演出である。したがって、信頼度の低い予告演出として、可動演出体AMUが往復運動を繰り返すものの、可動予告演出を実行することなく原点領域に戻る動作を規定する演出テーブルTBL’も他に用意されている。なお、演出モータM3,M4による可動予告演出についても、各種の演出テーブルTBL”・・・が設けられている。
このように、本実施例では、多様な演出テーブルTBL・・・が用意されているが、何れの演出テーブルも、動作ラインLNに沿って単位演出や管理動作を列記することで、一連のモータ制御動作を特定している。ここで、単位演出とは、演出モータMxについての一まとまりの回転動作又は停止動作を意味し、管理動作とは、単位演出の動作手順などを規定する動作であって、繰り返し処理や移行処理や終了処理などを規定する。
より具体的に説明すると、演出モータM1,M2に関する単位演出には、(1) 原点スイッチ信号SNがOFF状態になるまで正転を繰り返すCW_OFF動作(図10(c)参照)、(2) 原点スイッチ信号SNがON状態になるまで逆転を繰り返すCCW_ON動作(図10(e)参照)、(3) 規定ステップ数だけ正転を繰り返すCW_ALL動作(図10(a)参照)、(4) 規定ステップ数だけ逆転を繰り返すCCW_ALL動作(図10(d)参照)、及び、(5) 規定の単位時間だけ停止動作を繰り返すKEEP動作が含まれている。なお、本実施例では、演出モータM1,M2の正転(CW)によって可動演出体AMUが原点領域から遠ざかり、逆転(CCW)によって原点領域に近づく。
また、他の演出モータM3〜M9に関する単位演出には、(6) 他のスイッチ信号SN’がON状態になるまで正転を繰り返すCW_ON動作(図10(b)参照)、(7) 他のスイッチ信号SN’がOFF状態になるまで逆転を繰り返すCCW_OFF動作(図10(f)参照)、(8) 演出ボタンの押下状態を維持すると目的位置に到着するまで正転を繰り返すCW_BTN動作(図11(a)参照)、及び、(9) 演出ボタンの押下状態を維持すると目的位置に到着するまで逆転を繰り返すCCW_BTN動作(図11(b)参照)などが含まれている。
一方、管理動作には、繰り返し処理の開始位置を特定するLOOP_S指令(図12(a)参照)、繰り返し処理の終了位置を特定するLOOP_E指令(図12(b)参照)、モータ演出を正常終了させるNOR_END指令(図12(c)参照)、原点スイッチ信号SNのON状態を終了判定するSYS_CK1指令(図12(d)参照)、他のスイッチ信号SN’のOFF状態を終了判定するSYS_CK2指令(図12(e)参照)、及び、異常対応処理の開始を規定するSYS_ERR指令(不図示)などが含まれている。
そして、本実施例の演出テーブルTBLは、単位演出や管理動作の動作内容を規定するOPT欄と、OPT欄で特定される単位演出の動作速度(正確には動作周期)を規定するSPEED欄と、OPT欄で特定される単位演出の繰り返し回数を特定するSTEP欄とが設けられている。なお、管理動作の場合には、SPEED欄やSTEP欄が空欄(NULL)の場合が多いが、SYS_CK1指令やSYS_CK2指令の場合には、SPEED欄に、動作ラインLNの更新に関する相対位置が規定される。
以上を踏まえて、図9(a)の演出テーブルTBLが規定する演出モータM1,M2の動作を確認すると、演出テーブルTBLには、6レベルの低速で8ステップだけ演出モータM1,M2を正転した後(単位演出1)、LOOP_S指令とLOOP_E指令に基づいて、単位演出2〜単位演出7の処理を5回繰り返すことが規定されている。
すなわち、図9(a)の演出テーブルTBLには、3レベルの高速で検出スイッチOFFまで正転し(単位演出2)、40ステップ高速で正転した上で(単位演出3)、1×100単位時間(1mS)待機すること(単位演出4)が、先ず規定されている。次に、検出スイッチONまで高速で逆転した後(単位演出5)、20ステップ高速で更に逆転し(単位演出6)、1×100単位時間待機した上で(単位演出7)、単位演出1に戻って同じ処理を繰り返すことが規定されている。なお、モータ更新処理(ST20)やモータ出力処理(ST21)が1mS毎に実行される本実施例では、例えば、3レベルの速度で動作させる場合は、1ステップの処理時間が3msとなる。
このようなループ処理(単位演出2〜単位演出7)の後、2×1000単位時間(=2秒)待機した上で(単位演出8)、検出スイッチOFFまで低速で正転し(単位演出9)、更に、280ステップ高速で正転した後(単位演出10)、3×1000単位時間(=3秒)待機する(単位演出11)。この実施例の場合、単位演出10における800ステップの回転は、可動演出体AMUの目的位置への移動を意味する。なお、単位演出8や単位演出11の待機時間(2秒/3秒)を利用して、他の演出モータM3〜M9が回転する可動予告演出や、目的位置に移動した可動演出体位置に対応した液晶表示演出が実行される。
そして、その後、低速で8ステップ逆転した後(単位演出12)、検出スイッチONまで高速で逆転し(単位演出13)、30ステップの高速での逆転に続いて(単位演出14)、20ステップ低速で逆転する(単位演出15)。
その後は、SYS_CK1指令に基づいて、検出スイッチがON状態か否かが判定され、ON状態であれば、動作ラインLNが+2され、次のNOR_END指令が実行される。一方、検出スイッチがOFF状態であれば、動作ラインLNがインクリメント(+1)され、SYS_ERR指令に基づいて異常対応処理が開始される。
上記の動作から確認される通り、本実施例では、目的位置に移動して実行される高信頼度の可動予告演出に先行して、可動演出体AMUが往復動作を繰り返すので、高信頼度の可動予告演出を期待する遊技者を効果的に盛り上げることができる。
このように構成された本実施例では、可動演出体AMUが、目的位置に正確に移動しないと、せっかくの可動予告演出が正常に実行されない可能性がある。すなわち、例えば、多数の演出モータM3〜M9が複雑に回転して可動予告演出を実行するような場合、何れかの回転軌跡上に障害物があると、意図した可動予告演出が実行できず、遊技者を白けさせてしまうことになる。また、目的位置に移動した可動演出体位置に対応した液晶表示演出をする場合、液晶表示演出と可動演出体の位置が対応しなくなる。
しかし、本実施例では、可動演出体AMUの目的位置への移動動作(単位演出10)に先立って、原点スイッチ信号SNのOFF遷移を確認して(単位演出9)、可動演出体AMUを設計上の絶対位置(原点領域の終端位置)に一致させるので、その後は設計上のステップ数(=280)に基づいて、可動演出体AMUを正確に目的位置に移動させることができ、その後の可動予告演出を正常に実行することができる。
このように、本実施例では、可動演出体AMUの往復動作を高速で繰り返すことで、仮に、慣性力などに基づき可動演出体AMUの現在位置が、設計上の位置からずれることがあっても、可動演出体AMUを、CCW_ON動作やCW_OFF動作によって、原点領域の端点位置に一致させることで、ずれを解消することができる。したがって、図9(a)の演出テーブルTBLで規定される単位演出のように、CW_OFF動作とCCW_ON動作とを含んだ往復動作は特に必須ではなく、最終的なCW_ALL動作(単位演出10)に先行して、CW_OFF動作(単位演出9)を設けることで、それまでに累積したずれを一気に解消することができる。なお、CW_OFF動作(単位演出9)を省略した場合には、最終的なCW_ALL動作(単位演出10)に先行して(好ましくは直前に)、CCW_ON動作(単位演出5)を設けることで位置ずれを解消することができる。
以上、図9(a)の演出テーブルTBLについて詳細に説明したが、図8(d)のモータ更新処理は、演出シナリオで特定された演出テーブルTBLを参照しつつ実行される。なお、変数LNは、演出テーブルTBLの動作ラインLNに対応して、単位演出や管理動作を特定する。また、ステップカウンタSTCは、演出テーブルTBLのSTEP欄に規定される繰り返し回数を管理し、待機カウンタWTCは、演出テーブルTBLのSPEED欄に規定される動作速度(正確には動作周期)を管理する。
以上を踏まえて図8(d)に示すモータ更新処理(ST20)を説明すると、制御対象の演出モータMxがモータ演出中であれば(ST51がYES)、次に、制御対象の演出モータMxに対応する演出テーブルTBLについて、動作ラインLNに規定された単位演出又は管理動作の処理開始時(解析タイミング)か否かが判定される(ST52)。なお、解析タイミングの判定手法は適宜であるが、対応する演出テーブルTBLに関するステップカウンタSTC及び待機カウンタWTCがゼロであれば、解析タイミングとなる。
そして、現在が解析タイミングであれば、変数KNDに演出テーブルTBLのOPT欄の値を設定し、また、SPEED欄とSTEP欄の値から、ステップカウンタSTCや待機カウンタWTCの満了値を特定する(ST53)。本実施例では、演出テーブルTBLのOPT欄には、単位演出(図10〜図11)又は管理動作(図12)の何れかが規定されているので、次に、変数KNDの値に基づいて、その後に実行すべき処理が、管理動作系の処理か否かが判定される(ST54)。
そして、変数KNDに管理動作系の処理が規定されている場合には、その処理を実行する(ST55)。例えば、LOOP_S指令が規定されている場合には、SPEED欄の値に基づいてループ回数を設定し(図12のSS45)、ループ開始ポイントを動作ラインLN+1の値に設定して(SS46)、動作ラインLNをインクリメントして処理を終える(SS47)。そして、その後は、次回のタイマ割込みまで待機することなく、直ちに、ステップST53の処理に移行する。そのため、インクリメント更新された動作ラインLNに関して、変数KNDに演出テーブルTBLのOPT欄の値を設定し、また、SPEED欄とSTEP欄の値から、ステップカウンタSTCや待機カウンタWTCの満了値を特定することになる(ST53)。なお、サブルーチン処理の途中で、ステップST53に移行する場合には、スタック領域を整理した上でジャンプ命令が実行されるのは言うまでもない。この点は、以下の場合も同じである。
以上の動作から確認される通り、図9の演出テーブルTBLの場合、単位演出1が終わると、直ちに、単位演出2に移行することになり、LOOP_S指令のために余分な時間遅れが生じることはない。ところで、LOOP_S指令の解析処理で設定されたループ回数と、ループ開始ポイントは、LOOP_E指令の解析時に使用される。すなわち、変数KNDにLOO_E指令が規定されている場合には、ループ回数>0であれば、これをデクリメントする(図12のSS49)。そして、ループ回数=0であれば、動作ラインLNをインクリメントし(SS52)、ループ回数≠0であれば、動作ラインLNをループ開始ポイントに設定した上で(SS51)、次回のタイマ割込みまで待機することなく、直ちに、ステップST53の処理に移行する。したがって、図9の演出テーブルTBLの場合、単位演出7が終わると、余分の時間遅れが生じることなく、直ちに、単位演出2が開始されることになる。
一方、変数KNDにNOR_END指令が規定されている場合には、励磁データΦ1’〜Φ4’が記憶されているモータ出力バッファBUF(図8(e))について、該当領域の励磁データ(例えば、演出モータM1,M2の励磁データΦ1’〜Φ4’)をクリアし(SS53)、セット状態であったモータ演出中フラグをクリアして処理を終える(SS54)。モータ演出中フラグをクリア処理は、それまで実行されていた(例えば演出モータM1,M2による)モータ演出が終了したことを明示する処理であり、その後は、ステップST51の判定に基づいて、演出モータM1,M2については、ステップST52〜ST63の処理がスキップされる。
以上、管理動作系の処理について説明したが(ST55)、変数KNDに単位演出が規定されている場合には、待機カウンタWTCがSPEED欄の値と比較される(ST56)。待機カウンタWTCは、モータ演出の動作速度を管理する変数であり初期状態ではゼロである。したがって、WTC<SPEED−1の場合には、WTC=SPEED−1となるまで、インクリメント処理(ST57)を繰り返して待機状態(停止状態)を維持する。その後、WTC=SPEED−1となると(ST56)、ステップカウンタSTCをインクリメント更新した上で(ST58)、OPT欄で特定された単位演出を実行する(ST59)。次に、ステップカウンタSTCがSTEP欄の値に一致しない限り(ST60)、待機カウンタWTCをゼロクリアして処理を終える(ST61)。
一方、更新後のステップカウンタSTCの値がSTEP欄の値に一致すると(ST60)、ステップカウンタSTCと待機カウンタWTCをゼロクリアすると共に(ST62)、動作ラインLNをインクリメントして、この単位演出の処理を終える(ST63)。
以上の通り、本実施例では、SPEED欄に規定された回数だけ待機した上で、単位演出を実行するので、待機回数が少ないほど、その単位演出の進行速度が速いことになり、結局、SPEED欄の値がモータ演出の動作速度(正確には動作周期)を規定することになる。
また、このような単位演出は、ステップカウンタSTCの値が、STEP欄の値に一致するまで繰り返されるので(ST60)、結局、STEP欄の値は、単位演出の繰り返し回数を規定することなる。なお、ステップカウンタSTCや待機カウンタWTCは、1mS毎にインクリメントされるので(ST57,ST58)、例えば、図9の演出テーブルの1行目に規定されたCW_ALL動作は、演出モータM1,M2を、6mS毎に1ステップ移動させ、このような歩進動作を合計8回繰り返して動作完了となる。なお、モータ更新やモータ出力処理の動作周期をτとすると、単位演出の動作継続時間は、SPEED値×STEP値×τとなる。
続いて、図10〜図11に規定する単位演出について説明しておく。なお、KEEP動作については、特に記載していないが、SPEED欄に規定された回数だけ待機する待機処理を、STEP欄の回数だけ繰り返すだけであり、演出動作(ST59)としての処理は存在しない。
一方、その他の単位演出については、励磁カウンタMCの更新処理を伴う実質的な演出動作が存在する。ここで、励磁カウンタMCは、モータ出力バッファBUF(図8(e))に格納すべき励磁データΦ1’〜Φ4’を特定するための変数であり、図11(c)に示す通り、0〜3の範囲で循環的に更新される。
例えば、図10(a)に示すCW_ALL動作では、励磁カウンタMCが指示する励磁データΦ1’〜Φ4’を、モータ出力バッファBUFに格納した上で(SS1)、励磁カウンタMCを循環的にインクリメント更新して処理を終える(SS2)。一方、図10(d)に示すCCW_ALL動作の場合には、励磁カウンタMCの補数が指示する励磁データΦ1’〜Φ4’をモータ出力バッファBUFに格納した上で(SS13)、励磁カウンタMCを循環的にインクリメント更新して処理を終える(SS14)。ここで、励磁カウンタMCの補数とは、便宜上、励磁カウンタMCの下位2ビットだけNOT値を採ることを意味することにする。
この場合、励磁カウンタMCを循環的に更新すると、励磁カウンタMCが0→1→2→3→0→1・・・と順方向に変化するが、励磁カウンタMCの補数については、3→2→1→0→3→2・・・と逆方向に変化する。そこで、本実施例では、インクリメント更新される励磁カウンタMCによって、演出モータを正転させる励磁データΦ1’〜Φ4’を時間順次に生成する一方、インクリメント更新される励磁カウンタMCの補数(下位2ビットだけNOT値)によって、演出モータを逆転させる励磁データΦ1’〜Φ4’を生成している。
したがって、CW_××動作と、CCW_××動作は基本的に同一動作であり、励磁カウンタMCが励磁データΦ1’〜Φ4’を指示するか、その補数が励磁データΦ1’〜Φ4’を指示するかの差があるに過ぎない。例えば、図10(b)に示すCW_ON動作では、原点スイッチ信号SNがOFF状態であれば、励磁カウンタMCが指示する励磁データΦ1’〜Φ4’をモータ出力バッファBUFに格納し(SS6)、励磁カウンタMCをインクリメント更新する(SS7)。そして、原点スイッチ信号がON状態に変化すると、待機カウンタWTCとステップカウンタSTCをクリアし(SS4)、動作ラインLNをインクリメントしてステップST53の処理に移行する(SS5)。
これに対して、図10(e)に示すCCW_ON動作では、原点スイッチ信号SNがOFF状態であれば、励磁カウンタMCの補数が指示する励磁データΦ1’〜Φ4’をモータ出力バッファBUFに格納すること(SS18)だけが相違する。
この関係は、CW_OFF動作(図10(c))とCCW_OFF(図10(f))についても同様であり、各々、CW_ON動作とCCW_ON動作に対応して、原点スイッチ信号SNがOFF状態に変化すると、ステップST53の処理に移行する(SS10,SS22)。
また、CW_BTN動作では、演出ボタン11の押下を継続する限り正転動作を継続し(SS33〜SS35)、目標位置に達すると(SS30)、待機カウンタWTCとステップカウンタSTCをクリアし(SS31)、動作ラインLNをインクリメントしてステップST53の処理に移行する(SS32)。一方、CCW_BTN動作では、上記の正転動作に代えて逆転動作を実行すること(SS40)だけが相違する。なお、CW_BTN動作とCCW_BTN動作では、演出ボタン11から手を離すと、演出モータの移動が停止される。
図13は、モータ出力処理(ST21)を、より詳細に説明するフローチャートである。モータ出力処理(ST21)では、何れかの演出モータM1〜M9が、モータ演出中であることを条件に、汎用ドライバDV0,DV1についてST33〜ST43の処理が実行される。なお、この処理は、チャンネルCH0のシリアルポートS0に関する処理として説明するが、チャンネルCH2のシリアルポートS2についても基本的に同じである。また、LED出力処理(ST17)の場合にも、シリアルポートS1,S3において、輝度データについて同様の処理(ST31〜ST45)が実行される。
以下、モータ出力処理(ST21)について説明すると、ステップST31のタイミングでは、図6(b)に示す通り、制御レジスタRGの送信許可ビットTXEは、OFF(L)レベルであり、エンプティビットEMPは、Hレベル(empty レベル)であり、クロック信号CKはHレベルを維持している。また、動作許可信号ENABLE0はLレベルである。
そこで、最初に、パラレル出力ポートPo’からON(H)レベルの動作許可信号ENABLE0を出力すると共に、制御レジスタRGの送信許可ビットTXEをONレベルに設定して、シリアルポートS0の送信処理を許可状態に設定する(ST31)。なお、動作許可信号ENABLE0=Hとなることで、2つの汎用ドライバDV0,DV1は、シリアルデータの受信動作が可能となる。
そこで、続いて、汎用ドライバDV0と汎用ドライバDV1について、ステップST33〜ST43の処理を繰り返す。具体的には、汎用ドライバDViのスレーブアドレス(40H又は41H)を、シリアルポートS0の送信データレジスタDRに書込む(ST33)。
図8に示す通り、このステップST33の処理によって、シリアルポートS0の制御レジスタRGのエンプティビットEMPは、Lレベルに遷移し、所定時間(τ)後に、エンプティビットEMPがHレベルに戻ると共に、スレーブアドレスの送信動作が開始される。そこで、エンプティビットEMPがHレベルに戻った後(ST34)、汎用ドライバDViの一群の設定レジスタ(MR0〜MRn,GR0〜GR2)について、そのレジスタ番号の先頭アドレスを、送信データレジスタDRに書込む(ST35)。この実施例では、設定レジスタ(MR0〜MRn,GR0〜GR2)のレジスタ番号Nは、00Hから開始される一連番号であるので、ステップST35の処理では、送信データレジスタDRに、00Hが書込まれる。
すると、ステップST35の処理によって、エンプティビットEMPは、HレベルからLレベル(fullレベル)に遷移する。そして、その後、最初のスレーブアドレスの送信が完了すると、エンプティビットEMPがHレベル(empty レベル)に戻るので(ST36)、その後は、n+4個の設定データの送信処理に移行する。具体的には、まず、変数jをゼロに初期設定する(ST37)。ここで、変数jは、設定レジスタ(MR0〜MRn,GR0〜GR2)への設定回数をカウントする用途で使用される。
そこで、次に、変数jをインクリメントした後(ST38)、設定レジスタ(MR0〜MRn,GR0〜GR2)に設定すべき設定データを、シリアルポートS0の送信データレジスタDRに書込む(ST39)。なお、最初の設定データは、設定レジスタMR0に書込むべき管理データである。
ところで、エンプティビットEMPは、ステップST36の判定でHレベルに遷移した後、Lレベルに戻り、この状態で、レジスタ番号の送信動作が実行されている。そして、この送信動作が終わると、エンプティビットEMPがHレベルに遷移するので、次に、エンプティビットEMPがHレベルに遷移するのを待機し(ST40)、Hレベルに遷移すれば、設定レジスタ(MR0〜MRn,GR0〜GR2)への書込みが完了済みでない限り、ステップST38の処理に移行する(ST41)。
したがって、その後、ステップST38〜ST41の処理によって、設定レジスタ(MR0〜MRn,GR0〜GR2)の書込み処理が繰り返されることになる。設定レジスタ(MR0〜MRn)への設定時には、予め規定されている管理データがシリアルポートS0の送信データレジスタDRに書込まれ、設定レジスタ(GR0〜GR2)への設定時には、モータ出力バッファBUFに格納されている励磁データΦ1’〜Φ4’が、シリアルポートS0の送信データレジスタDRに書込まれる(ST39)。
なお、送信データレジスタDRに最終バイトの設定データが書込まれたとしても、これが汎用ドライバDViに取得されるのは、更に、8個程度のクロック信号CKが出力された後である。そこで、クロック信号CKの8個分程度の時間を消費した後(ST42)、スレーブアドレスを更新して(ST43)、次の汎用ドライバDV1に対する設定処理を繰り返す(ST33〜ST43)。そして、汎用ドライバDV1についての処理が終われば、動作許可信号ENABLEを禁止レベルに戻すと共に、制御レジスタRGの送信許可ビットTXEを禁止レベルに戻す(ST45)。その結果、設定データが更新された汎用ドライバDViに接続された演出モータMjの回転位置が更新される。
以上の通り、本実施例では、ステップST31〜ST45の処理によって、2個の汎用ドライバDViの設定レジスタに対する設定処理が一括して完了し、汎用ドライバDV0〜DV1から駆動データΦ1〜Φ4を受けた演出モータMxは、1mS毎に適宜な歩進動作を実行することになり、精密なモータ演出が可能となる。また、回転開始時や回転停止時にも、円滑な移行動作(フェースイン/フェーズアウト)が可能となる。
ところで、上記の実施例では、動作許可信号ENABLE0が使用され、モータ駆動状態を更新するタイミングが、動作許可信号ENABLE0によって規定されているが、何ら限定されない。すなわち、一連のシリアルデータの最後に、終了コマンド(ピリオドコマンド)を送信する構成を採れば、ピリオドコマンド受信したことを認識した汎用ドライバDViの内部処理に基づいてモータ駆動状態を更新することができる。但し、この場合には、汎用ドライバDViの動作許可状態を制御するため、一連の設定データの送信に先行して、スタートコマンド(開始コマンド)を送信する必要がある。
このような実施例の場合、例えば、設定レジスタGR0〜GR2の設定データを更新する場合には、[スタートコマンド]→[汎用ドライバDV0を規定するスレーブアドレス(40H)]→[設定レジスタGR0を特定するサブアドレス]→[設定レジスタGR0に対する設定データ]→[設定レジスタGR1を特定するサブアドレス]→[設定レジスタGR1に対する設定データ]→[設定レジスタGR2を特定するサブアドレス]→[設定レジスタGR2に対する設定データ]の送信処理を含んで、汎用ドライバDV0に対して複数バイト長のシリアルデータが送信される。なお、設定レジスタGR0〜DG2の設定処理に先行して、他の設定レジスタ(MR0〜MRn)に対してn+1個の設定データが送信される場合、設定データ全体ではn+4バイトとなり、各々にサブアドレスが付加されるので、送信データは、合計2×(n+4)バイトとなる。なお、開始コマンドと終了コマンドを考慮すると、2×(n+4)+2バイトのシリアルデータが送信される。
図14は、動作許可信号ENABLE0を使用しない汎用ドライバDViについて、設定データを更新するシリアルデータ送信処理を示すフローチャートである。この場合にも、複数の汎用ドライバDVi(例えばDV0とDV1)に対して、同様の処理(ST71〜ST86)が繰り返される。
以下説明すると、最初に、シリアルポートS0の送信データレジスタDRに、1バイト長のスタートコマンド(例えばFFH)を書込む(ST71)。そして、制御レジスタRGのエンプティビットEMPを判定することで、スタートコマンドのシリアル送信が開始されるのを待つ(ST72)。そして、制御レジスタRGのエンプティビットEMPがEMP=1となると、当該汎用ドライバDViのスレーブアドレスを、送信データレジスタDRに書込む(ST73)。なお、スレーブアドレスは、その汎用ドライバDViに付番されたポート番号(例えば40Hや41H)に他ならない。
次に、エンプティビットEMPがEMP=1となるのを待ち(ST74)、スレーブアドレス(ポート番号)のシリアル送信が開始されると、変数jをゼロに初期設定する(ST75)。続いて、変数jをインクリメントした後(ST76)、サブアドレスをシリアルポートS0の送信データレジスタDRに書込む(ST77)。ここで、サブアドレスとは、設定レジスタ(MR0〜MRn,GR0〜GR2)を特定するレジスタ番号である。
次に、エンプティビットEMPがEMP=1となるのを待ち(ST78)、EMP=1となれば、先のサブアドレス(レジスタ番号)で特定される設定レジスタに送信すべき設定データを送信データレジスタDRに書込む(ST79)。なお、設定レジスタ(MR0〜MRn)に対する設定データは、予め規定された固定値であり、設定レジスタ(GR0〜GR2)に対する設定データは、モータ出力バッファBUFから読み出される。
以下同様であり、設定データのシリアル送信が開始されると(ST80)、それが最終の設定データでない限り(ST81がNo)、次のサブアドレス(レジスタ番号)をシリアルポートS0の送信データレジスタDRに書込み(ST76〜ST77)、同様のシリアルデータ送信処理を繰り返す。
一方、最終の設定データのシリアル送信が開始された場合には(ST81がYes)、続いて、当該汎用ドライバDViへのシリアル送信が終了したことを示すピリオドコマンドを送信データレジスタDRに書込む(ST82)。そして、ピリオドコマンドのシリアル送信が開始されたら(ST83)、この送信時間を確保した上で(ST84)、スレーブアドレス(ポート番号)を更新して、同様のシリアルデータ送信処理(ST71〜ST85)を繰り返す。
以上の通り、図13や図14の実施例では、設定レジスタ(MR0〜MRn)に対する設定データを1mS毎に繰り返し設定している。しかし、この設定データが、予め規定された固定値である場合には、この設定処理を一度だけ実行し、その後の設定処理を省略するのも好適である。この場合、1mS毎に繰り返し設定すべきデータは、設定レジスタ(GR0〜GR2)に対する3バイト長の設定データに過ぎないので、シリアル送信処理を大幅に簡素化することができる。ちなみに、汎用ドライバDV0にシリアル送信されるデータ量は、図13の実施例では、スレーブアドレス+開始レジスタ番号+3個の設定データ(3バイト)の合計5バイトであり、図14の実施例では、スタートコマンド+スレーブアドレス+3×(サブアドレス+設定データ)+ピリオドコマンドの合計9バイトとなる。
このような構成を採る場合には、FIFOバッファを設けたシリアルポートS0を使用するのが特に好適であり、極限的にシリアルデータ送信処理を簡素化することができる。ここで、FIFOバッファとは、所定単位長(複数バイト)のパラレルデータを一時保存可能なFIFO(First In First Out)構造の記憶領域を意味し、1バイトのシリアルデータがシリアルポートSiから送信さる毎に、次の1バイトデータが送信データレジスタDRに自動的に補給される構成を有している。すなわち、図15(b)に示す通り、FIFOバッファは、CPUコアからアクセス可能に構成され、最初にFIFOバッファに格納されたデータから順番に、1バイト毎に、送信データレジスタDRに自動転送され(First In First Out)、送信シフトレジスタSRを経由して、シリアルデータSDATAとして出力される。
したがって、CPUは、FIFOバッファに一連のシリアルデータを書込んだ後は、特段、その後の処理に関与する必要がない。この場合の処理は、例えば、図15(a)に示す通りであり、CPUは、一群のデータをFIFOバッファに書込み(ST91)、FIFOバッファが空になるのを待てば良い(ST92)。
ところで、上記の各実施例では、専ら、CPUが、制御レジスタを繰り返しreadして、制御レジスタのempty ビットEMPをチェックする構成を採ったが、送信データレジスタDRが空(empty )になったタイミングや、FIFOバッファに空き(空き領域)が生じたタイミングで、CPUに割込みをかける構成を採るのも好適である。この場合、CPUは割込み要求に対応して、送信データレジスタDRに1バイトデータを書込むか、FIFOバッファに所定単位長のデータを書込めば良い。
以上、チャンネルCH0〜CH3の汎用ドライバDViに関して、シリアル信号(設定データSDATA0〜SDATA3)の出力処理について詳細に説明したので、続いて、演出ボタン11のスイッチ信号や、原点スイッチ信号SNをシリアル信号として取得するシリアル信号取得処理(ST23)について説明する。
図16は、シリアル信号の伝送に関する枠中継基板35の回路構成を図示したものである。図16(a)に示す通り、枠中継基板35は、シフトレジスタ50と、入力バッファ回路51と、フィルタ回路52とを有して構成されている。入力バッファ回路51は、プルアップ抵抗RとインバータINとを有して構成されて、演出ボタン11から受けるスイッチ信号と、原点スイッチ信号SN0〜SN5とを論理反転させている。この実施例では、枠側の演出モータMOiに関して原点スイッチ信号SNは6ビット長であり、また、演出ボタン11が2接点を有しているので、合計8ビット長のスイッチ信号が、入力バッファ回路51を経由して、シフトレジスタ50の8個の入力端子(A〜H)に供給されている。
フィルタ回路52は、50〜100Ω程度の抵抗R1,R2と、50〜100pF程度のコンデンサC1,C2とで構成されたCRローパスフィルタを構成している。このように、本実施例では、フィルタ回路52の時定数を2.5〜10×10−9[S]に設計しており、ボーレート2Mbps〜8Mbps程度の通信速度でも、オーバシュートやアンダーシュートを抑制して誤動作のないシリアル通信を実現することができる。
本実施例のシフトレジスタ50としては、例えば、図16(b)に内部回路を示すTC74VHC165F(東芝)が使用され、そのパラレル入力端子A〜Hには、上記した8ビットのスイッチ信号が供給され、これらパラレル入力端子A〜Hのデータは、ラッチ信号LTの立下りタイミングに同期して内部レジスタに取得されるよう構成されている。
ラッチ信号LTは、ワンチップマイコン40のパラレル出力ポートPo’から出力された動作許可信号ENABLE4が論理反転されたものである。そして、動作許可信号ENABLE4がHレベルとなると、ラッチ信号LTがLレベルとなり、パラレル入力端子A〜Hのデータがシフトレジスタ50に取得される。そして、この取得データ(8ビット長のパラレルデータ)は、その後、クロック信号CK4に同期して、出力端子QHから出力されてシリアルデータとなる。先に説明した通り、クロック信号CK4は、ワンチップマイコン40のシリアル入力ポートS4から出力され、シリアルデータSDATA4は、1バイト毎にCPUに取得される。
なお、この実施例では、シフトレジスタ50のシリアル入力端子INPUTと禁止端子INHIBITとは、Lレベルに固定されているので、シフトレジスタ50に取得されたデータは、クロック信号CK4の立上りエッジに同期して出力される。そして、シリアル入力ポートS4は、自らが出力するクロック信号CK4の立下りエッジに同期して、シリアルスイッチ信号SDATA4を順番に取得する。
図17は、図8(b)のシリアル信号取得処理(ST23)を説明するフローチャートである。シリアル信号取得処理(ST23)は、シリアルポートS4に関する処理であり、CPUは、先ず、動作許可信号ENABLE4をHレベルに設定した後、適宜なタイミングでLレベルに戻す(ST95)。シリアル信号取得処理(ST23)における動作許可信号ENABLE4は、これが論理反転されることで、ラッチ信号LTとして機能する。したがって、シフトレジスタ50は、動作許可信号ENABLE4=Hの立上りタイミングで、原点検出センサSN0〜SN5や、演出スイッチ11のスイッチデータを取得することになる。
そこで、CPUは、送信許可ビットTXEや受信許可ビットRXEをHレベルにする(ST96)。その結果、ワンチップマイコン40のシリアル入力ポートS4は、送信許可状態かつ受信許可状態になる。そこで、次に、ダミーデータを送信データレジスタDRに出力することで、シリアル入力ポートS4からクロック信号CK4の出力を開始させる(ST97)。
この動作によって、枠中継基板の35のシフトレジスタ50は、センサ信号SN0〜SN5や、演出ボタン11のスイッチ信号を、チャンネルCH4のシリアルデータSDATA4として1ビット毎に出力する。このシリアルデータSDATA4は、受信シフトレジスタSR’に1ビット毎に取得されるが、8ビットの取得が終われば、1バイトデータとして受信データレジスタDR’に転送されると共に、所定の制御レジスタRGの完了ビットFULLがHレベル(完了レベル)となる。そこで、CPUは、完了ビットFULLがHレベルであることを確認すると(ST98)、受信データレジスタDR’から受信データを取得する(ST99)。次に、必要な取得処理を終えたCPUは、送信許可ビットTXEや受信許可ビットRXEをLレベルにする(ST100)。なお、このようにして取得されたデータは、入力検知処理(ST13)や、モータ更新処理(ST20)で参照されることで、演出ボタン11や、演出モータMx,MOiに関する適宜な演出処理が実現される。
以上、実施例について詳細に説明したが、具体的な記載内容は何ら本発明を限定せず、各種の改変が可能である。例えば、実施例では、演出モータMx,MOiを高精度で制御するべく1mS毎のシリアル信号取得処理(ST23)を実行したが、演出モータMx,MOiの回転速度や制御精度に対応して、3〜5mS毎の処理としても良い。
また、実施例では、盤側部材GM2である演出モータMxについては、説明の便宜上、単一の原点検出センサPHしか設けなかったが、何ら限定されず、むしろ複数の演出モータM1〜M9の各々に、原点その他の位置を検出する位置センサを設けるのが好適である。この場合には、複数ビットのセンサ出力信号は、図16と同様の回路を経て、シリアル信号としてワンチップマイコン40のシリアル入力ポートSiに伝送され、図17と同様の処理でCPUに取得される。
なお、上記の実施例では、もっぱら演出モータMx,MOiで駆動される可動演出体AMUについて説明したが、電磁ソレノイドの通電の有無に基づいて往復運動する複数の可動演出体を追加して設けるのが好適である。この場合、枠側及び盤側に配置された電磁ソレノイドについても、演出モータを駆動する汎用ドライバと同じ汎用ドライバDViによって同期して駆動制御することができる。
このような場合には、枠側の電磁ソレノイドは、例えば、チャンネルCH2の演出モータMOiと共に、シリアル出力ポートS2から出力される設定データSDATA2によって開閉制御される。また、盤側の電磁ソレノイドは、例えば、チャンネルCH0の演出モータMxと共に、シリアル出力ポートS0から出力される設定データSDATA2によって開閉制御される。
同様に、実施例では、枠中継基板35には、演出モータMOiの原点スイッチ信号SNを受けるシフトレジスタ50を1個配置したが、何ら限定されず、他のセンサ信号を受ける別のシフトレジスタ50を配置するのも好適である。
この場合、複数のシフトレジスタ50・・・50を縦続接続すれば、シリアル入力ポートS4から出力されるクロック信号CK4のクロック数を増やすだけで、全てのセンサ信号を取得することができる。図18(a)は、シフトレジスタ50を2個配置する回路構成を例示したものであり、動作許可信号ENABLE4をH→L→Hと変化させて2バイト長のデータを、シフトレジスタ50,50に取得させた後、16ビットのクロック信号CK4を供給すれば、2バイト長のシリアル信号SDATA4を取得することができる。なお、この場合のシリアル信号取得処理は、図17の破線に示す通りであり、1バイトデータが複数回にわたって取得される。
なお、シリアル入力ポートS4に限定されず、他のシリアルポートを使用しても良く、また、位置センサなどのセンサ信号に限らないことは言うまでもない。また、盤側にも同様のシフトレジスタを配置しても良いことは先に説明した通りである。
図18(b)は、高度な演出動作を精密に実現する回路構成を図示したものであり、CH0〜CH5のシリアル伝送に関して、枠側部材GM1と盤側部材GM2と演出制御部22’との関係を示している。
この場合には、ランプ群を制御するシリアルポート(CH0,CH3)と、モータ群を制御するシリアルポート(CH1,CH4)と、センサ信号やスイッチ信号を受けるシリアルポート(CH2,CH5)とを分離することで、各々の目的に対応した最適な動作間隔を実現している。例えば、モータ演出時には、モータ群が1mS程度の時間間隔で制御され、ランプ群は、定常的に16mS程度の時間間隔で制御される。また、センサ信号やスイッチ信号は、通常時は、例えば、16mS程度の時間間隔で取得され、モータ演出時には1mS程度の時間間隔で取得される。
また、各シリアルポートは、対象部材が枠側部材であるか盤側部材であるかの違いに応じて、別々に割り当てられているので、遊技機の機種の違いに応じた最適な制御が可能となる。
なお、実施例では、もっぱら弾給遊技機について説明したが、本発明の適用は、弾球遊技機や回胴遊技機に限定されないのは勿論である。