JP4507020B2 - Bullet ball machine - Google Patents
Bullet ball machine Download PDFInfo
- Publication number
- JP4507020B2 JP4507020B2 JP2008169754A JP2008169754A JP4507020B2 JP 4507020 B2 JP4507020 B2 JP 4507020B2 JP 2008169754 A JP2008169754 A JP 2008169754A JP 2008169754 A JP2008169754 A JP 2008169754A JP 4507020 B2 JP4507020 B2 JP 4507020B2
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- timer
- executed
- circuit
- cpu
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Pinball Game Machines (AREA)
Description
本発明は、パチンコ遊技機などに代表される弾球遊技機に関し、特に、一定の間隔で割込を発生させて、その割込処理により制御を行う弾球遊技機に関するものである。 The present invention relates to a ball game machine represented by a pachinko game machine, and more particularly to a ball game machine that generates an interrupt at a constant interval and performs control by the interrupt process.
この種のパチンコ遊技機では、演算を実行するCPUとは別に、一定の間隔(例えば2ms周期)でリセット信号を発生する外部回路を備えている。外部回路が発するリセット信号はCPUのリセット端子に入力され、CPUに一定の間隔でリセット割込を発生させている。CPUはこの定期的に発生されるリセット割込によりパチンコ遊技機を制御しているので、遊技の実行中にノイズなどによって何らかの異常が発生しても、遊技を中断することなく、継続することができるのである。 In this type of pachinko gaming machine, an external circuit that generates a reset signal at a constant interval (for example, a 2 ms cycle) is provided separately from the CPU that executes the calculation. A reset signal generated by the external circuit is input to the reset terminal of the CPU, causing the CPU to generate a reset interrupt at regular intervals. Since the CPU controls the pachinko gaming machine by this periodically generated reset interrupt, even if some abnormality occurs due to noise or the like during the execution of the game, the game can be continued without interruption. It can be done.
しかしながら、かかる方式では、リセット信号を一定の間隔で発生する外部回路が必要となり、回路コストが上昇してしまうという問題点があった。 However, this method requires an external circuit that generates a reset signal at regular intervals, resulting in an increase in circuit cost.
ところで、CPUの中にはROMやRAMを内蔵して、ある程度ノイズに強くされたものも出回っている。これらのCPUの多くは、内部にタイマ割込回路などを内蔵しているので、かかる内部割込回路を使うことにより、上記外部回路を削除して、回路コストを低減することができる。 By the way, some CPUs that have a built-in ROM and RAM and are made more resistant to noise to some extent are available. Many of these CPUs have a built-in timer interrupt circuit or the like, and therefore, by using such an internal interrupt circuit, the external circuit can be deleted and the circuit cost can be reduced.
しかしながら、内部割込回路による割込は、リセット割込に比べて、割込が発生してから割込処理が実行されるまでに長時間を要してしまうので、所望のタイミングで割込処理を実行することができないという問題点があった。即ち、リセット割込の場合には、リセット割込の処理中に、次のリセット割込が発生すると、CPUの実行状態に拘わらず、即座に、次のリセット割込処理が実行される。しかし、内部割込回路による割込では、その内部割込回路による割込の処理中に、次の内部割込回路による割込が発生しても、CPUが実行中の命令を終了し、かつ、実行時間の長いRETI(RETurn Interrupt)命令の実行によりスタックポインタを戻した後でなければ、次の内部割込回路による割込処理を実行することができない。このため内部割込回路による割込では、リセット割込の場合に比べて、割込の発生から割込処理の実行までに長時間を要してしまうのである。 However, the interrupt by the internal interrupt circuit takes a long time from the occurrence of the interrupt until the interrupt processing is executed compared to the reset interrupt. There was a problem that could not be executed. That is, in the case of a reset interrupt, if the next reset interrupt occurs during the reset interrupt process, the next reset interrupt process is immediately executed regardless of the execution state of the CPU. However, in the interrupt by the internal interrupt circuit, even if an interrupt by the next internal interrupt circuit occurs during the interrupt processing by the internal interrupt circuit, the CPU terminates the instruction being executed, and Unless the stack pointer is returned by executing a RETI (RETurn Interrupt) instruction having a long execution time, interrupt processing by the next internal interrupt circuit cannot be executed. For this reason, in the interrupt by the internal interrupt circuit, it takes a longer time from the generation of the interrupt to the execution of the interrupt process than in the case of the reset interrupt.
本発明は上記例示した問題点等を解決するためになされたものであり、弾球遊技機の制御をCPUに内蔵される割込回路により行って、リセット割込を発生させるための外部回路を削除し回路コストを低減することができる弾球遊技機を提供することを目的としている。 The present invention has been made to solve the above-described problems and the like, and an external circuit for generating a reset interrupt by controlling a ball game machine by an interrupt circuit incorporated in a CPU. An object of the present invention is to provide a ball game machine that can be deleted to reduce the circuit cost.
この目的を達成するために請求項1記載の弾球遊技機は、所定の間隔で割込を発生させる割込手段と、その割込手段による割込によって実行される割込処理とを備え、その割込処理により、打球を遊技領域に打ち込んで遊技を行うものであり、前記割込手段により発生される割込のジャンプ先アドレスは、電源の投入時に実行されるリセット割込のジャンプ先アドレスと異なるアドレスにされており、前記割込手段はCPUに内蔵された割込回路で構成されるとともに、前記割込処理は、スタックポインタの値をその割込処理の発生前の値に戻すスタック戻し手段と、前記割込手段による多重割込の発生を許可する割込許可手段と、前記弾球遊技機の制御を実行する制御手段と、前記スタック戻し手段、割込許可手段および制御手段の実行後、次の割込処理が実行されるまで、所定の処理を繰り返すループ手段とを備えている。
この請求項1記載の弾球遊技機によれば、CPUに内蔵された割込回路による割込処理では、スタック戻し手段によってスタックポインタの値が割込処理の発生前の値に戻されるとともに、割込許可手段によって割込回路による多重割込の発生が許可される。その後、制御手段により弾球遊技機の制御が実行され、かかる制御が終了すると、許可された割込回路により多重割込が発生するまで、ループ手段によって所定の処理が繰り返される。よって、割込の処理中に、割込回路により次の割込が発生すると、CPUが実行中の命令を終了した後、実行時間の長いRETI命令を実行することなく、即座に、次の割込処理が実行される。従って、割込の発生から割込処理が開始されるまでの時間を短縮することができる。
In order to achieve this object, the ball game machine according to claim 1 includes an interrupt means for generating an interrupt at a predetermined interval, and an interrupt process executed by an interrupt by the interrupt means, The interrupt processing is used to play a game by hitting a ball into the game area, and the jump destination address of the interrupt generated by the interrupt means is the jump destination address of the reset interrupt executed when the power is turned on. The interrupt means is composed of an interrupt circuit built in the CPU, and the interrupt processing returns the stack pointer value to the value before the occurrence of the interrupt processing. Return means, interrupt permission means for allowing the occurrence of multiple interrupts by the interrupt means, control means for executing control of the ball game machine, stack return means, interrupt permission means and control means After execution Until the next interrupt processing is executed, and a loop means for repeating a predetermined process.
According to the ball game machine of claim 1, in the interrupt process by the interrupt circuit built in the CPU, the value of the stack pointer is returned to the value before the occurrence of the interrupt process by the stack return means, Generation of multiple interrupts by the interrupt circuit is permitted by the interrupt permission means. Thereafter, the control of the ball game machine is executed by the control means, and when such control is completed, a predetermined process is repeated by the loop means until a multiple interrupt is generated by the permitted interrupt circuit. Therefore, when the next interrupt is generated by the interrupt circuit during the interrupt processing, the CPU immediately terminates the currently executing instruction and immediately executes the next interrupt without executing the long execution RETI instruction. Process is executed. Therefore, it is possible to shorten the time from the generation of the interrupt until the interrupt process is started.
本発明の弾球遊技機によれば、CPUに内蔵される割込回路を用いた割込処理により、割込の発生から割込処理が開始されるまでの時間を短縮することができる。よって、リセット割込を発生させるための外部回路を削除して、回路コストを低減することができるという効果がある。 According to the ball game machine of the present invention, it is possible to shorten the time from the generation of an interrupt to the start of the interrupt process by the interrupt process using the interrupt circuit built in the CPU. Therefore, there is an effect that the circuit cost can be reduced by deleting the external circuit for generating the reset interrupt.
以下、本発明の好ましい実施例について、添付図面を参照して説明する。本実施例では、弾球遊技機の一例としてパチンコ遊技機を用いて説明する。 Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. In this embodiment, a pachinko game machine will be described as an example of a ball game machine.
図1は、パチンコ遊技機Pの遊技盤の正面図である。遊技盤1の周囲には、打球が入賞することにより5個から15個の遊技球が払い出される複数の入賞口2が設けられている。また、遊技盤1の中央には、複数種類の識別情報としての図柄などを表示する液晶(LCD)ディスプレイ3が設けられている。このLCDディスプレイ3の表示画面は横方向に3分割されており、3分割された各表示領域において、それぞれ図柄の変動表示が行われる。
FIG. 1 is a front view of the game board of the pachinko gaming machine P. Around the game board 1, there are provided a plurality of winning
LCDディスプレイ3の下方には、図柄作動ゲート4が設けられ、この図柄作動ゲート4を打球が通過すると、LCDディスプレイ3の変動表示が開始される。図柄作動ゲート4の下方には、特定入賞口(大入賞口)5が設けられている。この特定入賞口5は、LCDディスプレイ3の変動後の表示結果が予め定められた図柄の組み合わせの1つと一致する場合に、大当たりとなって、打球が入賞しやすいように所定時間(例えば、30秒経過するまで、あるいは、打球が10個入賞するまで)開放される入賞口である。この特定入賞口5内には、Vゾーン5aが設けられており、特定入賞口5の開放中に、打球がVゾーン5a内を通過すると、継続権が成立して、特定入賞口5の閉鎖後、再度、その特定入賞口5が所定時間(又は、特定入賞口5に打球が所定個数入賞するまで)開放される。この特定入賞口5の開閉動作は、最高で16回(16ラウンド)繰り返し可能にされており、開閉動作の行われ得る状態が、いわゆる所定の遊技価値の付与された状態(特別遊技状態)である。
Below the
図2は、かかるパチンコ遊技機Pの電気的構成を示したブロック図である。パチンコ遊技機Pの制御部Cは、演算装置であるCPU11と、不揮発性で電気的書換可能なメモリであるEEPROM16と、入出力ポート17とが、バスライン18により相互に接続されて構成されている。
FIG. 2 is a block diagram showing an electrical configuration of the pachinko gaming machine P. As shown in FIG. The control unit C of the pachinko gaming machine P includes a
CPU11は、その内部に、演算回路12、タイマ割込回路13、図5及び図6のフローチャートに示すプログラムや各種のデータを記憶したROM14、保存メモリ15aをはじめとする各種のワークエリアとして機能するRAM15等を備えている。演算回路12は、ALUや各種レジスタ、プログラムカウンタ等を有する回路であり、ROM14に記憶されるプログラムに従って演算、即ちプログラムを実行する回路である。タイマ割込回路13は、設定した時間が経過した場合に、割込を発生させて(割込要求13g1〜13g5を出力して)、CPU11に割込処理を行わせるための回路であり、タイマ1からタイマ5の5つの回路を備えている。
The
図3は、かかるタイマ割込回路13のブロック構成図である。図3に示すように、タイマ割込回路13は、フリーランニングカウンタ13aと、5個のコンペアレジスタ13b1〜13b5と、割込フラグレジスタ13cと、割込マスクレジスタ13dと、10個のアンド回路13e1〜13e5,13f1〜13f5とを備えている。フリーランニングカウンタ13aは、クロック信号13hを入力するたびに1カウントずつアップする16ビットのカウンタであり、カウントアップによりカウント値がFFFFhとなった場合には、次のクロック信号13hによって0000hに戻される。
FIG. 3 is a block diagram of the timer
コンペアレジスタ13b1〜13b5は、フリーランニングカウンタ13aの値と比較されるコンパレータ機能を有するレジスタであり、タイマ1からタイマ5の各タイマ毎にそれぞれ1個ずつ合計で5個設けられている。各コンペアレジスタ13b1〜13b5には、割込を発生させるタイミングに対応するカウント値が書き込まれ、このコンペアレジスタ13b1〜13b5に書き込まれたカウント値に、フリーランニングカウンタ13aのカウント値が一致すると、割込フラグレジスタ13cの対応する割込フラグ13c1〜13c5がオンされる。
The compare registers 13b1 to 13b5 have a comparator function to be compared with the value of the
割込フラグレジスタ13cは、フリーランニングカウンタ13aのカウント値がコンペアレジスタ13b1〜13b5のカウント値と一致した場合にオンされるフラグであり、割込の発生状態を示すものである。割込フラグレジスタ13cの割込フラグ13c1〜13c5は、各タイマ1〜5毎に設けられ、各コンペアレジスタ13b1〜13b5にそれぞれ対応している。
The interrupt flag register 13c is a flag that is turned on when the count value of the free-running
割込マスクレジスタ13dは、各タイマ1〜5毎に割込の許可または禁止を設定するためのものであり、各タイマ1〜5毎にそれぞれ設けられている。割込マスクレジスタ13dの対応するタイママスクレジスタ13d1〜13d5がオンされていると、そのタイマ1〜5の割込は許可状態にあり、逆に、オフされていると、そのタイマ1〜5の割込は禁止状態にある。 The interrupt mask register 13d is for setting permission or prohibition of interrupt for each timer 1 to 5, and is provided for each timer 1 to 5, respectively. When the corresponding timer mask registers 13d1 to 13d5 of the interrupt mask register 13d are turned on, the interrupts of the timers 1 to 5 are enabled, and conversely, when the timer mask registers 13d1 to 13d5 are turned off, Interrupts are prohibited.
10個のアンド回路13e1〜13e5,13f1〜13f5のうち前段のアンド回路13e1〜13e5は、各タイマ1〜5毎に、タイマ割込フラグ13c1〜13c5とタイママスクレジスタ13d1〜13d5とを入力して共にオンされている場合に、後段のアンド回路13f1〜13f5へオン信号を出力するものである。後段のアンド回路13f1〜13f5は、かかる前段のアンド回路13e1〜13e5の出力信号に加えて、CPU11全体の割込の許可または禁止の信号をそれぞれ入力して、各タイマ1〜5毎に、割込要求13g1〜13g5を発生させるものである。
Of the ten AND circuits 13e1 to 13e5 and 13f1 to 13f5, the preceding AND circuits 13e1 to 13e5 input the timer interrupt flags 13c1 to 13c5 and the timer mask registers 13d1 to 13d5 for each timer 1 to 5, respectively. When both are turned on, an on signal is output to the subsequent AND circuits 13f1 to 13f5. The subsequent AND circuits 13f1 to 13f5 receive the interrupt enable / disable signal for the
即ち、CPU11全体の割込が許可されている状態において、割込マスクレジスタ13dによって割込が許可されたタイマ1〜5について、フリーランニングカウンタ13aのカウント値とコンペアレジスタ13b1〜13b5のカウント値とが一致すると、割込フラグレジスタ13cの対応するタイマ割込フラグ13c1〜13c5がオンして、後段のアンド回路13f1〜13f5から対応する割込要求13g1〜13g5が出力されるのである。
That is, in the state where the interrupt of the
ここで、図4を参照して、割込ジャンプテーブルについて説明する。割込ジャンプテーブルは、割込要求13g1〜13g5があった場合に、プログラムのジャンプ先となるアドレスを記憶するテーブルである。CPU11は、割込要求13g1〜13g5が出力されると、その割込要求13g1〜13g5に対応する割込ジャンプテーブルのアドレスを参照し、プログラムカウンタの値をそのアドレスにセットして、割込処理を実行するのである。このため割込ジャンプテーブルのジャンプアドレス(ジャンプ先アドレス)には、対応する割込処理のプログラムが記憶されている。
Here, the interrupt jump table will be described with reference to FIG. The interrupt jump table is a table that stores an address that is a jump destination of a program when there is an interrupt request 13g1 to 13g5. When the interrupt request 13g1 to 13g5 is output, the
本実施例では、パチンコ遊技機Pの制御は、タイマ1割込により行われる。かかるジャンプアドレスは、リセット割込、イリーガルオペコードトラップ割込、クロックモニタ異常割込のジャンプアドレスと同一のRESET番地とされている。リセット割込は、パチンコ遊技機Pの電源投入時に実行される割込であり、イリーガルオペコードトラップ割込は、CPU11が未定義のオペコードをフェッチした場合に実行される割込である。また、クロックモニタ異常割込は、CPU11が備えるクロックモニタに異常が発生した場合に実行される割込である。即ち、これらのリセット割込、イリーガルオペコードトラップ割込、クロックモニタ異常割込は、静電気ノイズやACラインノイズ等のノイズ異常によって発生することが多いので、これらの割込のジャンプアドレスを、パチンコ遊技機Pの制御を行うタイマ1割込のジャンプアドレスと同一にすることにより、かかるノイズが生じた場合にも、パチンコ遊技機Pを誤動作させることなく、その制御を継続することができるのである。
In this embodiment, the control of the pachinko gaming machine P is performed by a timer 1 interrupt. The jump address is set to the same RESET address as the jump address of the reset interrupt, illegal opcode trap interrupt, and clock monitor abnormal interrupt. The reset interrupt is an interrupt that is executed when the pachinko gaming machine P is powered on, and the illegal opcode trap interrupt is an interrupt that is executed when the
図2に説明を戻す。RAM15に設けられる保存メモリ15aは、タイマ1コンペアレジスタ13b1に書き込まれるカウント値を記憶するメモリである。本実施例のタイマ1割込は、2ms毎に実行される。よって、そのタイマ1割込により実行される割込処理毎に(図5のフローチャートの処理の実行毎に)、保存メモリ15aの値に2msに相当するカウント値を加算し、加算後のカウント値を保存メモリ15aに記憶すると共に、これをタイマ1コンペアレジスタ13b1へ書き込むようにしている。このためタイマ1割込が、フリーランニングカウンタ13aを用いたタイマ割込回路であっても、割込発生から実際の割込処理が開始されるまでの誤差時間を累積することなく、タイマ1割込を定期的に実行することができるのである。
Returning to FIG. A
なお、本実施例では、コンペアレジスタ13b1〜13b5は、いずれも読み書き可能に構成されている。よって、保存メモリ15aを設けずに、タイマ1コンペアレジスタ13b1の値を直接読み出して、その値に2msに相当するカウント値を加算し、加算結果を、再度、タイマ1コンペアレジスタ13b1に書き込むように構成することが考えられる。しかし、コンペアレジスタ13b1〜13b5は、システムリセットまたはユーザリセットにより、その内容がFFFFhに初期化されてしまう。よって、かかる構成を用いた場合、リセット割込を発生させるようなノイズ等が生じると、タイマ1割込の割込間隔(周期)が乱れて、正常な制御を継続することができなくなってしまうのである。従って、本実施例では、ノイズ等によるかかる不具合を回避するべく、RAM15内に保存メモリ15aを設けて、その保存メモリ15aにタイマ1コンペアレジスタ13b1のカウント値を記憶させている。
In this embodiment, the compare registers 13b1 to 13b5 are all configured to be readable and writable. Therefore, without providing the
入出力ポート17は、バスライン18を介して接続されるCPU11やEEPROM16の他に、表示装置Dや他の入出力装置19等と接続されている。制御部Cは、この入出力ポート17を介して、表示装置Dや他の入出力装置19へ各種の動作コマンドを送って、これら各装置を制御する。即ち、LCDディスプレイ3の変動表示や特定入賞口5の開閉動作も、この動作コマンドに基づいて制御されるのである。
The input /
表示装置Dは、CPU21と、プログラムROM22と、ワークRAM23と、ビデオRAM24と、キャラクタROM25と、画像コントローラ26と、入出力ポート27と、LCDディスプレイ3とを備えている。表示装置DのCPU21は、制御部Cから出力される動作コマンドに応じて、LCDディスプレイ3の表示制御(変動表示)を行うものであり、プログラムROM22には、このCPU21により実行されるプログラムが記憶されている。ワークRAM23は、CPU21によるプログラムの実行時に使用されるワークデータが記憶されるメモリである。
The display device D includes a
ビデオRAM24は、LCDディスプレイ3に表示されるデータが記憶されるメモリであり、このビデオRAM24の内容を書き換えることにより、LCDディスプレイ3の表示内容が変更される。即ち、各表示領域における図柄の変動表示は、ビデオRAM24の内容が書き換えられることにより行われる。キャラクタROM25は、LCDディスプレイ3に表示される図柄などのキャラクタデータを記憶するメモリである。画像コントローラ26は、CPU21、ビデオRAM24、入出力ポート27のそれぞれのタイミングを調整して、データの読み書きを介在するとともに、ビデオRAM24に記憶される表示データをキャラクタROM25を参照して所定のタイミングでLCDディスプレイ3に表示させるものである。
The video RAM 24 is a memory for storing data to be displayed on the
次に、上記のように構成されたパチンコ遊技機Pの制御部Cで実行される各処理について、図5および図6のフローチャートを参照して説明する。図5は、タイマ1割込により、2ms毎に実行される割込処理のフローチャートである。なお、図4の割込ジャンプテーブルに示すように、リセット割込のジャンプアドレスも、タイマ1割込のジャンプアドレスと同一のRESET番地である。よって、この割込処理は、電源投入時におけるリセット割込処理においても同様に実行されるのである。また、イリーガルオペコードトラップ割込、クロックモニタ異常割込が発生した場合にも同様に、この割込処理が実行される。 Next, each process executed by the control unit C of the pachinko gaming machine P configured as described above will be described with reference to the flowcharts of FIGS. 5 and 6. FIG. 5 is a flowchart of interrupt processing executed every 2 ms by timer 1 interrupt. As shown in the interrupt jump table of FIG. 4, the reset interrupt jump address is also the same RESET address as the timer 1 interrupt jump address. Therefore, this interrupt process is similarly executed in the reset interrupt process when the power is turned on. This interrupt process is executed in the same manner when an illegal opcode trap interrupt or a clock monitor abnormal interrupt occurs.
この割込処理では、まず、CPU11全体の割込を禁止した後(S1)、タイマ1の割込要求13g1を解除するためにタイマ1割込フラグ13c1をクリアし(S2)、スタックポインタの値を初期化する(S3)。次に、RAM15の所定エリアに書き込まれているパターン(例えばキーワード等)をチェックして、正しく書き込まれているか否か、即ちパターンに異常があるか否かをチェックする(S4)。パターンに異常がある場合には(S4:Yes)、電源投入後のリセット割込処理により実行された処理であるので、かかる場合には、RAMの初期化処理を行い(S5)、フリーランニングカウンタ13aの値を保存メモリ15aに書き込むのである(S6)。なお、S4の処理においてチェックされる所定のパターンは、RAMの初期化処理において書き込まれる。
In this interrupt process, first, interrupts for the
S6の処理の後、または、S4のパターンチェックにおいて異常が発見されない場合には(S4:No)、S7の処理へ移行する。S7の処理では、保存メモリ15aに記憶されるカウント値に、割込間隔(周期)である2msに相当するカウント値を加算する(S7)。そして、加算後の保存メモリ15aの値をタイマ1コンペアレジスタ13b1に書き込み(S8)、次のタイマ1割込の発生時期をセットする。その後、タイマ1マスクレジスタ13d1をオンし(S9)、更に、CPU11全体の割込を許可した後に(S10)、パチンコ遊技機Pの制御処理であるメイン処理を実行する(S11)。
After the process of S6 or when no abnormality is found in the pattern check of S4 (S4: No), the process proceeds to S7. In the process of S7, a count value corresponding to 2 ms that is an interrupt interval (cycle) is added to the count value stored in the
メイン処理の実行後は(S11)、次のタイマ1割込が発生するまでの間、残余時間処理を繰り返す(S12)。図6は、残余時間処理のフローチャートであり、残余時間処理では所定の処理が行われる(S13)。なお、この所定の処理としては(S13)、例えば、LCDディスプレイ3に表示される図柄パターンの更新処理や、メイン処理(S11)で使用される乱数の更新処理等がある。
After execution of the main process (S11), the remaining time process is repeated until the next timer 1 interrupt occurs (S12). FIG. 6 is a flowchart of the remaining time process. In the remaining time process, a predetermined process is performed (S13). The predetermined process (S13) includes, for example, an update process of a symbol pattern displayed on the
残余時間処理の実行中に(S12)、フリーランニングカウンタ13aのカウント値がタイマ1コンペアレジスタ13b1のカウント値と一致して、タイマ1割込フラグ13c1がオンし、タイマ1割込が発生すると、既に、S9の処理によりタイマ1マスクレジスタ13d1はオンされており且つS10の処理によりCPU11全体の割込が許可されているので、アンド回路13f1によって、タイマ1の割込要求13g1が出力される。すると、CPU11は実行中の命令の終了後に、プログラムカウンタの値をスタックポインタに退避し、図5のフローチャートの割込処理を開始する。
During execution of the remaining time processing (S12), when the count value of the
前記した通り、この割込処理では、S3の処理によりスタックポインタが初期化されているので、この割込処理の実行に際し、実行時間の長いRETI(RETurn Interrupt)命令を実行してスタックポインタの値を戻す必要がない。しかも、S9及びS10の処理により、タイマ1の多重割込が許可されているので、タイマ1割込フラグ13c1がオンされると、即座に、タイマ1の割込要求13g1が出力される。よって、タイマ1割込が発生してから短時間のうちに、この割込処理を実行することができるのである。これによりCPU11に内蔵されるタイマ割込を用いても、パチンコ遊技機Pの制御を行うことができるのである。
As described above, in this interrupt process, the stack pointer is initialized by the process of S3. Therefore, when executing this interrupt process, the RETI (RETurn Interrupt) instruction having a long execution time is executed to obtain the value of the stack pointer. There is no need to return. In addition, since the timer 1 multiple interrupts are permitted by the processing of S9 and S10, when the timer 1 interrupt flag 13c1 is turned on, the timer 1 interrupt request 13g1 is immediately output. Therefore, this interrupt process can be executed within a short time after the occurrence of the timer 1 interrupt. Thus, the pachinko gaming machine P can be controlled even by using a timer interrupt built in the
なお、本実施例において請求項1記載の割込処理としては、図5のフローチャートの処理が該当し、(スタック復帰手段としてはS3の処理が、)割込許可手段としてはS9及びS10の処理が、制御手段としてはS11の処理が、ループ手段としてはS12の処理が、それぞれ該当する。 In this embodiment, the interrupt process described in claim 1 corresponds to the process of the flowchart of FIG. 5, and the process of S9 and S10 is the interrupt permission means (the process of S3 is the stack return means). However, the process of S11 corresponds to the control means, and the process of S12 corresponds to the loop means.
以上、実施例に基づき本発明を説明したが、本発明は上記実施例に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。 The present invention has been described above based on the embodiments. However, the present invention is not limited to the above embodiments, and various modifications can be easily made without departing from the spirit of the present invention. It can be guessed.
例えば本実施例では、図5の割込処理は、タイマ1の割込処理の他に、リセット割込の割込処理とも共用されているので、S3の処理において、スタックポインタの値を戻すのではなく、初期化するように構成している。しかし、この割込処理がリセット割込の割込処理と共用されず、タイマ1の割込処理に専用される場合には、S3の処理において、スタックポインタを初期化するのではなく、例えばポップ命令を実行するなどしてスタックポインタの値を戻すように構成しても良い。この場合のポップ命令の実行やスタックポインタの値の加算又は減算処理などがスタック戻し手段に該当する。 For example, in this embodiment, the interrupt process of FIG. 5 is shared with the interrupt process of the reset interrupt in addition to the interrupt process of the timer 1, so that the value of the stack pointer is returned in the process of S3. Instead, it is configured to initialize. However, when this interrupt process is not shared with the interrupt process of the reset interrupt and is dedicated to the interrupt process of timer 1, the stack pointer is not initialized in the process of S3, for example, popping A stack pointer value may be returned by executing an instruction or the like. In this case, execution of a pop instruction, addition or subtraction processing of a stack pointer value, and the like correspond to stack returning means.
なお、当然のことながら、割込処理がタイマ1の割込とリセット割込とで共用される場合においても、S3に相当するスタックポインタを操作する処理が、リセット割込の割込処理とタイマ1の割込処理とで分けられていれば、タイマ1の割込処理にて実行されるスタックポインタの操作処理を、スタックポインタの初期化に代えて、例えばポップ命令の実行などにより戻すように構成しても良い。 Of course, even when the interrupt process is shared by the timer 1 interrupt and the reset interrupt, the process of operating the stack pointer corresponding to S3 is the reset interrupt interrupt process and the timer. If it is divided by 1 interrupt processing, the stack pointer operation processing executed in the timer 1 interrupt processing is returned by, for example, execution of a pop instruction instead of initialization of the stack pointer. It may be configured.
以下に本発明の変形例を示す。請求項1記載の弾球遊技機の制御装置において、前記スタック復帰手段はスタックポインタの初期化を行うものであり、前記割込回路による割込発生時のジャンプ先アドレスは、電源の投入時に実行されるリセット割込のジャンプ先アドレスと同一にされていることを特徴とする弾球遊技機の制御装置2。よって、リセット割込が発生するような異常がノイズ等によって生じても、リセット割込のジャンプ先アドレスは、前記割込回路による割込発生時のジャンプ先アドレスと同一にされているので、異常なリセット割込の発生により前記割込処理が実行される。従って、弾球遊技機を誤動作させることなく、制御することができる。
The modification of this invention is shown below. 2. The control apparatus for a ball game machine according to claim 1, wherein said stack return means initializes a stack pointer, and a jump destination address when an interrupt is generated by said interrupt circuit is executed when power is turned on. A
弾球遊技機の制御装置2において、前記割込回路による割込発生時のジャンプ先アドレスは、未定義のオペコードをフェッチした場合に発生するトラップ割込のジャンプ先アドレスと同一にされていることを特徴とする弾球遊技機の制御装置3。よって、トラップ割込が発生するような異常がノイズ等によって生じても、トラップ割込のジャンプ先アドレスは、前記割込回路による割込発生時のジャンプ先アドレスと同一にされているので、異常なトラップ割込の発生により前記割込処理が実行される。従って、弾球遊技機を誤動作させることなく、制御することができる。
In the
弾球遊技機の制御装置2若しくは3または請求項1記載の弾球遊技機の制御装置おいて、前記割込回路は、タイマ割込回路で構成され、所定のクロック毎に更新されるフリーランニングカウンタと、そのフリーランニングカウンタの値と比較されるコンペアレジスタとを備えており、前記フリーランニングカウンタの値が前記コンペアレジスタの値と一致した場合に割込を発生させるものであり、前記コンペアレジスタにセットされている値を記憶するセット値記憶手段と、前記タイマ割込回路による割込の発生時に前記セット値記憶手段の内容に割込間隔に相当する時間を加算する加算手段と、その加算手段による加算結果を前記コンペアレジスタおよびセット値記憶手段へ書き込む書込手段とを備えていることを特徴とする弾球遊技機の制御装置4。よって、フリーランニングカウンタを用いたタイマ割込であっても、割込発生から割込処理が開始されるまでの誤差時間を累積することなく、所望の間隔で割込を発生させることができる。
4. The ball game
11 CPU
13 タイマ割込回路(割込手段、割込回路)
14 ROM
15 RAM
15a 保存メモリ
C 制御部
D 表示装置
P パチンコ遊技機(弾球遊技機)
11 CPU
13 Timer interrupt circuit (interrupt means, interrupt circuit)
14 ROM
15 RAM
15a Storage memory C Control unit D Display device P Pachinko machine (bullet game machine)
Claims (1)
前記割込手段により発生される割込のジャンプ先アドレスは、電源の投入時に実行されるリセット割込のジャンプ先アドレスと異なるアドレスにされており、
前記割込手段はCPUに内蔵された割込回路で構成されるとともに、
前記割込処理は、
スタックポインタの値をその割込処理の発生前の値に戻すスタック戻し手段と、
前記割込手段による多重割込の発生を許可する割込許可手段と、
前記弾球遊技機の制御を実行する制御手段と、
前記スタック戻し手段、割込許可手段および制御手段の実行後、次の割込処理が実行されるまで、所定の処理を繰り返すループ手段とを備えていることを特徴とする弾球遊技機。 A bullet ball that has an interrupt means for generating an interrupt at a predetermined interval and an interrupt process executed by the interrupt means, and that hits the hit ball into the game area by the interrupt process. In a ball game machine that controls a gaming machine,
The jump destination address of the interrupt generated by the interrupt means is different from the jump destination address of the reset interrupt executed when the power is turned on.
The interrupt means is composed of an interrupt circuit built in the CPU,
The interrupt process is
Stack return means for returning the value of the stack pointer to the value before the occurrence of the interrupt processing;
Interrupt permitting means for permitting the generation of multiple interrupts by the interrupt means;
Control means for executing control of the ball game machine;
A bullet ball game machine comprising loop means for repeating predetermined processing until execution of the next interrupt processing after execution of the stack return means, interrupt permission means and control means.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008169754A JP4507020B2 (en) | 2008-06-30 | 2008-06-30 | Bullet ball machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008169754A JP4507020B2 (en) | 2008-06-30 | 2008-06-30 | Bullet ball machine |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03100798A Division JP4461493B2 (en) | 1998-02-13 | 1998-02-13 | Bullet ball machine |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008229392A JP2008229392A (en) | 2008-10-02 |
JP4507020B2 true JP4507020B2 (en) | 2010-07-21 |
Family
ID=39902830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008169754A Expired - Fee Related JP4507020B2 (en) | 2008-06-30 | 2008-06-30 | Bullet ball machine |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4507020B2 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04215782A (en) * | 1990-12-14 | 1992-08-06 | Sankyo Kk | Security system for game machine control microcomputer |
JPH08252373A (en) * | 1996-03-18 | 1996-10-01 | L Ii Tec:Kk | Security system of microcomputer for game machine control |
JPH1021101A (en) * | 1996-06-27 | 1998-01-23 | Nec Home Electron Ltd | Microcomputer system |
-
2008
- 2008-06-30 JP JP2008169754A patent/JP4507020B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04215782A (en) * | 1990-12-14 | 1992-08-06 | Sankyo Kk | Security system for game machine control microcomputer |
JPH08252373A (en) * | 1996-03-18 | 1996-10-01 | L Ii Tec:Kk | Security system of microcomputer for game machine control |
JPH1021101A (en) * | 1996-06-27 | 1998-01-23 | Nec Home Electron Ltd | Microcomputer system |
Also Published As
Publication number | Publication date |
---|---|
JP2008229392A (en) | 2008-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3885367B2 (en) | Random number generation circuit and gaming machine including the random number generation circuit | |
JP4461493B2 (en) | Bullet ball machine | |
JP4399890B2 (en) | Game machine | |
JP3888221B2 (en) | CONTROL DEVICE AND GAME MACHINE HAVING THE CONTROL DEVICE | |
JP4507020B2 (en) | Bullet ball machine | |
JP4411868B2 (en) | Control device for ball game machine and ball game machine | |
JP4124062B2 (en) | Game machine | |
JP2004008807A5 (en) | ||
KR100516394B1 (en) | Control device of ball lubrication equipment | |
JP2004000755A5 (en) | ||
JP5741725B2 (en) | Game machine | |
JP5741724B2 (en) | Game machine | |
JP4450255B2 (en) | Game machine | |
JP2004000755A (en) | Pachinko game machine | |
JP5360022B2 (en) | Game machine | |
JP4450259B2 (en) | Bullet ball machine | |
JP4725615B2 (en) | Game machine | |
JP4868059B2 (en) | Bullet ball machine | |
JP5083333B2 (en) | Game machine | |
JP4683086B2 (en) | Game machine | |
JP5637184B2 (en) | Game machine | |
JP5035446B2 (en) | Bullet ball machine | |
JP4683087B2 (en) | Game machine | |
JP5812129B2 (en) | Game machine | |
JP5382039B2 (en) | Bullet ball machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080630 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100407 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100420 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130514 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160514 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |