以下、本発明の実施の形態について、図面を参照しながら説明する。
なお、以下の実施の形態の説明における前後左右とは、遊技者から見た、つまり遊技盤(遊技機)に向かって見た方向を指すものとする。
(第1の実施の形態)
図1は、本発明の第1の実施の形態の遊技装置6の構成を説明する図である。
遊技装置6は、有価価値を記憶する記憶媒体が挿入されるカードユニット70及び実際に遊技を行い、遊技媒体を払出可能な遊技機1を備える。
まず、遊技機1について説明する。
遊技機1の前面枠3は、本体枠(外枠)2にヒンジ4によって開閉回動可能に組み付けられる。遊技盤5(図3参照)は前面枠3の表側に形成された収納部(図示省略)に収装される。また、前面枠3には、遊技盤5の前面を覆うカバーガラス(透明部材)を備えたガラス枠18が取り付けられている。
ガラス枠18のカバーガラスの周囲には、装飾光が発光される装飾部材9が備えられている。この装飾部材9の内部にはランプやLED等からなる装飾装置が備えられている。この装飾装置を所定の発光態様によって発光させることによって、装飾部材9が所定の発光態様で発光する。
ガラス枠18の左右には、音響(例えば、効果音)を発するスピーカ30が備えられている。また、ガラス枠18の上方には照明ユニット10が備えられている。照明ユニット10の内部には、装飾装置が備えられている。
照明ユニット10の右側には、遊技機1のエラー発生や前面枠3の開放をホール店員に通知するためのエラー報知LED29が備えられている。
前面枠3の下部の開閉パネル20には図示しない打球発射装置に遊技球を供給する上皿21が備えられている。さらに、固定パネル22には灰皿15、下皿23及び打球発射装置の操作部24等が備えられている。下皿23には、下皿23に貯まった遊技球を排出するための下皿球抜き機構16が備えられる。前面枠3下部右側には、ガラス枠18を施錠するための鍵25が備えられている。
また、遊技者が操作部24を回動操作することによって、打球発射装置は、上皿21から供給される遊技球を発射する。
また、上皿21の上縁部には、遊技者からの操作入力を受け付けるためのセレクトスイッチ40及び操作スイッチ41が備えられている。
遊技者がセレクトスイッチ40を操作することによって、表示装置8(図3参照)における変動表示ゲームの演出内容を選択することができる。また、遊技者が操作スイッチ41を操作することによって、表示装置8における変動表示ゲームに、遊技者の操作を介入させた演出を行うことができる。
上皿21の右上部には、遊技者が遊技媒体を借りる場合に操作する球貸ボタン26、及び、カードユニット70からプリペイドカードを排出させるために操作される排出ボタン27が設けられている。これらのボタン26、27の間には、プリペイドカードの残高を表示する残高表示部28が設けられる。
次に、カードユニット70について説明する。
カードユニット70の下部には、プリペイドカード又は会員カード等のカードを挿入可能なカード挿入口71が設けられる。
プリペイドカード又は会員カード等のカードには、当該カードの一意な識別子、当該カードの所有者(遊技者)の会員情報、及び残高等が記憶されている。会員情報には、カードの所有者の住所、氏名、年齢、及び職業等が含まれる。
カード挿入口71にプリペイドカード又は会員カード等のカードが挿入された場合、図示しないカードリーダ・ライタによって、カードに記憶された情報が読み出される。そして、当該カードに記憶された残高が、遊技機1の残高表示部28及びカードユニット70の中央付近に設けられた残高表示部72に表示される。
残高表示部72の上方には、紙幣を挿入可能な紙幣挿入口73が設けられる。紙幣挿入口73に挿入された紙幣の有価価値は、カードに残高として記憶される。
紙幣挿入口73の上方には、動作表示部74が設けられる。動作表示部74は、カードユニット70の動作に対応して色で点灯する。
次に、図2を参照しながら遊技機1の裏面側について説明する。図2は、本発明の第1の実施の形態の遊技機1の背面図である。
遊技機1の裏面側、具体的には、前面枠3の裏面側には、中央に略正方形状の開口部を有する枠状の裏機構盤310が取り付けられる。
裏機構盤310の上部には、島設備に設けられた補給装置(図示省略)から補給された遊技球を貯留すると共に、貯留した遊技球を流下させる球貯留ユニット320が配設される。
裏機構盤310の側部(図2中右側)には、球貯留ユニット320から流下してきた遊技球を、遊技機前面に配設された上皿21及び下皿23に払い出す球排出ユニット330が配設される。
裏機構盤310の中央部には、遊技を統括的に制御する遊技制御装置100と、遊技制御装置100から送信される演出制御指令に基づいて変動表示ゲームの演出を制御する演出制御装置150とが配設される。
遊技制御装置100には、図示しない検査装置に接続される検査装置接続端子107が配設される。
裏機構盤310の下部には、遊技制御装置100から送信されるデータに基づいて球排出ユニット330の動作を制御し、遊技者に賞球を付与する払出制御装置(付与制御装置)210と、電源装置160とが配設される。
払出制御装置210には、図示しない検査装置に接続される検査装置接続端子217及び払出制御装置210に発生したエラーの種類を数字で表示するエラーナンバー表示器222が配設される。
また、電源装置160の右側の裏機構盤310には、遊技機1をカードユニット70に接続するためのカードユニット接続端子340が配設される。
次に、遊技盤5について、図3を参照しながら説明する。図3は、本発明の第1の実施の形態の遊技盤5の正面図である。
遊技盤5の表面には、ガイドレール55で囲われた略円形状の遊技領域51が形成される。遊技領域51は、遊技盤5の四方に各々設けられた樹脂製のサイドケース52及びガイドレール55によって構成される。遊技領域51の右下側のサイドケース52は、前面の中央部が黒色透明の証紙プレート53で覆われている。
遊技領域51には、ほぼ中央に表示装置8が設けられるセンターケース300が配置される。表示装置8はセンターケース300に設けられた凹部に、センターケース300の前面より奥まった位置に取り付けられている。すなわち、センターケース300は表示装置8の表示領域の周囲を囲い、表示装置8の表示領域から突出して設けられている。
また、遊技領域51の右下の領域には、図4で後述する特図表示器120及び普図表示器121を一体化した、図柄表示ユニット45が備えられる。
表示装置8は、例えば、LCD(液晶表示器)、CRT(ブラウン管)等で表示画面が構成されている。表示画面の画像を表示可能な領域(表示領域)には、複数の変動表示領域が設けられており、各変動表示領域に識別情報(特別図柄)や特図変動表示ゲームを演出するキャラクタが表示される。表示画面の変動表示領域には、識別情報として割り当てられた三つの特別図柄が変動表示(可変表示)して特図変動表示ゲームが行われる。その他、表示画面には遊技の進行に基づく画像(例えば、大当り表示、ファンファーレ表示、エンディング表示等)が表示される。
センターケース300の左側には、普通図柄始動ゲート31が設けられる。センターケース300の左下側には、三つの一般入賞口32が備えられ、センターケース300の右下側には、一つの一般入賞口32が備えられている。
センターケース300の下側には、開閉可能な普通変動入賞装置33を備える始動入賞口34が配設される。
また、センターケース300に設けられた始動入賞口34の下方には、表示装置8の作動結果によって遊技球を受け入れない状態と受け入れ易い状態とに変換可能な特別変動入賞装置(大入賞口)36が配設される。
遊技機1では、図示しない発射装置から遊技領域51に向けて遊技球(パチンコ球)が打ち出されることによって遊技が行われる。打ち出された遊技球は、遊技領域51内の各所に配置された釘や風車等の方向転換部材によって転動方向を変えながら遊技領域51を流下する。そして、普通図柄始動ゲート31、一般入賞口32、始動入賞口34、又は特別変動入賞装置36に入賞するか、遊技領域51の最下部に設けられたアウト口39から排出される。
また、始動入賞口34の状態には、普通変動入賞装置33の開閉によって、遊技球が入賞しやすい状態(入賞容易状態)と遊技球が入賞しにくい状態(非入賞容易状態)とがある。
通常、普通変動入賞装置33が閉状態の場合には、始動入賞口34は、遊技球が入賞しにくい状態となる。普通図柄始動ゲート31を遊技球が通過することによって、普図変動表示ゲームが実行され、普図変動表示ゲームの結果が当りとなると、普通変動入賞装置33が開状態に変換され、始動入賞口34は遊技球が入賞し易い状態となる。
一般入賞口32への遊技球の入賞は、一般入賞口32に備えられた入賞口SW(スイッチ)32A〜32N(図4参照)によって検出される。
始動入賞口34への遊技球の入賞は特図始動SW(スイッチ)34A(図4参照)によって検出される。この遊技球の通過タイミングによって抽出された特別図柄乱数カウンタ値は、遊技制御装置100内の特図記憶領域に特別図柄入賞記憶として所定回数(例えば、最大で4回分)を限度に記憶される。そして、この特別図柄入賞記憶の記憶数は、表示装置8の特別図柄入賞記憶数表示部(複合記憶表示部)に表示される。遊技制御装置100は、特別図柄入賞記憶数表示部の表示に基づいて、表示装置8にて特図変動表示ゲームを行う。
始動入賞口34に遊技球の入賞があると、表示装置8では、前述した数字等で構成される特別図柄(識別情報)が左(第一特別図柄)、右(第二特別図柄)、中(第三特別図柄)の順に変動表示を開始して、特図変動表示ゲームに関する画像が表示される。つまり、表示装置8では、特別図柄入賞記憶の記憶数に対応する特別図柄変動表示ゲームが行われ、興趣向上のために多様な表示を演出する。
始動入賞口34への入賞が所定のタイミングでなされたとき(具体的には、入賞検出時の当り乱数値が当り値であるとき)には特図変動表示ゲームの結果として表示図柄により特定の結果態様(特別結果態様)が導出されて、大当り状態となる。具体的には、表示装置8の特別図柄入賞記憶表示部では、当り図柄である一桁の特別図柄で停止して、表示装置8は、三つの特別図柄が揃った状態(大当り図柄)で停止する。このとき、特別変動入賞装置36は、大入賞口ソレノイド38(図4参照)への通電によって、所定の時間(例えば、30秒)だけ、遊技球を受け入れない閉状態から遊技球を受け入れやすい開状態に変換される。すなわち、特別変動入賞装置36が所定の時間又は所定数の遊技球が入賞するまで大きく開くので、この間遊技者は多くの遊技球を獲得することができるという特典が付与される。
なお、図柄表示ユニット45の特図表示器120(図4参照)においても、特図変動表示ゲームに同期して図柄の変動表示が行われる。そして、特図変動表示ゲームの結果として表示図柄により特別結果態様が導出される場合には、特図表示器120でも当りに対応する特定の図柄(例えば、「1」〜「9」までのいずれかの数字等)が表示され、特図変動表示ゲームがはずれの場合には、特図表示器120でもはずれに対応する図柄(例えば「0」等)が表示される。
特別変動入賞装置36への遊技球の入賞は、カウントSW(スイッチ)36A(図4参照)によって検出される。
普通図柄始動ゲート31への遊技球の通過は、普図始動SW(スイッチ)31A(図4参照)で検出される。この遊技球の通過タイミングによって抽出された普通図柄乱数カウンタ値は、遊技制御装置100内の普図記憶領域に普通図柄入賞記憶として所定回数(例えば、最大で4回分)を限度に記憶される。そして、この普図入賞記憶の記憶数は、図柄表示ユニット45の図示しない普図入賞記憶数表示部に表示される。
普図記憶領域に普図入賞記憶が記憶されている場合には、遊技制御装置100は、当該普図入賞記憶に基づいて普図入賞記憶数表示部における普図変動表示ゲームを開始する。すなわち、普通図柄始動ゲート31への通過検出が所定のタイミングでなされたとき(具体的には、通過検出時の普図乱数カウンタ値が当り値であるときには)には、普図入賞記憶数表示部に表示される普通図柄が当り状態で停止し、普図変動表示ゲームが当りとなる。このとき、普通変動入賞装置33は、普電ソレノイド90(図4参照)への通電により、始動入賞口34への入口が所定の時間(例えば、0.5秒〜2.9秒の範囲内で予め定められた時間)だけ開放するように変換され、遊技球の始動入賞口34への入賞が許容される。これによって、遊技球が始動入賞口34へ入賞しやすくなり、特図変動表示ゲームの始動が容易となる。
このようにして、一般入賞口32、始動入賞口34、又は特別変動入賞装置36に遊技球が入賞すると、入賞した入賞口の種類に応じた数の賞球が払出制御装置210によって制御される払出ユニットから、前面枠3の上皿21又は下皿23に排出される。
なお、本実施形態のパチンコ遊技機は、特図変動表示ゲームの結果に対応して(厳密には、特図変動表示ゲームに同期して実行される特図表示器120の表示態様に対応して)、以後の特図変動表示ゲームの当り確率が変化する場合があり、遊技状態は、常時、特図変動表示ゲームが低確率で当りとなる低確率状態か、当該低確率状態よりも特図変動表示ゲームが大当りとなる確率の高い高確率状態のいずれかに設定されている。なお、低確率状態を非確変遊技状態と称したり、高確率状態を確変遊技状態(確変状態)と称したりする場合もある。
さらに、本実施形態のパチンコ遊技機の遊技状態は、特図変動表示ゲームの結果に対応して、普通変動入賞装置33の開放頻度が変化する場合があり、遊技状態は、常時、普通変動入賞装置33の開放頻度が低い入賞抑制状態か、当該入賞抑制状態よりも普通変動入賞装置33の開放頻度が高い入賞促進状態のいずれかに設定されている。なお、入賞抑制状態を非時短遊技状態と称したり、入賞促進状態を時短遊技状態(時短状態)と称したりする場合もある。
この入賞促進状態においては、普図変動表示ゲームの実行時間が入賞抑制状態における実行時間より短くなるように制御される(例えば、入賞抑制状態で10秒に対し、入賞促進状態で1秒)。これによって、単位時間当りの普通変動入賞装置33の開放回数が実質的に多くなるように制御される。
また、入賞促進状態においては、普図変動表示ゲームが当り結果となって普通変動入賞装置33が開放される場合に、開放時間が通常遊技状態の開放時間より長くなるように制御されてもよい(例えば、入賞抑制状態で0.5秒に対し、入賞促進状態で2.9秒)。また、入賞促進状態においては、普通図柄変動表示ゲームの1回の当り結果に対して、普通変動入賞装置33が1回ではなく、複数回(例えば、2回)開放してもよい。さらに、入賞促進状態においては、普図変動表示ゲームの結果が当りとなる確率が入賞抑制状態より高くなるように制御してもよい。すなわち、入賞促進状態では、入賞抑制状態よりも普通変動入賞装置33の開放頻度が増加し、普通変動入賞装置33に遊技球が入賞しやすくなり、特図変動表示ゲームの始動が容易となる特典が付与される。
図4は、本発明の第1の実施の形態の遊技装置6のブロック図である。
遊技制御装置100は、遊技用マイコン(遊技用演算処理装置600)101、入力I/F(Interface)105、出力I/F(Interface)106及び検査装置接続端子107を備える。
遊技用マイコン101は、CPU102、ROM(Read Only Memory)103及びRAM(Random Access Memory)104を備える。
CPU102は、遊技を統括的に制御する主制御装置であって、遊技制御を行う。ROM103は、遊技制御のための不変の情報(プログラム、データ等)を記憶する。RAM104は、遊技制御時にワークエリアとして利用される。
遊技制御装置100には、遊技用マイコン101に一意に設定された識別番号を出力することが可能な検査装置接続端子107が設けられている。検査装置接続端子107に図示しない検査装置を接続すると、検査装置は遊技機1を識別することができる。
CPU102は、入力I/F105を介して各種検査装置(特図始動SW34A、普図始動SW31A、カウントSW36A、及び入賞口SWa32A〜入賞口SWn32N、オーバーフローSW(スイッチ)109、球切れSW(スイッチ)110、及び枠開放SW(スイッチ)111)からの検出信号を受けて、大当り抽選等、種々の処理を行う。
オーバーフロースイッチ109は、下皿23に遊技球が所定数以上貯留されていることを検出する。球切れスイッチ110は、球貯留ユニット320に配設され、球貯留ユニット320に貯留される遊技球が所定数以下になることを検出する。枠開放スイッチ111は、前面枠3の開放を検出する。
また、CPU102は、出力I/F106を介して、普図表示器121、特図表示器120、普電SOL(ソレノイド)90、大入賞口SOL(ソレノイド)38、払出制御装置210及び演出制御装置150に指令信号を送信し、遊技を統括的に制御する。
普図表示器121は、遊技球が普通図柄始動ゲート31に入賞した場合に行われる(普図)変動表示ゲームが表示される。特図表示器120には、遊技球が始動入賞口34に入賞した場合に行われる(特図)変動表示ゲームが表示される。
普電SOL90は、始動入賞口34に遊技球が入賞可能となるように、始動入賞口34に備えられた開閉部材で構成された普通変動入賞装置33を所定の時間だけ開放させる。
大入賞口SOL38は、特別変動入賞装置36の大入賞口を所定の時間だけ、遊技球を受け入れない閉状態(遊技者に不利な状態)から遊技球を受け入れやすい開状態(遊技者に有利な状態)にする。
また、遊技制御装置100は、遊技機1に関する情報を、外部情報端子108を介して、遊技店に設置された情報収集端末や遊技場内部管理装置(図示省略)に出力する。
遊技制御装置100は、変動開始コマンド、客待ちデモコマンド、ファンファーレコマンド、確率情報コマンド、及びエラー指定コマンド等を、演出制御指令信号として、演出制御装置150へ送信する。
次に、払出制御装置210及び演出制御装置150について説明する。
演出制御装置(表示制御装置)150は、遊技制御装置100から入力される各種信号に基づいて、エラー報知LED29、スピーカ30、発光により遊技演出を行う装飾部材9(図1)及び表示装置8を制御する。
演出制御装置150は、遊技用マイコン(遊技用演算処理装置600)151、ドライバ155、音回路156、及びVDP157を備える。
遊技用マイコン151は、CPU152、ROM153及びRAM154を備える。
CPU152は、演出制御を行う制御装置である。ROM153は、演出制御に必要な不変の情報(プログラム、データ等)を記憶している。RAM154は、演出制御時にワークエリアとして利用される。
ドライバ155は、CPU152からの指令により、エラー報知LED29及び装飾部材9を制御する。音回路156は、CPU152からの指令により、効果音を生成してスピーカ30から出力する。VDP157は、CPU152からの指令により、画像データを生成して表示装置8へ出力する。
払出制御装置210は、遊技制御装置100からの賞球指令信号に基づいて、払出装置の払出モータ220を駆動させ、賞球を払い出させるための制御を行う。また、払出制御装置210は、カードユニット70からの貸球要求信号に基づいて、遊技制御装置100が送信する排出指令信号に基づいて、払出装置の払出モータ220を駆動させ、貸球を払い出させるための制御を行う。
払出制御装置210は、遊技用マイコン(遊技用演算処理装置600)211、入力I/F(Interface)215、入出力I/F(Interface)216及び検査装置接続端子217を備える。
遊技用マイコン211は、CPU212、ROM213及びRAM214を備える。
CPU212は、払い出しを統括的に制御する制御装置であって、払出制御を司る。ROM213は、払出制御のための不変の情報(プログラム、データ等)を記憶している。RAM214は、払出制御時にワークエリアとして利用される。
CPU212は、入力I/F215を介して払出球検出スイッチ112、オーバーフロースイッチ109、球切れスイッチ110、エラー解除スイッチ223、税率設定スイッチ226、及び貸出料金設定スイッチ227からの入力を受ける。
エラー解除スイッチ223は、払出制御装置210にエラーが発生した場合に、遊技店の店員等が発生したエラーの原因を解消した際に、遊技店の店員等によって操作され、エラー状態を解除するためのスイッチである。
税率設定スイッチ226は、遊技球の貸し出しに対して課税される間接税の税率を設定するスイッチである。貸出料金設定スイッチ227は、貸し出される遊技球の有価価値を設定するためのスイッチである。
また、CPU212は、入出力I/F216を介して、払出モータ220、発射制御装置221、エラーナンバー表示器222、税率表示器224及び貸出料金表示器225に指令信号を送信する。また、CPU212は、入出力I/F216を介して遊技制御装置100から送信された各種信号を受信する。
払出モータ220は、実際に払出装置で遊技球を払い出すために駆動されるモータである。具体的には、払出モータ220は、1個の遊技球を貯留可能な凹部を所定個数有するスプロケットを回転させることによって、遊技球を払い出す。
発射制御装置221は、遊技球を遊技盤5に発射するための発射装置を制御する。エラーナンバー表示器222は、払出制御装置210の裏面側に配設され、払出制御装置210で発生したエラーの種類を特定可能に表示する。
税率表示器224は、払出制御装置210の裏面側に配設され、税率設定スイッチ226によって設定された間接税の税率を表示する。貸出料金表示器225は、払出制御装置210の裏面側に配設され、貸出料金設定スイッチ227によって設定された貸し出される遊技球の有価価値を表示する。
電源装置160は、バックアップ電源161、RAMクリアスイッチ162を備える。遊技制御装置100、演出制御装置150、及び払出制御装置210は、電源装置160に接続される。
バックアップ電源161は、停電時においても、遊技制御装置100、演出制御装置150、及び払出制御装置210に電源を供給する。なお、演出制御装置150には必ずしも電源を供給しなくてもよく、停電復帰後、遊技制御装置100からコマンドを送信するようにしてもよい。
RAMクリアスイッチ162は、遊技制御装置100に備わるRAM104及び払出制御装置210に備わるRAM214に記憶されている情報を初期化するスイッチである。
また、遊技機1に備わる球貸ボタン26が操作されると、カードユニット70は、プリペイドカード又は会員カード等のカードに記憶されている有価価値から貸し出される遊技球分の有価価値を減算して、減算した有価価値の値を遊技機1の残高表示部28に表示する。また、遊技機1に備わる排出ボタン27が操作されると、カードユニット70は、カード挿入口71に挿入されたカードを排出する。
遊技制御装置100に備わる遊技用マイコン101と払出制御装置210に備わる遊技用マイコン211とは、暗号化された暗号化信号(暗号化データ)を双方向通信可能に接続される。また、暗号化されない非暗号化信号(平文データ)については、遊技制御装置100に備わる遊技用マイコン101から払出制御装置210に備わる遊技用マイコン211に単方向通信が可能に接続される。
また、遊技制御装置100に備わる遊技用マイコン101と演出制御装置150に備わる遊技用マイコン151とは、暗号化されない非暗号化信号(平文データ)を遊技制御装置100から演出制御装置150への単方向で通信可能に接続される。
なお、遊技制御装置100に備わる遊技用マイコン101、演出制御装置150に備わる遊技用マイコン151及び払出制御装置210に備わる遊技用マイコン211は、これらの接続に必要なポートを備えている。
次に、遊技制御装置100に備わる遊技用マイコン101、演出制御装置150に備わる遊技用マイコン151及び払出制御装置210に備わる遊技用マイコン211(以下、総称して遊技用演算処理装置600という)について、図5を用いて詳細に説明する。
図5は、本発明の第1の実施の形態の遊技用演算処理装置(アミューズチップ)600のブロック図である。
遊技用演算処理装置600はいわゆるアミューズチップ用のICとして製造され、遊技制御を行う遊技領域部600Aと情報管理を行う情報領域部600Bとに区分される。
まず、遊技領域部600AはCPUコア601、ユーザプログラムROM602、HWパラメータROM603、ユーザワークRAM604、ミラードRAM605、外部バスインターフェース(I/F)606、バス切替回路607、乱数生成回路608、クロック生成回路609、割込制御回路610A、リセット回路610B、アドレスデコーダ611、出力制御回路612、ブートブロック613、復号化・ROM書込回路614、シリアル送信回路615A、シリアル送信回路615B、シリアル受信回路625、暗号化送受信回路616、及びバス617によって構成される。なお、シリアル送信回路615A及びシリアル送信回路615Bを総称して、シリアル送信回路615という。
CPUコア601は、図4のCPU102、CPU152又はCPU212に相当する。ユーザプログラムROM602は、図4のROM103、ROM153又はROM213に相当する。また、ユーザプログラムROM602及びHWパラメータROM603を総称して、ROM(不揮発性記憶手段)という。
ユーザワークRAM604は、図4のRAM104、RAM154又はRAM214に相当する。また、ユーザワークRAM604及びミラードRAM605を総称して、RAM(揮発性記憶手段)という。
CPUコア601は、遊技制御のための演算処理を行う演算処理手段として機能する。ユーザプログラムROM602は、制御プログラムを格納する。制御プログラムは、遊技用演算処理装置600が遊技制御装置100に備わる遊技用マイコン101である場合には、遊技の制御を行うための遊技制御プログラムである。また、遊技用演算処理装置600が払出制御装置210に備わる遊技用マイコン211である場合には、遊技球の払い出しを行うための払出制御プログラムである。さらに、遊技用演算処理装置600が演出制御装置150に備わる遊技用マイコン151である場合には、演出の制御を行うための演出制御プログラムである。
HWパラメータROM603は、正当性確認情報を格納する。正当性確認情報とは、遊技用演算処理装置600の正当性の簡易チェックを行う場合の情報であり、例えば、遊技機1の一意な識別子を示す固有ID、メーカコード(遊技機1の製造メーカ毎に割り振られた固有の製造メーカの一意な識別子)、遊技機1のランク(1種、2種等)を示すランクコード、製造メーカが遊技機1の種類に設定する機種コード、検査番号を示す検査コード、電源投入時にRAMをバックアップするか否かを示すRAMバックアップコード、税率設定スイッチ226によって設定された税率、貸出料金設定スイッチ227によって設定された貸出料金等である。また、HWパラメータROM603には、最初に貸出情報要求を送信した検査装置の一意な識別子である固有IDが一つのみ記憶される。
第三者機関又は遊技機1の製造メーカがユーザプログラムROM602にプログラムを書き込む際に、正当性確認情報がHWパラメータROM603に書き込まれる。遊技用演算処理装置600は、電源立ち上がり時に、ユーザプログラムROM602に書き込まれたプログラムが正当であるか否かについて簡易チェックを行うことができる。具体的には、遊技用演算処理装置600の電源立ち上がり時に、遊技用演算処理装置600自身が演算した演算値と、正当性確認情報(すなわち、第三者機関等によって予め設定された結果値)とを比較判定することで、簡易的な遊技用演算処理装置600のチェックを行うことが可能になっている。
ユーザワークRAM604は、遊技領域部600Aにおけるプログラムに基づく処理を実行する際にワークエリア(作業領域)として用いられるものである。このユーザワークRAM604には、バックアップ電源161(図4)からのバックアップ電源が供給されているので、遊技機1への電源供給が途絶えても、記憶データが保持されるように構成されている。ミラードRAM605は、クロックの立ち下がり時にユーザワークエリアに記憶された情報を複製し、複製した情報を記憶する(CPUコアがZ80の場合には、クロックの立ち上がり時に処理を実行するため、同期して動くことがないようにしている)。
外部バスインターフェース606は、メモリリクエスト信号MREQ、入出力リクエスト信号IORQ、メモリ書込み信号WR、メモリ読み出し信号RD及びモード信号MODEなどのインターフェースであり、また、バス切替回路607は、16ビットのアドレス信号A0〜A15や8ビットのデータ信号D0〜D7のインターフェースである。
例えば、MODE信号をハイレベルにした状態で、アドレス信号A0〜A15を順次にインクリメントしながら、データ信号D0〜D7を加えると、ユーザプログラムROM602への書き込みモードとなって遊技機1の製造メーカ又は第三者機関によるプログラムの書き込みが可能になる。なお、書き込みモードはプログラムの書き込みを可能にするものであり、ブートブロック613に記憶されるブートプログラムを書き込みできるようにするものではない。
また、ユーザプログラムROM602へのプログラムの書き込みが終了すると、HWパラメータROM603の所定領域に書込終了コードが記録(例えば、所定のコード若しくは所定ビットを物理的に切断することで記録)されるようになっており、HWパラメータROM603に書込終了コードが記録されている場合には、ユーザプログラムROM602への新たなプログラムの書き込みができないようになっている。
乱数生成回路608は遊技の実行過程において遊技価値(例えば、大当り)を付加するか否か等に係わる乱数(乱数は、大当りの決定や停止時の図柄の決定等に使用)を生成するもので、一様性乱数を生成する数学的手法(例えば、合同法又はM系列法等)を利用している。なお、遊技用演算処理装置600が払出制御装置210に備わる遊技用マイコン211である場合には、乱数生成回路608は必要ない。
クロック生成回路609は、所定周期(例えば、4ミリ秒)で生成されるタイマ割込信号と、クロック信号を生成する。クロック生成回路609が生成したタイマ割込信号及びクロック信号はCPUコア102に入力される。CPUコア102は、タイマ割込信号が入力されると、図19に示すタイマ割込処理を実行する。
割込制御回路610Aは、所定の割り込み条件の発生を検出すると、割り込みの発生をCPUコア601に知らせる。また、リセット回路610Bは、外部から入力されたリセット信号(RST)を検出すると、遊技用演算処理装置600の内部に備えられた各回路にリセット信号を伝達する。
アドレスデコーダ611は、内蔵デバイス及び内蔵コントロール/ステータスレジスタ群のロケーションをメモリマップドI/O方式及びI/OマップドI/O方式によりデコードする。
出力制御回路612は、アドレスデコーダ611からの信号制御を行って外部端子より8ビットのチップセレクト信号(CS0〜CS7)を外部に出力するとともに、遊技用演算処理装置600の内部に備えた回路を選択するチップセレクト信号を発生する機能を有する。ブートブロック613は、ブートプログラムを記憶し、電源投入時に遊技用演算処理装置600の初期化に係わる処理を行う。
復号化・ROM書込回路614は、ユーザプログラムROM602及びHWパラメータROM603への書込みモードの際に使用されるもので、モード信号MODEが[H]レベルになっている間、バス切替回路607を介してアドレス信号A0〜A15やデータ信号D0〜D7を取り込み、そのデータ信号D0〜D7に含まれる情報(暗号化されたプログラム及び暗号化された変更後の固有ID)を復号化処理した後、バス617を介してユーザプログラムROM602及びHWパラメータROM603に出力する(書き込む)。
シリアル送信回路615A及びシリアル送信回路615Bは、暗号化されていない平文データを送信するための回路である。シリアル送信回路615Aは、SIOTX0端子を介して演出制御装置150に接続される。また、シリアル送信回路615Bは、SIOTX1端子を介して払出制御装置210に接続される。シリアル受信回路625は、暗号化されていない平文データを、SIORX端子を介して受信するための回路である。
暗号化送受信回路616は、NJLINK端子を介して暗号化された暗号化データを送受信する回路である。例えば、遊技制御装置100から払出制御装置210にデータを送信する場合に使用される、また、遊技制御装置100と払出制御装置210との間は、NJLINK接続で接続され、暗号化送受信回路616には、NJLINK信号線が接続される。暗号化送受信回路616は、NJLINK信号線を介してデータを送受信する。
バス617はデータバス(図11のデータバス660)、アドレスバス(図11のアドレスバス650)及び制御バスを含むものであり、情報領域部600Bまで延びている。
次に、遊技用演算処理装置600における情報管理を行う情報領域部600Bは、HPGプログラムROM618、IDプロパティメモリ619、バスモニタ回路620、HPGワークRAM621、制御回路622、外部通信制御回路623、バス624、及び遊技領域部600Aから延びるバス617の一部を含んで構成される。
HPGプログラムROM618には、各種検査動作を行うHPGプログラムが格納される。
IDプロパティメモリ619には、図示しない検査装置から外部通信制御回路623を介して受信した要求に基づいて、HWパラメータROM603に記憶されている情報を図示しない検査装置にすぐに出力できるように、遊技用演算処理装置600の電源投入時(システムリセット時)にHWパラメータに記憶されている情報を複製して記憶する。なお、IDプロパティメモリ619は、遊技領域部600A側及び情報領域部600B側の双方よりアクセスが可能な構成になっている。
バスモニタ回路620は、情報領域部600B側より遊技領域部600A側のバス617の状態監視及び制御を行う。ここでの制御とは、HWパラメータROM603の内容をIDプロパティメモリ619に複写する際のタイミング制御や、ユーザプログラムROM602に格納されたプログラムを外部に出力する際(遊技領域部600A側のバス617を開放してユーザプログラムROM602からプログラムを読み込んで情報領域部600B側より外部に出力する際)のタイミング制御である。なお、プログラムは、外部通信制御回路623で暗号化されてから出力される。
HPGワークRAM621は、情報領域部600Bにおけるプログラムに基づく処理を実行する際にワークエリア(作業領域)として用いられるものである。
制御回路622は情報領域部600B側を制御するもので、バッファメモリを有している。制御回路622は、例えば、バスモニタ回路620を介してCPUコア102の動作を監視し、非動作中に遊技領域部600AのユーザワークRAM604に記憶された内容をミラードRAM605へコピーする。また、図示しない検査装置からの要求に応答して情報領域部600BのIDプロパティメモリ619の内容を外部へ転送したり、プログラム要求に応答してバスモニタ回路620を介してユーザプログラムROM602内のプログラムを外部へ転送したりする。制御回路622のメモリは、転送時のタイミング調節のために用いられる。
外部通信制御回路623は図示しない検査装置との通信を行うもので、例えば、外部からの指令に基づいて遊技用演算処理装置600内に格納されている情報(例えば、固有ID、プログラム、実払出数等)を暗号化した後、外部へ転送する等の処理を行う。
遊技用演算処理装置600では、遊技領域部600Aと情報領域部600Bがバスモニタ回路620を介して独立して動作する。すなわち、情報領域部600B側は遊技領域部600AにおけるCPUコア102の作動に関係なく(プログラム実行に関係なく)動作可能である。
なお、図5では図示されていないが、遊技用演算処理装置600には、図11にて後述するセキュリティ回路630及びRAMアクセス規制回路640を備えている。
図6は、本発明の第1の実施の形態の遊技制御装置100におけるシリアル送信回路615の構成例を示すブロック図である。
シリアル送信回路615は、送信シリアルチャンネル設定レジスタ633、送信データステータスレジスタ631、送信制御レジスタ632、送信データレジスタ635(送信データバッファレジスタ635A、送信データシフトレジスタ635B)、ボーレート生成回路(送信速度設定手段)634を含んで構成される。
シリアル送信回路615は、出力制御回路612から入力された選択信号に基づいて、送信先を選択する。また、リセット信号の入力を受け付けると、各種レジスタに設定された値を0クリアする。
送信シリアルチャンネル設定レジスタ633は、データ送信時の通信速度及び通信フォーマットを指定するレジスタである。送信シリアルチャンネル設定レジスタ633には、後述するメイン処理におけるシリアル通信設定処理によって各値が設定される。
図7は、本発明の第1の実施の形態の送信シリアルチャンネル設定レジスタ633の構成例を示す図である。図7に示すように、送信シリアルチャンネル設定レジスタ633は、16ビットで構成されており、ビット0〜15はすべて書き込み/読み出し可能とされる。
送信シリアルチャンネル設定レジスタ633において、ビット0〜12には、送信ボーレート(通信速度)を算出するためのボーレート設定値(例えば、分周比)が設定される。
具体的には、遊技用演算処理装置600に入力されるシステムクロック(MCLK)の周波数(単位Hz:ヘルツ)を32で除した値を、さらに、このボーレート設定値で除した値が、送信ボーレート(1秒間に送信されるデータのビット数)として設定される。例えば、ボーレート設定値として100を設定すると、システムクロックの周波数が20MHzであった場合には、送信ボーレートは、20,000,000÷32÷100=6250(bps)となる。
ビット13には、送信データ長を8ビットとする場合に“0”が設定され、9ビットとする場合に“1”が設定される。
ビット14には、送信データにパリティを付加しない場合に“0”が設定され、パリティを付加する場合に“1”が設定される。ビット15には、送信データに付加するパリティを偶数パリティとする場合に“0”が設定され、奇数パリティとする場合に“1”が設定される。なお、ビット15は、ビット14に“1”(パリティ有り)が設定されている場合に有効となる。
なお、遊技用演算処理装置600にリセット信号(RST0)が入力されると、シリアル送信回路615がリセットされ、送信シリアルチャンネル設定レジスタ633の全ビットが“0”に設定される(図6等も参照)。
図6の説明に戻り、送信制御レジスタ632は、シリアル送信回路615の動作を制御するためのレジスタである。
図8は、本発明の第1の実施の形態の送信制御レジスタ632の構成例を示す図である。図8に示すように、送信制御レジスタ632は、例えば8ビットで構成され、ビット6は読み出し専用とされ、他のビット0、4、5、7は書き込み/読み出し可能とされる。なお、本実施形態では送信制御レジスタ632のビット1〜3は未使用としているため、図8では記載を省略している。
送信制御レジスタ632のビット0には、送信回路(シリアル送信回路615)を初期化する場合に“1”が設定される。送信回路が初期化されると送信データレジスタ635のデータも含めて全てのレジスタが初期値とされる。
ビット4には、送信データレジスタ635(送信データシフトレジスタ635B)からのデータ送信を禁止する場合に“0”が設定され、データ送信を許可する場合に“1”が設定される。
ビット5には、送信データレジスタ635が空になったときに送信割り込みを要求しない場合に“0”が設定され、送信割り込みを要求する場合に“1”が設定される。
ビット6には、送信割り込み要求が発生しているか否か(送信割り込み状態)を示す値が設定される。ビット6に“0”が設定されている場合には送信割り込みを要求していない状態であることを示し、“1”が設定されている場合には送信割り込みを要求している状態であることを示す。
ビット7には、送信データレジスタのビット8の値(データ長が9ビットの場合)が設定される。
なお、遊技用演算処理装置600にリセット信号(RST0)が入力されると、シリアル送信回路615がリセットされ、送信制御レジスタ632の全ビットが“0”に設定される(図6等も参照)。その結果、送信制御レジスタ632のビット4が“0”になるので、送信データレジスタ635(送信データシフトレジスタ635B)からのデータ送信が禁止され、データ出力がオフされた状態になる。
図6の説明に戻り、送信データステータスレジスタ631は、送信データレジスタ635の状態を示すレジスタである。CPU102は、送信データステータスレジスタ631の設定値によって、送信データレジスタ635の状態を確認することができる。
図9は、本発明の第1の実施の形態の送信データステータスレジスタ631の構成例を示す図である。送信データステータスレジスタ631は、例えば8ビットで構成され、ビット0〜5、7はすべて読み出し専用とされる。なお、本実施形態では送信データステータスレジスタ631のビット6は未使用としているため、図9では省略している。
送信データステータスレジスタ631において、ビット0〜5には、送信データの残量を示す値が設定される。例えば、ビット0〜5に“00h”(16進数の“0”)が設定されていると送信データがないことを示し、“01h”が設定されていると送信データが1バイト残っていることを示し、“20h”が設定されていると送信データが32バイト残っていることを示す。
ビット7には、送信データレジスタ635におけるデータの送信状態を示す値が設定される。ビット7に“1”が設定されているとデータを送信していない状態であることを示し、“0”が設定されているとデータを送信している状態であることを示す。
なお、遊技用演算処理装置600にリセット信号(RST0)が入力されると、シリアル送信回路615がリセットされ、送信データステータスレジスタ631の全ビットが“0”に設定される(図6等も参照)。その結果、送信データステータスレジスタ631のビット0〜5が“00h”となり、送信データの残量がない状態となる。
図6の説明に戻り、送信データレジスタ635は、シリアル送信回路615が送信するデータを格納するレジスタである。送信データレジスタ635は、例えば、1段の送信データシフトレジスタ635Bと、31段の送信データバッファレジスタ635Aで構成される。
図10は、本発明の第1の実施の形態の送信データレジスタ635(1段分)の構成例を示す図である。1段の送信データレジスタ635は、例えば8ビットで構成され、ビット0〜7はすべて書き込み専用とされる。
この送信データレジスタ635には、タイマ割り込み処理で生成される制御指令データが格納され、送信制御レジスタのビット4に“1”(送信許可)が設定されていれば、格納された制御指令データは自動的に演出制御装置150に送信される。
制御指令データは、例えば、1バイトのモードデータと1バイトのアクションデータの2バイトで構成されるので、2段の送信データレジスタ635に1つの制御指令データが格納されることとなる。そして、本実施形態では、送信データレジスタ635を32段で構成しているので、1回のタイマ割り込み処理で最大16の制御指令データが生成される場合、これをすべて送信データレジスタ635に格納することができる。
但し、CPU102によって、新たな送信データを送信データレジスタ635に格納できるのは、送信データステータスレジスタ631のビット0〜5の値(送信データの残量を示す値)が“00h”〜“1Fh”の場合(送信データレジスタ635に、0〜31バイトの未送信データが残っている場合)に限られる。
送信データステータスレジスタ631のビット0〜5の値が“20h”の場合は、送信データレジスタ635に空きがないので、CPU102によって送信データレジスタ635に書き込もうとされたデータは廃棄される。これにより、送信データレジスタ635が満杯のときは、誤ってCPU102によるデータ書き込みが発生しても、既に格納されている送信データレジスタ635のデータが破壊されないようになっている。
なお、遊技用演算処理装置600にリセット信号(RST0)が入力されると、シリアル送信回路615がリセットされ、送信データレジスタ635の全ビットが“0”に設定される(図6等も参照)。
図6の説明に戻り、ボーレート生成回路634は、クロック生成回路609から分周回路629を介して出力されるクロック信号(遊技用演算処理装置600に入力されるシステムクロック(MCLK)を分周した信号)及び送信シリアルチャンネル設定レジスタ633に設定されている設定値(ボーレート設定値)に基づいて、シリアル送信回路615が用いる送信ボーレートを生成する。このとき、ボーレート生成回路634は、クロック信号及びボーレート設定値に基づいて、前述の計算式を用いて送信ボーレートを求める。また、分周回路629は、CPU102にも分周されたクロック信号を入力する。なお、分周回路629は、クロック生成回路609に含まれるように構成してもよい。
シリアル送信回路615では、送信許可の設定(送信制御レジスタ632のビット4を“1”)がなされた後、送信するデータを送信データレジスタ635(送信データバッファレジスタ635A)に書き込む、又は、送信するデータを送信データレジスタ635に書き込んだ後、送信許可の設定がなされると、自動的に送信が開始される。送信が開始されると、送信データバッファレジスタ635Aのデータが送信データシフトレジスタ635Bに転送され、送信データシフトレジスタ635Bからシリアル変換されて、最下位ビット(ビット0)から1ビットずつ順次出力される。そして、データの送信が完了すると送信データシフトレジスタ635Bは空になるので、送信データバッファレジスタ635Aに書き込まれている次のデータが送信データシフトレジスタ635Bに転送され、出力される。
したがって、シリアル送信回路615では、送信データレジスタ635(送信データシフトレジスタ635B、送信データバッファレジスタ635A)に書き込まれたデータ(制御指令データ)が、演出制御装置150に1ビットずつ順次送信されることとなる。
このように、シリアル送信回路(制御指令送信手段)615は、送信データ(例えば、制御指令データ)を格納する送信データレジスタ635を備え、送信データレジスタ635に送信データが格納されると、遊技制御装置100から演出制御装置150へ向かう方向に、格納された送信データを1ビットずつ順次送信する(いわゆるシリアル通信)ように構成されている。
具体的には、送信データレジスタ635は、格納されたデータをすぐに送信する送信データシフトレジスタ635Bと、格納されたデータを保持するとともに、送信データシフトレジスタ635Bがデータを格納可能な状態(データの送信が完了した状態)となったときに、保持しているデータを送信データシフトレジスタ635Bに転送する送信データバッファレジスタ635Aと、で構成される。
これにより、従来のパラレル通信では必須とされていたタイマ割り込み処理における制御指令データの送信処理を省略できるので、CPU102の負担を軽減することができる。
また、シリアル通信とすることで、制御指令データを送信するための配線本数を比較的少なくすることができる。
また、遊技制御装置100と演出制御装置150との間の通信は、遊技制御装置100から演出制御装置150へのみデータを送信可能な単方向通信とされ、遊技制御装置100にデータは入力されないので、不正が行われることを防止できる。
なお、本実施形態においては、送信データレジスタ635に最大で32バイトの送信データが格納可能であるが、この32バイトのデータが、1回のタイマ割り込み処理において全て出力できるように、ボーレート設定値(送信シリアルチャンネル設定レジスタ633のビット0〜12)の値が設定されている。
具体的には、送信データレジスタ635から出力される1バイトあたりのデータ送信に必要な時間Tbと、タイマ割込信号の発生周期Fと、送信データレジスタ635に格納できるデータの上限バイト数Bとの関係が、F/B>Tbとなるように、ボーレート設定値を設定して送信の速度を決めればよい。
例えば、タイマ割込信号の発生周期F=4ミリ秒で、送信データレジスタ635に格納できるデータの上限バイト数B=32バイトであれば、F/B=4000/32=125マイクロ秒よりも短くなるようにTbの値を決定し、遊技用演算処理装置600に入力されるシステムクロック(MCLK)の周波数を考慮したうえで、ボーレート設定値の値を定めればよい。
このような構成とすることで、シリアル送信回路(制御指令送信手段、送信手段)615は、1回のタイマ割り込み処理において生成される一連の制御指令データをすべて格納することが可能となり、タイマ割り込み毎に生成される制御指令データを確実に送信することができる。
図11は、本発明の第1の実施の形態の遊技制御装置100に備わる遊技用演算処理装置(アミューズチップ)600とその周辺のブロック図である。
遊技用演算処理装置600は、セキュリティ回路630、CPUコア102(図11では601)、RAMアクセス規制回路640、ユーザワークRAM104(図11では604)、アドレスデコーダ611、出力制御回路612、及び、ユーザプログラムROM103(図11では602)を備える。
なお、遊技用演算処理装置600に備わるこれらの回路等は、アドレスバス650及びデータバス660を介して接続されている。アドレスバス650は、A0〜A15の16ビットの信号線によって構成され、データバス660は、D0〜D7の8ビットの信号線によって構成される。
また、遊技制御装置100は、演出制御装置150に接続されるシリアル送信回路615A、及び、払出制御装置210に接続されるシリアル送信回路615Bを備える。
遊技用演算処理装置600に電源が投入される際には、RST0端子(図5)を介して電源装置160からリセット信号(起動信号)が入力され、リセット回路610B(図5)が作動する。
セキュリティ回路630は、このリセット信号が入力されるとHWパラメータROM603に記憶された正当性確認情報を用いて、セキュリティチェック処理を実行する。このセキュリティチェック処理は、ユーザプログラムROM103に記憶されたプログラムの正当性の判定を行う処理である。
セキュリティ回路630は、このセキュリティチェック処理を実行している間は、CPUコア102のリセット端子(RES0(負論理))にリセット信号を継続して出力することで、CPUコア102の起動を待機させる。
CPUコア102は、前述のリセット端子(RES0(負論理))と、書込指令出力端子(WR(負論理))、及び読出指令出力端子(RD(負論理))を備える。リセット端子はセキュリティ回路630に接続されており、遊技用演算処理装置600にリセット信号が入力されると、前述のように、セキュリティチェック処理を実行している間、CPUコア102に対するリセット信号がリセット端子に入力される。
CPUコア102のリセット端子にリセット信号が入力されると、CPUコア102は、CPUコア102に備わるレジスタ(REG)を初期化する。
また、CPUコア102がユーザワークRAM104にデータの書き込みを指令する書込指令を出力する場合には、CPUコア102の書込指令出力端子からは所定値よりも低い電圧のローレベルの信号が出力される。同様に、CPUコア102がユーザワークRAM104からデータの読み出しを指令する読出指令を出力する場合には、CPUコア102の読出指令出力端子からは所定値よりも低い電圧のローレベルの信号が出力される。
つまり、書込指令出力端子及び読出指令出力端子は、通常電圧がハイレベルに維持されており、ユーザワークRAM104への読み書きを行うときにのみ電圧がローレベルになる。
まず、ユーザワークRAM104のデータの読み出しについて説明する。
CPUコア102から、ユーザワークRAM104の読出指令入力端子(RD(負論理))に読出指令が入力されると、アドレスバス650及びデータバス660を介してCPUコア102に読出データが出力される。
このとき、CPUコア102からアドレスバス650へは、ユーザワークRAM104のアドレスが出力され、アドレスデコーダ611からユーザワークRAM104のチップ選択端子(所謂CS端子に相当、図示は略)に選択信号が入力されることによって、ユーザワークRAM104が選択される。次いで、選択されたユーザワークRAM104は、アドレスバス650が指定する記憶領域のデータをデータバス660へ出力する。次いで、CPUコア102は、データバス660へ出力されたデータを内部へ取り込む。このような手順により、CPUコア102はユーザワークRAM104からデータを読み出す。
次に、ユーザワークRAM104へのデータの書き込みについて説明する。
CPUコア102に備わる書込指令出力端子は、RAMアクセス規制回路640のORゲート回路642に備わる二つの入力端子のうち一方の入力端子に接続される。ORゲート回路642の他方の入力端子は、RAMアクセス規制回路640のフリップフロップ回路641の出力端子(Q(負論理))に接続され、ORゲート回路642の出力端子は、ユーザワークRAM104の書込指令入力端子(WR(負論理))に接続されている。
また、ユーザワークRAM104の書込指令入力端子に所定値以下の電圧であるローレベルの信号が入力されると、ユーザワークRAM104への書き込みが許容される。
このため、ORゲート回路642の二つの入力端子にそれぞれローレベルの信号が入力されなければ、ユーザワークRAM104への書き込みが許容されない。言い換えれば、ORゲート回路642の少なくとも一方の入力端子にハイレベルの信号が入力されていると、ユーザワークRAM104への書き込みが規制(禁止)される。
ここで、RAMアクセス規制回路640のフリップフロップ回路641について説明する。
フリップフロップ回路641は、D型のフリップフロップ回路であり、入力端子として、データ端子(D)、リセット端子(R(負論理))、及び出力イネーブル端子(OE(負論理))を備えるとともに、出力端子(Q(正論理),Q(負論理))を備える。
データ端子には、データバス660を構成する信号線D0〜D7のうち所定の一本の信号線(例えば、D0)が接続されている。
リセット端子には電源装置160からリセット信号線が接続され、リセット信号が入力されるとリセット端子はローレベルとなる。このときフリップフロップ回路641は、出力端子Q(正論理)からローレベルの信号を出力させ、出力端子Q(負論理)からハイレベルの信号を出力させる。出力端子Q(正論理)からの出力と、出力端子Q(負論理)からの出力は、相互に反転するレベルとなっている。
また、出力イネーブル端子は、出力制御回路612から送信された出力イネーブル信号が入力される。出力イネーブル信号がハイレベルの場合には、出力端子から信号の出力が可能な状態となる。
このフリップフロップ回路641に備えた出力端子Q(負論理)からの信号レベルは、CPUコア102によって、自在に設定できるようになっている。この設定は、CPUコア102が、フリップフロップ回路641に割り当てられたアドレスの記憶領域に所定のデータを書き込むことで実現される。
具体的には、CPUコア102によってフリップフロップ回路641に割り当てられたアドレスの記憶領域にデータを書き込む処理が行われると、CPUコア102からアドレスバス650へは、フリップフロップ回路641のアドレスが出力される。次に、アドレスデコーダ611から、出力制御回路612を介して、フリップフロップ回路641の出力イネーブル端子にクロック信号が入力され、出力イネーブル端子の電圧レベルが立ち上がり、ハイレベルとなる。
このときフリップフロップ回路641は、データ端子に入力されている信号を取り込んで、取り込んだ信号を出力端子Q(正論理)から出力し、取り込んだ信号の反転値を出力端子Q(負論理)から出力する。
また、フリップフロップ回路641は、出力制御回路612がクロック信号の入力を終了した場合には、出力イネーブル端子の電圧レベルは立ち下がりローレベルとなり、出力端子Q(正論理)及び出力端子Q(負論理)の電圧レベルを保持する。
また、出力端子Q(負論理)は、ORゲート回路642の入力端子に信号を出力する。出力端子Q(正論理)には何も接続されない。
次に、フリップフロップ回路641の入力状態に応じた各種動作について説明する。
フリップフロップ回路641は、前述したように、出力イネーブル端子の電圧レベルの立ち上り、つまり出力イネーブル信号の入力開始時に、データ端子の電圧レベルを読み取り、読み取った電圧レベルの反転値を出力端子Q(負論理)から出力する。
一方、フリップフロップ回路641は、出力イネーブル端子の電圧レベルの立ち下がり、つまり、出力イネーブル信号の入力終了時に、出力イネーブル端子の電源レベルの立ち上がり時の出力端子Q(負論理)からの出力を保持する。
出力端子Q(負論理)からハイレベルの信号がORゲート回路642の入力端子に出力されていると、ORゲート回路642の他方の入力端子にローレベル及びハイレベルのいずれの信号が入力されても、ORゲート回路642の出力端子からはハイレベルの信号が出力される。
このため、フリップフロップ回路641の出力端子Q(負論理)からハイレベルの信号が出力されていれば、ORゲート回路642の他方の入力端子に書込指令信号が入力されても(当該他方の入力端子にローレベルの信号が入力されても)、ユーザワークRAM104の書込指令入力端子にはローレベルが入力されなくなり、RAM書込禁止状態が発生する。
RAMアクセス規制回路640をRAM書込禁止状態にするかRAM書込許可状態にするかは、クロック信号がフリップフロップ回路641に入力されたときのフリップフロップ回路641のデータ端子に入力される電圧レベル、又はリセット信号の入力の有無に基づく。
前述のようにCPUコア102は、出力制御回路612を制御してクロック信号の出力を制御でき、データバス660の信号線の出力も制御できるので、フリップフロップ回路641の出力端子Q(負論理)から出力される信号は、CPUコア102によって制御可能である。言い換えると、CPUコア102は、データバス660の信号レベルを制御することによってRAMアクセス規制回路640の書込状態を制御できる。
さらに、前述のようにフリップフロップ回路641のリセット端子にリセット信号が入力された場合には、フリップフロップ回路641は、出力端子Qの電圧レベルをローにするため、出力端子Q(負論理)の電圧レベルはハイになる。このため、フリップフロップ回路641にリセット信号が入力された場合には、RAMアクセス規制回路640では、RAM書込禁止状態が発生することになる。
前述のように、出力制御回路612が払出制御装置210に接続されるシリアル送信回路615Bにクロック信号を入力すると、シリアル送信回路615Bは、クロック信号が入力されたタイミングで、データバス617からデータを読み取り、読み取ったデータを送信データバッファレジスタ635Aに格納する。そして、送信データバッファレジスタ635Aに格納されたデータを送信データシフトレジスタ635Bに格納し、払出制御装置210に順次出力する。
なお、前述したセキュリティ回路630、RAMアクセス規制回路640、及びシリアル送信回路615の起動(リセット)は、電源装置160からのリセット信号を、前述のリセット回路610B(図5)を介して受け入れた場合に実行される。ただし、電源装置160からのリセット信号は、必ずしもリセット回路610Bを介して各回路に入力される必要はなく、リセット回路610Bを経由しない別個の信号線を介して各回路に入力されるような構成でもよい。
なお、シリアル送信回路615(615A、615B)においては、図7〜図10の説明で前述したように、リセット信号によって、演出制御装置150や排出制御装置210へのデータ出力がオフ状態となる
また、払出制御装置210は、シリアル送信回路615を備えてはいない点が、図6に示した遊技制御装置100と異なっている。その他の構成は、図11に示した遊技制御装置100と同じ構成である。
また、演出制御装置150は、シリアル送信回路615を備えてはいない点、さらに、遊技用演算処理装置600にRAMアクセス規制回路640を備えていない点が、図6に示した遊技制御装置100と異なっている。その他の構成については、図11に示した遊技制御装置100と同じ構成である。
なお、払出制御装置210及び演出制御装置150に備えたシリアル受信回路625は、払出制御装置210(又は演出制御装置150)のCPU102が起動した後であれば、遊技制御装置100のシリアル送信回路615からの信号を受け入れられる状態となっている。なお、払出制御装置210(又は演出制御装置150)のシリアル受信回路625とCPU102とは、データバス617によって相互に接続される構成となっている。
図12は、本発明の第1の実施の形態のユーザワークRAM104の一例を示す図である。
ユーザワークRAM104は、第1停電復旧領域701、ワークエリア702、第2停電復旧領域703、チェックサム領域704、使用禁止領域705、及びスタック領域706を有する。
ユーザワークRAM104には、アドレス「2800H」〜「29FFH」が割り当てられており、第1停電復旧領域701にはアドレス「2800H」が割り当てられ、ワークエリア702にはアドレス「2801H」〜「2917H」が割り当てられ、第2停電復旧領域703にはアドレス「2918H」が割り当てられ、チェックサム領域704にはアドレス「2919H」が割り当てられ、使用禁止領域705にはアドレス「291AH」〜「297FH」が割り当てられ、スタック領域706にはアドレス「2980H」〜「29FFH」が割り当てられる。
ユーザワークRAM104の各領域について説明する。
第1停電復旧領域701及び第2停電復旧領域703は、遊技機1への電源供給開始時に参照される情報が格納されており、直前の電源供給停止のとき(停電発生や遊技機1の電源スイッチをオフにしたとき)に、電源遮断の処理が正しく実行されていたか否かを示す情報(電源遮断確認フラグ)が格納されている。
ワークエリア702には、遊技制御で必要な変数等が格納され、図15及び図16に示す遊技制御装置メイン処理並びに図19に示すタイマ割込処理等で、これらの変数が更新される。チェックサム領域704には、停電発生時に算出されたユーザワークRAM104の第1停電復旧領域701、ワークエリア702、及び第2停電復旧領域703のチェックサムが格納される。
使用禁止領域705は使用されない記憶領域であり、当該領域へのアクセスがあると、CPUコア102がリセットされるようになっている。
スタック領域706には、CPUコア102で演算されているデータの一部を一時的に退避させる場合に、退避データが格納される。また、割込みが発生した場合の戻りアドレスや、サブルーチンや関数を呼び出す場合の戻りアドレスも格納される。
図13は、本発明の第1の実施の形態のスタック領域706の一例を示す図である。図13では、スタック領域706に戻りアドレスが格納される場合について説明する。
まず、スタック領域706に何もデータが格納されていない状態では、スタックポインタ(SP)は、スタック領域の最終領域(29FFH)に隣接する領域(2A00H)をスタックポインタ初期値として示している。なお、このスタックポインタ初期値が示す領域は、スタック領域には含まれない領域(本実施形態では、ユーザワークRAM104の記憶領域にも含まれていない領域)である。
次に、スタック領域706に退避データが格納されたり、割込み発生やサブルーチン呼び出しによって、スタック領域706に戻りアドレスが格納されたりすると、最後にデータ(又はアドレス)が格納された領域を、スタックポインタによって示すことになる。
そして、スタック領域706から退避データが復帰した際、又は、戻りアドレスを取り出した際(割込み処理やサブルーチンの処理が終了して呼び出し元に戻る際)には、その時点でスタックポインタが示しているデータ(又はアドレス)が取り出され、次にデータが取り出される予定の格納領域が、スタックポインタによって示される。
このようにして、スタック領域706に格納された戻りアドレスは、後に格納された戻りアドレスから先に読み出される。
なお、図13では、スタックポインタが第3戻りアドレスを指しているときに、新たに、割込みやサブルーチン呼び出しが発生して、戻りアドレスを第4戻りアドレスとして格納した様子を示している。この後、第4戻りアドレスの格納領域(29F8H)が、スタックポインタによって示されることになる。
図14は、本発明の第1の実施の形態の各装置(遊技制御装置100、払出制御装置210、及び演出制御装置150)の電源投入時処理のフローチャートである。
具体的には、図14(A)は、遊技制御装置100の電源投入時処理のフローチャートであり、図14(B)は、払出制御装置210の電源投入時処理のフローチャートであり、図14(C)は、演出制御装置150の電源投入時処理のフローチャートである。
最初に、遊技制御装置100の電源投入時処理(図14(A))から説明する。この電源投入時処理は、最初からCPU102によって実行される処理ではなく、まず遊技制御装置100に備わる各種ハードウェアによって実行され、後にCPU102によって実行される処理である。
まず、遊技制御装置100は、電源装置160から出力されたリセット信号が伝達される(1401)。
このリセット信号は、電源装置160から、セキュリティ回路630(図11参照)、RAMアクセス規制回路640のフリップフロップ回路641のリセット端子(図11参照)、及びシリアル送信回路615のリセット端子に入力される。具体的には、これらのリセット端子には、電源が投入されると、所定時間、所定の電圧(例えば、5V)以下の電圧が印加されることによってリセット信号が入力され、所定時間経過後に所定の電圧が印加されることによって、リセット信号が入力されなくなる。
なお、セキュリティ回路630は、電源装置160からリセット信号が入力されると、後述のセキュリティチェック処理が終了するまでCPUコア102のリセット端子にリセット信号を出力し続けて、CPUコア102の起動を待機させる。
そして、シリアル送信回路615のリセット端子にリセット信号が入力されると、シリアル送信回路615の入力端子及び出力端子の電圧レベルがローに制御され、各種装置(普電SOL90、大入賞口SOL38等)に接続される出力I/F106のポートをすべて0に設定することにより、シリアル送信回路615、及び出力I/F106がハードウェアにより初期化される(1402)。
次に、RAMアクセス規制回路640によって、ユーザワークRAM104への書き込み規制されるRAM書込禁止状態が発生する(1403)。
具体的には、図11で説明したように、フリップフロップ回路641のクリア端子にはリセット信号が入力されるため、フリップフロップ回路641の出力端子Q(負論理)からハイレベルの信号が出力される状態となる。これにより、ORゲート回路642の他方の入力端子にハイレベルの信号が入力されても、ローレベルの信号が入力されても、ユーザワークRAM104の書込指令入力端子にはハイレベルの信号が入力されることになるため、RAM書込禁止状態が発生する。
次に、リセット信号が入力された図11に示すセキュリティ回路630が自己診断処理を実行する(1404)。自己診断処理は、セキュリティ回路630が初期化されているか否かを判定する処理である。
そして、自己診断処理によって、セキュリティ回路630が初期化されていると判定された場合には、セキュリティ回路630は、セキュリティチェック処理を実行する(1405)。セキュリティチェック処理は、図11で説明したように、HWパラメータROM603(図5参照)に記憶された正当性確認情報を用いて、ユーザプログラムROM602(図5参照)に記憶されたプログラムの正当性の判定を行う処理である。
ステップ1405の処理で、セキュリティチェック処理を実行すると、遊技制御装置100のメイン処理へ移行する。このとき、セキュリティ回路630は、CPUコア102のリセット端子に出力していたリセット信号を停止することで、CPUコア102が起動する。このため、遊技制御装置100のメイン処理は、CPUコア102によって実行される。遊技制御装置100のメイン処理は図15にて後述する。
次に、払出制御装置210の電源投入時処理(図14(B))を説明する。前述したように、払出制御装置210は、シリアル送信回路615を備えていない点を除き、図11に示した遊技制御装置100と同じ構成である。図11に示す遊技制御装置100の構成部と同じ構成部については、同じ符号を付与して説明する。
まず、払出制御装置210は、電源装置160から出力されたリセット信号が伝達される(1411)。なお、ステップ1411の処理は、ステップ1401の処理と同じである。
そして、払出制御装置210にリセット信号が入力されると、払出制御装置210の出力ポート(図4の入出力I/F216に含まれる)の電圧レベルが0に設定され、各種装置(払出モータ220、及び発射制御装置221等)に接続される入出力I/F216のポートがすべて0に設定され、入出力I/F216がハードウェアにより初期化される(1412)。
次に、払出制御装置210のRAMアクセス規制回路640によって、RAM214への書き込み規制されるRAM書込禁止状態が発生する(1413)。なお、ステップ1413の処理の具体的な説明は、ステップ1403の処理と同じである。
次に、リセット信号が入力された払出制御装置210のセキュリティ回路630が自己診断処理を実行する(1414)。なお、ステップ1414の処理の具体的な説明は、ステップ1404の処理と同じである。
そして、自己診断処理によって、セキュリティ回路630が初期化されていると判定された場合には、セキュリティ回路630は、セキュリティチェック処理を実行する(1415)。なお、ステップ1415の処理の具体的な説明は、ステップ1405の処理と同じである。
そして、払出制御装置210は、電源投入時の初期化処理を実行する(1416)。電源投入時の初期化処理は、RAM214等を初期化する処理であって、CPU212によって実行される。また、RAM214を初期化する前に、ステップ1413の処理で発生したRAM書込禁止状態が解除されて、RAM214はRAM書込可能状態となる。
次に、払出制御装置210は、遊技制御装置100からの指令を受信可能な状態を発生させる(1417)。そして、払出制御装置210のCPU212は、遊技制御装置100から送信された指令が初期化指令であるか否かを判定する(1419)。ステップ1419の処理で、遊技制御装置100から送信された指令が初期化指令でないと判定された場合には(1419の結果が「N」)、初期化指令が取り込まれるまで待機する。
一方、ステップ918の処理で、遊技制御装置100から送信された指令が初期化指令であると判定された場合、払出制御装置210は通信開始時の初期化処理を実行して(1420)、払出制御装置メイン処理へ移行する。
次に、演出制御装置150の電源投入時処理(図14(C))を説明する。前述したように、演出制御装置150は、シリアル送信回路615を備えていない点、及び、遊技用演算処理装置600がRAMアクセス規制回路640を備えていない点以外は、図11に示した遊技制御装置100と同じ構成である。図11に示す遊技制御装置100の構成部と同じ構成部については、同じ符号を付与して説明する。
まず、演出制御装置150は、電源装置160から出力されたリセット信号が伝達される(1421)。なお、ステップ1421の処理は、ステップ1401の処理と同じである。
そして、演出制御装置150にリセット信号が入力されると、演出制御装置150の出力ポートがハードウェアにより初期化される(1422)。
そして、演出制御装置150は、電源投入時の初期化処理を実行する(1423)。電源投入時の初期化処理は、RAM154等を初期化する処理であって、CPU152によって実行される。
次に、演出制御装置150は、遊技制御装置100からの指令を受信可能な状態を発生させる(1424)。そして、遊技制御装置100から送信された指令が初期化指令であるか否かを判定する(1426)。
演出制御装置150は、遊技制御装置100から送信された指令が初期化指令でないと判定された場合には(1426の結果が「N」)、初期化指令が取り込まれるまで待機する。
一方、演出制御装置150は、遊技制御装置100から送信された指令が初期化指令であると判定された場合(1426の結果が「Y」」、演出制御装置150は通信開始時の初期化処理を実行し(1427)、演出制御装置メイン処理へ移行する。
次に、遊技制御装置100のCPU102によって実行される遊技制御装置メイン処理を、図15及び図16を用いて説明する。
図15は、本発明の第1の実施の形態の遊技制御装置メイン処理の前半部のフローチャートであり、図16は、本発明の第1の実施の形態の遊技制御装置メイン処理の後半部のフローチャートである。
まず、遊技制御装置100は、CPU102への割込みを禁止する(1501)。
そして、遊技制御装置100は、図12に示すスタック領域706の予め設定された所定のアドレス(図12で前述したスタックポインタ初期値)にスタックポインタを設定し(1502)、割込モードを設定する(1503)。割込モードは、CPU102が内蔵デバイスからの割込要求の処理を可能とし、また、プログラムにおいて割込要求の処理を実行する位置を設定することを可能とするものである。
次に、遊技制御装置100は、入力I/F105からRAMクリアSW信号の状態を取り込み、取り込んだRAMクリアSW信号の状態をCPU102のレジスタに記憶する(1504)。
そして、遊技制御装置100は、RAM104を使用しないディレイ処理を実行する(1505)。このディレイ処理は、所定時間、処理を待機させる処理であり、具体的には、チェックサムが算出されない記憶領域にて、所定の数が0になるまでデクリメントし続ける処理である。ディレイ処理は、この所定の数を待機させる時間に対応する時間に設定することによって、所定時間を計時するタイマ計時手段となる。なお、ディレイ処理の詳細については、図17及び図18にて後述する。
次に、遊技制御装置100は、再度、入力I/F105からRAMクリアSW信号の状態を取り込み、取り込んだRAMクリアSW信号の状態をCPU102のレジスタに記憶する(1506)。なお、CPU102が二つのRAMクリア信号の状態を比較できるように、ステップ1504の処理でRAMクリアSW信号の状態を記憶するレジスタの領域、及び、ステップ1506の処理でRAMクリアSW信号の状態を記憶するレジスタの領域は、異なる領域である。
次に、遊技制御装置100は、ステップ1403の処理で発生したRAM書込禁止状態をRAM書込可能状態にする(1507)。
具体的には、CPU102の指令によって、フリップフロップ回路641のクロック端子にクロック信号を出力制御回路612から入力させ、かつ、フリップフロップ回路641のデータ端子に接続された信号線の信号レベルをハイレベルにする。これにより、フリップフロップ回路641の出力端子Q(正論理)からハイレベルの信号が出力され、出力端子Q(負論理)からローレベルの信号が出力されるため、ORゲート回路642の入力端子にローレベルの信号が入力されることにより、RAM書込可能状態になる。
次に、遊技制御装置100は、スタック領域706を使用して、各種設定処理を実行する(1508)。この設定処理は、例えば、サブルーチンや関数を呼び出して、遊技制御に必要な各種記憶領域に初期データを設定する処理である。この設定処理において、CPU102により、図7〜図9で前述した、送信シリアルチャンネル設定レジスタ633、送信制御レジスタ632、送信データステータスレジスタ631の各ビットの初期値が設定されることで、送信ボーレート等の設定が行われる。
これらのサブルーチンや関数は、遊技制御プログラムに記述した複数の箇所から呼び出される形態となっており、遊技制御プログラムの容量削減に貢献している。一方で、サブルーチンや関数を呼び出す際には、前述したように、戻りアドレスをスタック領域706に待避する処理を必要とする。
そして、遊技制御装置100は、ステップ1504の処理でレジスタに記憶されたRAMクリアSW信号の状態とステップ1508の処理でレジスタに記憶されたRAMクリアSW信号の状態とを比較して、どちらのRAMクリアSW信号の状態も、RAMクリアSW162が操作されたことを示しているか否かを判定する(1509)。
ステップ1509の処理では、異なるタイミングで取得したRAMクリア信号の状態に基づいてRAMクリアSW162が操作されたか否かを判定しているので、ノイズ等による誤判定を防止できる。
ステップ1509の処理で、RAMクリアSW162が操作されたと判定された場合、遊技制御装置100は、ユーザワークRAM104のすべての記憶領域を初期化する(1510)。
そして、遊技制御装置100は、初期化指令信号を払出制御装置210及び演出制御装置150へ送信し(1511)、図16に示すステップ1517の処理に進む。
一方、ステップ1509の処理で、RAMクリアSW162が操作されていないと判定された場合、遊技制御装置100は、ユーザワークRAM104の第1停電復旧領域701及び第2停電復旧領域703に、電源遮断確認フラグが格納されているか(正確には、電源遮断確認フラグがオンとなっているか)を確認する(1512)。
そして、遊技制御装置100は、直前の電源供給停止のときに、電源遮断の処理が正しく実行されていたか否かを判定する(1513)。具体的には、遊技制御装置100は、第1停電復旧領域701及び第2停電復旧領域703の両方に電源遮断確認フラグが格納されている場合には、電源遮断の処理が正しく実行されているものであると判定し、一方、第1停電復旧領域701及び第2停電復旧領域703の少なくとも一方に電源遮断確認フラグが格納されていない場合(少なくとも一方の電源遮断確認フラグがオフの場合)には、電源遮断の処理が正しく実行されていないと判定する。
ステップ1513の処理で電源遮断の処理が正しく実行されていたと判定された場合には、遊技制御装置100は、ユーザワークRAM104の第1停電復旧領域701、ワークエリア702、及び第2停電復旧領域703を用いてチェックサムを算出して、算出したチェックサムがチェックサム領域704に格納されているチェックサムと一致するか否かを照合する(1514)。
なお、チェックサム領域704に格納されているチェックサムは、停電検出時のユーザワークRAM104の第1停電復旧領域701、ワークエリア702、及び第2停電復旧領域703を用いてチェックサムを算出して、格納されたものである。
つまり、ステップ1514の処理は、停電検出時のユーザワークRAM104に格納された情報と電源投入時のユーザワークRAM104に格納された情報とが一致するか否かを照合する処理である。
そして、ステップ1514の処理の照合結果が、算出したチェックサムとチェックサム領域704に格納されたチェックサムとが一致するものであるか否かを判定する(1515)。
ステップ1514の処理で算出したチェックサムとチェックサム領域704に格納されたチェックサムとが一致しないとステップ1515の処理で判定された場合、つまり、停電検出時のユーザワークRAM104に格納された情報と電源投入時のユーザワークRAM104に格納された情報とが一致しない場合には、遊技制御装置100は、ステップ1510の処理に進み、ユーザワークRAM104のすべての領域を初期化し、ステップ1511の処理にて初期化指令を払出制御装置210及び演出制御装置150に送信する。
一方、ステップ1514の処理で、ステップ1514の処理で算出したチェックサムとチェックサム領域704に格納されたチェックサムとが一致するとステップ1515の処理で判定された場合、つまり、停電検出時のユーザワークRAM104に格納された情報と電源投入時のユーザワークRAM104に格納された情報とが一致する場合には、遊技制御装置100は、遊技制御装置100の起動に必要な領域(ユーザワークRAM104の一部の領域)を初期化する(1516)。このとき、ユーザワークRAM104の第1停電復旧領域701及び第2停電復旧領域703の各々にて、電源遮断確認フラグが消去(正確には、各領域にて電源遮断確認フラグがオフ)される。そして、遊技制御装置100は、初期化指令を払出制御装置210及び演出制御装置150に送信する(1511)。
これらの処理が完了すると、遊技制御装置100に関する初期化処理が完了となる。次いで、図16に示すステップ1517の処理に進む。
次に、ステップ1511の処理で初期化指令が払出制御装置210及び演出制御装置150に送信された後、遊技制御装置100は、各種時間を計測やタイマ割込みを行うためのCTC(Counter Timer Circuit)を起動し(1517)、遊技制御に関する乱数を生成する乱数回路を初期化する(1518)。そして、遊技制御装置100は、ステップ1501の処理で禁止されたCPU102への割込みを許可する(1519)。
次に、遊技制御装置100は、初期値乱数を更新する初期値乱数更新処理を実行する(1520)。初期値乱数とは、遊技制御に関する乱数のカウンタ(例えば、始動入賞口34へ入賞したタイミングで取得される乱数のカウンタ)が上限値に達した場合に初期値に戻るが、その初期値を決定するための乱数である。
そして、遊技制御装置100は、停電検出信号が入力されたか否かを確認し(1521)、ステップ1521の処理での確認結果が、停電検出信号が入力されたことを示すか否かを判定する(1522)。
ステップ1522の処理で、停電検出信号が入力されていないと判定された場合、停電は発生していないので、ステップ1520の処理に戻る。
一方、ステップ1522の処理で、停電検出信号が入力されたと判定された場合、遊技制御装置100は、CPU102への割込みを禁止し(1523)、出力I/F106に備わる出力ポートの電圧レベルをローレベルに設定する(1524)。
次に、遊技制御装置100は、ユーザワークRAM104の第1停電復旧領域701及び第2停電復旧領域703に、電源遮断確認フラグを格納(正確には、各領域にて電源遮断確認フラグをオン)し(1525)、ユーザワークRAM104の第1停電復旧領域701、ワークエリア702、及び第2停電復旧領域703を用いてチェックサムを算出して、算出したチェックサムをチェックサム領域704に格納する(1526)。
次に、遊技制御装置100は、RAMアクセス規制回路640によってユーザワークRAM104をRAM書込禁止状態にする(1527)。
具体的には、CPU102の指令によって、フリップフロップ回路641のクロック端子にクロック信号を出力制御回路612から入力させ、かつ、フリップフロップ回路641のデータ端子に接続された信号線の信号レベルをローレベルにする。これにより、フリップフロップ回路641の出力端子Q(正論理)からローレベルの信号が出力され、出力端子Q(負論理)からハイレベルの信号が出力されるため、ORゲート回路642の入力端子にハイレベルの信号が入力されることにより、RAM書込禁止状態になる。
そして、遊技制御装置100は、遊技機1の電源が切れるまで待機する(1528)。なお、遊技制御装置100には、バックアップ電源が接続されているので、停電が発生しても、すぐに電源が切れることはない。
なお、本実施形態では、ステップ1014の処理で電源断時のユーザワークRAM104と電源投入時のユーザワークRAM104との正当性を判定する前のステップ1507の処理でRAM書込可能状態にしたが、RAM書込可能状態にするタイミングは、遅くともステップ1514の処理の正当性に応じて行われるステップ1510又は1516の処理におけるユーザワークRAM104の初期化処理の実行直前であればよい。
このように、遊技機1にて電源供給が遮断した場合には、必要な電源遮断処理を実行した後は、ユーザワークRAM104をRAM書込禁止状態に設定し、遊技機1にて再度電源供給が復帰したときでも、すぐにユーザワークRAM104をRAM書込可能状態としないで、ハードウェアに関する初期化処理を一定時間実行し、ステップ1514の処理の正当性に応じて行われるステップ1510又は1516の処理におけるユーザワークRAM104の初期化処理の実行直前になって、ようやくRAM書込可能状態にすることによって、ユーザワークRAM104の初期化まで不用意なユーザワークRAM104の書き込みを防止できる。
そのため、ステップ1514の処理における正当性判定が行われる直前には、RAM書込禁止状態になっているので、電源投入後にユーザワークRAM104に誤った書き込みがなされ、ステップ1514の処理で誤った判定がされることを防止できる。
なお、本実施形態では、ステップ1508の処理でスタック領域706を用いた各種設定処理を実行するために、ステップ1514の処理における正当性判定処理の前のステップ1507の処理でRAM書込可能状態にしている。
これによって、正当性判定を行う前に正当性判定の対象とはならないスタック領域706を用いた各種設定処理を行うことができるようになるため、遊技制御装置100の各種設定を早い段階で行うことができるので遊技制御装置100の起動を高速化でき、また、スタック領域706を用いるので処理プログラムが共通化でき、プログラム容量を削減できる。
なお、図15では、ステップ1510又は1516の処理でユーザワークRAM104を初期化した後、ステップ1515の処理で初期化指令信号を送信しているが、ステップ1514における正当性判定の実行前のステップ1508の処理の実行後に初期化指令信号を送信してもよい。
この場合には、ステップ1514の処理における正当性判定の実行前であるので、正当性判定に寄与しないスタック領域706又はCPU102に備わるレジスタを用いて、初期化指令信号を送信する。
なお、CPU102に備わるレジスタを用いなくても、例えば、ユーザワークRAM104とは別個に、遊技制御装置100に所定のタイマ回路などを設けて、このタイマ回路に備えられた記憶領域を更新させるような方法でも実現可能である。言い換えれば、正当性判定に影響のない記憶領域であれば、どのようなものを用いても適用が可能であり、好ましくは、ユーザワークRAM104と記憶領域とを分離できれば、CPU102のプログラムも簡素化されるということである。
ステップ1510又は1516の処理では、RAM104の一部領域を初期化する処理であるステップ1516の処理が、RAM104の全領域を初期化する処理であるステップ1510の処理よりも実行時間が長いため、ステップ1510の処理を実行するかステップ1516の処理を実行するかによって、初期化指令信号が送信される時間が異なってしまう。
ステップ1514の処理における正当性判定の実行前に初期化指令信号を送信することによって、ステップ1511の処理で初期化指令信号を送信するよりも早く初期化指令信号を送信できる。また、電源投入から一定時間で初期化指令信号を送信することができる。
図17は、本発明の第1の実施の形態のスタック領域を使用しないディレイ処理を説明する図である。
図17に示すディレイ処理は、図15のステップ1505で実行されるが、当該ディレイ処理を実行している時点では、ユーザワークRAM104の値が更新できないようにRAM書込禁止状態となっている。これは、直前の停電発生時に格納されたチェックサムと、電源投入直後となる現時点でのチェックサムとの照合を行うためである。
このため、図15に示すステップ1505におけるディレイ処理では、正当性の判定が行われる記憶領域が含まれたユーザワークRAM104を用いずに、他の記憶領域(正当性判定の対象とならない判定対象外記憶領域)を用いてディレイ処理を実行しなければならない。したがって、本実施形態のディレイ処理は、CPUコア102に備わるレジスタ(汎用レジスタ)を用いて実行される。
以下に、判定対象外記憶領域を含むユーザワークRAM104の記憶領域をまったく利用せずに、レジスタを用いたディレイ処理を説明する。なお、CPUコア102として、Z80系のCPUを用いるものとするので、Z80系のCPUで使用されるレジスタ及びアセンブリ言語を用いて説明を行う。
まず、行1701は、当該ディレイ処理の最初の処理に相当し、CPUコア102のレジスタ(図11参照)のHレジスタ及びLレジスタを1つのペアとして構成したHLレジスタに、「0603H」をロードする。具体的には、Hレジスタに「06H」がロードされ、Lレジスタには「03H」がロードされる。
次に、行1703を実行し、HLレジスタの値をデクリメント(1減算)する。したがって、行1703が最初に実行された後、HLレジスタの値は「0602H」となる。
続いて、行1704を実行し、Hレジスタに格納された値をAレジスタにロードする。そして、行1705を実行し、AレジスタとLレジスタとの論理和を算出する。行1706では、行1705で算出された論理和がゼロでなければ(NZ)、行1702(LOOP)に戻る(JR)。したがって、Hレジスタ及びLレジスタの両方が「00H」となるまで、行1703から1706までの処理を繰り返すことになる。
つまり、図17では、維持タイマとして使用されるHレジスタ及びLレジスタに格納された「0603H」(=1539)が「0000H」になるまでデクリメントされるもので、合計1539回デクリメントが行われる。この間、図15に示す遊技制御装置メイン処理は、ステップ1505の処理で待機するため、遊技制御装置100の起動が遅延することとなる。
ここで遅延時間を具体的に算出する。遅延時間は、行1703から1706までの処理を、繰り返し回数(「0603H」=1539)分だけ実行した時間となる。そこで、行1703から1706までの各行の実行時間を算出する。各行には実行される命令が定義されており、各命令には、実行に必要なCPUのクロックサイクル数(ステート数)が対応している。したがって、1ステート当りの時間を各命令に対応するステート数に乗じることによって各命令の実行時間を算出することができる。
本発明の第1の実施の形態では、クロック数20Mhzを2倍に分周した10MhzがCPUの動作クロックとなるため、1/10000000=100n秒が1ステート当りの処理時間となる。以下、具体的に各行の処理時間を算出する。
行1703で実行されるデクリメント「DEC」命令のステート(数)は6となっている。したがって、行1703の処理時間は6×100n秒=600n秒となる。同様に、行1704で実行されるロード「LD」命令のステート(数)は4、及び、行1705で実行されるロード「OR」命令のステート(数)は4となっており、それぞれの処理時間は4×100n秒=400n秒となっている。さらに、行1706で実行されるロード「JR」命令のステート(数)は行1705の演算結果が非0の場合には12、0の場合には7となっている。0の場合は遅延時間終了時だけであるため、ステート数を12とすると、処理時間は12×100n秒=1200n秒となる。
以上より、1回の繰り返しにおける処理時間は、600n秒+400n秒+400n秒+1200n秒=2600n秒となる。そして、繰り返し回数は、1539回であるため、2600n秒×1539=4.0014m秒となり、約4秒の遅延時間となる。したがって、この場合のディレイ処理は、4秒間を計時するタイマ計時手段となっている。
また、このディレイ処理中は、ユーザワークRAM104へのアクセスが全く行われない。すなわち、正当性の判定が行われる記憶領域が含まれたユーザワークRAM104の値を書き換えることなく、ディレイ処理を実行することができる。
図18は、本発明の第1の実施の形態のスタック領域を利用するディレイ処理の変形例を説明する図である。
図17のディレイ処理は、ユーザワークRAM104の記憶領域(スタック領域)を全く使用しないで処理を行うものであったが、この変形例では、ユーザワークRAM104の記憶領域のうち、正当性判定の対象となっている第1停電復旧領域701、ワークエリア702、第2停電復旧領域703、チェックサム領域704の各記憶領域にはアクセスしないが、正当性判定の対象外のスタック領域706を使用して処理するように構成されている。
そのため、図15のステップ1505にて、図18の手順でディレイ処理を実行する場合には、ステップ1505の実行前に、ユーザワークRAM104をRAM書込可能状態に設定しておく必要がある。例えば、図15のステップ1507のRAM書込可能状態への変更の処理を、ステップ1505の処理の直前で実行する。
以下にスタック領域706を用いたディレイ処理を説明する。
まず、行1801は、当該ディレイ処理の最初の処理に相当し、CPUコア102のレジスタのAレジスタ及びFレジスタ(フラグレジスタ)に格納されている情報を、AFレジスタペアとして、スタック領域706に退避させる。
行1802では、CPUコア102のレジスタのHレジスタ及びLレジスタに格納されている情報を、1つのペアとして構成したHLレジスタと見なして、スタック領域706に退避させる。
行1803では、このHLレジスタに、「0603H」をロードする。具体的には、Hレジスタに「06H」がロードされ、Lレジスタには「03H」がロードされる。
次に、行1805を実行しHLレジスタの値をデクリメントする。1回目に行1805が実行された場合には、HLレジスタの値は「03FFH」となる。
そして、行1806を実行し、Hレジスタに格納された値をAレジスタにロードする。
さらに、行1807を実行し、AレジスタとLレジスタとの論理和を算出する。行1808では、行1807で算出された論理和がゼロでなければ、行1804に戻る。したがって、Hレジスタ及びLレジスタの両方が「00H」となるまで、行1805〜1808の処理を繰り返すことになる。
また、行1808では、行1807で算出された論理和がゼロである場合には、行1809を実行し、スタック領域706に退避させたHレジスタに格納された情報をCPUコア102のHレジスタに戻し、スタック領域706に退避させたLレジスタに格納された情報をCPUコア102のLレジスタに戻す。
そして、行1810を実行し、スタック領域706に退避させたAレジスタに格納された情報をCPUコア102のAレジスタに戻し、スタック領域706に退避させたFレジスタに格納された情報をCPUコア102のFレジスタに戻す。
このように、図18のディレイ処理では、ディレイ処理で使用されるCPUコア102のAレジスタ、Fレジスタ、Hレジスタ、及びLレジスタに格納されていた情報を、ディレイ処理が行われる前にスタック領域706に退避させるので、Aレジスタ、Fレジスタ、Hレジスタ、及びLレジスタに格納されていた情報がディレイ処理により消失してしまうことを防止できる。
図17及び図18で説明したように、本実施形態では、ハードウェアを用いずに、正当性判定に寄与しない、つまり、チェックサムを算出しない領域を用いてソフトウェアにより実現(維持タイマを計時)しているので、図15に示すステップ1514の正当性判定を正確に行うことができるとともに、ハードウェアでディレイ処理を実現するよりも安価に実現することができる。
例えば、ハードウェアでディレイ処理を実現する遊技機として、特開2002−224394号公報に開示されるような技術が知られており、この遊技機では、電源が断たれた後の復帰時に、払出しの不都合な状態が解消するまで賞媒体の払出し動作を停止できるようにすること、さらに、賞媒体の払出しに関して遊技者とホール側とでトラブルが発生しないようにすることを目的として、停電からの復帰時に、払出し制御手段が主制御手段よりも先に起動して払出し制御が開始された場合、初期化スイッチが操作されていないため、払出し動作復帰処理が実行され、その後、主制御手段から払出し再開コマンドを受信するまで、払出し動作を停止して、払出し再開可能な状態で待機する構成となっている。
さらに、この遊技機では、後から起動した主制御手段は補給切れ検出スイッチや満杯検出スイッチからの検出スイッチに基づいて払出しに関するエラーを検出しない場合に、主制御手段から払出し再開コマンドが送信されてくるので、払出し制御手段はその払出し再開コマンド受信を切掛けに払出し動作を再開する構成となっている。
そして、この遊技機は、主制御手段を、払出し制御手段よりも遅延させて起動させるために、主制御手段(主制御基板39)に遅延回路90を設けて、リセット信号発生手段77からのリセット信号が、払出し制御手段(払出し制御基板46)に到達するよりも時間tだけ遅延して主制御手段に到達するように構成しているので(特開2002−224394号公報の段落[0051]〜[0053]、図9、図11参照)、遅延回路90などのハードウェアが必要であるため、コストが高くなってしまうという問題があった。また、遅延回路90はハードウェアで構成されているため、遅延の時間値をプログラムで変更できないという問題もあった。
この場合、遅延回路90に相当する機能を、主制御手段(主制御基板39)に設けたC
PUを用いてソフトウェアによって実現すれば、コスト面での課題が解決するが、CPUを用いて遅延時間を計時するためには、主制御手段(主制御基板39)のバックアップ用メモリ39bを用いなければならず、この場合、主制御手段が起動後にバックアップ用メモリ39bの正当性を確認して、バックアップ用メモリ39bが使用可能な状態になってから遅延時間を計時するので、遊技機全体の起動が遅れてしまうという課題を残していた。そのため、ソフトウェアによって遊技制御装置の起動を従属制御装置の起動よりも遅延させることによってコストダウンを図りつつも、遊技機全体の起動が遅延してしまうことを防止する遊技機が提供されることが望まれていた。
本実施形態に戻って、図17及び図18に示した各手法を比較すると、CPUコア102で使用できるレジスタの数が少ない場合には、図18に示したスタック領域を利用する手法の方が有効である。ただし、正当性判定の対象となっている第1停電復旧領域701、ワークエリア702、第2停電復旧領域703、チェックサム領域704の各記憶領域を、ノイズ等によって書き換えてしまうことを極力防止したいのであれば、ディレイ処理中を通してユーザワークRAM104をRAM書込禁止状態とし、スタック領域を利用しない図17に示した手法の方が有効ともいえる。
また、動作クロック数を高く設定することによってCPUによる演算処理速度を高速化することが可能となるが、演算処理速度を高速化すると、ディレイ処理におけるループ回数(図17及び図18では「0603H」=1539回)を高速化した分だけ大きくする必要がある。しかしながら、演算処理速度を高速化しすぎると、ループ回数が大きくなりすぎてしまい、ループ回数を格納するレジスタのバイト数が所定バイト数(例えば、2バイト)を超えてしまい、プログラムの容量が大きくなってしまう。そこで、図17及び図18にて説明したように、ループ回数を格納するレジスタのバイト数が2バイトに収まる(ループ回数が65536回を超えない)ようにCPU102の動作速度(クロック数)を設定することによって、高速通信を実現しながらもプログラム容量の増大を抑えることが可能となる。
図19は、本発明の第1の実施の形態のタイマ割込処理を示すフローチャートである。このタイマ割込処理は、遊技制御装置100のCPUコア102によって実行される。
遊技機の電源が投入されると、遊技制御装置メイン処理(図15及び図16参照)が実行される。そして、ステップ1517の処理で起動させたCTCによって、所定時間周期(例えば、4ミリ秒周期)でタイマ割込みが発生すると、遊技制御装置100のCPU102によって、タイマ割込処理が繰り返し実行される。ただし、これらの処理(1912〜1922の処理)は、割り込み発生毎に必ずしもすべて行なわれなくてもよい。例えば、ステップ1912の入出力処理においては、毎回入力信号を監視するが、出力処理は割り込みの発生の1回おきに実行されてもよい。つまり、1回の割り込み処理で一通りの処理をすべて完了するのではなく、この割込処理が複数回繰り返し実行されて一連の遊技制御処理が完了するようにしてもよい。
本実施形態のタイマ割込処理において、遊技制御装置100のCPUコア102は、まず、レジスタのデータを退避する(1911)。
次に、遊技制御装置100のCPUコア102は、入出力処理を実行する(1912)。入出力処理は、入力処理と出力処理とを含む。入力処理は、入力I/F105を介して各種センサ(特図始動SW34A、普図始動SW31A、カウントSW36A、入賞口SW32A〜32N、オーバーフローSW109、球切れSW110、枠開放SW111など)から入力される信号にチャタリング除去等の処理をし、入力情報を確定する処理である。
出力処理は、出力I/F106を介して、特図ゲーム処理(1919)及び普図ゲーム処理(1920)にて設定されたパラメータに基づいて、特図表示器120、普図表示器121、普電SOL90、及び大入賞口SOL38を制御するための信号を出力する。
なお、前述したように、入力処理と出力処理とは1回のタイマ割り込みで同時に実行されなくてもよい。
次に、遊技制御装置100のCPUコア102は、各種処理で送信バッファにセットされた(コマンド)を演出制御装置150及び払出制御装置210等に出力するコマンド送信処理を行う(1913)。具体的には、演出制御装置150に特別図柄変動表示ゲームに係わる演出指令信号(演出コマンド)を出力したり、払出制御装置210に排出指令信号(払出指令信号、払出コマンド)を出力したりする。コマンド送信処理の詳細については、図21にて後述する。なお、払出コマンドについては図23にて詳細を説明し、演出コマンドについては図25にて詳細を説明する。
その後、遊技制御装置100のCPUコア102は、特別図柄変動表示ゲームの当りはずれを判定するための当り乱数カウンタの値を1ずつ加算する乱数更新処理1を行う(1914)。なお、この乱数更新処理1では、特別図柄変動表示ゲームの停止図柄を決定する当り図柄乱数カウンタの値、普通図柄変動表示ゲームの当りはずれを判定するための普図当り乱数にも1ずつ加算する。
次に、遊技制御装置100のCPUコア102は、乱数の初期値を更新し、乱数の時間的な規則性を崩すための初期値乱数更新処理を実行する(1915)。ステップ1915の初期値乱数更新処理は、図16に示す初期値乱数更新処理(1520)と同じなので、説明を省略する。
そして、遊技制御装置100のCPUコア102は、特別図柄変動表示ゲームに関連した飾り特別図柄変動表示ゲームにおける変動表示パターンを決定する乱数を更新するための変動表示パターン乱数カウンタの値を1ずつ加算する乱数更新処理2を行う(1916)。
次に、遊技制御装置100のCPUコア102は、各入賞口に遊技球が入賞していないかを監視するために、入賞口監視処理を行う(1917)。具体的には、特図始動SW34A、普図始動SW31A、カウントSW36A、入賞口SW32A〜32N、から信号の入力があるか否か(遊技球の検出を示す信号が入力されているか否か)を監視する。このとき、特図始動SW34Aによる遊技球の検出があれば、特図乱数カウンタ値(特別図柄変動表示ゲームの結果態様に関する乱数)が特図始動入賞記憶領域に記憶され、普図始動SW31Aによる遊技球の検出があれば、普図乱数カウンタ値(普通図柄変動表示ゲームの結果態様に関する乱数)が普図始動入賞記憶領域に記憶される。
その後、遊技制御装置100のCPUコア102は、排出球の球詰まりや、各種スイッチ、センサ等の異常などを監視するエラー監視処理を行う(1918)。
その後、遊技制御装置100のCPUコア102は、特別図柄変動表示ゲームに関する処理を行う特図ゲーム処理(1919)、普通図柄変動表示ゲームに関する処理を行う普図ゲーム処理(1920)を行う。
特図ゲーム処理(1919)は、特図始動SW34Aで検出された始動入賞口34への遊技球の入賞に基づいて抽出され、特別図柄始動入賞記憶に記憶された特別図柄乱数カウンタ値(1917の処理で抽出・記憶された特別図柄変動表示ゲームの結果に関する乱数)が当りか否か判定し、特図表示器120で特別図柄変動表示ゲームを実行する。なお、特図始動入賞記憶には、直ちに前記変動表示ゲームを実行することができない状態で始動入賞口34へ遊技球が入賞した場合に、抽出された乱数が始動入賞記憶として記憶される。
また、特図ゲーム処理(1919)では、特図表示器120の表示に対応する識別情報の変動表示のための処理を行う。抽出された乱数が所定の値であれば、特別図柄に関する当り状態となり、識別情報の変動表示が当り図柄で停止する。また、当り状態になると、特別変動入賞装置36に遊技球を受け入れやすい開状態になる。
普図ゲーム処理(1920)は、普図始動SW31Aで検出された普通図柄始動ゲート31への遊技球の通過に基づいて抽出され、普通図柄始動入賞記憶に記憶された普通図柄乱数カウンタ値(1917の処理で抽出・記憶された普通図柄変動表示ゲームの結果に関する乱数)が当りか否かを判定し、普図表示器121で普通図柄の変動表示ゲームを実行する。普図乱数カウンタ値が所定の値であれば、普図に関する当り状態となり、普通図柄の変動表示が当り状態で停止するためのパラメータを設定する。
次に、遊技制御装置100のCPUコア102は、遊技機1に設けられ、遊技に関する各種情報を表示するセグメントLED(特図表示器120及び普図表示器121)に出力する信号を編集する処理を行う(1921)。具体的には、特別図柄変動表示ゲームが開始されると、今回開始した特別図柄変動表示ゲームの実行回数を減じた特別図柄入賞記憶数を特図表示器120の特図記憶表示部に表示するためのパラメータを編集する。同様に、普通図柄の変動表示ゲームが開始されると、今回開始した普通図柄変動表示ゲームの実行回数を減じた普通図柄入賞記憶数を普図表示器121の普図記憶表示器に表示するためのパラメータを編集する。
その後、遊技制御装置100のCPUコア102は、検査装置接続端子107を介して接続される管理用コンピュータに遊技機1の状態を出力するための外部情報を編集する外部情報編集処理を行う(1922)。外部情報には、図柄が確定したか、当りであるか、確率変動中であるか、変動時間短縮中であるか、変動表示ゲームのスタート等、変動表示ゲームの進行状態に関連する情報が含まれる。また、エラーが発生したことを示すエラー信号も含まれる。
次に、遊技制御装置100のCPUコア102は、タイマ割り込み処理の終了を宣言する(1923)。
その後、遊技制御装置100のCPUコア102は、一時退避していたレジスタを復帰する復帰処理(1924)及び禁止設定されていた割り込みの許可設定をする処理を行う(1925)。そして、タイマ割り込み処理を終了し、遊技制御装置メイン処理(図15及び図16)に戻る。そして、次のタイマ割り込みが発生するまで初期値乱数更新処理等(図16のステップ1620〜1622の処理)を繰り返す。
図20は、本発明の第1の実施の形態の遊技制御装置100から、演出制御装置150及び払出制御装置210に初期化指令信号を送信する初期化指令送信処理の手順を示すフローチャートである。本処理は、図15のステップ1511の初期化指令送信処理に対応する。
遊技制御装置100は、まず、演出指令及び排出指令の送信を禁止状態に設定する(2001)。具体的には、送信制御レジスタ632(図8)のビット4を“0”に設定して、送信データレジスタ635からの信号の出力を禁止した状態に設定する。
次に、遊技制御装置100は、起動時の演出指令を送信データレジスタ635に格納する(2002)。そして、起動時の演出指令がすべて送信データレジスタ635に格納されるまで処理を継続する(2003)。
遊技制御装置100は、すべての演出指令が送信データレジスタ635に格納されると(2003の結果が「N」)、起動時の排出指令を送信データレジスタ635に格納する(2004)。そして、起動時の排出指令がすべて送信データレジスタ635に格納されるまで処理を継続する(2005)。
最後に、遊技制御装置100は、ステップ2001の処理で禁止状態に設定されていた演出指令及び排出指令の送信を許可状態に設定する(2006)。具体的には、送信制御レジスタ632(図8)のビット4を“1”に設定して、送信データレジスタ635からの信号の出力を許可した状態に設定する。
図21は、本発明の第1の実施の形態の遊技制御装置100から、演出制御装置150及び払出制御装置210にコマンドを送信するためのコマンド送信処理の手順を示すフローチャートである。本処理は、図19のステップ1913のコマンド送信処理に対応する。
遊技制御装置100は、初期化指令送信処理と同様に送信制御レジスタ632(図8)のビット4を“0”に設定して、まず、演出指令及び排出指令の送信を禁止状態に設定する(2101)。
次に、遊技制御装置100は、送信待ちの演出指令が存在するか否か(今回のタイマ割込処理のタイミングで、演出制御装置151に対応する送信データレジスタ635に書き込むべきデータが存在するか否か)を判定する(2102)。送信待ちの演出指令が存在しない場合には(2102の結果が「N」)、ステップ2112以降の排出指令に関する処理を実行する。
一方、遊技制御装置100は、送信待ちの演出指令が存在する場合には(2102の結果が「Y」)、送信待ちの演出指令に変動開始の演出指令が含まれているか否かを判定する(2103)。変動開始の演出指令とは、図25にて後述する「図柄変動開始の通知(MODE=40H)」に相当するコマンドであり、演出制御装置151は、このコマンドを受信したことを契機に、表示装置8にて変動表示ゲームの実行を開始する。
遊技制御装置100は、送信待ちの演出指令に変動開始の演出指令が含まれている場合には(2103の結果が「Y」)、変動開始の演出指令を送信データレジスタに格納する(2104)。そして、送信待ちの演出指令に含まれているすべての変動開始の演出指令が送信データレジスタに格納されるまで処理を継続する(2105)。
遊技制御装置100は、送信待ちの演出指令に変動開始の演出指令が含まれていなかった場合(2103の結果が「N」)、又は送信待ちの演出指令に含まれている変動開始の演出指令をすべて送信データレジスタに格納した場合には(2105の結果が「Y」)、送信待ちの演出指令に他の演出指令が含まれているか否かを判定する(2106)。
遊技制御装置100は、送信待ちの演出指令に変動開始以外の演出指令が含まれていない場合には(2106の結果が「N」)、ステップ2111の処理を実行し、続いて、排出指令に関する処理を実行する。
一方、遊技制御装置100は、送信待ちの演出指令に変動開始以外の演出指令が含まれている場合には(2106の結果が「Y」)、送信バッファ(送信データバッファレジスタ635A)に空きがあるか否かを判定する(2107)。具体的には、送信データステータスレジスタ631(図9)のビット0〜5の値(送信データの残量を示す値)が“00h”〜“1Fh”であれば、空きがあると判定される。
送信バッファに空きがない場合には(2107の結果が「N」)、送信待ちの演出指令を次回の送信タイミングに持ち越し(2108)、ステップ2111の処理を実行し、続いて、排出指令に関する処理を実行する。
遊技制御装置100は、送信バッファに空きがある場合には(2107の結果が「Y」)、送信データレジスタに変動開始以外の演出指令を格納する(2109)。そして、送信バッファの空きが無くなるか、すべての演出指令が送信データレジスタに格納されるまで、ステップ2107から2110までの処理を継続する(2110)。
遊技制御装置100は、送信待ちの演出指令を送信バッファに格納する処理が終了すると、送信制御レジスタ632(図8)のビット4を“1”に設定することで、ステップ2101の処理で禁止状態に設定されていた演出指令の送信を許可状態に設定する(2111)。
以上のように、コマンド送信処理において演出指令を演出制御装置150に送信する場合、変動開始指令を優先して送信する。変動開始の演出指令を優先して送信することによって、遊技制御装置100における変動表示ゲームの進行状態と、演出制御装置150における変動表示ゲームの進行状態との時間差が常に固定されたものとなる。そのため、変動表示ゲームが開始される毎にこの時間差が変化するような不具合を防止できるようになり、遊技制御装置100と演出制御装置150とを同期させながら、表示装置8で実行される変動表示ゲームをより確実に実行させることができる。演出指令の送信が終了すると、続いて、排出指令を払出制御装置210に送信するための処理を実行する。
遊技制御装置100は、まず、SW制御領域を検査し、賞球排出対象スイッチ(SW)の立ち上がりがあるか否かを監視する(2112)。賞球を排出する入賞口に遊技球が入賞すると、賞球排出対象SWがオンに設定される。そして、遊技制御装置100は、賞球の排出に該当するスイッチが存在するか否かを判定する(2113)。
なお、SW制御領域とは、遊技機に備えられた各種スイッチの検出状態を、タイマ割込毎に記憶しておく記憶領域のことであり、詳細は図24で後述する。ここでは、SW制御領域のうち、遊技球検出によって賞球が排出されるスイッチのみが対象とされ、これら対象となったスイッチのうちで、「立ち上がり情報」がオンとなっているものがあるか否かを判定している。
遊技制御装置100は、賞球の排出に該当するスイッチが存在する場合(「立ち上がり情報」がオンとなっている賞球排出対象のSWが存在する場合)には(2113の結果が「Y」)、オンとなっている賞球排出対象SWの1つを選択し、選択されたSWに該当する排出指令を送信データレジスタに格納する(2114)。
次に、その時点で「立ち上がり情報」がオンとなっている賞球排出対象のSWが、他にも存在するかを確認する。他の賞球排出対象のSWがオンになっていれば、オンとなっている賞球排出対象SWの1つをさらに選択し、選択されたSWに該当する排出指令を送信データレジスタに格納する。そして、すべての賞球を排出する指令が送信データレジスタに格納されるまで処理を継続する(2115)。
遊技制御装置100は、賞球の排出に該当するスイッチが存在しない場合には(S2113の結果が「N」)、又は賞球の排出に該当するスイッチに対応する排出指令をすべて送信データレジスタに格納した場合には、送信待ちの他の排出指令(排出制御装置210へエラー発生やエラー解除を指令するコマンドなど)が存在するか否かを判定する(2116)。
遊技制御装置100は、送信待ちの他の排出指令が存在しない場合には(2116の結果が「N」)、排出指令に関する送信を許可状態に設定し(2121)、呼び出し元に戻る。
一方、遊技制御装置100は、送信待ちの他の排出指令が存在する場合には(2116の結果が「Y」)、送信バッファに空きがあるか否かを判定する(2117)。具体的には、送信データステータスレジスタ631(図9)のビット0〜5の値(送信データの残量を示す値)が“00h”〜“1Fh”であれば、空きがあると判定される。
送信バッファに空きがない場合には(2117の結果が「N」)、送信待ちの排出指令を次回の送信タイミングに持ち越し(2118)、排出指令に関する送信を許可状態に設定し(2121)、呼び出し元に戻る。
遊技制御装置100は、送信バッファに空きがある場合には(2117の結果が「Y」)、送信待ちの排出指令を送信データレジスタに格納する(2119)。そして、送信バッファの空きが無くなるか、すべての排出指令が送信データレジスタに格納されるまで、ステップ2117から2120までの処理を継続する(2120)。最後に、排出指令に関する送信を許可状態に設定し(2121)、呼び出し元に戻る。
以上のように、本実施形態では、コマンド送信処理において排出指令を払出制御装置210に送信する場合に賞球排出指令を、その他の排出指令(エラー発生/解除の指令)よりも優先して送信することによって、賞球排出対象の複数のスイッチが、同一のタイマ割込周期内で同時にオンした場合であっても、確実に賞球を排出させるように構成されている。
このように、演出指令や賞球排出指令などの制御指令を内容に応じて優先して送信して遊技が円滑に進行するように制御し、さらに、優先されなかった制御指令については次回割込発生時に送信することによって、送信漏れのない正確な指令送信を実現することが可能となる。
図22は、本発明の第1の実施の形態の電源投入時の遊技制御装置100、払出制御装置210、及び演出制御装置150が行う処理、並びに、遊技制御装置100に備わるシリアル送信回路615の状態のタイミングチャートである。
リセット信号が払出制御装置210に接続されるシリアル送信回路615B及び演出制御装置150に接続されるシリアル送信回路615Aに伝達されると、図14に示すステップ1402の処理により、各シリアル送信回路615が不定状態(2201)から初期状態(2202)に移行する。
この不定状態では、シリアル送信回路615(シリアル送信回路615A、615B)から出力される信号線のレベルは、ハイレベルであるのかロウレベルであるのか保証されない状態である。一方、シリアル送信回路615がリセット信号により初期化されて初期状態に遷移すると、シリアル送信回路615Bからの出力信号はオフを示すレベルに確定される。
シリアル送信回路615の初期状態は、遊技制御装置100が図15に示すステップ1511の処理で初期化指令を送信するために、初期化指令が各シリアル送信回路615に設定されるまで(2203)継続する。
一方、遊技制御装置100のセキュリティ回路630にリセット信号が伝達されると、図14に示すステップ1404の処理で自己診断処理を実行し、ステップ1405の処理でセキュリティチェック処理を実行する(2204)。セキュリティチェック処理の実行後にCPU102が起動し、CPU102によって遊技制御装置メイン処理(図15及び図16)が実行される。
CPU102は、ディレイ処理の実行(2206)前に1回目のRAMクリア信号の取り込み(2205)と、ディレイ処理の実行後に2回目のRAMクリア信号の取り込み(2207)と、を行う。言い換えると、1回目のRAMクリア信号取り込み(2205)と2回目のRAMクリア信号取り込み(2207)とは、ディレイ処理(2206)を挟んで実行される。
このように、2205及び2207の各時点で実行されるRAMクリア信号取り込みの間に、ディレイ処理を実行するので、ディレイ処理の間に、1回目のRAMクリア信号取り込みで取り込んだチャタリング除去等を行うことができる。
ディレイ処理(2206)で処理を待機させた後に、図15に示すステップ1516及び1510の処理でRAM104の初期化処理を行い(2208)、ステップ1511の処理で初期化指令を送信してから、通常の遊技制御を行う(2209)。
なお、通常の遊技制御を実行すると、遊技状態に応じて、払出制御指令を払出制御装置210に送信するために、払出制御指令が払出制御装置210に接続されるシリアル送信回路615Bに設定される(2210)。また、通常の遊技制御の実行中には、遊技状態に応じて、演出制御指令を演出制御装置150に送信するために、演出制御指令が演出制御装置150に接続されるシリアル送信回路615Aに設定される(2211)。
一方で、払出制御装置210のセキュリティ回路にリセット信号が伝達されると、払出制御装置210のセキュリティ回路は、図14に示すステップ1414の処理で自己診断処理を実行し、ステップ1415の処理でセキュリティチェック処理を実行する(2212)。セキュリティチェック処理の実行後にCPU212が起動し、CPU212によって、図14のステップ1416の処理で電源投入時の初期化処理を実行する(2213)。払出制御装置210の初期化処理が実行されると、払出制御装置210のシリアル受信回路625を、遊技制御装置100からの指令を受信可能な状態にする(2214)。
また、演出制御装置150にリセット信号が伝達されると、演出制御装置150は、図14のステップ1423の処理で電源投入時の初期化処理を実行する(2215)。演出制御装置150の初期化処理が実行されると、演出制御装置150のシリアル受信回路625を、遊技制御装置100からの指令を受信可能な状態にする(2216)。
遊技制御装置100は、ディレイ処理を実行することで、RAM104の初期化処理の実行開始のタイミングを遅延させている。言い換えると、ディレイ処理によって、演出制御装置150や払出制御装置210へ初期化指令を送信するタイミングを遅延させている。
このため、ディレイ処理によって、払出制御装置210に接続されるシリアル送信回路615B及び演出制御装置150に接続されるシリアル送信回路615Aが初期状態を維持する時間を十分に確保し、その間に、払出制御装置210及び演出制御装置150は、初期化処理を実行し、自身のシリアル受信回路625を介して遊技制御装置100からの指令を受信可能な状態にすることができる。
したがって、ディレイ処理を設けることで、図15のように、リセット信号が、遊技制御装置100、払出制御装置210及び演出制御装置150に同時に伝達される構成の遊技機であっても、ハードウェア等で構成した遅延回路を設けることなく、各制御装置が起動を開始するタイミングを適切に設定することができる。
よって、図22のように、まず、払出制御装置210に接続されるシリアル送信回路615B及び演出制御装置150に接続されるシリアル送信回路615Aが初期状態に維持され、その状態で、払出制御装置210及び演出制御装置150のシリアル受信回路625が指令受信可能状態になり、次いで、払出制御装置210及び演出制御装置150に初期化指令を送信させることを確実に実行できるようになる。
仮に、遊技機1への電源投入直後において、遊技制御装置100の払出制御装置210に接続されるシリアル送信回路615B及び演出制御装置150に接続されるシリアル送信回路615Aが初期状態に維持される以前に、払出制御装置210若しくは演出制御装置150のシリアル受信回路625が指令受信可能状態になると、払出制御装置210に接続されるシリアル送信回路615B及び演出制御装置150に接続されるシリアル送信回路615Aから出力される信号レベルが不安定であるから、払出制御装置210若しくは演出制御装置150にてこの不安定な信号レベルの情報を、正規な信号であると誤って受信するおそれがあり、誤作動を引き起こす可能性がある。
また、払出制御装置210若しくは演出制御装置150のシリアル受信回路625が指令受信可能状態になる前に、遊技制御装置100から、払出制御装置210若しくは演出制御装置150へ初期化指令を送信してしまうと、払出制御装置210や演出制御装置150で初期化指令を受信できなくなり、誤作動を引き起こす可能性がある。
特に、本実施形態の遊技機のように、遊技制御装置100から払出制御装置210へ単方向で指令を送信する構成や、遊技制御装置100から演出制御装置150へ単方向で指令を送信する構成の場合には、指令された情報が正しく送信されているか否かを確認することが困難であるため、初期化時に処理を遅延させることが有効である。
また、図22では、RAMクリア信号の取り込みが2回である例を示したが、複数回であればよい。この複数回の間にディレイ処理を実行することによって、ディレイ処理実行直前のRAMクリア信号取り込みのチャタリング除去等にかかる時間をディレイ処理による遅延時間と重複させることができるので、処理を効率化させることができる。
図23は、本発明の第1の実施の形態の遊技制御装置100から払出制御装置210に送信される排出指令の一例を示す図である。
払出制御装置210に送信される排出指令は、払出制御装置210を初期化する指令(初期化指令信号)と、賞球を排出する指令(排出指令信号)と、エラーの発生及び解除を通知する指令(エラー通知信号)があり、モード部及びアクション部からなる共通のフォーマットで送信される。
まず、初期化指令信号について説明すると、初期化指令信号は、モード部が「40H」であり、アクション部は「00H〜7FH」のいずれかの値となる。初期化指令信号のアクション部は、払出制御装置210に設定されている認証コードに対応する値(「00H〜7FH」のいずれかの値)となる。この払出制御装置210に設定されている認証コードに対応する値は、例えば、RAM104に設定されているものとする。
初期化指令信号の出力時期は、遊技制御装置100に電源投入時であり、具体的には、図15に示すステップ1511の処理である。
次に、排出指令信号について説明する。払出制御装置210によって払い出される遊技媒体の個数に対応して、15個の排出指令信号が用意されている。
排出指令信号のモード部は「21H〜2FH」である。なお、このモード部の二桁目は、排出指令信号が払い出しを指令する遊技媒体の個数と一致する。また、排出指令信号のアクション部は「5EH〜50H」となる。このアクション部は、モード部の値の負論理となっている。
例えば、1個の遊技媒体の払い出しを指令する排出指令信号のモード部は「21H」であり、アクション部は「5EH」である。すなわち、排出指令信号は、モード部とアクション部とからなる2バイトのデータで構成されている。
なお、排出指令信号の出力時期は、一般入賞口32、始動入賞口34、特別変動入賞装置(大入賞口)36に遊技球が入賞したタイミングで出力される。
また、払出制御装置210は、排出指令信号を受信すると、受信した排出指令信号のモード部の負論理となる値が、アクション部の負論理となる値と一致しなければ、受信した排出指令信号に対応する個数の遊技媒体の払い出しを許可しない。
最後に、エラー通知信号について説明する。排出指令がエラー発生通知の場合には、モード部にエラーが発生したことを示す「80H」が設定される。また、エラー通知信号のアクション部は、発生したエラーの種類に対応する値(「00H〜7FH」のいずれかの値)が設定される。
排出指令がエラー解除通知の場合には、モード部にエラーが解除されたことを示す「90H」が設定される。また、エラー解除信号のアクション部は、エラー通知信号の場合と同様に、発生したエラーの種類に対応する値(「00H〜7FH」のいずれかの値)が設定される。
図24は、本発明の第1の実施の形態のスイッチの立ち上がりを検出する手順を示すタイムチャートである。なお、図中のfは割込周期であり、割込周期の先頭でタイマ割込が発生する。また、dは遅延時間を示す。スイッチの立ち上がり、すなわち、スイッチがオンになったか否かの判定は、図19に示したタイマ割込処理のステップ1912の入出力処理で行われる。なお、以下に示す、第1物理レベル、第2物理レベル、論理レベル、立上り情報は、タイマ割込が発生する毎に更新され、遊技機に備えられたスイッチ毎に整理されてSW制御領域(図21で前述)に記憶される。
まず、スイッチの立ち上がり時(2401)及び立ち下がり時(2402)について説明する。CPU102は、タイマ割込発生時の入出力処理(図19のステップ1912)において、スイッチの検出信号のレベルが、前回設定された第1物理レベルと相違すると(ローレベルからハイレベル、又は、ハイレベルからローレベルに変化)、第1物理レベルを検出信号のレベルに新たに設定する。そして、所定の遅延時間が経過した後、スイッチの検出信号が、前回設定された第2物理レベルと相違する場合には、第2物理レベルを検出信号のレベルに設定する。なお、第1物理レベルと第2物理レベルとは、検出タイミングが異なるだけである。
このとき、第1物理レベルと、第2物理レベルとが一致していれば、検出信号が変化したものと判断し、論理レベルに当該レベルを設定する。そして、論理レベルがローレベルからハイレベルに変化した場合には、次のタイマ割込発生から遅延時間が経過するまで、立ち上がり情報をオンに設定する。すなわち、立ち上がり情報をオンに設定した後、次のタイマ割込発生でオフに設定する。
また、本発明の第1の実施の形態では、第1物理レベルと第2物理レベルの信号レベルが相違する場合、すなわち、2403に示すように、第1物理レベル検出時と、第2物理レベル検出時とで、スイッチの検出信号のレベルが相違する場合には、ノイズが発生したものとして、論理レベルを変更しないように構成されている。このように構成することによって、ノイズ発生時に誤って立上り情報がオンに設定されることを防ぎ、後述するように、賞球排出指令が誤って払出制御装置210に送信されることを防ぐことができる。
また、本発明の第1の実施の形態では、図24のタイミングチャートに示した立上り情報がオンとなったスイッチの中に賞球排出対象となるものが含まれている場合は、送信バッファ(図6の送信データバッファレジスタ635A)に賞球排出指令が格納されることで、遊技制御装置100から払出制御装置210に賞球排出指令が送信される。また、賞球排出指令は、入賞スイッチ(払出球検出SW112)ごとに定義される。なお、本発明の第1の実施の形態では、払出球検出SW112が16個備えられている。
このとき、1回のタイマ割込周期内での送信で、送信バッファ内に格納されたすべての賞球排出指令が送信されないと、次回のタイマ割込発生時に、賞球排出対象のスイッチの立上り情報がオンとなって新たに発生した賞球排出指令を、送信バッファに取り込めない恐れがある。これを防止するには、新たに賞球排出指令が発生する度に、送信バッファに空きがあるか否かを確認して、空きがなければ次回送信時まで賞球排出指令を保持していなければならず、送信できない賞球排出指令を保持するための記憶領域(例えば、前述したSW制御領域の立ち上がり情報を一時的に退避させる領域など)を必要としてしまう。また、送信バッファに格納できなかった賞球排出指令を退避させる処理も必要となってしまう。
例えば、賞球排出対象のスイッチが5個であり、賞球排出指令のサイズが2バイトであるならば、払出制御装置210に指令を送信するためのバッファ(送信データレジスタ635)に格納できるデータの最大バイト数を10バイトとしておけば、同一タイマ割込周期内で賞球排出対象の全てのスイッチが同時にオンしたとしても、全ての賞球排出指令をバッファに取り込むことが出来る。しかしながら、賞球排出対象のスイッチが5個を超えた場合には、バッファにはより多くの容量を必要とすることになる。
本発明の第1の実施の形態では、送信バッファの容量を32バイトに設定しているので、賞球排出対象のスイッチが16個以下であれば、1回の割り込み発生時にすべての賞球排出指令を遊技制御装置100から払出制御装置210に送信できるように構成されている。したがって、送信されなかった賞球排出指令を保持するための記憶領域を必要とせず、また、送信されていない賞球排出指令を退避させる処理も不要となるため、必要な記憶容量を削減し、遊技制御装置100の制御プログラムを簡略化することができる。
図25は、本発明の第1の実施の形態の遊技制御装置100から演出制御装置150に送信される演出制御指令の一例を示す図である。
演出制御装置150に送信される信号は、初期化指令信号と通常時の指令信号である演出指令信号とがあり、これらのモード部及びアクション部によって構成される共通のフォーマットで送信される。
まず、初期化指令信号について説明する。
初期化指令信号には、RAM104のすべての領域が初期化されたか否かを示す電源投入通知信号と、遊技機1のシリーズを特定するためのシリーズ特定信号とが含まれる。また、直前の電源遮断時における遊技機1の遊技状態(低確率状態、高確率状態、入賞抑制状態、入賞促進状態)を通知する信号や直前の電源遮断時における特別図柄入賞記憶の数を通知する信号も初期化指令信号に含まれる。
図25に示すように、RAM104のすべての領域が初期化されたことを示す電源投入信号のモード部は「10H」であり、アクション部は「01H」である。RAM104のすべての領域が初期化されたこととは、図15に示すステップ1510の処理が実行されたことである。
一方、RAM104のすべての領域が初期化されていないこと、つまり、RAM104の一部の領域が初期化されたことを示す電源投入信号のモード部は「10H」であり、アクション部は「02H」である。RAM104のすべての領域が初期化されていないこと、つまり、RAM104の一部の領域が初期化されたこととは、図15に示すステップ1516の処理が実行されたことである。
したがって、図15に示すステップ1510の処理が実行された場合には、ステップ1511の処理で、モード部が「10H」でアクション部が「01H」である初期化指令信号が送信される。図15に示すステップ1516の処理が実行された場合には、ステップ1511の処理で、モード部が「10H」でアクション部が「02H」である初期化指令信号が送信される。
演出制御装置150は、RAM104のすべての領域が初期化されたことを示す電源投入信号を受信すると、RAM104のすべての領域が初期化されたことを表示装置8に表示する。
また、演出制御装置150は、RAM104のすべての領域が初期化されていないことを示す電源投入信号を受信すると、RAM104のすべての領域が初期化されていないことを表示装置8に表示する。
また、シリーズ機特定信号のモード部は「11H」であり、アクション部は「01H〜7FH」である。アクション部は、遊技機1のシリーズに対応する「01H」〜「7FH」のいずれかの値である。なお、遊技機1のシリーズに対応する値は、ROM103に設定されている。
また、遊技状態(低確率状態、高確率状態、入賞抑制状態、入賞促進状態)を通知する信号は、モード部が「20H」となっており、アクション部には、直前の電源遮断時における遊技状態別に対応付けられた値が格納される。例えば、低確率状態であればアクション部は「01H」であり、高確率状態であればアクション部は「02H」となる。演出制御装置150は、遊技状態を通知する信号を受信すると、遊技状態を報知するための演出を行う。
また、特別図柄入賞記憶の数を通知する信号は、モード部が「30H」となっており、アクション部は「00H〜04H」のいずれかの値である。アクション部は、直前の電源遮断時における始動記憶数(0〜4)に対応した値である。演出制御装置150は、始動記憶数演出指令信号を受信すると、表示装置8の図示しない飾り始動記憶数表示部に、受信した始動記憶数演出指令信号に対応する始動記憶数を表示する。
これらのシリーズ機特定信号、遊技状態を通知する信号、及び特別図柄入賞記憶の数を通知する信号の出力時期は、電源投入時であり、図15に示すステップ1511の処理で送信される。なお、これらの各信号と電源投入通知信号の出力順序は、いずれが先であっても後であってもよい。さらに、電源投入時に、遊技制御装置100から演出制御装置150へ通知すべき情報が他にもあれば、初期化指令信号として一緒に送信してもよい。
次に、各演出指令信号について説明する。
まず、表示装置8で実行される変動表示ゲームにおいて図柄の変動開始を指示する変動開始演出指令信号について説明する。
変動開始演出指令信号のモード部は「40H」であり、アクション部は「01H〜7FH」のいずれかの値である。アクション部は、図柄の変動表示を開始してから停止するまでの変動時間に対応する値である。
演出制御装置150は、変動開始演出指令信号を受信すると、表示装置8において図柄の変動表示を開始し、変動表示ゲームを開始する。
変動開始演出指令信号は、表示装置8において変動表示ゲームの図柄の変動表示を開始するタイミングで送信する。具体的には、表示装置8で変動表示ゲームが終了した場合に始動記憶がある場合、又は表示装置8で変動表示ゲームが実行されていない場合に始動入賞口34に遊技球が入賞した場合である。
表示装置8における変動表示ゲームにおける停止図柄を特定する停止図柄演出指令信号について説明する。
停止図柄演出指令信号のモード部は「41H」であり、アクション部は「01H〜7FH」のいずれかの値である。アクション部は、停止図柄に対応する値である。
演出制御装置150は、停止図柄演出指令信号を受信すると、受信した停止図柄演出指令信号に基づいて、表示装置8における変動表示ゲームの停止図柄を特定する。
停止図柄演出指令信号は、表示装置8の変動表示ゲームの変動表示を開始するときであって、変動開始演出指令信号の送信が完了した直後に送信される。
変動時間が経過し、変動表示中の図柄を停止するための停止通知演出指令信号について説明する。
停止通知演出指令信号のモード部は「50H」であり、アクション部は「01H」である。
演出制御装置150は、停止通知演出指令信号を受信すると、表示装置8で変動表示している図柄を停止させる。
停止通知演出指令信号は、変動時間が経過したタイミングで送信される。
続いて、特別遊技状態発生中に送信される大当り関連演出指令信号について説明する。
大当り関連演出指令信号のモード部は「60H」であり、アクション部は「01H〜7FH」のいずれかの値である。アクション部は、特別遊技状態の進行状況に応じた値である。
演出制御装置150は、大当り関連演出指令信号を受信すると、受信した大当り関連演出指令信号に基づいて、特別遊技状態に関連する演出を行う。
遊技機1においてエラーが発生した場合にエラーの発生を報知するためのエラー関連演出指令信号について説明する。
エラー関連演出指令信号のモード部は「70H」であり、アクション部は「01H〜7FH」のいずれかの値である。アクション部は発生したエラーに対応した値である。
演出制御装置150は、エラー関連演出指令信号を受信すると、エラー関連演出指令信号に基づいて、発生したエラーを報知するための演出を行う。
エラー関連演出指令信号は、遊技制御装置100がエラーを検出したタイミングで送信される。
なお、前述の遊技状態を通知する信号(モード部=「20H」)は、電源投入時だけでなく、通常の遊技中において遊技状態が変化した場合にも送信される。例えば、遊技中において低確率状態が発生したときに、モード部=「20H」かつアクション部=「01H」の信号が送信され、遊技中において、高確率状態が発生したときに、モード部=「20H」かつアクション部=「02H」の信号が送信される。
また、前述の特別図柄入賞記憶の数を通知する信号(モード部=「30H」)は、電源投入時だけでなく、通常の遊技中において始動入賞口34に遊技球が入賞して始動記憶数が増加した場合にも、指令信号が送信される。例えば、遊技中において始動入賞口34に遊技球が入賞して始動記憶数が「3」に変化したときには、モード部=「30H」かつアクション部=「03H」の信号が送信される。
したがって、これらの遊技状態を通知する信号、及び特別図柄入賞記憶の数を通知する信号は、演出指令信号としても機能することになる。
なお、前述したように、これらの信号のうち、変動開始演出指令信号は、他の信号よりも優先して演出制御装置150へのデータ送信を行うためのバッファ(送信データレジスタ635)に取り込まれる。これにより、遊技制御装置100における変動表示ゲームの進行状態と、演出制御装置150における変動表示ゲームの進行状態との時間差を常に固定させる。
図26は、本発明の第1の実施の形態の遊技制御装置100から演出制御装置150に送信される送信データの構成を示す説明図である。図26(a)は送信データの概略構成を示し、図26(b)は送信データの詳細構成を示している。
図26(a)に示すように、1組の制御指令データは、コマンドの分類を識別するためのモードデータDCmと、実行されるコマンドの内容(機能)を示すアクションデータDCaで構成される。
また、本実施形態では、送信バッファに設定されたすべての制御指令データ(最大32バイト)を1回の割込周期ですべて送信可能となるようにデータの送信速度が設定されている。したがって、遊技制御装置100の制御プログラムを複雑化させずに、演出制御装置150への指令送信を一時的に中断するなどの処理を必要とせず、また、指令送信の遅れなどによって、遊技制御装置100と演出制御装置150の各制御の進行状態がずれないようにすることが可能となる。
また、図26(b)に示すように、1組の制御指令データを構成するモードデータDCm及びアクションデータDCaは、8ビットのコマンドデータに、1フレームの開始であることを示すスタートビット、1ビットのパリティデータ、1フレームの終わりであることを示すストップビットが付加され、1フレームを処理単位として送信される。従って、この1フレームの時間が、1バイトあたりのデータ送信時間(送信バッファに格納された制御指令データを1バイト送信するために必要な時間)となる。
すなわち、本実施形態では、非同期方式(調歩同期式)によるシリアル通信を利用して制御指令データを送信する。
演出制御装置150は、受信した1組の制御指令データ(モードデータDCm+アクションデータDCa)を解析し、表示装置8、音回路156、装飾制御装置等を制御するための制御データを生成する。
本実施形態では、1回の割り込み処理で生成された一連の制御指令データを送信するときに、全ての制御指令データを、タイマ割込周期内で一時に送信するようにしている。すなわち、一連の制御指令データを全て送信データレジスタ635に格納した後で、シリアル送信回路615を送信許可状態として(送信制御レジスタ632の送信イネーブルを送信許可に設定)送信を開始する。
従属制御装置としての演出制御装置150は、連続して受信したデータを、一連の制御指令データとして認識する。そして、この一連の制御指令データを処理単位として演出装置(例えば、表示装置8)を制御する。
これにより、演出制御装置150は、タイマ割り込み処理毎に生成された一連の制御指令データを特定でき、1回のタイマ割り込み処理で生成された一連の制御指令データを処理単位として演出装置を制御するので、一連の制御指令データに基づく演出を連続して(タイムラグなく)実行することができる。
なお、本発明の第1の実施の形態においては、遊技制御装置100から払出制御装置210に向かう一方向にのみ制御指令データを送信する構成としているので、指令送信を行うためのハードウエアが簡素化されるという利点がある反面、制御指令データが遊技制御装置100から払出制御装置210へ正確に伝達されていることを確認できる構成ではないことも事実である。
そこで、遊技制御装置100から払出制御装置210に制御指令データが正しく送信され、払出制御装置210によって賞球排出が行われたことを遊技制御装置100にて確認できるような構成の遊技機を、変形例として考えることにする。
図27は、本発明の第1の実施の形態の変形例の賞球排出監視メモリの一例を示す図である。この遊技機では、払出制御装置210から遊技制御装置100へ向けて、賞球排出が行われたことを応答するための通信構成が備えられているものとする。
賞球排出監視メモリは、遊技制御装置100から払出制御装置210に送信された排出命令を記録する記憶領域であり、遊技制御装置100の遊技用マイコン101のRAM104に領域が確保される。なお、払出制御装置210の遊技用マイコン211のRAM214にも賞球排出監視メモリを保持し、排出指令を受信するたびに対応する領域に格納された情報を更新する。なお、本発明の第1の実施の形態では、賞球(入賞SW)の種類ごとに2バイトの領域が確保されている。
このとき、遊技制御装置100と払出制御装置210との間で双方向通信が可能となっており、遊技制御装置100から所定数(1〜15)の賞球を排出する指令が送信されると、対応する領域に格納された値がインクリメントされる。払出制御装置210で賞球の排出が完了すると、払出制御装置210から完了通知が遊技制御装置100に送信される。遊技制御装置100は、排出完了通知を受信すると、賞球排出監視メモリ内の対応する領域に格納された値をデクリメントする。すなわち、賞球排出監視メモリには賞球の排出が完了していない排出指令が記憶される。
遊技制御装置100は、停電が発生すると、RAM104に記憶された情報がバックアップされるように構成されている。また、払出制御装置210のRAM214の内容は停電発生時にバックアップされない。したがって、賞球を排出するタイミングで停電が発生した場合に、賞球排出監視メモリに記憶された情報に基づいて払出制御装置210に排出指令を再送することが可能となり、停電発生時であっても正しく賞球(賞価値)を遊技者に付与することが可能となる。
図28は、本発明の第1の実施の形態の遊技装置の変形例を示すブロック図である。
図28に示す遊技装置6の変形例では、払出制御装置210に接続されるシリアル送信回路615Bには、払出制御装置210の他に外部情報端子108にも接続される。このとき、払出制御装置210及び外部情報端子108に接続される接続線上にそれぞれスリーステートバッファが備えられており、遊技用マイコン101によって接続先が制御される。例えば、払出制御装置210に信号を送らない場合に、外部情報端子108に信号を出力するようにしてもよい。
図28に示すように遊技装置を構成することによって、遊技制御装置100から指令を送信する従属制御装置の数がシリアル送信回路615よりも多い場合であっても、送信先を切り替えることによってすべての従属制御装置に指令を送信することが可能となる。
以上より、本発明の第1の実施の形態によれば、遊技制御装置100への電源投入時において、正当性が判定されるRAM104の記憶領域を使用せずにレジスタを使用してディレイ処理を行うので、遊技制御装置100の制御指令出力手段であるシリアル送信回路615が初期状態で維持されている時間を延長することが可能となる。そして、延長時間期間中に従属制御装置(演出制御装置150、払出制御装置210)の制御指令入力手段であるシリアル受信回路625が遊技制御装置100からの指令を受信可能な状態に移行することができる。したがって、遊技用装置起動時に、遊技制御装置100から従属制御装置に安定して指令を送信することが可能となる。
本発明の第1の実施の形態によれば、1バイトあたりのデータ送信時間(Tb)が、タイマ割込信号の発生間隔となる時間値(F)を、格納手段(送信データレジスタ635)の上限バイト数(B)で除して算出される時間(F/B)よりも短くなるように(つまり、F/B>Tbとなるように)、従属制御装置に送信されるデータの送信速度を設定しているため、次回のタイマ割込信号の発生タイミングのときには、格納手段に格納された制御指令データがすべてが送信されていることになり、制御指令データを分割しなくても高速な通信が可能となる。
さらに、本発明の第1の実施の形態によれば、ソフトウェアを用いて所定時間のタイマ計時を行うことによってディレイ処理を実行するため、遊技機が起動した際の、遊技制御装置と従属制御装置との開始タイミングの調整を行う際に、ハードウェアを用いる場合よりもコストを削減することが可能となる。また、タイマ計時(ディレイ処理)は正当性判定の記憶領域を用いずに行うので、正当性判定の処理も正確に行うことが可能となる。
その結果、従属制御装置に送信されるデータの送信速度の高速化のみならず、データの送信開始タイミングをも正確に制御することが可能となる。
本発明の第1の実施の形態によれば、スタック領域を用いた処理を行うことによって、処理プログラムが共通化されるので、プログラム容量を削減することができる。また、スタック領域に記憶されているデータの正当性は判定されないので、正当性判定の領域のデータを更新してしまうことを防止できる。
本発明の第1の実施の形態によれば、正当性判定を行うまでの間は、必要に応じて書込規制状態にすることができるので、記憶手段へ不用意な書き込みがなされることを防止できる。また、タイマ計時中に、記憶手段へ不用意な書き込みをすることを防止できる。
なお、本発明の第1の実施の形態では、シリアル通信を行うために、制御指令出力手段としてシリアル送信回路615を用い、制御指令入力手段としてシリアル受信回路625を用いているが、別のものを用いても良い。例えば、遊技制御装置100から従属制御装置(演出制御装置150、払出制御装置210)に、パラレル通信を用いて制御指令データを行うように構成してもよい。
この場合、制御指令出力手段をフリップフロップ回路を用いた出力ポートにより構成し、制御指令入力手段をスリーステートバッファ回路を用いた入力ポートにより構成するような形態が考えられるので、以下に、第2の実施の形態として開示する。
(第2の実施の形態)
図29は、本発明の第2の実施の形態の遊技制御装置100に備わる遊技用演算処理装置(アミューズチップ)600とその周辺のブロック図である。第2の実施の形態では、第1の実施の形態における図11のブロック図の構成が、図29の構成に置換されることになるので、同一の構成には共通する付番を付けて説明する。
第2の実施の形態の遊技制御装置100は、シリアル送信回路615(615A、615B)を使用せず、代わりに、遊技用演算処理装置600の外部に外付けされた演出制御通信ポート670を介して演出制御装置150に制御指令データを送信し、払出制御通信ポート680を介して排出制御装置210に制御指令データを送信する構成とする。
また、遊技制御装置100に備えられた、セキュリティ回路630、CPUコア102(図29では601)、RAMアクセス規制回路640、ユーザワークRAM104(図29では604)、アドレスデコーダ611、出力制御回路612、ユーザプログラムROM103(図29では602)、アドレスバス650、及びデータバス660は、第1の実施の形態と同じものであり、電源装置160から入力されるリセット信号も第1の実施の形態と同じものとするので、演出制御通信ポート670(以下、通信ポート670とする)及び払出制御通信ポート680(以下、通信ポート680とする)について説明する。
通信ポート670、680は、本実施形態における通信用ポート(制御指令出力手段)として機能するものであり、図4に示す出力I/F106に含まれるものとする。
通信ポート670、680は、遊技用演算処理装置600の外部のデータバス690を介して遊技用演算処理装置600に接続される。なお、外部のデータバス690は、バス切替回路607(図5)により、遊技用演算処理装置600の内部のデータバス660と相互に信号が授受される構成となっており、D0〜D7の8ビットの信号線によって構成される。
通信ポート670、680は、D型のフリップフロップ回路によって構成される。このフリップフロップ回路には、例えば、型番が74HC273のロジックICが用いられる。
このフリップフロップ回路は、D0〜D7端子(図ではD0_D7)、クロック端子(CK)、クリア端子(CLR(負論理))、及び出力端子Q0〜Q7(図ではQ0_Q7)を備える。
DO〜D7端子は、データバス690に接続されており、演出制御装置150又は払出制御装置210に送信するデータを、データバス690から取得するための端子として機能する。
クリア端子には、電源装置160からのリセット信号線が接続され、リセット信号が入力されるとリセット端子の電圧レベルはローレベルとなる。このとき、通信ポート670、680は、出力端子Q0〜Q7の全てからローレベルの信号を出力させる。
この通信ポート670、680に備えた出力端子Q0〜Q7からの信号レベルは、CPUコア102によって、自在に設定できるようになっている。この設定は、CPUコア102が、通信ポート670又は通信ポート680に割り当てられたアドレスの記憶領域に所定のデータを書き込むことで実現される。
具体的には、CPUコア102によって通信ポート670(又は通信ポート680)に割り当てられたアドレスの記憶領域にデータを書き込む処理が行われると、CPUコア102からアドレスバス650へは、通信ポート670(又は通信ポート680)のアドレスが出力される。次に、アドレスデコーダ611から、出力制御回路612を介して、通信ポート670(又は通信ポート680)のクロック端子にクロック信号が入力され、クロック端子の電圧レベルは立ち上がりハイレベルとなる。
通信ポート670、680は、クロック端子の電圧レベルの立ち上り、つまりクロック信号の入力開始時に、D0〜D7端子を介してデータバス690からデータを読み取り、読み取ったデータをQ0〜Q7端子から出力する。
また、通信ポート670、680は、クロック端子の電圧レベルの立ち下がり、つまりクロック信号の入力終了時に、Q0〜Q7端子の電圧レベルを保持する。
前述のように、出力制御回路612が払出制御装置210に接続される通信ポート680へクロック信号を入力すると、通信ポート680は、クロック信号が入力されたタイミングで、データバス690からデータを読み取り、読み取ったデータを払出制御装置210へ出力する。
また、前述のように、通信ポート670、680にリセット信号が入力されると、通信ポート670、680を初期化する。具体的には、リセット信号が入力されると、DO〜D7端子の電圧レベルに拘らず、Q0〜Q7端子の電圧レベルがローレベルとなり、通信ポート670、680が初期状態となる。
なお、払出制御装置210は、通信ポート670、680を備えてはいないが、通信ポート680からの出力信号を受け入れる図示しない受信用ポート(制御指令入力手段)を備えているものとする。同様に、演出制御装置150は、通信ポート670、680を備えてはいないが、通信ポート670からの出力信号を受け入れる図示しない受信用ポート(制御指令入力手段)を備えているものとする。
この払出制御装置210及び演出制御装置150に備えた受信用ポートは、型番が74HC244のロジックICを用いる。74HC244はスリーステートバッファであり、遊技制御装置100の通信ポート670、680からの信号を、スリーステートバッファのデータ入力側に接続し、スリーステートバッファのデータ出力側を、払出制御装置210(又は演出制御装置150)に形成したデータバスに接続し、さらに、払出制御装置210(又は演出制御装置150)のCPUコアに接続する構成となっている。
図30は、第2の実施の形態における、遊技制御装置100から、演出制御装置150及び払出制御装置210へ、指令を送信する場合の手順を説明するためのフローチャートである。
第2の実施の形態では、遊技制御装置100から演出制御装置150及び払出制御装置210へ、初期化指令信号を送信する場合と、遊技制御装置100から演出制御装置150及び払出制御装置210へ、通常の指令(演出指令信号、払出指令信号)を送信する場合とを比較して説明を行う。
図30の(a)は、初期化指令信号を送信する場合のフローチャートであり、図15のステップ1511の初期化指令通信処理に相当する。図30の(b)は、通常の指令(演出指令信号、払出指令信号)を送信する場合のフローチャートであり、図19のステップ1913のコマンド送信処理に相当する。
まず、図30の(a)では、演出制御装置150へ最初に送信される初期化指令信号を選択し(3001A)、選択した初期化指令信号のモード(MODE)部に対応するデータを、演出制御通信ポート670に出力し、一定時間その出力状態を維持する(3002A)。
次に、演出制御通信ポート670のストローブ(STB)信号に相当するビットをオンに設定し、一定時間その出力状態を維持し(3003A)、その後、ストローブ信号に相当する当該ビットをオフに設定して、一定時間その出力状態を維持する(3004A)。
次に、演出制御装置150へ送信される初期化指令信号のアクション(ACTION)部に対応するデータを、演出制御通信ポート670に出力し、一定時間その出力状態を維持する(3005A)。
次に、演出制御通信ポート670のストローブ(STB)信号に相当するビットをオンに設定し、一定時間その出力状態を維持し(3006A)、その後、ストローブ信号に相当する当該ビットをオフに設定して、一定時間その出力状態を維持する(3007A)。次に、一定時間d1(詳細は後述)の待機を行い(3008A)、次に送信すべき初期化指令信号が残っていれば(3009A)、ステップ3001Aへ戻って次の初期化指令信号の送信を行うことを繰り返す(3001A〜3009A)。
なお、ステップ3009Aのときに、演出制御装置150へすべての初期化指令信号を送信し終えている場合には、ステップ3001Aに戻って払出制御装置210へ最初に送信する初期化指令信号を選択して、3002A〜3009Aの処理を繰り返す。但し、払出制御装置210への初期化指令信号は、演出制御通信ポート670ではなく排出制御通信ポート680へ出力し、ストローブ(STB)信号も排出制御通信ポート680のビットを使用することになる。
その後、演出制御通信ポート670に出力ステップ3009Aのときに、払出制御装置210へすべての初期化指令信号を送信し終えると、呼び出し元(図15のステップ1511の初期化指令通信処理の次の処理)に復帰する。
一方、図30の(b)では、演出制御装置150へ演出指令信号を送信するタイミングかを判定し(3001B)、演出指令信号の送信タイミングであれば、送信する演出指令信号のモード(MODE)部に対応するデータを、演出制御通信ポート670に出力し、一定時間その出力状態を維持する(3002B)。
次に、演出制御通信ポート670のストローブ(STB)信号に相当するビットをオンに設定し、一定時間その出力状態を維持し(3003B)、その後、ストローブ信号に相当する当該ビットをオフに設定して、一定時間その出力状態を維持する(3004B)。次に、演出制御装置150へ送信される初期化指令信号のアクション(ACTION)部に対応するデータを、演出制御通信ポート670に出力し、一定時間その出力状態を維持する(3005B)。
次に、演出制御通信ポート670のストローブ(STB)信号に相当するビットをオンに設定し、一定時間その出力状態を維持し(3006B)、その後、ストローブ信号に相当する当該ビットをオフに設定して、一定時間その出力状態を維持し(3007B)、呼び出し元(図19のステップ1913のコマンド送信処理の次の処理)へ復帰する。
一方、ステップ3001Bにて、演出制御装置150へ演出指令信号を送信するタイミングではないときには、排出制御装置150へ排出指令信号を送信するタイミングであるかを判定し(3008B)、排出指令信号の送信タイミングであれば、排出指令信号を送信する(3009B)。このとき、排出指令信号は、前述の3002B〜3007Bの手順と同一の手順で、排出制御通信ポート680から出力される。
ステップ3001Bにて、排出制御装置150へ排出指令信号を送信するタイミングでない場合、及びステップ3008Bの排出指令送信の処理が終了した場合は、呼び出し元(図19のステップ1913のコマンド送信処理の次の処理)へ復帰する。
図31は、本発明の第2の実施形態の遊技制御装置100から払出制御装置210及び演出制御装置150に送信される指令信号の説明図である。特に、図31(A)は、本発明の第2の実施形態の遊技制御装置100から払出制御装置210及び演出制御装置150に送信される初期化指令信号の説明図であり、図31(B)は、本発明の第2の実施形態の遊技制御装置100から払出制御装置210及び演出制御装置150に送信される払出指令信号及び演出指令信号の説明図である。
まず、図31(A)を用いて初期化指令信号から説明する。これは、前述の図30(a)のフローチャートに従った手順の処理に対応する。
初期化指令信号は、モード(MODE)部とアクション(ACTION)部とからなり、図15に示すステップ1511の初期化指令通信処理で送信される。
図15に示すステップ1511の処理の初期化指令通信処理は、図30(a)で前述したように、モード部及びアクション部を送信する送信処理を、初期化指令信号の送信が完了するまで複数回繰り返すループ処理である。図31(A)では3回送信処理を繰り返すことによって初期化指令信号を送信する様子を示している。
通信ポート670、680のQ0〜Q6端子は、モード部及びアクション部のデータを送信するために用いられ、Q7端子は、読み取り用のタイミング信号であるストローブ信号を送信するために用いられる。
各回の送信処理では、Q7端子からストローブ信号を所定時間出力し、Q0〜Q6端子からモード部及びアクション部を送信する。受信対象となる払出制御装置210又は演出制御装置150は、Q7端子からストローブ信号が入力される(立ち上がる)と、Q0〜Q6端子から入力されているモード部又はアクション部を取り込む。
図30(a)で前述したように、初期化指令通信処理では、送信処理を実行した後に、所定時間(d1)だけ処理をソフトウェア的に待機させるソフトタイマディレイ処理を実行して、再度送信処理を実行する。
一方、初期化指令信号のすべてのデータを送信した場合には、初期化指令通信処理を抜けて、図15に示す遊技制御装置メイン処理に戻る。
図31(A)では、初期化指令信号を送信するたびに、時間値d1のソフトウェアディレイ処理が実行されている。このため、初期化指令信号の送信周期はf1となっており、初期化指令信号のすべてのデータの送信が完了するまでの時間(3回目の送信処理が終了するまでの時間)はTとなっている。
次に、図31(B)を用いて通常時に払出制御装置210又は演出制御装置150に送信される指令信号について説明する。
この通常時の指令信号は、図19に示すステップ1913の処理のコマンド送信処理で送信される。
指令信号のすべてのデータは、1回のタイマ割込によるコマンド送信処理で送信が完了せずに、複数回のタイマ割込によるコマンド送信処理で送信が完了する。言い換えると、指令信号は、複数回のタイマ割込処理にまたがって送信されるものである。図31(B)では、3回のタイマ割込によるコマンド送信処理で指令信号のすべてのデータの送信が完了するものとする。
各回のコマンド送信処理の実行周期(f2)は、タイマ割込の発生周期と同期しており、4ミリ秒周期となる。
また、通常時の指令信号は、初期化指令信号と同じく、モード部及びアクション部からなる。換言すると、通常時の指令信号と初期化指令信号とは、モード部が出力されている時間、アクション部が出力されている時間、及びストローブ信号の出力時間が共通となっており、即ちフォーマットが共通している。
従って、通信ポート670、680のQ0〜Q6端子からモード部及びアクション部のデータを送信し、Q7端子からストローブ信号を出力することも、初期化指令信号の場合と同じである。
図31(A)及び(B)において、初期化指令信号はループ処理のソフトウェアディレイ処理によるディレイ時間(d1)を設定する際に、初期化指令信号の送信周期(f1)が、通常時の指令信号の送信周期(f2)よりも短くなるように設定する。
このため、初期化指令信号は通常時の指令信号よりも高速に送信することができ、初期化指令信号のすべてのデータの送信が完了するまでの時間も、一つの通常時の指令信号のすべてのデータの送信が完了するまでの時間よりも短縮できる。
したがって、電源投入時から、払出制御装置210及び演出制御装置150が通常時の指令信号に基づく制御を行うまでの時間を短縮することができる。
このように、本発明の第2の実施の形態によれば、ソフトウェアを用いて所定時間のタイマ計時を行うことによってディレイ処理を実行するため、遊技機が起動した際の、遊技制御装置と従属制御装置との開始タイミングの調整を行う際に、ハードウェアを用いる場合よりもコストを削減することが可能となる。また、タイマ計時(ディレイ処理)は正当性判定の記憶領域を用いずに行うので、正当性判定の処理も正確に行うことが可能となる。
その結果、従属制御装置に送信されるデータの送信速度の高速化のみならず、データの送信開始タイミングをも正確に制御することが可能となる。
なお、今回開示した実施の形態は、全ての点で例示であって制限的なものではない。また、本発明の範囲は前述した発明の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び内容の範囲での全ての変更が含まれることが意図される。