JP5035446B2 - Bullet ball machine - Google Patents

Bullet ball machine Download PDF

Info

Publication number
JP5035446B2
JP5035446B2 JP2011098658A JP2011098658A JP5035446B2 JP 5035446 B2 JP5035446 B2 JP 5035446B2 JP 2011098658 A JP2011098658 A JP 2011098658A JP 2011098658 A JP2011098658 A JP 2011098658A JP 5035446 B2 JP5035446 B2 JP 5035446B2
Authority
JP
Japan
Prior art keywords
value
random number
initial value
counter
number counter
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
Application number
JP2011098658A
Other languages
Japanese (ja)
Other versions
JP2011143290A (en
Inventor
誠 保谷
隆 那須
好男 山崎
秀昭 佐藤
俊一 関口
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.)
Sanyo Bussan Co Ltd
Original Assignee
Sanyo Bussan 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 Sanyo Bussan Co Ltd filed Critical Sanyo Bussan Co Ltd
Priority to JP2011098658A priority Critical patent/JP5035446B2/en
Publication of JP2011143290A publication Critical patent/JP2011143290A/en
Application granted granted Critical
Publication of JP5035446B2 publication Critical patent/JP5035446B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、パチンコ遊技機などに代表される弾球遊技機に関し、特に、「ぶら下げ基板」等による不正行為を防止することができる弾球遊技機に関するものである。   The present invention relates to a ball game machine represented by a pachinko game machine and the like, and more particularly to a ball game machine capable of preventing an illegal act by a “hanging board” or the like.

この種のパチンコ遊技機は、複数種類の図柄を変動表示可能な表示装置を備えており、遊技領域に打ち込まれた打球が図柄作動ゲートを通過すると、変動表示を開始するように構成されている。この変動表示が予め定められた図柄の組み合わせと一致して停止すると、大当たりとなって、遊技者に所定の遊技価値が付与され、大量の遊技球が払出可能な状態となる。   This type of pachinko gaming machine is equipped with a display device capable of variably displaying a plurality of types of symbols, and is configured to start variably displaying when a hit ball that has been driven into the game area passes through the symbol operating gate. . When this variable display stops in accordance with a predetermined combination of symbols, a big hit is made, a predetermined game value is given to the player, and a large amount of game balls can be paid out.

かかる大当たりの発生の有無は、打球が図柄作動ゲートを通過するタイミングで決定される。即ち、1カウントずつ定期的に一定の範囲で(例えば、1カウントずつ、2ms毎に、0から630の範囲で)更新されるカウンタを備え、打球が図柄作動ゲートを通過したときに、そのカウンタの値を読み出して、読み出されたカウンタの値が、例えば「7」などの所定値と一致する場合に、大当たりを発生するようにしている。大当たりが発生すると、制御基板のコネクタに接続されたケーブルを介して、大当たりコマンドが表示装置の表示用基板へ送信される。表示装置では、受信された大当たりコマンドに基づいて、変動表示を制御し、所定の図柄の組み合わせで停止する大当たり表示を現出させるのである。   Whether or not the jackpot is generated is determined at the timing when the hit ball passes the symbol operating gate. That is, a counter that is periodically updated in a certain range by one count (for example, by 1 count every 2 ms, in a range of 0 to 630) is provided when the hit ball passes the symbol operation gate. When the read counter value matches a predetermined value such as “7”, a jackpot is generated. When a jackpot occurs, a jackpot command is transmitted to the display board of the display device via a cable connected to the connector of the control board. In the display device, the variable display is controlled based on the received jackpot command, and a jackpot display that stops at a predetermined symbol combination is displayed.

ところが、最近、「ぶら下げ基板」と呼ばれる不正な基板を使用した不正行為が報告されている。この不正行為は、制御基板と表示装置の表示用基板との間に、不正な基板をぶら下げて(不正な「ぶら下げ基板」を取り付けて)、不当に大当たりを発生させるというものである。具体的には、前記したパチンコ遊技機に設けられる大当たりを決定するためのカウンタと同様の働きをするカウンタ(1カウントずつ定期的に一定の範囲で更新されるカウンタ)を「ぶら下げ基板」内に設け、そのカウンタの値をパチンコ遊技機の電源投入に合わせてリセット(0クリア)することにより、「ぶら下げ基板」内で大当たりの発生タイミングを把握するのである。そして、その把握した大当たりの発生タイミングに合わせて、「ぶら下げ基板」内で打球の図柄作動ゲート通過信号を不正に生成し、これをパチンコ遊技機の制御基板へ出力して、不当に大当たりを発生させるというものである。遊技場などでは、この「ぶら下げ基板」を用いた不正行為により、多大な被害を被っている。   Recently, however, there have been reports of fraudulent acts using illegal boards called “hanging boards”. This fraudulent act is that an illegal substrate is hung between the control substrate and the display substrate of the display device (an illegal “hanging substrate” is attached) to unreasonably generate a big hit. Specifically, a counter (counter that is periodically updated within a certain range) in the “hanging board” is operated in the same manner as the counter for determining the jackpot provided in the pachinko gaming machine. The counter is reset (cleared to 0) when the pachinko gaming machine is turned on, and the occurrence timing of the jackpot in the “hanging board” is grasped. And, in accordance with the grasping timing of the jackpot, illegally generate the symbol operation gate passing signal of the hit ball in the “hanging board”, and output it to the control board of the pachinko machine to generate an unreasonable jackpot It is to let you. Amusement halls and the like have suffered a great deal of damage due to fraudulent acts using this “hanging board”.

そこで、本願出願人は、特願平10−177539号において、大当たりを決定する乱数値をカウントする乱数カウンタのn(nは自然数)回りの更新毎に、その乱数カウンタの更新の初期値を変更する弾球遊技機を発明した(未公知)。この発明の弾球遊技機によれば、乱数カウンタの更新の初期値は、固定値ではなく、n回りの更新毎に変更されるので、「ぶら下げ基板」は、内部の不正なカウンタの値を乱数カウンタの値と一致させることができず、大当たりの発生タイミングを把握することができない。よって、「ぶら下げ基板」による不正行為を防止することができるのである。   Therefore, the applicant of the present application changes the initial value of the update of the random number counter every time n (n is a natural number) of the random number counter that counts the random number value that determines the jackpot in Japanese Patent Application No. 10-177539. Invented a ball and ball game machine (unknown). According to the ball game machine of the present invention, the initial value of the random number counter update is not a fixed value, but is changed every n number of updates. It is not possible to match the value of the random number counter, and it is impossible to grasp the occurrence timing of the jackpot. Therefore, fraudulent acts caused by the “hanging board” can be prevented.

しかしながら、乱数カウンタの更新の初期値には、初期値カウンタによってカウントされた値が用いられるが、かかる初期値カウンタの値はリセット割込処理の残余時間の間に繰り返し更新される。よって、初期値カウンタが2バイト以上で構成される場合には、次回のリセット割込の発生タイミングによっては初期値カウンタの値が乱数カウンタの更新の範囲外の値となることがあるという問題点があった。   However, although the value counted by the initial value counter is used as the initial value for updating the random number counter, the value of the initial value counter is repeatedly updated during the remaining time of the reset interrupt process. Therefore, when the initial value counter is composed of 2 bytes or more, the initial value counter value may be out of the range of the random number counter update depending on the next reset interrupt generation timing. was there.

即ち、初期値カウンタの値を加算方向に更新した場合、更新後の値を上位バイト下位バイトの順に初期値カウンタへ書き込むと、割込処理の残余時間が無くなって生じる次の割込の発生タイミングによっては、更新後の初期値カウンタの値が乱数カウンタの更新の範囲外の値になることがある。一方、初期値カウンタの値を減算方向に更新した場合、更新後の値を下位バイト上位バイトの順に初期値カウンタへ書き込むと、更新後の初期値カウンタの値が乱数カウンタの更新の範囲外の値になることがある。   In other words, when the value of the initial value counter is updated in the addition direction, when the updated value is written to the initial value counter in the order of the upper byte and the lower byte, the timing of the next interrupt that occurs due to the absence of the remaining time for interrupt processing Depending on the case, the updated initial value counter value may be out of the range of the random number counter update. On the other hand, when the value of the initial value counter is updated in the subtraction direction, if the updated value is written to the initial value counter in the order of the lower byte and the upper byte, the updated initial value counter value is out of the update range of the random number counter. May be a value.

前者を例えば、乱数カウンタの値が「0〜276h」の範囲内で更新される場合であって、初期値カウンタの値が「1FFh」である場合について説明する。「1FFh」の初期値カウンタの値が読み出され、その値に加算方向の更新である例えば「+1」の更新が行われ、更新後の値が「200h」になるとする。更新後の値を、上位バイト、下位バイトの順に初期値カウンタへ書き込むと、初期値カウンタの値は「1FFh」から上位バイトへの書き込み後に一旦「2FFh」となり、更に下位バイトへの書き込みによって「200h」に更新される。よって、上位バイトへの書き込み後であって下位バイトへの書き込み前のタイミングでリセット割込が発生すると、下位バイトへの書き込みが行われないまま初期値カウンタの更新が終了するので、初期値カウンタの値は「2FFh」の値となり、乱数カウンタの更新の範囲外の値となってしまうのである。   The former will be described, for example, when the value of the random number counter is updated within the range of “0 to 276h” and the value of the initial value counter is “1FFh”. It is assumed that the value of the initial value counter of “1FFh” is read out, that is, for example, “+1” is updated in the addition direction, and the updated value becomes “200h”. When the updated value is written to the initial value counter in the order of the upper byte and the lower byte, the value of the initial value counter temporarily changes from “1FFh” to “2FFh” after writing to the upper byte. 200h ". Therefore, if a reset interrupt occurs at the timing after writing to the upper byte but before writing to the lower byte, the update of the initial value counter is completed without writing to the lower byte. The value of “2FFh” is a value outside the update range of the random number counter.

初期値カウンタの値が乱数カウンタの更新の範囲外の値となり、その値が乱数カウンタの更新の初期値として書き込まれると、乱数カウンタの値は本来更新されるべき範囲外の値となるので、大当たりの発生確率が予定していた確率と異なったものになったり、乱数カウンタの更新の初期値が以降は変更されなくなるという不具合が生じるのである。   If the value of the initial value counter is outside the range of updating the random number counter, and that value is written as the initial value of updating the random number counter, the value of the random number counter is outside the range that should be updated. There is a problem that the occurrence probability of the jackpot is different from the planned probability or the initial value of the update of the random number counter is not changed thereafter.

本発明は上述した問題点を解決するためになされたものであり、乱数カウンタの更新の初期値を本来の更新範囲内の値で変更して、「ぶら下げ基板」等による不正行為を防止することができる弾球遊技機を提供することを目的としている。   The present invention has been made to solve the above-mentioned problems, and prevents an illegal act caused by a “hanging board” or the like by changing the initial value of the update of the random number counter to a value within the original update range. It aims to provide a ball game machine that can be used.

この目的を達成するために請求項1記載の弾球遊技機は、定期的に実行される割込処理と、乱数カウンタと、その乱数カウンタの値を前記割込処理によって更新する更新手段と、所定の契機により前記乱数カウンタの値を読み出す読出手段とを備え、その読出手段により読み出された前記乱数カウンタの値が予め定められた値の1つと一致する場合に、遊技者に所定条件下で所定の遊技価値を付与するものであり、更新中の前記乱数カウンタの初期値を記憶する初期値メモリと、前記乱数カウンタの次回の更新の初期値をカウントするカウンタであって、前記割込処理によって次回のその割込処理が発生するまでの残余時間の間に繰り返し更新される初期値カウンタと、その初期値カウンタの値が書き込まれる少なくとも2つのバッファと、そのバッファのうち前記初期値カウンタの値が正常に書き込まれたバッファを記憶する記憶手段と、その記憶手段によって記憶されたバッファの値を前記乱数カウンタおよび初期値メモリへ書き込んでその乱数カウンタの更新の初期値を変更する変更手段とを備えている。   In order to achieve this object, the ball game machine according to claim 1 includes an interrupt process that is periodically executed, a random number counter, and an updating unit that updates the value of the random number counter by the interrupt process, Reading means for reading the value of the random number counter at a predetermined opportunity, and when the value of the random number counter read by the reading means matches one of the predetermined values, An initial value memory for storing an initial value of the random number counter being updated, and a counter for counting an initial value of the next update of the random number counter, wherein the interrupt An initial value counter that is repeatedly updated during the remaining time until the next interrupt processing occurs by processing, and at least two buffers in which the values of the initial value counter are written, Storage means for storing the buffer in which the value of the initial value counter is normally written, and updating the random number counter by writing the buffer value stored by the storage means into the random number counter and the initial value memory. And changing means for changing the initial value.

この請求項1記載の弾球遊技機によれば、定期的に実行される割込処理において、乱数カウンタの値は、更新手段により更新されると共に、所定の契機により読出手段によって読み出される。読み出された乱数カウンタの値が予め定められた値の1つと一致すると、大当たりとなって、遊技者に所定条件下で所定の遊技価値が付与される。   According to the bullet ball game machine of the first aspect, in the interrupt process periodically executed, the value of the random number counter is updated by the updating unit and is read by the reading unit at a predetermined trigger. When the read value of the random number counter matches one of the predetermined values, it becomes a big hit and a predetermined game value is given to the player under predetermined conditions.

乱数カウンタの次回の更新の初期値をカウントする初期値カウンタの値は、バッファを介して、乱数カウンタおよび初期値メモリに書き込まれ、乱数カウンタの更新の初期値が変更される。このように乱数カウンタの更新の初期値は、固定値ではなく、定期的に変更される値であるので、弾球遊技機の電源投入に合わせて、「ぶら下げ基板」等がその内部の不正なカウンタをリセットしても、その不正なカウンタの値を乱数カウンタの値と一致させることはできない。従って、「ぶら下げ基板」等が大当たりの発生タイミングを把握することを防止することができるのである。
しかも、乱数カウンタの更新の初期値をカウントする初期値カウンタの値は、定期的に実行される割込処理の残余時間の間に繰り返し更新される。割込処理の残余時間の長さは、遊技の状態に応じて変化するので、「ぶら下げ基板」等で把握することはできない。よって、かかる残余時間の間に繰り返し更新される初期値カウンタの値を乱数カウンタの更新の初期値としているので、この点においても「ぶら下げ基板」等による乱数カウンタの値の把握を防止することができる。
また、初期値カウンタの値は、バッファを介して乱数カウンタおよび初期値メモリへ書き込まれる。バッファは少なくとも2つ設けられているので、割込処理の残余時間が無くなって次の割込がいかなるタイミングで発生しても、少なくとも一方のバッファには初期値カウンタの値が正常に書き込まれている。初期値カウンタの値が正常に書き込まれたバッファは記憶手段によって記憶されており、そのバッファの値が乱数カウンタおよび初期値メモリへ書き込まれて、乱数カウンタの更新の初期値が変更される。このように初期値カウンタの値が正常に書き込まれたバッファの値に基づいて、乱数カウンタの更新の初期値が変更されるので、いかなるタイミングで次の割込が発生しても、乱数カウンタの更新の初期値を本来の更新の範囲内の値で変更することができる。
The value of the initial value counter that counts the initial value of the next update of the random number counter is written to the random number counter and the initial value memory via the buffer, and the initial value of the update of the random number counter is changed. Thus, since the initial value of the random number counter update is not a fixed value but a value that is periodically changed, the “hanging board” or the like is illegal in the interior of the ball game machine when the power is turned on. Even if the counter is reset, the illegal counter value cannot match the random counter value. Therefore, it is possible to prevent the “hanging board” or the like from grasping the occurrence timing of the jackpot.
Moreover, the value of the initial value counter that counts the initial value of the update of the random number counter is repeatedly updated during the remaining time of the interrupt process that is periodically executed. Since the remaining time of the interruption process changes according to the state of the game, it cannot be grasped by the “hanging board” or the like. Therefore, the value of the initial value counter that is repeatedly updated during the remaining time is used as the initial value of the update of the random number counter. Also in this respect, it is possible to prevent the grasp of the value of the random number counter by the “hanging board” or the like. it can.
The value of the initial value counter is written to the random number counter and the initial value memory via the buffer. Since at least two buffers are provided, the initial value counter value is normally written to at least one of the buffers regardless of the timing at which the remaining interrupt processing time runs out and the next interrupt occurs. Yes. The buffer in which the value of the initial value counter is normally written is stored by the storage means. The value of the buffer is written to the random number counter and the initial value memory, and the initial value of the update of the random number counter is changed. Since the initial value of the random number counter update is changed based on the buffer value in which the initial value counter value is normally written in this way, the random number counter is The initial value of the update can be changed with a value within the range of the original update.

本発明の弾球遊技機によれば、大当たりを決定するための乱数カウンタの更新の初期値は、固定値ではなく、定期的に変更される値であるので、弾球遊技機の電源投入に合わせて、「ぶら下げ基板」等がその内部の不正なカウンタをリセットしても、そのカウンタの値を乱数カウンタの値と一致させることはできない。従って、「ぶら下げ基板」等による大当たりの発生タイミングの把握を不可能にして、「ぶら下げ基板」等による不正行為を防止することができるという効果がある。
しかも、乱数カウンタの更新の初期値をカウントする初期値カウンタの値は、定期的に実行される割込処理の残余時間の間に繰り返し更新される。割込処理の残余時間の長さは、遊技の状態に応じて変化するので、「ぶら下げ基板」等で把握することはできない。よって、かかる残余時間の間に初期値カウンタの値を繰り返し更新しているので、この点においても「ぶら下げ基板」等による乱数カウンタの値の把握を防止することができるという効果がある。
また、初期値カウンタの値は、バッファを介して乱数カウンタおよび初期値メモリへ書き込まれるが、バッファは少なくとも2つ設けられているので、割込処理の残余時間が無くなって次の割込がいかなるタイミングで発生しても、少なくとも一方のバッファには初期値カウンタの値が正常に書き込まれている。初期値カウンタの値が正常に書き込まれたバッファは記憶手段によって記憶されており、そのバッファの値が乱数カウンタおよび初期値メモリへ書き込まれて、乱数カウンタの更新の初期値が変更されるので、いかなるタイミングで次の割込が発生しても、乱数カウンタの更新の初期値を本来の更新の範囲内の値で変更することができる。よって、大当たりの発生確率を設定外の確率に変動させてしまったり、乱数カウンタの更新の初期値が変更されなくなってしまうという不具合を回避できるという効果がある。
According to the ball game machine of the present invention, the initial value of the random number counter for determining the jackpot is not a fixed value but a value that is periodically changed. In addition, even if the “hanging board” or the like resets an illegal counter inside the counter, the value of the counter cannot be matched with the value of the random number counter. Therefore, there is an effect that it is impossible to grasp the timing of occurrence of the jackpot by the “hanging board” or the like and it is possible to prevent an illegal act by the “hanging board” or the like.
Moreover, the value of the initial value counter that counts the initial value of the update of the random number counter is repeatedly updated during the remaining time of the interrupt process that is periodically executed. Since the remaining time of the interruption process changes according to the state of the game, it cannot be grasped by the “hanging board” or the like. Therefore, since the value of the initial value counter is repeatedly updated during the remaining time, it is possible to prevent the grasp of the value of the random number counter by the “hanging board” or the like.
In addition, the value of the initial value counter is written to the random number counter and the initial value memory through the buffer. However, since at least two buffers are provided, the remaining time of the interrupt process is eliminated and the next interrupt is Even if it occurs at the timing, the value of the initial value counter is normally written in at least one of the buffers. Since the buffer in which the value of the initial value counter is normally written is stored by the storage means, the value of the buffer is written to the random number counter and the initial value memory, and the initial value of the update of the random number counter is changed. Even if the next interrupt occurs at any timing, the initial value for updating the random number counter can be changed to a value within the original update range. Therefore, there is an effect that it is possible to avoid the problem that the occurrence probability of the jackpot is changed to a probability outside the setting or the initial value of the update of the random number counter is not changed.

本発明の一実施例であるパチンコ遊技機の遊技盤の正面図である。It is a front view of the game board of the pachinko game machine which is one Example of this invention. パチンコ遊技機の電気的構成を示したブロック図である。It is the block diagram which showed the electrical structure of the pachinko gaming machine. リセット割込処理を示したフローチャートである。It is the flowchart which showed the reset interruption process. 初期値カウンタ更新処理を示したフローチャートである。It is the flowchart which showed the initial value counter update process. 乱数更新処理を示したフローチャートである。It is the flowchart which showed the random number update process.

以下、本発明の好ましい実施例について、添付図面を参照して説明する。本実施例では、弾球遊技機の一例としてパチンコ遊技機、特に、第1種パチンコ遊技機を用いて説明する。なお、本発明を第3種パチンコ遊技機や他の弾球遊技機に用いることは、当然に可能である。   Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. In the present embodiment, description will be made using a pachinko gaming machine as an example of a ball game machine, in particular, a first type pachinko gaming machine. Of course, it is possible to use the present invention for the third type pachinko gaming machine and other ball game machines.

図1は、第1実施例におけるパチンコ遊技機Pの遊技盤の正面図である。遊技盤1の周囲には、打球が入賞することにより5個から15個の遊技球が払い出される複数の入賞口2が設けられている。また、遊技盤1の中央には、複数種類の識別情報としての図柄などを表示する液晶(LCD)ディスプレイ3が設けられている。このLCDディスプレイ3の表示画面は横方向に3分割されており、3分割された各表示領域において、それぞれ図柄の変動表示が行われる。   FIG. 1 is a front view of a game board of a pachinko gaming machine P in the first embodiment. Around the game board 1, there are provided a plurality of winning holes 2 through which 5 to 15 game balls are paid out by winning a hit ball. In the center of the game board 1, a liquid crystal (LCD) display 3 for displaying symbols as a plurality of types of identification information is provided. The display screen of the LCD display 3 is divided into three in the horizontal direction, and in each of the three divided display areas, symbols are displayed in a variable manner.

LCDディスプレイ3の下方には、図柄作動ゲート(第1種始動口)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 LCD display 3 is provided a symbol operating gate (first type starting port) 4, and when the hit ball passes through the symbol operating gate 4, the above-described variation display of the LCD display 3 is started. Below the symbol operation gate 4, a specific winning opening (large winning opening) 5 is provided. The specific winning opening 5 is a big hit when the display result after the fluctuation of the LCD display 3 coincides with one of the predetermined symbol combinations, so that the hitting ball is easy to win for a predetermined time (for example, 30 It is a winning opening that is opened (until the second elapses or 10 hitting balls are won). A V zone 5a is provided in the specific winning opening 5, and when the hit ball passes through the V zone 5a while the specific winning opening 5 is opened, a continuation right is established and the specific winning opening 5 is closed. Thereafter, the specific winning opening 5 is opened again for a predetermined time (or until a predetermined number of hit balls win the specific winning opening 5). The opening / closing operation of the specific winning opening 5 can be repeated up to 16 times (16 rounds), and the state in which the opening / closing operation can be performed is a state in which a predetermined game value is given (special game state). is there.

図2は、かかるパチンコ遊技機Pの電気的構成を示したブロック図である。パチンコ遊技機Pの制御部Cは、演算装置であるCPU11と、そのCPU11により実行される各種の制御プログラムや固定値データを記憶したROM12と、各種のデータ等を一時的に記憶するためのメモリであるRAM13とを備えている。図3から図5に示すフローチャートのプログラムは、制御プログラムの一部としてROM12内に記憶されている。   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 CPU 11 that is an arithmetic device, a ROM 12 that stores various control programs executed by the CPU 11 and fixed value data, and a memory that temporarily stores various data and the like. The RAM 13 is provided. The programs of the flowcharts shown in FIGS. 3 to 5 are stored in the ROM 12 as a part of the control program.

CPU11は、演算を行うALUのほか、アキュームレータ(以下「Acc」と称す)11aや複数の内部レジスタ11b、フラグレジスタ11cを備えている。RAM13内に設けられるカウンタ等の値は、一旦、CPU11の内部レジスタ11bへロードされ(書き込まれ)、その内部レジスタ11b内で更新された後に、RAM13の元のカウンタ内へセイブされて(書き込まれて)、更新される。   The CPU 11 includes an ALU that performs arithmetic operations, an accumulator (hereinafter referred to as “Acc”) 11a, a plurality of internal registers 11b, and a flag register 11c. The values of the counter and the like provided in the RAM 13 are once loaded (written) into the internal register 11b of the CPU 11, updated in the internal register 11b, and then saved (written) into the original counter of the RAM 13. Updated).

なお、68系の8ビットCPU11では、ペアになっている2バイト(16ビット)の内部レジスタ11bの値を、連続したアドレスの2バイトのメモリ(RAM13内)へ1命令でセイブする(書き込む)ことができるが、この場合の書き込みは、バスライン14のデータバスは8ビットで構成されるので、上位バイト、下位バイトの順に行われる。また、80系の8ビットCPUでは、68系のCPU11とは逆に、ペアになっている2バイト(16ビット)の内部レジスタの値を、連続したアドレスの2バイトのメモリへ、下位バイト上位バイトの順に1命令でセイブすることができる。   The 68-system 8-bit CPU 11 saves (writes) the value of the paired 2-byte (16-bit) internal register 11b to the 2-byte memory (in the RAM 13) of consecutive addresses with one instruction. In this case, however, writing is performed in the order of the upper byte and the lower byte because the data bus of the bus line 14 is composed of 8 bits. On the other hand, in the 80 system 8-bit CPU, in contrast to the 68 system CPU 11, the paired 2-byte (16-bit) internal register value is transferred to the 2-byte memory at the continuous address. It can be saved with one instruction in the order of bytes.

RAM13は、乱数カウンタ13a、初期値メモリ13b、初期値カウンタ13c、第1バッファ13d、第2バッファ13e、バッファフラグ13fを備えている。乱数カウンタ13aは、大当たりの発生を決定するためのカウンタであり、図5の乱数更新処理(S6)によって、「0〜630(0〜276h)」の範囲で、2ms毎に1カウントずつ更新される。このため乱数カウンタ13aは2バイトで構成されている。打球が図柄作動ゲート4を通過したときに取得した乱数カウンタ13aの値が例えば「7」であると、大当たりが発生する。大当たりが発生すると、大当たりコマンドが制御部Cから後述する表示装置Dへ送られる。表示装置Dは、この大当たりコマンドに基づいて、LCDディスプレイ3の変動表示を大当たりの状態に制御する。   The RAM 13 includes a random number counter 13a, an initial value memory 13b, an initial value counter 13c, a first buffer 13d, a second buffer 13e, and a buffer flag 13f. The random number counter 13a is a counter for determining the occurrence of a jackpot, and is updated by 1 count every 2 ms in the range of “0 to 630 (0 to 276h)” by the random number update process (S6) of FIG. The Therefore, the random number counter 13a is composed of 2 bytes. If the value of the random number counter 13a acquired when the hit ball passes the symbol operating gate 4 is, for example, “7”, a big hit occurs. When the jackpot occurs, a jackpot command is sent from the control unit C to the display device D described later. The display device D controls the variable display on the LCD display 3 to the jackpot state based on the jackpot command.

初期値メモリ13bは、乱数カウンタ13aの更新の初期値を記憶するためのメモリであり、乱数カウンタ13aと同様に2バイトで構成されている。本実施例では、乱数カウンタ13aの更新の初期値は、乱数カウンタの一回りの更新毎に変更される。よって、更新された乱数カウンタ13aの値が初期値メモリ13bの値と一致すると、乱数カウンタ13aの一回りの更新が終了したことになるので、両値13a,13bの一致を契機として、そのときの第1又は第2バッファ13d,13eの値が乱数カウンタ13aおよび初期値メモリ13bに書き込まれて、乱数カウンタ13aの更新の初期値が変更される。従って、乱数カウンタ13aの更新の初期値を変更しても、乱数の一様性(連続で取得した場合に同じ値を取ることがなく、しかも、すべての値が同じ確率で取り出せること)のある乱数値を得ることができる。   The initial value memory 13b is a memory for storing an initial value of update of the random number counter 13a, and is composed of 2 bytes like the random number counter 13a. In this embodiment, the initial value of the update of the random number counter 13a is changed every time the random number counter is updated once. Therefore, when the updated value of the random number counter 13a matches the value of the initial value memory 13b, one round of updating of the random number counter 13a is completed, so that when the two values 13a and 13b match, The value of the first or second buffer 13d, 13e is written into the random number counter 13a and the initial value memory 13b, and the initial value of the update of the random number counter 13a is changed. Therefore, even if the initial value of the update of the random number counter 13a is changed, the randomness is uniform (the same value is not obtained when continuously acquired, and all values can be extracted with the same probability). A random value can be obtained.

初期値カウンタ13cは、乱数カウンタ13aの更新の初期値をカウントするためのカウンタであり、乱数カウンタ13aと同様に2バイトで構成されている。この初期値カウンタ13cの値は、図4の初期値カウンタ更新処理(S21)によって、乱数カウンタ13aの更新範囲と同じ「0〜630(276h)」の範囲で、1カウントずつ更新される。   The initial value counter 13c is a counter for counting the initial value of the update of the random number counter 13a, and is composed of 2 bytes like the random number counter 13a. The value of the initial value counter 13c is updated one count at a time in the range of “0 to 630 (276h)” that is the same as the update range of the random number counter 13a by the initial value counter update process (S21) of FIG.

図4の初期値カウンタ更新処理は、図3のリセット割込処理における残余時間の間、即ち、効果音処理(S19)の終了後、次のリセット割込処理が発生するまでの間に、繰り返し実行される(S21)。リセット割込処理は2ms毎に実行されるが、1回のリセット割込処理において実行されるS1からS19の各処理の処理時間は遊技の状況に応じて変化するので、リセット割込処理の残余時間は、一定な時間ではなく、遊技の状況に応じて変化する不定な時間となる。「ぶら下げ基板」ではこの不定な時間を把握することはできないので、かかる不定な時間内に繰り返し更新される初期値カウンタ13cの値を乱数カウンタ13aの更新の初期値として使用して、「ぶら下げ基板」による大当たり発生のタイミングの把握を不可能にしている。   The initial value counter update process of FIG. 4 is repeated during the remaining time in the reset interrupt process of FIG. 3, that is, after the end of the sound effect process (S19) until the next reset interrupt process occurs. It is executed (S21). The reset interrupt process is executed every 2 ms, but the processing time of each process from S1 to S19 executed in one reset interrupt process changes depending on the game situation, so the rest of the reset interrupt process The time is not a fixed time but an indefinite time that changes according to the game situation. Since the “hanging board” cannot grasp this indefinite time, the value of the initial value counter 13 c that is repeatedly updated within the indefinite time is used as the initial value for updating the random number counter 13 a, and the “hanging board” ”Makes it impossible to grasp the timing of jackpot occurrence.

第1バッファ13dおよび第2バッファ13eは、乱数カウンタ13aの一回りの更新終了時に初期値カウンタ13cの値を乱数カウンタ13aおよび初期値メモリ13bへ書き込むため、図4の初期値カウンタ更新処理で更新された初期値カウンタ13cの値を記憶しておくバッファである。第1および第2バッファ13d,13eは、初期値カウンタ13cおよび乱数カウンタ13aと同様に2バイトで構成されている。乱数カウンタ13aの一回りの更新が終了すると、第1又は第2バッファ13d,13eのいずれか一方の値が乱数カウンタ13aおよび初期値メモリ13bに書き込まれ、乱数カウンタ13aの更新の初期値が変更される。   The first buffer 13d and the second buffer 13e are updated by the initial value counter updating process of FIG. 4 in order to write the value of the initial value counter 13c to the random number counter 13a and the initial value memory 13b at the end of one round of updating of the random number counter 13a. This is a buffer for storing the value of the initial value counter 13c. The first and second buffers 13d and 13e are composed of 2 bytes, like the initial value counter 13c and the random number counter 13a. When one round of updating of the random number counter 13a is completed, the value of either the first or second buffer 13d, 13e is written to the random number counter 13a and the initial value memory 13b, and the initial value of updating of the random number counter 13a is changed. Is done.

バッファフラグ13fは、第1又は第2バッファ13d,13eのうち、初期値カウンタ13cの値が正常に書き込まれたバッファを示すフラグである。乱数カウンタ13aの一回りの更新終了時に、バッファフラグ13fによって示されるバッファ13d,13eの値が、乱数カウンタ13aおよび初期値メモリ13bへ書き込まれる。バッファフラグ13fは、図4の初期値カウンタ更新処理において、初期値カウンタ13cの値が第1バッファ13dへ正常に書き込まれるとオンされ、第2バッファ13eへ正常に書き込まれるとオフされる。よって、乱数カウンタ13aの一回りの更新終了時に、バッファフラグ13fがオンされていれば第1バッファ13dの値が、オフされていれば第2バッファ13eの値が、乱数カウンタ13aおよび初期値メモリ13bへ書き込まれる。   The buffer flag 13f is a flag indicating a buffer in which the value of the initial value counter 13c is normally written out of the first or second buffers 13d and 13e. At the end of one round of update of the random number counter 13a, the values of the buffers 13d and 13e indicated by the buffer flag 13f are written into the random number counter 13a and the initial value memory 13b. The buffer flag 13f is turned on when the value of the initial value counter 13c is normally written to the first buffer 13d in the initial value counter update processing of FIG. 4, and is turned off when the value is normally written to the second buffer 13e. Therefore, at the end of one round of update of the random number counter 13a, if the buffer flag 13f is turned on, the value of the first buffer 13d is changed, and if the buffer flag 13f is turned off, the value of the second buffer 13e is changed to the random number counter 13a and the initial value memory. 13b.

これらのCPU11、ROM12、RAM13は、バスライン14を介して互いに接続されており、バスライン14は、また、入出力ポート15にも接続されている。この入出力ポート15は表示装置Dや他の入出力装置16と接続されている。制御部Cは、入出力ポート15を介して、表示装置Dや他の入出力装置16へ動作コマンドを送り、それら各装置を制御する。LCDディスプレイ3の変動表示や特定入賞口5の開閉動作も、この動作コマンドに基づいて制御される。   The CPU 11, ROM 12, and RAM 13 are connected to each other via a bus line 14, and the bus line 14 is also connected to an input / output port 15. The input / output port 15 is connected to the display device D and other input / output devices 16. The control unit C sends operation commands to the display device D and other input / output devices 16 via the input / output port 15 and controls these devices. The fluctuation display on the LCD display 3 and the opening / closing operation of the specific winning opening 5 are also controlled based on this operation command.

表示装置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 CPU 21, a program ROM 22, a work RAM 23, a video RAM 24, a character ROM 25, an image controller 26, an input / output port 27, and the LCD display 3. The CPU 21 of the display device D performs display control (variable display) of the LCD display 3 in accordance with an operation command output from the control unit C. The program executed by the CPU 21 is stored in the program ROM 22. Has been. The work RAM 23 is a memory that stores work data used when the CPU 21 executes a program.

ビデオ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 LCD display 3, and the display content of the LCD display 3 is changed by rewriting the content of the video RAM 24. That is, the variable display of the symbols in each display area is performed by rewriting the contents of the video RAM 24. The character ROM 25 is a memory for storing character data such as symbols displayed on the LCD display 3. The image controller 26 adjusts the timings of the CPU 21, the video RAM 24, and the input / output port 27, intervenes in reading and writing data, and displays display data stored in the video RAM 24 at a predetermined timing with reference to the character ROM 25. It is displayed on the LCD display 3.

次に、上記のように構成されたパチンコ遊技機Pで実行される各処理を、図3から図5のフローチャートを参照して説明する。図3は、パチンコ遊技機Pの制御部Cにおいて、2ms毎に実行されるリセット割込処理のフローチャートである。パチンコ遊技機Pの主な制御は、このリセット割込処理によって実行される。   Next, each process executed by the pachinko gaming machine P configured as described above will be described with reference to the flowcharts of FIGS. FIG. 3 is a flowchart of reset interrupt processing executed every 2 ms in the control unit C of the pachinko gaming machine P. The main control of the pachinko gaming machine P is executed by this reset interrupt process.

リセット割込処理では、まず、スタックポインタを設定し(S1)、RAM13の所定エリアに書き込まれているパターンのチェックを行う(S2)。チェックの結果、所定エリアに所定のパターンが書き込まれていれば、RAM13に異常はなく正常であるので(S2:正常)、処理をS3へ移行する。一方、S2のチェックの結果、所定エリアに所定のパターンが書き込まれていなければ、電源投入後最初に実行されたリセット割込処理であるか、或いは、RAM13に異常があるので(S2:異常)、この場合には処理をS22へ移行して、一旦、RAM13の内容をクリアした後、RAM13内へ初期値を書き込んで(S22)、次のリセット割込処理の発生を待機する。   In the reset interrupt process, first, a stack pointer is set (S1), and a pattern written in a predetermined area of the RAM 13 is checked (S2). If the predetermined pattern is written in the predetermined area as a result of the check, the RAM 13 is normal and normal (S2: normal), and the process proceeds to S3. On the other hand, if the predetermined pattern is not written in the predetermined area as a result of the check in S2, it is the reset interrupt process executed first after the power is turned on, or there is an abnormality in the RAM 13 (S2: abnormal) In this case, the process proceeds to S22, the contents of the RAM 13 are once cleared, the initial value is written into the RAM 13 (S22), and the next reset interrupt process is awaited.

S3の処理ではタイマ割込の設定を行う(S3)。ここで設定されるタイマ割込としては、LCDディスプレイ3の表示を制御するコマンドを表示装置Dへ送信するためのストローブ信号を発生させるタイマ割込などがある。タイマ割込の設定後は、各割込を許可状態とする(S4)。割込の許可後は、特別図柄変動処理(S15)や、表示データ作成処理(S17)、ランプ・情報処理(S18)などにより、前回のリセット割込処理において更新された出力データを一度に各ポートへ出力するポート出力処理を実行する(S5)。ポート出力処理の実行後は、後述する乱数更新処理(S6)を実行して、乱数カウンタ13aの値を「+1」更新し、更に、記憶タイマ減算処理を実行する(S7)。記憶タイマ減算処理は、大当たり判定の保留球が所定数以上あり、且つ、LCDディスプレイ3において図柄の変動表示中である場合に、図柄の変動表示時間の短縮を行うものである。   In the process of S3, a timer interrupt is set (S3). The timer interrupt set here includes a timer interrupt that generates a strobe signal for transmitting a command for controlling the display of the LCD display 3 to the display device D. After setting the timer interrupt, each interrupt is permitted (S4). After the permission of the interrupt, the output data updated in the previous reset interrupt process by the special symbol variation process (S15), the display data creation process (S17), the ramp / information processing (S18), etc. A port output process for outputting to the port is executed (S5). After the port output process is executed, a random number update process (S6) described later is executed to update the value of the random number counter 13a by "+1", and a storage timer subtraction process is executed (S7). The storage timer subtraction process shortens the symbol variation display time when there is a predetermined number or more of reserved balls for jackpot determination and when the symbol display is being displayed on the LCD display 3.

スイッチ読込処理(S8)は、各スイッチの値を読み込んで、遊技領域1へ打ち込まれた打球の入賞口2や大入賞口5(Vゾーン5aを含む)への入賞、図柄作動ゲート4の通過、更には賞球や貸球を検出するための処理である。カウント異常監視処理(S9)は、S8のスイッチ読込処理によって読み込まれたスイッチデータに異常があるか否かを監視するための処理である。例えば、大入賞口5が開放され、打球のVゾーン5aの通過を検出するVカウントスイッチで打球が検出されたにも拘わらず、Vゾーン5a以外の大入賞口5への入賞を検出する10カウントスイッチで1球の打球も検出できない場合には、10カウントスイッチが抜き取られるか故障するなどして、10カウントスイッチに何らかの異常が発生している。また、賞球を払い出す払出モータを駆動したにも拘わらず、1球の賞球も払い出されない場合には、賞球の払出装置に何らかの異常が発生している。このようにカウント異常監視処理(S9)では、スイッチ読込処理(S8)によって読み込まれたスイッチデータに基づいて、上記のような異常の有無を監視している。   In the switch reading process (S8), the value of each switch is read, and the ball that has been driven into the game area 1 enters the winning port 2 and the big winning port 5 (including the V zone 5a), and passes through the symbol operating gate 4. Further, it is a process for detecting a winning ball or a rental ball. The count abnormality monitoring process (S9) is a process for monitoring whether there is an abnormality in the switch data read by the switch reading process of S8. For example, even though the big winning opening 5 is opened and a hit ball is detected by the V count switch that detects the passing of the hit ball through the V zone 5a, the winning in the big winning openings 5 other than the V zone 5a is detected 10 When a single shot cannot be detected by the count switch, some abnormality has occurred in the 10 count switch, such as the 10 count switch being pulled out or broken. In addition, when a single prize ball is not paid out even though the payout motor for paying out a prize ball is driven, some abnormality has occurred in the prize ball payout device. As described above, in the count abnormality monitoring process (S9), the presence / absence of the abnormality as described above is monitored based on the switch data read by the switch reading process (S8).

図柄カウンタ更新処理(S10)では、LCDディスプレイ3で行われる変動表示の結果、停止表示される図柄を決定するためのカウンタの更新処理が行われる。また、図柄チェック処理(S11)では、図柄カウンタ更新処理(S10)で更新されたカウンタの値に基づいて、特別図柄変動処理(S15)で使用される大当たり図柄や、はずれ図柄、更にはリーチ図柄などが決定される。   In the symbol counter update process (S10), a counter update process for determining a symbol to be stopped and displayed as a result of the variable display performed on the LCD display 3 is performed. In the symbol check process (S11), based on the counter value updated in the symbol counter update process (S10), the jackpot symbol, the off symbol, and the reach symbol used in the special symbol variation process (S15). Etc. are determined.

S3からS11までの処理において、エラーが発生していなければ(S12:正常)、普通図柄変動処理(S13)によって、7セグメントLEDの変動表示を行うと共に、その変動表示の結果、当たりが発生した場合には普通電動役物(図示せず)を所定時間開放する当たり処理を実行する。その後、状態フラグをチェックし(S14)、LCDディスプレイ3の図柄の変動表示中であれば(S14:図柄変動中)、特別図柄変動処理(S15)によって、打球が図柄作動ゲート4を通過するタイミングで読みとられた乱数カウンタ13aの値に基づいて、大当たりか否かの判定が行われると共に、LCDディスプレイ3の表示図柄の変動処理を実行する。一方、状態フラグをチェックした結果、大当たり中であれば(S14:大当り中)、大入賞口5を開放するなどの大当たり処理(S16)を実行する。更に、状態フラグをチェックした結果、図柄の変動中でも大当たり中でもなければ(S14:その他)、S15及びS16の処理をスキップして、S17の表示データ作成処理へ移行する。なお、S12の処理において、エラーが確認された場合には(S12:エラー)、S13〜S16の各処理をスキップして、S17の表示データ作成処理へ移行する。   If no error has occurred in the processing from S3 to S11 (S12: normal), the normal symbol variation processing (S13) displays the variation of the 7-segment LED, and the variation display results in a win. In this case, a hit process for releasing a normal electric accessory (not shown) for a predetermined time is executed. Thereafter, the state flag is checked (S14), and if the change of the symbol on the LCD display 3 is being displayed (S14: changing the symbol), the timing at which the hit ball passes the symbol operation gate 4 by the special symbol change process (S15). On the basis of the value of the random number counter 13a read in step (b), it is determined whether or not a big hit is made, and a display symbol variation process on the LCD display 3 is executed. On the other hand, if the result of checking the status flag is a big hit (S14: big hit), a big hit process (S16) such as opening the big prize opening 5 is executed. Further, as a result of checking the status flag, if the symbol is not changing or big hit (S14: Other), the processing of S15 and S16 is skipped and the process proceeds to the display data creation processing of S17. If an error is confirmed in the process of S12 (S12: error), each process of S13 to S16 is skipped and the process proceeds to a display data creation process of S17.

表示データ作成処理(S17)では、図柄の変動表示以外にLCDディスプレイ3に表示されるデモデータや、7セグメントLEDの表示データなどが作成され、ランプ・情報処理(S18)では、保留球のランプデータをはじめ、各種のランプデータが作成される。効果音処理(S19)では、遊技の状況に応じた効果音データが作成される。なお、これらの表示データおよび効果音データは、前記したポート出力処理(S5)やタイマ割込処理によって各装置へ出力される。   In the display data creation process (S17), demo data displayed on the LCD display 3, display data of the 7 segment LED, and the like are created in addition to the symbol variation display. In the lamp / information processing (S18), the lamp of the holding ball is displayed. Various lamp data including data are created. In the sound effect process (S19), sound effect data corresponding to the game situation is created. These display data and sound effect data are output to each device by the port output process (S5) and the timer interrupt process described above.

効果音処理(S19)の終了後は、次のリセット割込処理が発生するまでの残余時間の間、S10と同一の処理である図柄カウンタ更新処理(S20)と、初期値カウンタ更新処理(S21)とを繰り返し実行する。S1〜S19の各処理の実行時間は遊技の状態に応じて変化するので、次のリセット割込処理が発生するまでの残余時間は、一定の時間ではなく、遊技の状態に応じて変化する。よって、かかる残余時間を使用して図柄カウンタ更新処理(S20)を繰り返し実行することにより、停止図柄をランダムに変更することができる。また、かかる残余時間を使用して初期値カウンタ更新処理(S21)を繰り返し実行することにより、乱数カウンタ13aの更新の初期値となる初期値カウンタ13cの値を「ぶら下げ基板」で把握不可能とすることができる。   After the sound effect process (S19) ends, during the remaining time until the next reset interrupt process occurs, the symbol counter update process (S20), which is the same process as S10, and the initial value counter update process (S21) ) And repeatedly. Since the execution time of each process of S1-S19 changes according to the state of the game, the remaining time until the next reset interrupt process occurs is not a fixed time but changes according to the state of the game. Therefore, by repeatedly executing the symbol counter update process (S20) using the remaining time, the stop symbol can be changed at random. Further, by repeatedly executing the initial value counter updating process (S21) using the remaining time, the value of the initial value counter 13c serving as the initial value of the update of the random number counter 13a cannot be grasped by the “hanging board”. can do.

図4は、初期値カウンタ更新処理のフローチャートである。初期値カウンタ更新処理(S21)では、CPU11の内部レジスタ11bを介して、乱数カウンタ13aの更新の初期値をカウントする初期値カウンタ13cの値を、乱数カウンタ13aの更新範囲の「0〜630(0〜276h)」の範囲内で「+1」ずつ更新する。更新された初期値カウンタ13cの値は、バッファフラグ13fがオフであれば第1バッファ13dへ、オンであれば第2バッファ13eへ、書き込まれる。   FIG. 4 is a flowchart of the initial value counter update process. In the initial value counter update process (S21), the value of the initial value counter 13c that counts the initial value of the update of the random number counter 13a is set via the internal register 11b of the CPU 11 to the update range “0 to 630 ( 0 + 1 ”within the range of“ 0 to 276h) ”. The updated value of the initial value counter 13c is written to the first buffer 13d if the buffer flag 13f is off, and written to the second buffer 13e if it is on.

まず、2バイトで構成される初期値カウンタ13cの値を2バイトの内部レジスタ11bへ書き込む(S41)。内部レジスタ11bの値を1加算し(S42)、加算後の内部レジスタ11bの値が「631」以上であるか否か、即ち、乱数カウンタ13aの更新範囲の値を超えている否かを調べる(S43)。加算後の内部レジスタ11bの値が「631」以上であれば(S43:Yes)、乱数カウンタ13aの更新範囲の値を超えているので、内部レジスタ11bの値を「0」クリアする(S44)。一方、加算後の内部レジスタ11bの値が「630」以下であれば(S43:No)、乱数カウンタ13aの更新範囲内の値であるので、S44の処理をスキップして、S45の処理へ移行する。S45の処理では、更新された内部レジスタ11bの値を初期値カウンタ13cへ書き込んで更新する。   First, the value of the initial value counter 13c composed of 2 bytes is written to the 2-byte internal register 11b (S41). The value of the internal register 11b is incremented by 1 (S42), and it is checked whether or not the value of the internal register 11b after the addition is “631” or more, that is, whether or not the update range of the random number counter 13a is exceeded. (S43). If the value of the internal register 11b after the addition is “631” or more (S43: Yes), it exceeds the update range value of the random number counter 13a, so the value of the internal register 11b is cleared to “0” (S44). . On the other hand, if the value of the internal register 11b after addition is “630” or less (S43: No), the value is within the update range of the random number counter 13a, so the process of S44 is skipped and the process proceeds to S45. To do. In the process of S45, the updated value of the internal register 11b is written into the initial value counter 13c and updated.

初期値カウンタ13cの更新後は、バッファフラグ13fがオンされているか否かをチェックする(S46)。バッファフラグ13fがオフされていれば(S46:オフ)、前回の初期値カウンタ更新処理では、更新後の初期値カウンタ13cの値が第2バッファ13eへ書き込まれたので、更新後の初期値カウンタ13cの値と等しい内部レジスタ11bの値を第1バッファ13dへ書き込む(S47)。一方、バッファフラグ13fがオンされていれば(S46:オン)、前回の初期値カウンタ更新処理では、更新後の初期値カウンタ13cの値が第1バッファ13dへ書き込まれたので、今回は内部レジスタ11bの値を第2バッファ13eへ書き込む(S48)。   After updating the initial value counter 13c, it is checked whether or not the buffer flag 13f is turned on (S46). If the buffer flag 13f is off (S46: off), the updated initial value counter 13c is written to the second buffer 13e in the previous initial value counter updating process, so the updated initial value counter is updated. The value of the internal register 11b equal to the value of 13c is written to the first buffer 13d (S47). On the other hand, if the buffer flag 13f is on (S46: on), the updated initial value counter 13c is written to the first buffer 13d in the previous initial value counter update process, so this time the internal register The value of 11b is written to the second buffer 13e (S48).

第1又は第2バッファ13d,13eへ更新後の初期値カウンタ13cの値を書き込んだ後は、その値が正常に書き込まれたバッファ13d,13eを指し示すために、バッファフラグ13fを反転し(S49)、この初期値カウンタ更新処理を終了する。即ち、S49の処理により、更新後の初期値カウンタ13cの値が第1バッファ13dへ書き込まれた場合には、バッファフラグ13fはオンされ、第2バッファ13eへ書き込まれた場合には、バッファフラグ13fはオフされる。   After the updated initial value counter 13c is written to the first or second buffer 13d, 13e, the buffer flag 13f is inverted to indicate the buffer 13d, 13e in which the value has been normally written (S49). ), The initial value counter update process is terminated. That is, when the updated value of the initial value counter 13c is written to the first buffer 13d by the processing of S49, the buffer flag 13f is turned on, and when it is written to the second buffer 13e, the buffer flag 13f is turned off.

前記した通り、この初期値カウンタ更新処理は、リセット割込処理において、次のリセット割込が発生するまでの残余時間の間に繰り返し実行される(S21)。このため、CPU11の内部レジスタ11bからRAM13のワークへ2バイトの書き込みが行われるS45,S47,S48の各処理では、1バイトの書き込み後であって2バイトの書き込み完了前に、次のリセット割込が発生する場合がある。リセット割込は、割込の優先順位が最も高く、割込処理の開始を禁止できないノンマスカブルな割込であるので、かかる場合には、2バイトの書き込みが完了されないまま、即ち、2バイトのうち1バイトのみが書き込まれたまま、初期値カウンタ更新処理がその処理(S45,S47,S48)の途中で強制終了され、図3のS1の処理が実行される。従って、かかる場合には、初期値カウンタ13c(S45)、第1バッファ13d(S47)又は第2バッファ13e(S48)のいずれかの値は、2バイトのうち1バイトのみが書き込まれた書き込み途中の値になって、その値が乱数カウンタ13aの更新の範囲外の値になってしまうことがある。   As described above, this initial value counter update process is repeatedly executed during the remaining time until the next reset interrupt occurs in the reset interrupt process (S21). For this reason, in each process of S45, S47, and S48 in which 2 bytes are written from the internal register 11b of the CPU 11 to the work of the RAM 13, the next reset allocation is performed after the writing of 1 byte and before the completion of the writing of 2 bytes. May occur. A reset interrupt is a non-maskable interrupt that has the highest interrupt priority and cannot prohibit the start of interrupt processing. In such a case, the writing of 2 bytes is not completed, that is, out of 2 bytes. The initial value counter update process is forcibly terminated during the process (S45, S47, S48) while only 1 byte is written, and the process of S1 in FIG. 3 is executed. Therefore, in such a case, any value of the initial value counter 13c (S45), the first buffer 13d (S47), or the second buffer 13e (S48) is in the middle of writing in which only 1 byte is written out of 2 bytes. May be out of the range of updating the random number counter 13a.

しかしながら、初期値カウンタ13cの値が乱数カウンタ13aの更新範囲外の値となっても、その初期値カウンタ13cの値がそのまま乱数カウンタ13aの更新の初期値として使用されることはない。また、初期値カウンタ13cの値が乱数カウンタ13aの更新範囲外の値であると、その値は「631(277h)」以上であるので、次回の初期値カウンタ更新処理において、「0」クリアされ(S43:Yes,S44)、乱数カウンタ13aの更新の範囲内の値に戻される。よって、初期値カウンタ13cの値が乱数カウンタ13aの更新範囲外の値となっても、乱数カウンタ13aの更新の初期値を本来の更新の範囲外の値としてしまうことはない。   However, even if the value of the initial value counter 13c becomes a value outside the update range of the random number counter 13a, the value of the initial value counter 13c is not used as it is as the initial value of the update of the random number counter 13a. If the value of the initial value counter 13c is out of the update range of the random number counter 13a, the value is “631 (277h)” or more, and therefore “0” is cleared in the next initial value counter update process. (S43: Yes, S44), the value is returned to a value within the update range of the random number counter 13a. Therefore, even if the value of the initial value counter 13c becomes a value outside the update range of the random number counter 13a, the initial value of the update of the random number counter 13a does not become a value outside the original update range.

また、第1又は第2バッファ13d,13eへ、内部レジスタ11bの2バイトの値が正常に書き込まれず、即ち、2バイトのうち1バイトのみが書き込まれて、第1又は第2バッファ13d,13eのいずれかの値が乱数カウンタ13aの更新範囲外の値となったとしても、その値は、後述する図5の乱数更新処理(S6)において、乱数カウンタ13aの更新の初期値として使用されない。よって、乱数カウンタ13aの更新の初期値を本来の更新の範囲外の値としてしまうことはないのである。この点について、図5を参照して説明する。   Further, the 2-byte value of the internal register 11b is not normally written to the first or second buffer 13d, 13e, that is, only 1 byte of the 2 bytes is written, and the first or second buffer 13d, 13e is written. Even if any of these values is outside the update range of the random number counter 13a, that value is not used as the initial value for updating the random number counter 13a in the random number update process (S6) of FIG. Therefore, the initial update value of the random number counter 13a is not set to a value outside the original update range. This point will be described with reference to FIG.

図5は、乱数更新処理のフローチャートである。乱数更新処理(S6)では、CPU11の内部レジスタ11bを介して、乱数カウンタ13aの値を「0〜630(0〜276h)」の範囲内で「+1」ずつ更新すると共に、制御部Cで使用される他の乱数の更新を行っている。   FIG. 5 is a flowchart of random number update processing. In the random number updating process (S6), the value of the random number counter 13a is updated by “+1” within the range of “0 to 630 (0 to 276h)” via the internal register 11b of the CPU 11 and used by the control unit C. There are other random number updates.

まず、乱数カウンタ13aの値を内部レジスタ11bへ書き込む(S51)。内部レジスタ11bの値を1加算し(S52)、加算後の内部レジスタ11bの値が「631」以上であるか否か、即ち、乱数カウンタ13aの更新範囲の値を超えている否かを調べる(S53)。加算後の内部レジスタ11bの値が「631」以上であれば(S53:Yes)、更新範囲の値を超えているので、内部レジスタ11bの値を「0」クリアする(S54)。一方、加算後の内部レジスタ11bの値が「630」以下であれば(S53:No)、更新範囲内の値であるので、S54の処理をスキップして、S55の処理へ移行する。   First, the value of the random number counter 13a is written into the internal register 11b (S51). The value of the internal register 11b is incremented by 1 (S52), and it is checked whether or not the value of the internal register 11b after the addition is “631” or more, that is, whether or not the update range of the random number counter 13a is exceeded. (S53). If the value of the internal register 11b after the addition is “631” or more (S53: Yes), the value of the internal register 11b is cleared to “0” because it exceeds the update range value (S54). On the other hand, if the value of the internal register 11b after the addition is “630” or less (S53: No), the value is within the update range, so the process of S54 is skipped and the process proceeds to S55.

S55の処理では、更新後の内部レジスタ11bの値と初期値メモリ13bの値とが比較される。初期値メモリ13bには乱数カウンタ13aの更新の初期値が記憶されているので、両値が等しい場合には(S55:Yes)、乱数カウンタ13aの更新は一回り終了したということである。よって、かかる場合には、バッファフラグ13fがオンされているか否かをチェックし(S56)、オンされていれば(S56:オン)、初期値カウンタ13cの正常な値は第1バッファ13dに記憶されているので、その場合には第1バッファ13dの値を内部レジスタ11bへ書き込む(S57)。一方、バッファフラグ13fがオフされていれば(S56:オフ)、初期値カウンタ13cの正常な値は第2バッファ13eに記憶されているので、その場合には第2バッファ13eの値を内部レジスタ11bへ書き込むのである(S58)。第1又は第2バッファ13d,13eの値を内部レジスタ11bへ書き込んだ後は、その内部レジスタ11bの値を初期値メモリ13b及び乱数カウンタ13aへ書き込んで(S59,S60)、乱数カウンタ13aの更新の初期値を変更する。   In the process of S55, the updated value of the internal register 11b is compared with the value of the initial value memory 13b. Since the initial value of the update of the random number counter 13a is stored in the initial value memory 13b, if both values are equal (S55: Yes), the update of the random number counter 13a is completed once. Therefore, in such a case, it is checked whether or not the buffer flag 13f is turned on (S56). If it is turned on (S56: on), the normal value of the initial value counter 13c is stored in the first buffer 13d. In this case, the value of the first buffer 13d is written to the internal register 11b (S57). On the other hand, if the buffer flag 13f is off (S56: off), the normal value of the initial value counter 13c is stored in the second buffer 13e. In this case, the value of the second buffer 13e is set to the internal register. 11b is written (S58). After writing the value of the first or second buffer 13d, 13e to the internal register 11b, the value of the internal register 11b is written to the initial value memory 13b and the random number counter 13a (S59, S60), and the random number counter 13a is updated. Change the initial value of.

一方、更新後の内部レジスタ11bの値と初期値メモリ13bの値とが等しくない場合には(S55:No)、乱数カウンタ13aの更新は未だ一回り終了していないので、S56からS59の処理をスキップして、S52からS54の処理で更新された内部レジスタ11bの値を乱数カウンタ13aへ書き込み(S60)、乱数カウンタ13aの更新を行う。その後は、制御部Cで使用される他の乱数の更新処理を行って(S61)、この乱数更新処理を終了する。   On the other hand, when the updated value of the internal register 11b is not equal to the value of the initial value memory 13b (S55: No), the update of the random number counter 13a has not been completed yet, so the processing from S56 to S59 is performed. Is skipped, the value of the internal register 11b updated in the processing of S52 to S54 is written to the random number counter 13a (S60), and the random number counter 13a is updated. Thereafter, another random number update process used by the control unit C is performed (S61), and the random number update process is terminated.

このように乱数カウンタ13aの更新の初期値には、バッファフラグ13fによって示されるバッファ13d,13eの値が使用される。図4で説明したように、バッファフラグ13fは、更新後の初期値カウンタ13cの値が第1バッファ13dへ正常に書き込まれた後で、即ち、2バイトとも書き込まれた後でオンされ、第2バッファ13eへ正常に書き込まれた後でオフされる(S49)。第1および第2バッファ13d,13eへの初期値カウンタ13cの値の書き込みは交互に行われるので、バッファフラグ13fによって示されるバッファ13d,13eには、初期値カウンタ13cの正常な値が記憶されている。よって、バッファフラグ13fによって示されるバッファ13d,13eの値は、乱数カウンタ13aの更新範囲内の値に維持されているので、かかる値を乱数カウンタ13aの更新の初期値として使用することにより、乱数カウンタ13aの更新の初期値を本来の更新範囲内の値で変更することができる。   As described above, the values of the buffers 13d and 13e indicated by the buffer flag 13f are used as the initial value for updating the random number counter 13a. As described with reference to FIG. 4, the buffer flag 13f is turned on after the updated initial value counter 13c is normally written to the first buffer 13d, that is, after both two bytes are written. 2 is turned off after normal writing to the buffer 13e (S49). Since the value of the initial value counter 13c is written to the first and second buffers 13d and 13e alternately, the normal value of the initial value counter 13c is stored in the buffers 13d and 13e indicated by the buffer flag 13f. ing. Therefore, since the values of the buffers 13d and 13e indicated by the buffer flag 13f are maintained within the update range of the random number counter 13a, by using such values as initial values for updating the random number counter 13a, The initial update value of the counter 13a can be changed with a value within the original update range.

なお、上記実施例において、請求項1記載の割込処理としてはノンマスカブルなリセット割込処理が該当する。また、更新手段としては図5の乱数更新処理(S6)のS51からS54及びS60の処理が該当し、変更手段としてはS56からS60の処理が該当する。   In the above embodiment, the non-maskable reset interrupt process corresponds to the interrupt process described in claim 1. Further, the update means corresponds to the processes from S51 to S54 and S60 of the random number update process (S6) in FIG. 5, and the change means corresponds to the processes from S56 to S60.

以上、実施例に基づき本発明を説明したが、本発明は上記実施例に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。   The present invention has been described based on the embodiments. However, the present invention is not limited to the above-described embodiments, and various improvements and modifications can be easily made without departing from the spirit of the present invention. It can be guessed.

例えば、本実施例では、更新後の初期値カウンタ13cの値の第1および第2バッファ13d,13eへの書き込みは、1回の初期値カウンタ更新処理毎に、いずれか一方のバッファ13d,13eへ交互に行われた。しかし、これに代えて、初期値カウンタ更新処理毎に、更新後の初期値カウンタ13cの値を両方のバッファ13d,13eへ毎回書き込むようにしても良い。本実施例のように、初期値カウンタ更新処理毎に、いずれか一方のバッファ13d,13eのみへ更新後の初期値カウンタ13cの値を書き込む場合には、毎回両方のバッファ13d,13eへ書き込む場合に比べて、その処理時間を短くすることができる。よって、その分、リセット割込処理の残余時間の間に繰り返される初期値カウンタ更新処理の実行回数を多くすることができるのである。   For example, in this embodiment, the value of the updated initial value counter 13c is written to the first and second buffers 13d and 13e every time the initial value counter updating process is performed, one of the buffers 13d and 13e. It was done alternately. However, instead of this, the updated value of the initial value counter 13c may be written to both buffers 13d and 13e every time the initial value counter is updated. When writing the updated value of the initial value counter 13c to only one of the buffers 13d and 13e every time the initial value counter is updated as in this embodiment, writing to both the buffers 13d and 13e each time The processing time can be shortened as compared with FIG. Therefore, the number of executions of the initial value counter update process that is repeated during the remaining time of the reset interrupt process can be increased accordingly.

以下に本発明の変形例を示す。請求項1記載の弾球遊技機において、前記変更手段は、前記乱数カウンタの値が前記初期値メモリの値と一致する場合に実行されることを特徴とする弾球遊技機1。   The modification of this invention is shown below. 2. The ball game machine according to claim 1, wherein the changing means is executed when a value of the random number counter matches a value of the initial value memory.

13 制御部のRAM
13a 乱数カウンタ
13b 初期値メモリ
13c 初期値カウンタ
13d 第1バッファ(バッファ)
13e 第2バッファ(バッファ)
13f バッファフラグ(記憶手段)
C 制御部
P パチンコ遊技機(弾球遊技機)
13 RAM of control unit
13a Random number counter 13b Initial value memory 13c Initial value counter 13d First buffer (buffer)
13e Second buffer (buffer)
13f Buffer flag (storage means)
C Control part P Pachinko machine (ball game machine)

Claims (1)

定期的に実行される割込処理と、乱数カウンタと、その乱数カウンタの値を前記割込処理によって更新する更新手段と、所定の契機により前記乱数カウンタの値を読み出す読出手段とを備え、その読出手段により読み出された前記乱数カウンタの値が予め定められた値の1つと一致する場合に、遊技者に所定条件下で所定の遊技価値を付与する弾球遊技機において、
更新中の前記乱数カウンタの初期値を記憶する初期値メモリと、
前記乱数カウンタの次回の更新の初期値をカウントするカウンタであって、前記割込処理によって次回のその割込処理が発生するまでの残余時間の間に繰り返し更新される初期値カウンタと、
その初期値カウンタの値が書き込まれる少なくとも2つのバッファと、
そのバッファのうち前記初期値カウンタの値が正常に書き込まれたバッファを記憶する記憶手段と、
その記憶手段によって記憶されたバッファの値を前記乱数カウンタおよび初期値メモリへ書き込んでその乱数カウンタの更新の初期値を変更する変更手段とを備えていることを特徴とする弾球遊技機。
An interrupt process periodically executed; a random number counter; an updating unit that updates the value of the random number counter by the interrupt process; and a reading unit that reads the value of the random number counter at a predetermined trigger. In a ball game machine that gives a player a predetermined game value under a predetermined condition when the value of the random number counter read by the reading means coincides with one of predetermined values,
An initial value memory for storing an initial value of the random number counter being updated;
An initial value counter that counts the initial value of the next update of the random number counter, and is repeatedly updated during the remaining time until the next interrupt process is generated by the interrupt process;
At least two buffers into which the value of the initial value counter is written;
Storage means for storing a buffer in which the value of the initial value counter is normally written among the buffers;
A bullet ball game machine comprising: changing means for writing the value of the buffer stored by the storage means into the random number counter and the initial value memory and changing the initial value of the update of the random number counter.
JP2011098658A 2011-04-26 2011-04-26 Bullet ball machine Expired - Fee Related JP5035446B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011098658A JP5035446B2 (en) 2011-04-26 2011-04-26 Bullet ball machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011098658A JP5035446B2 (en) 2011-04-26 2011-04-26 Bullet ball machine

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009267085A Division JP4868059B2 (en) 2009-11-25 2009-11-25 Bullet ball machine

Publications (2)

Publication Number Publication Date
JP2011143290A JP2011143290A (en) 2011-07-28
JP5035446B2 true JP5035446B2 (en) 2012-09-26

Family

ID=44458629

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011098658A Expired - Fee Related JP5035446B2 (en) 2011-04-26 2011-04-26 Bullet ball machine

Country Status (1)

Country Link
JP (1) JP5035446B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3044174B2 (en) * 1994-12-22 2000-05-22 株式会社テクニカルアドバンス Pachinko machine
JP4071304B2 (en) * 1996-06-26 2008-04-02 株式会社三共 Game machine

Also Published As

Publication number Publication date
JP2011143290A (en) 2011-07-28

Similar Documents

Publication Publication Date Title
JP4507019B2 (en) Bullet ball machine
JP2007190446A (en) Pinball game machine
JP5278501B2 (en) Bullet ball machine
JP4033083B2 (en) Game machine
JP4407209B2 (en) Bullet ball machine
JP5035446B2 (en) Bullet ball machine
JP2000167212A (en) Pachinko game machine
JP4450259B2 (en) Bullet ball machine
JP3951482B2 (en) Game machine
JP2004000755A5 (en)
JP5382039B2 (en) Bullet ball machine
JP4868059B2 (en) Bullet ball machine
JP4483847B2 (en) Game machine
JP4626641B2 (en) Bullet ball machine
JP4379936B2 (en) Bullet ball machine
JP4626640B2 (en) Bullet ball machine
JP4293218B2 (en) Game machine
JP4281138B2 (en) Bullet ball machine
JP4626642B2 (en) Bullet ball machine
JP4375475B2 (en) Bullet ball machine
JP4626639B2 (en) Bullet ball machine
JP4375473B2 (en) Bullet ball machine
JP4375474B2 (en) Bullet ball machine
JP2009172427A5 (en)
JP2000167191A5 (en)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110426

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: 20120605

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: 20120618

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees