以下、本発明の実施形態について、図1〜図19を参照して説明する。
なお、以下の実施の形態の説明において記す前後左右とは、遊技者から見た、つまり遊技盤(遊技機)に向かって見た方向を指すものとする。
図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、及び、カードユニット50からプリペイドカードを排出させるために操作される排出ボタン27が設けられている。これらのボタン26、27の間には、プリペイドカードの残高を表示する残高表示部28が設けられる。
次に、カードユニット70について説明する。
カードユニット70の下部には、プリペイドカード又は会員カード等のカードが挿入可能なカード挿入口71が設けられる。
プリペイドカード又は会員カード等のカードには、当該カードの一意な識別子、当該カードの所有者(遊技者)の会員情報、及び残高等が記憶されている。
会員情報には、カードの所有者の住所、氏名、年齢、及び職業等が登録されている。
カード挿入口71にプリペイドカード又は会員カード等のカードが挿入された場合、図示しないカードリーダ・ライタによって、カードに記憶された情報が読み出される。
そして、図示しないカードリーダ・ライタによって読み出されたカードに記憶された残高が、遊技機1の残高表示部28及びカードユニット70の中央付近に設けられた残高表示部72に表示される。
残高表示部72の上方には、紙幣を挿入可能な紙幣挿入口73が設けられる。紙幣挿入口73に挿入された紙幣の有価価値は、カードに残高として記憶される。
紙幣挿入口73の上方には、動作表示部74が設けられる。動作表示部74は、カードユニット70の動作に対応して色を変化させる。
次に、図2を用いて遊技機1の裏面側を説明する。図2は、本発明の実施形態の遊技機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は、本発明の実施形態の遊技盤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によって制御される払出ユニット360から、前面枠3の上皿21又は下皿23に排出される。
なお、本実施の形態のパチンコ遊技機は、特図変動表示ゲームの結果に対応して(厳密には、特図変動表示ゲームに同期して実行される特図表示器120の表示態様に対応して)、以後の特図変動表示ゲームの当たり確率が変化する場合があり、遊技状態は、常時、特図変動表示ゲームが低確率で当たりとなる低確率状態か、当該低確率状態よりも特図変動表示ゲームが高確率で当たりとなる高確率状態のいずれかに設定されている。なお、低確率状態を非確変遊技状態と称したり、高確率状態を確変遊技状態と称したりする場合もある。
さらに、本実施の形態のパチンコ遊技機の遊技状態は、特図変動表示ゲームの結果に対応して、普通変動入賞装置33の開放頻度が変化する場合があり、遊技状態は、常時、普通変動入賞装置33の開放頻度が低い入賞抑制状態か、当該入賞抑制状態よりも普通変動入賞装置33の開放頻度が高い入賞促進状態のいずれかに設定されている。なお、入賞抑制状態を非時短遊技状態と称したり、入賞促進状態を時短遊技状態と称したりする場合もある。
この入賞促進状態においては、普図変動表示ゲームの実行時間が入賞抑制状態における実行時間より短くなるように制御される(例えば、入賞抑制状態で10秒に対し、入賞促進状態で1秒)。これによって、単位時間当たりの普通変動入賞装置33の開放回数が実質的に多くなるように制御される。
また、入賞促進状態においては、普図変動表示ゲームが当たり結果となって普通変動入賞装置33が開放される場合に、開放時間が通常遊技状態の開放時間より長くなるように制御されてもよい(例えば、入賞抑制状態で0.5秒に対し、入賞促進状態で2.9秒)。また、入賞促進状態においては、普通図柄変動表示ゲームの1回の当たり結果に対して、普通変動入賞装置33が1回ではなく、複数回(例えば、2回)開放してもよい。さらに、入賞促進状態においては、普図変動表示ゲームの当たり結果となる確率が入賞抑制状態より高くなるように制御してもよい。すなわち、入賞促進状態では、入賞抑制状態よりも普通変動入賞装置33の開放頻度が増加し、普通変動入賞装置33に遊技球が入賞しやすくなり、特図変動表示ゲームの始動が容易となる特典が付与される。
図4は、本発明の実施形態の遊技装置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には検査装置接続端子107が設けられており、検査装置接続端子107からは、遊技用マイコン101に一意に設定された識別番号を出力することができる。これによって、検査装置接続端子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に備わる普通変動入賞装置33を開放して、始動入賞口34への入口が所定の時間だけ開放させる。
大入賞口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によって設定された貸し出される遊技球の有価価値を表示する。
なお、遊技制御装置100、演出制御装置150、及び払出制御装置210は、電源装置160に接続される。
電源装置160は、バックアップ電源161、RAMクリアスイッチ162を備える。
バックアップ電源161は、停電時においても、遊技制御装置100、演出制御装置150、及び払出制御装置210に電源を供給する(演出制御装置150には供給しなくてもよい)。
RAMクリアスイッチ162は、遊技制御装置100に備わるRAM104及び払出制御装置210に備わるRAM214に記憶されている情報を初期化するスイッチである。
また、遊技機1に備わる球貸ボタン26が操作されると、カードユニット70は、プリペイドカード又は会員カード等のカードに記憶されている有価価値から貸し出される遊技球分の有価価値を減算して、減算した有価価値の値を遊技機1の残高表示部28に表示する。また、遊技機1に備わる排出ボタン27が操作されると、カードユニット70は、カード挿入口71に挿入されたカードを排出する。
遊技制御装置100に備わる遊技用マイコン101と払出制御装置210に備わる遊技用マイコン211とは、SIO接続及びNACLINK接続される。
SIO接続では暗号化されない非暗号化信号(平文データ)が通信され、NACLINK接続では暗号化された暗号化信号(暗号化データ)が通信される。
なお、遊技制御装置100に備わる遊技用マイコン101及び払出制御装置210に備わる遊技用マイコン211は、SIO接続及びNACLINK接続のためのポートを備える。
次に、遊技制御装置100に備わる遊技用マイコン101及び払出制御装置210に備わる遊技用マイコン211(以下、総称して遊技用演算処理装置600という)について、図5を用いて詳細に説明する。
図5は、本発明の実施形態の遊技用演算処理装置(アミューズチップ)600のブロック図である。
遊技用演算処理装置600はいわゆるアミューズチップ用のICとして製造され、遊技制御を行う遊技領域部600Aと情報管理を行う情報領域部600Bとに区分される。
まず、遊技領域部600AはCPUコア601(図4のCPU102或いはCPU212に相当)、ユーザプログラムROM602(図4のROM103或いはROM213に相当)、HWパラメータROM603(ユーザプログラムROM602及びHWパラメータROM603を総称して、ROM(不揮発性記憶手段)という)、ユーザワークRAM604(図4のRAM104或いはRAM214に相当)、ミラードRAM605(ユーザワークRAM604及びミラードRAM605を総称して、RAM(揮発性記憶手段)という)、外部バスインターフェース(I/F)606、バス切替回路607、乱数生成回路608、クロックジェネレータ609、リセット割込制御回路610、アドレスデコーダ611、出力制御回路612、ブートブロック613、復号化・ROM書込回路614、シリアル送受信回路615、暗号化送受信回路616、及びバス617により構成される。
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の簡易チェックを行う場合、遊技用演算処理装置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は、タイマ割込信号が入力されると、図14に示すタイマ割込処理を実行する。
リセット割込制御回路610は、外部からの入力されたリセット信号(RST)を検出すると、遊技用演算処理装置600の内部に備えた各回路にリセット信号を伝達する。また、所定の割り込み条件の発生を検出すると、割り込みの発生をCPUコア601に知らせる。
アドレスデコーダ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に出力する(書き込む)というものである。
シリアル送受信回路615は、SIO接続で暗号化されていない平文データを送受信するための回路である。
暗号化送受信回路616は、NACLINK接続で暗号化された暗号化データを送受信する回路である。暗号化送受信回路616には、NACLINK信号線が接続される。暗号化送受信回路616は、NACLINK信号線を介してデータを送受信する。
バス617はデータバス(図6のデータバス660)、アドレスバス(図6のアドレスバス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には、図6で後述するセキュリティ回路630、RAMアクセス規制回路640を備えている。
図6は、本発明の実施形態の遊技制御装置100に備わる遊技用演算処理装置(アミューズチップ)600とその周辺のブロック図である。
遊技用演算処理装置600は、セキュリティ回路630、CPUコア102(図5では601)、RAMアクセス規制回路640、ユーザワークRAM104(図5では604)、バス切替回路607、アドレスデコーダ611、出力制御回路612、及び、ユーザプログラムROM103(図5では602)を備える。
なお、遊技用演算処理装置600に備わるこれらの回路等は、アドレスバス650及びデータバス660を介して接続されている。
また、遊技制御装置100は、遊技用演算処理装置600の外部にて、演出制御装置150に接続される演出制御通信ポート670、及び、払出制御装置210に接続される払出制御通信ポート680を備える。以下、演出制御通信ポート670及び払出制御通信ポート680を総称して、通信ポート670、680という。通信ポート670、680は、本実施形態における通信用ポート(指令出力手段)として機能するものであり、図4に示す出力I/F106に含まれる。
通信ポート670、680は、遊技用演算処理装置600の外部のデータバス690を介して遊技用演算処理装置600に接続される。
なお、データバス660、690は、D0〜D7の8ビットの信号線によって構成される。
遊技用演算処理装置600に電源が投入される際には、RST端子(図5)を介して電源装置160からリセット信号(起動信号)が入力され、リセット割込制御回路610(図5)が作動する。
セキュリティ回路630は、このリセット信号が入力されるとHWパラメータROM603に記憶された正当性確認情報を用いて、セキュリティチェック処理を実行する。このセキュリティチェック処理は、ユーザプログラムROM103に記憶されたプログラムの正当性の判定を行う処理である。
セキュリティ回路630は、このセキュリティチェック処理を実行している間は、CPUコア102のリセット端子(RES(負論理))にリセット信号を継続して出力することで、CPUコア102の起動を待機させる。
CPUコア102は、前述のリセット端子(RES(負論理))と、書込指令出力端子(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は、例えば、型番が74HC74のロジックICを用いる。このフリップフロップ回路641は、D型のフリップフロップ回路であり、入力端子として、データ端子(D)、クリア端子(CLR(負論理))、クロック端子(CK(正論理))、及びプリセット端子(PR(負論理))を備えるとともに、出力端子(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ゲート回路652の入力端子に信号を出力する。出力端子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書込禁止状態が発生することになる。
次に、通信ポート670、680について説明する。
通信ポート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が初期状態となる。
なお、前述したセキュリティ回路630、RAMアクセス規制回路640、及び通信ポート670、680の起動(リセット)は、電源装置160からのリセット信号を、前述のリセット割込制御回路610(図5)を介して受け入れた場合に実行される。ただし、電源装置160からのリセット信号は、必ずしもリセット割込制御回路610を介して各回路に入力される必要はなく、リセット割込制御回路610を経由しない別個の信号線を介して各回路に入力されるような構成でもよい。
また、払出制御装置210は、通信ポート670、680を備えてはいないが、通信ポート680からの出力信号を受け入れる図示しない受信用ポート(指令入力手段)を備えている点が、図6に示した遊技制御装置100と異なっている。その他の構成は、図6に示した遊技制御装置100と同じ構成である。
また、演出制御装置150は、通信ポート670、680を備えてはいないが、通信ポート670からの出力信号を受け入れる図示しない受信用ポート(指令入力手段)を備えている点が、図6に示した遊技制御装置100と異なっている。さらに、遊技用演算処理装置600がRAMアクセス規制回路640を備えていない。その他の構成は、図6に示した遊技制御装置100と同じ構成である。
なお、払出制御装置210及び演出制御装置150に備えた受信用ポートは、型番が74HC244のロジックICを用いる。74HC244はスリーステートバッファであり、遊技制御装置100の通信ポート670、680からの信号を、スリーステートバッファのデータ入力側に接続し、スリーステートバッファのデータ出力側を、払出制御装置210(又は演出制御装置150)に形成したデータバス690に接続する構成となる。
図7は、本発明の実施形態のユーザワーク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には、遊技制御で必要な変数等が格納され、図10及び図11に示す遊技制御装置メイン処理並びに図12に示すタイマ割込処理等で、これらの変数が更新される。チェックサム領域704には、停電発生時に算出されたユーザワークRAM104の第1停電復旧領域701、ワークエリア702、第2停電復旧領域703のチェックサムが格納される。
使用禁止領域705は使用されない記憶領域であり、当該領域へのアクセスがあると、CPUコア102がリセットされるようになっている。
スタック領域706には、CPUコア102で演算されているデータの一部を一時的に退避させる場合に、退避データが格納される。また、割込みが発生した場合の戻りアドレスや、サブルーチンや関数を呼び出す場合の戻りアドレスも格納される。
図8は、本発明の実施形態のスタック領域706の説明図である。
図8では、スタック領域706に戻りアドレスが格納される場合について、説明する。
まず、スタック領域706に何もデータが格納されていない状態では、スタックポインタ(SP)は、スタック領域の最終領域(29FFH)に隣接する領域(2A00H)をスタックポインタ初期値として示している。なお、このスタックポインタ初期値が示す領域は、スタック領域には含まれない領域(本実施形態では、ユーザワークRAM104の記憶領域にも含まれていない領域)である。
次に、スタック領域706に退避データが格納されたり、割込み発生やサブルーチン呼び出しによって、スタック領域706に戻りアドレスが格納されたりすると、最後にデータ(又はアドレス)が格納された領域を、スタックポインタによって示すことになる。
そして、スタック領域706から退避データが復帰したり、戻りアドレスを取り出した際(割込み処理やサブルーチンの処理が終了して呼び出し元に戻る際)には、その時点でスタックポインタが示しているデータ(又はアドレス)が取り出され、次にデータが取り出される予定の格納領域が、スタックポインタによって示される。
このようにして、スタック領域706に格納された戻りアドレスは、後に格納された戻りアドレスから先に読み出される。
なお、図8では、スタックポインタが第3戻りアドレスを指しているときに、新たに、割込みやサブルーチン呼び出しが発生して、戻りアドレスを第4戻りアドレスとして格納した様子を示している。この後、第4戻りアドレスの格納領域(29F8H)が、スタックポインタによって示されることになる。
図9は、本発明の実施形態の各装置(遊技制御装置100、払出制御装置210、及び演出制御装置150)の電源投入時処理のフローチャートである。
具体的には、図9(A)は、遊技制御装置100の電源投入時処理のフローチャートであり、図9(B)は、払出制御装置210の電源投入時処理のフローチャートであり、図9(C)は、演出制御装置150の電源投入時処理のフローチャートである。
遊技制御装置100の電源投入時処理(図9(A))から説明する。この電源投入時処理は、最初からCPU102によって実行される処理ではなく、まず遊技制御装置100に備わる各種ハードウェアによって実行され、後にCPU102によって実行される処理である。
まず、遊技制御装置100に電源装置160からリセット信号が伝達される(901)。
このリセット信号は、電源装置160から、セキュリティ回路630(図6参照)、RAMアクセス規制回路640のフリップフロップ回路641のクリア端子(図6参照)、及び通信ポート670、680のクリア端子に入力される。具体的には、これらのクリア端子には、電源が投入されると、所定時間所定の電圧(例えば、5V)以下の電圧が印加されることによって、リセット信号が入力され、所定時間経過後に所定の電圧が印加されることによって、リセット信号が入力されなくなる。
なお、セキュリティ回路630は、電源装置160からリセット信号が入力されると、後述のセキュリティチェック処理が終了するまでCPUコア102のリセット端子にリセット信号を出力し続けて、CPUコア102の起動を待機させる。
そして、通信ポート670、680のクリア端子にリセット信号が入力されたので、通信ポート670、680のD0〜D7端子及びQ0〜Q7端子の電圧レベルがローに制御され、各種装置(普電SOL90、大入賞口SOL38等)に接続される出力I/F106のポートをすべて0に設定することにより、通信ポート670、680、及び出力I/F106がハードウェアにより初期化される(902)。
次に、RAMアクセス規制回路640によって、ユーザワークRAM104への書き込み規制されるRAM書込禁止状態が発生する(903)。
具体的には、図6で説明したように、フリップフロップ回路641のクリア端子にはリセット信号が入力されるため、フリップフロップ回路641の出力端子Q(負論理)からハイレベルの信号が出力される状態となる。これにより、ORゲート回路642の他方の入力端子にハイレベルの信号が入力されても、ローレベルの信号が入力されても、ユーザワークRAM104の書込指令入力端子にはハイレベルの信号が入力されることになるため、RAM書込禁止状態が発生する。
次に、リセット信号が入力された図6に示すセキュリティ回路630が自己診断処理を実行する(904)。自己診断処理は、セキュリティ回路630が初期化されているか否かを判定する処理である。
そして、自己診断処理によって、セキュリティ回路630が初期化されていると判定された場合には、セキュリティ回路630は、セキュリティチェック処理を実行する(905)。セキュリティチェック処理は、図6で説明したように、HWパラメータROM603(図5参照)に記憶された正当性確認情報を用いて、ユーザプログラムROM602(図5参照)に記憶されたプログラムの正当性の判定を行う処理である。
ステップ905の処理で、セキュリティチェック処理を実行すると、遊技制御装置100のメイン処理へ移行する。このとき、セキュリティ回路630は、CPUコア102のリセット端子に出力していたリセット信号を停止することで、CPUコア102が起動する。このため、遊技制御装置100のメイン処理は、CPUコア102によって実行される。遊技制御装置100のメイン処理は図10で説明する。
次に、払出制御装置210の電源投入時処理(図9(B))を説明する。前述したように、払出制御装置210は、通信ポート670、680の代わりに、図示しない受信用ポート(図4の入出力I/F216入力に含まれる)を備えている点以外は、図6に示した遊技制御装置100と同じ構成である。図6に示す遊技制御装置100の構成部と同じ構成部については、同じ符号を付与する。
まず、払出制御装置210に電源装置160からリセット信号が伝達される(911)。なお、ステップ911の処理の具体的な説明は、ステップ901の処理と同じである。
そして、払出制御装置210にリセット信号が入力されたので、払出制御装置210の出力ポート(図4の入出力I/F216に含まれる)の電圧レベルが0に設定され、各種装置(払出モータ220、及び発射制御装置221等)に接続される入出力I/F216のポートがすべて0に設定され、入出力I/F216がハードウェアにより初期化される(912)。
次に、払出制御装置210のRAMアクセス規制回路640によって、RAM214への書き込み規制されるRAM書込禁止状態が発生する(913)。なお、ステップ913の処理の具体的な説明は、ステップ903の処理と同じである。
次に、リセット信号が入力された払出制御装置210のセキュリティ回路630が自己診断処理を実行する(914)。なお、ステップ914の処理の具体的な説明は、ステップ904の処理と同じである。
そして、自己診断処理によって、セキュリティ回路630が初期化されていると判定された場合には、セキュリティ回路630は、セキュリティチェック処理を実行する(915)。なお、ステップ915の処理の具体的な説明は、ステップ905の処理と同じである。
そして、払出制御装置210は、電源投入時の初期化処理を実行する(916)。電源投入時の初期化処理は、RAM214等を初期化する処理であって、CPU212によって実行される。また、RAM214を初期化する前に、ステップ913の処理で発生したRAM書込禁止状態が解除されて、RAM214はRAM書込可能状態となる。
次に、払出制御装置210は、前述の図示しない受信用ポート(図6の遊技制御装置100の払出制御通信ポート680に接続されている)からのデータの取り込みを許可することによって、遊技制御装置100からの指令を受信可能な状態を発生させる(917)。
そして、払出制御装置210は、受信用ポートから遊技制御装置100から送信されたデータを取り込む(918)。
ステップ918の処理について、払出制御装置210の構成は遊技制御装置100の構成とほぼ同じであるため図6を用いて説明すると、払出制御装置210の出力制御回路612によって、この受信用ポート(遊技制御装置100の払出制御通信ポート680に接続されている)が選択されると、遊技制御装置100の払出制御通信ポート680から出力されているD0〜D7のデータを取り込み、取り込んだデータを払出制御装置210のデータバス690に出力する。
そして、払出制御装置210のCPU212は、受信用ポートによって取り込まれたデータが初期化指令であるか否かを判定する(919)。
ステップ919の処理で、通信ポートによって取り込まれたデータが初期化指令でないと判定された場合、ステップ918の処理で戻り、初期化指令が取り込まれるまで、ステップ918の処理を実行する。
一方、ステップ918の処理で、受信用ポートによって取り込まれたデータが初期化指令であると判定された場合、払出制御装置210は通信開始時の初期化処理を実行して(920)、払出制御装置メイン処理へ移行する。
次に、演出制御装置150の電源投入時処理(図9(C))を説明する。前述したように、払出制御装置210は、通信ポート670、680の代わりに、図示しない受信用ポートを備えている点、及び、遊技用演算処理装置600がRAMアクセス規制回路640を備えない点以外は、図6に示した遊技制御装置100と同じ構成である。図6に示す遊技制御装置100の構成部と同じ構成部については、同じ符号を付与する。
まず、演出制御装置150に電源装置160からリセット信号が伝達される(921)。なお、ステップ921の処理の具体的な説明は、ステップ901の処理と同じである。
そして、演出制御装置150にリセット信号が入力されたので、演出制御装置150の受信用ポートがハードウェアにより初期化される(922)。
そして、演出制御装置150は、電源投入時の初期化処理を実行する(923)。電源投入時の初期化処理は、RAM154等を初期化する処理であって、CPU152によって実行される。
次に、演出制御装置150は、受信用ポートに対してデータの取り込みを許可することによって、遊技制御装置100からの指令を受信可能な状態を発生させる(924)。
そして、演出制御装置150は、受信用ポートから遊技制御装置100から送信されたデータを取り込む(925)。
ステップ925の処理について、演出制御装置150の構成は遊技制御装置100の構成とほぼ同じであるため図6を用いて説明すると、演出制御装置150の出力制御回路612によって、この受用信ポート(遊技制御装置100の演出制御通信ポート670に接続されている)が選択されると、遊技制御装置100の演出制御通信ポート670から出力されているD0〜D7のデータを取り込み、取り込んだデータを払出制御装置210のデータバス690に出力する。
そして、演出制御装置150のCPU152は、受信用ポートによって取り込まれたデータが初期化指令であるか否かを判定する(926)。
ステップ926の処理で、受信用ポートによって取り込まれたデータが初期化指令でないと判定された場合、ステップ925の処理で戻り、初期化指令が取り込まれるまで、ステップ925の処理を実行する。
一方、ステップ926の処理で、受信用ポートによって取り込まれたデータが初期化指令であると判定された場合、演出制御装置150は通信開始時の初期化処理を実行して(927)、演出制御装置メイン処理へ移行する。
次に、遊技制御装置100のCPU102によって実行される遊技制御装置メイン処理を、図10及び図11を用いて説明する。
図10は、本発明の実施形態の遊技制御装置メイン処理の前半部のフローチャートであり、図11は、本発明の実施形態の遊技制御装置メイン処理の後半部のフローチャートである。
まず、遊技制御装置100は、CPU102への割込みを禁止する(1001)。
そして、遊技制御装置100は、図8に示すスタック領域706の予め設定された所定のアドレス(図8で前述したスタックポインタ初期値)にスタックポインタを設定し(1002)、割込モードを設定する(1003)。割込モードは、CPU102が内蔵デバイスからの割込要求の処理を可能とし、また、プログラムにおいて割込要求の処理を実行する位置を設定することを可能とするものである。
次に、遊技制御装置100は、入力I/F105からRAMクリアSW信号の状態を取り込み、取り込んだRAMクリアSW信号の状態をCPU102のレジスタに記憶する(1004)。
そして、遊技制御装置100は、RAM104を使用しないディレイ処理を実行する(1005)。このディレイ処理は、タイマなどによって所定時間処理を待機させる処理であり、具体的には、チェックサムが算出されない記憶領域にて、所定の数が0になるまでデクリメントし続ける処理である。このとき、図9のステップ903の処理によって、RAM(記憶手段)への書き込みが禁止されているため、ディレイ処理の実行中(タイマ計時中)に、RAM(記憶手段)へ不用意な書き込みをすることを防止できる。なお、ディレイ処理については、図12及び図13で詳細を説明する。
次に、遊技制御装置100は、再度、入力I/F105からRAMクリアSW信号の状態を取り込み、取り込んだRAMクリアSW信号の状態をCPU102のレジスタに記憶する(1006)。なお、CPU102が二つのRAMクリア信号の状態を比較できるように、ステップ1004の処理でRAMクリアSW信号の状態を記憶するレジスタの領域、及び、ステップ1006の処理でRAMクリアSW信号の状態を記憶するレジスタの領域は、異なる領域である。
次に、遊技制御装置100は、ステップ903の処理で発生したRAM書込禁止状態をRAM書込可能状態にする(1007)。
具体的には、CPU102の指令によって、フリップフロップ回路641のクロック端子にクロック信号を出力制御回路612から入力させ、かつ、フリップフロップ回路641のデータ端子に接続された信号線の信号レベルをハイレベルにする。これにより、フリップフロップ回路641の出力端子Q(正論理)からハイレベルの信号が出力され、出力端子Q(負論理)からローレベルの信号が出力されるため、ORゲート回路652の入力端子にローレベルの信号が入力されることにより、RAM書込可能状態になる。
このように、RAMの記憶内容の正当性を判定する処理が実行されるまでの間、必要に応じて書込規制状態にすることが可能となるので、RAM(記憶手段)へ不用意な書き込みがなされることを防止することができる。
次に、遊技制御装置100は、スタック領域706を使用して、各種設定処理を実行する(1008)。この設定処理は、例えば、サブルーチンや関数を呼び出して、遊技制御に必要な各種記憶領域に初期データを設定する処理である。これらのサブルーチンや関数は、遊技制御プログラムに記述した複数の箇所から呼び出される形態となっており、遊技制御プログラムの容量削減に貢献している。一方で、サブルーチンや関数を呼び出す際には、前述したように、戻りアドレスをスタック領域706に待避する処理を必要とする。
そして、遊技制御装置100は、ステップ1004の処理でレジスタに記憶されたRAMクリアSW信号の状態とステップ1008の処理でレジスタに記憶されたRAMクリアSW信号の状態とを比較して、どちらのRAMクリアSW信号の状態も、RAMクリアSW162が操作されたことを示しているか否かを判定する(1009)。
ステップ1009の処理では、異なるタイミングで取得したRAMクリア信号の状態に基づいてRAMクリアSW162が操作されたか否かを判定しているので、ノイズ等による誤判定を防止できる。
ステップ1009の処理で、RAMクリアSW162が操作されたと判定された場合、遊技制御装置100は、ユーザワークRAM104のすべての記憶領域を初期化する(1010)。
そして、遊技制御装置100は、初期化指令信号を払出制御装置210及び演出制御装置150へ送信し(1011)、図11に示すステップ1017の処理に進む。
一方、ステップ1009の処理で、RAMクリアSW162が操作されていないと判定された場合、遊技制御装置100は、ユーザワークRAM104の第1停電復旧領域701及び第2停電復旧領域703に、電源遮断確認フラグが格納されているか(正確には、電源遮断確認フラグがオンとなっているか)を確認する(1012)。
そして、遊技制御装置100は、直前の電源供給停止のときに、電源遮断の処理が正しく実行されていたか否かを判定する(1013)。具体的には、遊技制御装置100は、第1停電復旧領域701及び第2停電復旧領域703の両方に電源遮断確認フラグが格納されている場合には、電源遮断の処理が正しく実行されているものであると判定し、一方、第1停電復旧領域701及び第2停電復旧領域703の少なくとも一方に電源遮断確認フラグが格納されていない場合(少なくとも一方の電源遮断確認フラグがオフの場合)には、電源遮断の処理が正しく実行されていないと判定する。
ステップ1013の処理で電源遮断の処理が正しく実行されていたと判定された場合には、遊技制御装置100は、ユーザワークRAM104の第1停電復旧領域701、ワークエリア702、及び第2停電復旧領域703を用いてチェックサムを算出して、算出したチェックサムがチェックサム領域704に格納されているチェックサムと一致するか否かを照合する(1014)。
なお、チェックサム領域704に格納されているチェックサムは、停電検出時のユーザワークRAM104の第1停電復旧領域701、ワークエリア702、及び第2停電復旧領域703を用いてチェックサムを算出して、格納されたものである。
つまり、ステップ1014の処理は、停電検出時のユーザワークRAM104に格納された情報と電源投入時のユーザワークRAM104に格納された情報とが一致するか否かを照合する処理である。
そして、ステップ1014の処理の照合結果が、算出したチェックサムとチェックサム領域704に格納されたチェックサムとが一致するものであるか否かを判定する(1015)。
ステップ1014の処理で算出したチェックサムとチェックサム領域704に格納されたチェックサムとが一致しないとステップ1015の処理で判定された場合、つまり、停電検出時のユーザワークRAM104に格納された情報と電源投入時のユーザワークRAM104に格納された情報とが一致しない場合には、遊技制御装置100は、ステップ1010の処理に進み、ユーザワークRAM104のすべての領域を初期化し、ステップ1011の処理にて初期化指令を払出制御装置210及び演出制御装置150に送信する。
一方、ステップ1014の処理で、ステップ1014の処理で算出したチェックサムとチェックサム領域704に格納されたチェックサムとが一致するとステップ1015の処理で判定された場合、つまり、停電検出時のユーザワークRAM104に格納された情報と電源投入時のユーザワークRAM104に格納された情報とが一致する場合には、遊技制御装置100は、遊技制御装置100の起動に必要な領域(ユーザワークRAM104の一部の領域)を初期化する(1016)。このとき、ユーザワークRAM104の第1停電復旧領域701及び第2停電復旧領域703の各々にて、電源遮断確認フラグが消去(正確には、各領域にて電源遮断確認フラグがオフ)される。
そして、遊技制御装置100は、初期化指令を払出制御装置210及び演出制御装置150に送信する(1011)。
これらの処理が完了すると、遊技制御装置100に関する初期化処理が完了となる。次いで、図11に示すステップ1017の処理に進む。
次に、ステップ1011の処理で初期化指令が払出制御装置210及び演出制御装置150に送信された後、遊技制御装置100は、各種時間を計測やタイマ割込みを行うためのCTC(Counter Timer Circuit)を起動し(1017)、遊技制御に関する乱数を生成する乱数回路を初期化する(1018)。そして、遊技制御装置100は、ステップ1001の処理で禁止されたCPU102への割込みを許可する(1019)。
次に、遊技制御装置100は、初期値乱数を更新する初期値乱数更新処理を実行する(1020)。初期値乱数とは、遊技制御に関する乱数のカウンタ(例えば、始動入賞口34へ入賞したタイミングで取得される乱数のカウンタ)が上限値に達した場合に初期値に戻るが、その初期値を決定するための乱数である。
そして、遊技制御装置100は、停電検出信号が入力されたか否かを確認し(1021)、ステップ1021の処理での確認結果が、停電検出信号が入力されたことを示すか否かを判定する(1022)。
ステップ1022の処理で、停電検出信号が入力されていないと判定された場合、停電は発生していないので、ステップ1020の処理に戻る。
一方、ステップ1022の処理で、停電検出信号が入力されたと判定された場合、遊技制御装置100は、CPU102への割込みを禁止し(1023)、出力I/F106に備わる出力ポートの電圧レベルをローレベルに設定する(1024)。
次に、遊技制御装置100は、ユーザワークRAM104の第1停電復旧領域701及び第2停電復旧領域703に、電源遮断確認フラグを格納(正確には、各領域にて電源遮断確認フラグをオン)し(1025)、ユーザワークRAM104の第1停電復旧領域701、ワークエリア702、及び第2停電復旧領域703を用いてチェックサムを算出して、算出したチェックサムをチェックサム領域704に格納する(1026)。
次に、遊技制御装置100は、RAMアクセス規制回路640によってユーザワークRAM104をRAM書込禁止状態にする(1027)。
具体的には、CPU102の指令によって、フリップフロップ回路641のクロック端子にクロック信号を出力制御回路612から入力させ、かつ、フリップフロップ回路641のデータ端子に接続された信号線の信号レベルをローレベルにする。これにより、フリップフロップ回路641の出力端子Q(正論理)からローレベルの信号が出力され、出力端子Q(負論理)からハイレベルの信号が出力されるため、ORゲート回路652の入力端子にハイレベルの信号が入力されることにより、RAM書込禁止状態になる。
そして、遊技制御装置100は、遊技機1の電源が切れるまで待機する(1028)。なお、遊技制御装置100には、バックアップ電源が接続されているので、停電が発生しても、すぐに電源が切れることはない。
なお、本実施形態では、ステップ1014の処理で電源断時のユーザワークRAM104と電源投入時のユーザワークRAM104との正当性を判定する前のステップ1007の処理でRAM書込可能状態にしたが、RAM書込可能状態にするタイミングは、遅くともステップ1014の処理の正当性に応じて行われるステップ1010又は1016の処理におけるユーザワークRAM104の初期化処理の実行直前であればよい。
このように、遊技機1にて電源供給が遮断した場合には、必要な電源遮断処理を実行した後は、ユーザワークRAM104をRAM書込禁止状態に設定し、遊技機1にて再度電源供給が復帰したときでも、すぐにユーザワークRAM104をRAM書込可能状態としないで、ハードウエアに関する初期化処理を一定時間実行し、ステップ1014の処理の正当性に応じて行われるステップ1010又は1016の処理におけるユーザワークRAM104の初期化処理の実行直前になって、ようやくRAM書込可能状態にすることによって、ユーザワークRAM104の初期化まで不用意なユーザワークRAM104の書き込みを防止できる。
そのため、ステップ1014の処理における正当性判定が行われる直前には、RAM書込禁止状態になっているので、電源投入後にユーザワークRAM104に誤った書き込みがなされ、ステップ1014の処理で誤った判定がされることを防止できる。
なお、本実施形態では、ステップ1008の処理でスタック領域706を用いた各種設定処理を実行するために、ステップ1014の処理における正当性判定処理の前のステップ1007の処理でRAM書込可能状態にしている。
これによって、正当性判定を行う前に正当性判定の対象とはならないスタック領域706を用いた各種設定処理を行うことができるようになるため、遊技制御装置100の各種設定を早い段階で行うことができるので遊技制御装置100の起動を高速化でき、また、スタック領域706を用いるので処理プログラムが共通化でき、プログラム容量を削減できる。
なお、図10では、ステップ1010又は1016の処理でユーザワークRAM104を初期化した後、ステップ1015の処理で初期化指令信号を送信しているが、ステップ1014における正当性判定の実行前のステップ1008の処理の実行後に初期化指令信号を送信してもよい。
この場合には、ステップ1014の処理における正当性判定の実行前であるので、正当性判定に寄与しないスタック領域706又はCPU102に備わるレジスタを用いて、初期化指令信号を送信する。
ステップ1010又は1016の処理では、RAM104の一部領域を初期化する処理であるステップ1016の処理が、RAM104の全領域を初期化する処理であるステップ1010の処理よりも実行時間が長いため、ステップ1010の処理を実行するかステップ1016の処理を実行するかによって、初期化指令信号が送信される時間が異なってしまう。
ステップ1014の処理における正当性判定の実行前に初期化指令信号を送信することによって、ステップ1011の処理で初期化指令信号を送信するよりも早く初期化指令信号を送信できる。また、電源投入から一定時間で初期化指令信号を送信することができる。
図12は、本発明の実施形態のディレイ処理の説明図である。
このディレイ処理は、図10のステップ1005で実行されるが、当該ディレイ処理を実行している時点では、ユーザワークRAM104の値が更新できないようにRAM書込禁止状態となっている。これは、直前の停電発生時に格納されたチェックサムと、電源投入直後となる現時点でのチェックサムとの照合を行うためである。
このため、図10に示すステップ1005の処理のディレイ処理では、正当性の判定が行われる記憶領域が含まれたユーザワークRAM104を用いず、他の記憶領域(正当性判定の対象とならない判定対象外記憶領域)を用いてディレイ処理を実行しなければならない。したがって、本実施形態のディレイ処理は、CPUコア102に備わるレジスタ(汎用レジスタ)を用いて実行される。
以下に、レジスタを用いたディレイ処理を説明する。なお、CPUコア102として、Z80系のCPUを用いるものとするので、Z80系のCPUで使用されるレジスタ及びアセンブリ言語を用いて説明を行う。
まず、行1201は、当該ディレイ処理の最初の処理に相当し、CPUコア102のレジスタ(図6参照)のHレジスタ及びLレジスタを1つのペアとして構成したHLレジスタに、「0400H」をロードする。具体的には、Hレジスタに「04H」がロードされ、Lレジスタには「00H」がロードされる。
次に、行1203に進み、行1203では、HLレジスタの値をデクリメントする。1回目に行1203が実行された場合には、HLレジスタの値は「03FFH」となる。
そして、行1204に進み、行1204では、Hレジスタに格納された値をAレジスタにロードする。
そして、行1205に進み、AレジスタとLレジスタとの論理和が算出される。行1206では、行1205で算出された論理和がゼロでなければ、行1202に戻る。従って、Hレジスタ及びLレジスタの両方が「00H」となるまで、行1203〜1206の処理を繰り返すことになる。
つまり、図12では、維持タイマとして使用されるHレジスタ及びLレジスタに格納された「0400H」が「0000H」になるまでデクリメントされるもので、合計1024回デクリメントが行われる。この間、図10に示す遊技制御装置メイン処理は、ステップ1005の処理で待機するため、遊技制御装置100の起動が遅延することとなる。
また、このディレイ処理中は、ユーザワークRAM104へのアクセスが全く行われない。即ち、正当性の判定が行われる記憶領域が含まれたユーザワークRAM104の値を書き換えることなく、ディレイ処理を実行することができる。
図13は、本発明の実施形態のディレイ処理の変形例の説明図である。
図12のこのディレイ処理は、ユーザワークRAM104の記憶領域を全く使用しないで処理を行うものであったが、この変形例では、ユーザワークRAM104の記憶領域のうち、正当性判定の対象となっている第1停電復旧領域701、ワークエリア702、チェックサム領域704、第2停電復旧領域703の各記憶領域にはアクセスしないが、正当性判定の対象外のスタック領域706を使用して、処理を行うようにしている。
そのため、図10のステップ1005にて、図13の手順でディレイ処理を実行する場合には、ステップ1005の実行前に、ユーザワークRAM104をRAM書込可能状態に設定しておく必要がある。例えば、図10のステップ1007のRAM書込可能状態への変更の処理を、ステップ1005の処理の直前で実行する。
以下にスタック領域706を用いたディレイ処理を説明する。
まず、行1301は、当該ディレイ処理の最初の処理に相当し、CPUコア102のレジスタのAレジスタ及びFレジスタ(フラグレジスタ)に格納されている情報を、AFレジスタペアとして、スタック領域706に退避させる。
行1302では、CPUコア102のレジスタのHレジスタ及びLレジスタに格納されている情報を、1つのペアとして構成したHLレジスタと見なして、スタック領域706に退避させる。
行1303では、このHLレジスタに、「0400H」をロードする。具体的には、Hレジスタに「04H」がロードされ、Lレジスタには「00H」がロードされる。
次に、行1305に進み、行1305では、HLレジスタの値をデクリメントする。1回目に行1305が実行された場合には、HLレジスタの値は「03FFH」となる。
そして、行1306に進み、行1306では、Hレジスタに格納された値をAレジスタにロードする。
そして、行1307に進み、AレジスタとLレジスタとの論理和が算出される。行1308では、行1307で算出された論理和がゼロでなければ、行1304に戻る。従って、Hレジスタ及びLレジスタの両方が「00H」となるまで、行1305〜1308の処理を繰り返すことになる。
また、行1308では、行1307で算出された論理和がゼロである場合には、行1309に進み、スタック領域706に退避させたHレジスタに格納された情報をCPUコア102のHレジスタに戻し、スタック領域706に退避させたLレジスタに格納された情報をCPUコア102のLレジスタに戻す。
そして、行1310に進み、スタック領域706に退避させたAレジスタに格納された情報をCPUコア102のAレジスタに戻し、スタック領域706に退避させたFレジスタに格納された情報をCPUコア102のFレジスタに戻す。
このように、図13のディレイ処理では、ディレイ処理で使用されるCPUコア102のAレジスタ、Fレジスタ、Hレジスタ、及びLレジスタに格納されていた情報を、ディレイ処理が行われる前にスタック領域706に退避させるので、Aレジスタ、Fレジスタ、Hレジスタ、及びLレジスタに格納されていた情報がディレイ処理により消失してしまうことを防止できる。
図12及び図13で説明したように、本実施形態では、ディレイ処理をハードウェアを用いずに、正当性判定に寄与しない、つまりチェックサムを算出しない領域を用いてソフトウェアにより実現(維持タイマを計時)しているので、図10に示すステップ1014の正当性判定を正確に行うことができるとともに、ハードウェアでディレイ処理を実現するよりも安価に実現することができる。また、スタック領域に記憶されているデータの正当性は判定されないので、正当性を判定する領域のデータを更新してしまうことを防止できる。
図12及び図13の各手法を比較すると、CPUコア102で使用できるレジスタの数が少ない場合には、図13の手法の方が効果的である。ただし、正当性判定の対象となっている第1停電復旧領域701、ワークエリア702、チェックサム領域704、第2停電復旧領域703の各記憶領域を、ノイズ等によって書き換えてしまうことを極力防止したいのであれば、ディレイ処理中を通してユーザワークRAM104をRAM書込禁止状態としている図12の手法の方が、優れているともいえる。
図14は、本発明の実施形態のタイマ割込処理を示すフローチャートである。このタイマ割込処理は、遊技制御装置100のCPUコア102によって実行される。
遊技機の電源が投入されると、遊技制御装置メイン処理(図10及び図11参照)が実行される。そして、ステップ1017の処理で起動させたCTCによって、所定時間周期(例えば、4ミリ秒周期)でタイマ割込みが発生すると、遊技制御装置100のCPU102によって、タイマ割込処理が繰り返し実行される。ただし、これらの処理(1412〜1422の処理)は、割り込み発生毎に必ずしもすべて行なわれなくてもよい。例えば、入出力処理(S1412)においては、毎回入力信号を監視するが、出力処理は割り込みの発生の1回おきに実行されてもよい。つまり、1回の割り込み処理で一通りの処理をすべて完了するのではなく、この割込処理が複数回繰り返し実行されて一連の遊技制御処理が完了してもよい。
本実施形態のタイマ割込処理においては、まず、レジスタのデータを退避する(1411)。
次に、入出力処理を実行する(1412)。入出力処理は、入力処理と出力処理とを含む。入力処理は、入力I/F105を介して各種センサ(特図始動SW34A、普図始動SW31A、カウントSW36A、入賞口SW32A〜32N、オーバーフローSW109、球切れSW110、枠開放SW111など)から入力される信号にチャタリング除去等の処理をし、入力情報を確定する処理である。
出力処理は、出力I/F106を介して、特図ゲーム処理(1419)及び普図ゲーム処理(1420)にて設定されたパラメータに基づいて、特図表示器120、普図表示器121、普電SOL90、及び大入賞口SOL38を制御するための信号を出力する。
なお、前述したように、入力処理と出力処理とは1回のタイマ割り込みで同時に実行されなくてもよい。
次に、各種処理で送信バッファにセットされた(コマンド)を演出制御装置150及び払出制御装置210等に出力するコマンド送信処理を行う(1413)。具体的には、演出制御装置150に特別図柄変動表示ゲームに係わる演出指令信号(演出コマンド)を出力したり、払出制御装置210に払出指令信号(払出コマンド)を出力したりする。
なお、払出コマンドについては図17で詳細を説明し、演出コマンドについては図18で詳細を説明する。
その後、特別図柄変動表示ゲームの当たりはずれを判定するための当たり乱数カウンタの値を1ずつ加算する乱数更新処理1を行う(1414)。なお、この乱数更新処理1では、特別図柄変動表示ゲームの停止図柄を決定する当たり図柄乱数カウンタの値、普通図柄変動表示ゲームの当たりはずれを判定するための普図当たり乱数にも1ずつ加算する。
次に、乱数の初期値を更新し、乱数の時間的な規則性を崩すための初期値乱数更新処理を実行する(1415)。1415の初期値乱数更新処理は、図11に示す初期値乱数更新処理(1020)と同じなので、説明を省略する。
そして、特別図柄変動表示ゲームに関連した飾り特別図柄変動表示ゲームにおける変動表示パターンを決定する乱数を更新するための変動表示パターン乱数カウンタの値を1ずつ加算する乱数更新処理2を行う(1416)。
次に、各入賞口に遊技球が入賞していないかを監視するために、入賞口監視処理を行う(1417)。具体的には、特図始動SW34A、普図始動SW31A、カウントSW36A、入賞口SW32A〜32N、から信号の入力があるか否か(遊技球の検出を示す信号が入力されているか否か)を監視する。このとき、特図始動SW34Aによる遊技球の検出があれば、特図乱数カウンタ値(特別図柄変動表示ゲームの結果態様に関する乱数)が特図始動入賞記憶領域に記憶され、普図始動SW31Aによる遊技球の検出があれば、普図乱数カウンタ値(普通図柄変動表示ゲームの結果態様に関する乱数)が普図始動入賞記憶領域に記憶される。
その後、排出球の球詰まりや、各種スイッチ、センサ等の異常などを監視するエラー監視処理を行う(1418)。
その後、特別図柄変動表示ゲームに関する処理を行う特図ゲーム処理(1419)、普通図柄変動表示ゲームに関する処理を行う普図ゲーム処理(1420)を行う。
特図ゲーム処理(1419)は、特図始動SW34Aで検出された始動入賞口34への遊技球の入賞に基づいて抽出され、特別図柄始動入賞記憶に記憶された特別図柄乱数カウンタ値(1417の処理で抽出・記憶された特別図柄変動表示ゲームの結果に関する乱数)が当たりか否か判定し、特図表示器120で特別図柄変動表示ゲームを実行する。なお、特図始動入賞記憶には、直ちに前記変動表示ゲームを実行することができない状態で始動入賞口34へ遊技球が入賞した場合に、抽出された乱数が始動入賞記憶として記憶される。
また、特図表示器120の表示に対応する識別情報の変動表示のための処理を行う。抽出された乱数が所定の値であれば、特別図柄に関する当たり状態となり、識別情報の変動表示が当たり図柄で停止する。また、当たり状態になると、特別変動入賞装置36に遊技球を受け入れやすい開状態になる。
普図ゲーム処理(1420)は、普図始動SW31Aで検出された普通図柄始動ゲート31への遊技球の通過に基づいて抽出され、普通図柄始動入賞記憶に記憶された普通図柄乱数カウンタ値(1417の処理で抽出・記憶された普通図柄変動表示ゲームの結果に関する乱数)が当たりか否かを判定し、普図表示器121で普通図柄の変動表示ゲームを実行する。普図乱数カウンタ値が所定の値であれば、普図に関する当たり状態となり、普通図柄の変動表示が当たり状態で停止するためのパラメータを設定する。
次に、遊技制御装置100は、遊技機1に設けられ、遊技に関する各種情報を表示するセグメントLED(特図表示器120及び普図表示器121)に出力する信号を編集する処理を行う(1421)。具体的には、特別図柄変動表示ゲームが開始されると、今回開始した特別図柄変動表示ゲームの実行回数を減じた特別図柄入賞記憶数を特図表示器120の特図記憶表示部に表示するためのパラメータを編集する。同様に、普通図柄の変動表示ゲームが開始されると、今回開始した普通図柄変動表示ゲームの実行回数を減じた普通図柄入賞記憶数を普図表示器121の普図記憶表示器に表示するためのパラメータを編集する。
その後、検査装置接続端子107を介して接続される管理用コンピュータに遊技機1の状態を出力するための外部情報を編集する外部情報編集処理を行う(1422)。外部情報には、図柄が確定したか、当たりであるか、確率変動中であるか、変動時間短縮中であるか、変動表示ゲームのスタート等、変動表示ゲームの進行状態に関連する情報が含まれる。また、エラーが発生したことを示すエラー信号も含まれる。
次に、タイマ割り込み処理の終了を宣言する(1423)。
その後、一時退避していたレジスタを復帰する復帰処理(1424)及び禁止設定されていた割り込みの許可設定をする処理を行う(1425)。そして、タイマ割り込み処理を終了し、遊技制御装置メイン処理(図10及び図11)に戻る。そして、次のタイマ割り込みが発生するまで初期値乱数更新処理等(図11のステップ1020〜1022の処理)を繰り返す。
図15は、本発明の実施形態の電源投入時の遊技制御装置100、払出制御装置210、及び演出制御装置150が行う処理、並びに、遊技制御装置100に備わる通信ポート670、680の状態のタイミングチャートである。
リセット信号が、払出制御通信ポート680及び演出制御通信ポート670に伝達されると、図9に示すステップ902の処理により、払出制御通信ポート680及び演出制御通信ポート670の各々に備えられたQ0〜Q7端子の電圧レベルをすべてローレベルに設定することで、払出制御通信ポート680及び演出制御通信ポート670を不定状態(1501)から初期状態(1502)にする。
この払出制御通信ポート680及び演出制御通信ポート670の初期状態は、遊技制御装置100が図10に示すステップ1011の処理で初期化指令を送信するために、初期化指令が払出制御通信ポート680及び演出制御通信ポート670に設定されるまで(1503)継続する。
一方、遊技制御装置100のセキュリティ回路630にリセット信号が伝達されると、図9に示すステップ904の処理で自己診断処理を実行し、ステップ905の処理でセキュリティチェック処理を実行する(1504)。セキュリティチェック処理の実行後にCPU102が起動し、CPU102によって遊技制御装置メイン処理(図10及び図11)が実行される。
CPU102は、ディレイ処理の実行(1506)前に1回目のRAMクリア信号の取り込み(1505)と、ディレイ処理の実行後に2回目のRAMクリア信号の取り込み(1507)と、を行う。言い換えると、1回目のRAMクリア信号取り込み(1505)と2回目のRAMクリア信号取り込み(1507)とは、ディレイ処理(1506)を挟んで実行される。
このように、1505及び1507の各時点で実行されるRAMクリア信号取り込みの間に、ディレイ処理を実行するので、ディレイ処理の間に、1回目のRAMクリア信号取り込みで取り込んだチャタリング除去等を行うことができる。したがって、ディレイ処理(タイマ計時)の期間を、操作信号のチャタリング除去のための時間として活用できるので、遊技制御装置100の起動時の処理を効率化することができる。
ディレイ処理(1506)で処理を待機させた後に、図10に示すステップ1016及び1010の処理でRAM104の初期化処理を行い(1508)、ステップ1011の処理で初期化指令を送信してから、通常の遊技制御を行う(1509)。
なお、通常の遊技制御を実行すると、遊技状態に応じて、払出制御指令を払出制御装置210に送信するために、払出制御指令が払出制御通信ポート680に設定される(1510)。また、通常の遊技制御の実行中には、遊技状態に応じて、演出制御指令を演出制御装置150に送信するために、演出制御指令が演出制御通信ポート670に設定される(1511)。
一方で、払出制御装置210のセキュリティ回路にリセット信号が伝達されると、払出制御装置210のセキュリティ回路は、図9に示すステップ914の処理で自己診断処理を実行し、ステップ915の処理でセキュリティチェック処理を実行する(1512)。セキュリティチェック処理の実行後にCPU212が起動し、CPU212によって、図9のステップ916の処理で電源投入時の初期化処理を実行する(1513)。払出制御装置210の初期化処理が実行されると、払出制御装置210の受信用ポートの状態を、遊技制御装置100からの指令を受信可能な状態にする(1514)。
また、演出制御装置150にリセット信号が伝達されると、演出制御装置150は、図9のステップ923の処理で電源投入時の初期化処理を実行する(1515)。演出制御装置150の初期化処理が実行されると、演出制御装置150の受信用ポートの状態を、遊技制御装置100からの指令を受信可能な状態にする(1516)。
遊技制御装置100は、ディレイ処理を実行することで、RAM104の初期化処理の実行開始のタイミングを遅延させている。言い換えると、ディレイ処理によって、演出制御装置150や払出制御装置210へ初期化指令を送信するタイミングを遅延させている。
このため、ディレイ処理によって、払出制御通信ポート680及び演出制御通信ポート670が初期状態を維持する時間を十分に確保し、その間に、払出制御装置210及び演出制御装置150は、初期化処理を実行し、自身の受信用ポートを遊技制御装置100からの指令を受信可能な状態にすることができる。
したがって、ディレイ処理を設けることで、図15のように、リセット信号が、遊技制御装置100、払出制御装置210及び演出制御装置150に同時に伝達される構成の遊技機であっても、ハードウェア等で構成した遅延回路を設けることなく、各制御装置が起動を開始するタイミングを適切に設定することができる。
よって、図15のように、まず、払出制御通信ポート680及び演出制御通信ポート670が初期状態に維持され、その状態で、払出制御装置210及び演出制御装置150の受信用ポートが指令受信可能状態になり、次いで、払出制御装置210及び演出制御装置150に初期化指令を送信させることを確実に実行できるようになる。
もし仮に、遊技機1への電源投入直後において、遊技制御装置100の払出制御通信ポート680及び演出制御通信ポート670が初期状態に維持される以前に、払出制御装置210若しくは演出制御装置150の受信用ポートが指令受信可能状態になると、払出制御通信ポート680及び演出制御通信ポート670から出力される信号レベルが不安定であるから、払出制御装置210若しくは演出制御装置150にてこの不安定な信号レベルの情報を、正規な信号であると誤って受信する恐れがあり、誤作動を引き起こす可能性がある。
また、払出制御装置210若しくは演出制御装置150の受信用ポートが指令受信可能状態になる前に、遊技制御装置100から、払出制御装置210若しくは演出制御装置150へ初期化指令を送信してしまうと、払出制御装置210や演出制御装置150で初期化指令を受信できなくなり、誤作動を引き起こす可能性がある。
特に、本実施形態の遊技機のように、遊技制御装置100から払出制御装置210へ単方向で指令を送信する構成や、遊技制御装置100から演出制御装置150へ単方向で指令を送信する構成の場合には、指令された情報が正しく送信されているかを確認する術がないことから、このような構成がとても効果的である。
また、図10及び図15では、RAMクリア信号の取り込みが2回である例を示したが、複数回であればよい。この複数回の間にディレイ処理を実行することによって、ディレイ処理実行直前のRAMクリア信号取り込みのチャタリング除去等にかかる時間をディレイ処理による遅延時間と重複させることができるので、処理が効率化する。
図16は、遊技制御装置100から、演出制御装置150及び払出制御装置210へ、指令を送信する場合の手順を説明するためのフローチャートである。
本実施の形態では、遊技制御装置100から演出制御装置150及び払出制御装置210へ、初期化指令信号を送信する場合と、遊技制御装置100から演出制御装置150及び払出制御装置210へ、通常の指令(演出指令信号、払出指令信号)を送信する場合とを比較して説明を行う。
図16の(a)は、初期化指令信号を送信する場合のフローチャートであり、図10のステップ1011の初期化指令通信処理に相当する。図16の(b)は、通常の指令(演出指令信号、払出指令信号)を送信する場合のフローチャートであり、図14のステップ1413のコマンド送信処理に相当する。
まず、図16の(a)では、演出制御装置150へ最初に送信される初期化指令信号を選択し(1601A)、選択した初期化指令信号のモード(MODE)部に対応するデータを、演出制御通信ポート670に出力し、一定時間その出力状態を維持する(1602A)。モード部については後述する。
次に、演出制御通信ポート670のストローブ(STB)信号に相当するビットをオンに設定し、一定時間その出力状態を維持し(1603A)、その後、ストローブ信号に相当する当該ビットをオフに設定して、一定時間その出力状態を維持する(1604A)。
次に、演出制御装置150へ送信される初期化指令信号のアクション(ACTION)部に対応するデータを、演出制御通信ポート670に出力し、一定時間その出力状態を維持する(1605A)。アクション部については後述する。
次に、演出制御通信ポート670のストローブ(STB)信号に相当するビットをオンに設定し、一定時間その出力状態を維持し(1606A)、その後、ストローブ信号に相当する当該ビットをオフに設定して、一定時間その出力状態を維持する(1607A)。次に、一定時間d(詳細は後述)の待機を行い(1608A)、次に送信すべき初期化指令信号が残っていれば(1609A)、ステップ1601Aへ戻って次の初期化指令信号の送信を行うことを繰り返す(1601A〜1609A)。
なお、ステップ1609Aのときに、演出制御装置150へすべての初期化指令信号を送信し終えている場合には、ステップ1601Aに戻って払出制御装置210へ最初に送信する初期化指令信号を選択して、1602A〜1609Aの処理を繰り返す。ただし、払出制御装置210への初期化指令信号は、演出制御通信ポート670ではなく払出制御通信ポート680へ出力し、ストローブ(STB)信号も払出制御通信ポート680のビットを使用することになる。
その後、演出制御通信ポート670に出力ステップ1609Aのときに、払出制御装置210へすべての初期化指令信号を送信し終えると、呼び出し元(図11のステップ1011の初期化指令通信処理の次の処理)に復帰する。
一方、図16の(b)では、演出制御装置150へ演出指令信号を送信するタイミングかを判定し(1601B)、演出指令信号の送信タイミングであれば、送信する演出指令信号のモード(MODE)部に対応するデータを、演出制御通信ポート670に出力し、一定時間その出力状態を維持する(1602B)。
次に、演出制御通信ポート670のストローブ(STB)信号に相当するビットをオンに設定し、一定時間その出力状態を維持し(1603B)、その後、ストローブ信号に相当する当該ビットをオフに設定して、一定時間その出力状態を維持する(1604B)。
次に、演出制御装置150へ送信される初期化指令信号のアクション(ACTION)部に対応するデータを、演出制御通信ポート670に出力し、一定時間その出力状態を維持する(1605B)。
次に、演出制御通信ポート670のストローブ(STB)信号に相当するビットをオンに設定し、一定時間その出力状態を維持し(1606B)、その後、ストローブ信号に相当する当該ビットをオフに設定して、一定時間その出力状態を維持し(1607B)、呼び出し元(図14のステップ1413のコマンド送信処理の次の処理)へ復帰する。
一方、ステップ1601Bにて、演出制御装置150へ演出指令信号を送信するタイミングではないときには、払出制御装置210へ払出指令信号を送信するタイミングであるかを判定し(1608B)、払出指令信号の送信タイミングであれば、払出指令信号を送信する(1609B)。このとき、払出指令信号は、前述の1602B〜1607Bの手順と同一の手順で、払出制御通信ポート680から出力される。
ステップ1601Bにて、払出制御装置210へ払出指令信号を送信するタイミングでない場合、及びステップ1608Bの払出指令送信の処理が終了した場合は、呼び出し元(図14のステップ1413のコマンド送信処理の次の処理)へ復帰する。
図17は、本発明の実施形態の遊技制御装置100から払出制御装置210及び演出制御装置150に送信される指令信号の説明図である。特に、図17(A)は、本発明の実施形態の遊技制御装置100から払出制御装置210及び演出制御装置150に送信される初期化指令信号の説明図であり、図17(B)は、本発明の実施形態の遊技制御装置100から払出制御装置210及び演出制御装置150に送信される払出指令信号及び演出指令信号の説明図である。
まず、図17(A)を用いて初期化指令信号から説明する。これは、前述の図16(a)のフローチャートに従った手順の処理に対応する。
初期化指令信号は、モード(MODE)部とアクション(ACTION)部とからなり、図10に示すステップ1011の処理の初期化指令通信処理で送信される。
図10に示すステップ1011の処理の初期化指令通信処理は、図16(a)で前述したように、モード部及びアクション部を送信する送信処理を、初期化指令信号の送信が完了するまで複数回繰り返すループ処理である。図17(A)では3回送信処理を繰り返すことによって初期化指令信号を送信するものとする。
通信ポート670、680のQ0〜Q6端子は、モード部及びアクション部のデータを送信するために用いられ、Q7端子は、読み取り用のタイミング信号であるストローブ信号を送信するために用いられる。
各回の送信処理では、Q7端子からストローブ信号を所定時間出力し、Q0〜Q6端子からモード部及びアクション部を送信する。受信対象となる払出制御装置210又は演出制御装置150は、Q7端子からストローブ信号が入力されると、Q0〜Q6端子から入力されているモード部又はアクション部を取り込む。
図16(a)で前述したように、初期化指令通信処理では、送信処理を実行した後に、所定時間(d)だけ処理をソフトウェア的に待機させるソフトタイマディレイ処理を実行して、再度送信処理を実行する。
一方、初期化指令信号のすべてのデータを送信した場合には、初期化指令通信処理を抜けて、図10に示す遊技制御装置メイン処理に戻る。
図17(A)では、初期化指令信号を送信するたびに、時間値dのソフトウェアディレイ処理が実行されている。このため、初期化指令信号の送信周期はf1となっており、初期化指令信号のすべてのデータの送信が完了するまでの時間(3回目の送信処理が終了するまでの時間)はTとなっている。
次に、図17(B)を用いて通常時に払出制御装置210又は演出制御装置150に送信される指令信号について説明する。
この通常時の指令信号は、図14に示すステップ1413の処理のコマンド送信処理で送信される。
指令信号のすべてのデータは、1回のタイマ割込によるコマンド送信処理で送信が完了せずに、複数回のタイマ割込によるコマンド送信処理で送信が完了する。言い換えると、指令信号は、複数回のタイマ割込処理にまたがって送信されるものである。図16(B)では、3回のタイマ割込によるコマンド送信処理で指令信号のすべてのデータの送信が完了するものとする。
各回のコマンド送信処理の実行周期(f2)は、タイマ割込の発生周期と同期しており、4ミリ秒周期となる。
また、通常時の指令信号は、初期化指令信号と同じく、モード部及びアクション部からなる。換言すると、通常時の指令信号と初期化指令信号とは、モード部が出力されている時間、アクション部が出力されている時間、及びストローブ信号の出力時間が共通となっており、即ちフォーマットが共通している。
従って、通信ポート670、680のQ0〜Q6端子からモード部及びアクション部のデータを送信し、Q7端子からストローブ信号を出力することも、初期化指令信号の場合と同じである。
図17(A)及び(B)において、初期化指令信号はループ処理のソフトウェアディレイ処理によるディレイ時間(d)を設定する際に、初期化指令信号の送信周期(f1)が、通常時の指令信号の送信周期(f2)よりも短くなるように設定する。
このため、初期化指令信号は通常時の指令信号よりも高速に送信することができ、初期化指令信号のすべてのデータの送信が完了するまでの時間も、一つの通常時の指令信号のすべてのデータの送信が完了するまでの時間よりも短縮できる。
したがって、電源投入時から、払出制御装置210及び演出制御装置150が通常時の指令信号に基づく制御を行うまでの時間を短縮することができる。
図18は、本発明の実施形態の払出制御装置210に送信される信号の説明図である。
払出制御装置210に送信される信号は、初期化指令信号と通常時の指令信号である払出指令信号とがあり、これらの信号は、モード部及びアクション部からなる共通のフォーマットで送信される。
まず、初期化指令信号について説明する。
初期化指令信号は、前半の初期化指令信号と後半の初期化指令信号とからなる。
前半の初期化指令信号は、モード部が「40H」であり、アクション部は「00H〜7FH」のいずれかの値となる。前半の初期化指令信号のアクション部は、払出制御装置210に設定されている認証コードに対応する値(「00H〜7FH」のいずれかの値)となる。この払出制御装置210に設定されている認証コードに対応する値は、例えば、RAM104に設定されているものとする。
この前半の初期化指令信号の出力時期は、遊技制御装置100に電源投入時であり、具体的には、図10に示すステップ1011の処理である。
後半の初期化指令信号は、モード部が「40H」であり、アクション部は「70FH〜00H」のいずれかの値となる。後半の初期化指令信号のアクション部は、前半の初期化信号のアクション部の値の負論理となる値(反転ビット)となる。
この後半の初期化指令信号の出力時期は、前半の初期化指令信号の出力が完了した直後となる。
払出制御装置210は、前半の初期化指令信号を受信すると、受信した初期化指令信号のアクション部の値と自身に設定された認証コードとが一致するかを認証する。
受信した初期化指令信号のアクション部の値と自身に設定された認証コードとが一致しない場合には、払出制御装置210は、通常時の指令信号に基づく制御を禁止する。つまり、払出指令信号に基づく遊技媒体の払い出しを禁止する。
一方、受信した初期化指令信号のアクション部の値と自身に設定された認証コードとが一致する場合には、払出制御装置210は、後半の初期化指令信号を受信し、受信した後半の初期化指令信号のアクション部の値の負論理となる値が、自身に設定された認証コードと一致するかを認証する。
受信した後半の初期化指令信号のアクション部の値の負論理となる値が、自身に設定された認証コードと一致しない場合には、後半の初期化指令信号を正確に受信できていないため、遊技制御装置100と払出制御装置210との間で断線が生じている可能性があることから、払出制御装置210はエラーを報知する。
次に、払出指令信号について説明する。
払出制御装置210によって払い出される遊技媒体の個数に対応して、15個の払出制御指令信号が用意されている。
払出指令信号のモード部は「21H〜2FH」である。なお、このモード部の二桁目は、払出指令信号が払い出しを指令する遊技媒体の個数と一致する。また、払出指令信号のアクション部は「5EH〜50H」となる。このアクション部は、モード部の値の負論理となっている。
例えば、1個の遊技媒体の払い出しを指令する払出指令信号のモード部は「21H」であり、アクション部は「5EH」である。
なお、払出指令信号の出力時期は、一般入賞口32、始動入賞口34、特別変動入賞装置(大入賞口)36に遊技球が入賞したタイミングで出力される。
また、払出制御装置210は、払出指令信号を受信すると、受信した払出指令信号のモード部の負論理となる値が、アクション部の負論理となる値と一致しなければ、受信した払出指令信号に対応する個数の遊技媒体の払い出しを許可しない。
図19は、本発明の実施形態の演出制御装置150に送信される信号の説明図である。
演出制御装置150に送信される信号は、初期化指令信号と通常時の指令信号である演出指令信号とがあり、これらのモード部及びアクション部からなる共通のフォーマットで送信される。
まず、初期化指令信号について説明する。
初期化指令信号には、RAM104のすべての領域が初期化されたか否かを示す電源投入通知信号と、遊技機1のシリーズを特定するためのシリーズ特定信号とがある。また、直前の電源遮断時における遊技機1の遊技状態(低確率状態、高確率状態、入賞抑制状態、入賞促進状態)を通知する信号や、直前の電源遮断時における特別図柄入賞記憶の数を通知する信号も、初期化指令信号に含まれる。
RAM104のすべての領域が初期化されたことを示す電源投入信号のモード部は「10H」であり、アクション部は「01H」である。RAM104のすべての領域が初期化されたこととは、図10に示すステップ1010の処理が実行されたことである。
一方、RAM104のすべての領域が初期化されていないこと、つまり、RAM104の一部の領域が初期化されたことを示す電源投入信号のモード部は「10H」であり、アクション部は「02H」である。RAM104のすべての領域が初期化されていないこと、つまり、RAM104の一部の領域が初期化されたこととは、図10に示すステップ1014の処理が実行されたことである。
したがって、図10に示すステップ1010の処理が実行された場合には、ステップ1011の処理で、モード部が「10H」でアクション部が「01H」である初期化指令信号が送信される。図10に示すステップ1014の処理が実行された場合には、ステップ1011の処理で、モード部が「10H」でアクション部が「02」Hである初期化指令信号が送信される。
演出制御装置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の図示しない飾り始動記憶数表示部に、受信した始動記憶数演出指令信号に対応する始動記憶数を表示する。
これらのシリーズ機特定信号、遊技状態を通知する信号、及び特別図柄入賞記憶の数を通知する信号の出力時期は、電源投入時であり、図10に示すステップ1011の処理で送信される。なお、これらの各信号と電源投入通知信号の出力順序は、何れが先であっても後であってもよい。さらに、電源投入時に、遊技制御装置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」の信号が送信される。
従って、これらの遊技状態を通知する信号、及び特別図柄入賞記憶の数を通知する信号は、演出指令信号としても機能することになる。
本実施形態によれば、遊技制御装置100への電源投入時において、正当性が判定されるRAM104の記憶領域を使用せずにディレイ処理を行うので、通信ポート670、680が初期状態のまま維持されている時間を延長でき、この延長時間期間中に従属制御装置(演出制御装置150、払出制御装置210)が遊技制御装置100からの指令を受信可能になる。
これによって、電源投入直後に通信ポートが初期状態になって所定時間保持され、この間に従属制御装置が指令受信可能状態になるので、従属制御装置が起動したときに、通信ポートが不安定な状態のまま誤ったデータが送信されることを防止できる。また、ソフトウェアを用いて所定時間のディレイ処理を行うことによって、通信ポートが初期状態をなっている状態を所定時間維持するため、ハードウェアを用いる方法と比較すると安価な構成で済む。また、ディレイ処理は正当性判定の記憶領域を用いずに行うので、正当性判定の処理も正確に行うことができる。
また、本実施形態によれば、初期化指令信号を遊技制御装置メイン処理のループにより送信し、通常時の従属制御装置への指令信号をタイマ割込処理で送信するので、初期化指令信号の送信周期を通常時の指令信号の送信周期よりも短くすることができる。
これによって、初期化指令をすべて送信するまでの時間も短縮されるため、電源投入時の遊技機全体の起動の遅延を防止できる。
続いて、本発明の実施の形態の変形例について説明する。なお、本発明の実施の形態と相違する点を中心に説明し、共通する手順については説明を適宜省略する。
図20は、本発明の実施の形態の第1の変形例の遊技制御装置によるメイン処理の前半部の手順を示す図である。なお、後半部の手順は、図11に示した手順と同じである。
図20に示したメイン処理の手順において、図10に示した本発明の実施の形態のメイン処理と比較すると、RAMクリアスイッチ信号を取り込んで記憶する処理(ステップ1006)をディレイ処理を実行した後に実行しないように構成されている点で相違する。第1の変形例では、RAMクリアスイッチの読み込みをディレイ処理よりも前に実行する点に特徴がある。
したがって、RAMクリアスイッチ信号を取り込んで記憶する処理(ステップ1004)をディレイ処理(ステップ1005)よりも前に実行すると、作業者はRAMを初期化する場合に、ディレイ処理の間にRAMクリアスイッチを操作し続ける必要がなくなるため、RAM初期化における作業の効率化を図ることができる。
なお、ステップ1004のRAMクリアスイッチ信号を取り込んで記憶する処理をステップ1005のディレイ処理の後、ステップ1009のRAMクリアスイッチの操作の有無を判定する処理の前に実行するようにしてもよい。このように構成することによって、ディレイ処理の終了後に再びRAMクリアSWを読込みを行なうため、電源投入時にRAMクリアSWを操作し忘れた場合でもディレイ処理中にRAMクリアSWの操作を行なうことが可能となり、確実にRAMを初期化することができる。また、誤ってRAMを初期化せずに遊技機を起動してしまい、RAMを初期化するために再度電源を投入することを避けることができる。
続いて、第2の変形例について説明する。第2の変形例では、RAMクリアスイッチの情報をRAMに記憶する点と、ディレイ処理の前後でRAMクリアSWを読込む点で第1の変形例と相違する。
図21は、本発明の実施の形態の第2の変形例の遊技制御装置によるメイン処理の前半部の手順を示す図である。なお、後半部の手順は、第1の変形例と同様に、図11に示した手順と同じである。
前述のように、第2の変形例は、ディレイ処理(ステップ1005)を実行する前後に、RAMクリアスイッチ信号を取り込んでRAMに記憶する点に特徴がある。以下、図21のフローチャートを参照しながら説明する。
遊技制御装置100は、割込モードを設定すると(1003)、RAMを書き込み可能状態に変更する(2001)。そして、RAMクリアスイッチがONに設定されているか否かを判定する(2002)。
遊技制御装置100は、RAMクリアスイッチがONに設定されている場合には(2002の結果が「Y」)、RAMクリアスイッチ信号を取り込んでRAMに記憶する(2003)。したがって、RAMクリアスイッチが操作された場合にのみ、RAMの記憶内容を更新し、RAMクリアスイッチ操作されていない場合には(2002の結果が「N」)、RAMの記憶内容をそのまま保持する。
その後、遊技制御装置100は、ステップ2001の処理で書き込み可能となっていたRAMを書込禁止状態に変更し(2004)、RAMを使用しないディレイ処理を実行する(1005)。
演出制御装置150の初期化処理は、起動時に圧縮されている画像及び音データの伸張等の初期設定に最低でも数秒を必要とする。そして、初期化処理の実行中には遊技制御装置100からのコマンドを受信できないため、遊技制御装置100では数秒程度のディレイ時間を設定して、遊技制御の開始を遅らせる必要がある。ディレイ時間がこのように長いため、ディレイ処理中に停電が発生した場合には、RAMが初期化されない状態で電源が遮断されてしまうおそれがある。そこで、ディレイ処理が実行されている間にRAMへの書き込みを禁止することによって、停電等によってRAMの内容が不用意に書き換えられてしまうことを防止することができる。
ディレイ処理が終了すると、遊技制御装置100は、再びRAMを書込可能状態に変更する(2005)。そして、RAMクリアスイッチがONに設定されているか否かを判定し(2006)、ONに設定されている場合には(2006の結果が「Y」)、RAMクリアスイッチ信号を取り込んでRAMに記憶する(2007)。
ディレイ処理実行後に再度RAMクリアスイッチの操作を検出することによって、ディレイ処理実行中にRAMクリアスイッチが操作されたことに基づいて、ステップ1009以降の処理でRAMをクリアすることが可能となる。したがって、第2の変形例では、ディレイ処理の前後の少なくとも一方でRAMクリアスイッチ信号を検出した場合にRAMを初期化することになる。
以上のように構成することによって、RAMクリアSWが操作されディレイ処理中に停電が発生した場合でも、停電復帰時にRAMに記憶されたRAMクリアSWの操作状態に基づいてRAM初期化を行なうので、ディレイ処理中に停電が発生してRAM初期化がされないといった事態を防止することができる。
さらに、ディレイ処理の経過後に再びRAMクリアSWを読込みを行なうため、電源投入時にRAMクリアSWを操作し忘れた場合でもディレイ処理中にRAMクリアSWを操作することが可能となり、RAMを確実に初期化することができる。
なお、第1の変形例のように、ディレイ処理中のRAMクリアSWの操作によってRAMクリアを行わないようにしてもよい。具体的には、ステップ2006及びステップ2007の処理を実行しないようにすればよい。
なお、今回開示した実施の形態は、全ての点で例示であって制限的なものではない。また、本発明の範囲は前述した発明の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び内容の範囲での全ての変更が含まれることが意図される。