JP2015147062A - 遊技機 - Google Patents
遊技機 Download PDFInfo
- Publication number
- JP2015147062A JP2015147062A JP2015066563A JP2015066563A JP2015147062A JP 2015147062 A JP2015147062 A JP 2015147062A JP 2015066563 A JP2015066563 A JP 2015066563A JP 2015066563 A JP2015066563 A JP 2015066563A JP 2015147062 A JP2015147062 A JP 2015147062A
- Authority
- JP
- Japan
- Prior art keywords
- game
- register
- address
- control device
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Pinball Game Machines (AREA)
Abstract
Description
の主制御基板において、CPUからIOにアクセスするためのイン/アウトコマンドが出
力された時、エリア区分判定部が、アドレス値に応じて、アクセス先をIO、RAMのい
ずれかに切り換え、その結果に応じてIO識別信号又はチップセレクタ信号をアクティブ
にする遊技機が知られている(例えば、特許文献1)。
似RAM領域)にアクセス可能となり、この時、RAMの先頭アドレスを含む連続領域に
ワーク及び疑似RAM領域を割り当てるとともに、終端アドレスを開始点としてアドレス
が小さくなる側に順次データが蓄積されるようにスタックを割り当てるようになっている
。
プログラム実行中に所定のサブモジュールを呼び出した際に、呼び出し元のモジュールの
アドレスの値が、戻りアドレス値として格納される。そして、呼び出し先のサブモジュー
ルの実行後に、スタックに格納してあった戻りアドレスの値をプログラムカウンタに戻す
ことで、CPUの処理が呼び出し元のモジュールに復帰するようになっている。
T命令を実行すると、呼び出し元のモジュールの戻りアドレスの値をスタックに格納して
、呼び出し先のサブモジュールに移行する。その後、呼び出し先のサブモジュールの終了
時にRET命令を実行することで、スタックに格納してあった戻りアドレスの値をプログ
ラムカウンタに戻し、呼び出し元のモジュールに復帰する。
3]に示すように、タイマ割込等の割込が発生すると、呼び出し元のモジュールの戻りア
ドレスの値をスタックに格納して、呼び出し先のサブモジュール(タイマ割込みの処理モ
ジュール)に移行する。その後、呼び出し先のサブモジュールの終了時にRETI命令を
実行することで、スタックに格納してあった戻りアドレスの値をプログラムカウンタに戻
し、呼び出し元のモジュールに復帰する。
せたほうが、設計の自由度が増すために都合が良い。そのため、CPUの起動時にはスタ
ックポインタの初期値は不定な値にしておき、CPUがプログラムの実行を開始した後に
、ソフトウェアによりスタックポインタの初期値を設定する構成が好ましい。従って、こ
の特許文献1〜3の何れの遊技機においても、CPUの起動時のスタックポインタの初期
値は、不定な値となっているものと考えられる。
が発生すると、不定な値で示された領域をスタック領域と見なしたままで、CPUが処理
を行ってしまうおそれがあった。この場合でも、CPUは、割込み処理ルーチンに処理を
移してしまうことになり、割込み処理ルーチンの最後にRETIなどの命令を実行しても
、その時点でスタックポインタが指し示している領域には戻りアドレスの値が格納されて
いる保障がないため、CPUが暴走するおそれもあった。その結果、想定外の大当り等が
発生するなどして正規な遊技を行えないおそれがあった。
するための設計の自由度よりも、CPUが暴走しないように構成することを重視したほう
がよいという課題があった。
込信号が発生した場合であっても呼出元の処理に復帰可能とすることを目的とする。
ることにより補助遊技が実行され、該補助遊技が特別な結果となる場合に遊技者に特典を
付与する特別遊技状態を発生させる遊技機において、前記特別遊技状態を発生させる制御
を行う遊技制御装置を備えるとともに、前記遊技制御装置には、遊技制御プログラムを記
憶する遊技制御プログラム記憶手段と、前記遊技制御プログラムにより所要の演算処理を
行う演算処理手段と、前記演算処理を行う際にデータが記憶されるレジスタと、前記演算
処理手段によって更新される情報が記憶される更新情報記憶手段と、を備え、前記更新情
報記憶手段にはスタック領域が設定され、前記レジスタには、前記スタック領域のアドレ
スを指定するためのスタックポインタが含まれるとともに、前記演算処理手段は、所定の
起動信号が発生すると、前記遊技制御プログラムのリセットアドレスに設定された命令を
実行し、前記起動信号が発生した際に、前記演算処理手段が前記遊技制御プログラムのリ
セットアドレスに設定された命令を実行するよりも前に、前記スタックポインタに固有の
アドレス値を設定する固有値設定手段を備えた。
ットマシンなどの回胴式遊技機であってもよいし、スマートボールなどであってもよい。
これらのパチンコ機以外の遊技機であっても、前述した課題はパチンコ機の場合と同様に
発生しうる課題である。
る場合である。また、スロットマシンであれば、例えば、遊技媒体のベットをした後、遊
技者によってスタートレバーが操作される場合である。
た複数の変動表示領域において、各変動表示領域に識別情報などが表示され、各識別図柄
が変動表示する変動表示ゲームである。変動表示ゲームにおける「特別な結果」とは、例
えば、変動表示する識別図柄がすべて同じ図柄で停止した場合である。
ログラムが含まれる。「遊技制御プログラム」は、「遊技制御プログラム記憶手段」に記
憶され、「演算処理手段」によって実行される。「遊技制御プログラム記憶手段」は、読
み書き可能(揮発性)であってもよいし、読み出し専用(不揮発性)であってもよい。「
演算処理手段」は、いわゆるCPU(若しくはCPUに含まれる命令解釈実行回路)であ
る。
技制御プログラム記憶手段」や「更新情報記憶手段」に格納されたデータを「演算処理手
段」がアクセスする場合には「レジスタ」を介するようにしてもよいし、直接アクセス可
能としてもよい。
手段)に出力される信号である。遊技制御装置は、「所定の起動信号」を受信すると、遊
技制御プログラムを実行する前に各構成の初期化処理等を実行する。
して割込処理を実行する場合に、元の処理に復帰するために必要なデータを一時的に格納
する領域である。呼び出された順序が新しい順にスタック領域に格納されたデータを取り
出してレジスタや更新情報記憶手段に戻す。「スタックポインタ」は、次に復帰する処理
に関連するデータを格納する領域を示すポインタである。
値として固有のアドレス値を設定する。「固定値設定手段」は、例えば、初期化回路など
に含まれ、演算処理手段によらずに処理を実行可能なハードウェアによって実装される。
、スタックポインタの初期値が設定されるため、遊技制御プログラムの実行が開始された
直後にノイズ等が原因で割込処理が発生しても、呼出元のルーチンの戻りアドレスをスタ
ック領域に確実に格納することができる。したがって、割込処理から呼出元の処理に復帰
する際にも問題なく処理を継続することができる。
(遊技機)に向かって見た方向を指すものとする。
図1は、本発明の第1の実施の形態の遊技装置6の構成を説明する図である。
に遊技を行い、遊技媒体を払出可能な遊技機1を備える。
られる。遊技盤5(図3参照)は前面枠3の表側に形成された収納部(図示省略)に収装
される。また、前面枠3には、遊技盤5の前面を覆うカバーガラス(透明部材)を備えた
ガラス枠18が取り付けられている。
いる。この装飾部材9の内部にはランプやLED等からなる装飾装置が備えられている。
この装飾装置を所定の発光態様によって発光させることによって、装飾部材9が所定の発
光態様で発光する。
いる。また、ガラス枠18の上方には照明ユニット10が備えられている。照明ユニット
10の内部には、装飾装置が備えられている。
通知するためのエラー報知LED29が備えられている。
21が備えられている。さらに、固定パネル22には灰皿15、下皿23及び打球発射装
置の操作部24等が備えられている。下皿23には、下皿23に貯まった遊技球を排出す
るための下皿球抜き機構16が備えられる。前面枠3下部右側には、ガラス枠18を施錠
するための鍵25が備えられている。
ら供給される遊技球を発射する。
ッチ40及び操作スイッチ41が備えられている。
ける変動表示ゲームの演出内容を選択することができる。また、遊技者が操作スイッチ4
1を操作することによって、表示装置8における変動表示ゲームに、遊技者の操作を介入
させた演出を行うことができる。
び、カードユニット70からプリペイドカードを排出させるために操作される排出ボタン
27が設けられている。これらのボタン26、27の間には、プリペイドカードの残高を
表示する残高表示部28が設けられる。
能なカード挿入口71が設けられる。
ードの所有者(遊技者)の会員情報、及び残高等が記憶されている。会員情報には、カー
ドの所有者の住所、氏名、年齢、及び職業等が含まれる。
示しないカードリーダ・ライタによって、カードに記憶された情報が読み出される。そし
て、当該カードに記憶された残高が、遊技機1の残高表示部28及びカードユニット70
の中央付近に設けられた残高表示部72に表示される。
口73に挿入された紙幣の有価価値は、カードに残高として記憶される。
ユニット70の動作に対応した色で点灯する。
の実施の形態の遊技機1の背面図である。
有する枠状の裏機構盤310が取り付けられる。
遊技球を貯留すると共に、貯留した遊技球を流下させる球貯留ユニット320が配設され
る。
技球を、遊技機前面に配設された上皿21及び下皿23に払い出す球排出ユニット330
が配設される。
御装置100から送信される演出制御指令に基づいて変動表示ゲームの演出を制御する演
出制御装置150とが配設される。
配設される。
出ユニット330の動作を制御し、遊技者に賞球を付与する払出制御装置(付与制御装置
)210と、電源装置160とが配設される。
び払出制御装置210に発生したエラーの種類を数字で表示するエラーナンバー表示器2
22が配設される。
接続するためのカードユニット接続端子340が配設される。
の形態の遊技盤5の正面図である。
る。遊技領域51は、遊技盤5の四方に各々設けられた樹脂製のサイドケース52及びガ
イドレール55によって構成される。遊技領域51の右下側のサイドケース52は、前面
の中央部が黒色透明の証紙プレート53で覆われている。
れる。表示装置8はセンターケース300に設けられた凹部に、センターケース300の
前面より奥まった位置に取り付けられている。すなわち、センターケース300は表示装
置8の表示領域の周囲を囲い、表示装置8の表示領域から突出して設けられている。
器121を一体化した、図柄表示ユニット(一括表示器)45が備えられる。
構成されている。表示画面の画像を表示可能な領域(表示領域)には、複数の変動表示領
域が設けられており、各変動表示領域に識別情報(特別図柄)や特図(特別図柄)変動表
示ゲームを演出するキャラクタが表示される。表示画面の変動表示領域には、識別情報と
して割り当てられた三つの特別図柄が変動表示(可変表示)して特図変動表示ゲームが行
われる。その他、表示画面には遊技の進行に基づく画像(例えば、大当り表示、ファンフ
ァーレ表示、エンディング表示等)が表示される。
ース300の左下側には、三つの一般入賞口32が備えられ、センターケース300の右
下側には、一つの一般入賞口32が備えられている。
に配設され、上部に逆「ハ」の字状に開いて遊技球が流入し易い状態に変換する一対の開
閉部材を含む普通変動入賞装置33を備える第2始動入賞口34とが配置される。そして
、遊技球が第1始動入賞口37又は第2始動入賞口34に入賞した場合には、補助遊技と
して特図変動表示ゲームが実行される。すなわち、第1始動入賞口37又は第2始動入賞
口34に遊技球が入賞することが特図変動表示ゲームを開始するための始動条件となって
おり、第1始動入賞口37及び第2始動入賞口34が当該始動条件を発生させる変動始動
入賞装置をなしている。なお、第1始動入賞口37に遊技球が入賞したことによって実行
される特図変動表示ゲームを第1特図変動表示ゲームとし、第2始動入賞口34に遊技球
が入賞したことによって実行される特図変動表示ゲームを第2特図変動表示ゲームとする
。
果(特図変動表示ゲームの結果)によって遊技球を受け入れない状態と受け入れ易い状態
とに変換可能な特別変動入賞装置(大入賞口)36が配設される。
打ち出されることによって遊技が行われる。打ち出された遊技球は、遊技領域51内の各
所に配置された釘や風車等の方向転換部材によって転動方向を変えながら遊技領域51を
流下する。そして、普通図柄始動ゲート31、一般入賞口32、第1始動入賞口37、第
2始動入賞口34、又は特別変動入賞装置36に入賞するか、遊技領域51の最下部に設
けられたアウト口39から排出される。
が入賞しやすい状態(入賞容易状態)と遊技球が入賞しにくい状態(非入賞容易状態)と
がある。
賞しにくい状態となる。普通図柄始動ゲート31を遊技球が通過することによって、普図
変動表示ゲームが実行され、普図変動表示ゲームの結果が当りとなると、普通変動入賞装
置33が開状態に変換され、第2始動入賞口34は遊技球が入賞し易い状態となる。
チ)32A〜32N(図4参照)によって検出される。
照)によって検出される。この遊技球の通過タイミングによって抽出された各種乱数は、
遊技制御装置100内の特図1始動記憶領域に特別図柄入賞記憶として所定回数(例えば
、最大で4回分)を限度に記憶される。
図4参照)によって検出される。この遊技球の通過タイミングによって抽出された各種乱
数は、遊技制御装置100内の特図2始動記憶領域に特別図柄入賞記憶として所定回数(
例えば、最大で4回分)を限度に記憶される。
形成する特図表示器120(図4参照)にて、第1特図動表示ゲーム及び第2特図動表示
ゲームを行う。
図柄表示部、第1特図入賞記憶数表示部、第2特図図柄表示部、及び第2特図入賞記憶数
表示部を有する。
特図入賞記憶数表示部に特別図柄入賞記憶の記憶数が表示され、第1特図図柄表示部にて
第1特図変動表示ゲームが実行される。同様に、遊技球が第2始動入賞口34に入賞して
特別図柄入賞記憶が発生すると、第2特図入賞記憶数表示部に特別図柄入賞記憶の記憶数
が表示され、第2特図図柄表示部にて第2特図変動表示ゲームが実行される。
入賞検出時の当り乱数値が当り値であるとき)には、第1特図変動表示ゲームの結果とし
て表示図柄により特別結果態様が導出される。具体的には、第1図柄表示部にて、対応す
る特定の図柄(例えば、「1」〜「9」までのいずれかの数字等)が停止表示される。な
お、第1特図変動表示ゲームがはずれの場合には、第1特図図柄表示部にて、はずれに対
応する図柄(例えば「0」等)が停止表示される。
、入賞検出時の当り乱数値が当り値であるとき)には、第2特図変動表示ゲームの結果と
して表示図柄により特別結果態様が導出される。具体的には、第2特図図柄表示部にて、
対応する特定の図柄(例えば、「1」〜「9」までのいずれかの数字等)が停止表示され
る。なお、第2特図変動表示ゲームがはずれの場合には、第2特図図柄表示部にて、はず
れに対応する図柄(例えば「0」等)が停止表示される。
は、第2特図変動表示ゲームの結果として特別結果態様が導出された場合には、大当り状
態(特別遊技状態)が発生する。このとき、特別変動入賞装置36は、大入賞口ソレノイ
ド38(図4参照)への通電によって、所定の時間(例えば、30秒)だけ、遊技球を受
け入れない閉状態から遊技球を受け入れやすい開状態に変換される。すなわち、特別変動
入賞装置36が所定の時間又は所定数の遊技球が入賞するまで大きく開くので、この間遊
技者は多くの遊技球を獲得することができるという特典が付与される。
第1特図変動表示ゲームと第2特図変動表示ゲームに同期して、飾り特図変動表示ゲーム
が実行される。このとき、前述した数字等で構成される特別図柄(識別情報)が左(第一
特別図柄)、右(第二特別図柄)、中(第三特別図柄)の順に変動表示を開始して、飾り
特図変動表示ゲームに関する画像が表示される。
合は、表示装置8でも特定態様の図柄が導出されて停止表示する。具体的には、表示装置
8では、三つの特別図柄が揃った状態(大当り図柄)で停止する。第1特図変動表示ゲー
ム及び第2特図変動表示ゲームが特別結果態様を導出しない場合は、表示装置8でも特定
態様の図柄を停止表示しないように制御される。
び第2特図変動表示ゲームと、表示装置8で実行される飾り特図変動表示ゲームのいずれ
をも特図変動表示ゲームとして扱うものとする。
照)によって検出される。
参照)で検出される。この遊技球の通過タイミングによって抽出された普図乱数は、遊技
制御装置100内の普図始動記憶領域に普通図柄入賞記憶として所定回数(例えば、最大
で4回分)を限度に記憶される。遊技制御装置100は、この普通図柄入賞記憶に基づき
、図柄表示ユニット45を形成する普図表示器121(図4参照)にて、普図変動表示ゲ
ームを行う。
表示部と普図入賞記憶数表示部を有する。前述したように、遊技球が普通図柄始動ゲート
31を通過して普通図柄入賞記憶が発生すると、この普図図柄表示部にて普図変動表示ゲ
ームが実行される。また、普図入賞記憶数表示部には、普通図柄入賞記憶の記憶数が表示
される。
普図入賞記憶数表示部に普通図柄入賞記憶の記憶数が表示され、普図図柄表示部にて普図
変動表示ゲームが実行される。
、通過検出時の当り乱数値が当り値であるとき)には、普図図柄表示部に表示される普通
図柄が当り状態で停止し、普図変動表示ゲームが当りとなる。このとき、普通変動入賞装
置33は、普電ソレノイド90(図4参照)への通電により、第2始動入賞口34への入
口が所定の時間(例えば、0.5秒〜2.9秒の範囲内で予め定められた時間)だけ開放
するように変換され、遊技球の第2始動入賞口34への入賞が許容される。これによって
、遊技球が第2始動入賞口34へ入賞しやすくなり、第2特図変動表示ゲームの始動が容
易となる。
別変動入賞装置36に遊技球が入賞すると、入賞した入賞口の種類に応じた数の賞球が払
出制御装置210によって制御される払出ユニットから、前面枠3の上皿21又は下皿2
3に排出される。
は、特図変動表示ゲームの結果として特図表示器120に停止表示される図柄に対応して
)、以後の特図変動表示ゲームの当り確率が変化する場合があり、遊技状態は、常時、特
図変動表示ゲームが低確率で大当りとなる低確率状態か、当該低確率状態よりも特図変動
表示ゲームが大当りとなる確率の高い高確率状態のいずれかに設定されている。なお、低
確率状態を通常状態や非確変遊技状態と称したり、高確率状態を確変遊技状態(確変状態
)と称したりする場合もある。
して、普通変動入賞装置33の開放頻度が変化する場合があり、遊技状態は、常時、普通
変動入賞装置33の開放頻度が低い入賞抑制状態か、当該入賞抑制状態よりも普通変動入
賞装置33の開放頻度が高い入賞促進状態のいずれかに設定されている。なお、入賞抑制
状態を通常状態や非時短遊技状態と称したり、入賞促進状態を時短遊技状態(時短状態)
と称したりする場合もある。
実行時間より短くなるように制御される(例えば、入賞抑制状態で10秒に対し、入賞促
進状態で1秒)。これによって、単位時間当りの普通変動入賞装置33の開放回数が実質
的に多くなるように制御される。
装置33が開放される場合に、開放時間が通常遊技状態の開放時間より長くなるように制
御されてもよい(例えば、入賞抑制状態で0.5秒に対し、入賞促進状態で2.9秒)。
また、入賞促進状態においては、普通図柄変動表示ゲームの1回の当り結果に対して、普
通変動入賞装置33が1回ではなく、複数回(例えば、2回)開放してもよい。さらに、
入賞促進状態においては、普図変動表示ゲームの結果が当りとなる確率が入賞抑制状態よ
り高くなるように制御してもよい。すなわち、入賞促進状態では、入賞抑制状態よりも普
通変動入賞装置33の開放頻度が増加し、普通変動入賞装置33に遊技球が入賞しやすく
なり、特図変動表示ゲームの始動が容易となる特典が付与される。
/F(Interface)105、出力I/F(Interface)106及び検査
装置接続端子107を備える。
)103及びRAM(Random Access Memory)104を備える。
M103は、遊技制御のための不変の情報(プログラム、データ等)を記憶する。RAM
104は、遊技制御時にワークエリアとして利用される。
ることが可能な検査装置接続端子107が設けられている。検査装置接続端子107に図
示しない検査装置を接続すると、検査装置は遊技機1を識別することができる。
2特図始動SW34A、普図始動SW31A、カウントSW36A、及び入賞口SW32
A〜入賞口SW32N、オーバーフローSW(スイッチ)109、球切れSW(スイッチ
)110、及び枠開放SW(スイッチ)111)からの検出信号を受けて、大当り抽選等
、種々の処理を行う。
を検出する。球切れスイッチ110は、球貯留ユニット320に配設され、球貯留ユニッ
ト320に貯留される遊技球が所定数以下になることを検出する。枠開放スイッチ111
は、前面枠3の開放を検出する。
20、普電SOL(ソレノイド)90、大入賞口SOL(ソレノイド)38、払出制御装
置210及び演出制御装置150に指令信号を送信し、遊技を統括的に制御する。
120は、前述したように、第1特図変動表示ゲームと第2特図変動表示ゲームとが表示
される。
賞口34に備えられた開閉部材で構成された普通変動入賞装置33を所定の時間だけ開放
させる。
受け入れない閉状態(遊技者に不利な状態)から遊技球を受け入れやすい開状態(遊技者
に有利な状態)にする。
、遊技店に設置された情報収集端末や遊技場内部管理装置(図示省略)に出力する。
ンド、確率情報コマンド、及びエラー指定コマンド等を、演出制御指令信号として、演出
制御装置150へ送信する。
に基づいて、エラー報知LED29、スピーカ30、発光により遊技演出を行う装飾部材
9(図1)及び表示装置8を制御する。
バ155、音回路156、及びVDP157を備える。
不変の情報(プログラム、データ等)を記憶している。RAM154は、演出制御時にワ
ークエリアとして利用される。
材9を制御する。音回路156は、CPU152からの指令により、効果音を生成してス
ピーカ30から出力する。VDP157は、CPU152からの指令により、画像データ
を生成して表示装置8へ出力する。
の払出モータ220を駆動させ、賞球を払い出させるための制御を行う。また、払出制御
装置210は、カードユニット70からの貸球要求信号に基づいて、遊技制御装置100
が送信する排出指令信号に基づいて、払出装置の払出モータ220を駆動させ、貸球を払
い出させるための制御を行う。
/F(Interface)215、入出力I/F(Interface)216及び検
査装置接続端子217を備える。
OM213は、払出制御のための不変の情報(プログラム、データ等)を記憶している。
RAM214は、払出制御時にワークエリアとして利用される。
ースイッチ109、球切れスイッチ110、エラー解除スイッチ223、税率設定スイッ
チ226、及び貸出料金設定スイッチ227からの入力を受ける。
の店員等が発生したエラーの原因を解消した際に、遊技店の店員等によって操作され、エ
ラー状態を解除するためのスイッチである。
するスイッチである。貸出料金設定スイッチ227は、貸し出される遊技球の有価価値を
設定するためのスイッチである。
置221、エラーナンバー表示器222、税率表示器224及び貸出料金表示器225に
指令信号を送信する。また、CPU212は、入出力I/F216を介して遊技制御装置
100から送信された各種信号を受信する。
る。具体的には、払出モータ220は、1個の遊技球を貯留可能な凹部を所定個数有する
スプロケットを回転させることによって、遊技球を払い出す。
ーナンバー表示器222は、払出制御装置210の裏面側に配設され、払出制御装置21
0で発生したエラーの種類を特定可能に表示する。
6によって設定された間接税の税率を表示する。貸出料金表示器225は、払出制御装置
210の裏面側に配設され、貸出料金設定スイッチ227によって設定された貸し出され
る遊技球の有価価値を表示する。
遊技制御装置100、演出制御装置150、及び払出制御装置210は、電源装置160
に接続される。
50、及び払出制御装置210に電源を供給する。なお、演出制御装置150には必ずし
も電源を供給しなくてもよく、停電復帰後、遊技制御装置100からコマンドを送信する
ようにしてもよい。
御装置210に備わるRAM214に記憶されている情報を初期化するスイッチである。
ペイドカード又は会員カード等のカードに記憶されている有価価値から貸し出される遊技
球分の有価価値を減算して、減算した有価価値の値を遊技機1の残高表示部28に表示す
る。また、遊技機1に備わる排出ボタン27が操作されると、カードユニット70は、カ
ード挿入口71に挿入されたカードを排出する。
用マイコン211とは、暗号化された暗号化信号(暗号化データ)を双方向通信可能に接
続される。また、暗号化されない非暗号化信号(平文データ)については、遊技制御装置
100に備わる遊技用マイコン101から払出制御装置210に備わる遊技用マイコン2
11に単方向通信が可能に接続される。
る遊技用マイコン151とは、暗号化されない非暗号化信号(平文データ)を遊技制御装
置100から演出制御装置150への単方向で通信可能に接続される。
る遊技用マイコン151及び払出制御装置210に備わる遊技用マイコン211は、これ
らの接続に必要なポートを備えている。
る遊技用マイコン151及び払出制御装置210に備わる遊技用マイコン211(以下、
総称して遊技用演算処理装置600という)について、図5を用いて詳細に説明する。
のブロック図である。
制御を行う遊技領域部600Aと情報管理を行う情報領域部600Bとに区分される。
WパラメータROM603、ユーザワークRAM604、ミラードRAM605、外部バ
スインターフェース(I/F)606、バス切替回路607、乱数生成回路608、クロ
ック生成回路609、割込制御回路610A、リセット回路610B、アドレスデコーダ
611、出力制御回路612、ブートブロック613、復号化・ROM書込回路614、
シリアル送信回路615A、シリアル送信回路615B、シリアル受信回路625、暗号
化送受信回路616、及びバス617によって構成される。なお、シリアル送信回路61
5A及びシリアル送信回路615Bを総称して、シリアル送信回路615という。
。ユーザプログラムROM602は、図4のROM103、ROM153又はROM21
3に相当する。また、ユーザプログラムROM602及びHWパラメータROM603を
総称して、ROM(不揮発性記憶手段)という。
相当する。また、ユーザワークRAM604及びミラードRAM605を総称して、RA
M(揮発性記憶手段)という。
ユーザプログラムROM602は、制御プログラムを格納する。制御プログラムは、遊技
用演算処理装置600が遊技制御装置100に備わる遊技用マイコン101である場合に
は、遊技の制御を行うための遊技制御プログラムである。また、遊技用演算処理装置60
0が払出制御装置210に備わる遊技用マイコン211である場合には、遊技球の払い出
しを行うための払出制御プログラムである。さらに、遊技用演算処理装置600が演出制
御装置150に備わる遊技用マイコン151である場合には、演出の制御を行うための演
出制御プログラムである。
技用演算処理装置600の正当性の簡易チェックを行う場合の情報であり、例えば、遊技
機1の一意な識別子を示す固有ID、メーカコード(遊技機1の製造メーカ毎に割り振ら
れた固有の製造メーカの一意な識別子)、遊技機1のランク(1種、2種等)を示すラン
クコード、製造メーカが遊技機1の種類に設定する機種コード、検査番号を示す検査コー
ド、電源投入時にRAMをバックアップするか否かを示すRAMバックアップコード、税
率設定スイッチ226によって設定された税率、貸出料金設定スイッチ227によって設
定された貸出料金等である。また、HWパラメータROM603には、最初に貸出情報要
求を送信した検査装置の一意な識別子である固有IDが一つのみ記憶される。
書き込む際に、正当性確認情報がHWパラメータROM603に書き込まれる。遊技用演
算処理装置600は、電源立ち上がり時に、ユーザプログラムROM602に書き込まれ
たプログラムが正当であるか否かについて簡易チェックを行うことができる。具体的には
、遊技用演算処理装置600の電源立ち上がり時に、遊技用演算処理装置600自身が演
算した演算値と、正当性確認情報(すなわち、第三者機関等によって予め設定された結果
値)とを比較判定することで、簡易的な遊技用演算処理装置600のチェックを行うこと
が可能になっている。
実行する際にワークエリア(作業領域)として用いられるものである。このユーザワーク
RAM604には、バックアップ電源161(図4)からのバックアップ電源が供給され
ているので、遊技機1への電源供給が途絶えても、記憶データが保持されるように構成さ
れている。ミラードRAM605は、クロックの立ち下がり時にユーザワークエリアに記
憶された情報を複製し、複製した情報を記憶する(CPUコアがZ80の場合には、クロ
ックの立ち上がり時に処理を実行するため、同期して動くことがないようにしている)。
ト信号IORQ、メモリ書込み信号WR、メモリ読み出し信号RD及びモード信号MOD
Eなどのインターフェースであり、また、バス切替回路607は、16ビットのアドレス
信号A0〜A15や8ビットのデータ信号D0〜D7のインターフェースである。
インクリメントしながら、データ信号D0〜D7を加えると、ユーザプログラムROM6
02への書き込みモードとなって遊技機1の製造メーカ又は第三者機関によるプログラム
の書き込みが可能になる。なお、書き込みモードはプログラムの書き込みを可能にするも
のであり、ブートブロック613に記憶されるブートプログラムを書き込みできるように
するものではない。
ラメータROM603の所定領域に書込終了コードが記録(例えば、所定のコード若しく
は所定ビットを物理的に切断することで記録)されるようになっており、HWパラメータ
ROM603に書込終了コードが記録されている場合には、ユーザプログラムROM60
2への新たなプログラムの書き込みができないようになっている。
か否か等に係わる乱数(乱数は、大当りの決定や停止時の図柄の決定等に使用)を生成す
るもので、一様性乱数を生成する数学的手法(例えば、合同法又はM系列法等)を利用し
ている。なお、遊技用演算処理装置600が払出制御装置210に備わる遊技用マイコン
211である場合には、乱数生成回路608は必要ない。
クロック信号を分周して、遊技制御に必要な各種の周期的な信号を生成する。具体的には
、CPUコア102を動作させるためのクロック信号、乱数生成回路608の乱数カウン
タ値を更新するためのクロック信号、及びシリアル送受信を行う際のタイミング信号など
を生成する。なお、クロック生成回路609は、CTC(Counter Timer Circuit)の機
能を有しており、CPUコア102にて所定周期(例えば、4ミリ秒)のタイマ割込処理
を行わせるためのタイマ割込信号も生成している。
PUコア102に知らせる。なお、所定の割り込み条件は、遊技用演算処理装置600の
外部から割込要求信号(INT信号、NMI信号)が入力された場合や、クロック生成回
路609のCTCからタイマ割込信号が出力された場合などが相当する。
理を中断して予め定められた割込処理を実行する。なお、INT信号による割込(マスカ
ブル割込)は、プログラムの設定により禁止できるが、NMI信号による割込(ノンマス
カブル割込)はプログラムの設定により禁止できない。また、CPUコア102は、タイ
マ割込信号が出力された場合には、図29に示すタイマ割込処理を実行する。
の信号RST0)を検出すると、遊技用演算処理装置600の内部に備えられた各回路と
CPUコア102にリセット信号を伝達する。
する。このセキュリティ回路630は、遊技用演算処理装置600の内部に備えられた各
回路に対して異常なアクセスが発生したことを検出する機能を有しており、異常を検出す
るとCPUコア102にリセット信号を伝達する。
群のロケーションをメモリマップドI/O方式及びI/OマップドI/O方式によりデコ
ードする。
8ビットのチップセレクト信号(CS0〜CS7)を外部に出力するとともに、遊技用演
算処理装置600の内部に備えた回路を選択するチップセレクト信号を発生する機能を有
する。ブートブロック613は、ブートプログラムを記憶し、電源投入時に遊技用演算処
理装置600の初期化に係わる処理を行う。
ROM603への書込みモードの際に使用されるもので、モード信号MODEが[H]レ
ベルになっている間、バス切替回路607を介してアドレス信号A0〜A15やデータ信
号D0〜D7を取り込み、そのデータ信号D0〜D7に含まれる情報(暗号化されたプロ
グラム及び暗号化された変更後の固有ID)を復号化処理した後、バス617を介してユ
ーザプログラムROM602及びHWパラメータROM603に出力する(書き込む)。
データを送信するための回路である。シリアル送信回路615Aは、SIOTX0端子を
介して演出制御装置150に接続される。また、シリアル送信回路615Bは、SIOT
X1端子を介して払出制御装置210に接続される。シリアル受信回路625は、暗号化
されていない平文データを、SIORX端子を介して受信するための回路である。
受信する回路である。例えば、遊技制御装置100から払出制御装置210にデータを送
信する場合に使用される、また、遊技制御装置100と払出制御装置210との間は、N
JLINK接続で接続され、暗号化送受信回路616には、NJLINK信号線が接続さ
れる。暗号化送受信回路616は、NJLINK信号線を介してデータを送受信する。
レスバス650)及び制御バスを含むものであり、情報領域部600Bまで延びている。
GプログラムROM618、IDプロパティメモリ619、バスモニタ回路620、HP
GワークRAM621、制御回路622、外部通信制御回路623、バス624、及び遊
技領域部600Aから延びるバス617の一部を含んで構成される。
る。
介して受信した要求に基づいて、HWパラメータROM603に記憶されている情報を図
示しない検査装置にすぐに出力できるように、遊技用演算処理装置600の電源投入時(
システムリセット時)にHWパラメータに記憶されている情報を複製して記憶する。なお
、IDプロパティメモリ619は、遊技領域部600A側及び情報領域部600B側の双
方よりアクセスが可能な構成になっている。
7の状態監視及び制御を行う。ここでの制御とは、HWパラメータROM603の内容を
IDプロパティメモリ619に複写する際のタイミング制御や、ユーザプログラムROM
602に格納されたプログラムを外部に出力する際(遊技領域部600A側のバス617
を開放してユーザプログラムROM602からプログラムを読み込んで情報領域部600
B側より外部に出力する際)のタイミング制御である。なお、プログラムは、外部通信制
御回路623で暗号化されてから出力される。
実行する際にワークエリア(作業領域)として用いられるものである。
る。制御回路622は、例えば、バスモニタ回路620を介してCPUコア102の動作
を監視し、非動作中に遊技領域部600AのユーザワークRAM604に記憶された内容
をミラードRAM605へコピーする。また、図示しない検査装置からの要求に応答して
情報領域部600BのIDプロパティメモリ619の内容を外部へ転送したり、プログラ
ム要求に応答してバスモニタ回路620を介してユーザプログラムROM602内のプロ
グラムを外部へ転送したりする。制御回路622のメモリは、転送時のタイミング調節の
ために用いられる。
らの指令に基づいて遊技用演算処理装置600内に格納されている情報(例えば、固有I
D、プログラム、実払出数等)を暗号化した後、外部へ転送する等の処理を行う。
タ回路620を介して独立して動作する。すなわち、情報領域部600B側は遊技領域部
600AにおけるCPUコア102の作動に関係なく(プログラム実行に関係なく)動作
可能である。
するRAMアクセス規制回路(更新規制手段)640を備えている。
15の構成例を示すブロック図である。
ステータスレジスタ631、送信制御レジスタ632、送信データレジスタ635(送信
データバッファレジスタ635A、送信データシフトレジスタ635B)、ボーレート生
成回路(送信速度設定手段)634を含んで構成される。
送信先を選択する。また、リセット信号の入力を受け付けると、各種レジスタに設定され
た値を0クリアする。
ーマットを指定するレジスタである。送信シリアルチャンネル設定レジスタ633には、
後述するメイン処理におけるシリアル通信設定処理によって各値が設定される。
成例を示す図である。図7に示すように、送信シリアルチャンネル設定レジスタ633は
、16ビットで構成されており、ビット0〜15はすべて書き込み/読み出し可能とされ
る。
レート(通信速度)を算出するためのボーレート設定値(例えば、分周比)が設定される
。
周波数(単位Hz:ヘルツ)を32で除した値を、さらに、このボーレート設定値で除し
た値が、送信ボーレート(1秒間に送信されるデータのビット数)として設定される。例
えば、ボーレート設定値として100を設定すると、システムクロックの周波数が20M
Hzであった場合には、送信ボーレートは、20,000,000÷32÷100=625
0(bps)となる。
する場合に“1”が設定される。
ィを付加する場合に“1”が設定される。ビット15には、送信データに付加するパリテ
ィを偶数パリティとする場合に“0”が設定され、奇数パリティとする場合に“1”が設
定される。なお、ビット15は、ビット14に“1”(パリティ有り)が設定されている
場合に有効となる。
ル送信回路615がリセットされ、送信シリアルチャンネル設定レジスタ633の全ビッ
トが“0”に設定される(図6等も参照)。
するためのレジスタである。
。図8に示すように、送信制御レジスタ632は、例えば8ビットで構成され、ビット6
は読み出し専用とされ、他のビット0、4、5、7は書き込み/読み出し可能とされる。
なお、本実施形態では送信制御レジスタ632のビット1〜3は未使用としているため、
図8では記載を省略している。
化する場合に“1”が設定される。送信回路が初期化されると送信データレジスタ635
のデータも含めて全てのレジスタが初期値とされる。
のデータ送信を禁止する場合に“0”が設定され、データ送信を許可する場合に“1”が
設定される。
い場合に“0”が設定され、送信割り込みを要求する場合に“1”が設定される。
が設定される。ビット6に“0”が設定されている場合には送信割り込みを要求していな
い状態であることを示し、“1”が設定されている場合には送信割り込みを要求している
状態であることを示す。
定される。
ル送信回路615がリセットされ、送信制御レジスタ632の全ビットが“0”に設定さ
れる(図6等も参照)。その結果、送信制御レジスタ632のビット4が“0”になるの
で、送信データレジスタ635(送信データシフトレジスタ635B)からのデータ送信
が禁止され、データ出力がオフされた状態になる。
5の状態を示すレジスタである。CPU102は、送信データステータスレジスタ631
の設定値によって、送信データレジスタ635の状態を確認することができる。
示す図である。送信データステータスレジスタ631は、例えば8ビットで構成され、ビ
ット0〜5、7はすべて読み出し専用とされる。なお、本実施形態では送信データステー
タスレジスタ631のビット6は未使用としているため、図9では省略している。
を示す値が設定される。例えば、ビット0〜5に“00h”(16進数の“0”)が設定
されていると送信データがないことを示し、“01h”が設定されていると送信データが
1バイト残っていることを示し、“20h”が設定されていると送信データが32バイト
残っていることを示す。
れる。ビット7に“1”が設定されているとデータを送信していない状態であることを示
し、“0”が設定されているとデータを送信している状態であることを示す。
ル送信回路615がリセットされ、送信データステータスレジスタ631の全ビットが“
0”に設定される(図6等も参照)。その結果、送信データステータスレジスタ631の
ビット0〜5が“00h”となり、送信データの残量がない状態となる。
データを格納するレジスタである。送信データレジスタ635は、例えば、1段の送信デ
ータシフトレジスタ635Bと、31段の送信データバッファレジスタ635Aで構成さ
れる。
を示す図である。1段の送信データレジスタ635は、例えば8ビットで構成され、ビッ
ト0〜7はすべて書き込み専用とされる。
納され、送信制御レジスタのビット4に“1”(送信許可)が設定されていれば、格納さ
れた制御指令データは自動的に演出制御装置150に送信される。
2バイトで構成されるので、2段の送信データレジスタ635に1つの制御指令データが
格納されることとなる。そして、本実施形態では、送信データレジスタ635を32段で
構成しているので、1回のタイマ割込処理で最大16の制御指令データが生成される場合
、これをすべて送信データレジスタ635に格納することができる。
できるのは、送信データステータスレジスタ631のビット0〜5の値(送信データの残
量を示す値)が“00h”〜“1Fh”の場合(送信データレジスタ635に、0〜31
バイトの未送信データが残っている場合)に限られる。
データレジスタ635に空きがないので、CPU102によって送信データレジスタ63
5に書き込もうとされたデータは廃棄される。これにより、送信データレジスタ635が
満杯のときは、誤ってCPU102によるデータ書き込みが発生しても、既に格納されて
いる送信データレジスタ635のデータが破壊されないようになっている。
ル送信回路615がリセットされ、送信データレジスタ635の全ビットが“0”に設定
される(図6等も参照)。
路629を介して出力されるクロック信号(遊技用演算処理装置600に入力されるシス
テムクロック(MCLK)を分周した信号)及び送信シリアルチャンネル設定レジスタ6
33に設定されている設定値(ボーレート設定値)に基づいて、シリアル送信回路615
が用いる送信ボーレートを生成する。このとき、ボーレート生成回路634は、クロック
信号及びボーレート設定値に基づいて、前述の計算式を用いて送信ボーレートを求める。
また、分周回路629は、CPU102にも分周されたクロック信号を入力する。なお、
分周回路629は、クロック生成回路609に含まれるように構成してもよい。
“1”)がなされた後、送信するデータを送信データレジスタ635(送信データバッフ
ァレジスタ635A)に書き込む、又は、送信するデータを送信データレジスタ635に
書き込んだ後、送信許可の設定がなされると、自動的に送信が開始される。送信が開始さ
れると、送信データバッファレジスタ635Aのデータが送信データシフトレジスタ63
5Bに転送され、送信データシフトレジスタ635Bからシリアル変換されて、最下位ビ
ット(ビット0)から1ビットずつ順次出力される。そして、データの送信が完了すると
送信データシフトレジスタ635Bは空になるので、送信データバッファレジスタ635
Aに書き込まれている次のデータが送信データシフトレジスタ635Bに転送され、出力
される。
フトレジスタ635B、送信データバッファレジスタ635A)に書き込まれたデータ(
制御指令データ)が、演出制御装置150に1ビットずつ順次送信されることとなる。
制御指令データ)を格納する送信データレジスタ635を備え、送信データレジスタ63
5に送信データが格納されると、遊技制御装置100から演出制御装置150へ向かう方
向に、格納された送信データを1ビットずつ順次送信する(いわゆるシリアル通信)よう
に構成されている。
ータシフトレジスタ635Bと、格納されたデータを保持するとともに、送信データシフ
トレジスタ635Bがデータを格納可能な状態(データの送信が完了した状態)となった
ときに、保持しているデータを送信データシフトレジスタ635Bに転送する送信データ
バッファレジスタ635Aと、で構成される。
令データの送信処理を省略できるので、CPU102の負担を軽減することができる。
少なくすることができる。
から演出制御装置150へのみデータを送信可能な単方向通信とされ、遊技制御装置10
0にデータは入力されないので、不正が行われることを防止できる。
ータが格納可能であるが、この32バイトのデータが、1回のタイマ割込処理において全
て出力できるように、ボーレート設定値(送信シリアルチャンネル設定レジスタ633の
ビット0〜12)の値が設定されている。
必要な時間Tbと、タイマ割込信号の発生周期Fと、送信データレジスタ635に格納で
きるデータの上限バイト数Bとの関係が、F/B>Tbとなるように、ボーレート設定値
を設定して送信の速度を決めればよい。
できるデータの上限バイト数B=32バイトであれば、F/B=4000/32=125
マイクロ秒よりも短くなるようにTbの値を決定し、遊技用演算処理装置600に入力さ
れるシステムクロック(MCLK)の周波数を考慮したうえで、ボーレート設定値の値を
定めればよい。
5は、1回のタイマ割込処理において生成される一連の制御指令データをすべて格納する
ことが可能となり、タイマ割り込み毎に生成される制御指令データを確実に送信すること
ができる。
置(アミューズチップ)600とその周辺のブロック図である。
は601)、RAMアクセス規制回路640、ユーザワークRAM104(図11では6
04)、アドレスデコーダ611、出力制御回路612、及び、ユーザプログラムROM
103(図11では602)を備える。
データバス660を介して接続されている。アドレスバス650は、A0〜A15の16
ビットの信号線によって構成され、データバス660は、D0〜D7の8ビットの信号線
によって構成される。
5A、及び、払出制御装置210に接続されるシリアル送信回路615Bを備える。
5)に相当する受信回路が備えられていて、シリアル送信回路615A、615Bから出
力されたシリアルのデータを、それぞれが受信する構成となっている。
電源装置160からリセット信号(起動信号)が入力され、リセット回路610B(図5
)が作動する。
03に記憶された正当性確認情報を用いて、セキュリティチェック処理を実行する。この
セキュリティチェック処理は、ユーザプログラムROM103に記憶されたプログラムの
正当性の判定を行う処理である。
Uコア102のリセット端子(RES0(負論理))にリセット信号を継続して出力する
ことで、CPUコア102の起動を待機させる。
子(WR(負論理))、及び読出指令出力端子(RD(負論理))を備える。リセット端
子はセキュリティ回路630に接続されており、遊技用演算処理装置600にリセット信
号が入力されると、前述のように、セキュリティチェック処理を実行している間、CPU
コア102に対するリセット信号がリセット端子に入力される。
、CPUコア102に備わるレジスタ(REG)を初期化する。
込指令を出力する場合には、CPUコア102の書込指令出力端子からは所定値よりも低
い電圧のローレベルの信号が出力される。同様に、CPUコア102がユーザワークRA
M104からデータの読み出しを指令する読出指令を出力する場合には、CPUコア10
2の読出指令出力端子からは所定値よりも低い電圧のローレベルの信号が出力される。
ており、ユーザワークRAM104への読み書きを行うときにのみ電圧がローレベルにな
る。
バス660を介して指定したアドレスに格納されたデータを入出力する。
))に読出指令が入力されると、アドレスバス650及びデータバス660を介してCP
Uコア102に読出データが出力される。
のアドレスが出力され、アドレスデコーダ611からユーザワークRAM104のチップ
選択端子(所謂CS端子に相当、図示は略)に選択信号が入力されることによって、ユー
ザワークRAM104が選択される。次いで、選択されたユーザワークRAM104は、
アドレスバス650が指定する記憶領域のデータをデータバス660へ出力する。次いで
、CPUコア102は、データバス660へ出力されたデータを内部へ取り込む。このよ
うな手順により、CPUコア102はユーザワークRAM104からデータを読み出す。
ゲート回路642に備わる二つの入力端子のうち一方の入力端子に接続される。ORゲー
ト回路642の他方の入力端子は、RAMアクセス規制回路640のフリップフロップ回
路641の出力端子(Q(負論理))に接続され、ORゲート回路642の出力端子は、
ユーザワークRAM104の書込指令入力端子(WR(負論理))に接続されている。
ベルの信号が入力されると、ユーザワークRAM104への書き込みが許容される。
されなければ、ユーザワークRAM104への書き込みが許容されない。言い換えれば、
ORゲート回路642の少なくとも一方の入力端子にハイレベルの信号が入力されている
と、ユーザワークRAM104への書き込みが規制(禁止)される。
る。
、データ端子(D)、リセット端子(R(負論理))、及び出力イネーブル端子(OE(
負論理))を備えるとともに、出力端子(Q(正論理),Q(負論理))を備える。
号線(例えば、D0)が接続されている。
されるとリセット端子はローレベルとなる。このときフリップフロップ回路641は、出
力端子Q(正論理)からローレベルの信号を出力させ、出力端子Q(負論理)からハイレ
ベルの信号を出力させる。出力端子Q(正論理)からの出力と、出力端子Q(負論理)か
らの出力は、相互に反転するレベルとなっている。
が入力される。出力イネーブル信号がハイレベルの場合には、出力端子から信号の出力が
可能な状態となる。
CPUコア102によって、自在に設定できるようになっている。この設定は、CPUコ
ア102が、フリップフロップ回路641に割り当てられたアドレスの記憶領域に所定の
データを書き込むことで実現される。
アドレスの記憶領域にデータを書き込む処理が行われると、CPUコア102からアドレ
スバス650へは、フリップフロップ回路641のアドレスが出力される。次に、アドレ
スデコーダ611から、出力制御回路612を介して、フリップフロップ回路641の出
力イネーブル端子にクロック信号が入力され、出力イネーブル端子の電圧レベルが立ち上
がり、ハイレベルとなる。
で、取り込んだ信号を出力端子Q(正論理)から出力し、取り込んだ信号の反転値を出力
端子Q(負論理)から出力する。
了した場合には、出力イネーブル端子の電圧レベルは立ち下がりローレベルとなり、出力
端子Q(正論理)及び出力端子Q(負論理)の電圧レベルを保持する。
出力端子Q(正論理)には何も接続されない。
立ち上り、つまり出力イネーブル信号の入力開始時に、データ端子の電圧レベルを読み取
り、読み取った電圧レベルの反転値を出力端子Q(負論理)から出力する。
、つまり、出力イネーブル信号の入力終了時に、出力イネーブル端子の電源レベルの立ち
上がり時の出力端子Q(負論理)からの出力を保持する。
されていると、ORゲート回路642の他方の入力端子にローレベル及びハイレベルのい
ずれの信号が入力されても、ORゲート回路642の出力端子からはハイレベルの信号が
出力される。
が出力されていれば、ORゲート回路642の他方の入力端子に書込指令信号が入力され
ても(当該他方の入力端子にローレベルの信号が入力されても)、ユーザワークRAM1
04の書込指令入力端子にはローレベルが入力されなくなり、RAM書込禁止状態が発生
する。
るかは、クロック信号がフリップフロップ回路641に入力されたときのフリップフロッ
プ回路641のデータ端子に入力される電圧レベル、又はリセット信号の入力の有無に基
づく。
を制御でき、データバス660の信号線の出力も制御できるので、フリップフロップ回路
641の出力端子Q(負論理)から出力される信号は、CPUコア102によって制御可
能である。言い換えると、CPUコア102は、データバス660の信号レベルを制御す
ることによってRAMアクセス規制回路640の書込状態を制御できる。
力された場合には、フリップフロップ回路641は、出力端子Qの電圧レベルをローにす
るため、出力端子Q(負論理)の電圧レベルはハイになる。このため、フリップフロップ
回路641にリセット信号が入力された場合には、RAMアクセス規制回路640では、
RAM書込禁止状態が発生することになる。
路615Bにクロック信号を入力すると、シリアル送信回路615Bは、クロック信号が
入力されたタイミングで、データバス617からデータを読み取り、読み取ったデータを
送信データバッファレジスタ635Aに格納する。そして、送信データバッファレジスタ
635Aに格納されたデータを送信データシフトレジスタ635Bに格納し、払出制御装
置210に順次出力する。
ル送信回路615の起動(リセット)は、電源装置160からのリセット信号を、前述の
リセット回路610B(図5)を介して受け入れた場合に実行される。ただし、電源装置
160からのリセット信号は、必ずしもリセット回路610Bを介して各回路に入力され
る必要はなく、リセット回路610Bを経由しない別個の信号線を介して各回路に入力さ
れるような構成でもよい。
明で前述したように、リセット信号によって、演出制御装置150や払出制御装置210
へのデータ出力がオフ状態となる。
示した遊技制御装置100と異なっている。その他の構成は、図11に示した遊技制御装
置100と同じ構成である。
遊技用演算処理装置600にRAMアクセス規制回路640を備えていない点が、図6に
示した遊技制御装置100と異なっている。その他の構成については、図11に示した遊
技制御装置100と同じ構成である。
、払出制御装置210(又は演出制御装置150)のCPU102が起動した後であれば
、遊技制御装置100のシリアル送信回路615からの信号を受け入れられる状態となっ
ている。なお、払出制御装置210(又は演出制御装置150)のシリアル受信回路62
5とCPU102とは、データバス617によって相互に接続される構成となっている。
ク図である。CPUコア102はZ80系のCPUとして構成されている。
1A、Aレジスタ1202A、Bレジスタ1204A、Cレジスタ1205A、Dレジス
タ1207A、Eレジスタ1208A、Hレジスタ1210A、Lレジスタ1211Aを
備えている。
せて、16ビットの幅を有するWAレジスタ1203Aとして使用することも可能である
。同様に、Bレジスタ1204AとCレジスタ1205Aとを組み合わせたBCレジスタ
1206A、Dレジスタ1207AとEレジスタ1208Aとを組み合わせたDEレジス
タ1209A、Hレジスタ1210AとLレジスタ1211Aとを組み合わせたHLレジ
スタ1212Aを使用することも可能である。
20Aを形成している。一方、CPUコア102は、バンク0のレジスタ群1220Aに
含まれる汎用レジスタと同様の構成を有する、もう1つの汎用レジスタ群(バンク1のレ
ジスタ群)1220Bを備えている。
スタ1211Aと同一の機能を有する、Wレジスタ1201B〜Lレジスタ1211Bを
備えている。これらのレジスタも、バンク0同様に、WAレジスタ1203B〜HLレジ
スタ1212Bとして、16ビットのレジスタとして使用することが可能である。
いる。
格納される。また、フラグレジスタ1200の、レジスタバンクセレクタ(RBS)13
01(図13で後述)によって、2つの汎用レジスタ群1220A、1220Bのうちの
いずれを、演算対象として用いるかが選択される。
ジスタは、後述の命令解釈実行回路1242によって演算に用いられる。一方、選択され
ていないレジスタ群に属する各レジスタは、レジスタバンクセレクタ(RBS)1301
の値が変更されて選択対象となるまでは、値を保持する。
機能するKレジスタ1230を備えている。このレジスタは、後述の命令解釈実行回路1
242が、所定の16ビットのアドレスに記憶されたデータにアクセスする際の上位8ビ
ットのアドレスを指定する上位アドレス指定レジスタである。
1、IYレジスタ1232、スタックポインタとして機能するSPレジスタ1233、及
びプログラムカウンタとして機能するPCレジスタ1234を備えている。
データをアクセスする際のインデックスとして用いられる。スタックポインタ1233は
、スタックエリア(図18で後述)にデータを格納する(又はデータを取り出す)際の領
域の位置を示す。プログラムカウンタ1234は、後述の命令解釈実行回路1242で実
行されている命令が格納されているアドレスを示している。
の各レジスタを用いた演算処理を行う。具体的には、ユーザプログラムROM103にて
、プログラムカウンタ1234に示されるアドレスに記憶されたデータを読み出すととも
に、読み出したデータをコードと見なして、コードに対応する命令を実行する。
るが、CPUコア102の内部では、命令解釈実行回路1242が主体となって演算処理
手段の機能を果たしている。
回路1243、アドレスバス650、及びデータバス660を介して、CPUコア102
外部のユーザプログラムROM103、ユーザワークRAM604、及び他の回路との間
で、データの授受を行う場合もある。
実行する毎に、次の命令が格納されているアドレスをプログラムカウンタ1234に格納
する。このようにして命令の実行と、プログラムカウンタ1234の更新を繰り返すこと
で、遊技制御プログラムが順次実行される。なお、割込制御回路610Aからの割込信号
を受け付けると、プログラムカウンタ1234の値は、予め設定された割込処理のアドレ
スの値に切り替えられる。
1235によって、データが授受される。
に設定する回路である。
と、初期値設定回路1241を起動させ、CPUコア102に備える各レジスタに初期値
を設定させたのちに、命令解釈実行回路1242を起動させる。
ある。フラグレジスタ1200の各ビットの値は、図12における命令解釈実行回路12
42によって設定される。
るフラグであり、セット(値が「1」)で許可、クリア(値が「0」)で禁止となる。
42が演算処理を行う際に、2つの汎用レジスタ群1220A、1220Bのうちのいず
れを用いるかを選択するフラグであり、セット(値が「1」)でバンク1のレジスタ群1
220B、クリア(値が「0」)でバンク0のレジスタ群1220Aが選択される。
タに桁溢れ(オーバーフロー)が発生するとセット(値が「1」)され、他の場合はクリ
ア(値が「0」)される。
位ビットが「1」になるとセット(値が「1」)され、他の場合はクリア(値が「0」)
される。
の汎用レジスタの4ビット目に桁上がり(キャリー)や桁借り(ボロー)が発生するとセ
ット(値が「1」)され、他の場合はクリア(値が「0」)される。
り(ボロー)が発生するとセット(値が「1」)され、他の場合はクリア(値が「0」)
される。
が「1」)され、他の場合はクリア(値が「0」)される。
ゼロフラグ(ZF)1306の少なくとも一方がセットされた場合にはセット(値が「1
」)される。若しくは、演算処理を行わない場合であっても、汎用レジスタの値が「00
H」の値になった場合は、セット(値が「1」)される。このような条件をいずれも満た
さない場合は、クリア(値が「0」)される。
設定される。
る。
電復旧領域703、チェックサム領域704、使用禁止領域(アクセス禁止領域)705
、及びスタック領域706を有する。
られており、第1停電復旧領域701にはアドレス「2800H」が割り当てられ、ワー
クエリア702にはアドレス「2801H」〜「2917H」が割り当てられ、第2停電
復旧領域703にはアドレス「2918H」が割り当てられ、チェックサム領域704に
はアドレス「2919H」が割り当てられ、使用禁止領域705にはアドレス「291A
H」〜「297FH」が割り当てられ、スタック領域706にはアドレス「2980H」
〜「29FFH」が割り当てられる。
に参照される情報が格納されており、直前の電源供給停止のとき(停電発生や遊技機1の
電源スイッチをオフにしたとき)に、電源遮断の処理が正しく実行されていたか否かを示
す情報(電源遮断確認フラグ)が格納されている。
す遊技制御装置メイン処理並びに図29に示すタイマ割込処理等で、これらの変数が更新
される。具体的には、特図変動表示ゲーム及び普図変動表示ゲームの保留数を格納する保
留カウンタ、特図変動表示ゲームを実行するために必要な各種乱数の生成領域、普図変動
表示ゲームを抽選するために必要な乱数(普図乱数)の生成領域、普図乱数の保存領域、
特図変動表示ゲームを実行するために必要な各種乱数の保存領域などがワークエリア70
2に記憶される。これらの詳細については、図15から図17を参照して後述する。
1停電復旧領域701、ワークエリア702、及び第2停電復旧領域703のチェックサ
ムが格納される。
セキュリティ回路630(図6)によって、CPUコア102がリセットされるようにな
っている。
退避させる場合に、退避データが格納される。また、割込みが発生した場合の戻りアドレ
スや、サブルーチンや関数を呼び出す場合の戻りアドレスも格納される。
成及び保存領域の上位アドレスと、スタック領域706が割り当てられている領域の上位
アドレスが異なるように設定されている。具体的には、ワークエリア702の各種乱数の
生成及び保存領域の上位アドレスが「28H」(第1記憶領域)、スタック領域の上位ア
ドレスが「29H」(第2記憶領域)となっており、乱数更新時にスタック領域の値を誤
って更新してしまったり、スタック領域更新時に乱数の値を誤って更新してしまったりす
ることを防止している。
いように、各種乱数の生成及び保存領域の下位アドレスがスタック領域の下位アドレスと
重ならないように設定している。
乱数(始動記憶)の生成領域(2820H〜2827H)、普図乱数の生成領域(282
8H)及び普図乱数の保存領域(282CH〜282FH)、第1特図変動表示ゲームを
実行するための各種乱数(始動記憶)の保存領域(2830H〜284FH)、及び、第
2特図変動表示ゲームを実行するための各種乱数(始動記憶)の保存領域(2850H〜
286FH)などが該当する。これらの領域の上位アドレスを「28H」から「29H」
に置換した領域(即ち2920H〜296FHの領域)は、図14に示すように、使用禁
止領域705として設定されている。
てられたワークエリア702に格納されるデータの具体例を説明する図である。図15は
保留カウンタ、各種乱数の生成領域及び普図乱数の保存領域を示す。図16は第1特図変
動表示ゲームを実行するために必要な各種乱数の保存領域、図17は第2特図変動表示ゲ
ームを実行するために必要な各種乱数の保存領域を示す。
割り当てられている。具体的には、第1特図変動表示ゲームの保留記憶数を格納する第1
特図保留カウンタ(281DH)、第2特図変動表示ゲームの保留記憶数を格納する第1
特図保留カウンタ(281EH)、普図変動表示ゲームの保留記憶数を格納する普図保留
カウンタ(281FH)となっている。さらに、特図変動表示ゲームを実行するための各
種乱数(始動記憶)の生成領域(2820H〜2827H)、普図乱数の生成領域(28
28H)及び普図乱数の保存領域(282CH〜282FH)が割り当てられている。
定するための大当り乱数(2バイト)、特図変動表示ゲームの大当り図柄を決定するため
の大当り図柄乱数、特図変動表示ゲームの変動パターンを決定するための第1変動P(パ
ターン)乱数(2バイト)、第2変動P(パターン)乱数、第3変動P(パターン)乱数
(2バイト)が含まれる。
域が割り当てられている。本実施形態では、第1特図変動表示ゲームの始動記憶(特図1
始動記憶)を最大4回分保持可能となっている。そして、これら乱数値は、特図始動口S
W共通処理(図40)において設定される。
、保留1は2830Hから2837H、保留2は2838Hから283FH、保留3は2
840Hから2847H及び保留4は2848Hから284FHの各領域が割り当てられ
ている。また、各領域には、前述した特図変動表示ゲームを実行するための各種乱数に応
じた領域がさらに割り当てられている。
場合には、後述する特図普段処理の特図1変動開始処理(図45)において、保留1個目
の各乱数を取得(一時的に退避)した後に、保留2個目〜4個目の特図1始動記憶に対応
する領域に記憶された各乱数を保留1個目〜3個目の特図1始動記憶に対応する領域にシ
フトする。
得した各乱数(一時的に退避していた保留1個目の各乱数)の値と、予め定義された特図
1変動表示ゲーム用の大当り判定値とを比較して、特図1変動表示ゲームが大当りか否か
を判定し、特図1始動記憶数(第1特図保留カウンタに記憶された値)を1減算する。
図変動表示ゲームを実行するための各種乱数(特図2始動記憶)を格納する領域が割り当
てられている。特図2始動記憶に含まれる各種乱数は、特図1始動記憶と同様に処理され
る。
である。図18及び図19では、スタック領域706に戻りアドレスや所定のレジスタの
値が格納される場合について説明する。
706に何もデータが格納されていない状態を示している。この場合、スタックポインタ
(SP)1233は、スタック領域の最終領域(29FFH)をスタックポインタ初期値
として示している。
ルーチン呼び出しによって、スタック領域706に戻りアドレスなどのデータが格納され
た状態を示している。この場合、最後にデータ(又はアドレス)が格納された領域の1つ
上のアドレスを、スタックポインタ1233によって示すことになる。
た場合と、後述する「CALL」命令を実行して通常のサブルーチン呼び出しを行った場
合とがあるが、本実施形態では、前者の場合と後者の場合とで、スタック領域706に格
納されるデータが異なる。
ブルーチン呼び出しを行った場合において、スタック領域706にデータが退避する様子
を示している。なお、この図は、図18(B)の状態にて「CALL」命令を実行した直
後の様子を示している。
元のルーチンの戻りアドレスが上位バイトと下位バイトに分離して格納される。このとき
、最後にアドレスが格納された領域の1つ上のアドレスが、スタックポインタ1233に
よって示される。
と、この戻りアドレスがプログラムカウンタ1234に戻されるとともに、スタックポイ
ンタ1233の値も、「CALL」命令実行前の値に戻される(図18(B)の状態に戻
る)。これにより、呼出元のルーチンに処理を戻すことができる。
ルーチンが実行される場合において、スタック領域706にデータが退避する様子を示し
ている。なお、図19(D)は、図18(B)の状態にて割込みが発生した直後の様子を
示している。
ルーチンで設定されていたフラグレジスタ1200の値が格納され、次に、呼出元のルー
チン戻りアドレスが上位バイトと下位バイトに分離して格納される。このとき、最後にア
ドレスが格納された領域の1つ上のアドレスが、スタックポインタ1233によって示さ
れる。
N」命令が実行されると、スタック領域706に格納していた戻りアドレスがプログラム
カウンタ1234に戻され、スタック領域706に格納していたフラグレジスタの値も、
フラグレジスタ1200に戻される。さらに、スタックポインタ1233の値も、割込み
が発生する前の値に戻される(図18(B)の状態に戻る)。これにより、呼出元のルー
チンに処理を戻すことができる。
納された戻りアドレスから先に読み出される。
ック領域706に格納され、スタックポインタ1233の値も、図19(C)や図19(
D)と同様に、最後にデータが格納された領域の1つ上のアドレスを示すことになる。
を取り出して、命令で指定されたレジスタに格納され、スタックポインタ1233の値も
、図19(C)から図18(B)に変化するように、最後にデータが取り出された領域の
アドレスを示すことになる。
アドレスの1つ上のアドレス(言い換えれば、最後に取り出されたデータのアドレス)を
、スタックポインタ1233によって示している。すなわち、現時点でのスタックポイン
タ1233は、次のスタック領域706に格納されるデータのアドレスを示している。
領域706から取り出されるデータのアドレスを示すような方法も考えられる。このよう
な変形例を図20に示す。
に何もデータが格納されていない状態を示している。この場合、スタックポインタ(SP
)1233は、スタック領域の最終領域(29FFH)の1つ下のアドレス(2A00H
)をスタックポインタ初期値として示している。なお、このスタックポインタ初期値が示
す領域は、スタック領域には含まれない領域(本実施形態では、ユーザワークRAM10
4の記憶領域にも含まれていない領域)である。
ルーチン呼び出しによって、スタック領域706に戻りアドレスなどのデータが格納され
た状態を示している。この場合、最後にデータ(又はアドレス)が格納された領域を、ス
タックポインタ1233によって示すことになる。スタック領域706からデータを取り
だす場合は、現時点でスタックポインタ1233が示しているアドレスからデータを取り
出せばよい。
例えば、2900H〜29FFHの領域に割り当てられることが限定されている)のであ
れば、スタックポインタ1233は下位のアドレスのみを指定するだけで機能を発揮する
。このような構成においては、スタックポインタ1233を1バイトのレジスタで構成す
ることが可能であり、図20の方法よりも、図18及び図19の方法にてスタックポイン
タ1233によるアドレス指定を行う構成が効果的である。
る遊技制御プログラムを記述するためのアセンブリ言語の命令を説明する図である。各命
令は、対応するコードデータに変換されて、ユーザプログラムROM103の所定のアド
レスに記憶されている。図21は、変換後のコードデータにアドレス部を含まない命令(
変換後のコードデータが命令コード部のみで構成される命令)を示し、図22は、変換後
のコードデータに命令コード部とアドレス部の各々を含む命令を示している。なお、ここ
で対象となるレジスタは、図12に示すレジスタである。
格納する命令である。例えば、「LD A,B」は、Bレジスタ1204Aの値を、Aレ
ジスタ1202Aに格納する命令である。他の「LD A,C」〜「LD A,L」の命
令も同様に、対応するCレジスタ1205A〜Lレジスタ1211Aから値を抽出して、
Aレジスタ1202Aに格納する命令である。
る。例えば、「LD B,A」は、Aレジスタ1202Aの値を、Bレジスタ1204A
の値に格納する命令である。他の「LD C,A」〜「LD L,A」の命令も同様に、
Aレジスタ1202Aから値を抽出して、対応するCレジスタ1205A〜Lレジスタ1
211Aに格納する命令である。
行い、演算結果をAレジスタ1202Aに格納する命令である。例えば、「OR B」は
、Aレジスタ1202Aの値とBレジスタ1204Aの値とで、各ビット毎に論理和演算
を行い、演算結果をAレジスタ1202Aに格納する命令である。他の「OR C」〜「
OR L」の命令も同様に、Aレジスタ1202Aの値と、対応するCレジスタ1205
A〜Lレジスタ1211Aの値とで論理和演算を行い、演算結果をAレジスタ1202A
に格納する命令である。
1202Aの値を加算して、演算結果をAレジスタ1202Aに格納する命令である。実
質的には、Aレジスタ1202Aの値が2倍される演算が行われる命令である。命令21
04の「ADD HL,BC」は、HLレジスタ1212Aの値にBCレジスタ1206
Aの値を加算して、演算結果をHLレジスタ1212Aに格納する命令である。
アに格納する命令である。命令2106の「POP HL」は、スタックエリアから取り
出した値をHLレジスタ1212Aの値に格納する命令である。
る命令である。命令2108の「DEC HL」は、HLレジスタ1212Aの値を「1
」だけ減算する命令である。
して、そのアドレス先に分岐する命令である。例えば、HLレジスタ1212Aの値が「
1234H」であれば、命令解釈実行回路1242は、プログラムカウンタ1234の値
を「1234H」に変更する。これにより、次に、命令解釈実行回路1242が実行する
命令は、アドレスが「1234H」となる領域に格納されているコードを変換した命令と
なる。以降、命令解釈実行回路1242は、変更後のアドレス以降の命令を順次実行する
。
ことで、呼び出し先の処理ルーチンから、呼び出し元の処理ルーチンに復帰する命令であ
る。ここで、「RET」は、図22で後述する「CALL nn」命令の実行により呼び
出された処理ルーチンから復帰する命令であり、「RETI」は、INT割込により呼び
出された処理ルーチンから復帰する命令であり、「RETN」は、NMI割込により呼び
出された処理ルーチンから復帰する命令である。
の禁止を設定する命令であり、「EI」は割り込みの許可を設定する命令である。
タ1211Aに格納されている値を下位バイトとして合成した2バイトの値をアドレスと
見なして、そのアドレスの領域に記憶されている値を、Aレジスタ1202Aに設定する
命令である。具体的には、「2803H」のアドレスに記憶された値をAレジスタ120
2Aに設定したいときは、予め、Kレジスタ1230に「28H」の値を格納するととも
に、Lレジスタ1211Aに「03H」の値を格納し、その状態で「LDK A,(L)
」という命令を実行する。
納先の上位アドレスをKレジスタ1230に設定し、下位アドレスをLレジスタ1211
Aに設定した状態で、図に示す「LDK (L),A」という形式の命令を実行する。
だけ加算する命令である。ただし、Lレジスタ1211Aの値が「FFH」のときに、「
INC L」命令を実行すると、命令実行後のLレジスタ1211Aの値が「00H」に
なる。
だけ減算する命令である。ただし、Lレジスタ1211Aの値が「00H」のときに、「
DEC L」命令を実行すると、命令実行後のLレジスタ1211Aの値が「FFH」に
なる。
タ」のビットに値を設定するための命令である。「LD RBS,0」は該当ビットに「
0」の値を設定する命令であり、「LD RBS,1」は該当ビットに「1」の値を設定
する命令である。
リアに格納する命令である。命令2107の「POP FLG」は、スタックエリアから
取り出した値をフラグレジスタ1200に格納する命令である。
は、ユーザプログラムROM103に記憶される際に、1バイトの命令コード部を構成す
るコードデータに変換される。例えば、「LD A,B」の命令は、「78H」という1
バイトのコードデータに変換されて、ユーザプログラムROM103の所定アドレスに記
憶されている。
プログラムROM103に記憶される際に、2バイトの命令コード部を構成するコードデ
ータに変換される。例えば、「LD RBS,0」は、「CBH」「00H」という2バ
イトのコードデータに変換され、ユーザプログラムROM103の連続する所定のアドレ
スに記憶されている。
定する命令である。図中の「n」はレジスタに設定する値を示しており、例えば、Aレジ
スタ1202Aに「42H」の値を設定したいときは、「LD A,42H」という命令
になる。
トの命令コード部と、1バイトのアドレス部とからなる計2バイトのコードデータに変換
される。例えば、「LD A,42H」の命令は、1バイトの命令コード部のデータ「3
EH」と、1バイトのアドレス部のデータ「42H」とに変換され、ユーザプログラムR
OM103の連続する所定のアドレスに「3EH」、「42H」の順で記憶されている。
定する命令であり、「LD K,n」は、Kレジスタ1230に任意の1バイトの値(n
)を設定する命令である。これらの命令も、1バイトの命令コード部と、1バイトのアド
レス部のデータに変換されて、ユーザプログラムROM103の連続する所定のアドレス
に記憶されている。
に設定する命令である。図中の「nn」は2バイトのアドレス値を示しており、例えば、
「2901H」のアドレスに記憶された値をAレジスタ1202Aに設定したいときは、
「LD A,(2901H)」という命令になる。
すように「LD (nn),A」という形式の命令になる。例えば、Aレジスタ1202
Aの値を「2901H」のアドレスの領域に格納したいときは、「LD (2901H)
,A」という命令になる。
令コード部と、2バイトのアドレス部とからなる計3バイトのコードデータに変換される
。例えば、「LD A,(2901H)」の命令は、1バイトの命令コード部のデータ「
3AH」と、2バイトのアドレス部のデータ「01H」「29H」とに変換され、ユーザ
プログラムROM103の連続する所定のアドレスに、「3AH」、「01H」、「29
H」の順で記憶されている。
バイトの値で示される値を下位バイトとして合成した2バイトの値をアドレスと見なして
、そのアドレスの領域に記憶されている値を、Aレジスタ1202Aに設定する命令であ
る。この場合の任意の1バイトの下位アドレスは、図中の「n」に対応している。
したいときは、予めKレジスタ1230に「28H」の値を格納しておき、その状態で「
LDK A,(03H)」という命令を実行する。
納先の上位アドレスをKレジスタ1230に設定した状態で、図に示す「LDK (n)
,A」という形式の命令を実行する。例えば、Aレジスタ1202Aの値を「2803H
」のアドレスの領域に格納したいときは、Kレジスタ1230の値を「28H」に設定し
た状態で、「LDK (03H),A」という命令を実行する。
令コード部と、1バイトのアドレス部とからなる計2バイトのコードデータに変換される
。例えば、「LDK A,(03H)」の命令は、1バイトの命令コード部のデータ「3
FH」と、1バイトのアドレス部のデータ「03H」とに変換され、ユーザプログラムR
OM103の連続する所定のアドレスに、「3FH」、「03H」の順で記憶されている
。
の「nn」はレジスタに設定する2バイトの値を示しており、例えば、HLレジスタ12
12Aに「5678H」の値を設定したいときは、「LD HL,5678H」という命
令になる。
トの命令コード部と、2バイトのアドレス部とからなる計2バイトのコードデータに変換
される。例えば、「LD HL,5678H」の命令は、1バイトの命令コード部のデー
タ「21H」と、2バイトのアドレス部のデータ「78H」「56H」とに変換され、ユ
ーザプログラムROM103の連続する所定のアドレスに「21H」、「78H」、「5
6H」の順で記憶されている。
n)を設定する命令である。これらの命令も、1バイトの命令コード部と、2バイトのア
ドレス部のデータに変換されて、ユーザプログラムROM103の連続する所定のアドレ
スに記憶されている。
Lレジスタ1212Aに設定する命令である。図中の「nn」は連続する小さいほうのア
ドレス値を示しており、例えば、「2901H」と「2902H」の各アドレスに記憶さ
れた値をHLレジスタ1212Aに設定したいときは、「LD HL,(2901H)」
という命令になる。このとき、「2901H」のアドレスに格納されている値がLレジス
タ1211Aに格納され、「2902H」のアドレスに格納されている値がHレジスタ1
210Aに格納される。
は、図に示すように「LD (nn),HL」という形式の命令になる。例えば、HLレ
ジスタ1212Aの値を、「2901H」と「2902H」の各アドレスの領域に格納し
たいときは、「LD (2901H),HL」という命令になる。このとき、Lレジスタ
1211Aの値が「2901H」のアドレスに格納され、Hレジスタ1210Aの値が「
2902H」のアドレスに格納される。
令コード部と、2バイトのアドレス部とからなる計3バイトのコードデータに変換される
。例えば、「LD HL,(2901H)」の命令は、1バイトの命令コード部のデータ
「2AH」と、2バイトのアドレス部のデータ「01H」「29H」とに変換され、ユー
ザプログラムROM103の連続する所定のアドレスに、「2AH」、「01H」、「2
9H」の順で記憶されている。
バイトの値で示される値を下位バイトとして合成した2バイトの値をアドレスと見なして
、そのアドレスの領域に記憶されている値と、当該アドレスに続くアドレスに記憶されて
いる値の各々を、HLレジスタ1212Aに設定する命令である。この場合の任意の1バ
イトの下位アドレスは、図中の「n」に対応している。
スタ1212Aに設定したいときは、予めKレジスタ1230に「28H」の値を格納し
ておき、その状態で「LDK HL,(03H)」という命令を実行する。これにより、
「2803H」のアドレスに格納されている値がLレジスタ1211Aに格納され、「2
804H」のアドレスに格納されている値がHレジスタ1210Aに格納される。
格納先の上位アドレスをKレジスタ1230に設定した状態で、図に示す「LDK (n
),HL」という形式の命令を実行する。例えば、HLレジスタ1212Aの値を「28
03H」及び「2804H」のアドレスの領域に格納したいときは、Kレジスタ1230
の値を「28H」に設定した状態で、「LDK (03H),HL」という命令を実行す
る。
令コード部と、1バイトのアドレス部とからなる計2バイトのコードデータに変換される
。例えば、「LDK HL,(03H)」の命令は、1バイトの命令コード部のデータ「
2FH」と、1バイトのアドレス部のデータ「03H」とに変換され、ユーザプログラム
ROM103の連続する所定のアドレスに、「3FH」、「03H」の順で記憶されてい
る。
分岐先のアドレスを示しており、例えば、「5678H」のアドレスに処理に分岐させる
ときは、「JP 5678H」という命令になる。この命令を実行すると、命令解釈実行
回路1242は、指定するアドレスの値をプログラムカウンタ1234に設定する。
かかわらず、指定するアドレスに処理を分岐する。フラグレジスタ1200のゼロフラグ
1306(図13)がセットされているときのみ分岐を行いたい場合は「JP Z,nn
」の命令を用い、このゼロフラグ1306がクリアされているときのみ分岐を行いたい場
合は「JP NZ,nn」の命令を用いる。
トの命令コード部と、2バイトのアドレス部とからなる計2バイトのコードデータに変換
される。例えば、「JP 5678H」の命令は、1バイトの命令コード部のデータ「C
3H」と、2バイトのアドレス部のデータ「78H」「56H」とに変換され、ユーザプ
ログラムROM103の連続する所定のアドレスに「C3H」、「78H」、「56H」
の順で記憶されている。
し先の処理ルーチンに一時的に分岐させる命令である。図中の「nn」は呼び出し先のア
ドレスを示しており、例えば、「5678H」のアドレスの処理を呼び出すときは、「C
ALL 5678H」という命令になる。この命令を実行すると、命令解釈実行回路12
42は、現在実行中の命令の次のステップに位置するアドレスの値を、戻り先のアドレス
としてスタックエリアに格納した上で、分岐先のアドレスの値をプログラムカウンタ12
34に設定する。
ることで、プログラムカウンタ1234には、スタックエリアに格納された戻り先のアド
レスの値を復帰させることができる。これにより、呼び出し元の処理ルーチンのアドレス
に処理を戻すことができる。
トの命令コード部と、2バイトのアドレス部とからなる計2バイトのコードデータに変換
される。例えば、「CALL 5678H」の命令は、1バイトの命令コード部のデータ
「CDH」と、2バイトのアドレス部のデータ「78H」「56H」とに変換され、ユー
ザプログラムROM103の連続する所定のアドレスに「C3H」、「78H」、「56
H」の順で記憶されている。
10、及び演出制御装置150)の電源投入時処理のフローチャートである。
であり、図23(B)は、払出制御装置210の電源投入時処理のフローチャートであり
、図23(C)は、演出制御装置150の電源投入時処理のフローチャートである。
源投入時処理は、ユーザプログラムROM602(図5参照)に記憶された遊技制御プロ
グラムによって実行される処理ではなく、遊技制御装置100に備わる各種ハードウェア
(CPUコア102周辺のハードウェア)によって実行される処理である。
る(2301)。
RAMアクセス規制回路640のフリップフロップ回路641のリセット端子(図11参
照)、及びシリアル送信回路615のリセット端子に入力される。具体的には、これらの
リセット端子には、電源が投入されると、所定時間、所定の電圧(例えば、5V)以下の
電圧が印加されることによってリセット信号が入力され、所定時間経過後に所定の電圧が
印加されることによって、リセット信号が入力されなくなる。
後述のセキュリティチェック処理が終了するまでCPUコア102のリセット端子にリセ
ット信号を出力し続けて、CPUコア102の起動を待機させる。
アル送信回路615の入力端子及び出力端子の電圧レベルがローに制御され、各種装置(
普電SOL90、大入賞口SOL38等)に接続される出力I/F106のポートをすべ
て0に設定することにより、シリアル送信回路615、及び出力I/F106がハードウ
ェアにより初期化される(2302)。
み規制されるRAM書込禁止状態が発生する(2303)。
リセット信号が入力されるため、フリップフロップ回路641の出力端子Q(負論理)か
らハイレベルの信号が出力される状態となる。これにより、ORゲート回路642の他方
の入力端子にハイレベルの信号が入力されても、ローレベルの信号が入力されても、ユー
ザワークRAM104の書込指令入力端子にはハイレベルの信号が入力されることになる
ため、RAM書込禁止状態が発生する。このように、電源投入時にRAM書込禁止状態を
発生させることによって、誤ったタイミングでユーザワークRAM104が更新されるこ
とを防ぐことが可能となる。
を実行する(2304)。自己診断処理は、セキュリティ回路630が初期化されている
か否かを判定する処理である。
れた場合には、セキュリティ回路630は、セキュリティチェック処理を実行する(23
05)。セキュリティチェック処理は、図11で説明したように、HWパラメータROM
603(図5参照)に記憶された正当性確認情報を用いて、ユーザプログラムROM60
2(図5参照)に記憶されたプログラムの正当性の判定を行う処理である。
ログラム開始準備処理へ移行する。このとき、セキュリティ回路630は、CPUコア1
02のリセット端子に出力していたリセット信号を停止することで、CPUコア102が
起動する。このため、遊技制御装置プログラム開始準備処理は、CPUコア102によっ
て実行される。遊技制御装置プログラム開始準備処理は図24にて後述する。
うに、払出制御装置210は、シリアル送信回路615を備えていない点を除き、図11
に示した遊技制御装置100と同じ構成である。図11に示す遊技制御装置100の構成
部と同じ構成部については、同じ符号を付与して説明する。
る(2311)。なお、ステップ2311の処理は、ステップ2301の処理と同じであ
る。
力ポート(図4の入出力I/F216に含まれる)の電圧レベルが0に設定され、各種装
置(払出モータ220、及び発射制御装置221等)に接続される入出力I/F216の
ポートがすべて0に設定され、入出力I/F216がハードウェアにより初期化される(
2312)。
の書き込み規制されるRAM書込禁止状態が発生する(2313)。なお、ステップ23
13の処理の具体的な説明は、ステップ2303の処理と同じである。
診断処理を実行する(2314)。なお、ステップ2314の処理の具体的な説明は、ス
テップ2304の処理と同じである。
れた場合には、セキュリティ回路630は、セキュリティチェック処理を実行する(23
15)。なお、ステップ2315の処理の具体的な説明は、ステップ2305の処理と同
じである。
源投入時の初期化処理は、RAM214等を初期化する処理であって、CPU212によ
って実行される。また、RAM214を初期化する前に、ステップ2313の処理で発生
したRAM書込禁止状態が解除されて、RAM214はRAM書込可能状態となる。
させる(2317)。そして、払出制御装置210のCPU212は、遊技制御装置10
0から送信された指令が初期化指令であるか否かを判定する(2319)。ステップ23
19の処理で、遊技制御装置100から送信された指令が初期化指令でないと判定された
場合には(2319の結果が「N」)、初期化指令が取り込まれるまで待機する。
は(2319の結果が「N」)、払出制御装置210は通信開始時の初期化処理を実行し
(2320)、払出制御装置メイン処理へ移行する。
うに、演出制御装置150は、シリアル送信回路615を備えていない点、及び、遊技用
演算処理装置600がRAMアクセス規制回路640を備えていない点以外は、図11に
示した遊技制御装置100と同じ構成である。図11に示す遊技制御装置100の構成部
と同じ構成部については、同じ符号を付与して説明する。
る(2321)。なお、ステップ2321の処理は、ステップ2301の処理と同じであ
る。
力ポートがハードウェアにより初期化される(2322)。
源投入時の初期化処理は、RAM154等を初期化する処理であって、CPU152によ
って実行される。
させる(2324)。そして、遊技制御装置100から送信された指令が初期化指令であ
るか否かを判定する(2326)。
判定された場合には(2326の結果が「N」)、初期化指令が取り込まれるまで待機す
る。
あると判定された場合(2326の結果が「Y」」、演出制御装置150は通信開始時の
初期化処理を実行し(2327)、演出制御装置メイン処理へ移行する。
るフローチャートである。なお、遊技制御装置プログラム開始準備処理の前半(プログラ
ムカウンタ1234にリセットアドレスを設定するまでの間)は、ユーザプログラムRO
M602(図5参照)に記憶された遊技制御プログラムによって実行される処理ではなく
、CPUコア102に備わる初期値設定回路124(図12参照)によって実行される処
理である。
蔵リセット回路1240により、初期値設定回路1241を動作させる。このとき、内蔵
リセット回路1240は、初期値設定回路1241が各レジスタに初期値を設定するまで
、命令解釈実行回路1242の動作を待機させる。
9FFH」を設定し、Kレジスタ1230に「28H」を設定し、HLレジスタ1212
Aにリセットアドレスである「4000H」を設定し、他のレジスタには「00H」の値
(16ビットレジスタには「0000H」の値)を設定する(2401)。なお、リセッ
トアドレスは「0000H」としてもよい。
スである「4000H」の値を設定する(2402)。これにより、各レジスタに初期値
が設定される。次いで、内蔵リセット回路1240は、待機させていた命令解釈実行回路
1242を動作させると、命令解釈実行回路1242は、プログラムカウンタ1234が
示すアドレス(遊技制御プログラムが記憶されたユーザプログラムROM602のリセッ
トアドレスに相当)からプログラムの実行を開始する。命令解釈実行回路1242がプロ
グラムを実行開始した後の処理は、図25の遊技制御装置メイン処理にて説明する。
を、図25及び図26を用いて説明する。
ートであり、図26は、本発明の第1の実施の形態の遊技制御装置メイン処理の後半部の
フローチャートである。なお、これらの処理は遊技制御装置100によって実行されるが
、厳密には、命令解釈実行回路1242が、CPUコア102内部の各レジスタを参照し
ながら、遊技制御プログラムを実行することで実現される。
て、遊技制御装置100は、スタックポインタ1233(図12)に初期値「29FFH
」を設定する(2502A)。これにより、スタックポインタ1233の値が「29FF
H」でなければ「29FFH」に変更される。なお、スタックポインタ1233に初期値
「29FFH」が既に設定されていても、再度「29FFH」の値が設定される。
502B)。これにより、Kレジスタ1230の値が「28H」でなければ「28H」に
変更される。なお、Kレジスタ1230に初期値「28H」が既に設定されていても、再
度「28H」の値が設定される。
CPU102が内蔵デバイスからの割込要求の処理を可能とし、また、プログラムにおい
て割込要求の処理を実行する位置を設定することを可能とするものである。
り込み、取り込んだRAMクリアSW信号の状態をCPU102のレジスタに記憶する(
2504)。
2505)。このディレイ処理は、所定時間、処理を待機させる処理であり、具体的には
、チェックサムが算出されない記憶領域にて、所定の数が0になるまでデクリメントし続
ける処理である。ディレイ処理は、この所定の数を待機させる時間に対応する時間に設定
することによって、所定時間を計時するタイマ計時手段となる。なお、ディレイ処理の詳
細については、図28にて後述する。
態を取り込み、取り込んだRAMクリアSW信号の状態をCPU102のレジスタに記憶
する(2506)。なお、CPU102が二つのRAMクリア信号の状態を比較できるよ
うに、ステップ2504の処理でRAMクリアSW信号の状態を記憶するレジスタの領域
、及び、ステップ2506の処理でRAMクリアSW信号の状態を記憶するレジスタの領
域は、異なる領域である。
禁止状態をRAM書込可能状態にする(2507)。
子にクロック信号を出力制御回路612から入力させ、かつ、フリップフロップ回路64
1のデータ端子に接続された信号線の信号レベルをハイレベルにする。これにより、フリ
ップフロップ回路641の出力端子Q(正論理)からハイレベルの信号が出力され、出力
端子Q(負論理)からローレベルの信号が出力されるため、ORゲート回路642の入力
端子にローレベルの信号が入力されることにより、RAM書込可能状態になる。
る(2508)。この設定処理は、例えば、サブルーチンや関数を呼び出して、遊技制御
に必要な各種記憶領域に初期データを設定する処理である。この設定処理において、CP
U102により、図7〜図9で前述した、送信シリアルチャンネル設定レジスタ633、
送信制御レジスタ632、送信データステータスレジスタ631の各ビットの初期値が設
定されることで、送信ボーレート等の設定が行われる。
される形態となっており、遊技制御プログラムの容量削減に貢献している。一方で、サブ
ルーチンや関数を呼び出す際には、前述したように、戻りアドレスをスタック領域706
に待避する処理を必要とする。
MクリアSW信号の状態とステップ2508の処理でレジスタに記憶されたRAMクリア
SW信号の状態とを比較して、どちらのRAMクリアSW信号の状態も、RAMクリアS
W162が操作されたことを示しているか否かを判定する(2509)。
基づいてRAMクリアSW162が操作されたか否かを判定しているので、ノイズ等によ
る誤判定を防止できる。
遊技制御装置100は、ユーザワークRAM104のすべての記憶領域を初期化する(2
510)。
置150へ送信し(2511)、図26に示すステップ2517の処理に進む。
された場合、遊技制御装置100は、ユーザワークRAM104の第1停電復旧領域70
1及び第2停電復旧領域703に、電源遮断確認フラグが格納されているか(正確には、
電源遮断確認フラグがオンとなっているか)を確認する(2512)。
く実行されていたか否かを判定する(2513)。具体的には、遊技制御装置100は、
第1停電復旧領域701及び第2停電復旧領域703の両方に電源遮断確認フラグが格納
されている場合には、電源遮断の処理が正しく実行されているものであると判定し、一方
、第1停電復旧領域701及び第2停電復旧領域703の少なくとも一方に電源遮断確認
フラグが格納されていない場合(少なくとも一方の電源遮断確認フラグがオフの場合)に
は、電源遮断の処理が正しく実行されていないと判定する。
は、遊技制御装置100は、ユーザワークRAM104の第1停電復旧領域701、ワー
クエリア702、及び第2停電復旧領域703を用いてチェックサムを算出して、算出し
たチェックサムがチェックサム領域704に格納されているチェックサムと一致するか否
かを照合する(2514)。
ワークRAM104の第1停電復旧領域701、ワークエリア702、及び第2停電復旧
領域703を用いてチェックサムを算出して、格納されたものである。
れた情報と電源投入時のユーザワークRAM104に格納された情報とが一致するか否か
を照合する処理である。
領域704に格納されたチェックサムとが一致するものであるか否かを判定する(251
5)。
たチェックサムとが一致しないとステップ2515の処理で判定された場合、つまり、停
電検出時のユーザワークRAM104に格納された情報と電源投入時のユーザワークRA
M104に格納された情報とが一致しない場合には、遊技制御装置100は、ステップ2
510の処理に進み、ユーザワークRAM104のすべての領域を初期化し、ステップ2
511の処理にて初期化指令を払出制御装置210及び演出制御装置150に送信する。
納されたチェックサムとが一致するとステップ2515の処理で判定された場合、つまり
、停電検出時のユーザワークRAM104に格納された情報と電源投入時のユーザワーク
RAM104に格納された情報とが一致する場合には、遊技制御装置100は、遊技制御
装置100の起動に必要な領域(ユーザワークRAM104の一部の領域)を初期化する
(2516)。このとき、ユーザワークRAM104の第1停電復旧領域701及び第2
停電復旧領域703の各々にて、電源遮断確認フラグが消去(正確には、各領域にて電源
遮断確認フラグがオフ)される。そして、遊技制御装置100は、初期化指令を払出制御
装置210及び演出制御装置150に送信する(2511)。
いで、図26に示すステップ2517の処理に進む。
50に送信された後、遊技制御装置100は、各種時間を計測やタイマ割込みを行うため
のCTC(Counter Timer Circuit)を起動し(2517)、遊技制御に関する乱数を生
成する乱数生成回路608(図5)を初期化する(2518)。そして、遊技制御装置1
00は、ステップ2501の処理で禁止されたCPU102への割込みを許可する(25
19)。
2520)。初期値乱数とは、遊技制御に関する乱数のカウンタ(例えば、始動入賞口へ
入賞したタイミングで取得される乱数のカウンタ)が上限値に達した場合に初期値に戻る
が、その初期値を決定するための乱数である。
)、ステップ2521の処理での確認結果が、停電検出信号が入力されたことを示すか否
かを判定する(2522)。
プ2522の結果が「N」)、停電は発生していないので、ステップ2520の処理に戻
る。
ステップ2522の結果が「Y」)、遊技制御装置100により停電処理が実行される。
まず、遊技制御装置100は、CPU102への割込みを禁止し(2523)、出力I/
F106に備わる出力ポートの電圧レベルをローレベルに設定する(2524)。
び第2停電復旧領域703に、電源遮断確認フラグを格納(正確には、各領域にて電源遮
断確認フラグをオン)し(2525)、ユーザワークRAM104の第1停電復旧領域7
01、ワークエリア702、及び第2停電復旧領域703を用いてチェックサムを算出し
て、算出したチェックサムをチェックサム領域704に格納する(2526)。
AM104をRAM書込禁止状態にする(2527)。
子にクロック信号を出力制御回路612から入力させ、かつ、フリップフロップ回路64
1のデータ端子に接続された信号線の信号レベルをローレベルにする。これにより、フリ
ップフロップ回路641の出力端子Q(正論理)からローレベルの信号が出力され、出力
端子Q(負論理)からハイレベルの信号が出力されるため、ORゲート回路642の入力
端子にハイレベルの信号が入力されることにより、RAM書込禁止状態になる。
なお、遊技制御装置100には、バックアップ電源が接続されているので、停電が発生し
ても、すぐに電源が切れることはない。
4と電源投入時のユーザワークRAM104との正当性を判定する前のステップ2507
の処理でRAM書込可能状態にしたが、RAM書込可能状態にするタイミングは、遅くと
もステップ2514の処理の正当性に応じて行われるステップ2510又は2516の処
理におけるユーザワークRAM104の初期化処理の実行直前であればよい。
た後は、ユーザワークRAM104をRAM書込禁止状態に設定し、遊技機1にて再度電
源供給が復帰したときでも、すぐにユーザワークRAM104をRAM書込可能状態とし
ないで、ハードウェアに関する初期化処理を一定時間実行し、ステップ2514の処理の
正当性に応じて行われるステップ2510又は2516の処理におけるユーザワークRA
M104の初期化処理の実行直前になって、ようやくRAM書込可能状態にすることによ
って、ユーザワークRAM104の初期化まで不用意なユーザワークRAM104の書き
込みを防止できる。
込禁止状態になっているので、電源投入後にユーザワークRAM104に誤った書き込み
がなされ、ステップ2514の処理で誤った判定がされることを防止できる。
定処理を実行するために、ステップ2514の処理における正当性判定処理の前のステッ
プ2507の処理でRAM書込可能状態にしている。
6を用いた各種設定処理を行うことができるようになるため、遊技制御装置100の各種
設定を早い段階で行うことができるので遊技制御装置100の起動を高速化でき、また、
スタック領域706を用いるので処理プログラムが共通化でき、プログラム容量を削減で
きる。
を初期化した後、ステップ2515の処理で初期化指令信号を送信しているが、ステップ
2514における正当性判定の実行前のステップ2508の処理の実行後に初期化指令信
号を送信してもよい。
性判定に寄与しないスタック領域706又はCPU102に備わるレジスタを用いて、初
期化指令信号を送信する。
04とは別個に、遊技制御装置100に所定のタイマ回路などを設けて、このタイマ回路
に備えられた記憶領域を更新させるような方法でも実現可能である。言い換えれば、正当
性判定に影響のない記憶領域であれば、どのようなものを用いても適用が可能であり、好
ましくは、ユーザワークRAM104と記憶領域とを分離できれば、CPU102のプロ
グラムも簡素化されるということである。
であるステップ2516の処理が、RAM104の全領域を初期化する処理であるステッ
プ2510の処理よりも実行時間が長いため、ステップ2510の処理を実行するかステ
ップ2516の処理を実行するかによって、初期化指令信号が送信される時間が異なって
しまう。
によって、ステップ2511の処理で初期化指令信号を送信するよりも早く初期化指令信
号を送信できる。また、電源投入から一定時間で初期化指令信号を送信することができる
。
テップ2501からステップ2502Bまでの処理を説明する図である。ここでは、図1
2で前述した各種レジスタ、図21及び図22で前述したアセンブリ言語を用いて説明を
行うことにする。
グラムROM103のアドレスを示し、列2720は、当該アドレスに格納されているデ
ータを示している。例えば、ユーザプログラムROM103の「4000H」のアドレス
には「F3H」のデータが格納され、続く「4001H」のアドレスには「31H」のデ
ータが格納され、続く「4002H」のアドレスには「00H」のデータが格納され、続
く「4003H」のアドレスには「2AH」のデータが格納されている。
の割込禁止処理に対応し、この命令に対応するコード「F3H」の値がアドレス「400
0H」の領域に格納される。
SP)に対応するSPレジスタ1233に初期アドレスとして「29FFH」を設定する
。
に、上位アドレスのデフォルトの初期値「28H」を設定する。このように、Kレジスタ
1230に予め「28H」を設定しておくことによって、「28H」を上位バイトとし、
さらに任意の1バイトの値で示される値を下位バイトとして合成した2バイトの値をアド
レスと見なして、そのアドレスの領域に記憶されている値を所定のレジスタに設定するこ
とができる。例えば、「2803H」のアドレスに記憶された値をAレジスタ1202A
に設定したい場合には、「LDK A,(03H)」という命令を実行すればよい。こう
することによって、2バイトのアドレスの全てを直接指定する場合よりもコード量を1バ
イト分削減することができる。特に、特定の領域を指定する頻度が大きいほど削減される
コード量を大きくすることができる。本実施形態では、例えば、変動表示ゲームが実行さ
れるたびにシフトされ、アクセス頻度の多い始動記憶を格納するアドレスを指定する場合
に使用される。また、Kレジスタを有効に活用するために、これらの始動記憶の上位アド
レスは「28H」となるように配置されている。
セットアドレスである。よって、リセット信号の発生時には、まず、この「4000H」
に配置されたコードの命令が実行され、その後は、以降のアドレスに配置された命令が順
次実行される。
1233に「29FFH」がハード的に設定されるので、行2702の命令は、省略(言
い換えれば、図25のステップ2502Aを省略)することも可能である。同様に、リセ
ット信号が発生すると、初期値設定回路1241によってKレジスタ1230に「28H
」がハード的に設定されるので、行2703の命令は、省略(言い換えれば、図25のス
テップ2502Bを省略)することも可能である。ただし、初期値設定回路1241が機
能せずに、プログラムカウンタ1234の値のみがリセットアドレスの値に変更される事
態を想定するのであれば、行2702及び行2703の命令を配置しておくことにも意味
がある。
イ処理を実行している時点では、ユーザワークRAM104の値が更新できないようにR
AM書込禁止状態となっている。これは、直前の停電発生時に格納されたチェックサムと
、電源投入直後となる現時点でのチェックサムとの照合を行うためである。
行われる記憶領域が含まれたユーザワークRAM104を用いずに、他の記憶領域(正当
性判定の対象とならない判定対象外記憶領域)を用いてディレイ処理を実行しなければな
らない。そこで、本実施形態のディレイ処理は、CPUコア102に備わるレジスタ(汎
用レジスタ)を用いて実行される。
用せずに、レジスタを用いたディレイ処理を説明する。なお、CPUコア102として、
Z80系のCPUを用いるものとするので、Z80系のCPUで使用されるレジスタ及び
アセンブリ言語を用いて説明を行う。
格納されているユーザプログラムROM103のアドレスを示し、列2820は、図27
の列2720同様に、当該アドレスに格納されているデータを示している。
ジスタ(図11参照)のHレジスタ及びLレジスタを1つのペアとして構成したHLレジ
スタに、「0603H」をロードする。具体的には、Hレジスタに「06H」がロードさ
れ、Lレジスタには「03H」がロードされる。
って、行2802が最初に実行された後、HLレジスタの値は「0602H」となる。
そして、行2804を実行し、AレジスタとLレジスタとの論理和を算出する。行280
5では、行2804で算出された論理和がゼロでなければ(NZ)、行2802(アドレ
スが4023Hとなる行)に戻る。したがって、Hレジスタ及びLレジスタの両方が「0
0H」となるまで、行2802から2805までの処理を繰り返すことになる。
れた「0603H」(=1539)が「0000H」になるまでデクリメントされるもの
で、合計1539回デクリメントが行われる。この間、図25に示す遊技制御装置メイン
処理は、ステップ2505の処理で待機するため、遊技制御装置100の起動が遅延する
こととなる。
を、繰り返し回数(「0603H」=1539)分だけ実行した時間となる。そこで、行
2803から2805までの各行の実行時間を算出する。各行には実行される命令が定義
されており、各命令には、実行に必要なCPUのクロックサイクル数(ステート数)が対
応している。したがって、1ステート当りの時間を各命令に対応するステート数に乗じる
ことによって各命令の実行時間を算出することができる。
CPUの動作クロックとなるため、1/10000000=100n秒が1ステート当り
の処理時間となる。以下、具体的に各行の処理時間を算出する。
る。したがって、行2802の処理時間は6×100n秒=600n秒となる。同様に、
行2803で実行されるロード「LD」命令のステート(数)は4、及び、行2804で
実行されるロード「OR」命令のステート(数)は4となっており、それぞれの処理時間
は4×100n秒=400n秒となっている。さらに、行2805で実行されるジャンプ
「JP」命令のステート(数)は行2804の演算結果が非0の場合には12、0の場合
には7となっている。0の場合は遅延時間終了時だけであるため、ステート数を12とす
ると、処理時間は12×100n秒=1200n秒となる。
+1200n秒=2600n秒となる。そして、繰り返し回数は、1539回であるため
、2600n秒×1539=4.0014m秒となり、約4秒の遅延時間となる。したが
って、この場合のディレイ処理は、4秒間を計時するタイマ計時手段となっている。
い。すなわち、正当性の判定が行われる記憶領域が含まれたユーザワークRAM104の
値を書き換えることなく、ディレイ処理を実行することができる。
与しない、つまり、チェックサムを算出しない領域を用いてソフトウェアにより実現(維
持タイマを計時)しているので、図25に示すステップ2514の正当性判定を正確に行
うことができるとともに、ハードウェアでディレイ処理を実現するよりも安価に実現する
ことができる。
394号公報に開示されるような技術が知られており、この遊技機では、電源が断たれた
後の復帰時に、払出しの不都合な状態が解消するまで賞媒体の払出し動作を停止できるよ
うにすること、さらに、賞媒体の払出しに関して遊技者とホール側とでトラブルが発生し
ないようにすることを目的として、停電からの復帰時に、払出し制御手段が主制御手段よ
りも先に起動して払出し制御が開始された場合、初期化スイッチが操作されていないため
、払出し動作復帰処理が実行され、その後、主制御手段から払出し再開コマンドを受信す
るまで、払出し動作を停止して、払出し再開可能な状態で待機する構成となっている。
出スイッチからの検出スイッチに基づいて払出しに関するエラーを検出しない場合に、主
制御手段から払出し再開コマンドが送信されてくるので、払出し制御手段はその払出し再
開コマンド受信をきっかけに払出し動作を再開する構成となっている。
めに、主制御手段(主制御基板39)に遅延回路90を設けて、リセット信号発生手段7
7からのリセット信号が、払出し制御手段(払出し制御基板46)に到達するよりも時間
tだけ遅延して主制御手段に到達するように構成しているので(特開2002−2243
94号公報の段落[0051]〜[0053]、図9、図11参照)、遅延回路90など
のハードウェアが必要であるため、コストが高くなってしまうという問題があった。また
、遅延回路90はハードウェアで構成されているため、遅延の時間値をプログラムで変更
できないという問題もあった。
PUを用いてソフトウェアによって実現すれば、コスト面での課題が解決するが、CPU
を用いて遅延時間を計時するためには、主制御手段(主制御基板39)のバックアップ用
メモリ39bを用いなければならず、この場合、主制御手段が起動後にバックアップ用メ
モリ39bの正当性を確認して、バックアップ用メモリ39bが使用可能な状態になって
から遅延時間を計時するので、遊技機全体の起動が遅れてしまうという課題を残していた
。そのため、ソフトウェアによって遊技制御装置の起動を従属制御装置の起動よりも遅延
させることによってコストダウンを図りつつも、遊技機全体の起動が遅延してしまうこと
を防止する遊技機が提供されることが望まれていた。
スタック領域を利用してディレイ処理を実行するほうが有効である。ただし、正当性判定
の対象となっている第1停電復旧領域701、ワークエリア702、第2停電復旧領域7
03、チェックサム領域704の各記憶領域を、ノイズ等によって書き換えてしまうこと
を極力防止したいのであれば、ディレイ処理中を通してユーザワークRAM104をRA
M書込禁止状態とし、図28に示したスタック領域を利用しないディレイ処理を実行する
ほうが有効ともいえる。
することが可能となるが、演算処理速度を高速化すると、ディレイ処理におけるループ回
数(図28では「0603H」=1539回)を高速化した分だけ大きくする必要がある
。しかしながら、演算処理速度を高速化しすぎると、ループ回数が大きくなりすぎてしま
い、ループ回数を格納するレジスタのバイト数が所定バイト数(例えば、2バイト)を超
えてしまい、プログラムの容量が大きくなってしまう。そこで、図28にて説明したよう
に、ループ回数を格納するレジスタのバイト数が2バイトに収まる(ループ回数が655
36回を超えない)ようにCPU102の動作速度(クロック数)を設定することによっ
て、高速通信を実現しながらもプログラム容量の増大を抑えることが可能となる。
このタイマ割込処理は、遊技制御装置100のCPUコア102によって実行される。
行される。そして、ステップ2517の処理で起動させたCTCによって、所定時間周期
(例えば、4ミリ秒周期)でタイマ割込みが発生すると、遊技制御装置100のCPU1
02によって、タイマ割込処理が繰り返し実行される。ただし、これらの処理(2912
〜2922の処理)は、割り込み発生毎に必ずしもすべて行なわれなくてもよい。例えば
、ステップ2912の入出力処理においては、毎回入力信号を監視するが、出力処理は割
り込みの発生の1回おきに実行されてもよい。つまり、1回の割込処理で一通りの処理を
すべて完了するのではなく、この割込処理が複数回繰り返し実行されて一連の遊技制御処
理が完了するようにしてもよい。
タをスタック領域706に退避する(2911)。ここでは、遊技制御プログラムに記述
された命令を実行することにより、CPUコア102の内部のレジスタ(図12参照)の
中から、タイマ割込処理が呼び出される直前の処理(呼出元処理)で使用されていたもの
を選択して、スタック領域706に退避させる処理が行われる。
うに、当該タイマ割込処理が開始する時点で既にスタック領域706に退避されているの
で、改めて命令を実行させる必要はない。
力処理と出力処理とを含む。入力処理は、入力I/F105を介して各種センサ(特図始
動SW34A、普図始動SW31A、カウントSW36A、入賞口SW32A〜32N、
オーバーフローSW109、球切れSW110、枠開放SW111など)から入力される
信号にチャタリング除去等の処理をし、入力情報を確定する処理である。
処理(2920)にて設定されたパラメータに基づいて、特図表示器120、普図表示器
121、普電SOL90、及び大入賞口SOL38を制御するための信号を出力する。
れなくてもよい。
演出制御装置150及び払出制御装置210等に出力するコマンド送信処理を行う(29
13)。具体的には、演出制御装置150に特別図柄変動表示ゲームに係わる演出指令信
号(演出コマンド)を出力したり、払出制御装置210に排出指令信号(払出指令信号、
払出コマンド)を出力したりする。コマンド送信処理の詳細については、図31にて後述
する。なお、払出コマンドについては図33にて詳細を説明し、演出コマンドについては
図35にて詳細を説明する。
の大当り乱数カウンタ(図15の大当り乱数の生成領域)の値を1ずつ加算する乱数更新
処理1を行う(2914)。なお、この乱数更新処理1では、特別図柄変動表示ゲームの
停止図柄を決定する大当り図柄乱数カウンタ(図15の大当り図柄乱数の生成領域)の値
、普通図柄変動表示ゲームの当りはずれを判定するための普図乱数カウンタ(図15の普
図乱数生成領域)にも1ずつ加算する。
めの初期値乱数更新処理を実行する(2915)。ステップ2915の初期値乱数更新処
理は、図26に示す初期値乱数更新処理(2520)と同じなので、説明を省略する。
表示ゲームにおける変動表示パターンを決定する乱数を更新するための変動表示パターン
乱数カウンタ(図15の第1変動P乱数の生成領域、第2変動P乱数の生成領域、第3変
動P乱数の生成領域)の値を1ずつ加算する乱数更新処理2を行う(2916)。
、入賞口監視処理を行う(2917)。具体的には、第1特図始動SW37A、第2特図
始動SW34A、普図始動SW31A、カウントSW36A、入賞口SW32A〜32N
、から信号の入力があるか否か(遊技球の検出を示す信号が入力されているか否か)を監
視する。
SW36Aにより遊技球の検出数を計数して、特別変動入賞装置36へ入賞した遊技球の
数を計数する。この計数結果が所定数(例えば10個)になると、特別変動入賞装置36
を閉止して、次のラウンドに更新する処理を行う。
の値が所定数未満(例えば、「4個」未満)であることを条件に「1」だけ増加させ、普
図乱数カウンタ値(図15の普図乱数生成領域)が、普図保留カウンタに対応する普図始
動入賞記憶領域(図15)に記憶される。
視処理」にて、各種乱数値が、第1特図始動入賞記憶領域(図16)に記憶される。同様
に、第2特図始動SW34Aによる遊技球の検出があれば、後述する「始動口SW監視処
理」にて、各種乱数値が、第2特図始動入賞記憶領域(図17)に記憶される。
などを監視するエラー監視処理を行う(2918)。
ム処理(2919)、普通図柄変動表示ゲームに関する処理を行う普図ゲーム処理(29
20)を行う。
で検出された始動入賞口への遊技球の入賞に基づいて抽出され、特別図柄始動入賞記憶に
記憶された特別図柄乱数カウンタ値が当りか否か判定し、特図表示器120で特別図柄変
動表示ゲームを実行する。なお、特図始動入賞記憶には、直ちに前記変動表示ゲームを実
行することができない状態で始動入賞口に遊技球が入賞した場合に、抽出された乱数が始
動入賞記憶として記憶される。なお、特図ゲーム処理の詳細は、図37にて後述する。
の変動表示のための処理を行う。抽出された乱数が所定の値であれば、特別図柄に関する
当り状態となり、識別情報の変動表示が当り図柄で停止する。また、当り状態になると、
特別変動入賞装置36に遊技球を受け入れやすい開状態になる。
31への遊技球の通過に基づいて抽出され、普通図柄始動入賞記憶に記憶された普図乱数
カウンタ値(2917の処理で抽出・記憶された普通図柄変動表示ゲームの結果に関する
乱数)が当りか否かを判定し、普図保留カウンタの値を1だけ減算して、普図表示器12
1で普通図柄の変動表示ゲームを実行する。普図乱数カウンタ値が所定の値であれば、普
図に関する当り状態となり、普通図柄の変動表示が当り状態で停止するためのパラメータ
を設定する。
セグメントLED(特図表示器120及び普図表示器121)に出力する信号を編集する
処理を行う(2921)。具体的には、特別図柄変動表示ゲームが開始されると、今回開
始した特別図柄変動表示ゲームの実行回数を減じた特別図柄入賞記憶数を特図表示器12
0の特図記憶表示部に表示するためのパラメータを編集する。同様に、普通図柄の変動表
示ゲームが開始されると、今回開始した普通図柄変動表示ゲームの実行回数を減じた普通
図柄入賞記憶数を普図表示器121の普図記憶表示器に表示するためのパラメータを編集
する。
ンピュータに遊技機1の状態を出力するための外部情報を編集する外部情報編集処理を行
う(2922)。外部情報には、図柄が確定したか、当りであるか、確率変動中であるか
、変動時間短縮中であるか、変動表示ゲームのスタート等、変動表示ゲームの進行状態に
関連する情報が含まれる。また、エラーが発生したことを示すエラー信号も含まれる。
る復帰処理(2924)を行う。ここでは、遊技制御プログラムに記述された命令を実行
することにより、S2911のステップにて退避したレジスタの値を復帰させる。次いで
、禁止設定されていた割り込みの許可設定をする処理を行う(2925)。
る。ここでは、「RET」命令ではなく「RETI」命令を実行して、呼出元の処理に戻
る。そのため、スタック領域706に退避されていたフラグレジスタ1200(図12参
照)の値も復帰することになり、スタックポインタ1233が示す値も、図19の(D)
から図18の(B)の様に変化する。
える命令2115(「LD RBS,0」又は「LD RBS,1」)を実行することに
より、演算対象として用いるレジスタ群(汎用レジスタ群1220A、1220B)を切
り替えることも可能である。例えば、呼出元の処理では汎用レジスタ群1220Aのレジ
スタを用いる一方で、当該タイマ割込処理では汎用レジスタ群1220Bのレジスタを用
いるように切り替えることも可能である。
出元の処理とは異なるレジスタ群のレジスタが使用されるため、S2911のステップに
てレジスタを退避させるような処理や、S2911のステップにてレジスタを復帰させる
ような処理は不要である。
域706に退避されていたフラグレジスタ1200(図12参照)の値が復帰することに
なり、フラグレジスタ1200のレジスタバンクセレクタ(RBS)1301(図13参
照)の値も呼出前の状態に復帰する。そのため、図21に示す「レジスタバンクセレクタ
」を切り替える命令2115(「LD RBS,0」又は「LD RBS,1」)は、タ
イマ割込処理の先頭で1回だけ実行すればよい。
2520〜2522の処理)を繰り返す。
及び払出制御装置210に初期化指令信号を送信する初期化指令送信処理の手順を示すフ
ローチャートである。本処理は、図25のステップ2511の初期化指令送信処理に対応
する。
001)。具体的には、送信制御レジスタ632(図8)のビット4を“0”に設定して
、送信データレジスタ635からの信号の出力を禁止した状態に設定する。
る(3002)。そして、起動時の演出指令がすべて送信データレジスタ635に格納さ
れるまで処理を継続する(3003)。
(3003の結果が「N」)、起動時の排出指令を送信データレジスタ635に格納する
(3004)。そして、起動時の排出指令がすべて送信データレジスタ635に格納され
るまで処理を継続する(3005)。
演出指令及び排出指令の送信を許可状態に設定する(3006)。具体的には、送信制御
レジスタ632(図8)のビット4を“1”に設定して、送信データレジスタ635から
の信号の出力を許可した状態に設定する。
及び払出制御装置210にコマンドを送信するためのコマンド送信処理の手順を示すフロ
ーチャートである。本処理は、図29のステップ2913のコマンド送信処理に対応する
。
のビット4を“0”に設定して、まず、演出指令及び排出指令の送信を禁止状態に設定す
る(3101)。
込処理のタイミングで、演出制御装置150に対応する送信データレジスタ635に書き
込むべきデータが存在するか否か)を判定する(3102)。送信待ちの演出指令が存在
しない場合には(3102の結果が「N」)、ステップ3112以降の排出指令に関する
処理を実行する。
果が「Y」)、送信待ちの演出指令に変動開始の演出指令が含まれているか否かを判定す
る(3103)。変動開始の演出指令とは、図35にて後述する「停止図柄指定コマンド
(MODE=B0H)」と「飾り図柄変動パターン指定コマンド(MODE=B1H〜B
FH)」の各々に相当するコマンドであり、演出制御装置150は、このコマンドを受信
したことを契機に、表示装置8にて変動表示ゲームの実行を開始する。
には(3103の結果が「Y」)、変動開始の演出指令を送信データレジスタに格納する
(3104)。そして、送信待ちの演出指令に含まれているすべての変動開始の演出指令
が送信データレジスタに格納されるまで処理を継続する(3105)。
た場合(3103の結果が「N」)、又は送信待ちの演出指令に含まれている変動開始の
演出指令をすべて送信データレジスタに格納した場合には(3105の結果が「Y」)、
送信待ちの演出指令に他の演出指令が含まれているか否かを判定する(3106)。
い場合には(3106の結果が「N」)、ステップ3111の処理を実行し、続いて、排
出指令に関する処理を実行する。
ている場合には(3106の結果が「Y」)、送信バッファ(送信データバッファレジス
タ635A)に空きがあるか否かを判定する(3107)。具体的には、送信データステ
ータスレジスタ631(図9)のビット0〜5の値(送信データの残量を示す値)が“0
0h”〜“1Fh”であれば、空きがあると判定される。
を次回の送信タイミングに持ち越し(3108)、ステップ3111の処理を実行し、続
いて、排出指令に関する処理を実行する。
)、送信データレジスタに変動開始以外の演出指令を格納する(3109)。そして、送
信バッファの空きが無くなるか、すべての演出指令が送信データレジスタに格納されるま
で、ステップ3107から2110までの処理を継続する(3110)。
と、送信制御レジスタ632(図8)のビット4を“1”に設定することで、ステップ3
101の処理で禁止状態に設定されていた演出指令の送信を許可状態に設定する(311
1)。
合、変動開始の演出指令を優先して送信することによって、遊技制御装置100における
変動表示ゲームの進行状態と、演出制御装置150における変動表示ゲームの進行状態と
の時間差が常に固定されたものとなる。そのため、変動表示ゲームが開始される毎にこの
時間差が変化するような不具合を防止できるようになり、遊技制御装置100と演出制御
装置150とを同期させながら、表示装置8で実行される変動表示ゲームをより確実に実
行させることができる。演出指令の送信が終了すると、続いて、排出指令を払出制御装置
210に送信するための処理を実行する。
の立ち上がりがあるか否かを監視する(3112)。賞球を排出する入賞口に遊技球が入
賞すると、賞球排出対象SWがオンに設定される。そして、遊技制御装置100は、賞球
の排出に該当するスイッチが存在するか否かを判定する(3113)。
毎に記憶しておく記憶領域のことである。ここでは、SW制御領域のうち、遊技球検出に
よって賞球が排出されるスイッチのみが対象とされ、これら対象となったスイッチのうち
で、「立ち上がり情報」がオンとなっているものがあるか否かを判定している。
情報」がオンとなっている賞球排出対象のSWが存在する場合)には(3113の結果が
「Y」)、オンとなっている賞球排出対象SWの1つを選択し、選択されたSWに該当す
る排出指令を送信データレジスタに格納する(3114)。
も存在するかを確認する。遊技制御装置100は、他の賞球排出対象のSWがオンになっ
ていれば、オンとなっている賞球排出対象SWの1つをさらに選択し、選択されたSWに
該当する排出指令を送信データレジスタに格納する。そして、すべての賞球を排出する指
令が送信データレジスタに格納されるまで処理を継続する(3115)。
3の結果が「N」)、又は賞球の排出に該当するスイッチに対応する排出指令をすべて送
信データレジスタに格納した場合には、送信待ちの他の排出指令(払出制御装置210へ
エラー発生やエラー解除を指令するコマンドなど)が存在するか否かを判定する(311
6)。
果が「N」)、排出指令に関する送信を許可状態に設定し(3121)、呼び出し元に戻
る。
の結果が「Y」)、送信バッファに空きがあるか否かを判定する(3117)。具体的に
は、送信データステータスレジスタ631(図9)のビット0〜5の値(送信データの残
量を示す値)が“00h”〜“1Fh”であれば、空きがあると判定される。
を次回の送信タイミングに持ち越し(3118)、排出指令に関する送信を許可状態に設
定し(3121)、呼び出し元に戻る。
)、送信待ちの排出指令を送信データレジスタに格納する(3119)。そして、送信バ
ッファの空きが無くなるか、すべての排出指令が送信データレジスタに格納されるまで、
ステップ3117から3120までの処理を継続する(3120)。最後に、排出指令に
関する送信を許可状態に設定し(3121)、呼び出し元に戻る。
10に送信する場合に賞球排出指令を、その他の排出指令(エラー発生/解除の指令)よ
りも優先して送信することによって、賞球排出対象の複数のスイッチが、同一のタイマ割
込周期内で同時にオンした場合であっても、確実に賞球を排出させるように構成されてい
る。
遊技が円滑に進行するように制御し、さらに、優先されなかった制御指令については次回
割込発生時に送信することによって、送信漏れのない正確な指令送信を実現することが可
能となる。
置210、及び演出制御装置150が行う処理、並びに、遊技制御装置100に備わるシ
リアル送信回路615の状態のタイミングチャートである。
御装置150に接続されるシリアル送信回路615Aに伝達されると、図23に示すステ
ップ2302の処理により、各シリアル送信回路615が不定状態(3201)から初期
状態(3202)に移行する。
から出力される信号線のレベルは、ハイレベルであるのかローレベルであるのか保証され
ない状態である。一方、シリアル送信回路615がリセット信号により初期化されて初期
状態に遷移すると、シリアル送信回路615Bからの出力信号はオフを示すレベルに確定
される。
511の処理で初期化指令を送信するために、初期化指令が各シリアル送信回路615に
設定されるまで(3203)継続する。
図23に示すステップ2304の処理で自己診断処理を実行し、ステップ2305の処理
でセキュリティチェック処理を実行する(3204)。セキュリティチェック処理の実行
後にCPU102が起動し、CPU102によって遊技制御装置メイン処理(図25及び
図26)が実行される。
り込み(3205)と、ディレイ処理の実行後に2回目のRAMクリア信号の取り込み(
3207)と、を行う。言い換えると、1回目のRAMクリア信号取り込み(3205)
と2回目のRAMクリア信号取り込み(3207)とは、ディレイ処理(3206)を挟
んで実行される。
間に、ディレイ処理を実行するので、ディレイ処理の間に、1回目のRAMクリア信号取
り込みで取り込んだチャタリング除去等を行うことができる。
び1510の処理でRAM104の初期化処理を行い(3208)、ステップ2511の
処理で初期化指令を送信してから、通常の遊技制御を行う(3209)。
210に送信するために、払出制御指令が払出制御装置210に接続されるシリアル送信
回路615Bに設定される(3210)。また、通常の遊技制御の実行中には、遊技状態
に応じて、演出制御指令を演出制御装置150に送信するために、演出制御指令が演出制
御装置150に接続されるシリアル送信回路615Aに設定される(3211)。
制御装置210のセキュリティ回路は、図23に示すステップ2314の処理で自己診断
処理を実行し、ステップ2315の処理でセキュリティチェック処理を実行する(321
2)。セキュリティチェック処理の実行後にCPU212が起動し、CPU212によっ
て、図14のステップ2316の処理で電源投入時の初期化処理を実行する(3213)
。払出制御装置210の初期化処理が実行されると、払出制御装置210のシリアル受信
回路625を、遊技制御装置100からの指令を受信可能な状態にする(3214)。
23のステップ2323の処理で電源投入時の初期化処理を実行する(3215)。演出
制御装置150の初期化処理が実行されると、演出制御装置150のシリアル受信回路6
25を、遊技制御装置100からの指令を受信可能な状態にする(3216)。
実行開始のタイミングを遅延させている。言い換えると、ディレイ処理によって、演出制
御装置150や払出制御装置210へ初期化指令を送信するタイミングを遅延させている
。
615B及び演出制御装置150に接続されるシリアル送信回路615Aが初期状態を維
持する時間を十分に確保し、その間に、払出制御装置210及び演出制御装置150は、
初期化処理を実行し、自身のシリアル受信回路625を介して遊技制御装置100からの
指令を受信可能な状態にすることができる。
御装置100、払出制御装置210及び演出制御装置150に同時に伝達される構成の遊
技機であっても、ハードウェア等で構成した遅延回路を設けることなく、各制御装置が起
動を開始するタイミングを適切に設定することができる。
15B及び演出制御装置150に接続されるシリアル送信回路615Aが初期状態に維持
され、その状態で、払出制御装置210及び演出制御装置150のシリアル受信回路62
5が指令受信可能状態になり、次いで、払出制御装置210及び演出制御装置150に初
期化指令を送信させることを確実に実行できるようになる。
に接続されるシリアル送信回路615B及び演出制御装置150に接続されるシリアル送
信回路615Aが初期状態に維持される以前に、払出制御装置210若しくは演出制御装
置150のシリアル受信回路625が指令受信可能状態になると、払出制御装置210に
接続されるシリアル送信回路615B及び演出制御装置150に接続されるシリアル送信
回路615Aから出力される信号レベルが不安定であるから、払出制御装置210若しく
は演出制御装置150にてこの不安定な信号レベルの情報を、正規な信号であると誤って
受信するおそれがあり、誤作動を引き起こす可能性がある。
令受信可能状態になる前に、遊技制御装置100から、払出制御装置210若しくは演出
制御装置150へ初期化指令を送信してしまうと、払出制御装置210や演出制御装置1
50で初期化指令を受信できなくなり、誤作動を引き起こす可能性がある。
方向で指令を送信する構成や、遊技制御装置100から演出制御装置150へ単方向で指
令を送信する構成の場合には、指令された情報が正しく送信されているか否かを確認する
ことが困難であるため、初期化時に処理を遅延させることが有効である。
あればよい。この複数回の間にディレイ処理を実行することによって、ディレイ処理実行
直前のRAMクリア信号取り込みのチャタリング除去等にかかる時間をディレイ処理によ
る遅延時間と重複させることができるので、処理を効率化させることができる。
送信される排出指令の一例を示す図である。
初期化指令信号)と、賞球を排出する指令(排出指令信号)と、エラーの発生及び解除を
通知する指令(エラー通知信号)があり、モード部及びアクション部からなる共通のフォ
ーマットで送信される。
であり、アクション部は「00H〜7FH」のいずれかの値となる。初期化指令信号のア
クション部は、払出制御装置210に設定されている認証コードに対応する値(「00H
〜7FH」のいずれかの値)となる。この払出制御装置210に設定されている認証コー
ドに対応する値は、例えば、RAM104に設定されているものとする。なお、モード部
は「80H」以上の値、アクション部には「80H」未満の値が設定されており、モード
部を受信する場合に「80H」未満の値が送信された場合には不正なコマンドが送信され
てきたことを判別することが可能となっている。
図25に示すステップ2511の処理である。
媒体の個数に対応して、15個の排出指令信号が用意されている。
トは、排出指令信号が払い出しを指令する遊技媒体の個数と一致する。また、排出指令信
号のアクション部は「5EH〜50H」となる。このアクション部は、モード部の各ビッ
トの論理を反転した値となっている。
あり、アクション部は「5EH」である。すなわち、排出指令信号は、モード部とアクシ
ョン部とからなる2バイトのデータで構成されている。
賞口34、特別変動入賞装置(大入賞口)36に遊技球が入賞したタイミングで出力され
る。
ード部の各ビットの論理を反転した値が、アクション部の各ビットの値と一致しなければ
、受信した排出指令信号に対応する個数の遊技媒体の払い出しを許可しない。
ード部にエラーが発生したことを示す「C0H」が設定される。また、エラー通知信号の
アクション部は、発生したエラーの種類に対応する値(「00H〜7FH」のいずれかの
値)が設定される。
1H」が設定される。また、エラー解除信号のアクション部は、エラー通知信号の場合と
同様に、発生したエラーの種類に対応する値(「00H〜7FH」のいずれかの値)が設
定される。
イムチャートである。なお、図中のfは割込周期であり、割込周期の先頭でタイマ割込が
発生する。また、dは遅延時間を示す。スイッチの立ち上がり、すなわち、スイッチがオ
ンになったか否かの判定は、図29に示したタイマ割込処理のステップ2912の入出力
処理で行われる。なお、以下に示す、第1物理レベル、第2物理レベル、論理レベル、立
上り情報は、タイマ割込が発生する毎に更新され、遊技機に備えられたスイッチ毎に整理
されてSW制御領域(図31で前述)に記憶される。
明する。CPU102は、タイマ割込発生時の入出力処理(図29のステップ2912)
において、スイッチの検出信号のレベルが、前回設定された第1物理レベルと相違すると
(ローレベルからハイレベル、又は、ハイレベルからローレベルに変化)、第1物理レベ
ルを検出信号のレベルに新たに設定する。そして、所定の遅延時間が経過した後、スイッ
チの検出信号が、前回設定された第2物理レベルと相違する場合には、第2物理レベルを
検出信号のレベルに設定する。なお、第1物理レベルと第2物理レベルとは、検出タイミ
ングが異なるだけである。
たものと判断し、論理レベルに当該レベルを設定する。そして、論理レベルがローレベル
からハイレベルに変化した場合には、次のタイマ割込発生から遅延時間が経過するまで、
立ち上がり情報をオンに設定する。すなわち、立ち上がり情報をオンに設定した後、次の
タイマ割込発生でオフに設定する。
が相違する場合、すなわち、3403に示すように、第1物理レベル検出時と、第2物理
レベル検出時とで、スイッチの検出信号のレベルが相違する場合には、ノイズが発生した
ものとして、論理レベルを変更しないように構成されている。このように構成することに
よって、ノイズ発生時に誤って立上り情報がオンに設定されることを防ぎ、後述するよう
に、賞球排出指令が誤って払出制御装置210に送信されることを防ぐことができる。
報がオンとなったスイッチの中に賞球排出対象となるものが含まれている場合は、送信バ
ッファ(図6の送信データバッファレジスタ635A)に賞球排出指令が格納されること
で、遊技制御装置100から払出制御装置210に賞球排出指令が送信される。また、賞
球排出指令は、賞球排出の対象となる入賞スイッチ(図4における、第1特図始動SW3
7A、第2特図始動SW34A、カウントSW36A、及び入賞口SW32A〜入賞口S
W32N)ごとに定義される。なお、本発明の第1の実施の形態では、賞球排出の対象と
なる入賞スイッチが16個備えられている。
賞球排出指令が送信されないと、次回のタイマ割込発生時に、賞球排出対象のスイッチの
立上り情報がオンとなって新たに発生した賞球排出指令を、送信バッファに取り込めない
おそれがある。これを防止するには、新たに賞球排出指令が発生する度に、送信バッファ
に空きがあるか否かを確認して、空きがなければ次回送信時まで賞球排出指令を保持して
いなければならず、送信できない賞球排出指令を保持するための記憶領域(例えば、前述
したSW制御領域の立ち上がり情報を一時的に退避させる領域など)を必要としてしまう
。また、送信バッファに格納できなかった賞球排出指令を退避させる処理も必要となって
しまう。
るならば、払出制御装置210に指令を送信するためのバッファ(送信データレジスタ6
35)に格納できるデータの最大バイト数を10バイトとしておけば、同一タイマ割込周
期内で賞球排出対象の全てのスイッチが同時にオンしたとしても、全ての賞球排出指令を
バッファに取り込むことができる。しかしながら、賞球排出対象のスイッチが5個を超え
た場合には、バッファにはより多くの容量を必要とすることになる。
、賞球排出対象のスイッチが16個以下であれば、1回の割り込み発生時にすべての賞球
排出指令を遊技制御装置100から払出制御装置210に送信できるように構成されてい
る。したがって、送信されなかった賞球排出指令を保持するための記憶領域を必要とせず
、また、送信されていない賞球排出指令を退避させる処理も不要となるため、必要な記憶
容量を削減し、遊技制御装置100の制御プログラムを簡略化することができる。
送信される演出制御コマンドの一例を示す図である。
る演出コマンドとがあり、これらのモード部及びアクション部によって構成される共通の
フォーマットで送信される。
入コマンドと、遊技機1のシリーズを特定するためのシリーズ機特定コマンドとが含まれ
る。また、直前の電源遮断時における遊技機1の遊技状態(低確率状態、高確率状態、入
賞抑制状態、入賞促進状態)を通知するコマンドや直前の電源遮断時における特別図柄入
賞記憶の数を通知するコマンドも初期化コマンドに含まれる。
コマンドAのモード部は「80H」であり、アクション部は「01H」である。RAM1
04のすべての領域が初期化されたこととは、図25に示すステップ2510の処理が実
行されたことである。
の一部の領域が初期化されたことを示す電源投入コマンドBのモード部は「80H」であ
り、アクション部は「02H」である。RAM104のすべての領域が初期化されていな
いこと、つまり、RAM104の一部の領域が初期化されたこととは、図25に示すステ
ップ2516の処理が実行されたことである。
511の処理で、モード部が「80H」でアクション部が「01H」である電源投入コマ
ンドAが送信される。図25に示すステップ2516の処理が実行された場合には、ステ
ップ2511の処理で、モード部が「80H」でアクション部が「02H」である電源投
入コマンドAが送信される。
入コマンドAを受信すると、RAM104のすべての領域が初期化されたことを表示装置
8に表示する。
を示す電源投入コマンドBを受信すると、RAM104のすべての領域が初期化されてい
ないことを表示装置8に表示する。
H〜7FH」である。アクション部は、遊技機1のシリーズに対応する「01H」〜「7
FH」のいずれかの値である。なお、遊技機1のシリーズに対応する値は、ROM103
に設定されている。
コマンドは、モード部が「90H」となっており、アクション部には、直前の電源遮断時
における遊技状態別に対応付けられた値が格納される。例えば、低確率状態であればアク
ション部は「01H」であり、高確率状態であればアクション部は「02H」となる。演
出制御装置150は、遊技状態を通知するコマンドを受信すると、遊技状態を報知するた
めの演出を行う。
なっており、アクション部は「00H〜04H」のいずれかの値である。アクション部は
、直前の電源遮断時における始動記憶数(0〜4)に対応した値である。演出制御装置1
50は、保留情報コマンドを受信すると、表示装置8の記憶表示部(図49で後述する第
1記憶表示部4920又は第2記憶表示部4930)部に、受信した保留情報コマンドに
対応する始動記憶数を表示する。
数を通知するコマンドの出力時期は、電源投入時であり、図25に示すステップ2511
の処理で送信される。なお、これらの各信号と電源投入コマンドの出力順序は、いずれが
先であっても後であってもよい。さらに、電源投入時に、遊技制御装置100から演出制
御装置150へ通知すべき情報が他にもあれば、初期化コマンドとして一緒に送信しても
よい。
イミングで出力され、図柄の変動開始前に実行される演出を指示する変動前演出指定コマ
ンドについて説明する。
1H〜7FH」のいずれかの値である。モード部は前半変動パターン番号に対応し、アク
ション部は後半変動パターン番号に対応する。
別図柄の変動開始前の演出、例えば、先読み予告としてキャラクタが登場するなどの演出
が実行され、その後、図柄の変動表示を開始し、変動表示ゲームを開始する。
柄変動パターン指定コマンドについて説明する。
01H〜7FH」のいずれかの値である。モード部は前半変動パターン番号に対応し、ア
クション部は後半変動パターン番号に対応する。
において図柄の変動表示を開始し、変動表示ゲームを開始する。
動表示を開始するタイミングで送信する。具体的には、表示装置8で変動表示ゲームが終
了した場合に始動記憶がある場合、又は表示装置8で変動表示ゲームが実行されていない
場合に始動入賞口に遊技球が入賞した場合である。
マンドについて説明する。
H」のいずれかの値である。アクション部は、停止図柄に対応する値である。
マンドに基づいて、表示装置8における変動表示ゲームの停止図柄を特定する。
信される。
について説明する。
る。
ている図柄を停止させる。
FH」のいずれかの値である。アクション部は、特別遊技状態の進行状況に応じた値であ
る。
ドに基づいて、特別遊技状態に関連する演出を行う。
マンドについて説明する。
」のいずれかの値である。アクション部は発生したエラーに対応した値である。
いて、発生したエラーを報知するための演出を行う。
る。
けでなく、通常の遊技中において遊技状態が変化した場合にも送信される。例えば、遊技
中において低確率状態が発生したときに、モード部=「90H」かつアクション部=「0
1H」のコマンドが送信され、遊技中において、高確率状態が発生したときに、モード部
=「90H」かつアクション部=「02H」のコマンドが送信される。
電源投入時だけでなく、通常の遊技中において始動入賞口に遊技球が入賞して始動記憶数
が増加した場合にも送信される。例えば、遊技中において始動入賞口に遊技球が入賞して
始動記憶数が「3」に変化したときには、モード部=「A0H」かつアクション部=「0
3H」の信号が送信される。
信号は、演出コマンドとしても機能することになる。
りも優先して演出制御装置150へのデータ送信を行うためのバッファ(送信データレジ
スタ635)に取り込まれる。これにより、遊技制御装置100における変動表示ゲーム
の進行状態と、演出制御装置150における変動表示ゲームの進行状態との時間差を常に
固定させる。
送信される送信データの構成を示す説明図である。図36(a)は送信データの概略構成
を示し、図36(b)は送信データの詳細構成を示している。なお、遊技制御装置100
から払出制御装置210に送信される送信データの構成も同様である。
のモードデータDCmと、実行されるコマンドの内容(機能)を示すアクションデータD
Caで構成される。これらのモードデータDCm及びアクションデータDCaは、図33
の賞球排出指令のMODE及びACTION、図35の演出制御コマンドのMODE及び
ACTIONに各々対応する。
バイト)を1回の割込周期ですべて送信可能となるようにデータの送信速度が設定されて
いる。したがって、遊技制御装置100の制御プログラムを複雑化させずに、演出制御装
置150への指令送信を一時的に中断するなどの処理を必要とせず、また、指令送信の遅
れなどによって、遊技制御装置100と演出制御装置150の各制御の進行状態がずれな
いようにすることが可能となる。
m及びアクションデータDCaは、8ビットのコマンドデータに、1フレームの開始であ
ることを示すスタートビット、1ビットのパリティデータ、1フレームの終わりであるこ
とを示すストップビットが付加され、1フレームを処理単位として送信される。従って、
この1フレームの時間が、1バイトあたりのデータ送信時間(送信バッファに格納された
制御指令データを1バイト送信するために必要な時間)となる。
制御指令データを送信する。
ョンデータDCa)を解析し、表示装置8、音回路156、装飾制御装置等を制御するた
めの制御データを生成する。
、全ての制御指令データを、タイマ割込周期内で一時に送信するようにしている。すなわ
ち、一連の制御指令データを全て送信データレジスタ635に格納した後で、シリアル送
信回路615を送信許可状態として(送信制御レジスタ632の送信イネーブルを送信許
可に設定)送信を開始する。
指令データとして認識する。そして、この一連の制御指令データを処理単位として演出装
置(例えば、表示装置8)を制御する。
ータを特定でき、1回のタイマ割込処理で生成された一連の制御指令データを処理単位と
して演出装置を制御するので、一連の制御指令データに基づく演出を連続して(タイムラ
グなく)実行することができる。
)の詳細を説明する。図37は、本発明の第1の実施の形態の特図ゲーム処理の手順を示
すフローチャートである。
図3参照)の第2始動入賞口への遊技球の入賞を監視し、入賞に基づき各種乱数値の記憶
を行う始動口SW監視処理を実行する(3700)。なお、始動口SW監視処理について
の詳細は、図39にて後述する。
トスイッチ監視処理を行う(3701)。
処理タイマが0であるか否かを判定する(3702)。
遊技制御装置100は、特図ゲーム処理タイマを−1更新し(3703)、更新された特
図ゲーム処理タイマがタイムアップして0になったか否かを判定する(3704)。特図
ゲーム処理タイマがタイムアップしていない場合には(3704の結果が「N」)、遊技
制御装置100はステップ3714の処理を実行する。
」)、又は特図ゲーム処理タイマがタイムアップしたと判定された場合には(3704の
結果が「Y」)、遊技制御装置100は、ゲーム処理番号を取得し、取得したゲーム処理
番号に基づいて実行する処理を選択するゲーム分岐処理を行う(3705)。
動開始を監視し、特図変動表示ゲームの変動開始の設定や演出の設定、特図変動中処理を
行うために必要な情報の設定を行う特図普段処理を実行する(3706)。特図普段処理
では、特図変動表示ゲームの変動に係る情報の設定を行うようになっており、始動記憶に
基づく特図変動表示ゲームの実行に伴って始動記憶を1デクリメントする処理や特図変動
表示ゲームにおける変動時間の設定処理等を行う。なお、特図普段処理についての詳細は
、図45にて後述する。
8)を行うために必要な情報(特図変動表示ゲームにおける結果の停止表示時間等)の設
定を行う特図変動中処理を実行する(3707)。
る(3708)。特図表示中処理では、特図変動表示ゲームの結果が大当りである場合に
ファンファーレ・インターバル処理(3709)を行うために必要な情報が設定され、特
図変動表示ゲームの結果がはずれである場合には特図普段処理(3706)を行うために
必要な情報が設定される。
入賞口の開放回数の更新等の処理を行うファンファーレ・インターバル処理を実行する(
3709)。なお、この処理において、ラウンド開始コマンドが設定される。
(3710)。大入賞口開放中処理では、特別遊技状態が最終ラウンドでなければファン
ファーレ・インターバル処理(3709)を行うために必要な情報(インターバルコマン
ドを含む)が設定され、特別遊技状態が最終ラウンドであれば特別遊技状態の終了画面の
コマンド(大当り終了コマンド)の設定や大入賞口残存球処理(3711)を行うために
必要な情報が設定される。
(3711)。大入賞口残存球処理では、特別遊技状態が最終ラウンドである場合に、大
入賞口を閉鎖した後に大入賞口内に残存する全ての遊技球がカウントSW42cで検出さ
れるまでの時間が設定される。
(3712)。大当り終了処理では、特別遊技状態を終了する処理が行われ、特図普段処
理(3706)を行うために必要な情報が設定される。
100は、設定された各種データをセーブするテーブルデータセーブ処理を実行する(3
713)。その後、遊技制御装置100は、特図1変動表示ゲームのゲーム処理タイマの
更新等を行う特図1変動制御処理(3714)を実行し、特図2変動表示ゲームのゲーム
処理タイマの更新等を行う特図2変動制御処理(3715)を実行して、特図ゲーム処理
を終了する。
いた分岐の処理を説明する図である。この分岐の処理は、図37のステップ3705で実
行され、行3801〜行3807の命令が順に実行されることになる。ここでは、図12
で前述した各種レジスタ、図21及び図22で前述したアセンブリ言語を用いて説明を行
うことにする。
グラムROM103のアドレスを示し、列3822は、当該アドレスに格納されているデ
ータを示している。例えば、ユーザプログラムROM103の「4800H」のアドレス
には「F5H」のデータが格納され、続く「4801H」のアドレスには「0CH」のデ
ータが格納され、続く「4802H」のアドレスには「48H」のデータが格納され、続
く「4803H」のアドレスには「3AH」のデータが格納されている。以降の「480
4H」〜「480BH」のアドレスには、「10H」、「28H」、「87H」、‥‥、
「09H」、「E9H」のデータが格納されている。
が格納されている。この2バイトのデータを16ビットのデータ(ただし、下位アドレス
側と上位アドレス側を入れ替える)として表現したデータ「4820H」は、図37のス
テップ3706で実行される特図普段処理の先頭アドレスに相当する。同様に、「480
EH」と「480FH」のアドレスに格納されるデータを16ビットで表現した「484
0H」は、図37のステップ3707で実行される特図変動中処理の先頭アドレスに相当
する。
80H」、「48A0H」、‥‥は、図37のステップ3708、3709、3710、
‥‥で実行される、特図表示中処理、ファンファーレ・インターバル処理、大入賞口開放
処理、‥‥のそれぞれの先頭アドレスに相当する。このようにして、アドレス値480C
H〜4819Hの領域では、各処理の先頭アドレスが処理番号順に格納されることにより
、所定の分岐アドレステーブルを構成している。
となるアドレス値「480CH」をロードするものである。次に、行3802の命令が実
行され、Aレジスタ1202Aにゲーム処理番号(図37の3705参照)がロードされ
る。次に、行3803の命令が実行され、Aレジスタ1202Aの値が2倍される。
れ、行3805によりBレジスタ1204Aに「0」の値がロードされることで、BCレ
ジスタ1206AにAレジスタ1202Aの値が設定される。
される。これにより、HLレジスタ1212Aには、ゲーム処理番号に対応する処理の分
岐先のアドレスが設定される。最後に、行3807の「JP (HL)」命令を実行する
ことで、HLレジスタ1212Aが示すアドレスに、処理を移行させる。
ーザプログラムROM103に記憶される列3722の各データとの関係について説明す
る。
コードに変換されて、ユーザプログラムROM103に記憶されている。例えば、行38
01の「LD HL,480CH」の命令は、「4800H」〜「4803H」のアドレ
スに配置される「F5H」、「0CH」「48H」の値に変換されて、ユーザプログラム
ROM103に記憶されている。行3802〜行3807の各命令も、対応するコードに
変換されて、ユーザプログラムROM103の「4803H」〜「480BH」のアドレ
スに、順に記憶されている。
ァンファーレ・インターバル処理、大入賞口開放処理、‥‥の先頭アドレスの値をプログ
ラム中に配置することを示しており、ユーザプログラムROM103の「480CH」以
降のアドレスに、対応するアドレスデータが設定されることによって、前述の分岐アドレ
ステーブルが構成されることになる。
H」)を設定し、処理番号(SEQNO)に応じてHLレジスタの値を更新することによ
って、処理番号に応じた処理を実行することができる。したがって、HLレジスタは、分
岐アドレス設定レジスタとして機能する。
する命令が存在すれば、そのレジスタは分岐アドレス設定レジスタとして機能することに
なる。例えば、図21には図示していないが、IXレジスタ1231が示す値のアドレス
に処理を分岐させる命令「JP (IX)」を用いていれば、IXレジスタ1231は分
岐アドレス設定レジスタとして機能していることとなる。
なして、そのアドレスに処理を分岐させるような方法は、他にもある。例えば、「PUS
H HL」命令を実行して、一旦スタック領域に706にHLレジスタの値を格納し、直
後に「RET」命令を実行すれば、スタック領域に706に格納してあったHLレジスタ
の値がプログラムカウンタ1234に格納される。その結果、HLレジスタが示す値のア
ドレスに処理を分岐させることができる。
ドレス設定レジスタとして機能させることも可能である。例えば、DEレジスタ1209
Aをスタック領域に706に格納した直後に「RET」命令を実行すれば、DEレジスタ
1209Aが示す値のアドレスに分岐するので、この場合はDEレジスタ1209Aが分
岐アドレス設定レジスタとして機能することになる。
00)の詳細を説明する。図39は、本発明の第1の実施の形態の始動口SW監視処理の
手順を示すフローチャートである。
定を行う(3900)。第1始動入賞口37への入賞があるか否かは、第1始動入賞口3
7への入賞があった場合に第1特図始動SW37Aから出力される遊技球の検出信号の有
無によって判定される。第1始動入賞がない場合には(3900の結果が「N」)、遊技
制御装置100はステップ3901の処理を実行する。これに対して、第1始動入賞があ
る場合には(3900の結果が「Y」)、遊技制御装置100は特図始動口SW共通処理
(3904)を実行し、始動口SW監視処理を終了する。なお、特図始動口SW共通処理
についての詳細は図40にて後述する。
、遊技制御装置100は、普電(普通電動役物)としての普通変動入賞装置33の開閉部
材が作動し、遊技球の入賞が可能な開状態となっているか否かを判定する。開閉部材が開
状態であって普電作動中である場合には(3901の結果が「Y」)、遊技制御装置10
0はステップ3903の処理を実行する。これに対して、開閉部材が閉状態であって普電
作動中でない場合には(3901の結果が「N」)、遊技制御装置100はステップ39
02の処理を実行する。
体的には、遊技制御装置100は、普通変動入賞装置33の開閉部材が閉状態である状態
で発生した不正な入賞があるか否かを判定する。なお、普通変動入賞装置33の開閉部材
が閉状態になった後の所定期間に検出された入賞は、不正入賞ではないと判定される。不
正入賞エラーが発生している場合には(3902の結果が「Y」)、遊技制御装置100
は始動口SW監視処理を終了する。これに対して、不正入賞エラーが発生していない場合
には(3902の結果が「N」)、遊技制御装置100はステップ3903の処理を実行
する。
の入賞)があるか否かを判定する(3903)。普通変動入賞装置33の第2始動入賞口
34への入賞があるか否かは、第2始動入賞口34への入賞があった場合に第2特図始動
SW34Aから出力される遊技球の検出信号の有無によって判定される。第2始動入賞が
ない場合には(3903の結果が「N」)、遊技制御装置100は、始動口SW監視処理
を終了する。これに対して、第2始動入賞がある場合には(3903の結果が「Y」)、
遊技制御装置100は特図始動口SW共通処理(3904)を実行し、始動口SW監視処
理を終了する。
904)の詳細を説明する。図40は、本発明の第1の実施の形態の特図始動口SW共通
処理の手順を示すフローチャートである。
設定する処理を実行する(4000)。遊技制御装置100は、第1始動入賞口37と普
通変動入賞装置33の第2始動入賞口34のいずれの始動口への入賞により特図始動口S
W共通処理が開始されたかに基づき始動入賞フラグを設定する。始動入賞フラグとしては
、第1始動入賞口37への入賞により特図始動口SW共通処理が開始された場合は特図1
フラグが設定され、普通変動入賞装置33の第2始動入賞口34への入賞により特図始動
口SW共通処理が開始された場合は特図2フラグが設定される。以下の処理では、特図1
フラグが設定されていれば対応する処理として特図1始動記憶についての処理が行われ、
特図2フラグが設定されていれば対応する処理として特図2始動記憶についての処理が行
われる。
る(4000)。具体的には第1始動入賞口に遊技球が入賞した場合には第1始動入賞フ
ラグを設定し、第2始動入賞口に遊技球が入賞した場合には第2始動入賞フラグを設定す
る。
定する(4001)。対応する保留の数とは、第1始動入賞口37に遊技球が入賞した場
合には第1特図保留カウンタの値が対象となり、第2始動入賞口34に遊技球が入賞した
場合には第2特図保留カウンタの値が対象となる(ともに図15参照)。
きない場合には(4001の結果が「Y」)、遊技制御装置100は本処理を終了して始
動口SW監視処理を終了する。これに対して、対応する保留が上限でない場合には(40
01の結果が「N」)、遊技制御装置100は、対応する始動記憶数(即ち、第1特図保
留カウンタ又は第2特図保留カウンタのうち、入賞した始動口に対応する方)を1インク
リメントする処理を実行し(4002)、その後、ステップ4003の処理を実行する。
装置100は、対応する始動記憶数が1インクリメントされたことに基づき、始動記憶数
の情報である保留数情報を設定する。なお、保留数情報は、始動記憶に関する情報を含む
保留情報コマンド(図35参照)の一つとして後に演出制御装置150に送信されるよう
になっている。その後、遊技制御装置100は、対応する大当り判定用乱数を取得する処
理(4004)、対応する大当り図柄乱数を取得する処理(4005)、対応する特図変
動表示ゲームの変動パターン乱数を取得する処理(4006)を実行する。ここでは、図
15に示される、大当り乱数、大当り図柄乱数、第1〜第3変動パターン乱数の各生成領
域から、乱数値を取得する。
特図保留情報判定処理を実行する(4007)。この特図保留情報判定処理の詳細は、図
41を参照して後述する。
)、対応する大当り図柄乱数を記憶する処理(4009)、対応する変動パターン乱数を
記憶する処理を実行する(4010)。ここでは、遊技制御装置100は、ステップ40
04〜4006で取得した各種乱数値を、対応する乱数記憶領域に記憶する。
で前述した、第1特図変動表示ゲームを実行するために必要な各種乱数の保存領域のうち
、第1特図保留カウンタに対応する領域が該当する。同様に、処理対象の始動口が第2始
動入賞口34であれば、図17で前述した、第2特図変動表示ゲームを実行するために必
要な各種乱数の保存領域のうち、第2特図保留カウンタに対応する領域が該当する。
2特図保留カウンタが1インクリメントされて「3」となった場合は、図17における「
保留3の保存領域」に割り当てられた各種乱数の保存領域に、ステップ4004〜400
6で取得した各種乱数値を記憶することになる。
)、本処理を終了する。保留情報コマンドは、始動口への入賞によって更新された後の保
留数(第1特図保留カウンタ又は第2特図保留カウンタの値)を通知するコマンドであり
、直後に演出制御装置150に送信される(正確には、次回のタイマ割込処理(図29)
のコマンド送信処理(2912)が実行されるタイミングで送信される)ようになってい
る。
定処理(4007)の詳細を説明する。図41は、本発明の第1の実施の形態の特図保留
情報判定処理の手順を示すフローチャートである。
ち、第1始動入賞口37や第2始動入賞口34(普通変動入賞装置33)に遊技球が入賞
したタイミングで、当該該始動記憶に対応する結果関連情報の判定が行われる。つまり、
特図保留情報判定処理では、新たに記憶された始動記憶に基づく特図変動表示ゲームの開
始タイミングより前に、当該始動記憶に対応した結果関連情報の判定を行う先読処理が行
われることになる。
理であるか否かを判定する(4100)。特図2始動記憶についての処理である場合には
(4100の結果が「Y」)、常に先読み処理を実行するため、遊技制御装置100はス
テップ4103の処理を実行する。
、つまり、特図1始動記憶についての処理である場合には、遊技制御装置100は、普通
変動入賞装置33の作動状態が抑制状態であるか否かを判定する(4101)。普通変動
入賞装置33の作動状態が抑制状態でない場合には(4101の結果が「N」)、遊技制
御装置100は、特図1始動記憶に関連する先読み演出を実行することなく、特図保留情
報判定処理を終了する。
は、大当り中であるか否かを判定する(4102)。遊技状態が特別遊技状態であって、
大当り中である場合には(4102の結果が「Y」)、遊技制御装置100は、特図1始
動記憶に対する先読み演出をせずに、特図保留情報判定処理を終了する。
00は、始動記憶に対して大当り乱数が大当り判定値と一致するかを判定し、大当りであ
る場合には大当りの種類や変動パターンを決定する特図大当り判定処理を実行する(41
03)。なお、特図大当り判定処理についての詳細は、図42にて後述する。
定する情報及び変動パターンを特定する情報を用いて、変動前演出指定コマンドを設定す
る(4104)。変動前演出指定コマンドは、後述する図43及び図44の変動パターン
テーブルを用いて設定され、一旦、遊技制御装置100のRAM104に記憶される。そ
して、次回のタイマ割込処理(図29参照)が実行されて、変動前演出指定コマンドが遊
技制御装置100から演出制御装置150に送信されると、演出制御装置150の変動パ
ターン情報記憶領域に記憶される。
03)の詳細を説明する。なお、後述の図46の特図1変動開始処理(特図2変動開始処
理)における特図大当り判定処理(4103)を実行する際にも、図42の処理が行われ
る。図42は、本発明の第1の実施の形態の特図大当り判定処理の手順を示すフローチャ
ートである。
る処理が行われる。なお、図41の特図保留情報判定処理の特図大当り判定処理を実行す
る場合は、乱数記憶領域へ新たに記憶された始動記憶が判定対象となるが、図46の特図
1変動開始処理(特図2変動開始処理)の特図大当り判定処理を実行する場合は、変動開
始となる始動記憶が判定対象となる。すなわち、特図大当り判定処理は、複数の呼び出し
元から参照される共通モジュールとなっている。
4200)。そして、特図確変フラグがオンの場合には(4200の結果が「Y」)、遊
技制御装置100は、確変状態における、すなわち特図確率が高確率時の大当り判定を実
行する(4201)。なお、特図確変フラグは、特図表示中処理(図37のステップ37
08)においてオン/オフに設定される。
0は、非確変状態、すなわち特図確率が低確率時の大当り判定を実行する(4202)。
203)。すなわち、始動記憶の大当り乱数の値が、大当り判定値と一致するか否かを判
定する。
対応する始動記憶の大当り図柄乱数を用いて、確変大当りや通常大当りといった大当りの
種類を決定する(4204)。
当りの種類が「はずれ」となったことをRWMに一時的に記憶する(4205)。
となる条件が成立しているか否かを判定する(4206)。ここでは、判定対象が特図2
変動表示ゲームの始動記憶である場合は、短時間変動となる条件が成立しているものと見
なされる。あるいは、判定対象が特図1変動表示ゲームの始動記憶であっても、当該判定
を行う時点における特図1変動表示ゲームの始動記憶数が上限数(ここでは4)となって
いるか、普通変動入賞装置33の作動状態が促進状態となっているかのいずれかの状態で
ある場合は、短時間変動となる条件が成立しているものと見なされる。
制御装置100は、対応する始動記憶の第1〜第3変動パターン乱数により短時間変動の
変動パターンを決定する(4207)。
」)、遊技制御装置100は、対応する始動記憶の第1〜第3変動パターン乱数により長
時間変動の変動パターンを決定する(4208)。なお、変動パターン決定の仕方の詳細
については図43及び図44にて後述する。
ーンを特定する情報を一時的にRWMに記憶する(4209)。ここでは、特定する情報
とは、変動パターン番号である。その後、遊技制御装置100は、特図大当り判定処理を
終了する。
テップ4208)やステップ4209における変動パターン番号の決定について説明する
。図43は、本発明の第1の実施の形態の後半変動パターンテーブルである。また、図4
4は、本発明の第1の実施の形態の前半変動パターンテーブルである。
りではないと判定された場合に選択されるテーブルであり、特図変動表示ゲームの後半の
変動パターンが決定される。
いずれかが選択される。ここで、グループ番号「0」は「リーチなし」、番号「1」は「
ノーマルリーチ」、番号「2」は「SPリーチ」を示す。「リーチなし」が選択される確
率は2701/3001、「ノーマルリーチ」が選択される確率は295/3001、「
SPリーチ」が選択される確率は5/3001である。
01h〜23hのいずれかが選択される。ここで、後半変動パターン番号「01h」は「
リーチなし変動」で変動時間2秒を示す。後半変動パターン番号11h〜13hは「ノー
マルリーチ」変動であり、番号「11h」は変動時間9秒の「ノーマルリーチ短変動」、
番号「12h」は変動時間10秒の「ノーマルリーチ中変動」、番号「13h」は変動時
間11秒の「ノーマルリーチ長変動」を示す。また、後半変動パターン番号21h〜23
hは「SPリーチ」変動であり、番号「21h」は変動時間37秒の「SPリーチ短変動
」、番号「22h」は変動時間38秒の「SPリーチ中変動」、番号「23h」は変動時
間39秒の「SPリーチ長変動」を示す。
ると判定された場合に選択されるテーブルであり、特図変動表示ゲームの後半の変動パタ
ーンが決定される。ここでは、図43(A)と異なるところを説明する。
し」が選択されることはない。「ノーマルリーチ」又は「SPリーチ」が選択される。「
ノーマルリーチ」が選択される確率は1501/3001、「SPリーチ」が選択される
確率は1500/3001である。
動パターン番号は、51h〜53hとなるが、それぞれ11h〜13hに対応しており、
選択される確率も同じである。同様に、「SPリーチ」の後半変動パターン番号は、61
h〜63h(21h〜23hに対応)となる。
のリーチ種類(なしを含む)を決定し、次に第2変動パターン乱数を用いて後半変動パタ
ーン(変動時間)を決定する。そして、後半変動パターンを示す後半変動パターン番号と
、第3変動パターン乱数とを用いて、前半変動パターンを決定する(図44参照)。
3変動パターン乱数を用いて前半変動パターンが決定される。
動」と、「前半キャラクタなし変動」の変動時間を短縮した「前半短縮変動」とがある。
それぞれの変動時間は、10秒、10秒、10秒、1秒に設定されている。
ノーマルリーチ変動」とする決定がなされている場合には、第3変動パターン乱数の値が
0〜200の場合に「前半キャラクタA出現変動」を選択し、第3変動パターン乱数の値
が201〜205の場合に「前半キャラクタB出現変動」を選択し、第3変動パターン乱
数の値が206〜400の場合に「前半キャラクタなし変動」を選択する。
SPリーチ変動」とする決定がなされている場合には、必ずキャラクタが出現するように
制御され、第3変動パターン乱数の値が0〜200の場合に「前半キャラクタA出現変動
」を選択し、第3変動パターン乱数の値が201〜400の場合に「前半キャラクタB出
現変動」を選択する。
リーチなし変動」とする決定がなされている場合(後半変動パターン番号=01hの場合
)には、第3変動パターン乱数の値が0〜5のときに「前半キャラクタA出現変動」が選
択される。第3変動パターン乱数の値が6〜400の場合には、図42のステップ420
6における短時間変動の条件が成立しているときに「前半短縮変動」が選択され、この条
件が成立していないときは「前半キャラクタなし変動」が選択される。
場合にのみ、「前半短縮変動」が設定されている。そして、「リーチなし変動」は、大当
りの種類が「はずれ」である場合に高い確率で選択される。また、「リーチなし変動」の
場合には「前半キャラクタなし変動」が選択される確率は低く、「前半短縮変動」又は「
前半キャラクタなし変動」が選択される確率が高い。
選択される確率が高いので、全体の平均変動時間を短縮する。そして、保留記憶数が少な
い場合ではずれのときは「リーチなし・前半キャラクタなし変動」が選択される確率が高
くなっている。
Pリーチ変動」)や、リーチを伴わない「リーチなし・前半キャラクタA出現変動」が選
択される確率は低くなっている。なお、特図変動表示ゲームが大当りとなる確率は、低確
率時において1/301とし、高確率時において1/61とするものとする。
」)や、「リーチなし・前半キャラクタA出現変動」を、保留記憶数の数に関係なく共通
の変動時間が設定された共通変動態様とする。これらの変動態様は、特図の大当り結果と
、第1〜第3変動パターン乱数とによって決定されるので、決定処理を行う時点における
保留記憶数の数に依存することなく決定されるものである。つまり、同一の保留記憶であ
れば、特図保留情報判定処理(図41)の特図大当り判定処理(4104)により決定さ
れる変動態様と、特図1(特図2)変動開始処理(図46)の特図大当り判定処理(46
06)による決定される変動態様とが一致する。
動」は、保留記憶数の数に基づいていずれかが選択される変動パターンであるので、固有
変動態様とする。これらの変動態様は、特図の大当り結果と、第1〜第3変動パターン乱
数のみならず、決定処理を行う時点における保留記憶数の数に依存して決定されるもので
ある。つまり、同一の保留記憶であっても、特図保留情報判定処理(図41)の特図大当
り判定処理(4104)により決定される変動態様と、特図1(特図2)変動開始処理(
図46)の特図大当り判定処理(4606)により決定される変動態様とが一致するとは
限らない。ただし、前者の処理で決定された変動態様が固有変動態様であれば、後者の処
理で決定された変動態様も固有変動態様となるように設定されている。
動入賞時及び変動開始時のどちらのタイミングで決定された前半変動パターンかによって
前半変動パターン番号が異なる。
普通変動入賞装置33の第2始動入賞口に入賞したときに実行される特図保留情報判定処
理(図41)で対象の始動記憶の結果を先読みするために実行され、さらに、後述する特
図1(特図2)変動開始処理(図46)でも実行される。
たりする。すなわち、始動入賞時と変動開始時とでは、図42の特図大当り判定処理にお
ける処理結果が異なる場合があり、選択される前半変動パターンも異なる場合がある。こ
のため、始動入賞時及び変動開始時のどちらの場合に決定した前半変動パターン番号かが
判別できるようにしている。
始時に決定した前半変動パターン番号の頭文字を「B」とする。そして、「前半キャラク
タA出現変動」の場合はE/Cに続く番号を「1h」とし、「前半キャラクタB出現変動
」の場合は「2h」とし、「前半キャラクタなし変動」の場合は「3h」とし、「前半短
縮変動」の場合は「4h」とする。このように、互いに共通するモジュールを用いる。
ャラクタA」が出現し、「前半キャラクタB出現変動」では「キャラクタB」が出現する
ようになっている。
の詳細を説明する。図45は、本発明の第1の実施の形態の特図普段処理の手順を示すフ
ローチャートである。
否かを判定する(4500)。
特図2変動開始処理を実行し(4501)、その後、図37に示した特図ゲーム処理で特
図変動中処理が実行されるように特図ゲーム処理番号を1に設定する(4504)。
変動パターン及び後半変動パターンに対応する合計変動時間を特図ゲーム処理タイマに設
定する処理を実行する(ステップ4505)。その後、特図普段処理を終了する。なお、
ステップ4505の処理で変動時間が特図ゲーム処理タイマに設定されるので、変動時間
が経過するまでは、図37の特図変動中処理(3707)は実行されない。
0は、保留された特図1始動記憶があるか否かを判定する(4502)。特図1始動記憶
がある場合には(4502の結果が「N」)、遊技制御装置100は、特図1変動開始処
理を実行する(4503)。その後、遊技制御装置100は、特図ゲーム処理番号を1に
設定する処理を実行する(4504)。さらに、特図1変動開始処理で算出され、決定し
た変動時間を特図ゲーム処理タイマに設定する処理を実行し(4505)、特図普段処理
を終了する。
置100は、客待ちデモフラグの設定があるか否かを判定する(4506)。客待ちデモ
フラグの設定がある場合には(4506の結果が「Y」)、遊技制御装置100は特図普
段処理を終了する。これに対して、客待ちデモフラグの設定がない場合には(4506の
結果が「N」)、遊技制御装置100は、客待ちデモフラグをセットする処理を実行する
(4507)。さらに、客待ちデモコマンドの設定を実行し(4508)、特図普段処理
を終了する。
置150に送信される。演出制御装置150は、この客待ちデモコマンドの受信に基づき
、例えば表示装置8の表示部に客待ちデモ画像を表示する処理を実行する。
る場合に当該特図2始動記憶に基づく特図2変動表示ゲームを、特図1始動記憶に基づく
特図1変動表示ゲームよりも優先的に実行する。
(ステップ4503、ステップ4501)の詳細を説明する。図46は、本発明の第1の
実施の形態の特図1/特図2変動開始処理の手順を示すフローチャートである。
する各種乱数の保存領域(図16参照)のうち、次回の変動の対象となる領域、すなわち
保留1個目に対応する保留乱数記憶領域を指定する(4600)。次に、ステップ460
0の処理で指定した記憶領域から大当り乱数、大当り図柄乱数、第1〜第3変動パターン
乱数を取得した後、保留1〜3個目に対応する保留乱数記憶領域に、保留2〜4個目に対
応する保留乱数記憶領域(次回以降の変動に対応する記憶領域)の各乱数をシフトする(
4601)。そして、特図1の保留数を1減算し(4602)、ステップ4606以降の
処理を実行する。
乱数を用いて、図42に示した特図大当り判定処理を実行する(4606)。次に、図4
2の特図大当り判定処理のステップ4209の処理において一時的に記憶した情報を用い
て、演出制御装置150に送信する飾り図柄変動パターンコマンドを設定する(4607
)。飾り図柄変動パターンコマンドは、表示装置8で実行される飾り特図変動表示ゲーム
の内容を決めるコマンドである。
ように、保留情報コマンドは特図1又は特図2の保留数を通知するコマンドであり、ここ
では、特図1又は特図2のうち、変動対象の特図の保留数を設定する。そして、ステップ
4609において図45の特図普段処理のステップ4505の処理で設定した、決定した
変動パターンに対応する変動時間を取得し(4609)、その後、特図1変動開始処理を
終了する。
のステップ4600〜4602の処理に対応してステップ4603〜4605の処理を実
行する。
参照)のうち、次回の変動の対象となる領域、すなわち保留1個目に対応する保留乱数記
憶領域を指定する(4603)。次に、ステップ4603の処理で指定した記憶領域から
大当り乱数、大当り図柄乱数、第1〜第3変動パターン乱数を取得した後、保留1〜3個
目に対応する保留乱数記憶領域に、保留2〜4個目に対応する保留乱数記憶領域(次回以
降の変動に対応する記憶領域)の各乱数をシフトする(4604)。そして、特図2の保
留数を1減算して(4605)、ステップ4606以降の処理を実行する。
数を用いて、図42に示した特図大当り判定処理を実行することになる。
されることで、飾り特図変動表示ゲームの表示内容が決定される。
処理のプログラムの一例を示す図である。図47A及び図47Bに示すプログラムは、図
46のステップ4601の処理に対応する。図47AはKレジスタを利用してプログラム
のコード量を削減したプログラムであって、図47BはKレジスタを利用しないプログラ
ムである。
定し、その後、行4702に示すように、LDK命令によって指定された下位アドレスと
Kレジスタに設定された上位アドレスとを組み合わせたアドレスにアクセスする。このよ
うに、CPUコア102はKレジスタに固有の上位アドレスを設定する固有値設定手段を
なす。
は、図16に示したように、保留2に対応する始動記憶のアドレス「2838H」〜「2
83FH」に格納されたデータを、保留1に対応する始動記憶にアドレス「2830H」
〜「2837H」に移動させる。行4702では、アドレス2838Hに格納されたデー
タをAレジスタに格納し、行4703でAレジスタに格納されたデータをアドレス283
0Hに格納することによってデータを移動させている。同様に、「2839H」〜「28
3FH」に格納されたデータを、「2831H」〜「2837H」に移動させることによ
って保留2に対応する始動記憶を保留1に対応する領域にシフトさせる。
び保留4に対応する始動記憶を保留3に対応する始動記憶にシフトさせる処理も、図に示
すように、後半のプログラムによって実行される。
る処理のプログラムを示しており、図47Aのプログラムを実行した場合と同じ処理が実
行される。しかしながら、図47Bに示すプログラムでは、2バイトのアドレスを直接指
定している(例えば、行4722の「2838H」)。
を指定するために1バイトの下位アドレスのみを指定すればよい(4710)。これに対
し、図47Bに示すプログラムでは、アドレスの指定に2バイトの容量を要し(4730
)、図47Aに示したプログラムよりも多くの容量を必要とする。したがって、始動記憶
を格納する領域のように、連続した領域にデータを格納し、これらのデータにアクセスす
る場合には、図47Aに示したプログラムのように、上位アドレスをKレジスタに予め保
持してデータにアクセスするようにすることによってプログラムの容量を削減することが
できる。
上位アドレス、例えば、「28H」)を予め設定しておくことによって、その後、下位ア
ドレスのみ指定すれば所定の領域にアクセスできるため、CPUコア(演算処理手段)1
02の処理負担を軽減することもできる。
ログラムの一例を示す図である。(A)及び(B)は、プログラム中に記述されたサブル
ーチン呼び出しの命令(CALL命令又はRST命令)を実行した際に呼び出されるサブ
ルーチンの一例を示している。これに対して(C)は、割込信号の発生により呼び出され
るサブルーチンの一例を示している。
ーチンにおける処理過程で書き換えられないように構成したプログラムの例である。この
サブルーチンは、5200Hのアドレスから処理を開始する例となっており、最初に「P
USH FLG」の命令を実行することで、フラグレジスタの値をスタック領域に退避し
ている(行4811)。
ルーチン内で書き換えられないように構成する場合は、「PUSH」命令を用いて、該当
するレジスタをスタック領域に退避することができる。例えば、行4812に示すように
、「PUSH HL」の命令を実行することで、HLレジスタの値をスタック領域に退避
することができる。
」命令を実行して、スタック領域に退避しておいたHLレジスタ及びフラグレジスタの値
を復帰させてから(行4813、4814)、「RET」命令を実行して呼出元の処理に
戻るようになっている(行4815)。
、そのフラグレジスタの値を呼出元のルーチンに返すプログラムの一例である。このサブ
ルーチンは、5100Hのアドレスから処理を開始する例となっており、(A)のように
「PUSH」「POP」命令を用いて、フラグレジスタの値をスタック領域に出し入れす
るような処理を行っていない。
タとEレジスタの値の論理和を演算することでフラグレジスタに演算結果が設定され(行
4821)、さらに、Dレジスタの値をAレジスタにロードしてから(行4822)、「
RET」命令を実行して呼出元に戻るようになっている(行4823)。
ともに、その演算結果をフラグレジスタに格納し、さらに格納されたフラグレジスタの値
が呼出元のルーチンに戻されてからも活用されるような場合に適している。そのため、呼
び出されるサブルーチンのプログラムには、フラグレジスタの値をスタック領域に出し入
れする「PUSH」「POP」命令が記述されていない。
箇所で実行させる場合に適しており、共通化した処理のブロックを予めサブルーチンとし
てプログラム中に配置しておいて、呼出元となるプログラムでCALL命令(又はRST
命令)を実行することで実現できる。
フラグレジスタと呼出元ルーチンで用いるフラグレジスタとを別個のものとして扱いたい
場合もあれば、(B)のようにサブルーチンで用いたフラグレジスタと呼出元ルーチンで
用いるフラグレジスタとを同一のものとして扱いたい場合もある。
否かの選択を行う必要がある。従って、サブルーチンを構成するプログラムに「PUSH
」「POP」命令を記述するか否かによって、フラグレジスタをスタック領域に出し入れ
するか否かを選択できるように構成しておくことが好ましいことになる。
構成したプログラムの例である。このサブルーチンが呼び出されると、図19(D)に示
すように、「PUSH」命令を実行しなくてもフラグレジスタの値がスタック領域に退避
される。このとき、呼出元ルーチンで使用していたレジスタ群のバンクが0(表レジスタ
)であれば、フラグレジスタのRBSのビットは「0」となっている。
して実行されるため、呼び出されたサブルーチンで用いられるフラグレジスタの値と、呼
出元のルーチンで使用しているフラグレジスタの値には相関がない。そのため、呼出元の
ルーチンで使用しているフラグレジスタの値が、割込処理のサブルーチン内で変更される
と、処理結果が予期しないものとなる。
値をスタック領域に退避させる必要がある。(C)の構成であれば、フラグレジスタの値
をスタック領域に退避させる「PUSH」命令のコードが不要となるので、割込処理のサ
ブルーチンを記述するプログラムのコード量を削減することができる。
る例となっている。そして、行4831の「LD RBS,1」を実行すると、フラグレ
ジスタのRBSのビットが「1」となる。これにより、使用可能なレジスタ群が、呼出元
ルーチンで使用していたバンク0(表レジスタ)から、バンク1(裏レジスタ)に切り替
えられる。このとき、バンク0のレジスタ群の各レジスタに格納された値はそのまま保持
され、割込処理のサブルーチンでは、バンク1のレジスタ群のレジスタを用いて実行され
る。
元の処理に戻るようになっている(行4832)。このとき、スタック領域に退避してあ
ったフラグレジスタの値が復帰することで、フラグレジスタのRBSのビットが「0」に
復帰し、以降使用されるレジスタ群のバンクが0に戻される。
に切り替える場合は、行4811の「PUSH FLG」を実行した後に、「LD RB
S,1」の命令を実行すればよい。これにより、フラグレジスタのRBSのビットが「1
」となり、使用可能なレジスタ群が、呼出元ルーチンで使用していたバンク0(表レジス
タ)から、バンク1(裏レジスタ)に切り替わる。この場合は、行4814の「POP
FLG」を実行することで、フラグレジスタのRBSのビットを「0」に復帰させ、呼出
元の処理に戻る直前にレジスタ群のバンクを0に戻すことになる。
に切り替える場合は、プログラム中で「LD RBS,1」の命令を実行すればよいが、
呼出元ルーチンに戻る直前で「LD RBS,0」の命令を実行しておく必要がある。
、プログラム中に記述されたサブルーチン呼び出しの命令(CALL命令又はRST命令
)を実行した場合や、割込信号が発生した場合には、サブルーチンが呼び出され、その際
に、呼出元のルーチンに含まれる戻りアドレスの値をスタック領域に格納する構成となっ
ている。
するものであるので、(C)に示すような割込処理のサブルーチンを呼び出す際は、割込
信号が発生した時点におけるフラグレジスタ1200の値は、呼出先のルーチンの処理中
で破壊されないように、スタック領域に退避しておくことが好ましい。
値だけでなく、フラグレジスタ1200の値もスタック領域に格納して、呼出先の処理に
移行させる構成となっている。これにより、呼出先のルーチンのプログラム中にフラグレ
ジスタをスタック領域に格納するための命令(「PUSH FLG」)を記述しなくても
、フラグレジスタの値が自動的にスタック領域に格納されるため、プログラムのコード量
を節約することができる。
場合は、(A)に示すように、呼出元のルーチンで設定されたフラグレジスタ1200の
値を呼出先のルーチンの処理中で破壊しないように構成すべき場合もある一方で、(B)
に示すように、呼出先のルーチンの処理中で設定されたフラグレジスタ1200の値を、
呼出元のルーチンに戻して演算に利用することもあり得る。つまり、呼出元のルーチンで
設定されたフラグレジスタ1200の値をスタック領域に退避すべきか否かはケースバイ
ケースである。
値のみを格納して、フラグレジスタ1200の値はスタック領域に格納しない状態で、呼
出先の処理に移行させる構成となっている。そして、呼出先のルーチンのプログラム中に
、プログラム中にフラグレジスタ1200の値をスタック領域に格納する命令(例えば、
「PUSH FLG」)を記述するか否かにより、値を退避するか否かが選択できる構成
となっている。
ンクを切り変える機能を有しているので、呼出先のルーチン内でバンクを切り替えること
により、呼出元とは異なるレジスタを活用することができる。
令を実行しなくても、処理の最後で「RETI」を実行することによって、スタック領域
に退避してあったフラグレジスタの値が自動的に復帰する構成となっている。そのため、
サブルーチン内で、フラグレジスタの値を復帰させる命令を実行しなくても、呼出元ルー
チンに戻るときにバンクを戻すことが出来るので、よりプログラムのコード量を節約でき
るようになっている。
り特図変動表示ゲームの画面遷移を説明する図である。
うに、図柄表示領域4910にて各識別図柄が変動を開始する。なお、図柄表示領域49
10の下方には第1記憶表示部4920と第2記憶表示部4930とが設定される。これ
らの各記憶表示部には、保留記憶があることを示すマーク(通常の保留記憶表示)494
0と、保留記憶がないことを示すマーク4950が表示される。その後、画面(c)に示
すように、左図柄、右図柄の順に識別図柄の変動が停止され、最終的には中図柄の変動が
停止して、画面(d)に示すように変動停止した状態となる。
リーチ状態となり、その後、中図柄の変動が継続される。そして、変動表示ゲームの結果
がはずれの場合には、画面(f)に示すように、左右の識別図柄とは異なる図柄で中図柄
が停止する。また、変動表示ゲームの結果が大当りとなる場合には、画面(g)に示すよ
うに、左右の識別図柄と同じ識別図柄で中図柄が停止する。変動表示ゲームで大当りとな
ると、前述したように特別遊技状態に遷移し、遊技者は多くの遊技価値を得ることが可能
となる。
画面(e)に示したリーチの後に、画面(h)に示すように、中図柄が回転して表示され
るスーパー(SP)リーチが発生する場合がある。SPリーチが発生する場合には、通常
のリーチと比較して変動表示ゲームの結果が大当りとなる確率が大きくなるように設定さ
れている。
て先読み報知が実行されている。具体的には、始動入賞時に設定された前半変動パターン
番号がキャラクタA又はキャラクタBが出現する前半変動を行うものであった場合に、先
読み報知が実行される。このとき、記憶表示部にて、通常の保留記憶表示4940とは表
示態様が異なる特定の保留記憶表示5010が表示されることで、先読みの報知が行われ
る。
変動表示ゲームが開始されると(画面(k))、キャラクタが出現する予告演出が実行さ
れる(画面(l)、画面(m))。
キャラクタB(第2のキャラクタ)5030が出現している。これらのキャラクタAとB
は、互いに表示態様が異なるものが好ましい。ただし、互いに表示態様が同じものであっ
ても、出現するキャラクタの大きさ、出現数、移動速度などをキャラクタAとBとで各々
異ならせるようにして、遊技者に各々が区別できるようにしているものであれば、特に限
定はされない。
の状態)でキャラクタが出現するようになっている。その後、左右の識別図柄が停止し、
リーチ状態が発生する(画面(n))。このとき、スーパーリーチ若しくは通常のリーチ
が発生する。なお、このリーチ状態のときに、前述のキャラクタが出現するようにしても
よい。
普図始動SW31Aによる遊技球の検出があったときに、普図乱数カウンタ値(図15の
普図乱数生成領域)の値を普図始動入賞記憶領域(図15)に記憶しているが、普図変動
表示ゲームに関する乱数であれば、別の乱数を記憶するようにしてもよい。例えば、乱数
生成回路608にて普図変動表示ゲームに関する乱数を生成(ハード乱数を生成)してお
き、普図始動SW31Aによる遊技球の検出があったときに、この生成した乱数を普図始
動入賞記憶領域(図15)に記憶するようにしてもよい。
06の処理において、図15に示される大当り乱数、大当り図柄乱数、第1〜第3変動パ
ターン乱数の各生成領域から乱数値を取得しているが、特図変動表示ゲームに関する乱数
であれば、別の乱数を取得するようにしてもよい。例えば、乱数生成回路608にて、大
当り乱数、大当り図柄乱数、第1〜第3変動パターン乱数の全部又は一部を生成(ハード
乱数を生成)しておき、ステップ4004〜4006の処理の実行時に、この生成した乱
数を取得するようにしてもよい。
ラグレジスタの値と、戻りアドレス値が格納される順序について説明する。
た場合に、先に戻りアドレス値をスタック領域に格納し、その後、フラグレジスタの値を
スタック領域に格納することを仮定した場合の図である。この図51Aの(A)〜(C)
により、割込み処理ルーチンの実行過程において、スタック領域に退避されたデータがど
のように変化するかを説明する。
ADR_H」は戻りアドレスの上位バイトの値を示し、「ADR_L」は戻りアドレスの
下位バイトの値を示しており、「ADR_H」と「ADR_L」を組み合わせることで、
2バイトの戻りアドレス値が構成される。
タの値が、スタック領域に格納された直後の状態である。次いで、割込み処理ルーチン内
で「PUSH」や「CALL」の命令が実行されると、図51Aの(B)に示すように、
スタック領域に別の退避データが蓄積される。
退避データが徐々に復帰し、割込み処理ルーチンの最後の段階になると図51Aの(A)
の状態に戻ることになる。そして、割込み処理ルーチンの最後で「RETI」命令を実行
すると、スタック領域から「FLG」の値がフラグレジスタに復帰して格納されるともに
、「ADR_H」と「ADR_L」の戻りアドレス値が復帰してプログラムカウンタに格
納されることで、割込信号が発生した時点に対応する呼出元ルーチンのアドレスに処理が
移り、以降の処理を継続することになる。
タックポインタの値は、フラグレジスタの値が格納されている領域のアドレス(図では2
9F9H)よりも、常に小さな値(2980H〜29F8H)の範囲で増減する。
値が想定している範囲を外れてしまう恐れがある。例えば「POP」命令が、プログラム
開発者が意図している回数よりも1回だけ余分に実行されると、スタックポインタの値が
、フラグレジスタの値が格納されている領域のアドレス(29F9H)を一時的に指し示
してしまうことになる。そして、この状態で「PUSH」命令を1回だけ実行すると、2
9F9Hのアドレスに退避されている「FLG」の値に、別の値が上書きされてしまうこ
とになる。
行する段階になったとき、図51Aの(C)に示すように、29FAH〜29FBHのア
ドレスに退避された「ADR_H」と「ADR_L」を書き換えることなく、29F9H
のアドレスに退避された「FLG」のみを異常な値に書き換えるという状態が発生する恐
れがある。
処理が正常に動作せずに障害が発生することが考えられる。しかしながら、プログラムカ
ウンタに復帰する戻りアドレス値(「ADR_H」と「ADR_L」)は正常な値である
ので、割込み処理ルーチンの最後で「RETI」命令を実行すると、プログラムが暴走す
ることなく呼出元のルーチンに戻って処理を継続することになる。
可能性がある。仮に、障害の発生に気づいても、プログラムが暴走しない可能性が高いが
故に、障害の発生要因を特定することが困難になるおそれがある。
合に、先にフラグレジスタの値をスタック領域に格納し、その後、戻りアドレス値をスタ
ック領域に格納した場合の図である。この図51Bの(A)〜(C)により、割込み処理
ルーチンの実行過程において、スタック領域に退避されたデータがどのように変化するか
を説明する。なお、図51Bの「FLG」、「ADR_H」、「ADR_L」も、図51
Aと同様の構成である。
タの値が、スタック領域に格納された直後の状態である。次いで、割込み処理ルーチン内
で「PUSH」や「CALL」の命令を実行すると、図51Bの(B)に示すように、ス
タック領域に別の退避データが蓄積される。
退避データが徐々に復帰し、割込み処理ルーチンの最後の段階になると図51Bの(A)
の状態に戻ることになる。そして、割込み処理ルーチンの最後で「RETI」命令を実行
すると、スタック領域から「FLG」の値がフラグレジスタに復帰して格納されるともに
、「ADR_H」と「ADR_L」の戻りアドレス値が復帰してプログラムカウンタに格
納されることで、割込信号が発生した時点に対応する呼出元ルーチンのアドレスに処理が
移り、以降の処理を継続することになる。
タックポインタの値は、戻りアドレス値が格納されている領域のアドレス(図では29F
9H)よりも、常に小さな値(2980H〜29F8H)の範囲で増減する。
と、スタックポインタの値が想定している範囲を外れてしまう恐れがある。この場合、ス
タック領域に待避されている「ADR_L」、「ADR_H」、「FLG」などの値が別
の値が上書きされてしまう恐れがあり、割込み処理ルーチンの最後で「RETI」命令を
実行したときに、フラグレジスタの値が正常に復帰しなくなってしまう。
退避された「ADR_H」と「ADR_L」の値を書き換えずに、スタック領域に退避さ
れた「FLG」のみを書き換えることは、あり得ない。その理由は、図51Bの(C)に
示すように、スタック領域へのデータの出し入れの順序に特徴があるが故に、「FLG」
が異常値に書き換えられるときには、その上方に待避されている「ADR_H」と「AD
R_L」の値も、書き換えられていると考えられるからである。
態で「RETI」命令を実行するすると、29F9H〜29FAHのアドレスに退避され
た異常なアドレス値がプログラムカウンタに格納されるので、呼出元のルーチンに戻れず
、プログラムが暴走することになる。
納される値が異常値になるような場合には、「RETI」命令実行後のプログラムカウン
タにも異常なアドレス値が必ず格納される。そのため、割込み処理ルーチンにバグがあれ
ば、遊技機の開発期間中にプログラムが暴走して、開発者が障害の発生に気づきやすい構
成となるのである。従って、図51Aの構成よりも、プログラムのバグが発見しやすい遊
技機を実現することが可能となる。
る、フラグレジスタの値のバイト数と、戻りアドレス値のバイト数との関係について説明
する。
イト数と、戻りアドレス値のバイト数とを、ともに2バイトで構成することを仮定した場
合の図である。この図51Cの(A)〜(D)により、割込み処理の開始直後及び終了直
前におけるスタック領域内の退避データの状態と、CALL命令により呼び出されたサブ
ルーチンの開始直後及び終了直前におけるスタック領域内の退避データの状態について説
明する。
ADRW_H」と「ADRW_L」は、当該割込み処理の発生時に格納される戻りアドレ
ス値の上位バイトと下位バイトの値を示している。また、「ADR2_H」と「ADR2
_L」、及び「ADR1_H」と「ADR1_L」は、当該割込み処理が発生するよりも
前に格納されたアドレス値の上位バイトと下位バイトである。なお、「ADR3_H」と
「ADR3_L」は、割込み処理が発生することに替えて、CALL命令によるサブルー
チンが開始された場合に格納される戻りアドレス値の上位バイトと下位バイトの値を示し
ている。
タの値が、スタック領域に格納された直後の状態である。この割込み処理の最後のステッ
プにおいては、「RETI」命令が実行されることで、スタック領域から2バイトのフラ
グレジスタの値と、2バイトの戻りアドレス値が復帰する。なお、スタック領域へのデー
タの格納状況に対応してスタックポインタの値も増減するようになっており、「RETI
」命令実行後に呼出元の処理に復帰した際には、スタック領域は図51Cの(B)に示す
状態となっている。
ルーチンを呼び出した場合は、図51Cの(C)に示すように、戻りアドレス値のみがス
タック領域に格納され、フラグレジスタの値は格納されない。そして、このサブルーチン
の最後のステップにおいては、「RET」命令が実行されることで、スタック領域から2
バイトの戻りアドレス値のみが復帰する。なお、スタック領域へのデータの格納状況に対
応してスタックポインタの値も増減するようになっており、「RET」命令実行後に呼出
元の処理に復帰した際には、スタック領域は図51Cの(B)に示す状態となっている。
チンの最後で、「RET」命令の代わりに、誤って「RETI」命令を実行してしまった
場合は、図51Cの(C)に示す状態から「ADR3_H」と「ADR3_L」の値を戻
りアドレス値としてプログラムカウンタに復帰させるだけでなく、「ADR2_H」と「
ADR2_L」の値を2バイトのフラグレジスタの値と見なして復帰させてしまうことに
なる。そのため、「RETI」命令実行後に呼出元の処理に復帰した際には、スタック領
域は図51Cの(D)に示す状態となってしまう。
から、「ADR1_H」と「ADR1_L」の戻りアドレス値を取得して、プログラムカ
ウンタに復帰させ、そのアドレスに移行してしまうことになる。これは、呼出元の処理で
「RET」命令を実行した場合に取得されるべき本来の戻りアドレス値(図51Cの(B
)の「ADR2_H」と「ADR2_L」)とは異なるアドレスに、処理が移行すること
に相当する。
るはずであるが、誤って取得した「ADR1_H」と「ADR1_L」の戻りアドレス値
は、プログラム上にアドレス値として使用されている値である。故に、プログラムが暴走
することなく呼出元のルーチンに戻って処理を継続することになる。
可能性がある。仮に、障害の発生に気づいても、プログラムが暴走しない可能性が高いが
故に、障害の発生要因を特定することが困難になるおそれがある。
数と、戻りアドレス値のバイト数とを、異ならせて構成した場合の図である。この図51
Dの(A)〜(C)により、割込み処理の開始直後及び終了直前におけるスタック領域内
の退避データの状態と、CALL命令により呼び出されたサブルーチンの開始直後及び終
了直前におけるスタック領域内の退避データの状態について説明する。
2_L」「ADR3_H」、「ADR3_L」も、図51Cと同様の構成である。ただし
、図51Dの「FLG」が1バイトで構成されている点は、図51Cと異なっている。
び出した場合において、戻りアドレス値がスタック領域に格納された直後の状態である。
この場合は、戻りアドレス値のみがスタック領域に格納され、フラグレジスタの値は格納
されない。そして、このサブルーチンの最後のステップにおいては、「RET」命令が実
行されることで、スタック領域から2バイトの戻りアドレス値のみが復帰する。なお、ス
タック領域へのデータの格納状況に対応してスタックポインタの値も増減するようになっ
ており、「RET」命令実行後に呼出元の処理に復帰した際には、スタック領域は図51
Dの(B)に示す状態となっている。
チンの最後で、「RET」命令の代わりに、誤って「RETI」命令を実行してしまった
場合は、図51Dの(A)に示す状態から「ADR3_H」と「ADR3_L」の値を戻
りアドレス値としてプログラムカウンタに復帰させるだけでなく、「ADR2_L」の値
を1バイトのフラグレジスタの値と見なして復帰させてしまうことになる。そのため、「
RETI」命令実行後に呼出元の処理に復帰した際には、スタック領域は図51Dの(C
)に示す状態となってしまう。
から、「ADR1_L」と「ADR2_H」の値を戻りアドレス値として取得してプログ
ラムカウンタに格納し、さらにプログラムカウンタが示す場所へ移行してしまうことにな
る。これは、呼出元の処理で「RET」命令を実行した場合に取得されるべき本来の戻り
アドレス値(図51Dの(A)の「ADR2_H」と「ADR2_L」)とは異なるアド
レスに、処理が移行することに相当する。
と認識され、「ADR1_L」がアドレスの上位バイトと認識されるので、実際には正し
い組み合わせになっていないアドレスが生成されることになり、プログラム上にアドレス
値として使用されていないアドレス値になると考えられる。そのため、以降に「RET」
命令を実行したときに、プログラムカウンタには異常なアドレス値が格納されることにな
り、それ故にCPUが暴走する可能性が高くなる。そのため、割込み処理ルーチンにバグ
があれば、遊技機の開発期間中にプログラムが暴走して、開発者が障害の発生に気づきや
すい構成となるのである。従って、図51Cの構成よりも、プログラムのバグが発見しや
くい遊技機を実現することが可能となる。
に退避させる場合にノイズ等によってスタック領域に格納されたデータが書き換えられて
障害が発生した場合であっても、障害を早期に発見可能となるため、障害発生時の原因特
定が容易になり、開発効率を向上させることが可能となる。
が知られており、この遊技機では、従来よりもプログラムコードを削減し、記憶手段の記
憶容量を削減するために、CPUからI/O空間を介してアクセス可能な記憶領域を少な
くとも有する記憶手段を備えている。
ように、LD命令、IN命令、OUT命令を適宜使い分けることで、プログラム全体のス
テート数やプログラムコード量を削減している。
域からレジスタにデータを格納するLD命令や、逆に、レジスタから指定したRAM領域
にデータを格納するLD命令を用いている。
D A,(2810H)」、AレジスタのデータをRAM領域の2810H番地に格納す
るための「LD (2810H),A」、RAM領域の2810H番地のデータをHLレ
ジスタに格納するための「LD HL,(2810H)」、HLレジスタのデータをRA
M領域の2810H番地に格納するための「LD (2810H),HL」などが該当す
る。
量を要する命令である。なお、プログラムコードとは、任意の命令を、命令コード部(オ
ペコード部)とアドレス部(オペランド部)との組み合せを用いて所定バイト数の数値で
表現したものである。
,(2810H)」のような、指定されたRAM領域のデータをAレジスタに格納するた
めのLD命令であれば、「3AH」などの1バイトの値が割り当てられている。一方、ア
ドレス部はRAM領域のアドレスを指定するためのコードであり、例えば、2810H番
地へのアクセスを指定する場合は、「28H」「10H」という2バイトの値がプログラ
ムにて設定される。
ラム全体のコード量を削減するためには、命令をできるだけ少ないバイト数で表現できる
ことが好ましいのは言うまでもない。しかしながら、RAM領域のアドレスを指定する際
には、アドレス部に少なくとも2バイトのコードを割り当てる必要がある上に、命令同士
を識別するための命令コード部のコードが少なくとも1バイト必要となるため、このよう
なLD命令を表現するためのプログラムコードは、2バイト以下に削減することは不可能
である。
ード量を削減することを目的としている。
により、RAM(更新情報記憶手段)にアクセスするための命令を、少ないバイト数のコ
ードで実現することが可能となる。そのため、遊技制御プログラムに当該命令を用いるこ
とで、遊技制御プログラム全体のコード量を削減することが可能となる。
の前後各128バイト(又は前後各127バイト)の範囲内からデータを取り出すことを
目的として、当該特定アドレスを指定するためにわざわざ2バイトのレジスタを用いるよ
うな方法と比較すると、アドレス指定のためのレジスタ構成が簡素化されている。
設定すること(固有値設定手段)によって、リセット(起動)信号が発生した際に、CP
U(演算処理手段)によってKレジスタに固有のアドレス値を設定する処理を行う必要が
なくなる。したがって、リセット後、遊技制御プログラムでKレジスタに固有のアドレス
値を設定しなくても、RAMにデータを読み書きすることが可能となる。さらに、CPU
の処理負担が軽減され、遊技制御プログラムのコード量を削減することも可能となる。
の起動信号が発生するとRAMアクセス規制回路によりRAMの更新禁止状態となり、そ
の後、CPUコアの動作が開始されてRAMの更新禁止状態が解除され、次いで、上位ア
ドレス指定レジスタにより指定されるアドレスに記憶された情報を用いて遊技制御が開始
されるので、誤ったタイミングでRAMの値が更新されることを防止できる。
、スタック領域とが異なる上位アドレスとなる領域に保持されるため、乱数更新時などに
誤ってスタック領域に格納されたデータを更新することを防止することができるため、誤
動作を防ぐことができる。
するような乱数記憶領域、あるいは図15に例示する普図乱数保存領域)は、変動表示ゲ
ームを開始する際に、格納されている乱数がシフトされることになるが、これらの領域の
上位アドレスはすべて同一(28H)になるように設定されているので、シフトの処理を
行う際に上位アドレス指定レジスタの値を変更する必要がなく、処理が簡素化される。
領域と同じ領域を使用禁止領域に設定することによって、上位アドレスの値を間違ってい
る状態で始動記憶を更新しようするとCPUがリセットされ、誤作動を防止することがで
きる。
機が知られており、パチンコ機の制御装置のプログラムにおいては、遊技状態に対応して
異なる命令が実行されるように、プログラム内部で分岐の処理が行われている。この特許
文献Bでは、段落[0072]〜[0073]に記載があるように、プロセスフラグの値
に応じて制御を分岐させる処理がなされ、その分岐の際には、基本回路30のROMに記
憶されているプロセスジャンプテーブル(特許文献Bの図13)を参照して行なわれる。
11−232099号公報に開示されるZ80系のCPUが知られている。Z80系の命
令には、特許文献Cの段落[0020]に示されるような「JP(HL)」の命令が用意
されている。この命令は、HLレジスタに格納された値をアドレスと認識させて、そのア
ドレスで示されるプログラムの箇所に処理を分岐させるものである。なお、CPUが起動
した時点では、HLレジスタの値は不定な値が格納されている。
CのCPUの「JP(HL)」が用いられることがあり、この場合、HLレジスタに分岐
先のアドレスの値を格納してから、「JP(HL)」の命令を実行する構成となる。
に、CPUが暴走する危険を有している。特に、特許文献Cのような従来のCPUを用い
た場合は、遊技機の電源が投入されてCPUが起動を開始した直後では、HLレジスタの
値が不定な値であるために、誤ってプログラム中の「JP(HL)」命令が実行された場
合には、分岐先が不定なためにCPUが暴走するおそれがあった。
Uを動作させることを目的としている。
路)を備えており、起動信号(リセット信号)が発生すると、固有値設定手段により分岐
アドレス設定レジスタに固有のアドレス値が設定されるので、遊技制御プログラム開始直
後にノイズ等が発生して、誤って特定の命令を実行してしまった場合であっても、固有の
アドレス値で示されるアドレスに処理を分岐させることができる。そのため、遊技制御プ
ログラム開始直後にノイズ等が発生しても、演算処理手段の暴走を防止することができる
。
ットアドレス)には、演算処理手段が暴走したときに実行すべきプログラムの命令(リセ
ット処理等の命令)が予め配置されているので、遊技制御プログラム開始直後にノイズ等
が発生しても対処することが可能となる。
表示ゲームの制御状態(ゲーム処理番号に対応する各遊技状態)に対応した分岐処理を行
っているので、制御状態が順次切り替わっても、その都度、切り換えられた制御状態に対
応する分岐先の処理が行えるように、効率的な遊技制御プログラムが構成できるようにな
っている。なお、普図変動表示ゲームの制御状態に対応した分岐処理も、分岐アドレス設
定レジスタを用いて行うようにしてもよい。
が開始される前に、初期値設定回路(固有値設定手段)1241によってCPUコア10
2に備えるスタックポインタに初期値がハード的に設定される。そのため、遊技制御プロ
グラムの実行が開始された直後にノイズ等が原因で割込処理が発生しても、呼出元のルー
チンの戻りアドレスをスタック領域に確実に格納することができ、割込処理から呼出元の
ルーチンに復帰する際にも問題なく処理を継続することができる。
状態で、特定の命令(JP(HL))が実行された場合であっても、スタックポインタの
値を設定できる。
)によりCPUコア102がリセットされるような場合であっても、CPUコア102の
処理がリセットアドレスに戻される。
定されなくても、リセットアドレスからの命令を実行した直後に、ソフトウェアによりス
タックポインタに初期値を設定する(図25の遊技制御装置メイン処理のステップ250
2A)ので、あらゆるリセット状態に対応してスタックポインタに初期値を設定すること
が可能となる。なお、同様の理由により、上位アドレス指定レジスタにもソフトウェアに
よって初期値を設定している(図25の遊技制御装置メイン処理のステップ2502B)
。
の命令が実行された場合(第1の呼出条件が成立した場合)や、呼出元のルーチンの命令
実行中に所定の割込信号が発生した場合(第2の呼出条件が成立した場合)には、呼出元
のルーチンに含まれる戻りアドレスの値をスタック領域に格納して、呼出先の処理に移行
するような構成となっている。
は無関係に発生するものであるので、割込信号が発生した時点におけるフラグレジスタ1
200の値は、呼出先のルーチンの処理中で破壊されないように、スタック領域に退避し
ておくことが好ましい。
元のルーチンに含まれる戻りアドレスの値だけでなく、フラグレジスタ1200の値もス
タック領域に格納して、呼出先の処理に移行させている。そのため、後者の第2の呼出条
件が成立した場合には、呼出先のルーチンのプログラム中にフラグレジスタをスタック領
域に格納するための命令(「PUSH FLG」)を記述しなくても、フラグレジスタの
値が自動的にスタック領域に格納されるため、プログラムのコード量を節約することがで
きる。
命令を実行する場合は、呼出元のルーチンで設定されたフラグレジスタ1200の値を呼
出先のルーチンの処理中で破壊してはいけない場合もあるが、呼出先のルーチンの処理中
で設定されたフラグレジスタ1200の値を、呼出元のルーチンに戻して演算に利用する
こともあり得る。よって、呼出元のルーチンで設定されたフラグレジスタ1200の値を
スタック領域に退避すべきか否かはケースバイケースであることから、呼出先のルーチン
のプログラム中に、プログラム中にフラグレジスタ1200の値をスタック領域に格納す
る命令(例えば、「PUSH FLG」)を記述して、値を退避するか否かを決定したほ
うが都合が良い。
のルーチンに含まれる戻りアドレスの値はスタック領域に格納するものの、フラグレジス
タ1200の値を自動的にスタック領域に格納することはしない。
スタの値を格納して、後から戻りアドレスの値を設定しているので、戻りアドレスの値を
破壊することなくフラグレジスタの値のみを破壊するような事態は発生しない。そのため
、図51Aで例示した構成の遊技機のように、呼出先の割込処理ルーチンでフラグレジス
タの値が破壊された状態のまま、スムーズに呼出元のルーチンに戻って処理を継続してし
まうことはない。
レスの値は2バイト構成であるのに対して、スタック領域に格納されるフラグレジスタの
値は1バイト構成となっている。このように、スタック領域に格納される戻りアドレスと
フラグレジスタとのバイト数を異ならせることで、呼出先のルーチンで誤ってフラグレジ
スタの値を戻りアドレスとして復帰させた場合には、図51Cで例示した構成の遊技機の
ような不具合が発生することがなく、以降の処理では戻りアドレスの取得が不可能となる
ので、プログラムのバグ等を発見しやすい。
LD RBS,0」の命令)を実行することによって、汎用レジスタのバンクを切り変え
る機能を有しているので、呼出先のルーチン内でバンクを切り替えることにより、呼出元
とは異なるレジスタを活用することができる。
いて上位アドレスの境界、すなわち、上位アドレスが「28H」の領域と「29H」の領
域との境界を連続してアクセスすることが可能となっていたが、この境界に使用禁止領域
を設けるようにしてもよい。
ンコ機が知られており、遊技機を制御するためのプログラムの容量削減を図るために、パ
チンコ機の主制御基板において、CPUからIOにアクセスするためのイン/アウトコマ
ンドが出力された時、エリア区分判定部が、アドレス値に応じて、アクセス先をIO、R
AMのいずれかに切り換え、その結果に応じてIO識別信号又はチップセレクタ信号をア
クティブにする構成が開示されている。
似RAM領域)にアクセス可能となり、この時、RAMの先頭アドレスを含む連続領域に
ワーク及び疑似RAM領域を割り当てるとともに、終端アドレスを開始点としてアドレス
が小さくなる側に順次データが蓄積されるようにスタック領域を割り当てるように構成さ
れている。
せたほうが、設計の自由度が増すために都合が良い。そのため、CPUの起動時にはスタ
ックポインタの初期値は不定な値にしておき、CPUがプログラムの実行を開始した後に
、ソフトウェアによりスタックポインタの初期値を設定する構成が好ましい。従って、こ
の特許文献Dの遊技機においても、CPUの起動時のスタックポインタの初期値は、不定
な値となっているものと考えられる。
が発生すると、不定な値で示された領域をスタック領域と見なしたままで、CPUが処理
を行ってしまうおそれがあった。この場合でも、CPUは、割込み処理ルーチンに処理を
移してしまうことになり、割込み処理ルーチンの最後にRETIなどの命令を実行しても
、その時点でスタックポインタが指し示している領域には戻りアドレスの値が格納されて
いる保障がないため、CPUが暴走するおそれもあった。その結果、想定外の大当り等が
発生するなどして正規な遊技を行えないおそれがあった。
するための設計の自由度よりも、CPUが暴走しないように構成することを重視したほう
がよいという課題があった。
PUが遊技プログラム実行中に所定のサブモジュールを呼び出した際に、呼び出し元のモ
ジュールのアドレスの値が、戻りアドレス値として格納されるものがあった。そして、呼
び出し先のサブモジュールの実行後に、スタック領域に格納してあった戻りアドレスの値
をプログラムカウンタに戻すことで、CPUの処理が呼び出し元のモジュールに復帰する
ようになっていた。
特許文献Eの図22に示すように、RST命令を実行すると、呼び出し元のモジュールの
戻りアドレスの値をスタックに格納して、呼び出し先のサブモジュールに移行する。その
後、呼び出し先のサブモジュールの終了時にRET命令を実行することで、スタック領域
に格納されていた戻りアドレスの値をプログラムカウンタに戻し、呼び出し元のモジュー
ルに復帰する。なお、特許文献Eの段落[0148]に示すように、CALL命令を用い
ても同様の処理が行われる。
持しつつ、不正改造抑制および不正改造発見容易性向上を実現するために、ROMの00
08H番地から000FH番地には、変動停止コマンド送信処理のプログラムを格納し、
ROMの0020H番地から0027H番地には、賞球数コマンド送信処理のプログラム
を格納するとともに、これらのプログラムをRST命令を用いて呼び出すようにしている
。
の割込が発生した場合に、呼び出し元のモジュールの戻りアドレスの値をスタックに格納
して、呼び出し先のサブモジュール(タイマ割込みの処理モジュール)に移行する処理を
行う遊技機もある。
特許文献Fの段落[0071]〜[0073]に示すように、タイマ割込等の割込が発生
すると、呼び出し元のモジュールの戻りアドレスの値をスタックに格納して、呼び出し先
のサブモジュール(タイマ割込みの処理モジュール)に移行する。その後、呼び出し先の
サブモジュールの終了時にRETI命令を実行することで、スタックに格納してあった戻
りアドレスの値をプログラムカウンタに戻し、呼び出し元のモジュールに復帰する。
6号公報)の図5や特許文献H(特開2006−068568号公報)の図6(c)に示
すように、処理の先頭にて、フラグレジスタの値をAFレジスタとしてスタックに格納す
ることが通常行われる。なお、このスタックに格納されたフラグレジスタの値は、特許文
献Gの図5に示されるように、タイマ割込みの処理を終了してRETI命令を実行する際
に元のフラグレジスタへ復帰するようになっている。
モジュールで変更されてしまうと、CPUの演算処理に支障をきたしてしまう。そのため
、従来の遊技機では、特許文献Gの図5のS11に示すように、処理の先頭でPUSH命
令を用いてレジスタの値をスタック領域に退避する処理が通常行われ、処理の最後でPO
P命令を用いてレジスタの値をスタック領域から復帰させる処理が行われる。このとき、
特許文献Hの図6(c)に示すように、スタック領域には、様々なレジスタの値が一時的
に格納される。そのため、呼び出し先のモジュール内にて、PUSH命令やPOP命令を
記述する必要があり、プログラム容量が増えてしまう要因となっていた。
れする処理は、特許文献Eに開示されたタイマ割り込みの処理に限らず、特許文献Dに示
したようなRST命令(あるいはCALL命令)を用いて呼び出されるサブモジュール内
でも、頻繁に行われている。そのため、このようなサブモジュール内にもPUSH命令や
POP命令を記述する必要があり、プログラム容量が増えてしまう要因となっていた。
する必要があったのに対して、後者のRST命令(あるいはCALL命令)を用いて呼び
出されるサブモジュールの処理では、フラグレジスタを退避すべきか否かは、モジュール
の目的によって一意に定まっていなかった。そこで、このような条件を満たしつつも、プ
ログラム容量を削減するための工夫が必要とされていた。
例を示す図である。図52に示すユーザワークRAM104には、上位アドレスの境界(
RAMのアドレスが「28FFH」から「2900H」に変化する境界線を含んだ領域)
に使用禁止領域が設けられている。このように、上位アドレスが変化(「28H」から「
29H」に変化)する境界に使用禁止領域を設けることによって、上位アドレスを変更せ
ずに連続した領域にアクセスしようとすることなどを防ぐことが可能となり、誤作動を防
止することができる。
納することを考える。この場合、上位アドレス指定レジスタであるKレジスタ1230の
値を「28H」に固定した状態で、「INC L」命令(図21参照)を実行してLレジ
スタ1211Aの値を増加させながら、「LDK (L),A」の命令(図21参照)を
実行させることになる。
ら「00H」に変化するタイミングがある。これは、Aレジスタ1202Aの値の格納先
が境界線を跨ぐタイミングであるが、正しい格納先を指定するためには、以降のKレジス
タ1230の値を「29H」に変更する必要がある。そのため、本来であれば、遊技プロ
グラムにてKレジスタ1230の値を「29H」に変更する命令を実行しなければならな
いが、プログラム製作者が見落としてしまうおそれがある。
つの領域に分散して設定されているが、ワークエリアを上位アドレス「28H」の領域に
限定してもよい。この場合であっても、遊技制御装置100のCPU102は、初期化処
理を実行する際に、ユーザワークRAM104の全域(上位のアドレスが互いに異なる領
域、具体的には上位のアドレスが「28H」及び「29H」になる全ての領域)に対して
、データの読み書きを行うことになる。これは、ワークエリア以外の領域(例えば、スタ
ック領域など)でも、初期化を行う必要があるからである。
230の値が「28H」に設定され、以後、停電処理が発生するまでの間は、Kレジスタ
1230の値を「28H」に維持したまま、CPU102によって遊技制御を継続する。
低減させることができるので、レジスタの値を変更する処理の実行回数を削減することが
できる。したがって、プログラム容量をさらに削減することが可能となり、また、遊技制
御処理の高速化を期待できる。
第1の実施の形態では、第2特図変動表示ゲームが第1特図変動表示ゲームよりも優先
して実行されるように構成されていたが、第2の実施の形態では、第2特図変動表示ゲー
ム及び第1特図変動表示ゲームの区別なく、入賞した順序で特図変動表示ゲームが実行さ
れる。
ン乱数が含まれていたが、第2の実施の形態では、さらに、第1始動入賞口37に遊技球
が入賞したか、第2始動入賞口34に遊技球が入賞したかを区別する、すなわち、実行さ
れる特図変動表示ゲームが第1特図変動表示ゲームであるか、又は、第2特図変動表示ゲ
ームであるかを区別するための特図識別bitが始動記憶に含まれる。また、始動記憶の
上限も実質的には8個となるので、ユーザワークRAM104において、8ブロック分の
乱数の保存領域を確保し、これを保留1〜保留8として割り当てるものとする。
ために必要な各種乱数の保存領域を示す図であり、図53Aは保留1から4、図53Bは
保留5から8に対応する各種乱数の保存領域を示す。
る領域の先頭bitを特図識別bitとする。
で取得した各種乱数値を、ステップ4008〜4010にて対応する乱数記憶領域に記さ
せることになるが、対応する領域が第1の実施の形態とは異なっている。第2の実施形態
においての対応する乱数記憶領域とは、第1特図保留カウンタと第2特図保留カウンタと
の合算値に対応する領域である。
1特図保留カウンタと第2特図保留カウンタとの合算値が「2」となった場合は、図53
Aにおける「保留2の保存領域」に割り当てられた各種乱数の保存領域に、ステップ40
04〜4006で取得した各種乱数値を記憶することになる。このとき、第1始動入賞口
37への入賞であれば「保留2の保存領域」の特図識別bitには「0」が設定され、第
2始動入賞口34への入賞であれば「保留2の保存領域」の特図識別bitには「1」が
設定される。
1特図保留カウンタと第2特図保留カウンタとの合算値が「7」となった場合は、図53
Bにおける「保留7の保存領域」に割り当てられた各種乱数の保存領域に、ステップ40
04〜4006で取得した各種乱数値を記憶することになる。このとき、第1始動入賞口
37への入賞であれば「保留7の保存領域」の特図識別bitには「0」が設定され、第
2始動入賞口34への入賞であれば「保留7の保存領域」の特図識別bitには「1」が
設定される。
ートである。なお、第1の実施の形態の特図保留情報判定処理と共通の処理については、
図41と同じ符号を割り当てて記載を省略する。
に始動記憶を扱うので、第1の実施の形態におけるステップ4100〜ステップ4102
のような条件を設定せずに無条件で特図大当り判定処理(4103)を実行する。
る。なお、第1の実施の形態と共通の処理については、図45と同じ符号を割り当てて記
載を省略する。
、遊技制御装置100は、特図1及び特図2の保留数を合計し(5500)、合計保留数
が0より大きいか否か、すなわち、特図1又は特図2の保留があるか否かを判定する(5
501)。そして、保留がある場合には、ステップ5502において次の保留が特図1の
保留であるか否かを判定する。そして、保留が特図1である場合には、特図1変動開始処
理(4503)を実行する。また、保留が特図1でなく特図2である場合には、特図2変
動開始処理(4504)を実行する。
ず、図46の処理において、遊技制御装置100は、図53Aの保留1の保存領域を、次
回の変動の対象として指定する(4600若しくは4603)。さらに、この指定された
記憶領域から大当り乱数、大当り図柄乱数、第1〜第3変動パターン乱数を取得した後、
保留1〜7個目に対応する保留乱数記憶領域(図53A及び図53B)に、保留2〜8個
目に対応する保留乱数記憶領域(次回以降の変動に対応する記憶領域:図53A及び図5
3B参照)の各乱数をシフトし(4601若しくは4604)、以降の処理(4602若
しくは4605)の処理を実行することになる。
ステップ4506以降の処理を実行する。
実行しない場合であっても、第1の実施の形態と同様に、遊技制御プログラム全体のコー
ド量を削減することが可能となる。
しているが、これに限定されるものではない。例えば、遊技の実行中に遊技者にボタン等
による選択操作をさせ、その操作入力に対応して遊技結果が導出されるような遊技も含ま
れる。あるいは、遊技の実行中に遊技球やメダルなどの遊技媒体が所定の領域に入賞する
か否かの物理的な抽選を行わせ、その抽選結果に対応して遊技結果が導出されるような遊
技も補助遊技に含まれる。この場合、遊技媒体が所定の領域に入賞することが「特別な結
果」となる。
適用可能である。例えば、パチスロ機、アレンボール機、じゃん球遊技機などにも適用が
可能である。
た、本発明の範囲は前述した発明の説明ではなくて特許請求の範囲によって示され、特許
請求の範囲と均等の意味及び内容の範囲での全ての変更が含まれることが意図される。
を行う遊技機に適用可能である。
2 本体枠(外枠)
3 前面枠
5 遊技盤
6 遊技装置
8 表示装置
18 ガラス枠
31 普通図柄始動ゲート
32 一般入賞口
33 普通変動入賞装置
34 第2始動入賞口
36 特別変動入賞装置
37 第1始動入賞口
51 遊技領域
70 カードユニット
100 遊技制御装置
101 遊技用マイコン
102、601 CPUコア
103、602 ユーザプログラムROM
104、604 ユーザワークRAM
150 演出制御装置(表示制御装置)
160 電源装置
161 バックアップ電源
210 払出制御装置
600 遊技用演算処理装置(アミューズチップ)
603 HWパラメータROM
608 乱数生成回路
609 クロック生成回路
610A 割込制御回路
610B リセット回路
611 アドレスデコーダ
618 HPGプログラムROM
619 IDプロパティメモリ
621 HPGワークRAM
629 分周回路
630 セキュリティ回路
640 RAMアクセス規制回路(更新規制手段)
641 フリップフロップ回路
642 ORゲート回路
650 アドレスバス
660 データバス
702 ワークエリア
705 使用禁止領域(アクセス禁止領域)
706 スタック領域
1200 フラグレジスタ
1203A、1203B WAレジスタ
1206A、1206B BCレジスタ
1209A、1209B DEレジスタ
1212A、1212B HLレジスタ
1220A、1220B 汎用レジスタ群
1230 Kレジスタ
1233 スタックポインタ(SP)レジスタ
1234 プログラムカウンタ(PC)レジスタ
1240 内蔵リセット回路
1241 初期値設定回路(固有値設定手段)
1242 命令解釈実行回路
1243 アクセス回路
一般に、スタックをRAMのどの領域に割り当てるかは、制御装置の設計者の裁量に任せたほうが、設計の自由度が増すために都合が良い。そのため、CPUの起動時にはスタックポインタの初期値は不定な値にしておき、CPUがプログラムの実行を開始した後に、ソフトウェアによりスタックポインタの初期値を設定する構成が好ましい。従って、この特許文献1〜3の何れの遊技機においても、CPUの起動時のスタックポインタの初期値は、不定な値となっているものと考えられる。
Claims (5)
- 遊技領域に発射された遊技球が所定の始動領域を通過することにより補助遊技が実行さ
れ、該補助遊技が特別な結果となる場合に遊技者に特典を付与する特別遊技状態を発生さ
せる遊技機において、
前記特別遊技状態を発生させる制御を行う遊技制御装置を備えるとともに、
前記遊技制御装置には、
遊技制御プログラムを記憶する遊技制御プログラム記憶手段と、
前記遊技制御プログラムにより所要の演算処理を行う演算処理手段と、
前記演算処理を行う際にデータが記憶されるレジスタと、
前記演算処理手段によって更新される情報が記憶される更新情報記憶手段と、
を備え、
前記更新情報記憶手段にはスタック領域が設定され、
前記レジスタには、前記スタック領域のアドレスを指定するためのスタックポインタが
含まれるとともに、
前記演算処理手段は、所定の起動信号が発生すると、前記遊技制御プログラムのリセッ
トアドレスに設定された命令を実行し、
前記起動信号が発生した際に、前記演算処理手段が前記遊技制御プログラムのリセット
アドレスに設定された命令を実行するよりも前に、前記スタックポインタに固有のアドレ
ス値を設定する固有値設定手段を備えたことを特徴とする遊技機。 - 前記レジスタには、前記演算処理手段によって前記遊技制御プログラムが記憶されるア
ドレスの値が設定可能な分岐アドレス設定レジスタが含まれ、
前記遊技制御プログラムには、前記分岐アドレス設定レジスタに設定された値のアドレ
スに処理を分岐させる特定の命令が含まれ、
前記固有値設定手段は、前記起動信号が発生した際に、前記演算処理手段が前記遊技制
御プログラムのリセットアドレスに設定された命令を実行するよりも前に、前記分岐アド
レス設定レジスタに固有のアドレス値を設定することを特徴とする請求項1に記載の遊技
機。 - 前記固有値設定手段によって前記分岐アドレス設定レジスタに設定される固有のアドレ
ス値は、前記遊技制御プログラムのリセットアドレスであることを特徴とする請求項2に
記載の遊技機。 - 前記演算処理手段は、前記起動信号が発生して前記遊技制御プログラムのリセットアド
レスからの命令を実行した直後に、前記スタックポインタに初期値を設定することを特徴
とする請求項3に記載の遊技機。 - 前記更新情報記憶手段には複数バイトのアドレスが割り当てられ、該アドレスにより該
更新情報記憶手段に記憶される情報が特定され、
前記レジスタには、前記アドレスのうちの上位のアドレスを指定するための上位アドレ
ス指定レジスタが含まれるとともに、
前記固有値設定手段は、前記起動信号が発生した際に、前記演算処理手段が前記遊技制
御プログラムのリセットアドレスに設定された命令を実行するよりも前に、前記上位アド
レス指定レジスタに前記更新情報記憶手段に割り当てられた固有のアドレス値を設定する
ことを特徴とする請求項4に記載の遊技機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015066563A JP6060364B2 (ja) | 2015-03-27 | 2015-03-27 | 遊技機 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015066563A JP6060364B2 (ja) | 2015-03-27 | 2015-03-27 | 遊技機 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012107560A Division JP5740620B2 (ja) | 2012-05-09 | 2012-05-09 | 遊技機 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015147062A true JP2015147062A (ja) | 2015-08-20 |
JP6060364B2 JP6060364B2 (ja) | 2017-01-18 |
Family
ID=53890926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015066563A Active JP6060364B2 (ja) | 2015-03-27 | 2015-03-27 | 遊技機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6060364B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017047081A (ja) * | 2015-09-04 | 2017-03-09 | 山佐株式会社 | 遊技機 |
JP2021040761A (ja) * | 2019-09-06 | 2021-03-18 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2021040762A (ja) * | 2019-09-06 | 2021-03-18 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2021040763A (ja) * | 2019-09-06 | 2021-03-18 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2021040760A (ja) * | 2019-09-06 | 2021-03-18 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002000878A (ja) * | 2000-06-21 | 2002-01-08 | Daiman:Kk | 遊技機 |
JP2004133633A (ja) * | 2002-10-09 | 2004-04-30 | Sankyo Kk | 遊技機用マイクロコンピュータ |
JP2011172654A (ja) * | 2010-02-23 | 2011-09-08 | Sophia Co Ltd | 遊技機 |
-
2015
- 2015-03-27 JP JP2015066563A patent/JP6060364B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002000878A (ja) * | 2000-06-21 | 2002-01-08 | Daiman:Kk | 遊技機 |
JP2004133633A (ja) * | 2002-10-09 | 2004-04-30 | Sankyo Kk | 遊技機用マイクロコンピュータ |
JP2011172654A (ja) * | 2010-02-23 | 2011-09-08 | Sophia Co Ltd | 遊技機 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017047081A (ja) * | 2015-09-04 | 2017-03-09 | 山佐株式会社 | 遊技機 |
JP2021040761A (ja) * | 2019-09-06 | 2021-03-18 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2021040762A (ja) * | 2019-09-06 | 2021-03-18 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2021040763A (ja) * | 2019-09-06 | 2021-03-18 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2021040760A (ja) * | 2019-09-06 | 2021-03-18 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP7184349B2 (ja) | 2019-09-06 | 2022-12-06 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP7184348B2 (ja) | 2019-09-06 | 2022-12-06 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP7281187B2 (ja) | 2019-09-06 | 2023-05-25 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
Also Published As
Publication number | Publication date |
---|---|
JP6060364B2 (ja) | 2017-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2013233285A (ja) | 遊技機 | |
JP6060364B2 (ja) | 遊技機 | |
JP6200052B2 (ja) | 遊技機 | |
JP5977792B2 (ja) | 遊技機 | |
JP6142161B2 (ja) | 遊技機 | |
JP6060366B2 (ja) | 遊技機 | |
JP6060365B2 (ja) | 遊技機 | |
JP6060363B2 (ja) | 遊技機 | |
JP2013233290A (ja) | 遊技機 | |
JP6240857B2 (ja) | 遊技機 | |
JP6240886B2 (ja) | 遊技機 | |
JP6240885B2 (ja) | 遊技機 | |
JP6149201B2 (ja) | 遊技機 | |
JP6149200B2 (ja) | 遊技機 | |
JP6149199B2 (ja) | 遊技機 | |
JP6074581B2 (ja) | 遊技機 | |
JP6348995B2 (ja) | 遊技機 | |
JP6142160B2 (ja) | 遊技機 | |
JP6353421B2 (ja) | 遊技機 | |
JP6286725B2 (ja) | 遊技機 | |
JP6060367B2 (ja) | 遊技機 | |
JP6200053B2 (ja) | 遊技機 | |
JP6152547B2 (ja) | 遊技機 | |
JP6152546B2 (ja) | 遊技機 | |
JP5942160B2 (ja) | 遊技機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150610 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160318 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160329 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160527 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20161108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161111 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20161214 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6060364 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |