JP2004242717A - Game machine - Google Patents

Game machine Download PDF

Info

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
Application number
JP2003032944A
Other languages
Japanese (ja)
Inventor
Shohachi Ugawa
詔八 鵜川
Kenji Nagata
憲司 永田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sankyo Co Ltd
Original Assignee
Sankyo Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sankyo Co Ltd filed Critical Sankyo Co Ltd
Priority to JP2003032944A priority Critical patent/JP2004242717A/en
Publication of JP2004242717A publication Critical patent/JP2004242717A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Pinball Game Machines (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To prevent the failure in the execution of control to be made under the influence of noises. <P>SOLUTION: The CPU provided on a microcomputer for controlling the games is set to the mode 2 and receives the interrupt request from the CTC. The CPU receiving the interrupt request from the CTC specifies the execution address for the interrupt processing by referring to the reference table for interrupt set on the ROM based on the interrupt vector as the interrupt factor information to be outputted from the CTC. In the reference table for interrupt, execution addresses of the interrupt processing are also stored at a memory position corresponding to the interrupt function unsed out of the plurality of interrupt functions as the interrupt processing data for executing the interrupt processing, which would be made by the interrupt function used. <P>COPYRIGHT: (C)2004,JPO&NCIPI

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/TRG信号の入力端子に、主基板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/TRG信号の入力端子に図16に示すようなパルスを与える。カウンタ/タイマチャネル回路214Dのダウンカウンタ223は、CLK/TRG信号パルスの立上がりエッジから、システムクロックの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/TRG信号として主基板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 claim 1 of the present application provides 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 specific conditions in the game. A control unit (for example, CPU 101) for controlling a gaming machine provided in the gaming machine in accordance with a gaming machine control program (for example, a program stored in the ROM 103), and a predetermined interrupt process. Interrupt reference table storing interrupt processing data for executing interrupt processing to be executed for each of a plurality of types of interrupt functions (for example, channels 0 to 3 of the CTC 102) for which interrupt factors can be set. (For example, the storage contents at addresses 0070H to 0077H of the ROM 103 shown in FIG. 5) and interrupt factor generating means (for example, CTC1) for generating the interrupt factor. And an interrupt control circuit 213 and a reset / interrupt controller 106 provided in the CPU 2), and outputs interrupt factor information capable of specifying the interrupt factor when the interrupt factor generating means generates the interrupt factor. (For example, a CPU bus input / output circuit 211 provided in the CTC 102), and the control unit performs the interrupt based on the interrupt factor information output from the interrupt factor output unit. An interrupt processing execution means (for example, a part where the CPU 101 executes the game control interrupt processing shown in FIG. 16) for executing an interrupt processing corresponding to the generated interrupt factor by referring to the interrupt reference table is included. At the same time, only one of the plurality of types of interrupt functions is used, and the interrupt reference table is stored in a storage location (for example, the ROM 103) corresponding to an unused interrupt function. To 0070H address ~0075H address), stores the interrupt processing data corresponding to it are interrupt function used (for example, channel 3 CTC102). In addition, the game machine control program is, for example, in addition to a game control program executed to control the progress of the game, a game display using a variable display device or a decorative lamp for presentation and a speaker that can change the display state, etc. To control various devices provided for the gaming machine, such as a production control program executed to control the production, a payout control program executed to control the payout of game balls using the payout device, and the like. Program. Further, the control means may be a game control means for controlling the progress of the game, a display control means for controlling the display of the variable display device, a payout control means for controlling the payout device, and the like. The interrupt processing data may be, for example, a parameter used by the interrupt processing executing means to execute a predetermined interrupt processing, or an interrupt processing program itself executed by the interrupt processing executing means.
[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, channels 0 to 3 of the CTC 102) for which interrupt factors for executing the process can be set. A time reference table (for example, the storage contents at addresses 0070H to 0077H of the ROM 103 shown in FIG. 5) and an interrupt factor generating means (for example, an interrupt control circuit 213 and a reset / interrupt provided in the CTC 102) for generating the interrupt factor An interrupt factor output means for outputting interrupt factor information capable of specifying the interrupt factor when the interrupt factor generating means generates the interrupt factor For example, a CPU bus input / output circuit 211 provided in the CTC 102) and the interrupt factor information output from the interrupt factor output unit, the interrupt factor table is referred to, and an interrupt factor generated by referring to the interrupt time reference table. And an interrupt processing executing means (for example, CPU 101 or the like) for executing an interrupt processing corresponding to the above-mentioned. Stores interrupt processing data corresponding to the interrupt function being used (eg, channel 3 of the CTC 102) in a storage location (eg, address 0070H to address 0075H of the ROM 103) corresponding to the interrupt function that is not used. ing. As a result, even if an error occurs due to noise or the like in the interrupt factor information output from the interrupt factor output means and the interrupt is recognized as an interrupt due to another factor, the process corresponding to the original interrupt factor can be executed. Can be.
[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 claim 4, wherein the control unit sets an interrupt factor of an unused interrupt function among the plurality of types of interrupt functions so that the interrupt factor generating unit does not generate the interrupt factor. (For example, a part where the CPU 101 executes the process of step S110 shown in FIG. 12). According to this configuration, since an interrupt factor of the unused interrupt function does not occur, it is possible to prevent unnecessary control from being performed due to noise or the like.
[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 ROM 103 shown in FIG. 5) for storing non-maskable interrupt processing executed by the interrupt processing executing means when the generating means generates an interrupt factor; In the non-maskable interrupt processing, only a return instruction (for example, a RETN instruction or the like) for returning from the non-maskable interrupt processing is set. According to this configuration, in the non-maskable interrupt processing, the instruction for the interrupt processing execution means to return from the non-maskable interrupt processing is set, so that the control is executed when the non-maskable interrupt occurs. Stopping can be prevented.
[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 gaming board 2.
[0018]
The game board 2 has a substantially circular game area surrounded by guide rails. A variable display device 4 is provided substantially at the center of the game area, and below the variable display device 4, a normal variable winning ball device 6 having a starting function that allows a change of a special symbol is arranged. . Below the normal variable winning ball device 6, a special variable winning ball device (large winning opening) 7 is arranged. On the variable display device 4, an ordinary symbol display 5 is disposed.
[0019]
The variable display device 4 is configured to include an LCD (Liquid Crystal Display) module or the like that variably displays a pattern as identification information by a plurality of variable display units. Starts the variable display of three display symbols (special symbols) composed of numbers, characters, symbols, etc. in the special figure game that is the execution condition, and after a certain period of time, displays in the order of left, right, and middle Confirm the design. The variable display device 4 may be provided with four start storage display areas for displaying the number of effective prize balls normally entered into the variable prize ball device 6, that is, the start storage number.
[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 variable display device 4 based on the winning of the game ball to the normal variable winning ball device 6, when a specific game state is established, the solenoid is opened. The winning area is set so as to be opened (open cycle) until a predetermined period (for example, 29 seconds) or a predetermined number (for example, 10) of winning balls are generated, and a game is performed during the opening. The game ball falling on the surface of the board 2 is received. The opening cycle can be repeated up to 16 times. The game ball that has won the special variable winning ball device 7 is detected by a detecting unit such as a winning opening switch. In response to the detection of a winning ball, a predetermined number of winning balls are paid out by a main board 11 and a payout control board 15 (FIGS. 2 and 3) described later.
[0023]
In addition, in the game area of the game board 2, in addition to the above-described configuration, a windmill, an out port, and the like having a built-in decorative lamp are provided. In addition, two speakers 8L and 8R that emit sound effects are provided at upper left and right sides outside the game area. A game effect lamp 9 that is turned on or blinks is provided on the outer periphery of the game area. On the outer left side of the game area, there is provided a prize ball lamp 51 which is turned on when there is a prize ball remaining number. A ball-out lamp 52 is provided on the upper outside of the game area, which lights up when the supply ball runs out.
[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 operation knob 20 includes a touch ring 57 (FIG. 3) for detecting that a player is touching the operation knob 20 based on a change in the capacitance, and a single-shot control of launching a game ball at a predetermined interval. , A single-shot firing switch 58 (FIG. 3). The single shot control is control for firing a game ball in accordance with the input timing of a signal from the single shot switch 58.
[0025]
Further, FIG. 1 also shows a prepaid card unit (hereinafter, referred to as a card unit) 50 which is installed adjacent to the pachinko gaming machine 1 and enables lending of a ball by inserting a prepaid card. The card unit has a usable indicator lamp indicating whether or not the card unit is in a usable state, a link direction indicator indicating which side of the card unit corresponds to the pachinko gaming machine 1, and a card in the card unit. Card insertion indicator lamp indicating that the card is inserted, a card insertion slot into which a card as a recording medium is inserted, and a card unit 50 for checking the mechanism of a card reader / writer provided on the back of the card insertion slot. A card unit lock or the like for opening the card is provided.
[0026]
FIG. 2 is a rear view of the pachinko gaming machine 1. On the back of the pachinko gaming machine 1, main boards such as a power supply board 10, a main board 11, an effect control board 12, an audio control board 13, a lamp control board 14, a payout control board 15, an information terminal board 16, and an interface board 17, Each is located in the right place.
[0027]
FIG. 3 is a block diagram showing a system configuration example centering on the main board 11 and the payout control board 15. FIG. 3 also shows a power supply board 10, an effect control board 12, and an interface board 17.
[0028]
The power supply board 10 supplies a predetermined power supply voltage to each circuit in the pachinko gaming machine 1. The power supply board 10 is connected to a power supply cord for receiving a 24 V AC power supply.
[0029]
The main board 11 is connected to the effect control board 12, the payout control board 15, and the information terminal board 16 by wiring. The main board 11 is also connected with wires from the normal variable prize ball device 6, the special variable prize ball device 7, and other prize port switches 70 for detecting a prize in the prize port.
[0030]
The game control microcomputer 100 and the like are mounted on the main board 11. The game control microcomputer 100 is, for example, a one-chip microcomputer, and includes a CPU 101 for performing a game control operation, a CTC 102 capable of outputting an interrupt request signal to the CPU 101, a ROM 103 for storing a game control program and the like, and a work memory. RAM 104 and I / O port 105 used as The game control microcomputer 100 has a function of generating a random number used in a special figure game, a function of outputting and transmitting a control command, which is an example of command information, to the effect control board 12 and the payout control board 15, and the like. ing.
[0031]
The control command transmitted from the main board 11 to the payout control board 15 is a payout control command. As shown in FIG. 3, in this embodiment, a payout control command is transmitted from the main board 11 to the payout control board 15 through eight signal lines of payout control signals CD0 to CD7. A signal line for a payout control INT signal for transmitting a strobe signal is also provided between the main board 11 and the payout control board 15.
[0032]
FIG. 4 is an explanatory diagram showing an example of a payout control command transmitted from the main board 11 to the payout control board 15 in this embodiment. As shown in FIG. 4A, the payout control command has a 2-byte structure, the first byte represents MODE (classification of command), and the second byte represents EXT (type of command). The first bit (bit 7) of the MODE data is always "1", and the first bit of the EXT data is "0".
[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 CPU 101 has an interrupt function of temporarily interrupting a program currently being executed in response to an interrupt request from the CTC 102, and preferentially executing a process corresponding to the interrupt request as an interrupt process. The interrupt processing executed by the CPU 101 includes, for example, data exchange between the CPU 101 and the CTC 102, exchange of status and control information, and the like. When the execution of the interrupt processing ends, the CPU 101 returns to the program that was being executed immediately before the interruption occurred. The CPU 101 is provided with interrupts that cannot be masked by software (NMI: Non Maskable Interrupt) and maskable interrupts (INT: maskable INTerrupt).
[0035]
The CTC 102 is capable of individually setting a plurality of interrupt factors according to a command from the CPU 101. Each time a set interrupt factor occurs, the CTC 102 serves as interrupt factor information capable of specifying the interrupt factor to the CPU 101. Output the interrupt vector. The CTC 102 is provided with four channels, that is, channels 0 to 3, and it is possible to set conditions for permitting / prohibiting an interrupt and generating an interrupt factor for each channel.
[0036]
FIG. 5 is a diagram showing an example of an address map in the ROM 103. As shown in FIG. 5, in an area of addresses 0066H to 006DH of the ROM 103, a program module for an NMI process, which is an interrupt handler executed by the CPU 101 when a non-maskable interrupt (NMI: Non Maskable Interrupt) occurs. Is stored. In particular, in this embodiment, only the RETN instruction for returning from the NMI interrupt processing to the processing program executed immediately before the NMI generation is set as the NMI processing program module.
[0037]
In the area of addresses 0124H to 0150H in the ROM 103, a program module of a game control interrupt process executed when the CPU 101 receives an interrupt request from the CTC 102 is stored. In the areas of addresses 0070H to 0077H in the ROM 103, an interrupt process is executed in correspondence with each of the channels 0 to 3 which provide a plurality of types of interrupt functions in which the CTC 102 can set interrupt factors. The CTC interrupt processing designation data used to perform this operation is stored, and functions as an interrupt reference table. The interrupt reference table is also called an interrupt vector table. In this embodiment, data 0124H indicating the execution address of the game control interrupt process is stored as CTC interrupt process designation data corresponding to each of channels 0 to 3 in CTC 102.
[0038]
The effect control board 12 shown in FIG. 3 is for performing effect control according to the control command received from the main board. The effect control board 12 performs display control of the variable display device 4 and lighting control of the lamp / LED 77 including the game effect lamp 9 provided on the outer periphery of the game area and the ordinary symbol display 5. The effect control board 12 controls the driving of the effect solenoid motor 78 and controls the sound generation from the speakers 8L and 8R.
[0039]
The effect control board 12 is wired and connected to the sound control board 13 in order to control sound generation from the speakers 8L and 8R. A drive circuit for driving the speakers 8L and 8R is mounted on the audio control board 13. The effect control board 12 is wired and connected to the lamp control board 14 to control lighting of the lamp / LED 77. A drive circuit for driving a lamp / LED 77 used for decoration is mounted on the lamp control board 14. The effect control board 12, the sound control board 13, and the lamp control board 14 may be installed as independent boards, for example, on the back surface of the pachinko gaming machine 1 and housed in one box. Further, the effect control board 12, the sound control board 13, and the lamp control board 14 may be collectively configured as one board.
[0040]
The payout control board 15 controls payout of a game ball or the like based on a prize ball or a ball lending request. The payout control board 15 is connected to the main board 11 and the interface board 17 by wiring. Further, detection signals from the full tank switch 53, the ball out switch 54, the motor position sensor 55, the number-of-payouts count switch 56, the touch ring 57, the single shot switch 58, and the error release switch 59 are input to the payout control board 15. You. Further, the payout control board 15 is connected to wiring to the prize ball lamp 51, the ball out lamp 52, the payout device 60, and the error display LED 61.
[0041]
The payout control board 15 is provided with a payout control microcomputer 110 and the like. The payout control microcomputer 110 is, for example, a one-chip microcomputer. The CPU 111 performs a payout control operation. The CTC 112 can output an interrupt request signal to the CPU 111. The ROM 113 stores a payout control program and the like. RAM 114 and I / O port 115 used as
[0042]
Further, the payout control microcomputer 110 includes a reception command buffer memory 120 as shown in FIG. The reception command buffer memory 120 is provided with a plurality of reception command buffers for storing payout control commands received from the main board 11. In the example shown in FIG. 6, twelve received command buffers are provided, and a received command buffer for storing received commands is specified by a command reception number counter. The command reception number counter takes a value in the range of 0 to 11. Each reception command buffer is composed of, for example, 1 byte. By using a plurality of reception command buffers as ring buffers, it is possible to store six 2-byte configuration payout control commands.
[0043]
The CPU 111 has the same interrupt function as the CPU 101. Similar to the CTC 102, the CTC 112 can individually set a plurality of interrupt factors in response to a command from the CPU 111, and outputs interrupt factor information to the CPU 111 every time the set interrupt factor occurs.
[0044]
As shown in FIG. 7, in a predetermined area of the ROM 113, an interrupt process to be executed corresponding to each of the channels 0 to 3 providing a plurality of types of interrupt functions in which the interrupt factors can be set by the CTC 112 is performed. CTC interrupt processing designation data corresponding to the above is stored and functions as an interrupt reference table. In this embodiment, the CTC 112 is provided with channels 0 to 3 in which interrupt factors can be set. Then, the execution address of the payout control interruption process is stored in the ROM 113 as CTC interruption process designation data corresponding to the channels 1 and 3 of the CTC 112. As the CTC interrupt processing designation data corresponding to channels 0 and 2 of the CTC 112, the execution address of the command reception interrupt processing is stored.
[0045]
FIG. 8 is a block diagram showing a configuration example between the CPU 101 and the CTC 102 and between the CPU 111 and the CTC 112. FIG. 8 also shows the internal configuration of the CPUs 101 and 111. As shown in FIG. 8, the CPU 101 and the CTC 102 are connected via a bus 109 and connected via a reset / interrupt controller 106. The CPU 111 and the CTC 112 are connected via a bus 109 and are connected via a reset / interrupt controller 116. The reset / interruption controllers 106 and 116 are circuits that control interrupt requests from outside and interrupt requests from peripheral LSIs such as the CTCs 102 and 112.
[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 CPU 101 that a non-maskable interrupt request signal / NMI (hereinafter, the symbol "/" added to the signal name indicates a superscript bar and indicates that the logic is negative logic. ) And a maskable interrupt request signal / INT to the CPU 101 via a signal line. The reset / interrupt controller 106 is connected to the CTC 102 by a signal line for inputting and outputting signals such as IEO, IEI, and / INT. The reset / interrupt controller 116 is also connected to the CPU 111 via a signal line for outputting / NMI and / INT to the CPU 111, and receives signals such as IEO, IEI, and / INT between the reset / interrupt controller 116 and the CTC 112. The wiring is connected by a signal line for outputting.
[0047]
The IEO signal and the IEI signal are used to determine an interrupt priority between the CTC 102 or 112 and another peripheral LSI (for example, PIO: Parallel Input / Output port) daisy chained.
[0048]
The bus 109 includes eight signal lines for transmitting and receiving data signals D0 to D7 and signal lines for transmitting and receiving control signals such as / CE, CS0, CS1, / M1, / IORQ, and / RD. include. The CS0 signal and the CS1 signal are used by the CPUs 101 and 111 to specify any one of the channels 0 to 3 in the CTCs 102 and 112. As shown in FIG. 9, different values are assigned to the CS0 signal and the CS1 signal corresponding to each of the channels 0 to 3 of the CTCs 102 and 112.
[0049]
As shown in FIG. 8, each of the CPUs 101 and 111 includes a program counter 201, various registers 202, interrupt permitting flip-flops IFF1 and IFF2, and an internal NMI flip-flop NMIFF.
[0050]
The program counter 201 holds an address value of an instruction to be executed next by the CPUs 101 and 111. The value of the program counter 201 is sequentially incremented each time each instruction is executed, or an address value of a branch destination by a branch instruction is set.
[0051]
The various registers 202 include, for example, a plurality of types of 8-bit registers (specifically, A, B, C, D, E, H, L, I, X, and Y registers and flag registers). You. The values of the various registers 202 are updated in accordance with operation instructions and transfer instructions executed by the CPUs 101 and 111, and are used for designating program addresses, data addresses or input / output port addresses, and holding operation data and transfer data.
[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 CPUs 101 and 111 are reset, when a DI instruction which is an interrupt prohibition instruction is executed, and when a maskable interrupt is accepted, both IFF1 and IFF2 are reset to "0" and the interrupt is prohibited. On the other hand, when the EI instruction, which is the interrupt permission instruction, is executed, both IFF1 and IFF2 are set to "1" and the interruption is permitted. When a non-maskable interrupt is accepted, IFF1 is reset to "0" to prohibit the maskable interrupt. On the other hand, IFF2 holds the state immediately before accepting the interrupt. Even when IFF1 is "0", interrupts that cannot be masked are not prohibited.
[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 CPUs 101 and 111, and a non-maskable interrupt is accepted. After the non-maskable interrupt is accepted, the internal NMI flip-flop NMIFF is reset to “0”.
[0054]
As shown in FIG. 10, the CTCs 102 and 112 each include a CPU bus input / output circuit 211, an internal control circuit 212, an interrupt control circuit 213, and a counter / timer channel circuit which are interconnected via an internal bus 215. 214.
[0055]
The CPU bus input / output circuit 211 connects between the CPU 101 and the CTC 102 or between the CPU 111 and the CTC 112, and controls various control data and control signals such as channel control words, time constant data, and interrupt vectors via the bus 109. This is a circuit for inputting and outputting data.
[0056]
The internal control circuit 212 executes processing for controlling the operation of the entire CTC 102, 112, such as driving and resetting of the CTC 102, 112, and reading / writing of data to / from the counter / timer channel circuit 214.
[0057]
The interrupt control circuit 213 executes a process of determining the priority of interrupts between the CTCs 102 and 112 and the peripheral LSIs connected in a daisy chain, the process of determining the priority of interrupts inside the CTCs 102 and 112, and the like. The priorities of the channels inside the CTCs 102 and 112 are set so that the channel 0 has the highest priority and the channels 1, 2, and 3 have the highest priority.
[0058]
The counter / timer channel circuit 214 includes four counter / timer channel circuits 214A to 214D provided corresponding to the channels 0 to 3 in the CTCs 102 and 112, respectively. FIG. 11 is a block diagram showing a configuration example of each of the counter / timer channel circuits 214A to 214D. As shown in FIG. 11, each of the counter / timer channel circuits 214A to 214D includes a channel control register 221, a time constant register 222, a down counter 223, and a prescaler 224. The channel control register 221, the time constant register 222, and the down counter 223 are each connected to the internal bus 215. The down counter 223 has an input terminal for the CLK / TRG signal and an output terminal for the ZC / TO signal.
[0059]
The channel control register 221 uses the channel control word input from the CPU 101 or 111 to set the operation content of each of the counter / timer channel circuits 214A to 214D to determine the conditions for generating an interrupt factor including the channel operation mode and the like. It is for selection. Each of the counter / timer channel circuits 214A to 214D can set its operation mode to either the counter mode or the timer mode according to the channel control word written in the channel control register 221.
[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 down counter 223 is synchronized with the next rising of the system clock. The count value is decremented by one. When the count value of the down counter 223 becomes “0”, the ZC / TO signal is turned on. When the interrupt generation is permitted by the channel control word written in the channel control register 221, the / INT signal becomes low level (ON state), and the interrupt request signal is output to the CPU 101 or 111. Is done.
[0061]
The timer mode is an operation mode in which the count value of the down counter 223 is reduced in synchronization with a clock pulse signal output from the prescaler 224. That is, the down counter 223 decrements the count value by 1 at the rising edge or the falling edge of the clock signal output from the prescaler 224. When the count value of the down counter 223 becomes “0”, a pulse signal having a constant cycle is output as a ZC / TO signal. Also in the timer mode, when the interrupt generation is permitted by the channel control word written in the channel control register 221, the / INT signal is turned on when the count value of the down counter 223 becomes "0". And an interrupt request signal is output.
[0062]
The time constant register 222 holds an initial count value as a time constant to be written to the down counter 223. The initial count value held by the time constant register 222 is set immediately after the writing of the channel control word to the channel control register 221 is completed, and is an integer in the range of 1 to 256. The count initial value held in the time constant register 222 is loaded into the down counter 223 when the CTCs 102 and 112 are initialized or when the count value of the down counter 223 becomes “0”.
[0063]
The down counter 223 loads the count initial value held by the time constant register 222, and counts at each edge of the external clock (CLK / TRG signal) in the counter mode, and at each clock output of the prescaler 224 in the timer mode. Subtract the value by 1. If interrupt generation is permitted by the channel control word written to the channel control register 221, an interrupt request signal can be output when the count value of the down counter 223 becomes "0". .
[0064]
The prescaler 224 is used only in the timer mode, and divides the system clock by 16 or 256 according to the channel control word written in the channel control register 221. The clock pulse divided by the prescaler 224 becomes a clock input of the down counter 223.
[0065]
In this embodiment, the CLK / TRG in the CTC 112 included in the payout control microcomputer 110 is described. 2 The input terminals of the signals are wired so that the payout control INT signal output from the main board 11 is input.
[0066]
Next, an operation of the pachinko gaming machine 1 according to the present embodiment will be described. FIG. 12 is an explanatory diagram showing various types of interrupt processing that can be executed by the game control microcomputer 100 mounted on the main board 11. The CPU 101 of the game control microcomputer 100 has a non-maskable interrupt (NMI) as shown in FIG. 12A and a mask of modes 0 and 2 as shown in FIGS. 12B to 12D. An interrupt (INT) is provided.
[0067]
As shown in FIG. 12A, when receiving a non-maskable interrupt, the CPU 101 calls the NMI processing program module as a service routine stored at the address 0066H of the ROM 103. Specifically, upon receiving a non-maskable interrupt, the CPU 101 stores the contents of the program counter 201 in the stack, and sets 0066H in the program counter 201. In the NMI processing, a RETN instruction for returning to the processing executed immediately before the occurrence of the interrupt by the CPU 101 is set, and the CPU 101 returns from the NMI processing by the RETN instruction.
[0068]
Further, as shown in FIG. 12B, when an interrupt is received in mode 0, the CPU 101 acquires a 1-byte RST instruction or a 3-byte CALL instruction transmitted from the peripheral LSI onto the bus 109. Then, the CPU 101 executes instructions sequentially from an address corresponding to the RST instruction or an address specified by the CALL instruction. Thereafter, the CPU 101 returns to the processing executed immediately before the occurrence of the interrupt by a RETI instruction which is a return instruction from the interrupt processing corresponding to the maskable interrupt.
[0069]
As shown in FIG. 12C, when an interrupt is received in mode 1, the CPU 101 always executes an instruction sequentially from the address 0038H of the ROM 103 as a jump destination address. Then, as in the case of the mode 0, the CPU 101 returns to the processing executed immediately before the occurrence of the interrupt by the RETI instruction.
[0070]
When the CPU 101 receives an interrupt in mode 2 as shown in FIG. 12D, the value stored in the I register included in the various registers 202 is set as an upper address, and is output from the peripheral LSI onto the bus 109. The interrupt reference table in the ROM 103 is referred to using the 8-bit interrupt vector as the lower address. As a result, the execution address of the interrupt processing is specified, and the CPU 101 executes instructions sequentially from the specified address. In the interrupt reference table of the ROM 103, the execution address of the interrupt processing is set in the order of the lower byte and the upper byte.
[0071]
The CPU 101 can execute an interrupt process corresponding to an interrupt request from a peripheral LSI such as the CTC 102 by setting the interrupt mode to the mode 2, and execute the interrupt process at an arbitrary address in the ROM 103. It can be installed. Further, when an interrupt occurs, the content referred to in the interrupt occurrence reference table of the ROM 103 is only the execution address of the interrupt process, so that the control is simplified and the processing load on the CPU 101 is reduced. Further, unlike the case of mode 1, different interrupt processing can be easily prepared for each interrupt factor.
[0072]
FIG. 13 is a flowchart of a game control main process executed by the CPU 101 in the game control microcomputer 100. When the power of the pachinko gaming machine 1 is turned on, the game control main process is started. First, the CPU 101 sets the interrupt prohibition (step S101), and then sets the interrupt mode to mode 2 (step S101). S102).
[0073]
Thereafter, the CPU 101 sets a stack pointer designation address in the stack pointer (step S103). Then, the register setting of the CTC 102 or the like which is a device built in the game control microcomputer 100 is performed (step S104). At this time, the CPU 101 sets an interrupt vector for the CTC 102.
[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 channels 0 to 3 has generated the interrupt. As shown in FIG. 14B, different values are assigned to the codes of the channels corresponding to the channels 0 to 3, respectively. From the channel code included in the interrupt vector, the CPU 101 can specify the cause of the interrupt that has occurred in the CTC 102. That is, the interrupt vector output from the CPU bus input / output circuit 211 of the CTC 102 becomes interrupt factor information that can specify the interrupt factor. The seventh to third bits D7 to D3 of the interrupt vector are user setting values that can be set by the CPU 101.
[0075]
In step S104, the CPU 101 outputs control data for designating the seventh to third bits D7 to D3 of the interrupt vector to the CTC 102 via the bus 109. At this time, the CS0 signal and the CS1 signal are both set to “0”, and the writing to the channel 0 in the CTC 102 is performed. In this embodiment, the CPU 101 sets the seventh to third bits D7 to D3 in the interrupt vector so that the interrupt vector has a value in the range of 70H to 76H.
[0076]
Subsequent to step S104, the CPU 101 checks, for example, a backup flag area provided in the RAM 104 (step S105), and the entire data or a part of the RAM 104 is backed up by a predetermined data protection process at the last power-off. It is determined whether or not the operation has been performed (step S106). In the pachinko gaming machine 1, when an unexpected power-off occurs, a data protection process for protecting all or a part of the data stored in the RAM 104 is performed. If such data protection processing has been performed, it is determined that there is a backup.
[0077]
When it is determined in step S106 that there is a backup (step S106; Yes), the CPU 101 performs a parity check as a check of the backup data and determines whether the check result is normal (step S107). If the check result is normal (step S107; Yes), the internal state of the main board 11 and the control boards on the sub side (production control board 12, sound control board 13, lamp control board 14, and payout control board 15) are checked. A game state restoring process for returning the control state to the state at the time of power interruption is executed (step S108). Thereafter, the process proceeds to step S110.
[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 CPU 101 clears the RAM 104, Initial settings and the like are performed (step S109).
[0079]
Subsequently, in step S110, the CPU 101 performs settings for timer interruption by the CTC 102. Specifically, a channel control word is input to the CTC 102 via the bus 109, and a plurality of types of interrupt functions provided in the CTC 102 are set.
[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 CPU 101 permits interruption on the channel specified by the CS0 signal and the CS1 signal among the channels 0 to 3 of the CTC 102. An interrupt is permitted for a channel for which the seventh bit D7 of the channel control word is set to "1", and when an interrupt factor corresponding to the channel occurs, a maskable interrupt request is issued from the CTC 102 to the CPU 101. The signal / INT can be output. The sixth bit D6 of the channel control word indicates the operation mode of each channel. If "0", the timer mode is set, and if "1", the counter mode is set.
[0081]
The fifth bit D5 of the channel control word indicates the frequency division ratio in the prescaler 224 when the operation mode of the channel is the timer mode, and specifies whether to divide the system clock by 16 or 256. The fourth bit D4 of the channel control word designates whether the timing of decrementing the count value of the down counter 223 by 1 in each channel is the falling edge or the rising edge of the pulse. The third bit D3 of the channel control word specifies the timing of starting the count operation in the down counter 223 when the operation mode of the channel is the timer mode. The second bit D2 of the channel control word indicates whether to write the time constant to the time constant register 222 immediately after writing the channel control word. The first bit D1 of the channel control word indicates whether or not to continue the current operation in each channel. If "1", the operation of the down counter 223 is stopped.
[0082]
In step S110, the CPU 101 sets only the channel 3 of the CTC 102 to the interrupt permission, and sets the channels 0 to 2 to the interrupt prohibition. In this way, the CPU 101 performs setting to use only one interrupt function of the plurality of types of interrupt functions provided in the CTC 102 and to disable the interrupt function that is not used so as not to generate an interrupt factor. . Then, the channel 3 of the CTC 102 is operated in the timer mode. Further, immediately after outputting the channel control word for the channel 3 of the CTC 102, the CPU 101 outputs an initial count value as a time constant to be written to the time constant register 222 of the counter / timer channel circuit 214D corresponding to the channel 3.
[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 down counter 223 updates (counts down) the count value based on the clock signal generated by the prescaler 224 dividing the frequency of the system clock.
[0084]
When the count value of the down counter 223 in the counter / timer channel circuit 214D becomes "0", the interrupt control circuit 213 outputs the interrupt request signal / INT to the ON state and outputs it to the reset / interrupt controller 106. Further, the CPU bus input / output circuit 211 outputs, on the bus 109, an interrupt vector indicating that an interrupt factor has occurred in the counter / timer channel circuit 214D corresponding to channel 3. That is, the interrupt vector output from the CTC 102 onto the bus 109 has the first and second bits D1 and D2 both set to "1", indicating 76H. Thus, thereafter, the interrupt request signal / INT input from the reset / interruption controller 106 to the CPU 101 is turned on every predetermined time (for example, every 2 milliseconds).
[0085]
Subsequent to step S110, the CPU 101 proceeds to a loop process for monitoring whether or not a timer interrupt has occurred due to an interrupt request signal from the CTC 102. In this loop process, after the interrupt is set to be prohibited (step S111), a display random number update process (step S112) and a judgment random number update process (step S113) are executed. The permission is set (step S114). More specifically, the CPU 101 sets the interrupt permission flip-flops IFF1 and IFF2 to “1” by executing the EI instruction.
[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 CPU 101 receives the interrupt request from the CTC 102. When an interrupt request from the CTC 102 is received, the interrupt vector output on the bus 109 by the CTC 102 is input to the CPU 101. In the CTC 102, since only the channel 3 is set to the interrupt permission, the interrupt vector output from the CTC 102 to the bus 109 always indicates 76H.
[0087]
The CPU 101 refers to the interrupt reference table on the ROM 103 based on the interrupt vector input from the bus 109. When no error occurs in the interrupt vector transmitted on the bus 109, as shown in FIG. 17A, the address 0076H in the interrupt reference table is referred to based on the interrupt vector.
[0088]
On the other hand, an error may occur in an interrupt vector transmitted on the bus 109 due to, for example, generation of noise on the bus 109. In the reference table at the time of interruption on the ROM 103, the execution address of the game control interruption processing is set as the CTC interruption processing designation data corresponding to each of channels 0 to 2 as the CTC interruption processing designation data corresponding to channel 3. Is stored. Thus, even when a certain degree of error occurs in the interrupt vector input to the CPU 101 due to the occurrence of noise or the like, it is possible to execute the interrupt process corresponding to the original interrupt factor.
[0089]
For example, when a 1-bit error occurs in the second bit D2 of the interrupt vector transmitted on the bus 109, the interrupt vector input to the CPU 101 indicates 72H. In the interrupt reference table provided on the ROM 103, since the data 0124H indicating the execution address of the game control interrupt processing is stored at the address 0072H, the CPU 101 correctly specifies the execution address of the game control interrupt processing. can do.
[0090]
When a 1-bit error occurs in the first bit D1 of the interrupt vector, the interrupt vector input to the CPU 101 indicates 74H. Further, when an error occurs in the first and second bits D1 and D2 of the interrupt vector, the interrupt vector input to the CPU 101 indicates 70H. In the ROM 103, since the data 0124H indicating the execution address of the game control interrupt process is stored at both the addresses 0070H and 0074H, the CPU 101 can correctly specify the execution address of the game control interrupt process. . In this way, upon receiving the interrupt request from the CTC 102, the CPU 101 can start executing the game control interrupt process shown in FIG. 18 without being affected by noise.
[0091]
When the game control interrupt process is started, the CPU 101 executes a predetermined power-off process to execute a predetermined data protection process or the like when the power supply voltage supplied from the power supply board 10 decreases ( Step S121). Subsequently, the state of the detection signal input from each winning opening switch 70 is determined by executing a predetermined switch process (step S122).
[0092]
Next, the CPU 101 sequentially executes a determination random number update process (step S123) and a display random number update process (step S124). Then, the special symbol process is executed (step S125). In the special symbol process process, a corresponding process is selected and executed according to a special symbol process flag for controlling the pachinko gaming machine 1 in a predetermined order according to a gaming state. The value of the special symbol process flag is updated during each process according to the gaming state.
[0093]
Further, the CPU 101 executes a normal symbol process process (step S126). In the normal symbol process process, a corresponding process is selected and executed according to a normal symbol process flag for controlling the normal symbol display 5 in a predetermined order. The value of the normal symbol process flag is updated during each process according to the gaming state. Further, a special symbol command control process (step S127) and a normal symbol command control process (step S128) are sequentially executed. Thus, the CPU 101 sends a display control command from the main board 11 to the effect control board 12 to instruct display control of the variable display device 4 and lighting control of the ordinary symbol display 5.
[0094]
Subsequently, the CPU 101 outputs various output data to each output port included in the I / O port 105 by executing a predetermined information output process (step S129). In this information output process, a command for outputting big hit information, start information, probability variation information, and the like to the hall management computer from the main board 11 to the information terminal board 16 is also sent.
[0095]
Further, the CPU 101 performs a predetermined prize ball process to set the number of prize balls based on the detection signal input from each winning opening switch 70 and outputs a payout control command to the payout control board 15. It is possible (step S130).
[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 main board 11 to the payout control board 15 and a payout control INT signal. As shown in FIG. 19, when a predetermined period has elapsed after MODE or EXT data has been output to output ports corresponding to the payout control signals CD0 to CD7 at the I / O port 105, the payout control INT signal Set to ON. When a predetermined period elapses therefrom, the payout control INT signal is cleared to the off state.
[0097]
The CPU 101 can transmit each control command to the effect control board 12, the voice control board 13, the lamp control board 14, and the like in the same manner as the payout control command. When the effect control board 12 is connected to the sound control board 13 and the lamp control board 14 by wiring, it is not necessary to send a control command from the main board 11 to the sound control board 13 and the lamp control board 14.
[0098]
Further, the CPU 101 executes a predetermined solenoid output process to open and close the movable wing piece in the normal variable winning ball device 6 and the opening / closing plate in the special variable winning ball device 7 when a predetermined condition is satisfied ( Step S131).
[0099]
When the reset / interrupt controller 106 detects that the XNMI signal has been turned on while the CPU 101 is executing an arbitrary process, the reset / interrupt controller 106 sets the interrupt request signal / NMI for the CPU 101 to the on state, and executes an interrupt. Generate a non-maskable interrupt that cannot be disabled. In the CPU 101, when the interrupt request signal / NMI is turned on, the internal NMI flip-flop NMIFF is set to "1", and a non-maskable interrupt is accepted.
[0100]
Upon receiving the non-maskable interrupt, the CPU 101 starts executing the NMI process stored in the address 0066H of the ROM 103 by updating the value of the program counter 201 to 0066H. In this embodiment, since only the RETN instruction is set as the NMI processing program module, when the non-maskable interrupt is accepted, the process immediately returns to the process executed immediately before the generation of the non-maskable interrupt. Thus, even when an interrupt that cannot be masked occurs, the CPU 101 executes the control without stopping.
[0101]
In the payout control board 15, the CPU 111 of the payout control microcomputer 110 has the same interrupt function as the CPU 101 of the game control microcomputer 100 mounted on the main board 11. When the power supply voltage is supplied from the power supply board 10 to the payout control board 15, the payout control microcomputer 110 is activated, and the CPU 111 first executes a payout control main process shown in FIG.
[0102]
When the payout control main process is started, the CPU 111 sets the interrupt mode to mode 2 after setting the interrupt prohibition (step S201). Subsequently, a stack pointer designation address is set to the stack pointer (step S203), and a register of the CTC 112, which is a device built in the payout control microcomputer 110, is set (step S204). At this time, the CPU 111 sets the interrupt vector corresponding to the storage position of the interrupt reference table in the ROM 113 as shown in FIG.
[0103]
Subsequent to step S204, the CPU 111 performs clearing of the RAM 114, initial setting for a predetermined work area, and the like (step S205). Next, the setting for interruption by the CTC 112 is performed (step S206). In step S206, the CPU 111 outputs a channel control word to the CTC 112 via the bus 109, and sets a plurality of types of interrupt functions provided in the CTC 112.
[0104]
In this embodiment, the counter / timer channel circuit 214C corresponding to channel 2 of the CTC 112 has the CLK / TRG 2 The payout control INT signal output from the main board 11 is input as a signal. Therefore, the CPU 111 sets the channel 2 of the CTC 112 to the interrupt permission and operates in the counter mode, thereby enabling the generation of the interrupt for receiving the payout control command. In the counter / timer channel circuit 214C of the CTC 112, “1” is set in the time constant register 222 as an initial count value of the down counter 223. As shown in FIG. 21, the down counter 223 of the counter / timer channel circuit 214C corresponding to the channel 2 sets the count value according to the input of the payout control INT signal by setting “1” as the count initial value. It becomes "0", and the interrupt request signal / INT can be set to the ON state.
[0105]
Further, the CPU 111 sets the channel 3 of the CTC 112 to the interrupt permission and operates in the timer mode, thereby enabling the generation of the timer interrupt every predetermined time (for example, 2 milliseconds). In the counter / timer channel circuit 214D of the CTC 112, the count initial value corresponding to the predetermined time is set in the time constant register 222, and the count-down operation of the down counter 223 is started as in the case shown in FIG. On the other hand, the channels 0 and 1 of the CTC 112 are set to the interrupt prohibition.
[0106]
By setting the operation content in the CTC 112, an interrupt request signal / INT input from the reset / interrupt controller 116 to the CPU 111 when a payout control INT signal is input or every predetermined time (2 milliseconds). Is turned on.
[0107]
After step S206, the CPU 111 is set to allow the interrupt, and shifts to a loop process for monitoring whether or not the interrupt request signal / INT from the CTC 112 has been turned on. For example, the CPU 111 sets the interrupt permission flip-flops IFF1 and IFF2 to “1” by executing the EI instruction.
[0108]
In the CTC 112, the priority of the channel 2 is set higher than that of the channel 3. Therefore, when the count value of the down counter 223 becomes “0” simultaneously in the counter / timer channel circuit 214C and the counter / timer channel circuit 214D, the interrupt factor information (interrupt vector) in the channel 2 has priority over the CPU 111. Is output.
[0109]
CPU 111 accepts an interrupt request from CTC 112 when interrupt request signal / INT output from reset / interrupt controller 116 is turned on in a state in which interrupt permission is set. When receiving an interrupt request from the CTC 112, the interrupt vector output on the bus 109 by the CTC 112 is input to the CPU 111.
[0110]
The CPU 111 refers to the interrupt reference table on the ROM 113 shown in FIG. 7 based on the interrupt vector input from the bus 109. In the reference table at the time of interruption on the ROM 103, the execution address of the command reception interruption processing is stored as the CTC interruption processing designation data corresponding to channel 0 and channel 2. Further, as the CTC interrupt processing designation data corresponding to channel 1 and channel 3, the execution address of the payout control interrupt processing is stored. Thus, even when a one-bit error occurs in the second bit D2 of the interrupt vector input to the CPU 111 due to the occurrence of noise or the like, it is possible to execute the interrupt processing corresponding to the original interrupt factor.
[0111]
Upon receiving an interrupt request corresponding to channel 0 or channel 2 from CTC 112, CPU 111 starts execution of a command reception interrupt process shown in FIG. In this command reception interrupt processing, the CPU 111 first saves the value of each register on the stack (step S221). Subsequently, data corresponding to the payout control command is read from an input port of the I / O ports 115 assigned to inputs of the payout control signals CD0 to CD7 (step S222). Then, it is determined whether or not the payout control command is the first byte of the payout control command having the 2-byte structure (step S223). Here, the first byte (MODE) and the second byte (EXT) of the payout control command can be immediately distinguished on the receiving side. That is, the receiving side can immediately detect whether the data as MODE or the data as EXT has been received by the first bit. If the first bit of the received command is “1”, it is determined that the valid first byte (MODE data) of the payout control command having the 2-byte configuration has been received.
[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 main board 11 is stored in the reception command buffer provided in the reception command buffer memory 120.
[0115]
When receiving an interrupt request corresponding to channel 1 or channel 3 from CTC 112, CPU 111 starts execution of a payout control interrupt process shown in FIG. In the payout control interrupt processing, the CPU 111 first executes a predetermined switch processing to detect detection signals from various switches (the full tank switch 53, the ball out switch 54, etc.) input to the payout control board 15. Then, a detection signal from the ball lending detection switch 71 input to the payout control board 15 via the interface board is fetched (step S241).
[0116]
Next, the CPU 111 performs a predetermined input determination process to determine the state of the detection signal captured in the switch process of step S241 (step S242). Further, the CPU 111 executes a command analysis process and executes a process according to the analysis result (step S243). Subsequently, by executing a predetermined payout stop state setting process, the payout device 60 is set to the payout stop state when the payout stop instruction command is received from the main board 11, and the payout stop state is set when the payout start instruction command is received. Is set to cancel (step S244). Further, a predetermined prepaid card unit control process is executed (step S245).
[0117]
Thereafter, the CPU 111 performs a setting process for controlling the payout of the lent ball in response to the ball lending request (step S246). Further, a setting process for controlling payout of award balls is executed (step S247). Then, by executing the payout device control process, the operation content of the payout device 60 based on the results of the ball lending control process of step S246 and the prize ball control process of step S247 is determined (step S248).
[0118]
Subsequently, the CPU 111 performs a predetermined error process to perform an abnormality diagnosis regarding the payout of the game balls, and if necessary, generates a warning by the error display LED 61 or the like according to the diagnosis result (step S249). ). Then, by executing a predetermined output process, a drive signal corresponding to the execution result of the payout device control process of step S248 is output to the payout device 60 (step S248).
[0119]
As described above, in the interrupt reference tables provided on the ROM 103 and the ROM 113, the channels are set to the interrupt prohibition, and are also used for the storage locations corresponding to the interrupt functions that are not used by the channels. The execution address of the interrupt processing is stored as data corresponding to the interrupt processing executed by the interrupt function. Accordingly, even when an error occurs in the interrupt vector output from the CTC 102 to the CPU 101 or the interrupt vector output from the CTC 112 to the CPU 111 when an interrupt factor occurs, the original interrupt Interruption processing corresponding to the factor can be executed.
[0120]
In the ROM 103, only the RETN instruction for returning from the interrupt processing executed when an unmaskable interrupt occurs is set in the NMI processing program module. Even when the embedding function is not used, it is possible to prevent execution of control from being stopped when a non-maskable interrupt occurs. Note that the NMI processing program module may be stored in the ROM 113 of the payout control microcomputer 110 mounted on the payout control board 15, and the CPU 111 responds to the non-maskable interrupt by executing only the RETN instruction. The set NMI process may be executed.
[0121]
In the above embodiment, the game control microcomputer 100 mounted on the main board 11 and the payout control microcomputer 110 mounted on the payout control board 15 have been described. However, the present invention is not limited to this. For example, each control board such as the effect control board 12, the sound control board 13, and the lamp control board 14 is also a payout control microcomputer mounted on the payout control board 15. A microcomputer similar to 110 is mounted, a control command from the main board 11 is received by the above-described processing, and the variable display device 4, the normal symbol display device 5, the lamp / LED 77, The operations of the effect solenoid motor 78 and the speakers 8L and 8R may be controlled.
[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 ROM 103 or the ROM 113 as CTC interrupt processing designation data. In the above description, the execution address of the processing is stored. However, the present invention is not limited to this, as long as it stores arbitrary data for executing the interrupt processing. For example, the program module of the interrupt process itself may be stored as the CTC interrupt process designation data.
[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 pachinko gaming machine 1. The program and data for realizing the present invention are not limited to the form distributed and provided to a computer device or the like by a removable recording medium, but are preinstalled in a storage device of the computer device or the like in advance. You may take the form of distribution by doing so. Furthermore, by providing a communication processing unit, programs and data for realizing the present invention are distributed by downloading from other devices on a network connected via a communication line or the like. It does not matter.
[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:
JP2003032944A 2003-02-10 2003-02-10 Game machine Withdrawn JP2004242717A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (23)

* Cited by examiner, † Cited by third party
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