JP2004242717A - Game machine - Google Patents
Game machine Download PDFInfo
- Publication number
- JP2004242717A JP2004242717A JP2003032944A JP2003032944A JP2004242717A JP 2004242717 A JP2004242717 A JP 2004242717A JP 2003032944 A JP2003032944 A JP 2003032944A JP 2003032944 A JP2003032944 A JP 2003032944A JP 2004242717 A JP2004242717 A JP 2004242717A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- cpu
- factor
- processing
- ctc
- 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.)
- Withdrawn
Links
Images
Landscapes
- Pinball Game Machines (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、パチンコ遊技機等の遊技機に係り、詳しくは、遊技者が所定の遊技を行い、遊技における特定条件の成立に応じて遊技者にとって有利な特定遊技状態に制御可能な遊技機に関する。
【0002】
【従来の技術】
パチンコ遊技機やスロットマシンなどの遊技機における遊技の進行は、マイクロコンピュータシステムが備えるCPU(Central Processing Unit)等によって制御される。こうした遊技制御用のCPUとしては、例えば、内蔵CTC(Counter Timer Circuit)を用いた定期的な割込みに対応して、遊技の進行を司る各種の遊技制御プログラムを実行するようにしたものが知られている(例えば、特許文献1参照)。
【0003】
【特許文献1】
特開2001−252451号公報(例えば、第13頁、第14頁)
【0004】
CTCには複数のチャネルが設けられており、チャネルごとに異なる割込みの発生要因(信号条件や割込発生周期など)を割込要因として設定することで、複数種類の割込機能を実現することができる。CPUは、CTCからの割込要求を受け付けると、割込みを発生させたチャネルを識別することで割込要因を特定し、割込要因に応じて異なる割込処理を実行することが可能である。
【0005】
また、パチンコ遊技機等の遊技機には、遊技者が所定の遊技を行うために、例えば可変表示装置や普通可変入賞球装置(始動入賞口)、特別可変入賞球装置(大入賞口)、装飾ランプ、スピーカあるいは払出装置などといった、各種の遊技用装置が電気部品として備え付けられている。こうした遊技用装置の動作を、例えば演出用基板や払出制御基板といったサブ側の制御基板に搭載されたマイクロコンピュータシステムが備えるCPU等が内蔵CTCからの割込要求を受け付けて所定の処理プログラムを実行することにより、制御するようにしたものが知られている。
【0006】
【発明が解決しようとする課題】
CPUとCTCの間は、一般に、バスを介して接続されている。このため、ノイズ等の発生により、CPUとCTCの間で入出力される各種のコマンドやデータが変化してしまう可能性が生ずる。これらのコマンドやデータが変化してしまった場合には、本来実行されるべき制御とは別の制御が行われてしまう。従来では、CTCからの割込要求を受け付けたときに実行する処理に関して、マイクロコンピュータでのソフトウェアによるノイズ対策はなされていなかったため、ノイズの影響により、実行されるべき制御が実行されないなどの問題があった。
【0007】
この発明は、上記実状に鑑みてなされたものであり、特にソフトウェアによるノイズ対策を施すことで、ノイズの影響により実行されるべき制御が実行されないことを防止できる遊技機を提供することを目的とする。
【0008】
【課題を解決するための手段】
上記目的を達成するため、本願の請求項1に記載の遊技機は、遊技者が所定の遊技を行い、遊技における特定条件の成立に応じて遊技者にとって有利な特定遊技状態に制御可能な遊技機であって、遊技機制御用プログラム(例えばROM103に格納されたプログラムなど)に従って遊技機に設けられた遊技用装置を制御する制御手段(例えばCPU101など)と、所定の割込処理を実行するための割込要因を各々設定可能な複数種類の割込機能(例えばCTC102のチャネル0〜3など)ごとに、実行する割込処理を実行するための割込処理データを記憶した割込時参照テーブル(例えば図5に示すROM103の0070H番地〜0077H番地における記憶内容)と、前記割込要因を発生させる割込要因発生手段(例えばCTC102に設けられた割込制御回路213及びリセット/割込みコントローラ106など)と、前記割込要因発生手段が割込要因を発生させたときに、割込要因を特定可能な割込要因情報を出力する割込要因出力手段(例えばCTC102に設けられたCPUバス入出力回路211など)、とを備え、前記制御手段は、前記割込要因出力手段から出力された割込要因情報に基づいて前記割込時参照テーブルを参照することにより、発生した割込要因に対応する割込処理を実行する割込処理実行手段(例えばCPU101が図16に示す遊技制御割込処理を実行する部分など)を含むとともに、前記複数種類の割込機能のうち1つの割込機能のみを使用し、前記割込時参照テーブルは、使用しない割込機能に対応する記憶位置(例えばROM103の0070H番地〜0075H番地)にも、使用している割込機能(例えばCTC102のチャネル3など)に対応した割込処理データを記憶している。なお、遊技機制御用プログラムは、例えば、遊技の進行を制御するために実行される遊技制御プログラムのほか、表示状態が変化可能な可変表示装置や演出用の装飾ランプ及びスピーカなどを用いた遊技の演出を制御するために実行される演出制御プログラム、払出装置を用いた遊技球の払い出しを制御するために実行される払出制御プログラムなど、遊技機に設けられた遊技用の各種装置を制御するためのプログラムであってもよい。また、制御手段は、遊技の進行を制御する遊技制御手段のほか、可変表示装置の表示制御を行う表示制御手段や、払出装置の制御を行う払出制御手段などであってもよい。割込処理データは、例えば、割込処理実行手段が所定の割込処理を実行するために使用するパラメータのほか、割込処理実行手段により実行される割込処理プログラム自体であってもよい。
【0009】
請求項1に記載の構成によれば、割込処理実行手段は、割込要因出力手段から出力された割込要因情報に基づいて割込時参照テーブルを参照することにより、発生した割込みの割込要因に対応した処理を実行する。そして、割込時参照テーブルには、使用しない割込機能に対応する記憶位置にも、使用している割込機能に対応した割込処理を実行するための割込処理データが記憶されているので、割込要因情報にノイズ等により誤りが生じて別の要因による割込みと認識されるときでも、本来の割込要因に対応した処理を実行することができる。
【0010】
また、本発明に係る遊技機は、遊技者が所定の遊技を行い、遊技における特定条件の成立に応じて遊技者にとって有利な特定遊技状態に制御可能な遊技機であって、所定の割込処理を実行するための割込要因を各々設定可能な複数種類の割込機能(例えばCTC102のチャネル0〜3など)ごとに、割込処理を実行するための割込処理データを記憶した割込時参照テーブル(例えば図5に示すROM103の0070H番地〜0077H番地における記憶内容)と、前記割込要因を発生させる割込要因発生手段(例えばCTC102に設けられた割込制御回路213及びリセット/割込みコントローラ106など)と、前記割込要因発生手段が割込要因を発生させたときに、割込要因を特定可能な割込要因情報を出力する割込要因出力手段(例えばCTC102に設けられたCPUバス入出力回路211など)と、前記割込要因出力手段から出力された割込要因情報に基づいて前記割込時参照テーブルを参照することにより、発生した割込要因に対応する割込処理を実行する割込処理実行手段(例えばCPU101など)、とを備え、前記複数種類の割込機能のうち少なくとも1つの割込機能は使用しないとともに、前記割込時参照テーブルは、使用しない割込機能に対応する記憶位置(例えばROM103の0070H番地〜0075H番地)にも、使用している割込機能(例えばCTC102のチャネル3など)に対応した割込処理データを記憶している。これにより、割込要因出力手段から出力された割込要因情報にノイズ等により誤りが生じて、別の要因による割込みと認識されるときでも、本来の割込要因に対応した処理を実行することができる。
【0011】
請求項2に記載の遊技機においては、前記割込時参照テーブルに記憶された割込処理データは、前記割込処理実行手段により実行される割込処理の実行アドレスである。この構成によれば、割込発生時に参照される処理内容が割込処理実行手段により実行される処理の実行アドレスのみであるので、制御が簡単となり、処理負担を軽減することができる。
【0012】
請求項3に記載の遊技機においては、前記割込要因発生手段は、システムクロックを分周したクロック信号に基づいてカウント値を更新するカウンタ回路(例えばダウンカウンタ223)を備え、該カウンタ回路のカウント値が所定値(例えば「0」)になるときに割込要因を発生させる。この構成によれば、割込要因として、システムクロックを分周したクロック信号に基づいて更新されるカウンタ回路のカウント値が所定値になることが含まれるので、タイマ割込みを発生させることができ、多様な割込要因に対応した処理の実行が可能となる。
【0013】
請求項4に記載の遊技機においては、前記制御手段は、前記複数種類の割込機能のうち、使用しない割込機能の割込要因を前記割込要因発生手段が発生させないように設定する割込設定手段(例えばCPU101が図12に示すステップS110の処理を実行する部分)を含む。この構成によれば、使用しない割込機能の割込要因が発生しないので、ノイズ等により不要な制御が実行されてしまうことを防止できる。
【0014】
請求項5に記載の遊技機においては、割込禁止に設定できないマスク不能割込みの割込要因を発生させるマスク不能割込発生手段(例えばリセット/割込コントローラ106など)と、前記マスク不能割込発生手段が割込要因を発生させたときに前記割込処理実行手段により実行されるマスク不能割込処理を記憶するマスク不能処理記憶手段(例えば図5に示すROM103の0066H番地〜006DH番地)、とをさらに備え、前記マスク不能割込処理には、マスク不能割込処理から復帰するための復帰命令(例えばRETN命令など)のみが設定されている。この構成によれば、マスク不能割込処理には、割込処理実行手段がマスク不能割込処理から復帰するための命令が設定されているので、マスク不能割込みが発生したときに制御の実行が停止してしまうことを防止できる。
【0015】
【発明の実施の形態】
以下、図面を参照しつつ、本発明の一実施形態を詳細に説明する。
図1は、本実施例におけるパチンコ遊技機の正面図であり、主要部材の配置レイアウトを示す。本実施例におけるパチンコ遊技機としては、プリペイドカードによって球貸しを行うカードリーダ(CR:Card Reader)式の第1種パチンコ遊技機や、スロットマシン等の遊技機である。
【0016】
また、パチンコ遊技機等の弾球遊技機であっても、例えば、第2種あるいは第3種に分類されるパチンコ遊技機や、一般電役機、又はパチコンと呼ばれる確率設定機能付き弾球遊技機等であっても構わない。さらには、プリペイドカードによって球貸しを行うCR式パチンコ遊技機だけではなく、現金によって球貸しを行うパチンコ遊技機にも適用可能である。
【0017】
パチンコ遊技機(遊技機)1は、大別して、遊技盤面を構成する遊技盤(ゲージ盤)2と、遊技盤2を支持固定する遊技機用枠(台枠)3とから構成されている。
【0018】
遊技盤2にはガイドレールによって囲まれた、ほぼ円形状の遊技領域が形成されている。遊技領域のほぼ中央位置には、可変表示装置4が設けられ、この可変表示装置4の下側には、特別図柄の変動を許容する始動機能を有する普通可変入賞球装置6が配置されている。普通可変入賞球装置6の下側には、特別可変入賞球装置(大入賞口)7が配置されている。また、可変表示装置4の上部には、普通図柄表示器5が配置されている。
【0019】
可変表示装置4は、複数の変動表示部により識別情報としての図柄を変動表示するLCD(Liquid Crystal Display)モジュール等を備えて構成され、例えば、普通可変入賞球装置6に遊技球が入賞することが実行条件となる特図ゲームにおいて、数字、文字、図柄等から構成される3つの表示図柄(特別図柄)の変動表示を開始し、一定時間が経過すると、左、右、中の順で表示図柄を確定する。可変表示装置4には、普通可変入賞球装置6に入った有効入賞球数すなわち始動記憶数を表示する4つの始動記憶表示エリアが設けられていてもよい。
【0020】
普通図柄表示器5は、発光ダイオード(LED)等を備えて構成され、所定の通過部材を遊技球が通過することが実行条件となる普通図ゲームにおいて、点灯、点滅、発色などが制御され、所定の当りパターンで表示が行われると、「普通図当り」状態となり、普通可変入賞球装置6を構成する電動チューリップの可動翼片を所定時間が経過するまで傾動制御する。
【0021】
普通可変入賞球装置6は、ソレノイドによって垂直(通常開放)位置と傾動(拡大開放)位置との間で可動制御される一対の可動翼片を有するチューリップ型役物として構成される。
【0022】
特別可変入賞球装置7は、ソレノイドによって入賞領域を開成・閉成制御する開閉板を備える。この開閉板は、通常時には閉成し、普通可変入賞球装置6への遊技球の入賞に基づいて可変表示装置4による特図ゲームが行われた結果、特定遊技状態となった場合に、ソレノイドによって入賞領域を所定期間(例えば、29秒)あるいは所定個数(例えば、10個)の入賞球が発生するまで開成(開成サイクル)する状態となるように設定され、その開成している間に遊技盤2の表面を落下する遊技球を受け止める。そして、この開成サイクルを最高16回繰り返すことができるようになっている。特別可変入賞球装置7に入賞した遊技球は、入賞口スイッチなどの検出部により検出される。入賞球の検出に応答し、後述する主基板11と払出制御基板15(図2、図3)とにより、所定数の賞球の払い出しが行われる。
【0023】
また、遊技盤2の遊技領域には、上記した構成以外にも、装飾ランプを内蔵した風車やアウト口等が設けられている。また、遊技領域の外側の左右上部には、効果音を発する2つのスピーカ8L、8Rが設けられている。遊技領域の外周には、点灯又は点滅する遊技効果ランプ9が設けられている。遊技領域の外側左部には、賞球残数があるときに点灯する賞球ランプ51が設けられている。遊技領域の外側上部には、補給球が切れたときに点灯する球切れランプ52が設けられている。
【0024】
遊技領域外側の右下部には、遊技者が遊技球を発射させるために操作する打球操作ハンドル(操作ノブ)20が設けられている。操作ノブ20には、静電容量の変化に基づいて遊技者が操作ノブ20に触れていることを検出するためのタッチリング57(図3)と、所定間隔での遊技球発射を単発打ち制御に切り換える単発発射スイッチ58(図3)とが設けられている。単発打ち制御は、単発発射スイッチ58からの信号の入力タイミングに応じて遊技球を発射する制御である。
【0025】
さらに、図1には、パチンコ遊技機1に隣接して設置され、プリペイドカードが挿入されることによって球貸しを可能にするプリペイドカードユニット(以下、カードユニットという)50も示されている。カードユニットには、使用可能状態であるか否かを示す使用可表示ランプ、カードユニットがいずれの側のパチンコ遊技機1に対応しているのかを示す連結台方向表示器、カードユニット内にカードが投入されていることを示すカード投入表示ランプ、記録媒体としてのカードが挿入されるカード挿入口、およびカード挿入口の裏面に設けられているカードリーダライタの機構を点検する場合にカードユニット50を開放するためのカードユニット錠などが設けられている。
【0026】
図2は、パチンコ遊技機1の背面図である。パチンコ遊技機1の背面には、電源基板10、主基板11、演出制御基板12、音声制御基板13、ランプ制御基板14、払出制御基板15、情報端子基板16、インターフェース基板17といった主要基板が、それぞれ適所に配設されている。
【0027】
図3は、主基板11と払出制御基板15を中心としたシステム構成例を示すブロック図である。なお、図3には、電源基板10、演出制御基板12、インターフェース基板17も示されている。
【0028】
電源基板10は、パチンコ遊技機1内の各回路に所定の電源電圧を供給するものである。この電源基板10には、AC24Vの電源の供給を受けるための電源コードが接続されている。
【0029】
主基板11は、演出制御基板12、払出制御基板15、及び情報端子基板16と配線接続されている。また、主基板11には、普通可変入賞球装置6や特別可変入賞球装置7、その他の入賞口への入賞を検出する各入賞口スイッチ70からの配線が、接続されている。
【0030】
主基板11には、遊技制御用マイクロコンピュータ100等が搭載されている。遊技制御用マイクロコンピュータ100は、例えば1チップマイクロコンピュータであり、遊技制御動作を行うCPU101、CPU101に対して割込要求信号を出力可能なCTC102、ゲーム制御用のプログラム等を記憶するROM103、ワークメモリとして使用されるRAM104及びI/Oポート105を含んでいる。遊技制御用マイクロコンピュータ100は、特図ゲームにおいて用いる乱数の生成機能や、演出制御基板12及び払出制御基板15に対し、それぞれ指令情報の一例となる制御コマンドを出力して送信する機能などを備えている。
【0031】
主基板11から払出制御基板15へ送信される制御コマンドは払出制御コマンドである。図3に示すように、この実施の形態では、払出制御コマンドは、払出制御信号CD0〜CD7の8本の信号線で主基板11から払出制御基板15へ送信される。また、主基板11と払出制御基板15との間には、ストローブ信号を送信するための払出制御INT信号の信号線も配線されている。
【0032】
図4は、この実施の形態で主基板11から払出制御基板15へ送信される払出制御コマンドの一例を示す説明図である。図4(A)に示すように、払出制御コマンドは2バイト構成であり、1バイト目はMODE(コマンドの分類)を表し、2バイト目はEXT(コマンドの種類)を表す。MODEデータの先頭ビット(ビット7)は必ず「1」とされ、EXTデータの先頭ビットは「0」とされる。
【0033】
図4(B)に示す例において、コマンドFF00H(添字“H”は、16進数であることを示す)は、払出可能状態を指定する払出制御コマンドである。コマンドFF01Hは、払出停止状態を指定する払出制御コマンドである。また、コマンドF0XXHは、賞球個数を指定する払出制御コマンドである。具体的には、EXTである「XX」が払出個数を示す。
【0034】
CPU101は、CTC102からの割込要求によって現在実行しているプログラムを一時中断し、割込要求に対応した処理を割込処理として優先的に実行する割込機能を備えている。CPU101が実行する割込処理には、例えばCPU101とCTC102とのデータ交換、ステータスや制御情報のやり取りなどが含まれている。CPU101は割込処理の実行が終了すると、割込みが生じる直前に実行していたプログラムに復帰する。CPU101には、ソフトウェアでマスク不能な割込み(NMI:Non Maskable Interrupt)と、マスク可能な割込み(INT:maskable INTerrupt)とが用意されている。
【0035】
CTC102は、CPU101からの指令により複数の割込要因を個別に設定可能であり、設定された割込要因が発生するごとに、CPU101に対して割込要因を特定可能な割込要因情報としての割込ベクタを出力する。CTC102にはチャネル0〜3からなる4つのチャネルが設けられ、チャネルごとに、割込許可/禁止や割込要因の発生条件を設定することができる。
【0036】
図5は、ROM103におけるアドレスマップの一例を示す図である。図5に示すように、ROM103の0066H番地〜006DH番地の領域には、マスク不能な割込み(NMI:Non Maskable Interrupt)が発生したときにCPU101により実行される割込ハンドラであるNMI処理のプログラムモジュールが記憶されている。特に、この実施の形態では、NMI処理のプログラムモジュールとして、NMI用の割込処理からNMI発生直前に実行していた処理プログラムに復帰するためのRETN命令のみが設定されている。
【0037】
ROM103における0124H番地〜0150H番地の領域には、CPU101がCTC102からの割込要求を受け付けたときに実行する遊技制御割込処理のプログラムモジュールが記憶されている。また、ROM103における0070H番地〜0077H番地の領域には、CTC102にて割込要因を各々設定可能な複数種類の割込機能を提供するチャネル0〜3のそれぞれに対応して、割込処理を実行するために使用されるCTC割込処理指定データが記憶され、割込時参照テーブルとして機能する。割込時参照テーブルは、割込ベクタテーブルとも称される。この実施の形態では、CTC102におけるチャネル0〜3のそれぞれに対応するCTC割込処理指定データとして、遊技制御割込処理の実行アドレスを示すデータ0124Hが記憶されている。
【0038】
図3に示す演出制御基板12は、主基板から受信した制御コマンドに従って演出制御を行うためのものである。演出制御基板12は、可変表示装置4の表示制御や、遊技領域の外周に設けられた遊技効果ランプ9を含んだランプ・LED77及び普通図柄表示器5の点灯制御を行う。また、演出制御基板12は、演出用ソレノイド・モータ78を駆動制御するとともに、スピーカ8L、8Rからの音発生を制御する。
【0039】
演出制御基板12は、スピーカ8L、8Rからの音発生を制御するために、音声制御基板13と配線接続されている。音声制御基板13には、スピーカ8L、8Rを駆動する駆動回路等が搭載されている。また、演出制御基板12は、ランプ・LED77を点灯制御するために、ランプ制御基板14と配線接続されている。ランプ制御基板14には、装飾用に用いられるランプ・LED77を駆動するための駆動回路が搭載されている。なお、演出制御基板12、音声制御基板13及びランプ制御基板14は、それぞれ独立した基板として、例えば、パチンコ遊技機1の裏面において、1つのボックスに収容された状態で設置されてもよい。さらに、演出制御基板12、音声制御基板13及びランプ制御基板14を、まとめて1つの基板として構成してもよい。
【0040】
払出制御基板15は、賞球や球貸し要求に基づく遊技球等の払出制御を行うものである。払出制御基板15は、主基板11及びインターフェース基板17と配線接続されている。また、払出制御基板15には、満タンスイッチ53、球切れスイッチ54、モータ位置センサ55、払出個数カウントスイッチ56、タッチリング57、単発発射スイッチ58、エラー解除スイッチ59からの検出信号が入力される。さらに、払出制御基板15には、賞球ランプ51、球切れランプ52、払出装置60、エラー表示用LED61への配線が接続されている。
【0041】
払出制御基板15には、払出制御用マイクロコンピュータ110等が搭載されている。払出制御用マイクロコンピュータ110は、例えば1チップマイクロコンピュータであり、払出制御動作を行うCPU111、CPU111に対して割込要求信号を出力可能なCTC112、払出制御用のプログラム等を記憶するROM113、ワークメモリとして使用されるRAM114及びI/Oポート115を含んでいる。
【0042】
また、払出制御用マイクロコンピュータ110は、例えばRAM114の所定領域に、図6に示すような受信コマンドバッファメモリ120を備えている。受信コマンドバッファメモリ120には、主基板11から受信した払出制御コマンドを格納するための受信コマンドバッファが複数設けられている。図6に示す例では、12個の受信コマンドバッファが設けられており、受信したコマンドを格納する受信コマンドバッファは、コマンド受信個数カウンタで指定される。コマンド受信個数カウンタは、0〜11の範囲の値をとる。各受信コマンドバッファは、例えば1バイトで構成され、複数の受信コマンドバッファをリングバッファとして使用することにより、2バイト構成の払出制御コマンドを6個格納することができる。
【0043】
CPU111には、CPU101と同様の割込機能が用意されている。CTC112は、CTC102と同様に、CPU111からの指令により複数の割込要因を個別に設定可能であり、設定された割込要因が発生するごとに、CPU111に対して割込要因情報を出力する。
【0044】
ROM113の所定領域には、図7に示すように、CTC112にて割込要因を各々設定可能な複数種類の割込機能を提供するチャネル0〜3のそれぞれに対応して、実行する割込処理に応じたCTC割込処理指定データが記憶され、割込時参照テーブルとして機能する。この実施の形態において、CTC112には、割込要因を各々設定可能としたチャネル0〜3が設けられている。そして、ROM113には、CTC112のチャネル1及びチャネル3に対応するCTC割込処理指定データとして、払出制御割込処理の実行アドレスが記憶されている。また、CTC112のチャネル0及びチャネル2に対応するCTC割込処理指定データとしては、コマンド受信割込処理の実行アドレスが記憶されている。
【0045】
図8は、CPU101とCTC102の間、及びCPU111とCTC112の間における構成例を示すブロック図である。図8には、CPU101、111の内部構成も示されている。図8に示すように、CPU101とCTC102の間は、バス109を介して接続されるとともに、リセット/割込コントローラ106を介して接続される。CPU111とCTC112の間は、バス109を介して接続されるとともに、リセット/割込コントローラ116を介して接続される。リセット/割込コントローラ106、116は、外部からの割込要求やCTC102、112等の周辺LSIからの割込要求を制御する回路である。
【0046】
リセット/割込コントローラ106、116には、受付を禁止できない(マスク不能な)割込要求信号であるXNMI信号と、受付禁止に設定可能な(マスク可能な)割込要求信号であるXINT信号とが、外部から入力される。リセット/割込コントローラ106は、CPU101との間が、マスク不能な割込要求信号/NMI(以下、信号名に付された記号“/”は、上付きバーを示し、負論理であることを意味する)と、マスク可能な割込要求信号/INTとをCPU101に対して出力するための信号線により配線接続されている。また、リセット/割込コントローラ106は、CTC102との間が、IEO、IEI、/INTなどの信号を入出力するための信号線により配線接続されている。リセット/割込コントローラ116も、CPU111との間が/NMI及び/INTをCPU111に対して出力するための信号線により配線接続され、CTC112との間がIEO、IEI、/INTなどの信号を入出力するための信号線により配線接続されている。
【0047】
IEO信号とIEI信号は、CTC102又は112とデイジーチェーン接続された他の周辺LSI(例えばPIO:Parallel Input/Output port)との間で割込優先順位を決定するために用いられる。
【0048】
バス109には、データ信号D0〜D7を送受信するための8本の信号線と、/CE、CS0、CS1、/M1、/IORQ、/RDなどのコントロール信号を送受信するための信号線とが含まれている。CS0信号とCS1信号は、CPU101、111がCTC102、112におけるチャネル0〜3のいずれかを指定するために用いられる。CS0信号とCS1信号には、図9に示すように、CTC102、112のチャネル0〜3のそれぞれに対応して異なった値が割り付けられている。
【0049】
CPU101、111はそれぞれ、図8に示すように、プログラムカウンタ201と、各種レジスタ202と、割込許可用フリップフロップIFF1、IFF2と、内部NMIフリップフロップNMIFFとを備えている。
【0050】
プログラムカウンタ201は、CPU101、111が次に実行すべき命令のアドレス値を保持する。プログラムカウンタ201の値は、各命令が実行されるごとに順次カウントアップされたり、分岐命令による分岐先のアドレス値が設定されたりする。
【0051】
各種レジスタ202は、例えば複数種類の8ビットレジスタ(具体的には、A、B、C、D、E、H、L、I、X、Yの各レジスタやフラグレジスタ)などを含んで構成される。各種レジスタ202の値は、CPU101、111が実行する演算命令や転送命令などに従って更新され、プログラムアドレスやデータアドレスあるいは入出力ポートアドレスの指定、演算データや転送データの保持などに用いられる。
【0052】
割込許可フリップフロップIFF1、IFF2は、マスク可能な割込みの許可/禁止を決定するためのものであり、IFF1が実際にマスク可能な割込みの許可/禁止を決定し、IFF2はNMI処理を実行するときに割込要求を受け付ける直前のIFF1の状態を保持しておくためのものである。CPU101、111のリセット時や、割込禁止命令であるDI命令の実行時、マスク可能な割込みの受付時には、IFF1及びIFF2はともに“0”にリセットされて、割込みが禁止される。他方、割込許可命令であるEI命令の実行時には、IFF1及びIFF2はともに“1”にセットされて、割込みが許可される。マスク不能な割込みの受付時には、IFF1が“0”にリセットされてマスク可能な割込みを禁止する。一方、IFF2は、割込みの受付直前の状態を保持する。なお、IFF1が“0”であるときでも、マスク不能な割込みについては、割込みが禁止されない。
【0053】
内部NMIフリップフロップNMIFFは、/NMI信号の立下がりで“1”にセットされる。この内部NMIフリップフロップNMIFFの状態がCPU101、111により実行される各命令の最終クロックの立上がりエッジでサンプリングされ、マスク不能な割込みが受け付けられる。マスク不能な割込みが受け付けられた後、内部NMIフリップフロップNMIFFは、“0”にリセットされる。
【0054】
CTC102、112はそれぞれ、図10に示すように、内部バス215を介して相互に接続されたCPUバス入出力回路211と、内部制御回路212と、割込制御回路213と、カウンタ/タイマチャネル回路214とを備えている。
【0055】
CPUバス入出力回路211は、CPU101とCTC102の間、あるいはCPU111とCTC112の間を接続し、バス109を介して、チャネル制御語や時間定数データ、割込ベクタなどといった、各種制御データやコントロール信号の入出力を行うための回路である。
【0056】
内部制御回路212は、CTC102、112の駆動やリセット、カウンタ/タイマチャネル回路214に対するデータの読出/書込といった、CTC102、112全体の動作を制御するための処理を実行する。
【0057】
割込制御回路213は、CTC102、112とデイジーチェーン接続された周辺LSIとの間における割込みの優先順位や、CTC102、112の内部における割込みの優先順位を決定する処理などを実行する。CTC102、112の内部におけるチャネルの優先順位は、チャネル0がもっとも高く、続いてチャネル1、2、3の順となるように設定されている。
【0058】
カウンタ/タイマチャネル回路214は、CTC102、112におけるチャネル0〜3のそれぞれに対応して設けられた4つのカウンタ/タイマチャネル回路214A〜214Dを備えている。図11は、各カウンタ/タイマチャネル回路214A〜214Dにおける構成例を示すブロック図である。図11に示すように、各カウンタ/タイマチャネル回路214A〜214Dは、チャネル制御レジスタ221と、時間定数レジスタ222と、ダウンカウンタ223と、プリスケーラ224とを備えている。チャネル制御レジスタ221、時間定数レジスタ222、ダウンカウンタ223は、それぞれが内部バス215に接続されている。また、ダウンカウンタ223には、CLK/TRG信号の入力端子と、ZC/TO信号の出力端子とが設けられている。
【0059】
チャネル制御レジスタ221は、CPU101又は111から各カウンタ/タイマチャネル回路214A〜214Dの動作内容を設定するために入力されるチャネル制御語によって、チャネルの動作モードなどを含めた割込要因の発生条件を選択するためのものである。各カウンタ/タイマチャネル回路214A〜214Dは、チャネル制御レジスタ221に書き込まれたチャネル制御語に応じて、その動作モードをカウンタモードとタイマモードのいずれかに設定することができる。
【0060】
カウンタモードは、CLK/TRG信号の入力端子に加えられるパルスのエッジ数を計測する動作モードであり、CLK/TRG信号におけるパルスの入力後、次のシステムクロックの立上がりに同期してダウンカウンタ223のカウント値が1減算される。そして、ダウンカウンタ223のカウント値が「0」になると、ZC/TO信号がオン状態となる。また、チャネル制御レジスタ221に書き込まれたチャネル制御語によって割込発生が許可されている場合には、/INT信号がローレベル(オン状態)となり、CPU101又は111に対して割込要求信号が出力される。
【0061】
タイマモードは、プリスケーラ224から出力されるクロックパルス信号に同期してダウンカウンタ223のカウント値が減算される動作モードである。すなわち、ダウンカウンタ223は、プリスケーラ224から出力されるクロック信号の立上がりエッジあるいは立下がりエッジにてカウント値を1減算する。そして、ダウンカウンタ223のカウント値が「0」になると、ZC/TO信号として一定周期のパルス信号が出力される。タイマモードにおいても、チャネル制御レジスタ221に書き込まれたチャネル制御語によって割込発生が許可されている場合には、ダウンカウンタ223のカウント値が「0」となったときに/INT信号がオン状態となり、割込要求信号が出力される。
【0062】
時間定数レジスタ222は、ダウンカウンタ223に書き込む時間定数としてのカウント初期値を保持するためのものである。時間定数レジスタ222が保持するカウント初期値は、チャネル制御レジスタ221に対するチャネル制御語の書き込みが完了した直後に設定され、1〜256の範囲の整数である。時間定数レジスタ222に保持されたカウント初期値は、CTC102、112が初期化されたとき、あるいはダウンカウンタ223のカウント値が「0」となったときに、ダウンカウンタ223へロードされる。
【0063】
ダウンカウンタ223は、時間定数レジスタ222が保持するカウント初期値をロードして、カウンタモードのときには外部クロック(CLK/TRG信号)のエッジごとに、タイマモードのときにはプリスケーラ224のクロック出力ごとに、カウント値を1減算する。チャネル制御レジスタ221に書き込まれたチャネル制御語によって割込発生が許可されている場合には、ダウンカウンタ223のカウント値が「0」となったときに、割込要求信号を出力することができる。
【0064】
プリスケーラ224は、タイマモードの場合にのみ使用され、チャネル制御レジスタ221に書き込まれたチャネル制御語に従って、システムクロックを16分周又は256分周する。プリスケーラ224により分周されたクロックパルスは、ダウンカウンタ223のクロック入力となる。
【0065】
この実施の形態では、払出制御用マイクロコンピュータ110が備えるCTC112におけるCLK/TRG2信号の入力端子に、主基板11から出力される払出制御INT信号が入力されるように配線接続されている。
【0066】
次に、本実施例のパチンコ遊技機1の動作について説明する。図12は、主基板11に搭載された遊技制御用マイクロコンピュータ100が実行可能な各種の割込処理を示す説明図である。遊技制御用マイクロコンピュータ100のCPU101には、図12(A)に示すようなマスク不能な割込み(NMI)と、図12(B)〜(D)に示すようなモード0〜2のマスク可能な割込み(INT)とが用意されている。
【0067】
図12(A)に示すように、CPU101は、マスク不能な割込みを受け付けたときに、ROM103のアドレス0066H番地に記憶されたサービスルーチンとしてNMI処理のプログラムモジュールを呼び出す。具体的には、CPU101は、マスク不能な割込みを受け付けると、プログラムカウンタ201の内容をスタックに格納し、プログラムカウンタ201に0066Hを設定する。NMI処理には、CPU101が割込発生直前に実行していた処理に復帰するためのRETN命令が設定されており、CPU101はこのRETN命令により、NMI処理から復帰する。
【0068】
また、CPU101は、図12(B)に示すように、モード0にて割込みを受け付けると、周辺LSIがバス109上に送出した1バイトのRST命令又は3バイトのCALL命令を取得する。そして、CPU101は、RST命令に対応したアドレス又はCALL命令で指定されるアドレスから順次命令を実行する。この後、CPU101は、マスク可能な割込みに対応した割込処理からの復帰命令であるRETI命令により、割込発生直前に実行していた処理に復帰する。
【0069】
CPU101は、図12(C)に示すように、モード1にて割込みを受け付けると、常にROM103のアドレス0038H番地を飛び先アドレスとして、そのアドレスから順次命令を実行する。そして、CPU101は、モード0の場合と同様に、RETI命令により割込発生直前に実行していた処理に復帰する。
【0070】
CPU101は、図12(D)に示すように、モード2にて割込みを受け付けると、各種レジスタ202に含まれるIレジスタが格納している値を上位アドレスとし、周辺LSIからバス109上に出力された8ビットの割込ベクタを下位アドレスとして、ROM103の割込時参照テーブルを参照する。これにより、割込処理の実行アドレスが特定され、CPU101は、特定したアドレスから順次命令を実行する。ROM103の割込時参照テーブルには、割込処理の実行アドレスが下位バイト、上位バイトの順で設定されている。
【0071】
CPU101は、割込モードをモード2に設定することで、CTC102等の周辺LSIからの割込要求に対応した割込処理を実行することができ、また、ROM103における任意のアドレスに割込処理を設置することが可能になる。また、割込発生時にROM103の割込発生時参照テーブルにて参照される内容は、割込処理の実行アドレスのみであるので、制御が簡単となり、CPU101の処理負担は軽減される。さらに、モード1の場合とは異なり、割込要因ごとに異なる割込処理を容易に用意しておくことができる。
【0072】
図13は、遊技制御用マイクロコンピュータ100にてCPU101が実行する遊技制御メイン処理のフローチャートである。パチンコ遊技機1に対する電源が投入されると、遊技制御メイン処理が開始され、まず、CPU101は、割込禁止に設定し(ステップS101)、続いて、割込モードをモード2に設定する(ステップS102)。
【0073】
この後、CPU101は、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS103)。そして、遊技制御用マイクロコンピュータ100の内蔵デバイスであるCTC102などのレジスタ設定を行う(ステップS104)。この際、CPU101は、CTC102に対して、割込ベクタの設定を行う。
【0074】
割込ベクタは、図14(A)に示すような8ビットからなる情報であり、第0ビットD0は、“0”に固定されている。割込ベクタの第1及び第2ビットD1、D2は、チャネル0〜3のいずれで割込みが発生したかを示すチャネルのコードである。このチャネルのコードには、図14(B)に示すように、チャネル0〜3のそれぞれに対応して異なった値が割り付けられている。割込ベクタに含まれるチャネルのコードから、CPU101は、CTC102で発生した割込要因を特定することができる。すなわち、CTC102のCPUバス入出力回路211から出力される割込ベクタは、割込みの発生要因を特定可能な割込要因情報となる。割込ベクタの第7〜第3ビットD7〜D3は、CPU101により設定可能なユーザ設定値である。
【0075】
ステップS104において、CPU101は、割込ベクタの第7〜第3ビットD7〜D3を指定するための制御データを、バス109を介してCTC102へ出力する。このとき、CS0信号とCS1信号はいずれも“0”に設定しておき、CTC102におけるチャネル0に対する書き込みとする。この実施の形態では、CPU101は、割込ベクタが70H〜76Hの範囲の値となるように、割込ベクタにおける第7〜第3ビットD7〜D3を設定する。
【0076】
ステップS104に続いて、CPU101は、例えばRAM104に設けられたバックアップフラグ領域をチェックするなどして(ステップS105)、前回の電源断時にRAM104の全部又は一部について所定のデータ保護処理によるバックアップがなされたか否かを判別する(ステップS106)。パチンコ遊技機1では、不測の電源断が生じたときに、RAM104に記憶されたデータの全部又は一部を保護するためのデータ保護処理が行われる。このようなデータ保護処理が行われていた場合には、バックアップありと判別される。
【0077】
ステップS106にてバックアップありと判別したとき(ステップS106;Yes)、CPU101は、バックアップデータのチェックとしてパリティチェックを行い、チェック結果が正常であるか否かを判別する(ステップS107)。チェック結果が正常であれば(ステップS107;Yes)、主基板11の内部状態とサブ側の各制御基板(演出制御基板12、音声制御基板13、ランプ制御基板14、及び払出制御基板15)の制御状態を電源断時の状態に戻すための遊技状態復旧処理を実行する(ステップS108)。その後、ステップS110に進む。
【0078】
ステップS106にてバックアップなしと判別したときや(ステップS106;No)、ステップS107にてチェック結果が正常ではなかったとき(ステップS107;No)、CPU101は、RAM104のクリアや、所定の作業領域に対する初期設定などを行う(ステップS109)。
【0079】
続いて、CPU101は、ステップS110において、CTC102によるタイマ割込みのための設定を行う。具体的には、バス109を介してCTC102にチャネル制御語を入力し、CTC102に設けられた複数種類の割込機能の設定を行う。
【0080】
チャネル制御語は、図15(A)に示すような8ビットからなる情報であり、その第0ビットD0は、“1”に固定されている。チャネル制御語の第7ビットD7は、CTC102のチャネル0〜3のうちでCPU101がCS0信号とCS1信号により指定したチャネルにおける割込みを許可するか否かを示す。チャネル制御語の第7ビットD7が“1”に設定されているチャネルについては、割込みが許可され、そのチャネルに対応する割込要因が発生したときに、CTC102からCPU101へマスク可能な割込要求信号/INTが出力可能となる。チャネル制御語の第6ビットD6は、各チャネルの動作モードを示し、“0”であればタイマモードに設定され、“1”であればカウンタモードに設定される。
【0081】
チャネル制御語の第5ビットD5は、チャネルの動作モードがタイマモードであるときに、プリスケーラ224における分周比を示し、システムクロックを16分周するか256分周するかを指定する。チャネル制御語の第4ビットD4は、各チャネルにてダウンカウンタ223のカウント値を1減算するタイミングを、パルスの立下がりエッジとするか立上がりエッジとするかを指定する。チャネル制御語の第3ビットD3は、チャネルの動作モードがタイマモードであるときに、ダウンカウンタ223におけるカウント動作開始のタイミングを指定する。チャネル制御語の第2ビットD2は、チャネル制御語を書き込んだ直後に時間定数レジスタ222への時間定数の書き込みを行うか否かを示す。チャネル制御語の第1ビットD1は、各チャネルにおける現在の動作を継続するか否かを示し、“1”であればダウンカウンタ223の動作を停止させる。
【0082】
ステップS110において、CPU101は、CTC102のチャネル3のみを割込許可に設定し、チャネル0〜2は割込禁止に設定する。こうして、CPU101は、CTC102に設けられた複数種類の割込機能のうち1つの割込み機能のみを使用し、使用しない割込機能については割込要因を発生させないように割込禁止とする設定を行う。そして、CTC102のチャネル3については、タイマモードで動作させる。さらに、CPU101は、CTC102のチャネル3に対するチャネル制御語を出力した直後に、チャネル3に対応するカウンタ/タイマチャネル回路214Dの時間定数レジスタ222に書き込む時間定数としてのカウント初期値を出力する。
【0083】
この後、カウンタ/タイマチャネル回路214DにおけるCLK/TRG3信号の入力端子に図16に示すようなパルスを与える。カウンタ/タイマチャネル回路214Dのダウンカウンタ223は、CLK/TRG3信号パルスの立上がりエッジから、システムクロックの2番目の立上がりによりタイマ動作としてのカウントダウンを開始する。そして、ダウンカウンタ223は、プリスケーラ224がシステムクロックを分周することにより生成されたクロック信号に基づいてカウント値を更新(カウントダウン)する。
【0084】
カウンタ/タイマチャネル回路214Dにおけるダウンカウンタ223のカウント値が「0」となったときに、割込制御回路213は割込要求信号/INTをオン状態としてリセット/割込コントローラ106へ出力する。また、CPUバス入出力回路211は、チャネル3に対応するカウンタ/タイマチャネル回路214Dで割込要因が発生したことを示す割込ベクタを、バス109上に出力する。すなわち、CTC102からバス109上へ出力される割込ベクタは、第1及び第2ビットD1、D2がいずれも“1”にセットされ、76Hを示す。こうして、以後、所定時間(例えば2ミリ秒)ごとにリセット/割込コントローラ106からCPU101に入力される割込要求信号/INTがオン状態となる。
【0085】
ステップS110に続いて、CPU101は、CTC102からの割込要求信号によるタイマ割込が発生したか否かを監視するためのループ処理に移行する。このループ処理では、割込禁止に設定した後(ステップS111)、表示用乱数更新処理(ステップS112)や判定用乱数更新処理(ステップS113)が実行され、判定用乱数処理が完了すると、割込許可に設定する(ステップS114)。具体的には、CPU101は、EI命令を実行することにより、割込許可フリップフロップIFF1及びIFF2を“1”にセットする。
【0086】
CPU101は、割込許可に設定された状態で、リセット/割込コントローラ106から出力された割込要求信号/INTがオン状態となると、CTC102からの割込要求を受け付ける。CTC102からの割込要求を受け付けたときには、CTC102によりバス109上に出力された割込ベクタがCPU101に入力される。CTC102では、チャネル3のみが割込許可に設定されているので、CTC102からバス109上に出力される割込ベクタは常に76Hを示す。
【0087】
CPU101は、バス109から入力された割込ベクタに基づいてROM103上の割込時参照テーブルを参照する。バス109上を伝送する割込ベクタに誤りが生じていないときには、図17(A)に示すように、割込ベクタに基づいて割込時参照テーブル上のアドレス0076H番地が参照される。
【0088】
他方、例えばバス109上におけるノイズの発生等により、バス109上を伝送する割込ベクタに誤りが生じることがある。ROM103上の割込時参照テーブルでは、チャネル0〜2のそれぞれに対応するCTC割込処理指定データとして、チャネル3に対応するCTC割込処理指定データと同様に、遊技制御割込処理の実行アドレスを示すデータ0124Hが記憶されている。これにより、ノイズの発生等によりCPU101に入力される割込ベクタにある程度の誤りが生じたときでも、本来の割込要因に対応する割込処理を実行することができる。
【0089】
例えば、バス109上を伝送する割込ベクタの第2ビットD2に1ビットの誤りが生じたときには、CPU101に入力される割込ベクタが72Hを示す。ROM103上に設けられた割込時参照テーブルでは、0072H番地にも遊技制御割込処理の実行アドレスを示すデータ0124Hが記憶されているので、CPU101は、遊技制御割込処理の実行アドレスを正しく特定することができる。
【0090】
また、割込ベクタの第1ビットD1に1ビットの誤りが生じたときには、CPU101に入力される割込ベクタが74Hを示す。さらに、割込ベクタの第1及び第2ビットD1、D2の2ビットに誤りが生じたときには、CPU101に入力される割込ベクタが70Hを示す。ROM103上では、0070H番地と0074H番地のいずれにも遊技制御割込処理の実行アドレスを示すデータ0124Hが記憶されているので、CPU101は、遊技制御割込処理の実行アドレスを正しく特定することができる。このようにして、CPU101は、CTC102からの割込要求を受け付けると、ノイズの影響を受けることなく、図18に示す遊技制御割込処理の実行を開始することができる。
【0091】
遊技制御割込処理を開始すると、CPU101は、所定の電源断処理を実行することにより、電源基板10から供給される電源電圧が低下したときなどに所定のデータ保護処理等を実行可能とする(ステップS121)。続いて、所定のスイッチ処理を実行することにより、各入賞口スイッチ70から入力される検出信号の状態を判定する(ステップS122)。
【0092】
次に、CPU101は、判定用乱数更新処理(ステップS123)と、表示用乱数更新処理(ステップS124)とを、順次実行する。そして、特別図柄プロセス処理を実行する(ステップS125)。特別図柄プロセス処理では、遊技状態に応じてパチンコ遊技機1を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選択されて実行される。特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。
【0093】
また、CPU101は、普通図柄プロセス処理を実行する(ステップS126)。普通図柄プロセス処理では、普通図柄表示器5を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選択されて実行される。普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。さらに、特別図柄コマンド制御処理(ステップS127)と、普通図柄コマンド制御処理(ステップS128)とを、順次実行する。これにより、CPU101は、主基板11から演出制御基板12に対して表示制御コマンドを送ることにより、可変表示装置4の表示制御や普通図柄表示器5の点灯制御を指示する。
【0094】
続いて、CPU101は、所定の情報出力処理を実行することにより、各種出力データをI/Oポート105に含まれる各出力ポートに出力する(ステップS129)。この情報出力処理では、主基板11から情報端子基板16に、大当り情報、始動情報、確率変動情報などをホール管理用コンピュータに対して出力する指令の送出も行われる。
【0095】
また、CPU101は、所定の賞球処理を実行することにより、各入賞口スイッチ70から入力された検出信号に基づく賞球数の設定などを行い、払出制御基板15に対して払出制御コマンドを出力可能とする(ステップS130)。
【0096】
図19は、主基板11から払出制御基板15に対する払出制御コマンドを構成する8ビットの払出制御信号CD0〜CD7と、払出制御INT信号との関係を示すタイミング図である。図19に示すように、CPU101は、I/Oポート105において払出制御信号CD0〜CD7に対応する出力ポートにMODE又はEXTのデータが出力されたのち、所定期間が経過したときに払出制御INT信号をオン状態にセットする。また、そこから所定期間が経過すると払出制御INT信号をオフ状態にクリアする。
【0097】
CPU101は、演出制御基板12、音声制御基板13、ランプ制御基板14等に対しても、払出制御コマンドと同様にして各制御コマンドを送信することができる。なお、演出制御基板12が音声制御基板13及びランプ制御基板14に配線接続されている場合には、主基板11から音声制御基板13及びランプ制御基板14に対して制御コマンドを送る必要はない。
【0098】
さらに、CPU101は、所定のソレノイド出力処理を実行することにより、所定の条件が成立したときに普通可変入賞球装置6における可動翼片や特別可変入賞球装置7における開閉板の開閉駆動を行う(ステップS131)。
【0099】
また、リセット/割込コントローラ106は、CPU101が任意の処理を実行中に、XNMI信号がオン状態となったことを検出すると、CPU101に対する割込要求信号/NMIをオン状態にセットして、割込み禁止に設定できないマスク不能割込みを発生させる。CPU101では、割込要求信号/NMIがオン状態になると、内部NMIフリップフロップNMIFFが“1”にセットされ、マスク不能な割込みが受け付けられる。
【0100】
マスク不能な割込みを受け付けると、CPU101は、プログラムカウンタ201の値を0066Hに更新するなどして、ROM103の0066H番地に記憶されたNMI処理の実行を開始する。この実施の形態では、NMI処理プログラムモジュールとしてRETN命令のみが設定されているので、マスク不能な割込を受け付けたときには、直ちにマスク不能割込みの発生直前に実行していた処理に復帰する。こうして、CPU101は、マスク不能な割込みが発生したときでも、制御を停止することなく実行する。
【0101】
払出制御基板15では、払出制御用マイクロコンピュータ110のCPU111に、主基板11に搭載された遊技制御用マイクロコンピュータ100のCPU101と同様の割込機能が用意されている。払出制御基板15において電源基板10からの電源電圧が供給されると、払出制御用マイクロコンピュータ110が起動し、CPU111は、まず、図20に示す払出制御メイン処理を実行する。
【0102】
払出制御メイン処理を開始すると、CPU111は、割込禁止に設定した後(ステップS201)、割込モードをモード2に設定する(ステップS202)。続いて、スタックポインタにスタックポインタ指定アドレスを設定し(ステップS203)、払出制御用マイクロコンピュータ110の内蔵デバイスであるCTC112などのレジスタ設定を行う(ステップS204)。この際、CPU111は、CTC112に対して、図7に示すようなROM113における割込時参照テーブルの記憶位置に対応した割込ベクタの設定を行う。
【0103】
ステップS204に続いて、CPU111は、RAM114のクリアや、所定の作業領域に対する初期設定などを行う(ステップS205)。次に、CTC112による割込のための設定を行う(ステップS206)。ステップS206において、CPU111は、バス109を介してCTC112へチャネル制御語を出力し、CTC112に設けられた複数種類の割込機能の設定を行う。
【0104】
この実施の形態では、CTC112のチャネル2に対応するカウンタ/タイマチャネル回路214CにCLK/TRG2信号として主基板11から出力される払出制御INT信号が入力される。そこで、CPU111は、CTC112のチャネル2を割込許可に設定してカウンタモードで動作させることにより、払出制御コマンド受信のための割込発生を可能とする。CTC112のカウンタ/タイマチャネル回路214Cでは、時間定数レジスタ222にダウンカウンタ223のカウント初期値として「1」が設定される。チャネル2に対応するカウンタ/タイマチャネル回路214Cのダウンカウンタ223は、図21に示すように、カウント初期値として「1」が設定されることで、払出制御INT信号の入力に応じてカウント値が「0」となり、割込要求信号/INTをオン状態にセットすることができる。
【0105】
また、CPU111は、CTC112のチャネル3を割込許可に設定してタイマモードで動作させ、所定時間(例えば2ミリ秒)ごとにタイマ割込みの発生を可能とする。CTC112のカウンタ/タイマチャネル回路214Dでは、時間定数レジスタ222に所定時間に対応するカウント初期値が設定され、図16に示した場合と同様にして、ダウンカウンタ223のカウントダウン動作が開始される。他方、CTC112のチャネル0とチャネル1については割込禁止に設定しておく。
【0106】
こうしたCTC112における動作内容の設定により、以後、払出制御INT信号が入力されたとき、あるいは所定時間(2ミリ秒)ごとに、リセット/割込コントローラ116からCPU111に入力される割込要求信号/INTがオン状態となる。
【0107】
ステップS206の後、CPU111は割込許可に設定され、CTC112からの割込要求信号/INTがオン状態となったか否かを監視するためのループ処理に移行する。例えば、CPU111は、EI命令を実行することにより、割込許可フリップフロップIFF1及びIFF2を“1”にセットする。
【0108】
CTC112では、チャネル2の優先順位がチャネル3よりも高く設定されている。従って、カウンタ/タイマチャネル回路214Cとカウンタ/タイマチャネル回路214Dで同時にダウンカウンタ223のカウント値が「0」となったときには、チャネル2における割込要因情報(割込ベクタ)がCPU111に対して優先的に出力される。
【0109】
CPU111は、割込許可に設定された状態で、リセット/割込コントローラ116から出力された割込要求信号/INTがオン状態となると、CTC112からの割込要求を受け付ける。CTC112からの割込要求を受け付けたときには、CTC112によりバス109上に出力された割込ベクタがCPU111に入力される。
【0110】
CPU111は、バス109から入力された割込ベクタに基づいて、図7に示すROM113上の割込時参照テーブルを参照する。ROM103上の割込時参照テーブルでは、チャネル0とチャネル2に対応するCTC割込処理指定データとして、コマンド受信割込処理の実行アドレスが記憶されている。また、チャネル1とチャネル3に対応するCTC割込処理指定データとしては、払出制御割込処理の実行アドレスが記憶されている。これにより、ノイズ等の発生によりCPU111に入力される割込ベクタの第2ビットD2に1ビットの誤りが生じたときでも、本来の割込要因に対応する割込処理を実行することができる。
【0111】
CPU111は、CTC112からチャネル0又はチャネル2に対応する割込要求を受け付けると、図22に示すコマンド受信割込処理の実行を開始する。このコマンド受信割込処理において、CPU111は、まず、各レジスタの値をスタックに退避する(ステップS221)。続いて、I/Oポート115のうちで払出制御信号CD0〜CD7の入力に割り当てられている入力ポートから、払出制御コマンドに対応するデータを読み込む(ステップS222)。そして、2バイト構成の払出制御コマンドのうちの1バイト目であるか否かを判別する(ステップS223)。ここで、払出制御コマンドの1バイト目(MODE)と2バイト目(EXT)とは、受信側で直ちに区別可能に構成されている。すなわち、先頭ビットによって、MODEとしてのデータを受信したのかEXTとしてのデータを受信したのかを、受信側において直ちに検出できる。受信したコマンドの先頭ビットが「1」である場合には、2バイト構成である払出制御コマンドのうちの有効な1バイト目(MODEデータ)を受信したと判別される。
【0112】
ステップS223にて1バイト目のMODEデータであると判別したときには(ステップS223;Yes)、受信コマンドバッファメモリ120にて、コマンド受信個数カウンタにより指定される受信コマンドバッファに、受信したコマンドを格納する(ステップS224)。ステップS224を実行した後には、ステップS230に進む。一方、払出制御コマンドの1バイト目でなければ(ステップS223;No)、1バイト目のMODEデータを既に受信したか否かを判別する(ステップS225)。1バイト目のMODEデータを既に受信したか否かは、受信コマンドバッファに格納されているコマンドデータを確認することにより、判別することができる。
【0113】
1バイト目を既に受信している場合には(ステップS225;Yes)、今回受信した1バイトのうちの先頭ビットが「0」であるか否かを判別し、先頭ビットが「0」であれば、有効な2バイト目を受信したとして、コマンド受信個数カウンタにより指定される次の受信コマンドバッファに、受信したコマンドを格納する(ステップS226)。なお、ステップS226にて払出制御コマンドの1バイト目を受信していないと判別した場合や(ステップS226;No)、2バイト目として受信したデータのうちの先頭ビットが「0」でない場合には、ステップS230に進む。
【0114】
ステップS226にて2バイト目のコマンドデータを格納すると、コマンド受信個数カウンタの値を2加算し(ステップS227)、その値が12以上であるか否かを判別する(ステップS228)。12以上であれば(ステップS228;Yes)、コマンド受信個数カウンタをクリアして、その値を0に戻す(ステップS229)。一方、12未満のときには(ステップS228;No)、ステップS229をスキップする。その後、ステップS221にて退避されていたレジスタを復帰し(ステップS230)、割込許可に設定する(ステップS231)。こうしてコマンド受信割込処理により、主基板11から送られた表示制御コマンドが受信コマンドバッファメモリ120に設けられた受信コマンドバッファに格納される。
【0115】
また、CPU111は、CTC112からチャネル1又はチャネル3に対応する割込要求を受け付けると、図23に示す払出制御割込処理の実行を開始する。この払出制御割込処理において、CPU111は、まず、所定のスイッチ処理を実行することにより、払出制御基板15に入力される各種スイッチ(満タンスイッチ53、球切れスイッチ54など)からの検出信号や、インターフェース基板を介して払出制御基板15に入力される球貸し検出スイッチ71からの検出信号などを取り込む(ステップS241)。
【0116】
次に、CPU111は、所定の入力判定処理を実行することにより、ステップS241のスイッチ処理にて取り込んだ検出信号の状態を判定する(ステップS242)。さらに、CPU111は、コマンド解析処理を実行して、解析結果に応じた処理を実行する(ステップS243)。続いて、所定の払出停止状態設定処理を実行することにより、主基板11から払出停止指示コマンドを受信したときに払出装置60を払出停止状態とし、払出開始指示コマンドを受信したときに払出停止状態を解除するための設定を行う(ステップS244)。また、所定のプリペイドカードユニット制御処理を実行する(ステップS245)。
【0117】
この後、CPU111は、球貸し要求に応じて貸し球を払い出す制御のための設定処理を行う(ステップS246)。さらに、賞球を払い出す制御のための設定処理を実行する(ステップS247)。そして、払出装置制御処理を実行することにより、ステップS246の球貸し制御処理及びステップS247の賞球制御処理の結果に基づく払出装置60の動作内容を決定する(ステップS248)。
【0118】
続いて、CPU111は、所定のエラー処理を実行することにより、遊技球の払い出しに関する異常診断を行い、その診断結果に応じて必要ならばエラー表示用LED61などにより警告を発生可能とする(ステップS249)。そして、所定の出力処理を実行することにより、ステップS248の払出装置制御処理の実行結果に応じた駆動信号を、払出装置60に対して出力する(ステップS248)。
【0119】
このように、ROM103上やROM113上に設けられた割込時参照テーブルでは、チャネルが割込禁止に設定されることにより使用されていない割込機能に対応する記憶位置にも、使用している割込機能により実行する割込処理に応じたデータとして、割込処理の実行アドレスが記憶されている。これにより、割込要因が発生したときに、CTC102からCPU101に対して出力される割込ベクタ、あるいはCTC112からCPU111に対して出力される割込ベクタに誤りが生じたとしても、本来の割込要因に対応した割込処理を実行することができる。
【0120】
また、ROM103において、NMI処理のプログラムモジュールには、マスク不能な割込みが発生したときに実行される割込処理から復帰するためのRETN命令のみが設定されているので、割込禁止に設定できない割込機能を使用しない場合でも、マスク不能割込みが発生したときに制御の実行が停止してしまうことを防ぐことができる。なお、NMI処理のプログラムモジュールは、払出制御基板15に搭載された払出制御用マイクロコンピュータ110のROM113にも記憶されていてもよく、CPU111は、マスク不能な割込みに対応して、RETN命令のみが設定されたNMI処理を実行してもよい。
【0121】
上記実施の形態では、主基板11に搭載された遊技制御用マイクロコンピュータ100と、払出制御基板15に搭載された払出制御用マイクロコンピュータ110を取り上げて説明した。しかしながら、本発明はこれに限定されるものではなく、例えば演出制御基板12や、音声制御基板13、ランプ制御基板14などの各制御基板も、払出制御基板15に搭載された払出制御用マイクロコンピュータ110と同様のマイクロコンピュータを搭載し、上述したような処理によって主基板11からの制御コマンドを受信し、CTCを用いた割込処理によって可変表示装置4や普通図柄表示装置5、ランプ・LED77、演出用ソレノイド・モータ78、スピーカ8L、8Rなどの動作を制御するようにしてもよい。
【0122】
また、上記実施の形態では、ROM103やROM113に設定された割込時参照テーブルに、CTC割込処理指定データとして、割込処理(遊技制御割込処理や払出制御割込処理、コマンド受信割込処理)の実行アドレスが記憶されるものとして説明した。しかしながら、この発明はこれに限定されるものではなく、割込処理を実行するための任意のデータを記憶するものであればよい。例えば、CTC割込処理指定データとして、割込処理のプログラムモジュールそのものを記憶するようにしてもよい。
【0123】
なお、装置構成やブロック構成、フローチャートの構成は、発明の趣旨を逸脱しない範囲で任意に変更及び修正が可能である。
【0124】
さらに、パチンコ遊技機1の動作をシミュレーションするゲーム機などにも本発明を適用することができる。本発明を実現するためのプログラム及びデータは、コンピュータ装置等に対して、着脱自在の記録媒体により配布・提供される形態に限定されるものではなく、予めコンピュータ装置等の有する記憶装置にプリインストールしておくことで配布される形態を採っても構わない。さらに、本発明を実現するためのプログラム及びデータは、通信処理部を設けておくことにより、通信回線等を介して接続されたネットワーク上の、他の機器からダウンロードすることによって配布する形態を採っても構わない。
【0125】
そして、ゲームの実行形態も、着脱自在の記録媒体を装着することにより実行するものだけではなく、通信回線等を介してダウンロードしたプログラム及びデータを、内部メモリ等にいったん格納することにより実行可能とする形態、通信回線等を介して接続されたネットワーク上における、他の機器側のハードウェア資源を用いて直接実行する形態としてもよい。さらには、他のコンピュータ装置等とネットワークを介してデータの交換を行うことによりゲームを実行するような形態とすることもできる。
【0126】
【発明の効果】
以上説明したように本発明は、以下に示す効果を有する。
【0127】
請求項1に記載の遊技機によれば、割込時参照テーブルにて使用しない割込み機能に対応する記憶位置にも、使用している割込機能に対応する割込処理データが記憶されているので、割込要因情報にノイズ等により誤りが生じて別の要因による割込みと認識されるときでも、本来の割込要因に対応した処理を実行することができる。
【0128】
請求項2に記載の遊技機においては、割込時参照テーブルに記憶された割込処理データは、割込処理実行手段により実行される割込処理の実行アドレスであるので、割込発生時に参照される処理内容が割込処理の実行アドレスのみとなり、制御を簡単にして処理負担を軽減することができる。
【0129】
請求項3に記載の遊技機においては、システムクロックを分周したクロック信号に基づいてカウント値を更新するカウンタ回路におけるカウント値が所定値になるときに、割込要因発生手段が割込要因を発生させるので、タイマ割込みを発生させることができ、多様な割込要因に対応した処理の実行が可能となる。
【0130】
請求項4に記載の遊技機においては、割込処理設定手段により使用しない割込機能の割込要因を発生させないように設定されるので、ノイズ等により不要な制御が実行されてしまうことを防止できる。
【0131】
請求項5に記載の遊技機においては、マスク不能割込処理としてマスク不能割込処理から復帰するための復帰命令のみが設定されているので、マスク不能割込みが発生したときに制御の実行が停止してしまうことを防止できる。
【図面の簡単な説明】
【図1】本発明の実施の形態におけるパチンコ遊技機の正面図である。
【図2】本発明の実施の形態におけるパチンコ遊技機の背面図である。
【図3】主基板と払出制御基板を中心としたシステム構成例を示すブロック図である。
【図4】主基板から払出制御基板へ送信される払出制御コマンドの一例を示す説明図である。
【図5】遊技制御用マイクロコンピュータが備えるROMにおけるアドレスマップの一例を示す図である。
【図6】受信コマンドバッファメモリの構成例を示す図である。
【図7】払出制御用マイクロコンピュータが備えるROM上における割込時参照テーブルの構成例を示す図である。
【図8】CPUとCTCの間における構成例を示すブロック図である。
【図9】CS0信号とCS1信号の一例を示す説明図である。
【図10】CTCの構成例を示すブロック図である。
【図11】カウンタ/タイマチャネル回路の構成例を示すブロック図である。
【図12】遊技制御用マイクロコンピュータが実行可能な各種の割込処理を示す説明図である。
【図13】遊技制御メイン処理を示すフローチャートである。
【図14】割込ベクタの一例を示す説明図である。
【図15】チャネル制御語の一例を示す説明図である。
【図16】カウンタ/タイマチャネル回路におけるタイマ動作の一例を示すタイミング図である。
【図17】この実施の形態における割込時参照テーブルの参照動作例を示す説明図である。
【図18】遊技制御割込処理を示すフローチャートである。
【図19】払出制御信号と払出制御INT信号との関係を示すタイミング図である。
【図20】払出制御メイン処理を示すフローチャートである。
【図21】払出制御INT信号の入力に基づく割込発生を説明するための説明図である。
【図22】コマンド受信割込処理を示すフローチャートである。
【図23】払出制御割込処理を示すフローチャートである。
【符号の説明】
1 … パチンコ遊技機(遊技機)
2 … 遊技盤(ゲージ盤)
3 … 遊技機用枠(台枠)
4 … 可変表示装置
5 … 普通図柄表示器
6 … 普通可変入賞球装置(始動入賞口)
7 … 特別可変入賞球装置(大入賞口)
8L、8R … スピーカ
9 … ランプ
10 … 電源基板
11 … 主基板
12 … 演出制御基板
13 … 音声制御基板
14 … ランプ制御基板
15 … 払出制御基板
16 … 情報端子基板
17 … インターフェース基板
20 … 操作ノブ
50 … カードユニット
51 … 賞球ランプ
52 … 球切れランプ
53 … 満タンスイッチ
54 … 球切れスイッチ
55 … モータ位置センサ
56 … 払出個数カウントスイッチ
57 … タッチリング
58 … 単発発射スイッチ
59 … エラー解除スイッチ
60 … 払出装置
61 … エラー表示用LED
70 … 各入賞口スイッチ
71 … 球貸しスイッチ
72 … 返却スイッチ
73 … 球貸可LED
74 … 度数表示LED
77 … ランプ・LED
78 … 演出用ソレノイド・モータ
100 … 遊技制御用マイクロコンピュータ
101、111 … CPU
102、112 … CTC
103、113 … ROM
104、114 … RAM
105、115 … I/Oポート
110 … 払出制御用マイクロコンピュータ
120 … 受信コマンドバッファメモリ[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a gaming machine such as a pachinko gaming machine, and more particularly, to a gaming machine in which a player performs a predetermined game and can be controlled to a specific game state advantageous to the player according to establishment of a specific condition in the game. .
[0002]
[Prior art]
The progress of a game in a gaming machine such as a pachinko gaming machine or a slot machine is controlled by a CPU (Central Processing Unit) or the like provided in the microcomputer system. As such a CPU for game control, for example, a CPU that executes various game control programs for controlling the progress of a game in response to a periodic interruption using a built-in CTC (Counter Timer Circuit) is known. (For example, see Patent Document 1).
[0003]
[Patent Document 1]
JP 2001-252451 A (for example, page 13, page 14)
[0004]
The CTC is provided with a plurality of channels, and realizes a plurality of types of interrupt functions by setting different interrupt generation factors (signal conditions, interrupt generation cycles, etc.) as interrupt factors for each channel. Can be. When receiving an interrupt request from the CTC, the CPU identifies the interrupt factor by identifying the channel that caused the interrupt, and can execute different interrupt processes according to the interrupt factor.
[0005]
In addition, in a gaming machine such as a pachinko gaming machine, for example, a variable display device, a normal variable winning ball device (start winning port), a special variable winning ball device (large winning port), Various game devices such as decorative lamps, speakers, and payout devices are provided as electrical components. The CPU of a microcomputer system mounted on a sub-side control board, such as an effect board or a payout control board, for example, executes an operation of such a gaming machine by receiving an interrupt request from the built-in CTC and executing a predetermined processing program. By doing so, there is known an apparatus that controls the apparatus.
[0006]
[Problems to be solved by the invention]
Generally, the CPU and the CTC are connected via a bus. Therefore, there is a possibility that various commands and data input and output between the CPU and the CTC may change due to the occurrence of noise or the like. If these commands or data change, control different from the control that should be executed is performed. In the related art, regarding a process executed when an interrupt request from the CTC is received, noise suppression by software in a microcomputer has not been performed. Therefore, there is a problem that control to be executed is not executed due to the influence of noise. there were.
[0007]
The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a gaming machine that can prevent a control to be performed due to the influence of noise from being not executed, particularly by taking measures against noise by software. I do.
[0008]
[Means for Solving the Problems]
In order to achieve the above object, the gaming machine according to
[0009]
According to the configuration of the first aspect, the interrupt processing execution unit refers to the interrupt reference table based on the interrupt factor information output from the interrupt factor output unit, so that the interrupt that has occurred can be interrupted. Execute the process corresponding to the cause. Then, in the interrupt reference table, interrupt processing data for executing an interrupt process corresponding to the interrupt function being used is stored in a storage location corresponding to the interrupt function not being used. Therefore, even when an error occurs in the interrupt factor information due to noise or the like and the interrupt is recognized as an interrupt due to another factor, processing corresponding to the original interrupt factor can be executed.
[0010]
Further, the gaming machine according to the present invention is a gaming machine in which a player plays a predetermined game and can be controlled to a specific gaming state advantageous to the player according to establishment of a specific condition in the game, and a predetermined interruption An interrupt in which interrupt processing data for executing an interrupt process is stored for each of a plurality of types of interrupt functions (for example,
[0011]
In the gaming machine according to the second aspect, the interrupt processing data stored in the interrupt reference table is an execution address of an interrupt processing executed by the interrupt processing executing means. According to this configuration, since the processing content referred to when the interrupt occurs is only the execution address of the processing executed by the interrupt processing executing means, the control is simplified and the processing load can be reduced.
[0012]
In the gaming machine according to the third aspect, the interrupt factor generating means includes a counter circuit (for example, a down counter 223) for updating a count value based on a clock signal obtained by dividing a system clock. When the count value reaches a predetermined value (for example, “0”), an interrupt factor is generated. According to this configuration, since the count value of the counter circuit updated based on the clock signal obtained by dividing the system clock becomes a predetermined value as an interrupt factor, a timer interrupt can be generated, Processing corresponding to various interrupt factors can be performed.
[0013]
5. The gaming machine according to
[0014]
6. A non-maskable interrupt generating means (for example, a reset / interrupt controller 106) for generating an interrupt factor of a non-maskable interrupt that cannot be set to be prohibited, and the non-maskable interrupt. Non-maskable processing storage means (for example, addresses 0066H to 006DH of
[0015]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a front view of a pachinko gaming machine according to the present embodiment, and shows an arrangement layout of main members. The pachinko gaming machine in the present embodiment is a card reader (CR: Card Reader) type first-type pachinko gaming machine that lends a ball using a prepaid card, or a gaming machine such as a slot machine.
[0016]
Further, even in the case of a ball game machine such as a pachinko game machine, for example, a pachinko game machine classified into the second type or the third type, a general electric machine, or a ball game with a probability setting function called a pachinko machine It may be a machine or the like. Further, the present invention is applicable not only to a CR-type pachinko gaming machine that lends a ball using a prepaid card, but also to a pachinko gaming machine that lends a ball using cash.
[0017]
The pachinko gaming machine (gaming machine) 1 is roughly divided into a gaming board (gauge board) 2 constituting a gaming board surface, and a gaming machine frame (base frame) 3 for supporting and fixing the
[0018]
The
[0019]
The
[0020]
The normal symbol display 5 is configured to include a light emitting diode (LED) and the like, and in a normal symbol game in which a game ball passes through a predetermined passing member, lighting, blinking, coloring, and the like are controlled, When the display is performed in the predetermined hit pattern, the state becomes the “normal drawing hit” state, and the movable wing of the electric tulip constituting the normal variable winning ball device 6 is tilt-controlled until a predetermined time elapses.
[0021]
The ordinary variable winning ball device 6 is configured as a tulip-type accessory having a pair of movable wing pieces that are movably controlled by a solenoid between a vertical (normally open) position and a tilting (enlarged and open) position.
[0022]
The special variable winning ball device 7 includes an opening / closing plate that controls opening and closing of a winning area by a solenoid. The opening / closing plate is normally closed, and when a special game is performed by the
[0023]
In addition, in the game area of the
[0024]
A hit ball operation handle (operation knob) 20 operated by a player to fire a game ball is provided at a lower right portion outside the game area. The
[0025]
Further, FIG. 1 also shows a prepaid card unit (hereinafter, referred to as a card unit) 50 which is installed adjacent to the
[0026]
FIG. 2 is a rear view of the
[0027]
FIG. 3 is a block diagram showing a system configuration example centering on the
[0028]
The
[0029]
The
[0030]
The
[0031]
The control command transmitted from the
[0032]
FIG. 4 is an explanatory diagram showing an example of a payout control command transmitted from the
[0033]
In the example shown in FIG. 4B, a command FF00H (the subscript “H” indicates a hexadecimal number) is a payout control command that specifies a payable state. The command FF01H is a payout control command that specifies a payout stop state. The command F0XXH is a payout control command for specifying the number of winning balls. Specifically, “XX” which is EXT indicates the number of payouts.
[0034]
The
[0035]
The
[0036]
FIG. 5 is a diagram showing an example of an address map in the
[0037]
In the area of addresses 0124H to 0150H in the
[0038]
The
[0039]
The
[0040]
The
[0041]
The
[0042]
Further, the
[0043]
The
[0044]
As shown in FIG. 7, in a predetermined area of the
[0045]
FIG. 8 is a block diagram showing a configuration example between the
[0046]
The reset / interrupt controllers 106 and 116 receive an XNMI signal which is an interrupt request signal whose reception cannot be prohibited (cannot be masked) and an XINT signal which is an interrupt request signal which can be set to be prohibited (maskable). Is input from outside. The reset / interrupt controller 106 communicates with the
[0047]
The IEO signal and the IEI signal are used to determine an interrupt priority between the
[0048]
The
[0049]
As shown in FIG. 8, each of the
[0050]
The
[0051]
The
[0052]
The interrupt permission flip-flops IFF1 and IFF2 are for determining permission / prohibition of maskable interrupts. IFF1 determines permission / prohibition of maskable interrupts, and IFF2 executes NMI processing. This is for maintaining the state of IFF1 immediately before accepting an interrupt request. When the
[0053]
The internal NMI flip-flop NMIFF is set to "1" at the fall of the / NMI signal. The state of the internal NMI flip-flop NMIFF is sampled at the rising edge of the last clock of each instruction executed by the
[0054]
As shown in FIG. 10, the
[0055]
The CPU bus input /
[0056]
The
[0057]
The interrupt
[0058]
The counter /
[0059]
The channel control register 221 uses the channel control word input from the
[0060]
The counter mode is an operation mode in which the number of edges of a pulse applied to the input terminal of the CLK / TRG signal is measured. After the input of the pulse in the CLK / TRG signal, the
[0061]
The timer mode is an operation mode in which the count value of the
[0062]
The time
[0063]
The down counter 223 loads the count initial value held by the time
[0064]
The
[0065]
In this embodiment, the CLK / TRG in the
[0066]
Next, an operation of the
[0067]
As shown in FIG. 12A, when receiving a non-maskable interrupt, the
[0068]
Further, as shown in FIG. 12B, when an interrupt is received in
[0069]
As shown in FIG. 12C, when an interrupt is received in
[0070]
When the
[0071]
The
[0072]
FIG. 13 is a flowchart of a game control main process executed by the
[0073]
Thereafter, the
[0074]
The interrupt vector is 8-bit information as shown in FIG. 14A, and the 0th bit D0 is fixed to “0”. The first and second bits D1 and D2 of the interrupt vector are channel codes indicating which of the
[0075]
In step S104, the
[0076]
Subsequent to step S104, the
[0077]
When it is determined in step S106 that there is a backup (step S106; Yes), the
[0078]
If it is determined in step S106 that there is no backup (step S106; No), or if the check result is not normal in step S107 (step S107; No), the
[0079]
Subsequently, in step S110, the
[0080]
The channel control word is 8-bit information as shown in FIG. 15A, and its 0th bit D0 is fixed to “1”. The seventh bit D7 of the channel control word indicates whether or not the
[0081]
The fifth bit D5 of the channel control word indicates the frequency division ratio in the
[0082]
In step S110, the
[0083]
Thereafter, the CLK / TRG in the counter / timer channel circuit 214D 3 A pulse as shown in FIG. 16 is given to a signal input terminal. The down counter 223 of the counter / timer channel circuit 214D has a CLK / TRG 3 From the rising edge of the signal pulse, the countdown as a timer operation is started by the second rising of the system clock. Then, the
[0084]
When the count value of the
[0085]
Subsequent to step S110, the
[0086]
When the interrupt request signal / INT output from the reset / interrupt controller 106 is turned on in a state where the interrupt is set to be permitted, the
[0087]
The
[0088]
On the other hand, an error may occur in an interrupt vector transmitted on the
[0089]
For example, when a 1-bit error occurs in the second bit D2 of the interrupt vector transmitted on the
[0090]
When a 1-bit error occurs in the first bit D1 of the interrupt vector, the interrupt vector input to the
[0091]
When the game control interrupt process is started, the
[0092]
Next, the
[0093]
Further, the
[0094]
Subsequently, the
[0095]
Further, the
[0096]
FIG. 19 is a timing chart showing the relationship between 8-bit payout control signals CD0 to CD7 constituting a payout control command from the
[0097]
The
[0098]
Further, the
[0099]
When the reset / interrupt controller 106 detects that the XNMI signal has been turned on while the
[0100]
Upon receiving the non-maskable interrupt, the
[0101]
In the
[0102]
When the payout control main process is started, the
[0103]
Subsequent to step S204, the
[0104]
In this embodiment, the counter /
[0105]
Further, the
[0106]
By setting the operation content in the
[0107]
After step S206, the
[0108]
In the
[0109]
[0110]
The
[0111]
Upon receiving an interrupt request corresponding to channel 0 or
[0112]
If it is determined in step S223 that the received data is the MODE data of the first byte (step S223; Yes), the received command is stored in the reception command buffer memory 120 in the reception command buffer specified by the command reception number counter. (Step S224). After executing step S224, the process proceeds to step S230. On the other hand, if it is not the first byte of the payout control command (step S223; No), it is determined whether the first byte MODE data has already been received (step S225). Whether or not the MODE data of the first byte has been received can be determined by checking the command data stored in the received command buffer.
[0113]
If the first byte has already been received (step S225; Yes), it is determined whether or not the first bit of the one byte received this time is “0”, and if the first bit is “0”. For example, assuming that the valid second byte has been received, the received command is stored in the next received command buffer designated by the command reception number counter (step S226). If it is determined in step S226 that the first byte of the payout control command has not been received (step S226; No), or if the first bit of the data received as the second byte is not “0”, The process proceeds to step S230.
[0114]
When the command data of the second byte is stored in step S226, the value of the command reception number counter is incremented by 2 (step S227), and it is determined whether or not the value is 12 or more (step S228). If it is 12 or more (Step S228; Yes), the command reception number counter is cleared and its value is returned to 0 (Step S229). On the other hand, if it is less than 12 (Step S228; No), Step S229 is skipped. Thereafter, the register saved in step S221 is restored (step S230), and interrupt permission is set (step S231). As a result of the command reception interrupt processing, the display control command sent from the
[0115]
When receiving an interrupt request corresponding to channel 1 or
[0116]
Next, the
[0117]
Thereafter, the
[0118]
Subsequently, the
[0119]
As described above, in the interrupt reference tables provided on the
[0120]
In the
[0121]
In the above embodiment, the
[0122]
In the above embodiment, the interrupt processing (game control interrupt processing, payout control interrupt processing, command reception interrupt, etc.) is stored in the interrupt reference table set in the
[0123]
The device configuration, block configuration, and flowchart configuration can be arbitrarily changed and modified without departing from the spirit of the invention.
[0124]
Further, the present invention can be applied to a game machine or the like that simulates the operation of the
[0125]
The game can be executed not only by attaching a detachable recording medium, but also by storing programs and data downloaded via a communication line or the like in an internal memory or the like. Alternatively, the program may be directly executed using hardware resources of another device on a network connected via a communication line or the like. Furthermore, the game may be executed by exchanging data with another computer device or the like via a network.
[0126]
【The invention's effect】
As described above, the present invention has the following effects.
[0127]
According to the gaming machine of the first aspect, the interrupt processing data corresponding to the interrupt function used is also stored in the storage location corresponding to the interrupt function not used in the interrupt reference table. Therefore, even when an error occurs in the interrupt factor information due to noise or the like and the interrupt is recognized as an interrupt due to another factor, processing corresponding to the original interrupt factor can be executed.
[0128]
In the gaming machine according to the second aspect, since the interrupt processing data stored in the interrupt reference table is the execution address of the interrupt processing executed by the interrupt processing executing means, the interrupt processing data is referred to when the interrupt occurs. The content of the processing to be performed is only the execution address of the interrupt processing, so that control can be simplified and the processing load can be reduced.
[0129]
In the gaming machine according to the third aspect, when the count value in the counter circuit that updates the count value based on the clock signal obtained by dividing the system clock reaches a predetermined value, the interrupt factor generating means determines the interrupt factor. Since it is generated, a timer interrupt can be generated, and processing corresponding to various interrupt factors can be executed.
[0130]
In the gaming machine according to the fourth aspect, since the interrupt processing setting means is set so as not to generate an interrupt factor of an unused interrupt function, it is possible to prevent unnecessary control from being executed due to noise or the like. it can.
[0131]
In the gaming machine according to the fifth aspect, since only the return instruction for returning from the non-maskable interrupt processing is set as the non-maskable interrupt processing, the execution of the control is stopped when the non-maskable interrupt occurs. Can be prevented.
[Brief description of the drawings]
FIG. 1 is a front view of a pachinko gaming machine according to an embodiment of the present invention.
FIG. 2 is a rear view of the pachinko gaming machine according to the embodiment of the present invention.
FIG. 3 is a block diagram illustrating an example of a system configuration centering on a main board and a payout control board.
FIG. 4 is an explanatory diagram showing an example of a payout control command transmitted from a main board to a payout control board.
FIG. 5 is a diagram showing an example of an address map in a ROM provided in the game control microcomputer.
FIG. 6 is a diagram illustrating a configuration example of a reception command buffer memory.
FIG. 7 is a diagram showing a configuration example of an interruption reference table on a ROM included in a payout control microcomputer.
FIG. 8 is a block diagram illustrating a configuration example between a CPU and a CTC.
FIG. 9 is an explanatory diagram illustrating an example of a CS0 signal and a CS1 signal.
FIG. 10 is a block diagram illustrating a configuration example of a CTC.
FIG. 11 is a block diagram illustrating a configuration example of a counter / timer channel circuit.
FIG. 12 is an explanatory diagram showing various types of interrupt processing that can be executed by the game control microcomputer.
FIG. 13 is a flowchart showing a game control main process.
FIG. 14 is an explanatory diagram illustrating an example of an interrupt vector.
FIG. 15 is an explanatory diagram showing an example of a channel control word.
FIG. 16 is a timing chart showing an example of a timer operation in the counter / timer channel circuit.
FIG. 17 is an explanatory diagram illustrating an example of a reference operation of the interrupt-time reference table according to the embodiment;
FIG. 18 is a flowchart showing a game control interruption process.
FIG. 19 is a timing chart showing a relationship between a payout control signal and a payout control INT signal.
FIG. 20 is a flowchart showing payout control main processing.
FIG. 21 is an explanatory diagram for explaining occurrence of an interrupt based on input of a payout control INT signal.
FIG. 22 is a flowchart showing a command reception interrupt process.
FIG. 23 is a flowchart showing a payout control interruption process.
[Explanation of symbols]
1… Pachinko machine (game machine)
2 ... game board (gauge board)
3 ... frame for machine (base frame)
4. Variable display device
5… Ordinary symbol display
6 ... Ordinary variable winning ball device (start winning port)
7… Special variable winning ball device (large winning opening)
8L, 8R ... speaker
9 ... lamp
10 Power supply board
11 Main board
12… production control board
13 Voice control board
14… Lamp control board
15 ... payout control board
16 Information terminal board
17… Interface board
20… operation knob
50… Card unit
51… prize ball lamp
52… Ball out lamp
53… full tank switch
54… Ball out switch
55… Motor position sensor
56… Payout number counting switch
57… Touch Ring
58… Single shot switch
59… Error release switch
60… Dispensing device
61… LED for error display
70 ... each winning switch
71… Ball rental switch
72… Return switch
73… Ball rental LED
74… Frequency display LED
77… Lamp / LED
78… Solenoid motor for production
100 ... microcomputer for game control
101, 111 ... CPU
102, 112 ... CTC
103, 113 ... ROM
104, 114 ... RAM
105, 115 ... I / O port
110… Dispensing control microcomputer
120: Receive command buffer memory
Claims (5)
遊技機制御用プログラムに従って遊技機に設けられた遊技用装置を制御する制御手段と、
所定の割込処理を実行するための割込要因を各々設定可能な複数種類の割込機能ごとに、割込処理を実行するための割込処理データを記憶した割込時参照テーブルと、
前記割込要因を発生させる割込要因発生手段と、
前記割込要因発生手段が割込要因を発生させたときに、割込要因を特定可能な割込要因情報を出力する割込要因出力手段、とを備え、
前記制御手段は、前記割込要因出力手段から出力された割込要因情報に基づいて前記割込時参照テーブルを参照することにより、発生した割込要因に対応する割込処理を実行する割込処理実行手段を含むとともに、前記複数種類の割込機能のうち1つの割込機能のみを使用し、
前記割込時参照テーブルは、使用しない割込機能に対応する記憶位置にも、使用している割込機能に対応した割込処理データを記憶している、
ことを特徴とする遊技機。A gaming machine in which a player performs a predetermined game and can be controlled to a specific gaming state advantageous to the player in accordance with establishment of specific conditions in the game,
Control means for controlling a gaming device provided in the gaming machine according to the gaming machine control program,
An interrupt reference table storing interrupt processing data for executing the interrupt processing, for each of a plurality of types of interrupt functions capable of setting respective interrupt factors for executing the predetermined interrupt processing,
Interrupt factor generating means for generating the interrupt factor;
When the interrupt factor generating means generates an interrupt factor, an interrupt factor output means that outputs interrupt factor information that can specify the interrupt factor,
The control unit refers to the interrupt reference table based on the interrupt factor information output from the interrupt factor output unit to execute an interrupt process corresponding to the generated interrupt factor. Including processing execution means, using only one of the plurality of types of interrupt functions,
The interrupt-time reference table also stores interrupt processing data corresponding to the interrupt function being used, even at a storage position corresponding to an unused interrupt function.
A gaming machine characterized by that:
ことを特徴とする請求項1に記載の遊技機。The interrupt processing data stored in the interrupt reference table is an execution address of the interrupt processing executed by the interrupt processing executing means.
The gaming machine according to claim 1, wherein:
ことを特徴とする請求項1又は2に記載の遊技機。The interrupt factor generating means includes a counter circuit that updates a count value based on a clock signal obtained by dividing a system clock, and generates an interrupt factor when the count value of the counter circuit reaches a predetermined value.
The gaming machine according to claim 1 or 2, wherein:
ことを特徴とする請求項1、2又は3に記載の遊技機。The control unit, among the plurality of types of interrupt functions, includes an interrupt setting unit that sets an interrupt factor of an unused interrupt function so that the interrupt factor generating unit does not generate the interrupt factor.
The gaming machine according to claim 1, 2 or 3, wherein:
前記無条件割込要因発生手段が割込要因を発生させたときに前記割込処理実行手段により実行されるマスク不能割込処理を記憶するマスク不能処理記憶手段、とをさらに備え、
前記マスク不能割込処理には、マスク不能割込処理から復帰するための復帰命令のみが設定されている、
ことを特徴とする請求項1から4のいずれか1項に記載の遊技機。An unconditional interrupt factor generating means for generating an interrupt factor of a non-maskable interrupt that cannot be set to interrupt disable,
Non-maskable processing storage means for storing a non-maskable interrupt processing executed by the interrupt processing executing means when the unconditional interrupt factor generating means generates an interrupt factor,
In the non-maskable interrupt processing, only a return instruction for returning from the non-maskable interrupt processing is set.
The gaming machine according to any one of claims 1 to 4, wherein:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003032944A JP2004242717A (en) | 2003-02-10 | 2003-02-10 | Game machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003032944A JP2004242717A (en) | 2003-02-10 | 2003-02-10 | Game machine |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004242717A true JP2004242717A (en) | 2004-09-02 |
Family
ID=33019106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003032944A Withdrawn JP2004242717A (en) | 2003-02-10 | 2003-02-10 | Game machine |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004242717A (en) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007044157A (en) * | 2005-08-08 | 2007-02-22 | Sankyo Kk | Game machine |
JP2007044158A (en) * | 2005-08-08 | 2007-02-22 | Sankyo Kk | Game machine |
JP2007068792A (en) * | 2005-09-07 | 2007-03-22 | Sankyo Kk | Game machine |
JP2007068553A (en) * | 2005-09-02 | 2007-03-22 | Sankyo Kk | Game machine |
JP2007068783A (en) * | 2005-09-07 | 2007-03-22 | Sankyo Kk | Game machine |
JP2007068793A (en) * | 2005-09-07 | 2007-03-22 | Sankyo Kk | Game machine |
JP2007089914A (en) * | 2005-09-29 | 2007-04-12 | Sankyo Kk | Game machine |
JP2007105367A (en) * | 2005-10-17 | 2007-04-26 | Sankyo Kk | Game machine |
JP2007190097A (en) * | 2006-01-17 | 2007-08-02 | Sankyo Kk | Game machine |
JP2016112057A (en) * | 2014-12-11 | 2016-06-23 | 株式会社三共 | Game machine |
JP2016112058A (en) * | 2014-12-11 | 2016-06-23 | 株式会社三共 | Game machine |
JP2016112056A (en) * | 2014-12-11 | 2016-06-23 | 株式会社三共 | Game machine |
JP2016112055A (en) * | 2014-12-11 | 2016-06-23 | 株式会社三共 | Game machine |
JP2016129554A (en) * | 2015-01-13 | 2016-07-21 | 株式会社三共 | Game machine |
JP2016129556A (en) * | 2015-01-13 | 2016-07-21 | 株式会社三共 | Game machine |
JP2020028747A (en) * | 2019-11-27 | 2020-02-27 | 株式会社三共 | Game machine |
JP2020028748A (en) * | 2019-11-27 | 2020-02-27 | 株式会社三共 | Game machine |
JP2020032261A (en) * | 2019-11-27 | 2020-03-05 | 株式会社三共 | Game machine |
JP2020058868A (en) * | 2020-01-10 | 2020-04-16 | 株式会社三共 | Game machine |
JP2020099712A (en) * | 2020-02-25 | 2020-07-02 | 株式会社三共 | Slot machine |
JP2020124581A (en) * | 2020-05-01 | 2020-08-20 | 株式会社三共 | Game machine |
JP2021097901A (en) * | 2019-12-23 | 2021-07-01 | 株式会社ユニバーサルエンターテインメント | Game machine |
JP2021097902A (en) * | 2019-12-23 | 2021-07-01 | 株式会社ユニバーサルエンターテインメント | Game machine |
-
2003
- 2003-02-10 JP JP2003032944A patent/JP2004242717A/en not_active Withdrawn
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007044157A (en) * | 2005-08-08 | 2007-02-22 | Sankyo Kk | Game machine |
JP2007044158A (en) * | 2005-08-08 | 2007-02-22 | Sankyo Kk | Game machine |
JP2007068553A (en) * | 2005-09-02 | 2007-03-22 | Sankyo Kk | Game machine |
JP2007068792A (en) * | 2005-09-07 | 2007-03-22 | Sankyo Kk | Game machine |
JP2007068783A (en) * | 2005-09-07 | 2007-03-22 | Sankyo Kk | Game machine |
JP2007068793A (en) * | 2005-09-07 | 2007-03-22 | Sankyo Kk | Game machine |
JP2007089914A (en) * | 2005-09-29 | 2007-04-12 | Sankyo Kk | Game machine |
JP2007105367A (en) * | 2005-10-17 | 2007-04-26 | Sankyo Kk | Game machine |
JP2007190097A (en) * | 2006-01-17 | 2007-08-02 | Sankyo Kk | Game machine |
JP2016112058A (en) * | 2014-12-11 | 2016-06-23 | 株式会社三共 | Game machine |
JP2016112057A (en) * | 2014-12-11 | 2016-06-23 | 株式会社三共 | Game machine |
JP2016112056A (en) * | 2014-12-11 | 2016-06-23 | 株式会社三共 | Game machine |
JP2016112055A (en) * | 2014-12-11 | 2016-06-23 | 株式会社三共 | Game machine |
JP2016129554A (en) * | 2015-01-13 | 2016-07-21 | 株式会社三共 | Game machine |
JP2016129556A (en) * | 2015-01-13 | 2016-07-21 | 株式会社三共 | Game machine |
JP2020028748A (en) * | 2019-11-27 | 2020-02-27 | 株式会社三共 | Game machine |
JP2020028747A (en) * | 2019-11-27 | 2020-02-27 | 株式会社三共 | Game machine |
JP2020032261A (en) * | 2019-11-27 | 2020-03-05 | 株式会社三共 | Game machine |
JP2021097901A (en) * | 2019-12-23 | 2021-07-01 | 株式会社ユニバーサルエンターテインメント | Game machine |
JP2021097902A (en) * | 2019-12-23 | 2021-07-01 | 株式会社ユニバーサルエンターテインメント | Game machine |
JP2020058868A (en) * | 2020-01-10 | 2020-04-16 | 株式会社三共 | Game machine |
JP2020099712A (en) * | 2020-02-25 | 2020-07-02 | 株式会社三共 | Slot machine |
JP2020124581A (en) * | 2020-05-01 | 2020-08-20 | 株式会社三共 | Game machine |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004242717A (en) | Game machine | |
JP2004229938A (en) | Game machine | |
JP4855735B2 (en) | Game machine | |
JPH06332731A (en) | Controller | |
JP2021137493A (en) | Game machine | |
JP2021137492A (en) | Game machine | |
JP2021137491A (en) | Game machine | |
JP5394444B2 (en) | Game machine | |
JP2013017634A (en) | Game machine | |
JP2010172589A (en) | Game machine | |
JP4562441B2 (en) | Game machine | |
JP4115800B2 (en) | Microcomputer for game machine | |
JP5909389B2 (en) | Game machine | |
JP2003325909A (en) | Game machine | |
JP2002253823A (en) | Game machine | |
JP6954737B2 (en) | Pachinko machine | |
JP2013099387A (en) | Pinball game machine | |
JP2012091040A (en) | Game machine | |
JP2003230746A (en) | Game machine | |
JP2017093804A (en) | Game machine | |
JP6117029B2 (en) | Game machine | |
JP2014100484A (en) | Game machine | |
JP2003284852A (en) | Game machine | |
JP5443580B2 (en) | Game machine | |
JP6154040B2 (en) | Game machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060124 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20081111 |