JP4511475B2 - Game machine - Google Patents
Game machine Download PDFInfo
- Publication number
- JP4511475B2 JP4511475B2 JP2006006628A JP2006006628A JP4511475B2 JP 4511475 B2 JP4511475 B2 JP 4511475B2 JP 2006006628 A JP2006006628 A JP 2006006628A JP 2006006628 A JP2006006628 A JP 2006006628A JP 4511475 B2 JP4511475 B2 JP 4511475B2
- Authority
- JP
- Japan
- Prior art keywords
- payout
- circuit
- random number
- value
- abnormality
- 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 gaming machine in which a player can play a predetermined game using a game medium, and pays out a prize game medium as a prize based on the winning of the game medium in a prize area in the game area.
遊技機として、遊技球などの遊技媒体を発射装置によって遊技領域に発射し、遊技領域に設けられている入賞口などの入賞領域に遊技媒体が入賞すると、所定個の賞球が遊技者に払い出されるものがある。 As a gaming machine, a game medium such as a game ball is launched into a game area by a launching device, and when a game medium wins a prize area such as a prize opening provided in the game area, a predetermined number of prize balls are paid out to the player. There is something to be done.
遊技機における遊技進行は、マイクロコンピュータ等による遊技制御手段によって制御される。賞球払出の制御を行う払出制御手段が、遊技制御手段が搭載されている遊技制御基板(主基板)とは別の払出制御基板に搭載されている場合、遊技の進行は主基板に搭載された遊技制御手段によって制御されるので、入賞にもとづく賞球個数は遊技制御手段によって決定され、賞球個数を示す制御コマンドが払出制御基板に送信される。そして、払出制御手段は、遊技制御手段からの制御コマンドにもとづいて、入賞にもとづく個数の賞球を払い出す処理を行う。 Game progress in the gaming machine is controlled by game control means such as a microcomputer. When the payout control means for controlling the prize ball payout is mounted on a payout control board different from the game control board (main board) on which the game control means is mounted, the progress of the game is mounted on the main board. Therefore, the number of winning balls based on the winning is determined by the gaming control means, and a control command indicating the number of winning balls is transmitted to the payout control board. Then, the payout control means performs a process of paying out the number of prize balls based on the winning based on the control command from the game control means.
また、全入賞計数スイッチの検出信号(排出処理装置のスイッチの検出信号)を払出制御手段に入力して、払出制御手段が賞球数の過不足の判定を行うものがある(例えば、特許文献1参照)。特許文献1に記載された遊技機では、各入賞口への遊技球の入賞を検出する入賞検出スイッチの検出信号を遊技制御基板に入力し、入賞にもとづく賞球個数が遊技制御手段によって決定され、賞球個数を示す制御コマンドが払出制御基板に送信される。また、払出制御手段は、入賞数カウンタの値に基づいて賞球数の過不足の判定を行う。そして、払出制御手段は、警告処理を行うことによって、賞球数の過不足の判定結果を報知する。
In addition, there is a technique in which a detection signal of the all winning counting switch (a detection signal of the switch of the discharge processing device) is input to the payout control means, and the payout control means determines whether the number of winning balls is excessive or insufficient (for example, Patent Literature) 1). In the gaming machine described in
しかし、特許文献1に記載された遊技機では、各入賞検出スイッチの検出信号を遊技制御基板に入力し遊技制御手段が賞球数を管理している一方で、払出制御基板に全入賞計数スイッチの検出信号を入力し払出制御手段が賞球数を管理している。そのため、遊技制御手段が管理する賞球数と払出制御手段が管理する賞球数との間で数にズレが生じる虞がある。
However, in the gaming machine described in
例えば、遊技制御手段は、賞球数の総数を記憶する総賞球バッファを用いて賞球数を管理する。遊技制御手段は、払い出しが行われると、総賞球数バッファが記憶する総賞球数から、払出カウントスイッチによって検出された払出数を減算する。また、遊技制御手段は、入賞を検出すると、総賞球数バッファから総賞球数を読み出し、読み出した総賞球数に、各入賞検出スイッチによって検出された賞球数を加算する。そして、遊技制御手段は、加算後の総賞球数を再び総賞球数バッファに書き込む。この場合、総賞球数バッファから総賞球数を読み出してから再び書き込むまでの間に払い出しが行われると、遊技制御手段は、払い出しに基づく減算処理を実行した後に、加算後の総賞球数(減算分が反映されていない総賞球数)を総賞球バッファに上書きしてしまうことになる。そのため、払い出しによる減算分を総賞球数に正しく反映できなくなり、遊技制御手段が管理する賞球数と払出制御手段が管理する賞球数との間で数にズレが生じてしまう虞がある。 For example, the game control means manages the number of prize balls using a total prize ball buffer that stores the total number of prize balls. When paying out, the game control means subtracts the payout number detected by the payout count switch from the total prize ball number stored in the total prize ball number buffer. In addition, when the game control means detects a winning, it reads the total number of winning balls from the total winning ball number buffer, and adds the number of winning balls detected by each winning detection switch to the read total number of winning balls. Then, the game control means again writes the total number of winning balls after the addition to the total winning ball number buffer. In this case, if payout is performed between the time of reading the total number of winning balls from the total number of winning balls buffer and the time of writing again, the game control means executes the subtraction processing based on the payout and then adds the total number of winning balls The number (the total number of winning balls not reflecting the subtraction) is overwritten in the total winning ball buffer. For this reason, the amount of subtraction due to payout cannot be correctly reflected in the total number of winning balls, and there is a risk that the number of winning balls managed by the game control means and the number of winning balls managed by the payout control means may be misaligned. .
そこで、本発明は、遊技制御手段と払出制御手段とが別個に設けられ、遊技領域における入賞領域に遊技媒体が入賞したことにもとづいて景品として景品遊技媒体を払い出す遊技機において、遊技制御手段が管理する賞球数と払出制御手段が管理する賞球数との間のズレの発生を防止できるようにすることを目的とする。 Therefore, the present invention provides a game control means in a gaming machine in which a game control means and a payout control means are provided separately, and a prize game medium is paid out as a prize based on the winning of a game medium in a prize area in the game area. It is an object of the present invention to prevent a deviation between the number of prize balls managed by the player and the number of prize balls managed by the payout control means.
本発明による遊技機は、遊技媒体(例えば、遊技球)を用いて遊技者が所定の遊技を行うことが可能であり、遊技領域における入賞領域(例えば、可変入賞球装置15、入賞口29,30,33,39、大入賞口)に遊技媒体が入賞したことにもとづいて景品として景品遊技媒体を払い出す遊技機であって、入賞領域に遊技媒体が入賞したことを検出して入賞検出信号を出力する入賞検出手段(例えば、始動口スイッチ14a、カウントスイッチ23、入賞口スイッチ29a,30a,33a,39a)と、入賞検出手段からの入賞検出信号が入力され、遊技の進行を制御する遊技制御手段(例えば、遊技制御用マイクロコンピュータ560)と、景品遊技媒体の払い出しを行う払出手段(例えば、球払出装置97)と、払出手段によって景品遊技媒体が払い出されたことを検出して払出検出信号を出力する払出検出手段(例えば、払出個数カウントスイッチ301)と、払出手段を制御する払出制御手段(例えば、払出制御用マイクロコンピュータ370)とを備え、遊技制御手段は、所定のメイン処理を繰り返し実行するメイン処理実行手段(例えば、遊技制御用マイクロコンピュータ560においてステップS17〜S19hの処理を繰り返し実行する部分)と、所定時間毎に発生するタイマ割込の設定を行うタイマ割込設定手段(例えば、遊技制御用マイクロコンピュータ560においてステップS16の処理を実行する部分)と、タイマ割込が発生したときに、メイン処理の実行を中断してタイマ割込処理を実行するタイマ割込処理実行手段(例えば、遊技制御用マイクロコンピュータ560においてステップS20〜S27の処理を実行する部分)と、タイマ割込処理の実行中に、入賞検出信号の入力に応じて、払い出すべき景品遊技媒体の数を特定可能な払出数データ(例えば、カウント値)を払出数記憶手段(例えば、賞球コマンド出力カウンタ)に記憶させる払出数登録手段(例えば、遊技制御用マイクロコンピュータ560においてステップS2124の処理を実行する部分)と、メイン処理の実行中に、払出数記憶手段に記憶された払出数データにもとづいて、払い出すべき景品遊技媒体の数を特定可能な払出数コマンド(例えば、図53に示す賞球個数コマンド「03」,「0A」,「0F」)を、払出制御手段に送信する払出数送信手段(例えば、遊技制御用マイクロコンピュータ560においてステップS1254の処理を実行する部分)と、払い出すべき景品遊技媒体であって払出手段による払い出しが完了していない景品遊技媒体の総数を示す総未払出数(例えば、総賞球数)を記憶する総未払出数記憶手段(例えば、総賞球数格納バッファ)と、メイン処理の実行中に、総未払出数記憶手段から総未払出数を読み出す読出手段(例えば、遊技制御用マイクロコンピュータ560においてステップS1282の処理を実行する部分)と、払出数送信手段によって送信された払出数コマンドに示される景品遊技媒体の数を、読出手段が読み出した総未払出数に加算する払出数加算手段(例えば、遊技制御用マイクロコンピュータ560においてステップS1283の処理を実行する部分)と、払出数加算手段により加算された総未払出数を、総未払出数記憶手段に書き込む払出数書込手段(例えば、遊技制御用マイクロコンピュータ560においてステップS1284の処理を実行する部分)と、読出手段が総未払出数を読み出す前にタイマ割込処理の実行を禁止する割込禁止手段(例えば、遊技制御用マイクロコンピュータ560においてステップS1281の処理を実行する部分)と、払出数書込手段によって総未払出数が総未払出数記憶手段に書き込まれると、タイマ割込処理の実行を許可する割込許可手段(例えば、遊技制御用マイクロコンピュータ560においてステップS1285の処理を実行する部分)とを含み、タイマ割込処理の実行中に、払出検出信号にもとづいて、払出手段によって払い出された景品遊技媒体の数を、総未払出数記憶手段が記憶する総未払出数から減算する総未払出数減算手段(例えば、遊技制御用マイクロコンピュータ560においてステップS2131の処理を実行する部分)と、払出数加算手段によって払出数コマンドに示される景品遊技媒体の数が総未払出数に加算されると、払出数コマンドに示される景品遊技媒体の数が加算された総未払出数が所定の範囲内であるか否かを判定する払出数判定手段(例えば、遊技制御用マイクロコンピュータ560においてステップS1305の処理を実行する部分)とを含むことを特徴とする。
In the gaming machine according to the present invention, a player can play a predetermined game using a game medium (for example, a game ball), and a winning area in the gaming area (for example, a variable winning
遊技制御手段は、払出数判定手段によって所定の範囲内でないと判定されると、払出手段による景品遊技媒体の払い出しに異常が発生したことを示す異常発生コマンド(例えば、図53に示す賞球過多異常コマンド「E1」,賞球過少異常コマンド「E2」)を、払出制御手段に送信する対払出異常発生コマンド送信手段(例えば、遊技制御用マイクロコンピュータ560においてステップS1306で賞球過多異常コマンド「E1」を払出制御基板37に送信する部分、遊技制御用マイクロコンピュータ560においてステップS1305bで賞球過少異常コマンド「E2」を払出制御基板37に送信する部分)を含み、払出制御手段は、遊技制御手段から受信した異常発生コマンドにもとづいて、払出手段による景品遊技媒体の払い出しに異常が発生したことを報知する払出側異常報知手段(例えば、払出制御用マイクロコンピュータ370において、ステップS829で賞球過多異常エラービットをセットしたことにもとづいて、ステップS759でエラー表示用LED374に「9」を表示させる部分、払出制御用マイクロコンピュータ370において、ステップS832で賞球過少異常エラービットをセットしたことにもとづいて、ステップS759でエラー表示用LED374に「A」を表示させる部分)を含むように構成されていてもよい。
When the game control means determines that the payout number determination means does not fall within the predetermined range, the game control means indicates an abnormality occurrence command (for example, excessive prize balls shown in FIG. 53) indicating that an abnormality has occurred in the payout means. An abnormal command “E1” and an award ball underabnormality command “E2”) are transmitted to the payout control unit, for example, in a payout abnormality occurrence command transmitting means (for example, in the
遊技機は、演出用の電気部品(例えば、スピーカ27や各ランプ25,28a,28b,28c、可変表示装置9)を制御して遊技演出を実行する演出制御手段(例えば、音/ランプ制御用マイクロコンピュータ100b、図柄制御用マイクロコンピュータ100a)を備え、遊技制御手段は、払出数判定手段によって所定の範囲内でないと判定されると、払出手段による景品遊技媒体の払い出しに異常が発生したことを示す異常発生コマンドを、演出制御手段に送信する対演出異常発生コマンド送信手段(例えば、遊技制御用マイクロコンピュータ560においてステップS1306で賞球過多異常コマンドを音/ランプ制御基板80bに送信する部分、遊技制御用マイクロコンピュータ560においてステップS1305bで賞球過少異常コマンドを音/ランプ制御基板80bに送信する部分)を含み、演出制御手段は、遊技制御手段から受信した異常発生コマンドにもとづいて、払出手段による景品遊技媒体の払い出しに異常が発生したことを報知する演出側異常報知手段(例えば、音/ランプ制御用マイクロコンピュータ100bにおいてステップS790でスピーカ27や各ランプ25,28a,28b,28cを用いて報知する部分、図柄制御用マイクロコンピュータ100aにおいて可変表示装置9を用いて報知する部分)を含むように構成されていてもよい。
The gaming machine controls production electrical parts (for example, the
払出数判定手段は、払出数加算手段によって払出数コマンドに示される景品遊技媒体の数が加算された総未払出数にもとづいて、払い出すべき景品遊技媒体の数よりも多い遊技媒体が払い出される異常である払出過多異常が発生したか否かを判定する払出過多異常判定手段(例えば、遊技制御用マイクロコンピュータ560において、ステップS1305で総賞球数が−499よりも小さいと判断したことにもとづいて賞球過多異常が発生したと判定する部分)と、払出数加算手段によって払出数コマンドに示される景品遊技媒体の数が加算された総未払出数にもとづいて、総未払出数が所定の払出過少判定値を超えた状態の異常である払出過少異常が発生したか否かを判定する払出過少異常判定手段(例えば、遊技制御用マイクロコンピュータ560において、ステップS1305aで総賞球数が2000よりも大きいと判断したことにもとづいて賞球過少が発生したと判定する部分)とを含み、対払出異常発生コマンド送信手段は、払出過多異常判定手段によって払出過多異常が発生したと判定されると、払出過多異常が発生したことを示す払出過多異常コマンド(例えば、図53に示す賞球過多異常コマンド「E1」)を、払出制御手段に送信する対払出過多異常コマンド送信手段(例えば、遊技制御用マイクロコンピュータ560においてステップS1306で賞球過多異常コマンド「E1」を払出制御基板37に送信する部分)と、払出過少異常判定手段によって払出過少異常が発生したと判定されると、払出過少異常が発生したことを示す払出過少異常コマンド(例えば、図53に示す賞球過少異常コマンド「E2」)を、払出制御手段に送信する対払出過少異常コマンド送信手段(例えば、遊技制御用マイクロコンピュータ560においてステップS1305bで賞球過少異常コマンド「E2」を払出制御基板37に送信する部分)とを含み、払出側異常報知手段は、遊技制御手段から受信した払出過多異常コマンドにもとづいて、払出過多異常が発生したことを報知する払出側過多報知手段(例えば、払出制御用マイクロコンピュータ370において、ステップS829で賞球過多異常エラービットをセットしたことにもとづいて、ステップS759でエラー表示用LED374に「9」を表示させる部分)と、遊技制御手段から受信した払出過少異常コマンドにもとづいて、払出過少異常が発生したことを報知する払出側過少報知手段(例えば、払出制御用マイクロコンピュータ370において、ステップS832で賞球過少異常エラービットをセットしたことにもとづいて、ステップS759でエラー表示用LED374に「A」を表示させる部分)とを含むように構成されていてもよい。
The number-of-payout determination means pays out more game media than the number of prize game media to be paid out based on the total number of payout game media added by the number of prize game media indicated by the number-of-payout command by the number-of-payout addition means. Excessive payout abnormality determining means for determining whether or not an abnormal excessive payout abnormality has occurred (for example, based on determining that the total number of winning balls is smaller than −499 in step S1305 in the gaming control microcomputer 560). And the number of premium game media indicated by the number-of-payout command added by the number-of-payout command is added to the predetermined number. A payout underabnormality judging means (for example, a game controlling microcomputer) for judging whether or not an underpayment abnormality that is an abnormality in a state exceeding the payout underdetermination value has occurred. The
払出数判定手段は、払出数加算手段によって払出数コマンドに示される景品遊技媒体の数が加算された総未払出数にもとづいて、払い出すべき景品遊技媒体の数よりも多い遊技媒体が払い出される異常である払出過多異常が発生したか否かを判定する払出過多異常判定手段(例えば、遊技制御用マイクロコンピュータ560において、ステップS1305で総賞球数が−499よりも小さいと判断したことにもとづいて賞球過多異常が発生したと判定する部分)と、払出数加算手段によって払出数コマンドに示される景品遊技媒体の数が加算された総未払出数にもとづいて、総未払出数が所定の払出過少判定値を超えた状態の異常である払出過少異常が発生したか否かを判定する払出過少異常判定手段(例えば、遊技制御用マイクロコンピュータ560において、ステップS1305aで総賞球数が2000よりも大きいと判断したことにもとづいて賞球過少が発生したと判定する部分)とを含み、対演出異常発生コマンド送信手段は、払出過多異常判定手段によって払出過多異常が発生したと判定されると、払出過多異常が発生したことを示す払出過多異常コマンドを、演出制御手段に送信する対演出過多異常コマンド送信手段(例えば、遊技制御用マイクロコンピュータ560においてステップS1306で賞球過多異常コマンドを音/ランプ制御基板80bに送信する部分)と、払出過少異常判定手段によって払出過少異常が発生したと判定されると、払出過少異常が発生したことを示す払出過少異常コマンドを、演出制御手段に送信する対演出過少異常コマンド送信手段(例えば、遊技制御用マイクロコンピュータ560においてステップS1305bで賞球過少異常コマンドを音/ランプ制御基板80bに送信する部分)とを含み、演出側異常報知手段は、遊技制御手段から受信した払出過多異常コマンドにもとづいて、払出過多異常が発生したことを報知する演出側過多報知手段(例えば、音/ランプ制御用マイクロコンピュータ100bにおいてステップS790でスピーカ27や各ランプ25,28a,28b,28cを用いて報知する部分、図柄制御用マイクロコンピュータ100aにおいて可変表示装置9を用いて図99(A)の画面を表示する部分)と、遊技制御手段から受信した払出過少異常コマンドにもとづいて、払出過少異常が発生したことを報知する演出側過少報知手段(例えば、音/ランプ制御用マイクロコンピュータ100bにおいてステップS790でスピーカ27や各ランプ25,28a,28b,28cを用いて報知する部分、図柄制御用マイクロコンピュータ100aにおいて可変表示装置9を用いて図99(B)の画面を表示する部分)とを含むように構成されていてもよい。
The number-of-payout determination means pays out more game media than the number of prize game media to be paid out based on the total number of payout game media added by the number of prize game media indicated by the number-of-payout command by the number-of-payout addition means. Excessive payout abnormality determining means for determining whether or not an abnormal excessive payout abnormality has occurred (for example, based on determining that the total number of winning balls is smaller than −499 in step S1305 in the gaming control microcomputer 560). And the number of premium game media indicated by the number-of-payout command added by the number-of-payout command is added to the predetermined number. A payout underabnormality judging means (for example, a game controlling microcomputer) for judging whether or not an underpayment abnormality that is an abnormality in a state exceeding the payout underdetermination value has occurred. The
遊技制御手段は、払出数判定手段によって払出手段による景品遊技媒体の払い出しに異常が発生したと判定されると、払出数送信手段による払出数コマンドの送信を禁止する払出数送信禁止手段(例えば、遊技制御用マイクロコンピュータ560において、ステップS1241,S1261,S1271,S1291で賞球過多異常エラーフラグまたは賞球過少異常エラーフラグがセットされていることにもとづいて処理を終了する部分)を含むように構成されていてもよい。
When it is determined by the payout number determination means that an abnormality has occurred in the payout of the prize game medium by the payout number determination means, the game control means prohibits transmission of a payout number command by the payout number transmission means (for example, The
払出制御手段は、払出検出手段から払出検出信号を入力する払出検出信号入力手段(例えば、払出制御用マイクロコンピュータ370において入力ポート1(図5に示すI/Oポート372f)から払出個数カウントスイッチ301の検出信号を入力する部分)と、払出検出信号入力手段によって入力された払出検出信号を遊技制御手段に出力する払出検出信号出力手段(例えば、払出制御用マイクロコンピュータ370において、ステップS603aで出力ポート0(図5に示すI/Oポート372a)から払出個数カウントスイッチ301の検出信号を出力する部分)と、払出検出信号の入力に応じて、払出手段によって払い出された景品遊技媒体の数を示す信号を外部出力する外部出力手段(例えば、払出制御用マイクロコンピュータ370においてターミナル基板160から賞球情報を出力する部分)とを含み、総未払出数減算手段は、払出制御手段から入力した払出検出信号の入力に応じて、払出手段によって払い出された景品遊技媒体の数を、総未払出数記憶手段が記憶する総未払出数から減算する(例えば、遊技制御用マイクロコンピュータ560において、払出制御用マイクロコンピュータ370を経由して入力した払出個数カウントスイッチ301の検出信号にもとづいて、ステップS2131の処理を実行する)ように構成されていてもよい。
The payout control means is a payout detection signal input means that inputs a payout detection signal from the payout detection means (for example, the
請求項1記載の発明では、払出手段によって景品遊技媒体の払い出しが行われると、タイマ割込処理において、払い出された景品遊技媒体の数を総未払出数から減算する。また、メイン処理において、払出数コマンドに示される景品遊技媒体の数を総未払出数に加算する際に、総未払出数記憶手段から総未払出数を読み出すと、再び総未払出数を総未払出数記憶手段に書き込むまでタイマ割込処理の実行を禁止する。そのため、総未払出数記憶手段から総未払出数を読み出してから再び書き込むまでの間に、払い出された景品遊技媒体の数を総未払出数から減算する処理を実行しないようにすることができ、払い出された景品遊技媒体の数を遊技制御手段が把握できなくなる事態を防止できる。従って、遊技制御手段が管理する賞球数と払出制御手段が管理する賞球数との間のズレの発生を防止することができる。
In the invention of
請求項2記載の発明では、遊技制御手段によって景品遊技媒体の払い出しに異常が発生したことを示す異常発生コマンドが払出制御手段に送信され、払出制御手段が、受信した異常発生コマンドにもとづいて報知するように構成されているので、景品遊技媒体の払い出しのエラー状態を報知することができる。
In the invention according to
請求項3記載の発明では、遊技制御手段によって景品遊技媒体の払い出しに異常が発生したことを示す異常発生コマンドが演出制御手段に送信され、演出制御手段が、受信した異常発生コマンドにもとづいて報知するように構成されているので、景品遊技媒体の払い出しのエラー状態を報知することができる。 According to the third aspect of the present invention, an abnormality occurrence command indicating that an abnormality has occurred in payout of prize game media is transmitted to the effect control means by the game control means, and the effect control means notifies based on the received abnormality occurrence command. Therefore, it is possible to notify the error state of the payout of the prize game medium.
請求項4記載の発明では、景品遊技媒体の払い出しの異常が払出過多異常であるか、または払出過少異常であるかを区別して判定し、払出過多異常であることと払出過少異常であることとを区別して報知するように構成されているので、払出制御手段は、払い出すべき景品遊技媒体の数よりも多い遊技媒体を払い出してしまった状態であるか、または払い出すべき景品遊技媒体の数よりも少ない遊技媒体を払い出してしまった状態であるかを区別して、景品遊技媒体の払い出しのエラー状態を報知することができる。
In the invention according to
請求項5記載の発明では、景品遊技媒体の払い出しの異常が払出過多異常であるか、または払出過少異常であるかを区別して判定し、払出過多異常であることと払出過少異常であることとを区別して報知するように構成されているので、演出制御手段は、払い出すべき景品遊技媒体の数よりも多い遊技媒体を払い出してしまった状態であるか、または払い出すべき景品遊技媒体の数よりも少ない遊技媒体を払い出してしまった状態であるかを区別して、景品遊技媒体の払い出しのエラー状態を報知することができる。
In the invention according to
請求項6記載の発明では、景品遊技媒体の払い出しに異常が発生したことが検出されると、払出数コマンドの送信を禁止するように構成されているので、不正に景品遊技媒体が払い出されてしまうことを防止できる。特に、払い出すべき景品遊技媒体の数よりも多い遊技媒体を払い出してしまう払出過多状態を確実に防止できるので、景品遊技媒体を多く払い出されてしまう不正を防止することができる。
In the invention described in
請求項7記載の発明では、払出検出手段からの払出検出信号を払出制御手段に入力し、さらに払出制御手段に入力された払出検出信号を遊技制御手段に入力するように構成されているので、払出検出信号を出力するための配線を、払出検出手段から遊技制御手段および払出制御手段の両方に設ける必要がなくなる。そのため、払出検出手段から払出検出信号を出力するための配線を削減することができる。
In the invention of
実施の形態1.
以下、本発明の一実施形態を図面を参照して説明する。
まず、遊技機の一例であるパチンコ遊技機の全体の構成について説明する。図1はパチンコ遊技機を正面からみた正面図、図2は遊技盤の前面を示す正面図である。なお、以下の実施の形態では、パチンコ遊技機を例に説明を行うが、本発明による遊技機はパチンコ遊技機に限られず、スロット機などの他の遊技機に適用することもできる。
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
First, the overall configuration of a pachinko gaming machine that is an example of a gaming machine will be described. FIG. 1 is a front view of a pachinko gaming machine as viewed from the front, and FIG. 2 is a front view showing the front of the game board. In the following embodiments, a pachinko gaming machine will be described as an example. However, the gaming machine according to the present invention is not limited to a pachinko gaming machine, and can be applied to other gaming machines such as a slot machine.
パチンコ遊技機1は、縦長の方形状に形成された外枠(図示せず)と、外枠の内側に開閉可能に取り付けられた遊技枠とで構成される。また、パチンコ遊技機1は、遊技枠に開閉可能に設けられている額縁状に形成されたガラス扉枠2を有する。遊技枠は、外枠に対して開閉自在に設置される前面枠(図示せず)と、機構部品等が取り付けられる機構板と、それらに取り付けられる種々の部品(後述する遊技盤を除く。)とを含む構造体である。
The
図1に示すように、パチンコ遊技機1は、額縁状に形成されたガラス扉枠2を有する。ガラス扉枠2の下部表面には打球供給皿(上皿)3がある。打球供給皿3の下部には、打球供給皿3に収容しきれない遊技球を貯留する余剰球受皿4と遊技球を発射する打球操作ハンドル(操作ノブ)5が設けられている。ガラス扉枠2の背面には、遊技盤6が着脱可能に取り付けられている。なお、遊技盤6は、それを構成する板状体と、その板状体に取り付けられた種々の部品とを含む構造体である。また、遊技盤6の前面には遊技領域7が形成されている。
As shown in FIG. 1, the
遊技領域7の中央付近には、それぞれが演出用の飾り図柄を可変表示する複数の可変表示部を含む可変表示装置(飾り図柄表示装置)9が設けられている。可変表示装置9には、例えば「左」、「中」、「右」の3つの可変表示部(図柄表示エリア)がある。可変表示装置9は、特別図柄表示器8による特別図柄の可変表示期間中に、装飾用(演出用)の図柄としての飾り図柄の可変表示を行う。飾り図柄の可変表示を行う可変表示装置9は、図柄制御基板に搭載されている図柄制御用マイクロコンピュータによって制御される。
Near the center of the
可変表示装置9の下部には、始動入賞口14に入った有効入賞球数すなわち保留記憶(始動記憶または始動入賞記憶ともいう。)数を表示する4つの特別図柄保留記憶表示器18が設けられている。特別図柄保留記憶表示器18は、保留記憶数を入賞順に4個まで表示する。特別図柄保留記憶表示器18は、始動入賞口14に始動入賞があるごとに、点灯状態のLEDの数を1増やす。そして、特別図柄保留記憶表示器18は、特別図柄表示器8で可変表示が開始されるごとに、点灯状態のLEDの数を1減らす(すなわち1つのLEDを消灯する)。具体的には、特別図柄保留記憶表示器18は、特別図柄表示器8で可変表示が開始されるごとに、点灯状態をシフトする。なお、この例では、始動入賞口14への入賞による始動記憶数に上限数(4個まで)が設けられているが、上限数を4個以上にしてもよい。
At the bottom of the
可変表示装置9の上部には、識別情報としての特別図柄を可変表示する特別図柄表示器(特別図柄表示装置)8が設けられている。この実施の形態では、特別図柄表示器8は、例えば0〜9の数字を可変表示可能な簡易で小型の表示器(例えば7セグメントLED)で実現されている。特別図柄表示器8は、遊技者に特定の停止図柄を把握しづらくさせるために、0〜99など、より多種類の数字を可変表示するように構成されていてもよい。また、可変表示装置9は、特別図柄表示器8による特別図柄の可変表示期間中に、装飾用(演出用)の図柄としての飾り図柄の可変表示を行う。
A special symbol display (special symbol display device) 8 that variably displays a special symbol as identification information is provided on the
可変表示装置9の下方には、始動入賞口14を形成する可変入賞球装置15が設けられている。始動入賞口14に入った入賞球は、遊技盤6の背面に導かれ、始動口スイッチ14aによって検出される。可変入賞球装置15は、ソレノイド16によって開状態にされる。
Below the
可変入賞球装置15の下部には、特定遊技状態(大当り状態)においてソレノイド21によって開状態に制御される開閉板を用いた特別可変入賞球装置20が設けられている。特別可変入賞球装置20は大入賞口を開閉する手段である。特別可変入賞球装置20に入賞し遊技盤6の背面に導かれた入賞球のうち一方(V入賞領域:特別領域)に入った入賞球はV入賞スイッチ22で検出された後カウントスイッチ23で検出され、他方の領域に入った遊技球は、そのままカウントスイッチ23で検出される。遊技盤6の背面には、大入賞口内の経路を切り換えるためのソレノイド21Aも設けられている。
Below the variable winning
遊技球がゲート32を通過しゲートスイッチ32aで検出されると、普通図柄表示器10の表示の可変表示が開始される。この実施の形態では、左右のランプ(点灯時に図柄が視認可能になる)が交互に点灯することによって可変表示が行われ、例えば、可変表示の終了時に左側のランプが点灯すれば当たりになる。そして、普通図柄表示器10における停止図柄が所定の図柄(当り図柄)である場合に、可変入賞球装置15が所定回数、所定時間だけ開状態になる。普通図柄表示器10の近傍には、ゲート32を通過した入賞球数を表示する4つのLEDによる表示部を有する普通図柄始動記憶表示器41が設けられている。ゲート32への遊技球の通過があるごとに、普通図柄始動記憶表示器41は点灯するLEDを1増やす。そして、普通図柄表示器10の可変表示が開始されるごとに、点灯するLEDを1減らす。
When the game ball passes through the
遊技盤6には、複数の入賞口29,30,33,39が設けられ、遊技球の入賞口29,30,33,39への入賞は、それぞれ入賞口スイッチ29a,30a,33a,39aによって検出される。各入賞口29,30,33,39は、遊技媒体を受け入れて入賞を許容する領域として遊技盤6に設けられる入賞領域を構成している。なお、始動入賞口14や大入賞口も、遊技媒体を受け入れて入賞を許容する入賞領域を構成する。遊技領域7の左右周辺には、遊技中に点滅表示される装飾ランプ25が設けられ、下部には、入賞しなかった遊技球を吸収するアウト口26がある。また、遊技領域7の外側の左右上部には、効果音を発する2つのスピーカ27が設けられている。遊技領域7の外周には、天枠ランプ28a、左枠ランプ28bおよび右枠ランプ28cが設けられている。さらに、遊技領域7における各構造物(大入賞口等)の周囲には装飾LEDが設置されている。天枠ランプ28a、左枠ランプ28bおよび右枠ランプ28cおよび装飾用LEDは、遊技機に設けられている装飾発光体の一例である。
The
そして、この例では、左枠ランプ28bの近傍に、賞球払出中に点灯する賞球ランプ51が設けられ、天枠ランプ28aの近傍に、補給球が切れたときに点灯する球切れランプ52が設けられている。さらに、プリペイドカードが挿入されることによって球貸しを可能にするプリペイドカードユニット(以下、「カードユニット」という。)50が、パチンコ遊技機1に隣接して設置されている。
In this example, a
カードユニット50には、例えば、使用可能状態であるか否かを示す使用可表示ランプ、カードユニットがいずれの側のパチンコ遊技機1に対応しているのかを示す連結台方向表示器、カードユニット内にカードが投入されていることを示すカード投入表示ランプ、記録媒体としてのカードが挿入されるカード挿入口、およびカード挿入口の裏面に設けられているカードリーダライタの機構を点検する場合にカードユニットを解放するためのカードユニット錠が設けられている。
The
遊技者の操作により打球発射装置から発射された遊技球は、打球レールを通って遊技領域7に入り、その後、遊技領域7を下りてくる。遊技球が始動入賞口14に入り始動口スイッチ14aで検出されると、図柄の可変表示を開始できる状態であれば、特別図柄表示器8において特別図柄が可変表示(変動)を始める。図柄の可変表示を開始できる状態でなければ、保留記憶数を1増やす。
A game ball launched from the ball striking device by the player's operation enters the
特別図柄表示器8における特別図柄の可変表示は、一定時間が経過したときに停止する。停止時の特別図柄(停止図柄)が大当り図柄(特定表示結果)であると、大当り遊技状態に移行する。すなわち、特別可変入賞球装置20が、一定時間経過するまで、または、所定個数(例えば10個)の遊技球が入賞するまで開放する。そして、特別可変入賞球装置20の開放中に遊技球がV入賞領域に入賞しV入賞スイッチ22で検出されると、継続権が発生し特別可変入賞球装置20の開放が再度行われる。継続権の発生は、所定回数(例えば15ラウンド)許容される。また、V入賞領域を設けずに、特別可変入賞球装置20の開放を常に決定されたラウンド数の最後のラウンドまで(例えば、15ラウンドまで)許容するようにしてもよい。
The variable display of the special symbol on the
停止時の特別図柄表示器8における特別図柄が確率変動を伴う大当り図柄(確変図柄)である場合には、次に大当りになる確率が高くなる。すなわち、確変状態という遊技者にとってさらに有利な状態になる。
When the special symbol on the
遊技球がゲート32を通過すると、普通図柄表示器10において普通図柄が可変表示される状態になる。また、普通図柄表示器10における停止図柄が所定の図柄(当り図柄)である場合に、可変入賞球装置15が所定時間だけ開状態になる。
When the game ball passes through the
次に、パチンコ遊技機1の裏面の構造について図3を参照して説明する。図3は、遊技機を裏面から見た背面図である。
Next, the structure of the back surface of the
図3に示すように、遊技機裏面側では、可変表示装置9を制御する図柄制御用マイクロコンピュータが搭載された図柄制御基板80aを含む可変表示制御ユニット49、遊技制御用マイクロコンピュータ等が搭載された遊技制御基板(主基板)31が設置されている。また、球払出制御を行う払出制御用マイクロコンピュータ等が搭載された払出制御基板37が設置されている。なお、可変表示制御ユニットは、図柄制御基板80aとともに、各種装飾LED、装飾ランプ25、枠側に設けられている天枠ランプ28a、左枠ランプ28bおよび右枠ランプ28cを点灯制御し、スピーカ27からの音発生を制御する音/ランプ制御用マイクロコンピュータが搭載された音/ランプ制御基板を含む。
As shown in FIG. 3, on the back side of the gaming machine, a variable
さらに、DC30V、DC21V、DC12VおよびDC5Vを作成する電源回路が搭載された電源基板910やタッチセンサ基板91が設けられている。電源基板910は、大部分が主基板31と重なっているが、主基板31に重なることなく外部から視認可能に露出した露出部分がある。この露出部分には、遊技機1における主基板31および各制御基板(音/ランプ制御基板、図柄制御基板80aおよび払出制御基板37)や遊技機に設けられている各電気部品(電力が供給されることによって動作する部品)への電力供給を実行あるいは遮断するための電力供給許可手段としての電源スイッチが設けられている。さらに、露出部分における電源スイッチの内側(基板内部側)には、交換可能なヒューズが設けられている。
Further, a
なお、各制御基板には、制御用マイクロコンピュータを含む制御手段が搭載されている。制御手段は、遊技制御手段等からのコマンドとしての指令信号(制御信号)に従って遊技機に設けられている電気部品(遊技用装置:球払出装置97、可変表示装置9、ランプやLEDなどの発光体、スピーカ27等)を制御する。以下、主基板31を制御基板に含めて説明を行うことがある。その場合には、制御基板に搭載される制御手段は、遊技制御手段と、遊技制御手段等からの指令信号に従って遊技機に設けられている電気部品を制御する手段とのそれぞれを指す。また、主基板31以外のマイクロコンピュータが搭載された基板をサブ基板ということがある。
Each control board is equipped with control means including a control microcomputer. The control means is an electrical component (game device:
遊技機裏面において、上方には、各種情報を遊技機外部に出力するための各端子を備えたターミナル基板160が設置されている。ターミナル基板160には、少なくとも、球切れ検出スイッチ167の出力を導入して外部出力するための球切れ用端子、賞球情報(賞球個数信号)を外部出力するための賞球用端子および球貸し情報(球貸し個数信号)を外部出力するための球貸し用端子が設けられている。また、中央付近には、主基板31からの各種情報を遊技機外部に出力するための各端子を備えた情報端子基板(情報出力基板)36が設置されている。
On the back side of the gaming machine, a
貯留タンク38に貯留された遊技球は誘導レール39を通り、カーブ樋を経て払出ケース40Aで覆われた球払出装置に至る。球払出装置の上部には、遊技媒体切れ検出手段としての球切れスイッチ187が設けられている。球切れスイッチ187が球切れを検出すると、球払出装置の払出動作が停止する。球切れスイッチ187は遊技球通路内の遊技球の有無を検出するスイッチであるが、貯留タンク38内の補給球の不足を検出する球切れ検出スイッチ167も誘導レール39における上流部分(貯留タンク38に近接する部分)に設けられている。球切れ検出スイッチ167が遊技球の不足を検知すると、遊技機設置島に設けられている補給機構から遊技機に対して遊技球の補給が行われる。
The game balls stored in the
入賞にもとづく景品としての遊技球や球貸し要求にもとづく遊技球が多数払い出されて打球供給皿3が満杯になると、遊技球は、余剰球通路を経て余剰球受皿4に導かれる。さらに遊技球が払い出されると、感知レバー(図示せず)が貯留状態検出手段としての満タンスイッチ(図示せず)を押圧して、貯留状態検出手段としての満タンスイッチがオンする。その状態では、球払出装置内の払出モータの回転が停止して球払出装置の動作が停止するとともに打球発射装置の駆動も停止する。
When a large number of game balls as prizes based on winning a prize and game balls based on a ball lending request are paid out and the hitting
図4は、主基板(遊技制御基板)31における回路構成の一例を示すブロック図である。なお、図4には、払出制御基板37、音/ランプ制御基板80bおよび図柄制御基板80a等も示されている。主基板31には、プログラムに従ってパチンコ遊技機1を制御する遊技制御用マイクロコンピュータ(遊技制御手段に相当)560が搭載されている。遊技制御用マイクロコンピュータ560は、ゲーム制御(遊技進行制御)用のプログラム等を記憶するROM54、ワークメモリとして使用される記憶手段としてのRAM55、プログラムに従って制御動作を行うCPU56およびI/Oポート部57を含む。この実施の形態では、ROM54およびRAM55は遊技制御用マイクロコンピュータ560に内蔵されている。すなわち、遊技制御用マイクロコンピュータ560は、1チップマイクロコンピュータである。1チップマイクロコンピュータには、少なくともRAM55が内蔵されていればよく、ROM54は外付けであっても内蔵されていてもよい。また、I/Oポート部57は、外付けであってもよい。
FIG. 4 is a block diagram showing an example of the circuit configuration of the main board (game control board) 31. FIG. 4 also shows a
なお、遊技制御用マイクロコンピュータ560においてCPU56がROM54に格納されているプログラムに従って制御を実行するので、以下、遊技制御用マイクロコンピュータ560(またはCPU56)が実行する(または、処理を行う)ということは、具体的には、CPU56がプログラムに従って制御を実行することである。このことは、主基板31以外の他の基板に搭載されているマイクロコンピュータについても同様である。
In the
また、ゲートスイッチ32a、始動口スイッチ14a、カウントスイッチ23、V入賞スイッチ22および各入賞口スイッチ29a,30a,33a,39aからの検出信号を基本回路53に与える入力ドライバ回路58も主基板31に搭載され、可変入賞球装置15を開閉するソレノイド16、特別可変入賞球装置を開閉するソレノイド21、および大入賞口内の経路を切り換えるためのソレノイド21Aを基本回路53からの指令に従って駆動する出力回路59も主基板31に搭載され、電源投入時に遊技制御用マイクロコンピュータ560をリセットするためのシステムリセット回路(図示せず)や、大当り遊技状態の発生を示す大当り情報等の情報出力信号をホールコンピュータ等の外部装置に対して出力する情報出力回路(図示せず)も主基板31に搭載されている。
Further, an
この実施の形態では、音/ランプ制御基板80bに搭載されている音/ランプ制御手段(音/ランプ制御用マイクロコンピュータで構成される。)が、中継基板77を介して遊技制御用マイクロコンピュータ560からの演出制御コマンドを受信し、図柄制御用基板80aに転送する。そして、図柄制御基板80aに搭載されている図柄制御手段(図柄制御用マイクロコンピュータで構成される。)が、音/ランプ制御手段から演出制御コマンドを受信し、飾り図柄を可変表示する可変表示装置9の表示制御を行う。
In this embodiment, the sound / lamp control means (configured by a sound / lamp control microcomputer) mounted on the sound /
図5は、払出制御基板37および球払出装置97などの払出に関連する構成要素を示すブロック図である。図5に示すように、払出制御基板37には、払出制御用CPU371を含む払出制御用マイクロコンピュータ370が搭載されている。この実施の形態では、払出制御用マイクロコンピュータ370は、1チップマイクロコンピュータであり、少なくともRAMが内蔵されている。払出制御用マイクロコンピュータ370、RAM(図示せず)、払出制御用プログラムを格納したROM(図示せず)およびI/Oポート等は、払出制御手段を構成する。すなわち、払出制御手段は、払出制御用CPU371、RAMおよびROMを有する払出制御用マイクロコンピュータ370と、I/Oポートとで実現される。また、I/Oポートは、払出制御用マイクロコンピュータ370に内蔵されていてもよい。払出制御用マイクロコンピュータ370におけるRAMの少なくとも一部は、電源基板910に搭載されているバックアップ電源によって電源バックアップされている。この実施の形態では、全てのRAM領域が電源バックアップされているとする。よって、遊技機に対して電力供給がなされていないときにも、所定期間(バックアップ電源としてのコンデンサが放電してバックアップ電源が電力供給不能になるまで)は、RAMの記憶内容は保存される。
FIG. 5 is a block diagram showing components related to payout, such as the
球切れスイッチ187、満タンスイッチ48および払出個数カウントスイッチ301からの検出信号は、中継基板72を介して払出制御基板37のI/Oポート372fに入力される。なお、この実施の形態では、払出個数カウントスイッチ301からの検出信号は、払出制御用マイクロコンピュータ370に入力されたあと、I/Oポート372aおよび出力回路373Bを介して主基板31に出力される。
Detection signals from the ball break
また、払出モータ位置センサ295からの検出信号は、中継基板72を介して払出制御基板37のI/Oポート372eに入力される。払出モータ位置センサ295は、払出モータ289の回転位置を検出するための発光素子(LED)と受光素子とによるセンサであり、遊技球が詰まったこと、すなわちいわゆる球噛みを検出するために用いられる。払出制御基板37に搭載されている払出制御用マイクロコンピュータ370は、球切れスイッチ187からの検出信号が球切れ状態を示していたり、満タンスイッチ48からの検出信号が満タン状態を示していると、球払出処理を停止する。
A detection signal from the payout
さらに、満タンスイッチ48からの検出信号が満タン状態を示していると、払出制御用マイクロコンピュータ370は、打球発射装置からの球発射を停止させるために、発射基板90に対してローレベルの満タン信号を出力する。発射基板90のAND回路91が出力する発射モータ94への発射モータ信号は、発射基板90から発射モータ94に伝えられる。払出制御用マイクロコンピュータ370からの満タン信号は、発射基板90に搭載されたAND回路91の入力側の一方に入力され、駆動信号生成回路92からの駆動信号は、AND回路91の入力側の他方に入力される。そして、AND回路91の発射モータ信号が発射モータ94に入力される。すなわち、払出制御用マイクロコンピュータ370が満タン信号を出力している間は、発射モータ94への発射モータ信号の出力が停止される。
Further, when the detection signal from the full tank switch 48 indicates a full state, the
入賞口への遊技球の入賞があると、遊技制御用マイクロコンピュータ560のシリアル通信回路505(図7,54参照)から、払出指令信号として、払い出すべき賞球個数を示す賞球個数コマンドが出力(送信)される。賞球個数コマンドは、8ビットのデータ(2進8桁のデータ)によって構成され、非同期シリアル通信によって出力される。
When a game ball is won at the winning opening, a prize ball number command indicating the number of prize balls to be paid out is issued as a payout command signal from the serial communication circuit 505 (see FIGS. 7 and 54) of the
賞球個数コマンドは、シリアル通信回路380(図54参照)に入力される。払出制御用マイクロコンピュータ370は、シリアル通信回路380を介して賞球個数コマンドを入力すると、賞球個数コマンドが示す個数の遊技球を払い出すために球払出装置97を駆動する制御を行う。なお、主基板31の出力回路67からは、主基板31が接続されていることを示す接続確認信号も出力される。また、賞球個数コマンドは、払出数を指定する払出指令信号に相当する。
The award ball number command is input to the serial communication circuit 380 (see FIG. 54). When a prize ball number command is input via the serial communication circuit 380, the
また、電源基板910から、電源電圧が所定値以下の低下したことを示す電源断信号、およびRAMの内容をクリアするためのクリアスイッチが操作されたことを示すクリア信号とが、入力ポート372gに入力される。電源断信号とクリア信号とは、出力回路373Bを介して主基板31に出力される。そして、主基板31において、入力回路68およびI/Oポート57を介して遊技制御用マイクロコンピュータ560に入力される。
Also, a power-off signal indicating that the power supply voltage has dropped below a predetermined value and a clear signal indicating that a clear switch for clearing the contents of the RAM has been operated are supplied to the input port 372g from the
払出制御用マイクロコンピュータ370は、出力ポート372bを介して、賞球払出数を示す賞球情報信号および貸し球数を示す球貸し個数信号をターミナル基板(枠用外部端子基板と盤用外部端子基板とを含む)160に出力する。なお、出力ポート372bの外側に、ドライバ回路が設置されているが、図5では記載省略されている。
The
また、払出制御用マイクロコンピュータ370は、出力ポート372cを介して、7セグメントLEDによるエラー表示用LED374にエラー信号を出力する。さらに、出力ポート372bを介して、点灯/消灯を指示するための信号を賞球LED51および球切れLED52に出力する。なお、払出制御基板37の入力ポート372fには、エラー状態を解除するためのエラー解除スイッチ375からの検出信号が入力される。エラー解除スイッチ375は、ソフトウェアリセットによってエラー状態を解除するために用いられる。
Also, the
さらに、払出制御用マイクロコンピュータ370からの払出モータ289への駆動信号は、出力ポート372aおよび中継基板72を介して球払出装置97の払出機構部分における払出モータ289に伝えられる。なお、出力ポート372aの外側に、ドライバ回路(モータ駆動回路)が設置されているが、図6では記載省略されている。
Further, a drive signal from the
遊技機に隣接して設置されているカードユニット50には、カードユニット制御用マイクロコンピュータが搭載されている。また、カードユニット50には、使用可表示ランプ、連結台方向表示器、カード投入表示ランプおよびカード挿入口が設けられている。インタフェース基板(中継基板)66には、打球供給皿3の近傍に設けられている度数表示LED60、球貸し可LED61、球貸しスイッチ62および返却スイッチ63が接続される。
A card unit control microcomputer is mounted on the
インタフェース基板66からカードユニット50には、遊技者の操作に応じて、球貸しスイッチ62が操作されたことを示す球貸しスイッチ信号および返却スイッチ63が操作されたことを示す返却スイッチ信号が与えられる。また、カードユニット50からインタフェース基板66には、プリペイドカードの残高を示すカード残高表示信号および球貸し可表示信号が与えられる。カードユニット50と払出制御基板37の間では、接続信号(VL信号)、ユニット操作信号(BRDY信号)、球貸し要求信号(BRQ信号)、球貸し完了信号(EXS信号)およびパチンコ機動作信号(PRDY信号)が入力ポート372fおよび出力ポート372dを介して送受信される。カードユニット50と払出制御基板37の間には、インタフェース基板66が介在している。よって、接続信号(VL信号)等の信号は、図5に示すように、インタフェース基板66を介してカードユニット50と払出制御基板37の間で送受信されることになる。
A card lending switch signal indicating that the ball lending switch 62 has been operated and a return switch signal indicating that the return switch 63 has been operated are provided to the
パチンコ遊技機1の電源が投入されると、払出制御基板37に搭載されている払出制御用マイクロコンピュータ370は、カードユニット50にPRDY信号を出力する。また、カードユニット制御用マイクロコンピュータは、電源が投入されると、VL信号を出力する。払出制御用マイクロコンピュータ370は、VL信号の入力状態によってカードユニット50の接続状態/未接続状態を判定する。カードユニット50においてカードが受け付けられ、球貸しスイッチが操作され球貸しスイッチ信号が入力されると、カードユニット制御用マイクロコンピュータは、払出制御基板37にBRDY信号を出力する。この時点から所定の遅延時間が経過すると、カードユニット制御用マイクロコンピュータは、払出制御基板37にBRQ信号を出力する。
When the power of the
そして、払出制御用マイクロコンピュータ370は、カードユニット50に対するEXS信号を立ち上げ、カードユニット50からのBRQ信号の立ち下がりを検出すると、払出モータ289を駆動し、所定個の貸し球を遊技者に払い出す。そして、払出が完了したら、払出制御用マイクロコンピュータ370は、カードユニット50に対するEXS信号を立ち下げる。その後、カードユニット50からのBRDY信号がオン状態でないことを条件に、遊技制御手段から払出指令信号を受けると賞球払出制御を実行する。
Then, the
カードユニット50で用いられる電源電圧AC24Vは払出制御基板37から供給される。すなわち、カードユニット50に対する電源基板910からの電力供給は、払出制御基板37およびインタフェース基板66を介して行われる。この例では、インタフェース基板66内に配されているカードユニット50に対するAC24Vの電源供給ラインに、カードユニット50を保護するためのヒューズが設けられ、カードユニット50に所定電圧以上の電圧が供給されることが防止される。
The power supply voltage AC24V used in the
また、この実施の形態では、カードユニット50が遊技機とは別体として遊技機に隣接して設置されている場合を例にするが、カードユニット50は遊技機と一体化されていてもよい。また、コイン投入に応じてその金額に応じた遊技球が貸し出されるような場合でも本発明を適用できる。
In this embodiment, the case where the
図6は、中継基板77、音/ランプ制御基板80bおよび図柄制御基板80aの回路構成例を示すブロック図である。この実施の形態では、音/ランプ制御基板80bは、音出力装置27の音出力制御、各ランプ25,28a,28b,28cの表示制御を行う。また、図柄制御基板80aは、可変表示装置9の表示制御を行う。また、この実施の形態では、「演出制御」とは、可変表示装置9の表示制御や、スピーカ27の音出力制御、各ランプ25,28a,28b,28cの表示制御を行うことによって、遊技演出などの演出を行うことをいう。また、演出制御手段は、可変表示装置9の表示制御を行う図柄制御用マイクロコンピュータ100aと、スピーカ27の音出力制御、および各ランプ25,28a,28b,28cの表示制御を行う音/ランプ制御用マイクロコンピュータ100bとによって実現される。なお、この実施の形態では、音/ランプ制御用マイクロコンピュータ100bと図柄制御用マイクロコンピュータ100aの両方またはいずれか一方を指して、演出制御手段ということがある。また、音/ランプ制御基板80bおよび図柄制御基板80aを設けずに、演出制御に関して演出制御基板のみを設けてもよい。
FIG. 6 is a block diagram showing a circuit configuration example of the
音/ランプ制御基板80bは、音/ランプ制御用CPU101bおよびRAMを含む音/ランプ制御用マイクロコンピュータ100bを搭載している。なお、RAMは外付けであってもよい。音/ランプ制御基板80bにおいて、音/ランプ制御用CPU101bは、内蔵または外付けのROM(図示せず)に格納されたプログラムに従って動作し、中継基板77を介して入力される主基板31からの取込信号(演出制御INT信号)に応じて、入力ドライバ102および入力ポート103を介して演出制御コマンドを受信する。
The sound /
演出制御コマンドおよび演出制御INT信号は、音/ランプ制御基板80bにおいて、まず、入力ドライバ102に入力する。入力ドライバ102は、中継基板77から入力された信号を音/ランプ制御基板80bの内部に向かう方向にしか通過させない(音/ランプ制御基板80bの内部から中継基板77への方向には信号を通過させない)信号方向規制手段としての単方向性回路でもある。
The effect control command and the effect control INT signal are first input to the
中継基板77には、主基板31から入力された信号を音/ランプ制御基板80bに向かう方向にしか通過させない(音/ランプ制御基板80bから中継基板77への方向には信号を通過させない)信号方向規制手段としての単方向性回路74が搭載されている。単方向性回路として、例えばダイオードやトランジスタが使用される。図6には、ダイオードが例示されている。また、単方向性回路は、各信号毎に設けられる。さらに、単方向性回路である出力ポート571を介して主基板31から演出制御コマンドおよび演出制御INT信号が出力されるので、中継基板77から主基板31の内部に向かう信号が規制される。すなわち、中継基板77からの信号は主基板31の内部(遊技制御用マイクロコンピュータ560側)に入り込まない。なお、出力ポート571は、図4に示されたI/Oポート部57の一部である。また、出力ポート571の外側(中継基板77側)に、さらに、単方向性回路である信号ドライバ回路が設けられていてもよい。
A signal that allows the signal input from the
さらに、音/ランプ制御用CPU101bは、ランプドライバ352に対してランプを駆動する信号を出力する。ランプドライバ352は、ランプを駆動する信号を増幅して天枠ランプ28a、左枠ランプ28b、右枠ランプ28cなどの枠側に設けられている各ランプに供給する。また、枠側に設けられている装飾ランプ25に供給する。
Further, the sound /
また、音/ランプ制御用CPU101bは、音声合成用IC173に対して音番号データを出力する。音声合成用IC173は、音番号データに応じた音声や効果音を発生し増幅回路175に出力する。増幅回路175は、音声合成用IC173の出力レベルを、ボリューム176で設定されている音量に応じたレベルに増幅した音声信号をスピーカ27に出力する。音声データROM174には、音番号データに応じた制御データが格納されている。音番号データに応じた制御データは、所定期間(例えば飾り図柄の変動期間)における効果音または音声の出力態様を時系列的に示すデータの集まりである。
Further, the sound /
なお、ランプを駆動する信号および音番号データは、音/ランプ制御用CPU101bとランプドライバ352および音声合成IC173との間で、双方向通信(信号受信側から送信側に応答信号を送信するような通信)によって伝達される。
The signal for driving the lamp and the sound number data are communicated between the sound /
また、音/ランプ制御用マイクロコンピュータ100bは、演出制御コマンド(例えば、変動パターンコマンド)にもとづいて、可変表示装置9を用いて行う演出内容を決定する。例えば、音/ランプ制御用マイクロコンピュータ100bは、可変表示装置9を用いて予告演出を行うか否かを決定する。また、例えば、音/ランプ制御用マイクロコンピュータ100bは、可変表示装置9を用いて行う予告演出の種類を決定する。
In addition, the sound /
なお、「予告演出」とは、大当りとなるまたはその可能性があることを事前(可変表示装置9において飾り図柄の停止図柄が導出表示される前に)に遊技者に報知するための演出をいう。例えば、変動中に異なった態様(速度や回転方向等)の変動を行ったりキャラクタ等を登場させたりすることにより大当りになる可能性があることを遊技者に報知する。 The “notice effect” is an effect for informing the player in advance (before the decorative symbol stop symbol is derived and displayed on the variable display device 9) that it is a big hit or is likely to be a big hit. Say. For example, the player is informed that there is a possibility of a big hit by changing a different mode (speed, direction of rotation, etc.) or making a character appear during the change.
また、音/ランプ制御用マイクロコンピュータ100bは、主基板31からの演出制御コマンド(例えば、表示結果指定コマンド)を、入出力ポート104を介して図柄制御基板80aに転送(送信)する。また、音/ランプ制御用マイクロコンピュータ100bは、決定した演出内容(予告演出を行うか否かや、予告演出の種類)を示す演出内容指定コマンドを生成する。また、音/ランプ制御用マイクロコンピュータ100bは、生成した演出内容指定コマンドを、入出力ポート104を介して図柄制御基板80aに送信する。
In addition, the sound /
なお、音/ランプ制御用マイクロコンピュータ100bは、決定した演出内容(予告演出を行うか否かや、予告演出の種類)を、演出制御コマンド(変動パターンコマンドや表示結果指定コマンド)に付加してもよい。そして、音/ランプ制御用マイクロコンピュータ100bは、演出内容を付加した演出制御コマンドを、入出力ポート104を介して図柄制御基板80aに送信してもよい。
Note that the sound /
図柄制御基板80aは、図柄制御用CPU101aおよびRAMを含む図柄制御用マイクロコンピュータ100aを搭載している。なお、RAMは外付けであってもよい。図柄制御基板80aにおいて、図柄制御用CPU101aは、内蔵または外付けのROM(図示せず)に格納されたプログラムに従って動作する。また、図柄制御用CPU101aは、音/ランプ制御用基板80bから受信した演出制御コマンドにもとづいて、VDP(ビデオディスプレイプロセッサ)109に、LCDを用いた可変表示装置9の表示制御を行わせる。
The
図柄制御用CPU101aは、受信した演出制御コマンドに従ってキャラクタROM(図示せず)から必要なデータを読み出す。キャラクタROMは、可変表示装置9に表示される画像の中でも使用頻度の高いキャラクタ画像データ、具体的には、人物、文字、図形または記号等(飾り図柄を含む)をあらかじめ格納しておくためのものである。図柄制御用CPU101aは、キャラクタROMから読み出したデータをVDP109に出力する。VDP109は、図柄制御用CPU101aから入力されたデータにもとづいて表示制御を実行する。
The symbol control CPU 101a reads necessary data from a character ROM (not shown) in accordance with the received effect control command. The character ROM stores character image data frequently used among images displayed on the
この実施の形態では、可変表示装置9の表示制御を行うVDP109が図柄制御基板80aに搭載されている。VDP109は、図柄制御用マイクロコンピュータ100aとは独立したアドレス空間を有し、そこにVRAMをマッピングする。VRAMは、VDPによって生成された画像データを展開するためのバッファメモリである。そして、VDP109は、VRAM内の画像データを可変表示装置9に出力する。なお、可変表示装置の数に対応した数のVDPを図柄制御基板80aに搭載するようにしてもよい。
In this embodiment, the
図7は、主基板31における回路構成および主基板31から音/ランプ制御基板80bに送信される演出制御コマンドの信号線を示すブロック図である。図7に示すように、この実施の形態では、主基板31が搭載する遊技制御用マイクロコンピュータ560は、演出制御信号送信用の8本の信号線CD0〜CD7を用いて、演出制御コマンドを音/ランプ制御基板80bに送信する。また、主基板31と音/ランプ制御基板80bとの間には、ストローブ信号を送受するための演出制御INT信号の信号線も配線されている。
FIG. 7 is a block diagram showing a circuit configuration of the
主基板31には、図7に示すように、始動口スイッチ14aからの配線が接続されている。また、主基板31には、大入賞口である特別可変入賞球装置20や、その他の入賞口への遊技球の入賞等を検出するための各種スイッチ29a,30a,33a,39aからの配線も接続されている。さらに、主基板31には、可変入賞球装置15を開閉するソレノイド16、特別可変入賞球装置20を開閉するソレノイド21および大入賞口内の経路を切り換えるためのソレノイド21Aへの配線が接続されている。
As shown in FIG. 7, wiring from the
主基板31は、遊技制御用マイクロコンピュータ560、入力ドライバ回路58および出力回路59を搭載する。遊技制御用マイクロコンピュータ560は、クロック回路501、システムリセット手段として機能するリセットコントローラ502、乱数回路503a,503b、ゲーム制御用のプログラム等を記憶するROM54、ワークメモリとして使用されるRAM55、プログラムに従って動作するCPU56、CPU56に割込要求信号(タイマ割込による割込要求信号)を送出するCTC504、払出制御基板37や音/ランプ制御基板80bが備えるマイクロコンピュータと非同期シリアル通信を行うシリアル通信回路505およびI/Oポート部57を内蔵する。
The
なお、この実施の形態では、シリアル通信回路505を内蔵するマイクロコンピュータを搭載した基板(例えば、主基板31)とは異なる基板(例えば、払出制御基板37や音/ランプ制御基板80b)のマイクロコンピュータとの通信にシリアル通信回路505を用いる場合を説明するが、シリアル通信回路505は、シリアル通信回路505を内蔵するマイクロコンピュータを搭載した基板が備える別のマイクロコンピュータとシリアル通信を行ってもよい。例えば、同じ構成の2つのマイクロコンピュータが同じ基板に搭載されている場合に、各マイクロコンピュータが内蔵するシリアル通信回路が相互にシリアル通信を行ってもよい。
In this embodiment, the microcomputer on a board (for example, the
クロック回路501は、システムクロック信号を27(=128)分周して生成した所定の周期の基準クロック信号CLKを、各乱数回路503a,503bに出力する。リセットコントローラ502は、ローレベルの信号が一定期間入力されたとき、CPU56および各乱数回路503a,503bに所定の初期化信号を出力して、遊技制御用マイクロコンピュータ560をシステムリセットする。
The
また、この実施の形態では、図7に示すように、遊技制御用マイクロコンピュータ560は、発生可能な乱数の値の範囲が異なる2つの乱数回路503a,503bを搭載する。乱数回路503aは、12ビットの疑似乱数を発生する乱数回路(以下、12ビット乱数回路ともいう)である。12ビット乱数回路503aは、12ビットで発生できる範囲(すなわち、0から4095までの範囲)の値の乱数を発生する機能を備える。また、乱数回路503bは、16ビットの疑似乱数を発生する乱数回路(以下、16ビット乱数回路ともいう)である。16ビット乱数回路503bは、16ビットで発生できる範囲(すなわち、0から65535までの範囲)の値の乱数を発生する機能を備える。なお、この実施の形態では、遊技制御用マイクロコンピュータ560が2つの乱数回路を内蔵する場合を説明するが、遊技制御用マイクロコンピュータ560は、3以上の乱数回路を内蔵してもよい。また、この実施の形態では、12ビット乱数回路503aおよび16ビット乱数回路503bを包括的に表現する場合、または、12ビット乱数回路503aと16ビット乱数回路503bとのうちいずれかを指す場合に、乱数回路503という。
Further, in this embodiment, as shown in FIG. 7, the
次に、乱数回路503の構成について説明する。図8は、乱数回路503の構成例を示すブロック図である。なお、この実施の形態において、12ビット乱数回路503aと16ビット乱数回路503bとの基本的な構成は同じである。図8に示すように、乱数回路503は、カウンタ521、比較器522、カウント値順列変更回路523、クロック信号出力回路524、カウント値更新信号出力回路525、乱数値読取信号出力回路526、乱数更新方式選択信号出力回路527、セレクタ528、乱数回路起動信号出力回路530、乱数値記憶回路531、反転回路532、ラッチ信号生成回路533およびタイマ回路534とを含む。
Next, the configuration of the
この実施の形態では、乱数回路503は、複数種類の識別情報の可変表示の表示結果を特定の表示結果とするか否か(例えば、特別図柄表示装置8の表示図柄の組み合わせを大当り図柄の組み合わせとするか否か)を判定するための大当り判定用の乱数を発生する。そして、遊技制御用マイクロコンピュータ560のCPU56は、乱数回路503が発生した乱数にもとづいて特定の表示結果とすると判定すると、遊技状態を遊技者にとって有利な特定遊技状態(例えば、大当り遊技状態)に移行させる。
In this embodiment, the
カウンタ521は、セレクタ528によって選択された所定の信号を入力し、セレクタ528から入力する信号に応答してカウント値Cを出力する。この場合、カウンタ521は、所定の初期値を入力し、カウント値Cを一定の規則に従って初期値から所定の最終値まで循環的に更新して出力する。また、カウンタ521は、カウント値Cを最終値まで更新すると、カウント値Cを最終値まで更新した旨を示す通知信号をCPU56に出力する。この実施の形態では、カウンタ521から通知信号が出力されると、CPU56によって初期値が更新される。
The counter 521 receives the predetermined signal selected by the
この実施の形態において、カウンタ521は、セレクタ528から信号を入力するごとに(セレクタ528からの信号における立ち上がりエッヂが入力されるごとに)、カウント値Cを「0」から「4095」まで1ずつカウントアップする。また、カウンタ521は、カウント値Cを「4095」までカウントアップすると、カウント値Cを最終値まで更新した旨を示す通知信号をCPU56に出力する。すると、CPU56は、カウンタ521から通知信号を入力し、初期値を更新する。そして、カウンタ521は、CPU56によって更新された初期値から「4095」まで、再びカウント値Cをカウントアップする。また、「4095」までカウントアップすると、カウンタ521は、再び「0」からカウントを開始する。そして、カウンタ521は、更新後の初期値の1つ前の値(最終値)までカウントアップすると、通知信号をCPU56に出力する。なお、この実施の形態では、比較器522は、後述するように、全てのカウント値を入力すると通知信号をカウンタ521に出力する。この場合、カウンタ521は、比較器522から通知信号を入力すると、カウント値をリセットして「0」にする。
In this embodiment, every time a signal is input from the selector 528 (every time a rising edge in the signal from the
なお、比較器522は、入力したカウント値が乱数最大値設定レジスタ535に設定されている乱数最大値より大きいか否かを判断し、カウント値が乱数最大値より大きい(乱数最大値を超えた)と判断すると、通知信号をカウンタ521に出力してもよい。この場合、例えば、比較器522は、カウント値が乱数最大値を超えたと判断すると、クロック信号出力回路524が次に乱数発生用クロック信号SI1を出力する前に、通知信号をカウンタ521に出力する。例えば、乱数最大値設定レジスタ535に乱数最大値「256」が設定されている場合を考える。この場合、カウンタ521が「0」から「256」までカウントアップし、さらにカウント値「257」を出力すると、比較器522は、入力したカウント値「257」が乱数最大値「256」を超えたと判断し、カウンタ521に通知信号を出力する。比較器522から通知信号を入力すると、カウンタ521は、クロック信号出力回路524からの乱数発生用クロック信号SI1の入力を待つことなく、カウント値を「258」に更新し出力する。以上の処理を繰り返し実行することによって、比較器522は、カウント値「257」から「4095」まで入力している間、カウント値が乱数最大値を超えていると判断して、繰り返しカウンタ521に通知信号を出力する。そして、カウンタ521は、比較器522から通知信号を入力している間、クロック信号出力回路524からの乱数発生用クロック信号SI1の入力を待つことなく、カウント値を繰り返し更新し出力する。そのようにすることによって、クロック信号出力回路524が次に乱数発生用クロック信号SI1を出力するまでの間に、「257」から「4095」までカウント値を高速にカウントアップさせるように制御し、「257」から「4095」までの乱数値を読み飛ばす(乱数値記憶回路531に記憶させない)ように制御する。
The comparator 522 determines whether the input count value is larger than the random number maximum value set in the random number maximum
カウント値順列変更回路523は、カウント値順列変更レジスタ(RSC)536、更新規則選択レジスタ(RRC)542および更新規則メモリ543を含む。カウント値順列変更レジスタ536は、カウンタ521がカウントアップするカウント値Cの更新順である順列(初期値から最終値までの並び順)を変更させるためのカウント値順列変更データ「01h」を格納する。カウント値順列変更回路523は、カウント値順列変更レジスタ536に数値順列変更データ「01h」が格納されているとき、カウンタ521がカウントアップして更新するカウント値Cの順列を、カウント値順列変更データ「01h」が格納されていないときとは異なる順列に変更する。この場合、カウント値順列変更回路523は、数値順列変更データ「01h」が格納されているとき、カウント値の順列の変更に用いる更新規則を切り換える。また、カウント値の順列の変更に用いる更新規則を切り換えた後に、カウンタ521がカウント値の更新を開始すると、カウント値順列変更レジスタ536のカウント値順列変更データは、CPU56によって、「01h」から初期値である「0(=00h)」に戻される(クリアされる)。
The count value
なお、CPU56によってカウント値順列変更データをクリアするのでなく、乱数回路503側でカウント値順列変更データをクリアするようにしてもよい。例えば、カウント値順列変更レジスタ536にカウント値順列変更データ「01h」が書き込まれたことにもとづいて、更新規則選択レジスタ(RRC)542にレジスタ値が設定されると、カウント値順列変更回路523は、カウント値順列変更レジスタ536のレジスタ値をクリアするようにしてもよい。
Instead of clearing the count value permutation data by the
図9は、更新規則選択レジスタ542の例を示す説明図である。更新規則選択レジスタ542は、カウンタ521が出力するカウント値の並び順の並べ替え(順列の変更)に用いる更新規則を設定するレジスタである。この実施の形態では、更新規則選択レジスタ542にレジスタ値が設定されることによって、カウンタ521が出力するカウント値の順列の変更に用いる更新規則が設定される。図9に示すように、更新規則選択レジスタ542は、8ビットレジスタであり、初期値が「0(=00h)」に設定されている。また、更新規則選択レジスタ542は、ビット0〜ビット3が書込および読出ともに可能な状態に構成されている。また、更新規則選択レジスタ542は、ビット4〜ビット7が書込および読出ともに不可能な状態に構成されている。したがって、更新規則選択レジスタ542のビット4〜ビット7に値を書き込む制御を行っても無効とされ、ビット4〜ビット7から読み出す値は全て「0(=0000b)」である。
FIG. 9 is an explanatory diagram illustrating an example of the update
更新規則選択レジスタ542の値(レジスタ値)は、カウント値順列変更レジスタ536にカウント値順列変更データ「01h」が書き込まれたことに応じて、レジスタ値が「0(=00h)」から「15(=0Fh)」まで循環的に更新される。すなわち、カウント値順列変更レジスタ536にカウント値順列データ「01h」が書き込まれるごとに、更新規則選択レジスタ542のレジスタ値は、「0」から「1」ずつ加算され、「15」になると再び「0」に戻る。
The value (register value) of the update
図10は、更新規則メモリ543の例を示す説明図である。図10に示すように、更新規則メモリ543は、更新規則選択レジスタ542の値(レジスタ値)と、カウント値の更新規則とを対応付けて格納している。図10に示す例では、例えば、更新規則選択レジスタ542にレジスタ値1が設定されている場合、更新規則Bを用いて、カウンタ521が出力するカウント値の順列が変更されることが分かる。なお、図10において、更新規則Aは、カウンタ521がカウント値Cを更新する規則と同一の更新規則であり、レジスタ値「0」に対応づけて更新規則メモリ543に格納される。また、更新規則メモリ543には、カウンタ521がカウント値Cを更新する更新規則とは異なる更新規則B〜Pが、レジスタ値「1」〜「15」に対応づけて格納される。
FIG. 10 is an explanatory diagram showing an example of the
カウント値順列変更回路523は、カウント値順列変更レジスタ536にカウント値順列変更データ「01h」が書き込まれている場合、まず、カウンタ521からカウント値の最終値「4095」が最初に入力されるまで、現在設定されている更新規則に従って、そのままカウント値を出力する。そして、カウント値順列変更回路523は、カウンタ521からカウント値の最終値「4095」を入力すると、カウント値の更新規則を変更する。なお、CPU56によって初期値が変更されている場合には、カウント値順列変更回路523は、カウンタ521から変更後の最終値(初期値の1つ前の値)まで入力すると、カウント値の更新規則を変更することになる。
When the count value permutation change data “01h” is written in the count value permutation change register 536, the count value
カウント値順列変更回路523は、更新規則選択レジスタ542のレジスタ値に対応する更新規則を更新規則メモリ543から選択し、カウント値の順列の変更に用いる更新規則として設定する。また、カウント値順列変更回路523は、カウンタ521によって再び初期値「0」から順にカウント値の更新が開始されると、設定した更新規則に従って、カウント値の初期値から最終値までの順列を変更する。なお、CPU56によって初期値が変更されている場合には、カウント値順列変更回路523は、カウンタ521によって変更後の初期値から順にカウント値の更新が開始されると、設定した更新規則に従って、カウント値の初期値から最終値までの順列を変更することになる。そして、カウント値順列変更回路523は、変更した順列に従ってカウント値を出力する。
The count value
なお、この実施の形態では、後述する乱数最大値設定レジスタ535に乱数最大値が設定されていることによって、発生させる乱数の最大値が制限されている場合、カウント値順列変更回路523は、カウント値Cを乱数最大値以下に制限して順列を変更して出力する。例えば、乱数最大値設定レジスタ535に乱数最大値「256」が設定されているものとし、カウント値順列変更回路523が、更新規則Aから更新規則Bに変更して、カウント値の順列を変更するものとする。この場合、カウント値順列変更回路523は、比較器522の乱数最大値設定レジスタ535に設定されている乱数最大値「256」にもとづいて、更新規則Bに従って、カウント値の順列を「256→255→・・・→0」に変更して出力する。
In this embodiment, when the maximum random number to be generated is limited by setting the random number maximum value in a random number maximum
以上のように、カウント値順列変更回路523は、カウント値順列変更レジスタ536にカウント値順列変更データ「01h」が書き込まれている場合、更新規則を切り替えて用いることによって、カウント値Cの順列を変更して出力する。そのため、乱数回路503が生成する乱数のランダム性を向上させることができる。
As described above, when the count value permutation change data “01h” is written in the count value permutation change register 536, the count value
図11は、カウント値順列変更回路523が、カウンタ521が出力するカウント値の順列を変更する場合の例を示す説明図である。図11に示すように、CPU56は、所定のタイミングで、カウント値順列変更データ「01h」をカウント値順列変更レジスタ536に書き込む。すると、更新規則選択レジスタ542のレジスタ値が1加算される。例えば、更新規則選択レジスタ542のレジスタ値が「0」から「1」に更新される。レジスタ値が更新されると、カウント値順列変更回路523は、カウンタ521から最初にカウント値の最終値「4095」が入力されるまで、更新前のレジスタ値「0」に対応する「更新規則A」に従ってカウント値を更新して出力する。このとき、カウント値順列変更回路523は、更新規則Aに従って、「0→1→・・・→4095」の順列でカウント値を出力する。
FIG. 11 is an explanatory diagram illustrating an example in which the count value
カウンタ521からカウント値の最終値「4095」が入力されると、カウント値順列変更回路523は、更新規則メモリ543から、更新後のレジスタ値「1」に対応する「更新規則B」を選択して設定する。カウント値順列変更回路523は、カウンタ521から再び初期値「0」以降のカウント値の入力を開始すると、選択設定した「更新規則B」に従って、カウント値の順列を変更して出力する。本例では、カウント値順列変更回路523は、順列を「0→1→・・・→4095」から「4095→4094→・・・→0」に変更して、カウント値を出力する。
When the final value “4095” of the count value is input from the counter 521, the count value
その後、カウント値順列変更レジスタ536は、後述するように、カウント値順列変更回路523が切り替え後の更新規則に従ってカウント値の更新動作を開始したことに応じてリセットされる。そして、次にカウント値順列変更データ「01h」がカウント値順列変更レジスタ536に書き込まれるまで、カウント値順列変更回路523は、「4095→4094→・・・→0」のままの順列で、カウント値を出力し続ける。
Thereafter, the count value permutation change register 536 is reset in response to the count value
CPU56によってカウント値順列変更データ「01h」がカウント値順列変更レジスタ536に再度書き込まれると、カウント値順列変更レジスタ536のレジスタ値が「1」から「2」に更新される。そして、カウンタ521からカウント値の最終値「4095」を入力すると、カウント値順列変更回路523は、更新規則メモリ543から、レジスタ値「2」に対応する「更新規則C」を選択して設定する。カウント値順列変更回路523は、カウンタ521から再び初期値「0」以降のカウント値の入力を開始すると、選択設定した「更新規則C」に従って、カウント値の順列を更新して出力する。本例では、カウント値順列変更回路523は、順列を「4095→4094→・・・→0」から「1→3→…→4095→0→・・・→4094」に変更して、カウント値を出力する。
When the count value permutation change data “01h” is written again to the count value permutation change register 536 by the
以上のように、カウント値順列変更レジスタ536をリセットした後、カウント値順列データ「01h」をカウント値順列変更レジスタ536に再度書き込むことによって、カウント値の順列をさらに変更することができる。 As described above, after the count value permutation change register 536 is reset, the count value permutation data “01h” is written again in the count value permutation change register 536, so that the count value permutation can be further changed.
図12は、カウント値順列変更レジスタ536の例を示す説明図である。カウント値順列変更レジスタ536は、カウンタ521がカウントアップするカウント値の順列を変更させるためのカウント値順列変更データ「01h」を設定するレジスタである。図12に示すように、カウント値順列変更レジスタ536は、読出可能な8ビットレジスタであり、初期値が「0(=00h)」に設定されている。また、カウント値順列変更レジスタ536は、ビット0だけが書込および読出ともに可能な状態に構成されている。すなわち、カウント値順列変更レジスタ536は、ビット1〜ビット7が書込および読出ともに不可能な状態に構成されている。したがって、カウント値順列変更レジスタ536のビット1〜ビット7に値を書き込む制御を行っても無効とされ、ビット1〜ビット7から読み出す値は全て「0(=0000000b)」である。
FIG. 12 is an explanatory diagram illustrating an example of the count value permutation change register 536. The count value permutation change register 536 is a register that sets count value permutation change data “01h” for changing the permutation of count values counted up by the counter 521. As shown in FIG. 12, the count value permutation change register 536 is a readable 8-bit register, and the initial value is set to “0 (= 00h)”. Further, count value permutation change register 536 is configured such that only bit 0 can be written and read. That is, count value permutation change register 536 is configured such that
なお、カウント値順列変更レジスタ536の値は、カウント値順列変更回路523が切り替え後の更新規則に従ってカウント値の更新動作を開始したことに応じて、CPU56によってリセットされる。この場合、CPU56は、カウント値順列変更レジスタ536に書き込まれている値を、カウント値順列変更データ「01h」から初期値である「0(=00h)」に戻す。
Note that the value of the count value permutation change register 536 is reset by the
比較器522は、ランダムRの最大値(乱数最大値)を指定するための乱数最大値設定データを格納する乱数最大値設定レジスタ(RMX)535を備える。比較器522は、乱数最大値設定レジスタ535に格納されている乱数最大値設定データに示される乱数最大値に従って、カウンタ521が更新するカウント値の更新範囲を制限する。この実施の形態では、比較器522は、カウンタ521から入力するカウント値と乱数最大値設定レジスタ535に格納されている乱数最大値設定データ(例えば「00FFh」)に示される乱数最大値(例えば「256」)とを比較する。そして、比較器522は、入力したカウント値が乱数最大値以下であると判断すると、入力したカウント値を乱数値記憶回路531に出力する。
The comparator 522 includes a random number maximum value setting register (RMX) 535 that stores random number maximum value setting data for designating the maximum value of random R (random number maximum value). The comparator 522 limits the update range of the count value updated by the counter 521 in accordance with the random number maximum value indicated in the random number maximum value setting data stored in the random number maximum
この実施の形態では、比較器522は、具体的には、以下のような制御を行う。比較器522は、カウント値の初期値更新の際に、CPU56からカウント値の初期値をもらい、初期値から乱数最大値までのカウント値の個数を求める。例えば、カウント値の初期値が「157」であり乱数最大値が「256」である場合、比較器522は、初期値から乱数最大値までのカウント値の個数を「100個」と求める。また、比較器522は、カウント値順列変更回路523からカウント値を入力するに従って、初期値からカウント値をいくつ入力したかをカウントアップする。初期値からカウント値を入力した回数が「100回」に達すると、比較器522は、初期値「157」から最大値「256」までの全てのカウント値を入力したと判断する。そして、比較器522は、全てのカウント値を入力した旨の通知信号をカウンタ521に出力する。カウント値の個数で判断することによって、カウント値順列変更回路523によってカウント値の順列が変更されている場合であっても、比較器522は、カウント値の更新範囲を乱数最大値以下に制限し、全てのカウント値を入力した際にカウンタ521に通知信号を出力することができる。
In this embodiment, the comparator 522 specifically performs the following control. The comparator 522 obtains the initial value of the count value from the
カウント値の更新範囲を比較器522が制限する動作について説明する。なお、本例では、カウント値順列変更回路523が更新規則Aを選択し、乱数最大値設定レジスタ535に乱数最大値「256」が設定されている場合を説明する。
An operation in which the comparator 522 limits the update range of the count value will be described. In this example, a case where the count value
カウンタ521が「0」から「256」までカウント値を更新している間、カウント値順列変更回路523は、乱数最大値設定レジスタ535に設定されている乱数最大値「256」にもとづいて、更新規則Aに従って、「0」から「256」までのカウント値をそのまま比較器522に出力する。この場合、カウント値順列変更回路523は、比較器522から乱数最大値「256」の値をもらい、カウンタ521から入力するカウント値が乱数最大値より大きいか否かを判断し、更新規則が変更されているとき(例えば、更新規則B)であっても、乱数最大値設定レジスタ535に設定されている乱数最大値「256」にもとづいて、「257」から「4095」までのカウント値を比較器522に出力しない。カウンタ521は、例えば、初期値が「0」と設定されているときに、最終値「256」までカウント値を更新すると、通知信号をCPU56に出力する。通知信号を出力すると、CPU56によって、カウンタ521のカウント値の初期値が変更される。本例では、CPU56によって、初期値が「50」に変更されるものとする。
While the counter 521 is updating the count value from “0” to “256”, the count value
なお、カウント値が乱数最大値「256」より大きいか否かをカウント値順列変更回路523が判断するのでなく、比較器522が判定するようにしてもよい。この場合、例えば、比較器522は、カウント値が乱数最大値設定レジスタ535に設定されている乱数最大値より大きいか否かを判断し、カウント値が乱数最大値より大きいと判断すると、通知信号をカウンタ521に出力する。そして、比較器522は、カウント値が乱数最大値を超えたと判断すると、クロック信号出力回路524が次に乱数発生用クロック信号SI1を出力する前に、通知信号をカウンタ521に出力する。そのようにすることによって、比較器522は、クロック信号出力回路524が次に乱数発生用クロック信号SI1を出力するまでの間に、「257」から「4095」までカウント値を高速にカウントアップさせるようにカウンタ521を制御する。そのようにすることによって、カウント値順列変更回路523からの値が「257」未満のときだけカウント値を乱数値記憶回路531に出力するようにし、カウント値順列変更回路523からの値が「257」以上のときにはカウント値を高速で更新させるようにすることができる。
Note that the comparator 522 may determine whether the count value is greater than the maximum random number “256”, instead of the count value
更新規則Aにもとづいて、カウント値順列変更回路523から、「0」から「255」までカウント値を入力している間、比較器522は、入力するカウント値が乱数最大値「256」以下であるので、入力したカウント値をそのまま乱数値記憶回路531に出力する。次に、カウント値順列変更回路523から入力するカウント値が「256」に達すると、比較器522は、入力したカウント値を乱数値記憶回路531に出力するとともに、初期値から最大値までの全てのカウント値を入力した旨の通知信号をカウンタ521に出力する。具体的には、比較器522は、カウント値の初期値変更の際に、CPU56からカウント値の初期値(本例では、「0」)をもらい、初期値「0」から乱数最大値(本例では、「256」)までのカウント値の個数(本例では、「257個」)を求める。そして、カウント値順列変更回路523から入力したカウント値の個数が257個に達すると、全てのカウント値を入力した旨の通知信号をカウンタ521に出力する。なお、本例では、CPU56によって初期値が「50」に変更されるので、カウンタ521は、比較器522から通知信号を入力しても、カウント値をリセットするとなく、変更後の初期値「50」からカウント値の更新を行う。
Based on the update rule A, while the count value is input from “0” to “255” from the count value
カウンタ521が変更後の初期値「50」から「256」までカウント値を更新している間、カウント値順列変更回路523は、乱数最大値設定レジスタ535に設定されている乱数最大値「256」にもとづいて、更新規則Aに従って、「50」から「256」までのカウント値をそのまま比較器522に出力する。また、カウント値順列変更回路523は、乱数最大値設定レジスタ535に設定されている乱数最大値「256」にもとづいて、「257」から「4095」までのカウント値を比較器522に出力せず、カウンタ521の更新するカウント値が1周したとき(257回更新したとき)に、カウント値順列変更レジスタ536にカウント値順列変更データが書き込まれた場合には、カウント値順列変更回路523は、カウント値の順列を変更して出力する。例えば、更新規則が更新規則Bに変更された場合、カウント値順列変更回路523は、カウント値の順列を「256→255→・・・→50」に変更して出力する。
While the counter 521 updates the count value from the changed initial value “50” to “256”, the count value
カウント値順列変更回路523から、「256」から「50」までカウント値を入力している間、比較器522は、入力したカウント値をそのまま乱数値記憶回路531に出力する。次に、カウント値順列変更回路523から入力するカウント値が「50」に達すると、比較器522は、入力したカウント値を乱数値記憶回路531に出力するとともに、初期値から最大値までの全てのカウント値を入力した旨の通知信号をカウンタ521に出力する。具体的には、比較器522は、カウント値の初期値変更の際に、CPU56からカウント値の初期値(本例では、「50」)をもらい、初期値「50」から乱数最大値(本例では、「256」)までのカウント値の個数(本例では、「207個」)を求める。そして、カウント値順列変更回路523から入力したカウント値の個数が207個に達すると、全てのカウント値を入力した旨の通知信号をカウンタ521に出力する。
While the count values from “256” to “50” are input from the count value
なお、カウント値順列変更回路523がカウント値の順列を変更した場合であっても、比較器522は、カウント値の個数が207個に達すると、通知信号をカウンタ521に出力する。そのようにすることによって、カウント値の順列が変更された場合であっても、初期値「50」から最大値「256」までの全てのカウント値を入力したことにもとづいて、通知信号をカウンタ521に出力できる。
Even when the count value
比較器522から通知信号を入力すると、カウンタ521は、カウント値の初期値をリセットし「0」に戻す。そして、カウンタ521は、「0」からカウント値の更新を行う。カウンタ521の値が「0」から再び更新がされると、カウンタ521からのカウント値にもとづいて、カウント値順列変更回路523は「49」〜「0」までのカウント値を比較器522に出力し、比較器522はカウント値順列変更回路523からのカウント値の入力にもとづいて乱数値記憶回路531にカウント値を出力する。そして、カウンタ521は、最終値(本例では、「49」)までカウント値を更新すると、通知信号をCPU56に出力する。通知信号を出力すると、CPU56によって、カウンタ521のカウント値の初期値が再び変更される。
When the notification signal is input from the comparator 522, the counter 521 resets the initial value of the count value and returns it to “0”. Then, the counter 521 updates the count value from “0”. When the value of the counter 521 is updated again from “0”, the count value
以上のような動作を繰り返すことにより、比較器522は、カウンタ521に、「0」から乱数最大値「256」まで連続的にカウント値をカウントアップさせ、「0」から「256」までの値を乱数値記憶回路531にランダムR(乱数値)として記憶させる。すなわち、比較器522は、カウント値の更新範囲を乱数最大値「256」以下に制限して、カウンタ521にカウント値を更新させる。 By repeating the operation as described above, the comparator 522 causes the counter 521 to continuously count up the count value from “0” to the maximum random number “256”, and the value from “0” to “256”. Is stored in the random value storage circuit 531 as a random R (random number value). That is, the comparator 522 limits the update range of the count value to the random number maximum value “256” or less, and causes the counter 521 to update the count value.
図13は、乱数最大値設定レジスタ535の例を示す説明図である。図13(a)は、12ビット乱数回路503aが搭載する乱数最大値設定レジスタ535の例を示す。また、図13(b)は、16ビット乱数回路503bが搭載する乱数最大値設定レジスタ535の例を示す。まず、12ビット乱数回路503aが搭載する乱数最大値設定レジスタ535について説明する。図13(a)に示すように、12ビット乱数回路503aにおいて、乱数最大値設定レジスタ535は、16ビットレジスタであり、初期値が「4095(=0FFFh)」に設定されている。乱数最大値設定レジスタ535は、ビット0〜ビット11が書込および読出ともに可能な状態に構成されている。また、乱数最大値設定レジスタ535は、ビット12〜ビット15が書込および読出ともに不可能な状態に構成されている。したがって、12ビット乱数回路503aにおいて、乱数最大値設定レジスタ535のビット12〜ビット15に値を書き込む制御を行っても無効とされ、ビット12〜ビット15から読み出す値は全て「0(=0000b)」である。
FIG. 13 is an explanatory diagram illustrating an example of the random number maximum
また、乱数最大値設定レジスタ535に設定される乱数最大値は、所定の下限値が定められている。この実施の形態では、乱数最大値設定レジスタ535に下限値「256」より小さい値を指定する乱数最大値設定データ「0000h」〜「00FEh」が書き込まれた場合、CPU56は、乱数最大値設定レジスタ535に、初期値「4095」を指定する乱数最大値設定データ「0FFFh」を設定しなおす。すなわち、乱数最大値設定レジスタ535に設定可能な乱数最大値は「256」から「4095」までであり、CPU56は、下限値「256」より小さい値が設定されていると判断すると、乱数最大値を所定値「4095」に設定しなおす。なお、CPU56は、リセットコントローラ502によって遊技制御用マイクロコンピュータ560がシステムリセットされるまで、乱数最大値設定データが書き込まれた乱数最大値設定レジスタ535を書込不可能に制御する。なお、CPU56により書込不可能に制御するのでなく、乱数最大値設定レジスタ535は、データが書き込まれた後にリセット信号を入力するまで書込不可能となるように形成されていてもよい。
The random number maximum value set in the random number maximum
次に、16ビット乱数回路503bが搭載する乱数最大値設定レジスタ535について説明する。図13(b)に示すように、16ビット乱数回路503bにおいて、乱数最大値設定レジスタ535は、16ビットレジスタであり、初期値が「65535(=FFFFh)」に設定されている。また、16ビット乱数回路503bにおいて、乱数最大値設定レジスタ535は、ビット0〜ビット15の全てのビットが書込および読出ともに可能な状態に構成されている。
Next, the random number maximum
また、乱数最大値設定レジスタ535に下限値「512」より小さい値を指定する乱数最大値設定データ「0000h」〜「00FEh」が書き込まれた場合、CPU56は、乱数最大値設定レジスタ535に、初期値「65535」を指定する乱数最大値設定データ「FFFFh」を設定しなおす。すなわち、乱数最大値設定レジスタ535に設定可能な乱数最大値は「512」から「65535」までであり、CPU56は、下限値「512」より小さい値が設定されていると判断すると、乱数最大値を所定値「65535」に設定しなおす。なお、CPU56は、リセットコントローラ502によって遊技制御用マイクロコンピュータ560がシステムリセットされるまで、乱数最大値設定データが書き込まれた乱数最大値設定レジスタ535を書込不可能に制御する。この場合、CPU56により書込不可能に制御するのでなく、乱数最大値設定レジスタ535は、データが書き込まれた後にリセット信号を入力するまで書込不可能となるように形成されていてもよい。
When random number maximum value setting data “0000h” to “00FEh” for designating a value smaller than the lower limit value “512” is written in the random number maximum
クロック信号出力回路524は、セレクタ528および反転回路532に出力するクロック信号の周期(すなわち、カウント値の更新周期)を指定するための周期設定データを格納する周期設定レジスタ(RPS)537を備える。クロック信号出力回路524は、周期設定レジスタ537に格納されている周期設定データに基づいて、遊技制御用マイクロコンピュータ560が搭載するクロック回路501から入力する基準クロック信号CLKを分周して、乱数回路503内部で乱数値の生成に用いるクロック信号(乱数発生用クロック信号SI1)を生成する。そのようにすることによって、クロック信号出力回路524は、クロック信号を所定回数入力したことを条件に、カウント値Cを更新させるための乱数発生用クロック信号SI1をカウンタ521に出力するように動作する。なお、周期設定データとは、クロック回路501から入力した基準クロック信号CLKを何分周させるかを設定するためのデータである。また、クロック出力回路524は、生成した乱数発生用クロック信号SI1をセレクタ528および反転回路532に出力する。例えば、周期設定レジスタ537に周期設定データ「0Fh(=16)」が書き込まれている場合、クロック信号出力回路524は、クロック回路501から入力する基準クロック信号CLKを16分周して乱数発生用クロック信号SI1を生成する。この場合、クロック信号出力回路524が生成する乱数発生用クロック信号SI1の周期は、「システムクロック信号の周期×128×16」となる。
The clock
図14は、周期設定レジスタ537の例を示す説明図である。図14に示すように、周期設定レジスタ537は、8ビットレジスタであり、初期値が「256(=FFh)」に設定されている。また、周期設定レジスタ537は、書込および読出ともに可能な状態に構成されている。
FIG. 14 is an explanatory diagram illustrating an example of the
また、周期設定レジスタ537に設定される周期設定データの値は、所定の下限値が定められている。この実施の形態では、周期設定レジスタ537に下限値「システムクロック信号の周期×128×7」より小さい値を指定する周期設定データ「00h〜06h」が書き込まれた場合、CPU56は、周期設定レジスタ537に下限値「システムクロック信号の周期×128×7」を指定する周期設定データ「07h」を設定しなおす。すなわち、周期設定レジスタ537に設定可能な周期は「システムクロック信号の周期×128×7」から「システムクロック信号の周期×128×256」までであり、CPU56は、下限値より小さい値が設定されていると判断すると、周期設定データを設定しなおす。なお、CPU56は、リセットコントローラ502によって遊技制御用マイクロコンピュータ560がシステムリセットされるまで、周期設定データが書き込まれた周期設定レジスタ537を書込不可能に制御する。なお、CPU56により書込不可能に制御するのでなく、周期設定レジスタ537は、データが書き込まれた後にリセット信号を入力するまで書込不可能となるように形成されていてもよい。
In addition, a predetermined lower limit value is determined for the value of the cycle setting data set in the
なお、周期設定レジスタ537に下限値としての周期設定データを設定することなく、設定された周期設定データに基づいて、例えばクロック信号出力回路524が基準クロック信号CLKをそのままカウンタ521および反転回路532に出力するようにしてもよい。この場合、CPU56は、周期設定レジスタ537に設定される周期設定データの値を下限値と比較して設定しなおす処理を行う必要がなくなる。また、カウンタ521は、クロック信号出力回路524から基準クロック信号CLKを入力する毎にカウント値Cを更新することになる。
Note that, without setting the cycle setting data as the lower limit value in the
カウント値更新信号出力回路525は、カウント値更新データ「01h」を格納するカウント値更新レジスタ(RGN)538を備える。カウント値更新データとは、カウント値の更新を要求するためのデータである。カウント値更新信号出力回路525は、カウント値更新レジスタ538にカウント値更新データ「01h」が書き込まれたことに応じて、カウント値更新信号SI3をセレクタ528に出力する。
The count value update signal output circuit 525 includes a count value update register (RGN) 538 that stores count value update data “01h”. The count value update data is data for requesting update of the count value. The count value update signal output circuit 525 outputs the count value update signal SI3 to the
図15は、カウント値更新レジスタ538の例を示す説明図である。図15に示すように、カウント値更新レジスタ538は、読出不能な8ビットレジスタであり、ビット0のみが書込可能な状態に構成されている。したがって、カウント値更新レジスタ538のビット1〜ビット7に値を書き込む制御を行っても無効とされる。
FIG. 15 is an explanatory diagram illustrating an example of the count value update register 538. As shown in FIG. 15, the count value update register 538 is an unreadable 8-bit register, and is configured in a state where only bit 0 can be written. Therefore, even if control is performed to write a value to
乱数値読取信号出力回路526は、乱数値取込データ「01h」を格納する乱数値取込レジスタ(RLT)539を備える。乱数値取込データとは、乱数値記憶回路531へのカウント値の取込を要求するためのデータである。乱数値読取信号出力回路526は、乱数値取込レジスタ539に乱数値取込データ「01h」が書き込まれたことに応じて、乱数値の読み取りを要求するための乱数値読取信号をラッチ信号生成回路533に出力する。
The random value read signal output circuit 526 includes a random value take-in register (RLT) 539 for storing random value take-in data “01h”. The random value acquisition data is data for requesting acquisition of the count value to the random value storage circuit 531. The random value read signal output circuit 526 generates a latch signal for a random value read signal for requesting reading of the random value in response to the random value fetch data “01h” being written in the random value fetch
図16は、乱数値取込レジスタ539の例を示す説明図である。図16に示すように、乱数値取込レジスタ539は、読出不能な8ビットレジスタである。また、乱数値取込レジスタ539は、ビット0だけが書込可能な状態に構成されている。すなわち、乱数値取込レジスタ539のビット1〜ビット7に値を書き込む制御を行っても無効とされる。
FIG. 16 is an explanatory diagram showing an example of the random value fetch
乱数更新方式選択信号出力回路527は、乱数更新方式選択データを格納する乱数更新方式選択レジスタ(RTS)540を備える。乱数更新方式選択データとは、ランダムRの値を更新する方式である各乱数更新方式のうち、いずれかの乱数更新方式を指定するためのデータである。乱数更新方式選択信号出力回路527は、乱数更新方式選択レジスタ540に乱数更新方式選択データが書き込まれたことに応じて、書き込まれた乱数更新方式選択データにより指定される乱数更新方式に対応する乱数更新方式選択信号を、セレクタ528およびラッチ信号生成回路533に出力する。
The random number update method selection
図17(A)は、乱数更新方式選択レジスタ540の例を示す説明図である。図17(A)に示すように、乱数更新方式選択レジスタ540は、8ビットレジスタであり、初期値が「00h」に設定されている。また、乱数更新方式選択レジスタ540は、ビット0〜ビット1が書込および読出ともに可能な状態に構成されている。また、乱数更新方式選択レジスタ540は、ビット2〜ビット7が書込および読出ともに不可能な状態に構成されている。したがって、乱数更新方式選択レジスタ540のビット2〜ビット7に値を書き込む制御を行っても無効とされ、ビット2〜ビット7から読み出す値は全て「0(=000000b)」である。
FIG. 17A is an explanatory diagram illustrating an example of the random number update method selection register 540. As shown in FIG. 17A, the random number update method selection register 540 is an 8-bit register, and the initial value is set to “00h”. The random number update method selection register 540 is configured in a state where
図17(B)は、乱数更新方式選択レジスタ540に書き込まれる乱数更新方式選択データの一例の説明図である。図17(B)に示すように、乱数更新方式選択データは、2ビットのデータから構成される。乱数更新方式選択データ「01b」は、第1の乱数更新方式を指定するために用いられる。また、乱数更新方式選択データ「10b」は、第2の乱数更新方式を指定するために用いられる。なお、この実施の形態では、第1の乱数更新方式とは、カウント値更新信号出力回路525からカウント値更新信号SI3が出力されたことをトリガとして、カウント値を更新する方式である。また、第2の乱数更新方式とは、クロック信号出力回路524から乱数発生用クロック信号SI1が出力されたことをトリガとして、カウント値を更新する方式である。また、乱数更新方式選択データ「01b」または「10b」が乱数更新方式選択レジスタ540に書き込まれた場合、乱数回路503は起動可能な状態となる。一方、乱数更新方式選択データ「00b」または「11b」が乱数更新方式選択レジスタ540に書き込まれた場合、乱数回路503は起動不能な状態となる。
FIG. 17B is an explanatory diagram of an example of random number update method selection data written to the random number update method selection register 540. As shown in FIG. 17B, the random number update method selection data is composed of 2-bit data. The random number update method selection data “01b” is used to specify the first random number update method. The random number update method selection data “10b” is used to specify the second random number update method. In this embodiment, the first random number update method is a method of updating the count value triggered by the output of the count value update signal SI3 from the count value update signal output circuit 525. The second random number update method is a method of updating the count value triggered by the output of the random number generation clock signal SI1 from the clock
セレクタ528は、カウント値更新信号出力回路525から出力されるカウント値更新信号SI3、またはクロック信号出力回路524から出力される乱数発生用クロック信号SI1のいずれかを選択してカウンタ521に出力する。セレクタ528は、乱数更新方式選択信号出力回路527から第1の乱数更新方式に対応する乱数更新方式選択信号(第1の乱数更新方式選択信号ともいう)が入力されると、カウント値更新信号出力回路525から出力されるカウント値更新信号SI3を選択してカウンタ521に出力する。一方、セレクタ528は、乱数更新方式選択信号出力回路527から第2の乱数更新方式に対応する乱数更新方式選択信号(第2の乱数更新方式選択信号ともいう)が入力されると、クロック信号出力回路524から出力される乱数発生用クロック信号SI1を選択してカウンタ521に出力する。なお、セレクタ528は、乱数更新方式選択信号出力回路527から第1の更新方式選択信号が入力されると、カウント値更新信号出力回路525から出力されるカウント値更新信号SI3に応じて、クロック信号出力回路524から出力される乱数発生用クロック信号SI1に同期した数値データの更新を指示する数値更新指示信号を、カウンタ521に出力してもよい。
The
乱数回路起動信号出力回路530は、乱数回路起動データ「80h」を格納する乱数回路起動レジスタ(RST)541を備える。乱数回路起動データとは、乱数回路503の起動を要求するためのデータである。乱数回路起動信号出力回路530は、乱数回路起動レジスタ541に乱数回路起動データ「80h」が書き込まれると、所定の乱数回路起動信号をカウンタ521およびクロック信号出力回路537に出力し、カウンタ521およびクロック信号出力回路524をオンにさせる。そして、カウンタ521によるカウント値の更新動作とクロック信号出力回路524による内部クロック信号の出力動作とを開始させることによって、乱数回路503を起動させる。
The random number circuit activation
図18は、乱数回路起動レジスタ541の例を示す説明図である。図18に示すように、乱数回路起動レジスタ541は、8ビットレジスタであり、初期値が「00h」に設定されている。乱数回路起動レジスタ541は、ビット7だけが書込および読出ともに可能な状態に構成されている。また、乱数回路起動レジスタ541は、ビット0〜ビット6が書込および読出ともに不可能な状態に構成されている。すなわち、乱数回路起動レジスタ541のビット0〜ビット6に値を書き込む制御を行っても無効とされ、ビット0〜ビット6から読み出す値は全て「0(=000000b)」である。
FIG. 18 is an explanatory diagram showing an example of the random number
乱数値記憶回路531は、例えば16ビットレジスタであり、遊技制御処理における大当り判定において用いられる乱数であるランダムRの値を格納する。乱数値記憶回路531は、ラッチ信号生成回路533からラッチ信号SLを入力したことに応じて、カウンタ521から比較器522を介して出力されるカウント値CをランダムRの値として格納する。そして、乱数値記憶回路531は、ラッチ信号生成回路533からラッチ信号SLを入力するごとに、カウンタ521が更新するカウント値Cを読み込んでランダムRの値を記憶する。 The random value storage circuit 531 is a 16-bit register, for example, and stores a random R value that is a random number used in the jackpot determination in the game control process. The random value storage circuit 531 stores the count value C output from the counter 521 via the comparator 522 as a random R value in response to the input of the latch signal SL from the latch signal generation circuit 533. Each time the latch signal SL is input from the latch signal generation circuit 533, the random value storage circuit 531 reads the count value C updated by the counter 521 and stores the random R value.
図19は、乱数値記憶回路531の一構成例を示す回路図である。乱数値記憶回路531は、図19に示すように、2個のAND回路201,203と、2個のNOT回路202,204と、16個のフリップフロップ回路2101〜2116と、16個のOR回路2201〜2216とを含む。
FIG. 19 is a circuit diagram showing a configuration example of the random value storage circuit 531. As shown in FIG. 19, the random value storage circuit 531 includes two AND
図19に示すように、AND回路201の入力端子は、ラッチ信号生成回路533の出力端子とNOT回路204の出力端子とに接続され、出力端子は、NOT回路202の入力端子とフリップフロップ回路2101〜2116のクロック端子Clk1〜Clk16とに接続されている。NOT回路202の入力端子は、AND回路201の出力端子に接続され、出力端子は、AND回路203の一方の入力端子に接続されている。
As shown in FIG. 19, the input terminal of the AND
AND回路203の入力端子は、NOT回路202の出力端子と遊技制御用マイクロコンピュータ560が搭載するCPU56とに接続され、出力端子は、NOT回路204の入力端子に接続されている。NOT回路204の入力端子は、AND回路203の出力端子に接続され、出力端子は、AND回路201の一方の入力端子とOR回路2201〜2216の一方の入力端子とに接続されている。
The input terminal of the AND circuit 203 is connected to the output terminal of the
フリップフロップ回路2101〜2116の入力端子D1〜D16は、比較器522の出力端子に接続されている。フリップフロップ回路2101〜2116のクロック端子Clk1〜Clk16は、AND回路201の出力端子に接続され、出力端子Q1〜Q16は、OR回路2201〜2216の他方の入力端子に接続されている。
The input terminals D1 to D16 of the flip-flop circuits 2101 to 2116 are connected to the output terminal of the comparator 522. The clock terminals Clk1 to Clk16 of the flip-flop circuits 2101 to 2116 are connected to the output terminal of the AND
OR回路2201〜2216の入力端子は、NOT回路204の出力端子とフリップフロップ回路2101〜2116の出力端子とに接続され、出力端子は、遊技制御用マイクロコンピュータ560が搭載するCPU56に接続されている。
The input terminals of the
乱数値記憶回路531の動作について説明する。図20は、乱数値記憶回路531に各信号が入力されるタイミング、および乱数値記憶回路531が各信号を出力するタイミングを示すタイミングチャートである。図20に示すように、遊技制御用マイクロコンピュータ560が搭載するCPU56から出力制御信号SC(本例では、ハイレベル信号)が入力されていない場合(すなわち、AND回路203の一方の入力端子への入力がローレベルの場合)、ラッチ信号生成回路533からラッチ信号SLが入力されると(図20に示す例では、タイミングT1,T2,T7のとき)、AND回路201の2つの入力端子への入力はともにハイレベルとなる。そのため、AND回路201の出力端子から出力される信号SRはハイレベルとなる。そして、AND回路201から出力された信号SRは、フリップフロップ回路2101〜2116のクロック端子Clk1〜Clk16に入力される。
The operation of the random value storage circuit 531 will be described. FIG. 20 is a timing chart showing the timing at which each signal is input to the random value storage circuit 531 and the timing at which the random value storage circuit 531 outputs each signal. As shown in FIG. 20, when the output control signal SC (high level signal in this example) is not input from the
フリップフロップ回路2101〜2116は、クロック端子Clk1〜Clk16から入力される信号SRの立ち上がりエッヂに応答して、比較器522から入力端子D1〜D16を介して入力されるカウント値CのビットデータC1〜C16を乱数値のビットデータR1〜R16としてラッチして記憶する。また、フリップフロップ回路2101〜2116は、記憶するランダムRのビットデータR1〜R16を出力端子Q1〜Q16から出力する。 The flip-flop circuits 2101 to 2116 are responsive to the rising edges of the signal SR input from the clock terminals Clk1 to Clk16, and the bit data C1 to C1 of the count value C input from the comparator 522 via the input terminals D1 to D16. C16 is latched and stored as bit data R1 to R16 of the random value. The flip-flop circuits 2101 to 2116 output random R bit data R1 to R16 to be stored from the output terminals Q1 to Q16.
出力制御信号SCが入力されていない場合(図20に示す例では、タイミングT3までの期間およびタイミングT6以降の期間)、AND回路203の一方の入力端子への入力がローレベルとなるので、AND回路203の出力端子から出力される信号SGはローレベルとなる。AND回路203が出力する信号SGは、NOT回路204において反転され、ハイレベルの信号とされる。そして、OR回路2201〜2216の一方の入力端子に、NOT回路204からハイレベルの信号が入力される。
When the output control signal SC is not input (in the example shown in FIG. 20, the period up to the timing T3 and the period after the timing T6), the input to one input terminal of the AND circuit 203 is at the low level. The signal SG output from the output terminal of the circuit 203 is at a low level. The signal SG output from the AND circuit 203 is inverted in the
以上のように、OR回路2201〜2216の一方の入力端子への入力がハイレベルとなるので、他方の入力端子に入力される信号がハイレベルであるかローレベルであるかに関わらず、OR回路2201〜2216はハイレベルの信号を出力する。すなわち、入力されるランダムRのビットデータR1〜R16の値が「0」であるか「1」であるかに関わらず、OR回路2201〜2216から出力される信号SO1〜SO16は、全てハイレベル(「1」)となる。そのようにすることによって、乱数値記憶回路531から出力される値は、常に「65535(=1111111111111111b)」となり、乱数値記憶回路531からランダムRを読み出すことができない状態となる。すなわち、乱数値記憶回路531から乱数を読み出そうとしても、乱数値記憶回路531から常に同じ値「65535」しか読み出せない状態となり、出力制御信号SCが入力されていない場合、乱数値記憶回路531は、読出不能(ディセイブル)状態となる。なお、16ビット乱数回路503bを用いる場合、乱数値としての値「65535」が用いられる可能性がある。この場合、遊技制御用マイクロコンピュータ560は、値「65535」を読み込んだとしても、その値が乱数であるのか読出不能状態であるのかを判断することができない。そのため、図39に示す各大当り判定用の判定テーブルにおいて、あらかじめランダムRが「65535」である場合には「ハズレ」と判定するように設定しておけばよい。
As described above, since the input to one of the input terminals of the
ラッチ信号生成回路533からラッチ信号SLが入力されていないときに、CPU56から出力制御信号SCが入力されると(図20に示す例では、タイミングT4からタイミングT6までの期間)、AND回路203の2つの入力端子への入力がともにハイレベルとなるので、AND回路203の出力端子から出力される信号SGはハイレベルとなる。AND回路203が出力する信号SGは、NOT回路204において反転され、ローレベルの信号とされる。そして、OR回路2201〜2216の一方の入力端子に、NOT回路204からローレベルの信号が入力される。
When the latch signal SL is not input from the latch signal generation circuit 533 and the output control signal SC is input from the CPU 56 (in the example shown in FIG. 20, the period from the timing T4 to the timing T6), the AND circuit 203 Since the inputs to the two input terminals are both at the high level, the signal SG output from the output terminal of the AND circuit 203 is at the high level. The signal SG output from the AND circuit 203 is inverted in the
以上のように、OR回路2201〜2216の一方の入力端子への入力がローレベルとなるので、他方の入力端子に入力される信号がハイレベルの場合、OR回路2201〜2216の出力端子からハイレベルの信号が出力される。また、OR回路2201〜2216の他方の入力端子に入力される信号がローレベルの場合、OR回路2201〜2216からローレベルの信号が出力される。すなわち、OR回路2201〜2216の他方の入力端子に入力されるランダムRのビットデータR1〜R16の値は、OR回路2201〜2216の出力端子からそのまま(すなわち、ビットデータR1〜R16の値が「1」のときは「1」が、「0」のときは「0」)出力される。そのようにすることによって、乱数値記憶回路531からのランダムRの読出が可能となる。すなわち、出力制御信号SCが入力されている場合、乱数値記憶回路531は、読出可能(イネイブル)状態となる。
As described above, since the input to one input terminal of the
ただし、CPU56から出力制御信号SCが入力される前に、ラッチ信号生成回路533からラッチ信号SLが入力されている場合、AND回路203の一方の入力端子への入力がローレベルとなるので、ラッチ信号SLが入力されている状態のままで、出力制御信号SCが入力されても(図20に示す例では、タイミングT3からタイミングT4の期間)、AND回路203の出力端子から出力される信号SGはローレベルのままとなる。AND回路203が出力する信号SGは、NOT回路204において反転され、ハイレベルの信号とされる。そして、OR回路2201〜2216の一方の入力端子に、NOT回路204からハイレベルの信号が入力される。
However, if the latch signal SL is input from the latch signal generation circuit 533 before the output control signal SC is input from the
以上のように、OR回路2201〜2216の一方の入力端子への入力がハイレベルとなるので、他方の入力端子に入力される信号がハイレベルであるかローレベルであるかに関わらず、OR回路2201〜2216から出力される信号SO1〜SO16は全てハイレベルとなる。そして、出力制御信号SCが入力されているにも関わらず、乱数値記憶回路531からランダムRを読み出すことができない状態のままとなる。すなわち、ラッチ信号SLが入力されている場合、乱数値記憶回路531は、出力制御信号SCを受信不可能な状態となる。なお、16ビット乱数回路503bを用いる場合、乱数値としての値「65535」が用いられる可能性がある。この場合、遊技制御用マイクロコンピュータ560は、値「65535」を読み込んだとしても、その値が乱数であるのか読出不能状態であるのかを判断することができない。そのため、図39に示す各大当り判定用の判定テーブルにおいて、あらかじめランダムRが「65535」である場合には「ハズレ」と判定するように設定しておけばよい。
As described above, since the input to one of the input terminals of the
また、ラッチ信号生成回路533からラッチ信号SLが入力される前に、CPU56から出力制御信号SCが入力されている場合、AND回路201の一方の入力端子への入力がローレベルとなるので、出力制御信号SCが入力されているままの状態で、ラッチ信号SLが入力されても(図20に示す例では、タイミングT5)、AND回路201の出力端子から出力される信号SRはローレベルのままとなる。そのため、フリップフロップ回路2101〜2116のクロック端子Clk1〜Clk16に入力される信号SRは、ローレベルからハイレベルに立ち上がらず、フリップフロップ回路2101〜2116に格納されているランダムRのビットデータR1〜R16は、ラッチ信号SLが入力されているにも関わらず、記憶される乱数は更新されない。すなわち、出力制御信号SCが入力されている場合、乱数値記憶回路531は、ラッチ信号SLを受信不可能な状態となる。
In addition, when the output control signal SC is input from the
反転回路532は、クロック信号出力回路524から入力する乱数発生用クロック信号SI1における信号レベルを反転させることによって、クロック信号の極性を反転させた反転クロック信号SI2を生成する。また、反転回路532は、生成した反転クロック信号SI2をラッチ信号生成回路533に出力する。
The inverting circuit 532 generates the inverted clock signal SI2 in which the polarity of the clock signal is inverted by inverting the signal level in the random number generating clock signal SI1 input from the clock
なお、乱数回路503は、反転回路532に代えて遅延回路を含んでもよい。この場合、遅延回路は、クロック信号出力回路524から入力する乱数発生用クロック信号SI1を遅延させることによって、クロック信号を遅延させた遅延クロック信号を生成する。また、遅延回路は、生成した遅延クロック信号をラッチ信号生成回路533に出力する。従って、ラッチ信号生成回路533は、乱数発生用クロック信号SI1を遅延させた遅延クロック信号に同期して、乱数値記憶回路531にラッチ信号を出力することになる。
Note that the
ラッチ信号生成回路533は、セレクタおよびフリップフロップ回路等を用いて構成される。ラッチ信号生成回路533は、乱数値読取信号出力回路526からの乱数値読取信号と反転回路532からの反転クロック信号SI2とを入力し、乱数値記憶回路531に乱数値を記憶させるためのラッチ信号SLを出力する。また、ラッチ信号生成回路533は、乱数更新方式選択信号出力回路527からの乱数更新方式選択信号によって指定された乱数値更新方式に応じて、ラッチ信号SLを出力する。この場合、ラッチ信号生成回路533は、乱数更新方式選択信号出力回路527から第1の乱数更新方式選択信号が入力された場合、反転回路532から出力される反転クロック信号SI2を選択し、ラッチ信号SLとして乱数値記憶回路531に出力する。一方、ラッチ信号生成回路533は、乱数更新方式選択信号出力回路527から第2の乱数更新方式選択信号が入力された場合、乱数値読取信号出力回路526から出力される乱数値読取信号を、反転回路532から出力される反転クロック信号SI2の立ち上がりエッヂに同期させて、ラッチ信号SLとして乱数値記憶回路531に出力する。
The latch signal generation circuit 533 is configured using a selector, a flip-flop circuit, and the like. The latch signal generation circuit 533 receives the random number read signal from the random number read signal output circuit 526 and the inverted clock signal SI2 from the inversion circuit 532, and latch signal for storing the random value in the random value storage circuit 531. SL is output. The latch signal generation circuit 533 outputs the latch signal SL in accordance with the random value update method designated by the random number update method selection signal from the random number update method selection
タイマ回路534は、始動口14への遊技球の入賞を検出した旨の入賞検出信号SSを始動口スイッチ14aから入力する。また、タイマ回路534は、始動口スイッチ14aから入賞検出信号SSが継続して入力されている時間を計測する。そして、タイマ回路534は、計測時間が所定期間(例えば、3ms)になると、乱数値読取信号出力回路526の乱数値取込レジスタ539に乱数値取込データ「01h」を書き込む。例えば、タイマ回路534は、ハイレベルの信号が入力されたことに応じて起動するアップカウンタまたはダウンカウンタによって構成される。タイマ回路534は、始動口スイッチ14aからの入力がハイレベルとなっている間(すなわち、入賞検出信号SSが継続して入力されている間)、クロック回路501から順次入力する基準クロック信号CLKをアップカウントまたはダウンカウントする。そして、タイマ回路534は、アップカウントまたはダウンカウントするカウント値が3msに対応する値になると、始動口スイッチ14aから入賞検出信号SSが入力されたと判断して、乱数値取込データ「01h」を乱数値取込レジスタ539に書き込む。
The
次に、シリアル通信回路505の構成について説明する。シリアル通信回路505は、全二重方式、非同期方式および標準NRZ(ノンリターンゼロ)符号化を用いたデータフォーマットで、各制御基板(例えば、払出制御基板37や音/ランプ制御基板80b)のマイクロコンピュータとシリアル通信を行う。シリアル通信回路505は、各制御基板のマイクロコンピュータに各種データ(例えば、賞球個数コマンドや演出制御コマンド)を送信する送信部と、各制御基板のマイクロコンピュータからの各種データ(例えば、賞球ACKコマンド)を受信する受信部とを含む。
Next, the configuration of the
図21は、シリアル通信回路505の送信部の構成例を示すブロック図である。また、図22は、シリアル通信回路505の受信部の構成例を示すブロック図である。シリアル通信回路505は、ボーレートレジスタ702、ボーレート生成回路703、2つのステータスレジスタ705,706、3つの制御レジスタ707,708,709、送信データレジスタ710、受信データレジスタ711、送信用シフトレジスタ712、受信用シフトレジスタ713、割り込み制御回路714、送信フォーマット/パリティ生成回路715および受信フォーマット/パリティチェック回路716を含む。また、図21に示すように、シリアル通信回路505の送信部は、これらの構成要素のうち、ボーレートレジスタ702、ボーレート生成回路703、ステータスレジスタA705、制御レジスタ707,708,709、送信データレジスタ710、送信用シフトレジスタ712、割り込み制御回路714および送信フォーマット/パリティ生成回路715によって構成される。また、図22に示すように、シリアル通信回路505の受信部は、これらの構成要素のうち、ボーレートレジスタ702、ボーレート生成回路703、ステータスレジスタ705,706、制御レジスタ707,708,709、受信データレジスタ711、受信用シフトレジスタ713、割り込み制御回路714および受信フォーマット/パリティチェック回路716によって構成される。
FIG. 21 is a block diagram illustrating a configuration example of the transmission unit of the
なお、シリアル通信回路505において、送信部と受信部とは、実際には、共通の回路を用いて構成される。そして、シリアル通信回路505は、上記に示したように、シリアル通信回路505の各構成要素を使い分けて用いることによって、送信回路又は受信回路として機能する。
In the
まず、シリアル通信回路505が各制御基板が搭載するマイクロコンピュータと送受信するデータのデータフォーマットを説明する。図23は、シリアル通信505が各制御基板が搭載するマイクロコンピュータと送受信するデータのデータフォーマットの例を示す説明図である。図23に示すように、シリアル通信回路505が送受信するデータのデータフォーマットは、スタートビット、データおよびストップビットを1フレームとして構成される。また、シリアル通信回路505が送受信するデータのデータ長は、後述するシリアル通信回路設定処理において初期設定を行えば、8ビットまたは9ビットのいずれかに設定できる。図23(a)は、データ長を8ビットに設定した場合のデータフォーマットの例である。また、図23(b)は、データ長を9ビットに設定した場合のデータフォーマットの例である。
First, the data format of data transmitted and received by the
図23に示すように、シリアル通信回路505が送受信するデータのデータフォーマットは、ハイレベル(論理「1」)のアイドルラインのあとに、1フレームの始まりであることを示すスタートビット(論理「0」)を含む。また、データフォーマットは、スタートビットのあとに、8ビットまたは9ビットの送受信データを含む。そして、データフォーマットは、送受信データのあとに、1フレームの終わりであることを示すストップビット(論理「1」)を含む。
As shown in FIG. 23, the data format of data transmitted and received by the
シリアル通信回路505は、図23に示すデータフォーマットに従って、送受信データの最下位ビット(ビット0)から先にデータを送受信する。また、後述するシリアル通信回路設定処理において初期設定を行えば、送受信データにパリティビットを付加するように設定することもできる。パリティビットを付加するように設定した場合、送受信データの最上位ビットがパリティビット(奇数パリティまたは偶数パリティ)として用いられる。例えば、データ長を8ビットに設定した場合、送受信データのビット7がパリティビットとして用いられる。また、例えば、データ長を9ビットに設定した場合、送受信データのビット8がパリティビットとして用いられる。
The
ボーレート生成回路703は、クロック回路501が出力するクロック信号およびボーレートレジスタ702に設定されている設定値(ボーレート設定値ともいう)にもとづいて、シリアル通信回路505が用いるボーレートを生成する。この場合、ボーレート生成回路703は、クロック信号およびボーレート設定値にもとづいて、所定の計算式を用いてボーレートを求める。例えば、ボーレート生成回路703は、式(1)を用いて、シリアル通信回路505が用いるボーレートを求める。
The baud
ボーレート=クロック周波数/(ボーレート設定値×16) 式(1) Baud rate = clock frequency / (baud rate set value x 16) Equation (1)
図24は、ボーレートレジスタ702の例を示す説明図である。ボーレートレジスタ702は、ボーレート生成回路703が生成するボーレートの値を指定するための所定の設定値を設定するレジスタである。例えば、ボーレートレジスタ702が式(1)を用いてボーレートを求めるものとし、クロック周波数が3MHzであるとする。この場合、所望の目標ボーレートが1200bpsであるとすると、ボーレートレジスタ702に設定値「156」を設定する。すると、ボーレート生成回路703は、クロック周波数「3MHz」およびボーレート設定値「156」にもとづいて、式(1)を用いて、ボーレート「1201.92bps」を生成する。ボーレートレジスタ702は、16ビットレジスタであり、初期値が「0(=00h)」に設定されている。また、ボーレートレジスタ702は、ビット0〜ビット12が書込および読出ともに可能な状態に構成されている。また、ボーレートレジスタ702は、ビット13〜ビット15が書込および読出ともに不可能な状態に構成されている。したがって、ボーレートレジスタ702のビット13〜ビット15に値を書き込む制御を行っても無効とされ、ビット13〜ビット15から読み出す値は全て「0(=000b)」である。
FIG. 24 is an explanatory diagram showing an example of the
図25(A)は、制御レジスタA707の例を示す説明図である。制御レジスタA707は、シリアル通信回路505の通信フォーマットを設定するレジスタである。この実施の形態では、制御レジスタA707の各ビットの値が設定されることによって、シリアル通信回路505の通信フォーマットが設定される。制御レジスタA707には、送受信データのデータ形式や各種通信方式等の通信フォーマットを設定するための通信フォーマット設定データが設定される。図25(A)に示すように、制御レジスタA707は、8ビットレジスタであり、初期値が「0(=00h)」に設定されている。また、制御レジスタA707は、ビット0〜ビット4が書込および読出ともに可能な状態に構成されている。また、制御レジスタA707は、ビット5〜ビット7が書込および読出ともに不可能な状態に構成されている。したがって、制御レジスタA707のビット5〜ビット7に値を書き込む制御を行っても無効とされ、ビット5〜ビット7から読み出す値は全て「0(=000b)」である。
FIG. 25A is an explanatory diagram illustrating an example of the control register A707. The control register A 707 is a register for setting the communication format of the
図25(B)は、制御レジスタA707に設定される通信フォーマット設定データの一例の説明図である。図25(B)に示すように、制御レジスタA707のビット4(ビット名「M」)には、送受信するデータのデータ長を設定するための設定データが設定される。図25(B)に示すように、ビット4を「0」に設定することによって、送受信データのデータ長が8ビットに設定される。また、ビット4を「1」に設定することによって、送受信データのデータ長が9ビットに設定される。
FIG. 25B is an explanatory diagram of an example of communication format setting data set in the control register A707. As shown in FIG. 25B, setting data for setting the data length of data to be transmitted and received is set in bit 4 (bit name “M”) of the control register A707. As shown in FIG. 25B, by setting
制御レジスタA707のビット3(ビット名「WAKE」)には、スタンバイ状態の受信回路(シリアル通信回路505の受信部)をウエイクアップする(オンライン状態にさせる)ウエイクアップ方式を設定するための設定データが設定される。図25(B)に示すように、ビット3を「0」に設定することによって、アイドルラインを認識したときにウエイクアップするアイドルラインウエイクアップ方式が設定される。また、ビット3を「1」に設定することによって、所定のアドレスマークを認識することによってウエイクアップするアドレスマークウエイクアップ方式が設定される。
In bit 3 (bit name “WAKE”) of the control register A707, setting data for setting a wake-up method for waking up the receiver circuit (the receiving unit of the serial communication circuit 505) in the standby state. Is set. As shown in FIG. 25 (B), by setting
制御レジスタA707のビット2(ビット名「ILT」)には、受信データのアイドルラインの検出方式を選択するための設定データが設定される。図25(B)に示すように、ビット2を「0」に設定することによって、受信データに含まれるスタートビットの後からアイドルラインを検出する検出方式が設定される。また、ビット2を「1」に設定することによって、受信データに含まれるストップビットの後からアイドルラインを検出する検出方式が設定される。
In bit 2 (bit name “ILT”) of the control register A707, setting data for selecting an idle line detection method of received data is set. As shown in FIG. 25B, by setting
制御レジスタA707のビット1(ビット名「PE」)には、パリティ機能を使用するか否かを設定するための設定データが設定される。図25(B)に示すように、ビット1を「0」に設定することによって、パリティ機能を使用しないように設定される。また、ビット1を「1」に設定することによって、パリティ機能を使用するように設定される。
Setting data for setting whether or not to use the parity function is set in bit 1 (bit name “PE”) of the control register A707. As shown in FIG. 25B, the parity function is not used by setting
制御レジスタA707のビット0(ビット名「PT」)には、パリティ機能を使用すると設定した場合のパリティの種類を設定するための設定データが設定される。図25(B)に示すように、ビット0を「0」に設定することによって、パリティの種類として偶数パリティが設定される。また、ビット0を「1」に設定することによって、パリティの種類として奇数パリティが設定される。
Setting data for setting the type of parity when the parity function is used is set in bit 0 (bit name “PT”) of the control register A707. As shown in FIG. 25B, by setting
図26(A)は、制御レジスタB708の例を示す説明図である。制御レジスタB708は、シリアル通信回路505の割り込み要求を許可するか否かを設定するレジスタである。この実施の形態では、制御レジスタB708の各ビットの値が設定されることによって、シリアル通信回路505からの割り込み要求を許可するか禁止するかが設定される。制御レジスタB708には、各種割り込み要求を許可するか否かを示す割り込み要求設定データが主として設定される。なお、制御レジスタB708には、割り込み要求設定データ以外に、シリアル通信回路505の各種設定を行うための設定データも設定される。図26(A)に示すように、制御レジスタB708は、8ビットレジスタであり、初期値が「0(=00h)」に設定されている。また、制御レジスタB708は、ビット0〜ビット7が書込および読出ともに可能な状態に構成されている。
FIG. 26A is an explanatory diagram illustrating an example of the control register B708. The control register B 708 is a register for setting whether to permit an interrupt request from the
図26(B)は、制御レジスタB708に設定される割り込み要求設定データの一例を示す説明図である。図26(B)に示すように、制御レジスタB708のビット7(ビット名「TIE」)には、データの送信時に行う割り込み要求である送信割り込み要求を許可するか否かを示す設定データが設定される。図26(B)に示すように、ビット7を「0」に設定することによって、送信割り込み要求を禁止するように設定される。また、ビット7を「1」に設定することによって、送信割り込み要求を許可するように設定される。
FIG. 26B is an explanatory diagram showing an example of interrupt request setting data set in the control register B708. As shown in FIG. 26 (B), setting data indicating whether or not a transmission interrupt request, which is an interrupt request to be performed at the time of data transmission, is permitted is set in bit 7 (bit name “TIE”) of the control register B708. Is done. As shown in FIG. 26B, by setting
制御レジスタB708のビット6(ビット名「TCIE」)には、データの送信完了時に行う割り込み要求である送信完了割り込み要求を許可するか否かを示す設定データが設定される。図26(B)に示すように、ビット6を「0」に設定することによって、送信完了割り込み要求を禁止するように設定される。また、ビット6を「1」に設定することによって、送信完了割り込み要求を許可するように設定される。
Bit 6 (bit name “TCIE”) of the control register B708 is set with setting data indicating whether or not to permit a transmission completion interrupt request, which is an interrupt request to be made when data transmission is completed. As shown in FIG. 26B, by setting
制御レジスタB708のビット5(ビット名「RIE」)には、データの受信時に行う割り込み要求である受信割り込み要求を許可するか否かを示す設定データが設定される。図26(B)に示すように、ビット5を「0」に設定することによって、受信割り込み要求を禁止するように設定される。また、ビット5を「1」に設定することによって、受信割り込み要求を許可するように設定される。
Bit 5 (bit name “RIE”) of the control register B 708 is set with setting data indicating whether or not a reception interrupt request, which is an interrupt request when data is received, is permitted. As shown in FIG. 26B, the reception interrupt request is set to be prohibited by setting
制御レジスタB708のビット4(ビット名「ILIE」)には、受信データのアイドルラインを検出したときに行う割り込み要求であるアイドルライン割り込み要求を許可するか否かを示す設定データが設定される。図26(B)に示すように、ビット4を「0」に設定することによって、アイドルライン割り込み要求を禁止するように設定される。また、ビット4を「1」に設定することによって、アイドルライン割り込み要求を許可するように設定される。
Bit 4 (bit name “ILIE”) of the control register B 708 is set with setting data indicating whether or not to allow an idle line interrupt request, which is an interrupt request when an idle line of received data is detected. As shown in FIG. 26B, by setting
制御レジスタB708のビット3(ビット名「TE」)には、送信回路(シリアル通信回路505の送信部)を使用するか否かを示す設定データが設定される。図26(B)に示すように、ビット3を「0」に設定することによって、送信回路を使用しないように設定される。また、ビット3を「1」に設定することによって、送信回路を使用するように設定される。
In bit 3 (bit name “TE”) of the control register B708, setting data indicating whether to use the transmission circuit (the transmission unit of the serial communication circuit 505) is set. As shown in FIG. 26B, by setting
制御レジスタB708のビット2(ビット名「RE」)には、受信回路を使用するか否かを示す設定データが設定される。図26(B)に示すように、ビット2を「0」に設定することによって、受信回路を使用しないように設定される。また、ビット2を「1」に設定することによって、受信回路を使用するように設定される。
Setting data indicating whether or not to use the receiving circuit is set in bit 2 (bit name “RE”) of the control register B708. As shown in FIG. 26B, by setting
制御レジスタB708のビット1(ビット名「RWU」)には、受信回路のウエイクアップ機能を使用するか否かを示す設定データが設定される。図26(B)に示すように、ビット1を「0」に設定することによって、ウエイクアップ機能を使用しないように設定される。また、ビット1を「1」に設定することによって、ウエイクアップ機能を使用するように設定される。
Setting data indicating whether or not to use the wakeup function of the receiving circuit is set in bit 1 (bit name “RWU”) of the control register B708. As shown in FIG. 26B, by setting
制御レジスタB708のビット0(ビット名「SBK」)には、所定のブレークコード送信機能を使用するか否かを示す設定データが設定される。図26(B)に示すように、ビット1を「0」に設定することによって、ブレークコード送信機能を使用しないように設定される。また、ビット1を「1」に設定することによって、ブレークコード送信機能を使用するように設定される。ビット1を「1」に設定すると、シリアル通信回路505は、ブレークコード(例えば、「0」を連続して含む信号)を制御基板(払出制御基板37や音/ランプ制御基板80b)が搭載するマイクロコンピュータに送信する。
Setting data indicating whether or not to use a predetermined break code transmission function is set in bit 0 (bit name “SBK”) of the control register B708. As shown in FIG. 26B, by setting
図27(A)は、ステータスレジスタA705の例を示す説明図である。ステータスレジスタA705は、シリアル通信回路505の各種ステータスを確認するためのレジスタである。この実施の形態では、ステータスレジスタA705の各ビットの値を確認することによって、CPU56は、シリアル通信回路505の各種ステータスを確認することができる。図27(A)に示すように、ステータスレジスタA705は、8ビットレジスタであり、初期値が「0(=00h)」に設定されている。また、ステータスレジスタA705は、ビット0〜ビット7が読出のみ可能な状態に構成されている。したがって、ステータスレジスタA705のビット0〜ビット7に値を書き込む制御を行っても無効とされる。
FIG. 27A is an explanatory diagram illustrating an example of the status register A705. The
本実施の形態では、後述するように、送信データレジスタ710に送信データが入っていない状態(送信データエンプティ)となったり、送信用シフトレジスタ712が格納する送信データの送信を完了すると、割り込み制御回路714によって、ステータスレジスタA705の対応するビットがセットされる。そして、CPU56は、ステータスレジスタA705にセットされた各ビットの値を読み出す。
In the present embodiment, as will be described later, when transmission data is not stored in the transmission data register 710 (transmission data empty) or transmission of transmission data stored in the
図27(B)は、ステータスレジスタA705に格納されるステータス確認データの一例を示す図である。図27(B)に示すように、ステータスレジスタA705のビット7(ビット名「TDRE」)には、送信データレジスタ710に送信データが入っていない状態であること(送信データエンプティ)を示す送信データエンプティフラグが格納される。図27(B)に示すように、ビット7に「0」が格納されている場合、送信データレジスタ710から送信用シフトレジスタ712に送信データが未だに転送されておらず、送信データレジスタ710に送信データが格納されたままの状態であることを示す。また、ビット7に「1」が格納されている場合、送信データレジスタ710から送信用シフトレジスタ712に送信データが転送されており、送信データレジスタ710に送信データが入っていない状態(送信データエンプティ)であることを示す。
FIG. 27B is a diagram showing an example of status confirmation data stored in the status register A705. As shown in FIG. 27 (B), transmission data indicating that transmission data is not stored in transmission data register 710 (transmission data empty) in bit 7 (bit name “TDRE”) of status register A705. Stores an empty flag. As shown in FIG. 27B, when “0” is stored in
ステータスレジスタA705のビット6(ビット名「TC」)には、シリアル通信回路505からの送信データの送信を完了した旨を示す送信完了フラグが格納される。図27(B)に示すように、ビット6に「0」が格納されている場合、送信用シフトレジスタ712が格納する送信データの送信中の状態であり、シリアル通信回路505からの送信データの送信が完了していない状態であることを示す。また、ビット6に「1」が格納されている場合、送信用シフトレジスタ712が格納する送信データの転送を完了した状態であり、シリアル通信回路505からの送信データの送信が完了した状態であることを示す。
Bit 6 (bit name “TC”) of the
なお、送信データの送信を完了した状態となり、遊技制御用マイクロコンピュータ560は、送信先のマイクロコンピュータからの受信確認信号の待ち状態となる。この実施の形態では、後述する送信時割込の設定が行われると、シリアル通信回路505は、送信データの送信完了を検出すると、ステータスレジスタA705のビット6を「1」にするとともに、受信確認信号の待ち状態になったものとしてCPU56に割り込み要求(送信時割り込み要求という)を行う。
Note that the transmission of the transmission data is completed, and the
ステータスレジスタA705のビット5(ビット名「RDRF」)には、受信データレジスタ711に受信データが格納された状態であること(受信データフル)を示す受信データフルフラグが格納される。図27(B)に示すように、ビット5に「0」が格納されている場合、受信データレジスタ711に受信データが入っていない状態であることを示す。また、ビット5に「1」が格納されている場合、受信用シフトレジスタ713の値が受信データレジスタ711に転送され、受信データレジスタ711に受信データが格納されている状態であること(受信データフル)を示す。
Bit 5 (bit name “RDRF”) of
なお、受信データレジスタ711に受信データが格納された状態となると、CPU56は、受信データを受信データレジスタ711から読み込んで受信処理を行える状態となる。この実施の形態では、シリアル通信回路505は、受信データフルを検出すると、ステータスレジスタA705のビット5を「1」にするとともに、受信処理が可能になったものとしてCPU56に割り込み要求(受信時割り込み要求という)を行う。
When the reception data is stored in the reception data register 711, the
ステータスレジスタA705のビット4(ビット名「IDLE」)には、受信回路がアイドルラインを検出したことを示すアイドルライン検出フラグが格納される。図27(B)に示すように、ビット4に「0」が格納されている場合、シリアル通信回路505の受信部がアイドルラインを検出していない状態であることを示す。また、ビット4に「1」が格納されている場合、シリアル通信回路505の受信部がアイドルラインを検出した状態であることを示す。
Bit 4 (bit name “IDLE”) of the status register A705 stores an idle line detection flag indicating that the reception circuit has detected an idle line. As shown in FIG. 27B, when “0” is stored in
ステータスレジスタA705のビット3(ビット名「OR」)には、CPU56が受信データレジスタ711が格納する受信データを読み込む前に、受信用シフトレジスタ713が次のデータを受信してしまったこと(オーバーラン)を示すオーバーランフラグが格納される。図27(B)に示すように、ビット3に「0」が格納されている場合、受信回路がオーバーランを検出していない状態であることを示す。また、ビット3に「1」が格納されている場合、受信回路がオーバーランを検出した状態であることを示す。
In bit 3 (bit name “OR”) of the
なお、オーバーランが発生すると、受信データレジスタ711内の受信データが読み込まれる前に受信用シフトレジスタ713に次の受信データが格納されてしまうので、受信データが上書きされてしまいCPU56が受信データを正しく読み込めなくなってしまう。そのため、各制御基板が搭載するマイクロコンピュータと正しく通信を行えなくなり、CPU56が誤動作をする原因となる。この実施の形態では、シリアル通信回路505は、オーバーランを検出すると、ステータスレジスタA705のビット3を「1」にするとともに、通信時にエラーが発生したものとしてCPU56に割り込み要求を行う。
If an overrun occurs, the next received data is stored in the
ステータスレジスタA705のビット2(ビット名「NF」)には、受信データにノイズを検出したことを示すノイズエラーフラグが格納される。図27(B)に示すように、ビット2に「0」が格納されている場合、受信回路が受信データにノイズを検出していない状態であることを示す。また、ビット2に「1」が格納されている場合、受信回路が受信データにノイズを検出した状態であることを示す。
Bit 2 (bit name “NF”) of the status register A705 stores a noise error flag indicating that noise has been detected in the received data. As shown in FIG. 27B, when “0” is stored in
例えば、シリアル通信回路505は、受信データの各ビットを検出する際に、ボーレート生成回路703が生成したボーレートを用いて、所定ビット長の「1」または「0」を検出する。この場合、検出した「1」または「0」の長さが所定ビット長に満たない場合、シリアル通信回路505は、受信データにノイズが発生したものとしてノイズエラーを検出する。ノイズエラーが発生すると、ノイズによって正しい受信データを受信できない可能性が高く、CPU56が誤動作をする原因となる。この実施の形態では、シリアル通信回路505は、ノイズエラーを検出すると、ステータスレジスタA705のビット2を「1」にするとともに、通信時にエラーが発生したものとしてCPU56に割り込み要求を行う。
For example, when detecting each bit of the received data, the
ステータスレジスタA705のビット1(ビット名「FE」)には、受信データのストップビットの位置が「0」(本来、ストップビットは「1」)であることを検出したこと(フレーミングエラー)を示すフレーミングエラーフラグが格納される。図27(B)に示すように、ビット1に「0」が格納されている場合、受信回路が受信データにフレーミングエラーを検出していない状態であることを示す。また、ビット1に「1」が格納されている場合、受信回路がフレーミングエラーを検出した状態であることを示す。
Bit 1 (bit name “FE”) of the
フレーミングエラーが発生すると、受信データのストップビットを正しく受信できなかった状態であるので、正しい受信データを受信できない可能性が高く、CPU56が誤動作をする原因となる。この実施の形態では、シリアル通信回路505は、フレーミングエラーを検出すると、ステータスレジスタA705のビット1を「1」にするとともに、通信時にエラーが発生したものとしてCPU56に割り込み要求を行う。
When a framing error occurs, it is in a state where the stop bit of the received data has not been correctly received, and therefore there is a high possibility that correct received data cannot be received, causing the
ステータスレジスタA705のビット0(ビット名「PF」)には、受信データから求めたパリティの値と、受信データに含まれるパリティの値とが一致しなかったこと(パリティエラー)を示すパリティエラーフラグが格納される。図27(B)に示すように、ビット0に「0」が格納されている場合、受信回路が受信データにパリティエラーを検出していない状態であることを示す。また、ビット0に「1」が格納されている場合、受信回路がパリティエラーを検出した状態であることを示す。
Bit 0 (bit name “PF”) of
パリティエラーが発生すると、受信データの各データビットまたはパリティビットを正しく受信できなかった状態であるので、正しい受信データを受信できない可能性が高く、CPU56が誤動作をする原因となる。この実施の形態では、シリアル通信回路505は、パリティエラーを検出すると、ステータスレジスタA705のビット0を「1」にするとともに、通信時にエラーが発生したものとしてCPU56に割り込み要求を行う。
When a parity error occurs, it is in a state where each data bit or parity bit of the received data has not been correctly received, so there is a high possibility that correct received data cannot be received, causing the
図28(A)は、ステータスレジスタB706の例を示す説明図である。ステータスレジスタB706は、シリアル通信回路505の受信状態(受信ステータス)を確認するためのレジスタである。この実施の形態では、ステータスレジスタB706のビットの値を確認することによって、CPU56は、シリアル通信回路505の受信ステータスを確認することができる。図28(B)に示すように、ステータスレジスタB706は、8ビットレジスタであり、初期値が「0(=00h)」に設定されている。また、ステータスレジスタB706は、ビット0が読出のみ可能な状態に構成されている。したがって、ステータスレジスタA705のビット0に値を書き込む制御を行っても無効とされる。また、ステータスレジスタB706は、ビット1〜ビット7が書込および読出ともに不可能な状態に構成されている。したがって、ステータスレジスタA705のビット1〜ビット7に値を書き込む制御を行っても無効とされ、ビット1〜ビット7から読み出す値は全て「0(=0000b)」である。
FIG. 28A is an explanatory diagram showing an example of the status register B706. The status register B 706 is a register for confirming the reception state (reception status) of the
図28(B)は、ステータスレジスタB706に格納されるステータス確認データの一例を示す図である。図28(B)に示すように、ステータスレジスタB706のビット0(ビット名「RAF」)には、受信回路が受信データを受信中であること(受信アクティブ)を示す受信アクティブフラグが格納される。図28(B)に示すように、ビット0に「0」が格納されている場合、受信回路が受信データを受信中でないことを示す。また、ビット0に「1」が格納されている場合、受信回路が受信データを受信中であることを示す。なお、シリアル通信回路505は、スタートビットを検出すると、受信データの受信が開始されたものとして、ステータスレジスタB706のビット0を「1」にする。
FIG. 28B is a diagram showing an example of status confirmation data stored in the status register B706. As shown in FIG. 28B, a reception active flag indicating that the reception circuit is receiving reception data (reception active) is stored in bit 0 (bit name “RAF”) of the status register B706. . As shown in FIG. 28B, when “0” is stored in
図29(A)は、制御レジスタC709の例を示す説明図である。制御レジスタC709は、シリアル通信回路505の通信エラー時の割り込み要求を許可するか否かを設定するレジスタである。この実施の形態では、制御レジスタC709の各ビットの値が設定されることによって、シリアル通信回路505からの通信時の割り込み要求を許可するか禁止するかが設定される。制御レジスタC709には、通信エラー時の各種割り込み要求を許可するか否かを示すエラー割り込み要求設定データが主として設定される。なお、制御レジスタC709には、エラー割り込み要求設定データ以外に、データ長を9ビットに設定した場合の9ビット目のデータが格納される。シリアル通信回路505の各種設も設定される。図29(A)に示すように、制御レジスタC709は、8ビットレジスタであり、初期値が「0(=00h)」に設定されている。また、制御レジスタC709は、ビット0〜ビット3およびビット6,7が書込および読出ともに可能な状態に構成されている。また、制御レジスタC709は、ビット4,5が書込および読出ともに不可能な状態に構成されている。したがって、制御レジスタC709のビット4,5に値を書き込む制御を行っても無効とされ、ビット4,5から読み出す値は全て「0(=0000b)」である。
FIG. 29A is an explanatory diagram illustrating an example of the control register C709. The control register C709 is a register for setting whether to permit an interrupt request when a communication error occurs in the
図29(B)は、制御レジスタC709に設定されるエラー割り込み要求設定データの一例を示す説明図である。図29(B)に示すように、制御レジスタC709のビット7(ビット名「R8」)には、データ長を9ビットに設定した場合の受信データの9ビット目のデータが格納される。また、制御レジスタC709のビット6(ビット名「T8」)には、データ長を9ビットに設定した場合の送信データの9ビット目のデータが格納される。 FIG. 29B is an explanatory diagram showing an example of error interrupt request setting data set in the control register C709. As shown in FIG. 29B, the bit 7 (bit name “R8”) of the control register C709 stores the 9th bit of the received data when the data length is set to 9 bits. Further, bit 6 (bit name “T8”) of the control register C709 stores the 9th bit data of the transmission data when the data length is set to 9 bits.
制御レジスタC709のビット3(ビット名「ORIE」)には、オーバーランを検出した場合に行う割り込み要求であるオーバーランフラグ割り込み要求を許可するか否かを示す設定データが設定される。図29(B)に示すように、ビット3を「0」に設定することによって、オーバーランフラグ割り込み要求を禁止するように設定される。また、ビット3を「1」に設定することによって、オーバーランフラグ割り込み要求を許可するように設定される。
In bit 3 (bit name “ORIE”) of the control register C709, setting data indicating whether or not to permit an overrun flag interrupt request, which is an interrupt request to be performed when an overrun is detected, is set. As shown in FIG. 29B, by setting
制御レジスタC709のビット2(ビット名「NEIE」)には、ノイズエラーを検出した場合に行う割り込み要求であるノイズエラーフラグ割り込み要求を許可するか否かを示す設定データが設定される。図29(B)に示すように、ビット2を「0」に設定することによって、ノイズエラーフラグ割り込み要求を禁止するように設定される。また、ビット2を「1」に設定することによって、ノイズエラーフラグ割り込み要求を許可するように設定される。
Bit 2 (bit name “NEIE”) of the control register C709 is set with setting data indicating whether or not to permit a noise error flag interrupt request, which is an interrupt request to be performed when a noise error is detected. As shown in FIG. 29B, by setting
制御レジスタC709のビット1(ビット名「FEIE」)には、フレーミングエラーを検出した場合に行う割り込み要求であるフレーミングエラーフラグ割り込み要求を許可するか否かを示す設定データが設定される。図29(B)に示すように、ビット1を「0」に設定することによって、フレーミングエラーフラグ割り込み要求を禁止するように設定される。また、ビット1を「1」に設定することによって、フレーミングエラーフラグ割り込み要求を許可するように設定される。
Bit 1 (bit name “FEIE”) of the control register C709 is set with setting data indicating whether or not to permit a framing error flag interrupt request, which is an interrupt request to be performed when a framing error is detected. As shown in FIG. 29B, by setting
制御レジスタC709のビット0(ビット名「PEIE」)には、パリティエラーを検出した場合に行う割り込み要求であるパリティエラーフラグ割り込み要求を許可するか否かを示す設定データが設定される。図29(B)に示すように、ビット0を「0」に設定することによって、パリティエラーフラグ割り込み要求を禁止するように設定される。また、ビット0を「1」に設定することによって、パリティエラーフラグ割り込み要求を許可するように設定される。
Bit 0 (bit name “PEIE”) of the control register C709 is set with setting data indicating whether or not to permit a parity error flag interrupt request, which is an interrupt request to be performed when a parity error is detected. As shown in FIG. 29B, by setting
図30は、シリアル通信回路505が備えるデータレジスタの例を示す説明図である。データレジスタ701は、シリアル通信回路505が送受信するデータを格納するレジスタである。図30に示すように、データレジスタは、8ビットレジスタであり、初期値が「0(=00h)」に設定されている。また、データレジスタ701は、ビット0〜ビット7が書込および読出ともに可能な状態に構成されている。
FIG. 30 is an explanatory diagram illustrating an example of a data register included in the
この実施の形態では、シリアル通信回路505が送信データを送信する場合、データレジスタは、送信データレジスタ710として用いられる。なお、データ長を9ビットに設定した場合、データレジスタおよび制御レジスタC709のビット6が送信データレジスタ710として用いられる。この場合、データレジスタのビット0〜ビット7が送信データレジスタ710のビット0〜ビット7として用いられ、制御レジスタC709のビット6が送信データレジスタ710のビット8として用いられる。
In this embodiment, when the
また、シリアル通信回路505が受信データを受信する場合、データレジスタは、受信データレジスタ711として用いられる。なお、データ長を9ビットに設定した場合、データレジスタおよび制御レジスタC709のビット7が受信データレジスタ711として用いられる。この場合、データレジスタのビット0〜ビット7が受信データレジスタ711のビット0〜ビット7として用いられ、制御レジスタC709のビット7が受信データレジスタ711のビット8として用いられる。
When the
割り込み制御回路714は、CPU56に各種割り込み要求を行う。この実施の形態では、割り込み制御回路714は、制御レジスタB708のビット6(TCIE)が「1」に設定されている場合、送信データレジスタ710に送信データの送信を完了した状態となると、CPU56に割り込み信号を出力するとともに、ステータスレジスタA705のビット6(TC)に「1」を設定することによって割り込み要求を行う。なお、ステータスレジスタA705のビットの設定値により割込要因を識別可能とするのでなく、割り込み制御回路714は、割込要因毎に異なる割り込み信号をCPU56に出力するようにしてもよい。
The interrupt
また、割り込み制御回路714は、制御レジスタB708のビット5(RIE)が「1」に設定されている場合、受信データレジスタ711に受信データが格納されている状態になると(受信データフルを検出すると)、CPU56に割り込み信号を出力するとともに、ステータスレジスタA705のビット5(RDRF)に「1」を設定することによって割り込み要求を行う。
In addition, when bit 5 (RIE) of the control register B 708 is set to “1”, the interrupt
また、割り込み制御回路714は、制御レジスタC709のビット0〜3のいずれかが「1」に設定されている場合、各種通信エラーが発生すると、CPU56に割り込み信号を出力するとともに、通信エラーの種類に応じて、ステータスレジスタA705のビット0〜ビット3に「1」を設定することによって割り込み要求を行う。例えば、制御レジスタC709のビット3(ORIE)が「1」に設定されている場合、オーバーランを検出して割り込み要求を行うときに、ステータスレジスタA705のビット3(OR)に「1」を設定する。また、例えば、制御レジスタC709のビット2(NEIE)が「1」に設定されている場合、ノイズエラーを検出して割り込み要求を行うときに、ステータスレジスタA705のビット2(NF)に「1」を設定する。また、例えば、制御レジスタC709のビット1(FEIE)が「1」に設定されている場合、フレーミングエラーを検出して割り込み要求を行うときに、ステータスレジスタA705のビット1(FE)に「1」を設定する。また、例えば、制御レジスタC709のビット0(PEIE)が「1」に設定されている場合、パリティエラーを検出して割り込み要求を行うときに、ステータスレジスタA705のビット0(PF)に「1」を設定する。なお、複数の通信エラーを検出した場合、割り込み制御回路714は、複数の通信エラーにもとづいて割り込み要求を行うとともに、ステータスレジスタA705の該当するビットをそれぞれ「1」に設定する。
Further, when any of the
送信フォーマット/パリティ生成回路715は、送信データのデータフォーマットを生成する。この実施の形態では、送信フォーマット/パリティ生成回路715は、送信データレジスタ710に格納される送信データにスタートビットおよびストップビットを付加してデータフォーマットを生成し、送信用シフトレジスタ712に転送する。また、制御レジスタA707のビット1(PE)に「1」が設定され、パリティ機能を使用する旨が設定されている場合、送信フォーマット/パリティ生成回路715は、送信データにパリティビットを付加してデータフォーマットを生成する。
The transmission format / parity generation circuit 715 generates a data format of transmission data. In this embodiment, the transmission format / parity generation circuit 715 generates a data format by adding a start bit and a stop bit to the transmission data stored in the transmission data register 710 and transfers the data format to the
受信フォーマット/パリティチェック回路716は、受信データのデータフォーマットを検出する。この実施の形態では、受信フォーマット/パリティチェック回路716は、受信用シフトレジスタ713に格納される受信データからスタートビットおよびストップビットを検出し、受信データに含まれるデータ部分を検出して受信データレジスタ711に転送する。また、制御レジスタA707のビット1(PE)に「1」が設定され、パリティ機能を使用する旨が設定されている場合、受信フォーマット/パリティチェック回路716は、受信データのパリティを求め、受信データに含まれるパリティと一致するか否かを検出する。また、求めた値が受信データに含まれるパリティと一致しない場合、受信フォーマット/パリティチェック回路716は、パリティエラーを検出する。なお、後述するシリアル通信回路設定処理において通信エラー時割り込み要求を許可する旨が設定されてる場合、割り込み制御回路714は、パリティエラーを検出すると、通信エラーの発生を割込原因としてCPU56に割り込み要求を行う。
The reception format / parity check circuit 716 detects the data format of the reception data. In this embodiment, the reception format / parity check circuit 716 detects the start bit and stop bit from the reception data stored in the
図31は、遊技制御用マイクロコンピュータ560における記憶領域のアドレスマップの一例を示す説明図である。図31に示すように、遊技制御用マイクロコンピュータ560の記憶領域のうち、0000h番地〜1FFFh番地の領域は、ROM54に割り当てられている。また、7E00h番地〜7FFFh番地の領域は、RAM55に割り当てられている。さらに、FD00h番地〜FE00h番地の領域は、乱数最大値設定レジスタ535等の内蔵レジスタに割り当てられている。
FIG. 31 is an explanatory diagram showing an example of an address map of a storage area in the
また、図31に示すように、ROM54に割り当てられている0000h番地〜1FFFh番地の領域は、ユーザプログラムエリアとユーザプログラム管理エリアとを含む。0000h番地〜1F7Fh番地の領域のユーザプログラムエリアには、ユーザ(例えば、遊技機の製作者)により予め作成されたプログラム(ユーザプログラム)550が記憶される。また、1F80h番地〜1FFFh番地の領域のユーザプログラム管理エリアには、CPU56がユーザプログラム550を実行するために必要となるデータ(ユーザプログラム実行データ)が記憶される。また、RAM55に割り当てられている7E00h番地〜7FFFh番地の領域のうち、7E00h番地〜7EFFh番地の領域は未使用領域であり、7F00h番地〜7FFFh番地の領域はワークエリアとして用いられる。
Further, as shown in FIG. 31, the area of
図32は、ユーザプログラム管理エリアにおけるアドレスマップの一例を示す説明図である。図32に示すように、1F97h番地の領域には、乱数回路503のカウンタ521に入力される初期値を変更するための方式である初期値変更方式のうち、ユーザによって選択された初期値変更方式を指定するための初期値変更方式設定データが記憶される。また、1F98h番地および1F99h番地の領域には、RAM55に割り当てられた7F00h番地〜7FFFh番地のうち、ユーザによって予め指定されたRAM55における番地(指定RAM番地)を特定するためのRAM番地データが記憶される。この場合、指定RAM番地を示す値のうち、指定RAM番地の下位の値が1F98h番地に記憶され、指定RAM番地の上位の値が1F99h番地に記憶される。
FIG. 32 is an explanatory diagram showing an example of an address map in the user program management area. As shown in FIG. 32, in the area of address 1F97h, the initial value changing method selected by the user among the initial value changing methods which are methods for changing the initial value input to the counter 521 of the
図33は、初期値変更方式設定データの一例を示す説明図である。図33に示すように、初期値変更データは、8ビットのデータから構成される。初期値変更データ「00h」は、初期値変更方式として、初期値を変更しないことを指定するデータである。この実施の形態では、初期値変更データ「00h」が設定されている場合、乱数回路503のカウンタ521は、予め定められた初期値「0」から所定の最終値までカウント値を更新することになる。また、初期値変更データ「01h」は、初期値変更方式として、カウンタ521に入力する初期値を、遊技制御用マイクロコンピュータ560を識別するためのIDナンバにもとづく値に変更することを指定するデータである。この実施の形態では、初期値変更データ「01h」が設定されている場合、カウンタ521が更新するカウンタ値の初期値が「0」からIDナンバにもとづく値に変更され、カウンタ521は、変更後の初期値から所定の最終値までカウント値を更新することになる。
FIG. 33 is an explanatory diagram of an example of initial value change method setting data. As shown in FIG. 33, the initial value change data is composed of 8-bit data. The initial value change data “00h” is data specifying that the initial value is not changed as the initial value change method. In this embodiment, when the initial value change data “00h” is set, the counter 521 of the
ユーザプログラムエリアに記憶されるユーザプログラム550について説明する。図34は、ユーザプログラム550の構成例を示す説明図である。図34に示すように、この実施の形態では、ユーザプログラム550は、複数種類のプログラムモジュールから構成される乱数回路設定プログラム551と、表示結果決定プログラム552と、カウント値順列変更プログラム554と、乱数値更新プログラム555と、シリアル通信回路設定プログラム556と、割込優先順位設定プログラム557とを含む。 The user program 550 stored in the user program area will be described. FIG. 34 is an explanatory diagram showing a configuration example of the user program 550. As shown in FIG. 34, in this embodiment, the user program 550 includes a random number circuit setting program 551 composed of a plurality of types of program modules, a display result determination program 552, a count value permutation change program 554, A numerical value update program 555, a serial communication circuit setting program 556, and an interrupt priority setting program 557 are included.
乱数回路設定プログラム551は、乱数回路503にランダムRの値を更新させるための初期設定を行う乱数回路設定処理を実行させるためのプログラムである。すなわち、CPU56は、乱数回路設定プログラム551に従って処理を実行することにより、乱数回路初期設定手段として機能する。
The random number circuit setting program 551 is a program for executing a random number circuit setting process for performing initial setting for causing the
図35は、乱数回路設定プログラム551の構成例を示す説明図である。図35に示すように、乱数回路設定プログラム551は、複数種類のプログラムモジュールとして、乱数最大値設定モジュール551aと、乱数更新方式選択モジュール551bと、周期設定モジュール551cと、乱数回路起動モジュール551dと、初期値変更モジュール551eと、乱数回路選択モジュール551fとを含む。
FIG. 35 is an explanatory diagram showing a configuration example of the random number circuit setting program 551. As shown in FIG. 35, the random number circuit setting program 551 includes a random number maximum value setting module 551a, a random number update
乱数最大値設定モジュール551aは、ユーザ(例えば、遊技機の製作者)によって予め設定されたランダムRの最大値を乱数回路503に設定させるためのプログラムモジュールである。CPU56は、乱数最大値設定モジュール551aに従って処理を実行することによって、ユーザによって予め設定されたランダムRの最大値を指定する乱数最大値設定データを、乱数最大値設定レジスタ535に書き込む。そのようにすることによって、CPU56は、ユーザによって予め設定されたランダムRの最大値を乱数回路503に設定する。例えば、ユーザによってランダムRの最大値として予め「255」が設定された場合、CPU56は、乱数最大値設定レジスタ535に乱数最大値設定データ「00FFh」を書き込んで、ランダムRの最大値「255」を乱数回路503に設定する。
The random number maximum value setting module 551a is a program module for causing the
乱数更新方式選択モジュール551bは、ユーザによって選択された乱数更新方式(第1の乱数更新方式または第2の乱数更新方式)を乱数回路503に設定させるためのプログラムモジュールである。CPU56は、乱数更新方式選択モジュール551bに従って処理を実行することによって、ユーザによって選択された乱数更新方式を指定する乱数更新方式選択データ「01b」または「10b」を乱数更新方式選択レジスタ540に書き込む。そのようにすることによって、CPU56は、ユーザによって選択された乱数更新方式を乱数回路503に設定する。よって、遊技制御用マイクロコンピュータ560は、第1の乱数更新方式又は第2の乱数更新方式のうちのいずれかを、乱数回路503が乱数更新に用いる乱数更新方式として選択する機能を備える。
The random number update
周期設定モジュール551cは、ユーザによって予め設定された内部クロック信号の周期(すなわち、クロック信号出力回路524がセレクタ528および反転回路532にクロック信号を出力する周期)を乱数回路503に設定させるためのプログラムモジュールである。CPU56は、周期設定モジュール551cに従って処理を実行することによって、ユーザによって予め設定された内部クロック信号の周期を指定するための周期設定データを周期設定レジスタ537に書き込む。そのようにすることによって、CPU56は、ユーザによって予め設定された内部クロック信号の周期を乱数回路503に設定する。例えば、ユーザによって内部クロック信号の周期が予め「システムクロック信号の周期×128×16」と設定された場合、CPU56は、周期設定レジスタ537に周期設定データ「0Fh」を書き込んで、内部クロック信号の周期「システムクロック信号の周期×128×16」を乱数回路503に設定する。
The
乱数回路起動モジュール551dは、乱数回路503を起動させるためのプログラムモジュールである。CPU56は、乱数回路起動モジュール551dに従って処理を実行することによって、乱数回路起動データ「80h」を乱数回路起動レジスタ541に書き込むことにより、乱数回路503を起動させる。
The random number
初期値変更モジュール551eは、カウンタ521が更新するカウント値の初期値を変更させるためのプログラムモジュールである。CPU56は、初期値変更モジュール551eに従って処理を実行することによって、初期値変更手段として機能する。CPU56は、初期値変更モジュール551eを実行して、ユーザによって選択された初期値変更方式によって、カウンタ521が更新するカウント値の初期値を変更させる。そのようにすることによって、CPU56は、初期値変更方式を選択する機能を備える。
The initial value change module 551e is a program module for changing the initial value of the count value updated by the counter 521. The
この実施の形態では、ユーザプログラム管理エリアの1F97h番地の領域に初期値変更方式設定データ「01h」が記憶されている場合、CPU56は、カウント値の初期値を、遊技制御用マイクロコンピュータ560毎に付与された固有のIDナンバにもとづいて算出された値に変更させる。
In this embodiment, when the initial value change method setting data “01h” is stored in the area 1F97h in the user program management area, the
例えば、遊技制御用マイクロコンピュータ560は、ROM54の所定の記憶領域に、遊技制御用マイクロコンピュータ560のIDナンバと、IDナンバにもとづいて所定の演算を行って求めた演算値とを予め対応付けて記憶している。この場合、例えば、遊技制御用マイクロコンピュータ560のIDナンバが「100」であるとすると、IDナンバ「100」に所定値「50」を加算して求めた演算値「150」を、予めIDナンバに対応付けて記憶している。また、例えば、IDナンバ「100」に所定値「50」を減算して求めた演算値「50」を、予めIDナンバに対応付けて記憶している。また、例えば、予めIDナンバに対応づけて所定値だけを記憶していてもよい。そして、遊技制御用マイクロコンピュータ560のCPU56は、予め記憶される所定値(例えば、「50」)にIDナンバ(例えば、「100」を加算して求めた値「150」を、カウント値の初期値としてもよい。また、CPU56は、予め記憶される所定値(例えば、「50」)をIDナンバ(例えば、「100」)から減算して求めた値「50」を、カウント値の初期値としてもよい。なお、遊技制御用マイクロコンピュータ560は、データ書き込みが禁止されている記憶領域であれば、遊技制御用マイクロコンピュータ560のIDナンバを、ROM54の所定の記憶領域に記憶していてもよく、RAM55の所定の記憶領域に記憶していてもよい。
For example, the
そして、初期値変更方式設定データ「01h」が記憶されている場合、CPU56は、予め記憶するIDナンバにもとづく演算値にカウント値の初期値を変更させる。そのようにすれば、乱数回路503が発生する乱数のランダム性をより向上させることができ、遊技制御用マイクロコンピュータ560のIDナンバを見ただけでは乱数の初期値を認識しにくくすることができる。そのため、無線信号を用いた取り込み信号を遊技機に対して発生させるなどの行為によって、大当り状態への移行条件を不正に成立させられてしまうことをより確実に防止することができ、セキュリティ性を向上させることができる。
When the initial value change method setting data “01h” is stored, the
また、例えば、初期値変更方式設定データ「01h」が記憶されている場合、CPU56は、遊技制御用マイクロコンピュータ560のIDナンバと所定値とを演算して(例えば、IDナンバに所定値を加算して)求めた演算値にカウント値の初期値を変更させる。この場合、例えば、CPU56は、乱数を用いてランダムに変化させた値をIDナンバと演算することによって、演算に用いる値をランダムに更新し初期値を求めてもよい。そのようにすれば、乱数回路503が発生する乱数のランダム性をより向上させることができる。
For example, when initial value change method setting data “01h” is stored, the
乱数回路選択モジュール551fは、遊技制御用マイクロコンピュータ560が内蔵する各乱数回路503の中から、タイマ割込処理の実行時に用いる乱数回路を設定するためのプログラムモジュールである。CPU56は、乱数回路選択モジュール551fに従って処理を実行することによって、遊技制御用マイクロコンピュータ560が内蔵する2つの乱数回路(12ビット乱数回路503aおよび16ビット乱数回路503b)のうち、いずれの乱数回路をタイマ割込処理の実行時に用いるかを設定する。例えば、CPU56は、ROM54の所定の記憶領域に記憶された所定の設定値(ユーザによって予め設定された値)に従って、タイマ割込処理の実行時に用いる乱数回路として、12ビット乱数回路503aまたは16ビット乱数回路503bを設定する。
The random number circuit selection module 551f is a program module for setting a random number circuit to be used at the time of executing the timer interrupt process from among the
なお、タイマ割込処理の実行時に用いる乱数回路として、12ビット乱数回路503aおよび16ビット乱数回路503bの両方を設定してもよい。この場合、CPU56は、例えば、12ビット乱数回路503aが発生した乱数にもとづいて変動パターンを決定し、16ビット乱数回路503bが発生した乱数にもとづいて大当り判定を行うようにしてもよい。この実施の形態では、乱数値記憶回路531は、12ビット乱数回路503aと16ビット乱数回路503bとにそれぞれ存在する(すなわち、12ビット用の乱数を記憶する乱数値記憶回路と、16ビット用の乱数を記憶する乱数値記憶回路とが、別個に存在する)。また、12ビット乱数回路503aおよび16ビット乱数回路503bの両方を設定した場合、CPU56は、12ビット乱数回路503aから読み出した乱数と、16ビット乱数回路503bから読み出した乱数とを、RAM55に設けられた別々のバッファ領域にそれぞれ格納する。そのため、12ビット乱数回路503aから乱数を読み出すタイミングと、16ビット乱数回路503bから乱数を読み出すタイミングとが同じであっても、2つの異なる乱数を抽出し別々のバッファ領域に格納することができる。
Note that both the 12-bit
乱数値更新プログラム555は、乱数更新方式として第1の乱数更新方式が選択されているときに、乱数値記憶回路531に格納されているランダムRの値を更新させるためのプログラムである。CPU56は、乱数値更新プログラム555に従って処理を実行することによって、乱数値更新手段として機能する。CPU56は、第1の乱数更新方式が選択されているときに、乱数値更新プログラム555を実行して、カウント値更新データ「01h」をカウント値更新レジスタ538に書き込むことにより、カウンタ521にカウント値を更新させ、乱数値記憶回路531に格納さているランダムRの値を更新させる。なお、乱数更新方式として第2の乱数更新方式が選択されている場合には、クロック信号出力回路537が出力する乱数発生用クロック信号によって、カウンタ521にカウント値を更新させ、乱数値記憶回路531に格納さているランダムRの値を更新させることになる。
The random value update program 555 is a program for updating the value of the random R stored in the random value storage circuit 531 when the first random number update method is selected as the random number update method. The
表示結果決定プログラム552は、特別図柄表示装置8における表示結果を大当り図柄とするか否かを決定するためのプログラムである。CPU56は、表示結果決定プログラム552に従って処理を実行することによって、表示結果決定手段として機能する。
The display result determination program 552 is a program for determining whether or not the display result in the special
この実施の形態では、CPU56は、遊技球が可変入賞球装置15に入賞して特別図柄の可変表示を実行するための条件(実行条件)が成立したことに応じて、表示結果決定プログラム552に従って処理を実行する。そして、CPU56は、乱数値記憶回路531から更新後のランダムRの値を読み出して、特別図柄表示装置8における表示結果を大当り図柄とするか否かを決定する。
In this embodiment, the
図36は、第1の乱数更新方式が選択されている場合に、CPU56がランダムRの値を更新させたりランダムRの値を読出したりする動作を示す説明図である。図36に示すように、第1の乱数更新方式が選択されている場合、CPU56は、カウント値更新データ「01h」をカウント値更新レジスタ538に書き込むことによって、乱数値記憶回路531が記憶するランダムRの値(例えば「2」)を更新させる。そして、CPU56は、遊技球が可変入賞球装置15に入賞して特別図柄の可変表示を実行するための条件(実行条件)が成立したことに応じて、乱数値記憶回路531からランダムRの値(例えば「2」)を読み出す。
FIG. 36 is an explanatory diagram illustrating an operation in which the
なお、乱数値記憶回路531が記憶するランダムRの値をさらに更新させる場合、前回更新時にランダムRの値を更新したときから、クロック回路501が出力するシステムクロック信号の周期以上の間隔を経過したときに、カウント値更新レジスタ538にカウント値更新データ「01h」を書き込まなければならない。なぜなら、更新後のランダムRの値を乱数値記憶回路531から読み出す時間を確保する必要があるからである。
When the random R value stored in the random value storage circuit 531 is further updated, an interval equal to or longer than the cycle of the system clock signal output from the
図37は、第2の乱数更新方式が選択されている場合に、CPU56がランダムRの値を読出したりする動作を示す説明図である。図37に示すように、第2の乱数更新方式が選択されている場合、タイマ回路534は、乱数値取込データ「01h」を乱数値取込レジスタ539に書き込むことによって、カウンタ521が出力するカウント値(例えば「2」)を乱数値記憶回路531に取り込ませて、乱数値記憶回路531が記憶するランダムRの値を更新させる。そして、CPU56は、乱数値記憶回路531から更新後のランダムRの値(例えば「2」)を読み出す。
FIG. 37 is an explanatory diagram showing an operation in which the
具体的には、第2の乱数更新方式が選択されている場合、カウンタ521は、乱数発生用クロック信号SI1を入力したことをトリガとしてカウント値Cを更新する。その後、乱数値取込データ「01h」が乱数値取込レジスタ539に書き込まれると、ラッチ信号生成回路533はラッチ信号SLを乱数値記憶回路531に出力する。そして、乱数値記憶回路531は、ラッチ信号SLを入力したことをトリガとしてカウンタ521が出力するカウント値を読み込んで記憶する。そして、CPU56は、乱数値記憶回路531が記憶するランダムRの値を読み出す。
Specifically, when the second random number update method is selected, the counter 521 updates the count value C using the input of the random number generation clock signal SI1 as a trigger. Thereafter, when the random value fetch data “01h” is written into the random value fetch
なお、タイマ回路534が乱数値取込データ「01h」を乱数値取込レジスタ539に書き込まなければ、カウンタ521がカウント値を更新しても、乱数値記憶回路531は、カウンタ521が更新する乱数値を記憶しない。例えば、タイマ回路534が乱数値取込データ「01h」を乱数値取込レジスタ539に書き込み、カウンタ521が出力するカウント値「3」を乱数値記憶回路531に取り込ませて、乱数値記憶回路531が記憶するランダムRの値「3」を更新させたとする。この場合、タイマ回路534が乱数値取込データ「01h」を再び乱数値取込レジスタ539に書き込まなければ、カウンタ521が出力するカウント値が「3」から「4」や「5」に更新されても、乱数値記憶回路531が記憶する乱数値は更新されず、乱数値記憶回路531から読み出される乱数値は「3」のままである。
If the
カウント値順列変更プログラム554は、カウント値順列変更レジスタ536にカウント値順列変更データ「01h」を書き込んで、乱数値記憶回路531が記憶するカウント値の順列を変更させるカウント値順列変更処理を実行するためのプログラムである。CPU56は、カウント値順列変更プログラム554に従って処理を実行することによって、数値データ順列変更手段として機能する。CPU56は、カウント値順列変更プログラム554を実行して、カウント値順列変更レジスタ536にカウント値順列変更データ「01h」を書き込むことによって、カウント値順列変更回路523が出力し乱数値記憶回路531に入力されるカウント値の順列を変更させる。
The count value permutation change program 554 writes count value permutation change data “01h” to the count value permutation change register 536, and executes a count value permutation change process for changing the permutation of count values stored in the random value storage circuit 531. It is a program for. The
シリアル通信回路設定プログラム556は、シリアル通信回路505に各制御基板に搭載されたマイクロコンピュータ(本例では、払出制御用マイクロコンピュータ)とシリアル通信させるための初期設定を行うシリアル通信回路設定処理を実行させるためのプログラムである。すなわち、CPU56は、シリアル通信回路設定プログラム556に従って処理を実行することにより、シリアル通信回路設定手段として機能する。
The serial communication circuit setting program 556 executes a serial communication circuit setting process for performing an initial setting for serial communication with a microcomputer (in this example, a payout control microcomputer) mounted on each control board in the
割込優先順位設定プログラム557は、シリアル通信回路505の割り込み要求に応じて実行する割込処理の優先順位を初期設定するためのプログラムである。すなわち、CPU56は、割込優先順位設定プログラム556に従って処理を実行することにより、優先順位初期設定手段として機能する。
The interrupt priority setting program 557 is a program for initially setting the priority of interrupt processing executed in response to an interrupt request from the
また、遊技制御用マイクロコンピュータ560は、図38に示すように、特図保留メモリ570と、大当り判定用テーブルメモリ571と、フラグメモリ572と、始動入賞口スイッチタイマメモリ573とを備える。
Further, as shown in FIG. 38, the
特図保留メモリ570は、遊技球が可変入賞球装置15に入賞して特別図柄の可変表示の実行条件は成立したが、未だ可変表示の開始条件が成立していない(例えば、特別図柄表示装置8がまだ可変表示を実行中である)可変表示の実行条件の成立回数を含む保留データを記憶するためのメモリ(保存領域)である。特図保留メモリ570は、4つのエントリを備え、各エントリには、遊技球が可変入賞球装置15に入賞した順に、保留番号と、入賞に応じて乱数値記憶回路531から読み出したランダムRの値とが対応付けて格納される。また、特別図柄表示装置8における特別図柄の可変表示が1回終了したり、大当り遊技状態が終了したりするごとに、特図保留メモリ570の最上位の情報にもとづいた可変表示の開始条件が成立し、特図保留メモリ570最上位の情報にもとづいた可変表示が実行される。この場合、特別図柄の可変表示の開始条件が成立すると、特図保留メモリ570の第2位以下に登録されている情報が1位ずつ繰り上がる。また、特別図柄の可変表示中に遊技球が可変入賞球装置15に新たに入賞した場合には、その新たな入賞にもとづいて乱数値記憶回路531から読み出されたランダムRの値が、特図保留メモリ570の空エントリに登録される。
In the special
大当り判定用テーブルメモリ571は、CPU56が特別図柄表示装置8の表示結果を大当り図柄とするか否かを判定するために用いる複数の大当り判定テーブルを記憶する。具体的には、大当り判定用テーブルメモリ571は、図39(A)に示すように、確変状態以外の遊技状態(通常状態という)において用いられる通常時大当り判定テーブル571aを記憶する。また、大当り判定用テーブルメモリ571は、図39(B)に示すように、確変状態において用いられる確変時大当り判定テーブル571bを格納する。なお、図39に示す判定テーブルを用いて大当り判定を行う場合、乱数最大値設定レジスタ535に設定された乱数最大値によって大当りと判定する確率が大きく変化することになる。この場合、例えば、設定される乱数最大値が小さすぎると、通常時大当り判定テーブル571aを用いた場合と、確変時大当り判定テーブル571bを用いた場合とで、大当りと判定する確率の差が小さくなってしまい、遊技者の遊技に対する興味を減退させてしまうことになる。そのため、乱数回路503および乱数最大値に対応づけて、複数の判定テーブル(複数の通常時大当り判定用テーブル571aおよび複数の確変時大当り判定用テーブル571b)を大当り判定用テーブルメモリ571に記憶してもよい。そして、CPU56は、大当り判定用テーブルメモリ571が記憶する判定テーブルのうち、使用する乱数回路503および乱数最大値に対応する判定テーブル571a,571bを用いて、表示結果決定プログラム552に従って、特別図柄表示装置8の表示結果を大当り図柄とするか否かを判定するようにしてもよい。そのようにすることによって、使用する乱数回路503の種類や乱数最大値が異なっても、大当りと判定する確率がある程度同じになるように制御することができる。
The jackpot determination table memory 571 stores a plurality of jackpot determination tables used by the
なお、この実施の形態では、16ビット乱数回路503bを用いることにする。すなわち、ステップS151の処理で16ビット乱数回路503bを用いることに決定されたとする。よって、ランダムRとして、16ビットで発生できる範囲(0から65535までの範囲)の値をとりうる。
In this embodiment, a 16-bit
フラグメモリ572には、遊技の進行を制御する遊技制御処理において用いられる各種のフラグが設定される。例えば、フラグメモリ572には、遊技状態が確変状態であることを示す確変フラグや、大当り状態であることを示す大当りフラグが設定される。
In the
始動口スイッチタイマメモリ573は、始動口スイッチ14aから入力される入賞検出信号SSに応じて加算またはクリアされるタイマ値を記憶する。
The start port switch timer memory 573 stores a timer value that is added or cleared in accordance with the winning detection signal SS input from the
図40および図41は、遊技制御手段における出力ポートの割り当ての例を示す説明図である。図40に示すように、出力ポート0は払出制御基板37に送信される払出制御信号(本例では、接続確認信号)の出力ポートである。また、音/ランプ制御基板80bに送信される演出制御コマンドの8ビットのデータ(演出制御信号)は出力ポート1から出力される。なお、図40および図41に示された「論理」(例えば1がオン状態)と逆の論理(例えば0がオン状態)を用いてもよいが、特に、接続確認信号については、主基板31と払出制御基板37との間の信号線において断線が生じた場合やケーブル外れの場合(ケーブル未接続を含む)等に、払出制御用マイクロコンピュータ370では必ずオフ状態と検知されるように「論理」が定められる。具体的には、一般に、断線やケーブル外れが生ずると信号の受信側ではハイレベルが検知されるので、主基板31と払出制御基板37との間の信号線でのハイレベルが、遊技制御手段における出力ポートにおいてオフ状態になるように「論理」が定められる。従って、必要であれば、主基板31において出力ポートの外側に、信号を論理反転させる出力バッファ回路が設置される。
40 and 41 are explanatory diagrams showing an example of output port assignment in the game control means. As shown in FIG. 40, the
大入賞口を開閉する可変入賞球装置20を開閉するためのソレノイド(大入賞口扉ソレノイド)21、大入賞口内の経路を切り換えるためのソレノイド(大入賞口内誘導板ソレノイド)21Aおよび可変入賞球装置15を開閉するためのソレノイド(普通電動役物ソレノイド)16に対する駆動信号は、出力ポート2から出力される。また、音/ランプ制御基板80bに送信される演出制御コマンドについての演出制御INT信号(取込信号)も出力ポート2から出力される。演出制御INT信号は、演出制御コマンドの8ビットのデータを取り込む(受信する)ことを演出制御手段に指令するための信号である。
Solenoid (large winning opening door solenoid) 21 for opening and closing the variable winning
そして、出力ポート3,4から、情報出力回路64を介して情報端子板34やターミナル基板160に至る各種情報出力用信号すなわち制御に関わる情報の出力データが出力される。
Then, various information output signals from the
図42は、遊技制御手段における入力ポートのビット割り当ての例を示す説明図である。図42に示すように、入力ポート0のビット1〜7には、それぞれ、カウントスイッチ23、ゲートスイッチ32a、入賞口スイッチ33a,39a,29a,30a、始動口スイッチ14aの検出信号が入力される。また、入力ポート1のビット0,1には、それぞれ、払出制御基板37からの電源断信号およびクリアスイッチ921の検出信号が入力される。また、入力ポート2には、払出制御用マイクロコンピュータ370を経由して、払出個数カウントスイッチ301の検出信号が入力される。なお、V入賞領域を設けた場合、遊技制御手段における入力ポート(例えば、入力ポート0のビット0)に、V入賞スイッチ(Vカウントスイッチ)の検出信号も入力される。
FIG. 42 is an explanatory diagram showing an example of bit assignment of input ports in the game control means. As shown in FIG. 42, detection signals from the
次に遊技機の動作について説明する。図43、図44および図45は、遊技機に対して電力供給が開始され遊技制御用マイクロコンピュータ560へのリセット信号がハイレベルになったことに応じて遊技制御用マイクロコンピュータ560のCPU56が実行するメイン処理を示すフローチャートである。リセット信号が入力されるリセット端子の入力レベルがハイレベルになると、遊技制御用マイクロコンピュータ560のCPU56は、プログラムの内容が正当か否かを確認するための処理であるセキュリティチェック処理を実行した後、ステップS1以降のメイン処理を開始する。メイン処理において、CPU56は、まず、必要な初期設定を行う。
Next, the operation of the gaming machine will be described. 43, 44 and 45 are executed by the
初期設定処理において、CPU56は、まず、割込禁止に設定する(ステップS1)。次に、マスク可能割込の割込モードを設定し(ステップS2)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS3)。なお、ステップS2では、遊技制御用マイクロコンピュータ560の特定レジスタ(Iレジスタ)の値(1バイト)と内蔵デバイスが出力する割込ベクタ(1バイト:最下位ビット0)から合成されるアドレスが、割込番地を示すモードに設定する。また、マスク可能な割込が発生すると、CPU56は、自動的に割込禁止状態に設定するとともに、プログラムカウンタの内容をスタックにセーブする。
In the initial setting process, the
次いで、内蔵デバイスレジスタの設定(初期化)を行う(ステップS4)。ステップS4の処理によって、内蔵デバイス(内蔵周辺回路)であるCTC(カウンタ/タイマ)およびPIO(パラレル入出力ポート)の設定(初期化)がなされる。 Next, the built-in device register is set (initialized) (step S4). By the processing in step S4, the CTC (counter / timer) and PIO (parallel input / output port), which are built-in devices (built-in peripheral circuits), are set (initialized).
この実施の形態で用いられる遊技制御用マイクロコンピュータ560は、I/Oポート(PIO)およびタイマ/カウンタ回路(CTC)504も内蔵している。
The
次に、入力ポート1のビット0の状態によって電源断信号がオフ状態になっているか否か確認する(ステップS5)。遊技機に対する電力供給が開始されたときに、+5V電源などの各種電源の出力電圧は徐々に規定値に達するのであるが、ステップS5の処理によって、すなわち、電源断信号が出力されていない(ハイレベルになっている)ことを確認することによりCPU56は電源電圧が安定したことを確認することができる。
Next, it is confirmed whether or not the power-off signal is in an OFF state depending on the state of
電源断信号がオン状態である場合には、CPU56は、所定期間(例えば、0.1秒)の遅延時間の後に(ステップS80)、再度、電源断信号がオフ状態になっているか否か確認する。電源断信号がオフ状態になっている場合には、RAM55をアクセス可能状態に設定し(ステップS6)、クリア信号のチェック処理に移行する。
When the power-off signal is in the on state, the
なお、電源断信号がオフ状態である場合に、遊技の進行を制御する遊技装置制御処理(遊技制御処理)の開始タイミングをソフトウェアで遅らせるためのソフトウェア遅延処理を実行するようにしてもよい。そのようなソフトウェア遅延処理によって、ソフトウェア遅延処理を実行しない場合に比べて、遊技制御処理の開始タイミングを遅延させることができる。遅延処理を実行したときには、他の制御基板(例えば、払出制御基板37)に対して、遊技制御基板(主基板31)が送信するコマンドを他の制御基板のマイクロコンピュータが受信できないという状況が発生することを防止できる。 When the power-off signal is in the off state, software delay processing for delaying the start timing of the gaming device control processing (game control processing) for controlling the progress of the game by software may be executed. By such software delay processing, the start timing of the game control processing can be delayed as compared with the case where the software delay processing is not executed. When the delay process is executed, a situation occurs in which the microcomputer of the other control board cannot receive the command transmitted from the game control board (main board 31) to the other control board (for example, the payout control board 37). Can be prevented.
次いで、CPU56は、クリアスイッチがオンされているか否か確認する(ステップS7)。なお、CPU56は、入力ポート0を介して1回だけクリア信号の状態を確認するようにしてもよいが、複数回クリア信号の状態を確認するようにしてもよい。例えば、クリア信号の状態がオフ状態であることを確認したら、所定時間(例えば、0.1秒)の遅延時間をおいた後、クリア信号の状態を再確認する。そのときにクリア信号の状態がオン状態であることを確認したら、クリア信号がオン状態になっていると判定する。また、このときにクリア信号の状態がオフ状態であることを確認したら、所定時間の遅延時間をおいた後、再度、クリア信号の状態を再確認するようにしてもよい。ここで、再確認の回数は、1回または2回に限られず、3回以上であってもよい。また、2回チェックして、チェック結果が一致していなかったときにもう一度確認するようにしてもよい。
Next, the
ステップS7でクリアスイッチがオンでない場合には、遊技機への電力供給が停止したときにバックアップRAM領域のデータ保護処理(例えばパリティデータの付加等の電力供給停止時処理)が行われたか否か確認する(ステップS8)。この実施の形態では、電力供給の停止が生じた場合には、バックアップRAM領域のデータを保護するための処理が行われている。そのような電力供給停止時処理が行われていたことを確認した場合には、CPU56は、電力供給停止時処理が行われた、すなわち電力供給停止時の制御状態が保存されていると判定する。電力供給停止時処理が行われていないことを確認した場合には、CPU56は初期化処理を実行する。
If the clear switch is not turned on in step S7, whether or not data protection processing of the backup RAM area (for example, power supply stop processing such as addition of parity data) was performed when power supply to the gaming machine was stopped Confirm (step S8). In this embodiment, when power supply is stopped, a process for protecting data in the backup RAM area is performed. When it is confirmed that such power supply stop processing has been performed, the
電力供給停止時処理が行われていたか否かは、電力供給停止時処理においてバックアップRAM領域に保存されるバックアップ監視タイマの値が、電力供給停止時処理を実行したことに応じた値(例えば2)になっているか否かによって確認される。なお、そのような確認の仕方は一例であって、例えば、電力供給停止時処理においてバックアップフラグ領域に電力供給停止時処理を実行したことを示すフラグをセットし、ステップS8において、そのフラグがセットされていることを確認したら電力供給停止時処理が行われたと判定してもよい。 Whether or not the power supply stop process has been performed is determined by the value of the backup monitoring timer stored in the backup RAM area in the power supply stop process corresponding to the execution of the power supply stop process (for example, 2). ) Is confirmed by whether or not. Note that such a confirmation method is merely an example. For example, in the power supply stop process, a flag indicating that the power supply stop process has been executed is set in the backup flag area. In step S8, the flag is set. If it is confirmed that the power supply is stopped, it may be determined that the power supply stop process has been performed.
電力供給停止時の制御状態が保存されていると判定したら、CPU56は、バックアップRAM領域のデータチェック(この例ではパリティチェック)を行う(ステップS9)。この実施の形態では、クリアデータ(00)をチェックサムデータエリアにセットし、チェックサム算出開始アドレスをポインタにセットする。また、チェックサムの対象になるデータ数に対応するチェックサム算出回数をセットする。そして、チェックサムデータエリアの内容とポインタが指すRAM領域の内容との排他的論理和を演算する。演算結果をチェックサムデータエリアにストアするとともに、ポインタの値を1増やし、チェックサム算出回数の値を1減算する。以上の処理が、チェックサム算出回数の値が0になるまで繰り返される。チェックサム算出回数の値が0になったら、CPU56は、チェックサムデータエリアの内容の各ビットの値を反転し、反転後のデータをチェックサムにする。
If it is determined that the control state at the time of stopping power supply is stored, the
電力供給停止時処理において、上記の処理と同様の処理によってチェックサムが算出され、チェックサムはバックアップRAM領域に保存されている。ステップS9では、算出したチェックサムと保存されているチェックサムとを比較する。不測の停電等の電力供給停止が生じた後に復旧した場合には、バックアップRAM領域のデータは保存されているはずであるから、チェック結果(比較結果)は正常(一致)になる。チェック結果が正常でないということは、バックアップRAM領域のデータが、電力供給停止時のデータとは異なっている可能性があることを意味する。そのような場合には、内部状態を電力供給停止時の状態に戻すことができないので、電力供給の停止からの復旧時でない電源投入時に実行される初期化処理(ステップS10〜S14の処理)を実行する。 In the power supply stop process, a checksum is calculated by the same process as described above, and the checksum is stored in the backup RAM area. In step S9, the calculated checksum is compared with the stored checksum. When the power supply is stopped after an unexpected power failure or the like, the data in the backup RAM area should be saved, so the check result (comparison result) is normal (matched). That the check result is not normal means that the data in the backup RAM area may be different from the data when the power supply is stopped. In such a case, since the internal state cannot be returned to the state when the power supply is stopped, the initialization process (the process of steps S10 to S14) executed at the time of power-on that is not the time of recovery from the stop of the power supply is performed. Execute.
チェック結果が正常であれば、CPU56は、遊技制御手段の内部状態と演出制御手段等の電気部品制御手段の制御状態を電力供給停止時の状態に戻すための遊技状態復旧処理を行う。具体的には、ROM54に格納されているバックアップ時設定テーブルの先頭アドレスをポインタに設定し(ステップS91)、バックアップ時設定テーブルの内容を順次作業領域(RAM55内の領域)に設定する(ステップS92)。作業領域はバックアップ電源によって電源バックアップされている。バックアップ時設定テーブルには、作業領域のうち初期化してもよい領域についての初期化データが設定されている。ステップS91およびS92の処理によって、作業領域のうち初期化してはならない部分については、保存されていた内容がそのまま残る。初期化してはならない部分とは、例えば、電力供給停止前の遊技状態を示すデータ(特別図柄プロセスフラグなど)、出力ポートの出力状態が保存されている領域(出力ポートバッファ)、未払出賞球数を示すデータが設定されている部分などである。
If the check result is normal, the
また、CPU56は、ROM54に格納されているバックアップ時コマンド送信テーブルの先頭アドレスをポインタに設定し(ステップS93)、ステップS15に移行する。
Further, the
初期化処理では、CPU56は、まず、RAMクリア処理を行う(ステップS10)。なお、RAM55の全領域を初期化せず、所定のデータをそのままにしてもよい。また、ROM54に格納されている初期化時設定テーブルの先頭アドレスをポインタに設定し(ステップS11)、初期化時設定テーブルの内容を順次業領域に設定する(ステップS12)。
In the initialization process, the
ステップS11およびS12の処理によって、例えば、普通図柄判定用乱数カウンタ、普通図柄判定用バッファ、特別図柄バッファ、総賞球数格納バッファ、特別図柄プロセスフラグ、賞球中フラグ、球切れフラグなど制御状態に応じて選択的に処理を行うためのフラグに初期値が設定される。また、出力ポートバッファにおける接続確認信号を出力する出力ポートに対応するビットがセット(接続確認信号のオン状態に対応)される。 Control states such as a normal symbol determination random number counter, a normal symbol determination buffer, a special symbol buffer, a total prize ball number storage buffer, a special symbol process flag, an award ball flag, a ball out flag, etc. An initial value is set in a flag for selectively performing processing according to the above. In addition, a bit corresponding to the output port that outputs the connection confirmation signal in the output port buffer is set (corresponding to the ON state of the connection confirmation signal).
また、CPU56は、ROM54に格納されている初期化時コマンド送信テーブルの先頭アドレスをポインタに設定し(ステップS13)、その内容に従ってサブ基板を初期化するための初期化コマンドをサブ基板に送信する処理を実行する(ステップS14)。初期化コマンドとして、可変表示装置9に表示される初期図柄を示すコマンドや払出制御基板37への初期化コマンド等を使用することができる。
Further, the
また、CPU56は、各乱数回路503a,503bを初期設定する乱数回路設定処理を実行する(ステップS15)。この場合、CPU56は、乱数回路設定プログラム551に従って処理を実行することによって、各乱数回路503a,503bにランダムRの値を更新させるための設定を行う。
Further, the
また、CPU56は、シリアル通信回路505を初期設定するシリアル通信回路設定処理を実行する(ステップS15a)。この場合、CPU56は、シリアル通信回路設定プログラム556に従って処理を実行することによって、シリアル通信回路505に払出制御用マイクロコンピュータとシリアル通信させるための設定を行う。
Further, the
シリアル通信回路505を初期設定すると、CPU56は、シリアル通信回路505の割り込み要求に応じて実行する割込処理の優先順位を初期設定する(ステップS15b)。この場合、CPU56は、割込優先順位設定プログラム557に従って処理を実行することによって、割込処理の優先順位を初期設定する。
When the
例えば、CPU56は、各割込処理のデフォルトの優先順位を含む所定の割込処理優先順位テーブルに従って、各割込処理の優先順位を初期設定する。図46は、割込処理優先順位テーブルの例を示す説明図である。この実施の形態では、CPU56は、図46に示す割込処理優先順位テーブルに従って、シリアル通信回路505において通信エラーが発生したことを割込原因とする割込処理を優先して実行するように初期設定する。この場合、例えば、CPU56は、通信エラーが発生したことを割込原因とする割込処理を優先して実行する旨を示す通信エラー時割込優先実行フラグをセットする。
For example, the
なお、この実施の形態では、タイマ割込とシリアル通信回路505からの割り込み要求とが同時に発生した場合、CPU56は、タイマ割込による割込処理を優先して行う。
In this embodiment, when a timer interrupt and an interrupt request from the
また、ユーザによって各割込処理のデフォルトの優先順位を変更することもできる。例えば、遊技制御用マイクロコンピュータ560は、ユーザ(例えば、遊技機の製作者)によって設定された割込処理を指定する指定情報を、あらかじめROM54の所定の記憶領域に記憶している。そして、CPU56は、ROM54の所定の記憶領域に記憶された指定情報に従って、割込処理の優先順位を設定する。
In addition, the default priority of each interrupt process can be changed by the user. For example, the
そして、CPU56は、所定時間(例えば2ms)ごとに定期的にタイマ割込がかかるように遊技制御用マイクロコンピュータ560に内蔵されているCTCのレジスタの設定を行なうタイマ割込設定処理を実行する(ステップS16)。すなわち、初期値として例えば2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。この実施の形態では、2msごとに定期的にタイマ割込がかかるとする。
Then, the
タイマ割込の設定が完了すると、CPU56は、まず、割込禁止状態にして(ステップS17)、電源断信号が出力されたか否か(オン状態になったか否か)を検出する電源断処理(電源断検出処理)を実行する(ステップS18a)。また、CPU56は、初期値用乱数更新処理を実行して(ステップS18b)、再び割込許可状態にする(ステップS19)。すなわち、CPU56は、電源断処理および初期値用乱数更新処理が実行されるときには割込禁止状態にして、電源断処理および初期値用乱数更新処理の実行が終了すると割込許可状態にする。
When the timer interrupt setting is completed, the
なお、初期値用乱数更新処理とは、初期値用乱数を発生するためのカウンタのカウント値を更新する処理である。初期値用乱数とは、大当りの種類を決定するための判定用乱数(例えば、大当りを発生させる特別図柄を決定するための大当り図柄決定用乱数や、遊技状態を確変状態に移行させるかを決定するための確変決定用乱数、普通図柄にもとづく当りを発生させるか否かを決定するための普通図柄当たり判定用乱数)を発生するためのカウンタ(判定用乱数発生カウンタ)等のカウント値の初期値を決定するための乱数である。後述する遊技制御処理(遊技制御用マイクロコンピュータが、遊技機に設けられている可変表示装置9、可変入賞球装置15、球払出装置97等の遊技用の装置を、自身で制御する処理、または他のマイクロコンピュータに制御させるために指令信号を送信する処理、遊技装置制御処理ともいう)において、判定用乱数発生カウンタのカウント値が1周すると、そのカウンタに初期値が設定される。
The initial value random number update process is a process of updating the count value of the counter for generating the initial value random number. The initial value random number is a random number for determining the type of jackpot (for example, a jackpot symbol determining random number for determining a special symbol that generates a jackpot, or whether to shift the gaming state to a probable state) Initial value of the count value such as a counter (determination random number generation counter) for generating a probability variation determining random number to determine whether or not to generate a hit based on a normal symbol It is a random number for determining the value. Game control processing described later (a game control microcomputer controls itself a game device such as a
また、初期値用乱数更新処理が実行されるときに割込禁止状態にされるのは、初期値用乱数更新処理が後述するタイマ割込処理でも実行される(すなわち、タイマ割込処理のステップS24でも同じ処理が実行される)ことから、タイマ割込処理における処理と競合してしまうのを避けるためである。すなわち、ステップS18bの処理中にタイマ割込が発生してタイマ割込処理中で初期値用乱数を発生するためのカウンタのカウント値を更新してしまったのでは、カウント値の連続性が損なわれる場合がある。しかし、ステップS18bの処理中では割込禁止状態にしておけば、そのような不都合が生ずることはない。 In addition, when the initial value random number update process is executed, the interrupt disabled state is set so that the initial value random number update process is also executed in the timer interrupt process described later (that is, the timer interrupt process step). This is to avoid competing with the processing in the timer interrupt processing because the same processing is executed in S24). That is, if the timer interrupt is generated during the process of step S18b and the count value of the counter for generating the initial value random number is updated during the timer interrupt process, the continuity of the count value is lost. May be. However, such an inconvenience does not occur if the interrupt is prohibited during the process of step S18b.
ステップS19で割込許可状態に設定されると、次にステップS17の処理が実行されて割込禁止状態とされるまで、タイマ割込またはシリアル通信回路505からの割り込み要求を許可する状態となる。そして、割込許可状態に設定されている間に、タイマ割込が発生すると、遊技制御用マイクロコンピュータ560のCPU56は、後述するタイマ割込処理を実行する。また、割込許可状態に設定されている間に、シリアル通信回路505から割り込み要求が発生すると、遊技制御用マイクロコンピュータ560のCPU56は、後述する各割込処理(通信エラー割込処理や、受信時割込処理、送信完了割込処理)を実行する。また、本実施の形態では、ステップS17からステップS19までのループ処理の前にステップS15bを実行することによって、タイマ割込または割り込み要求を許可する状態に設定される前に、割込処理の優先順位を設定または変更する処理が行われる。
When the interrupt-permitted state is set in step S19, the timer interrupt or interrupt request from the
次いで、CPU56は、表示用乱数更新処理を実行する(ステップS19a)。なお、表示用乱数とは、特別図柄表示器8の表示を決定するための乱数である。この実施の形態では、表示用乱数として、特別図柄の変動パターンを決定するための変動パターン決定用乱数や、大当りを発生させない場合にリーチとするか否かを決定するためのリーチ判定用乱数が用いられる。また、表示用乱数更新処理とは、表示用乱数を発生するためのカウンタのカウント値を更新する処理である。
Next, the
次いで、CPU56は、特別図柄の変動に同期する飾り図柄に関する演出制御コマンドをRAM55の所定の領域に設定して演出制御コマンドを送出する処理を行う(コマンド制御処理:ステップS19b)。なお、飾り図柄の変動が特別図柄の変動に同期するとは、変動時間(可変表示期間)が同じであることを意味する。
Next, the
また、CPU56は、入賞口スイッチ29a,30a,33a,39a等の検出信号にもとづく賞球個数の設定などを行う賞球処理を実行する(ステップS19c)。具体的には、入賞口スイッチ29a,30a,33a,39a等がオンしたことにもとづく入賞検出に応じて、払出制御基板37に賞球個数を示す賞球個数コマンド等の払出指令コマンドを出力する。払出制御基板37に搭載されている払出制御用マイクロコンピュータ370は、賞球個数を示す賞球個数コマンドの受信に応じて球払出装置97を駆動する。
Further, the
なお、この実施の形態では、後述するタイマ割込処理の入力判定処理において、入賞口スイッチ29a,30a,33a,39a等がオンしたことにもとづく入賞検出に応じて、入賞数がカウントされる。そして、メイン処理の賞球処理において、カウントされた入賞数にもとづいて、賞球個数コマンドが払出制御基板37に送信される。
In this embodiment, the number of winnings is counted in response to detection of winning based on the fact that the winning
また、CPU56は、特別図柄プロセス処理を行う(ステップS19d)。特別図柄プロセス処理では、遊技状態に応じてパチンコ遊技機1を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。また、普通図柄プロセス処理を行う(ステップS19e)。普通図柄プロセス処理では、普通図柄表示器10の表示状態を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。
Further, the
また、CPU56は、例えばホール管理用コンピュータに供給される大当り情報、始動情報、確率変動情報などのデータを出力する情報出力処理を行う(ステップS19f)。
Further, the
また、遊技機の制御状態を遊技機外部で確認できるようにするための試験信号を出力する処理である試験端子処理を実行する(ステップS19g)。また、この実施の形態では、出力ポートの出力状態に対応したRAM領域(出力ポートバッファ)が設けられているのであるが、CPU56は、出力ポート2のRAM領域におけるソレノイドに関する内容を出力ポートに出力する(ステップS19h:出力処理)。
In addition, a test terminal process, which is a process for outputting a test signal for enabling the control state of the gaming machine to be confirmed outside the gaming machine, is executed (step S19g). In this embodiment, a RAM area (output port buffer) corresponding to the output state of the output port is provided, but the
出力処理を実行すると、CPU56は、ステップS17に移行し、ステップS17以降の処理を再び実行する。すなわち、ステップS17からステップS19hまでの処理が繰り返し実行される。
When the output process is executed, the
次に、メイン処理における乱数回路設定処理(ステップS15)を説明する。図47は、乱数回路設定処理を示すフローチャートである。乱数回路設定処理において、CPU56は、まず、乱数回路設定プログラム551に含まれる乱数回路選択モジュール551fに従って処理を実行し、遊技制御用マイクロコンピュータ560が内蔵する各乱数回路503a,503bの中から、タイマ割込処理の実行時に用いる乱数回路を設定する(ステップS151)。例えば、遊技制御用マイクロコンピュータ560は、ユーザ(例えば、遊技機の製作者)によって設定されたタイマ割込処理の実行時に用いる乱数回路503を指定する指定情報を、あらかじめROM54の所定の記憶領域に記憶している。そして、CPU56は、ROM54の所定の記憶領域に記憶された指定情報に従って、12ビット乱数回路503aまたは16ビット乱数回路503bのいずれかを選択し、選択した乱数回路をタイマ割込処理の実行時に用いる乱数回路として設定する。なお、タイマ割込処理の実行時に用いる乱数回路として、12ビット乱数回路503aおよび16ビット乱数回路503bの両方を設定してもよい。
Next, the random number circuit setting process (step S15) in the main process will be described. FIG. 47 is a flowchart showing random number circuit setting processing. In the random number circuit setting process, the
上記のように、ステップS151において、更新可能な数値データの所定の範囲が異なる複数の乱数回路(12ビット乱数回路503aと16ビット乱数回路503b)について、それぞれ使用可能とするか否かを設定するので、タイマ割込処理の実行中に不要な乱数を処理することを防止することができ、遊技制御用マイクロコンピュータ560の制御負担を軽減することができる。例えば、遊技制御用マイクロコンピュータ560が、2つの乱数回路503a,503bのうちの一方が発生する乱数のみを用いて遊技制御処理を行う場合、遊技制御処理に用いない方の乱数回路から乱数を読み出す処理等を行わないようにでき、遊技制御用マイクロコンピュータ560の制御負担を軽減できる。
As described above, in step S151, whether or not each of a plurality of random number circuits (12-bit
CPU56は、ステップS151で使用する乱数回路503を設定すると、例えば、乱数回路起動レジスタ541にデータを書き込まない等により、カウンタ521やクロック信号出力回路524の動作を停止させることで、使用しないように設定した方の乱数回路のカウンタ521がカウント値Cを更新しないようにする。また、例えば、使用しないように設定した方の乱数回路のカウンタ521はカウント値Cを更新するが、CPU56は出力制御信号SCを出力しないようにし、乱数値記憶回路531から乱数を読み出せないように制御してもよい。また、例えば、CPU56は、タイマ回路534に使用しないように設定した方の乱数回路の乱数値取込レジスタ539に乱数値取込データ「01h」を書き込ませないようにし、ラッチ信号生成回路533がラッチ信号SLを乱数値記憶回路531に出力しないように制御してもよい。
When the
上記のように、使用する乱数回路503を設定するようにすることによって、使用する乱数回路503だけを設定することによって、生成する乱数の値の範囲を適切に設定することができる。また、タイマ割込処理の実行中に不要な乱数を処理することを防止することができ、遊技制御用マイクロコンピュータ560の制御負担を軽減することができる。例えば、大当りとする判定値として離れた値(例えば、「1」と「100」を含む判定テーブルを用いて大当り判定を行う場合、所定の大当り確率(例えば、100分の1)で大当りと判定するようにすると、16ビット乱数回路503bによる乱数を用いるよりも、12ビット乱数回路503aによる乱数を用いた方が、処理すべき判定値の種類の数が少なくて済み、遊技制御用マイクロコンピュータ560の制御負担が軽減される。
As described above, by setting the
また、CPU56は、乱数回路設定プログラム551に含まれる乱数最大値設定モジュール551aに従って処理を実行し、ユーザによって予め設定された乱数最大値を指定する乱数最大値設定データを、乱数最大値設定レジスタ535に書き込む(ステップS152)。そのようにすることによって、ユーザによって予め設定されたランダムRの乱数最大値を乱数回路503に設定する。なお、タイマ割込実行時に用いる乱数回路として12ビット乱数回路503aを設定した場合、CPU56は、乱数最大値(「0」〜「4095」のうちのいずれかの値)を指定する乱数最大値設定データを、12ビット乱数回路503aの乱数最大値設定レジスタ535に書き込む。また、タイマ割込実行時に用いる乱数回路として16ビット乱数回路503bを設定した場合、CPU56は、乱数最大値(「0」〜「65535」のうちのいずれかの値)を指定する乱数最大値設定データを、16ビット乱数回路503bの乱数最大値設定レジスタ535に書き込む。
Further, the
なお、この実施の形態では、乱数最大値として「0」〜「255」が設定された場合には、後述する乱数最大値再設定処理において乱数最大値を所定値に設定しなおすことになる。また、乱数最大値として「256」以上の値を書き込む制御を行った場合であっても、データ化けなどの原因によって「0」〜「255」の値が乱数最大値設定レジスタ535に設定されてしまった場合には、後述する乱数最大値再設定処理において乱数最大値を所定値に設定しなおす。
In this embodiment, when “0” to “255” are set as the random number maximum value, the random number maximum value is reset to a predetermined value in the random number maximum value resetting process described later. Even when control is performed to write a value greater than “256” as the random number maximum value, values “0” to “255” are set in the random number maximum
上記のように、ステップS152において、生成する乱数の最大値をあらかじめ乱数最大値設定レジスタ535に設定するので、タイマ割込処理の実行中に用いる乱数の範囲より大きい値の乱数を生成してしまうことを防止でき、乱数回路503および遊技制御用マイクロコンピュータ560の処理負担を軽減することができる。
As described above, since the maximum value of the random number to be generated is set in advance in the random number maximum
また、CPU56は、ステップS152で乱数最大値設定レジスタ535に設定した乱数最大値が所定の下限値以下でないかを確認し、乱数最大値が下限値以下である場合には、乱数最大値設定レジスタ535に設定されている乱数最大値の再設定を行う乱数最大値再設定処理を実行する(ステップS153)。
Further, the
また、CPU56は、乱数回路設定プログラム551に含まれる初期値変更モジュール551eに従って処理を実行し、乱数回路503のカウンタ521が更新するカウント値の初期値を変更させる初期値変更処理を実行する(ステップS154)。
Further, the
また、CPU56は、乱数回路設定プログラム551に含まれる乱数更新方式選択モジュール551bに従って処理を実行し、乱数更新方式選択データを乱数更新方式選択レジスタ540に書き込む(ステップS155)。そのようにすることによって、乱数回路503の乱数更新方式を設定する。なお、この実施の形態では、CPU56は、乱数更新方式選択データ「10h」を乱数更新方式選択レジスタ540に書き込むものとする。すなわち、この実施の形態では、乱数回路503の乱数更新方式として第2の乱数更新方式が設定される。
Further, the
また、CPU56は、乱数回路設定プログラム551に含まれる周期設定モジュール551cに従って処理を実行し、ユーザによって予め設定された乱数発生用クロック信号SI1の周期を指定する周期設定データ(基準クロック信号を何分周させるかを設定するためのデータ)を、周期設定レジスタ537に書き込む(ステップS156)。そのようにすることによって、ユーザによって予め設定された乱数発生用クロック信号SI1の周期を乱数回路503に設定する。
Further, the
また、CPU56は、乱数回路503のカウンタ521によって所定の最終値までカウント値が更新されたときに、カウンタ521に入力する初期値を更新するか否かを設定する(ステップS157)。例えば、遊技制御用マイクロコンピュータ560は、カウンタ521によって所定の最終値までカウント値が更新されたときに、カウンタ521に入力する初期値を更新するか否かを示す設定値を、予めユーザによって設定されROM54の所定領域に記憶している。そして、CPU56は、ROM54の所定の記憶領域に記憶された所定の設定値に従って、カウンタ521によって所定の最終値までカウント値が更新されたときに、カウンタ521に入力する初期値を更新するか否かを設定する。この実施の形態では、CPU56は、ステップS157において、カウンタ521に入力する初期値を更新すると判定すると、所定の最終値までカウント値が更新されたとき(カウンタ521から通知信号を入力したとき)に初期値を更新する旨を示す初期値更新フラグをセットする。この実施の形態では、ステップS157において、所定の設定値に従って初期値更新フラグをセットする場合を説明する。そして、CPU56は、後述する乱数回路初期値更新処理において、初期値更新フラグがセットされていることにもとづいて、カウンタ521が出力するカウント値の初期値を更新する。
Further, the
なお、CPU56によってカウント値の初期値を変更するのでなく、最終値までカウント値を更新したことにもとづいて、乱数回路503側でカウント値の初期値を所定値に変更するようにしてもよい。例えば、乱数回路503は、初期値を更新する旨を示す初期値更新データを格納する初期値更新データレジスタ、及び初期値の変更を行う初期値変更回路を備え、CPU56は、ステップS157において、初期値更新データを初期値更新データレジスタに設定する。この場合、カウンタ521は、最終値までカウント値を更新すると、通知信号を初期値変更回路に出力する。すると、初期値変更回路は、初期値更新データレジスタに初期値更新データが設定されているか否かを確認する。そして、初期値変更回路は、初期値更新データが設定されていることを確認すると、カウント値の初期値を所定値に変更する。なお、初期値変更回路は、後述するカウント値順列変更処理において、順列を変更したカウント値の初期値を変更してもよい。
Instead of changing the initial value of the count value by the
また、CPU56は、乱数回路503のカウンタ521によって所定の最終値までカウント値が更新されたときに、カウンタ521が更新するカウント値の順列を変更するか否かを設定する(ステップS158)。例えば、遊技制御用マイクロコンピュータ560は、カウンタ521によって所定の最終値までカウント値が更新されたときに、カウンタ521が出力するカウント値の順列を変更するか否かを示す設定値を、予めユーザによって設定されROM54の所定領域に記憶している。そして、CPU56は、ROM54の所定の記憶領域に記憶された所定の設定値に従って、カウンタ521によって所定の最終値までカウント値が更新されたときに、カウンタ521が出力するカウント値の順列を変更するか否かを設定する。この実施の形態では、CPU56は、ステップS158において、カウンタ521が出力するカウント値の順列を変更すると判定すると、所定の最終値までカウント値が更新されたときにカウント値の順列を変更する旨を示すカウント値順列変更フラグをセットする。この実施の形態では、ステップS158において、所定の設定値に従ってカウント値順列変更フラグをセットする場合を説明する。そして、CPU56は、後述するカウント値順列変更処理において、カウント値順列変更フラグがセットされていることにもとづいて、カウンタ521が出力するカウント値の順列を変更する。
Further, the
なお、CPU56の制御によってカウント値の順列を変更するのでなく、最終値までカウント値を更新したことにもとづいて、乱数回路503側でカウント値の順列変更するようにしてもよい。例えば、乱数回路503は、カウント値の順列を変更する旨を示す順列変更データを格納する順列変更データレジスタを備え、CPU56は、ステップS158において、順列変更データを順列変更データレジスタに設定する。この場合、カウンタ521が最終値までカウント値を更新すると、通知信号をカウント値順列変更回路523に出力し、通知信号を入力したカウント値順列変更回路523は、順列変更データレジスタに順列変更データが設定されているか否かを確認する。そして、カウント値順列変更回路523は、順列変更データが設定されていることを確認すると、カウント値の順列を変更する。
Instead of changing the permutation of the count values under the control of the
そして、CPU56は、乱数回路設定プログラム551に含まれる乱数回路起動モジュール551dに従って処理を実行し、乱数回路起動データ「80h」を乱数回路起動レジスタ541に書き込む(ステップS159)。そのようにすることによって、CPU56は、乱数回路503を起動させる。
Then, the
次に、乱数回路設定処理における乱数最大値再設定処理(ステップS153)を説明する。図48は、乱数最大値再設定処理を示すフローチャートである。乱数最大値再設定処理において、CPU56は、乱数最大値設定レジスタ535に設定されている乱数最大値を読み込む(ステップS153a)。なお、タイマ割込処理の実行時に用いる乱数回路として12ビット乱数回路503aを設定した場合、CPU56は、12ビット乱数回路503aの乱数最大値設定レジスタ535に設定されている乱数最大値を読み込む。また、タイマ割込処理の実行時に用いる乱数回路として16ビット乱数回路503bを設定した場合、CPU56は、16ビット乱数回路503bの乱数最大値設定レジスタ535に設定されている乱数最大値を読み込む。
Next, the random number maximum value resetting process (step S153) in the random number circuit setting process will be described. FIG. 48 is a flowchart showing the random number maximum value resetting process. In the random number maximum value resetting process, the
CPU56は、読み込んだ乱数最大値が所定の下限値以下であるか否かを判定する(ステップS153b)。12ビット乱数回路503aを設定した場合、12ビット乱数回路503aにおいて設定可能な乱数最大値が「256」から「4095」までであるので、CPU56は、12ビット乱数回路503aの乱数最大値設定レジスタ535から読み込んだ乱数最大値が下限値「256」以下であるか否かを判定する。また、16ビット乱数回路503bを設定した場合、16ビット乱数回路503bにおいて設定可能な乱数最大値が「512」から「65535」までであるので、CPU56は、16ビット乱数回路503bの乱数最大値設定レジスタ535から読み込んだ乱数最大値が下限値「512」以下であるか否かを判定する。
The
読み込んだ乱数最大値が下限値以下である場合、CPU56は、乱数最大値設定レジスタ535に設定される乱数最大値を所定値に設定しなおす(ステップS153c)。12ビット乱数回路503aを設定した場合、12ビット乱数回路503aの乱数最大値設定レジスタ535から読み込んだ乱数最大値が下限値「256」以下であると判定すると、CPU56は、乱数最大値設定レジスタ535に設定される乱数最大値を所定値「4095」に設定しなおす。また、16ビット乱数回路503bを設定した場合、16ビット乱数回路503bの乱数最大値設定レジスタ535から読み込んだ乱数最大値が下限値「512」以下であると判定すると、CPU56は、乱数最大値設定レジスタ535に設定される乱数最大値を所定値「65535」に設定しなおす。
When the read random number maximum value is less than or equal to the lower limit value, the
以上のように、乱数最大値設定レジスタ535に設定した乱数最大値が所定の下限値以下となっている場合には、乱数最大値を所定値に設定しなおす。そのため、遊技制御用マイクロコンピュータ560の誤動作や、無線信号を用いた取り込み信号を遊技機に対して発生させるなどの行為によって、過度に小さい値が乱数の最大値として設定されてしまうことを防止することができる。従って、最小値から最大値までの値の範囲が過度に小さい乱数を生成する事態が発生することを防止することができる。
As described above, when the random number maximum value set in the random number maximum
次に、乱数回路設定処理における初期値変更処理(ステップS154)を説明する。図49は、初期値変更処理を示すフローチャートである。初期値変更処理において、CPU56は、まず、ユーザプログラム実行データエリアの1F97h番地の領域に記憶されている初期値変更方式設定データを読み出し、ユーザによって選択された初期値変更方式を特定する。この場合、CPU56は、読み出した初期値変更方式設定データの値が「01h」であるか否かを判定することによって(ステップS154a)、ユーザによって選択された初期値変更方式を特定する。
Next, the initial value changing process (step S154) in the random number circuit setting process will be described. FIG. 49 is a flowchart showing the initial value changing process. In the initial value changing process, the
初期値変更方式設定データの値が「01h」である場合、CPU56は、乱数回路503のカウンタ521に入力する初期値を、遊技制御用マイクロコンピュータ560固有のIDナンバにもとづいて設定された値に変更する(ステップS154b)。例えば、遊技制御用マイクロコンピュータ560は、ROM54の所定の記憶領域に、遊技制御用マイクロコンピュータ560のIDナンバと、IDナンバにもとづいて所定の演算を行って求めた演算値とを予め対応付けて記憶している。そして、ステップS154bにおいて、CPU56は、予め記憶するIDナンバにもとづく演算値にカウント値の初期値を変更させる。また、例えば、ステップS154bにおいて、CPU56は、遊技制御用マイクロコンピュータ560のIDナンバと所定値とを演算して(例えば、IDナンバ(例えば、「100」)に所定値(例えば、「100」)を加算して)求めた演算値(例えば、「200」)にカウント値の初期値を設定する。また、カウンタ521に入力する初期値を変更すると、CPU56は、カウント値の初期値を変更した旨を示す初期値変更フラグをセットする(ステップS154c)。
When the value of the initial value change method setting data is “01h”, the
なお、CPU56は、ステップS154bにおいてカウンタ521に入力する初期値を変更する際、乱数回路503の比較器522の乱数最大値設定レジスタ535の値を確認し、IDナンバにもとづいて設定された値が乱数最大値以上であるか否かを判断する。そして、IDナンバにもとづいて設定された値が乱数最大値以上であると判断すると、CPU56は、カウンタ521に入力する初期値を変更しない(例えば、初期値を「0」に設定しなおす)。そのようにすることによって、カウント値の初期値が乱数最大値以上の値に設定されてしまう事態を防止することができる。
When the
ステップS154aにおいて、初期値変更方式設定データの値が「01h」でない場合(すなわち、ユーザプログラム実行データエリアの1F97h番地の領域に記憶されている初期値変更方式設定データの値が「00h」である場合)、CPU56は、カウント値の初期値の変更を行わず、そのまま初期値変更処理を終了し、ステップS155に移行する。
If the value of the initial value change method setting data is not “01h” in step S154a (that is, the value of the initial value change method setting data stored in the area 1F97h of the user program execution data area is “00h”). In the case), the
乱数回路設定処理が実行されることによって、タイマ割込処理の実行時に乱数回路503に各種信号が入力され、乱数回路503内で各種信号が生成される。図50は、乱数回路503に各信号が入力されるタイミング、および乱数回路503内で各信号が生成されるタイミングを示すタイミングチャートである。
By executing the random number circuit setting process, various signals are input to the
図50に示すように、クロック回路501は、所定周期ごと(図50に示すタイミングT11,T21,・・・)に、出力端子の信号レベルをローレベルからハイレベルに立ち上げることによって、乱数回路503に基準クロック信号CLK(図50(A)参照)を入力する。
As shown in FIG. 50, the
クロック信号出力回路524は、クロック回路501から供給された基準クロック信号CLKを分周し、乱数発生用クロック信号SI1(図50(B)参照)を生成する。例えば、クロック信号出力回路524は、タイミングT11,T12,・・・で出力端子の信号レベルをローレベルからハイレベルに立ち上げ、タイミングT21,T22,・・・で信号レベルをハイレベルからローレベルに立ち下げることによって、乱数発生用クロック信号SI1を出力する。
The clock
なお、図50に示す例では、説明を分かりやすくするために、クロック信号出力回路524が基準クロック信号CLKを2分周して乱数発生用クロック信号SI1を生成する場合を示している。しかし、実際の乱数回路では、周期設定レジスタ537に設定可能な周期は「システムクロック信号の周期×128×7」から「システムクロック信号の周期×128×256」まである。従って、実際の乱数回路では、クロック信号出力回路524は、「システムクロック信号の周期×128×7」から「システムクロック信号の周期×128×256」までの範囲で周期設定レジスタ537に設定される周期設定データ「07h」〜「FFh」に対応した分周比で、基準クロック信号CLKを分周し乱数発生用クロック信号SI1を生成する。クロック信号出力回路524によって生成された乱数発生用クロック信号SI1は、セレクタ528と反転回路532とに出力される。
In the example shown in FIG. 50, for ease of explanation, the clock
この実施の形態では、乱数回路設定処理において、第2の乱数更新方式が設定されるので、乱数更新方式選択信号出力回路527から第2の乱数更新方式選択信号がセレクタ528に入力される。セレクタ528は、乱数更新方式選択信号出力回路527から第2の乱数更新方式選択信号が入力されると、クロック信号出力回路524から入力した乱数発生用クロック信号SI1を選択してカウンタ521に出力する。カウンタ521は、セレクタ528から供給される乱数発生用クロック信号SI1の立ち上がりエッヂが入力されるごとに、カウント値Cを更新してカウント値順列変更回路523に出力する。
In this embodiment, since the second random number update method is set in the random number circuit setting process, the second random number update method selection signal is input from the random number update method selection
反転回路532は、クロック信号出力回路524から入力した乱数発生用クロック信号SI1の信号レベルを反転させることによって、反転クロック信号SI2(図50(C)参照)を生成する。例えば、反転回路532は、タイミングT11,T12,・・・で出力端子の信号レベルをハイレベルからローレベルに立ち下げ、タイミングT21,T22,・・・で信号レベルをローレベルからハイレベルに立ち上げることによって、反転クロック信号SI2を出力する。また、反転回路532によって生成された反転クロック信号SI2は、ラッチ信号生成回路533に出力される。
The inversion circuit 532 generates the inverted clock signal SI2 (see FIG. 50C) by inverting the signal level of the random number generation clock signal SI1 input from the clock
ラッチ信号生成回路533には、入賞検出信号SS(図50(D)参照)がタイマ回路534に入力されてから所定時間(例えば3ミリ秒)が経過すると、乱数値読取信号出力回路526から乱数値読取信号が入力される。例えば、乱数値読取信号出力回路526の出力端子の信号レベルがローレベルからハイレベルに立ち上がることによって、ラッチ信号生成回路533に乱数値読取信号が入力される。ラッチ信号生成回路533は、乱数更新方式選択信号出力回路527から第2の乱数更新方式選択信号が入力されたことに応じて、乱数値読取信号出力回路526から入力する乱数値読取信号を反転回路532から供給される反転クロック信号SI2の立ち上がりエッヂに同期させて、ラッチ信号SL(図50(E)参照)を出力する。
When a predetermined time (for example, 3 milliseconds) elapses after the winning detection signal SS (see FIG. 50D) is input to the
以上のように、乱数回路503は、タイミングT11,T12,T13・・・においてカウント値Cを更新し、タイミングT11,T12,T13とは異なるタイミングT22においてラッチ信号SLを出力させ、乱数値記憶回路531に乱数値を記憶する。
As described above, the
次に、メイン処理におけるシリアル通信回路設定処理(ステップS15a)を説明する。図51は、シリアル通信回路設定処理を示すフローチャートである。シリアル通信回路設定処理において、CPU56は、まず、シリアル通信回路設定プログラム556に従って処理を実行し、シリアル通信回路505のボーレートを設定する(ステップS1511)。この場合、CPU56は、シリアル通信回路505のボーレートレジスタ702に、設定するボーレートに対応する設定値を書き込む。例えば、遊技制御用マイクロコンピュータ560は、ユーザ(例えば、遊技機の製作者)によって設定された設定値を指定する指定情報を、あらかじめROM54の所定の記憶領域に記憶している。そして、CPU56は、ROM54の所定の記憶領域に記憶された指定情報に従って、設定値をボーレートレジスタ702に書き込む。例えば、CPU56によってボーレート設定値「156」が設定された場合、ボーレート生成回路703によって、式(1)およびクロック周波数「3MHz」を用いてボーレート「1201.92bps」が生成される。
Next, the serial communication circuit setting process (step S15a) in the main process will be described. FIG. 51 is a flowchart showing the serial communication circuit setting process. In the serial communication circuit setting process, the
また、CPU56は、シリアル通信回路505が送受信するデータのデータフォーマットを設定する(ステップS1512)。この場合、CPU56は、制御レジスタA707の各ビットの値を設定することによって、送受信データのデータ長(8ビットまたは9ビット)、パリティ機能の使用の有無を設定する。例えば、遊技制御用マイクロコンピュータ560は、ユーザ(例えば、遊技機の製作者)によって設定された制御レジスタA707の各ビットの値を指定する指定情報を、あらかじめROM54の所定の記憶領域に記憶している。そして、CPU56は、ROM54の所定の記憶領域に記憶された指定情報に従って、制御レジスタA707の各ビットの値を設定する。
Further, the
また、CPU56は、シリアル通信回路505が発生する各割込要求を許可するか否かを設定する(ステップS1513)。この場合、CPU56は、制御レジスタB708のビット5,6,7の値を設定することによって、送信時割り込み要求(データの送信時に行う割り込み要求である送信割り込み要求や、送信完了時に行う送信完了割り込み要求)および受信時割り込み要求を許可するか否かを設定する。なお、CPU56は、送信時割り込み要求と受信時割り込み要求との両方を許可するように設定することも可能であり、送信時割り込み要求と受信時割り込み要求とのいずれか一方のみを許可するように設定することも可能である。また、CPU56は、制御レジスタC709のビット0〜3の値を設定することによって、各通信エラー時割り込み要求を許可するか否かを設定する。例えば、遊技制御用マイクロコンピュータ560は、ユーザ(例えば、遊技機の製作者)によって設定された制御レジスタB708および制御レジスタC709の各ビットの値を指定する指定情報を、あらかじめROM54の所定の記憶領域に記憶している。そして、CPU56は、ROM54の所定の記憶領域に記憶された指定情報に従って、制御レジスタB708および制御レジスタC709の各ビットの値を設定する。
In addition, the
次に、メイン処理における賞球処理(ステップS19c)を説明する。まず、主基板31と払出制御基板37との間で送受信される払出制御信号および払出制御コマンドについて説明する。図52は、遊技制御手段から払出制御手段に対して出力される制御信号の内容の一例を示す説明図である。この実施の形態では、払出制御等に関する各種の制御を行うために、主基板31と払出制御基板37との間で制御信号として接続確認信号が送受信される。図52に示すように、接続確認信号は、主基板31の立ち上がり時(遊技制御手段が遊技制御処理を開始したとき)に出力され、払出制御基板37に対して主基板31が立ち上がったことを通知するための信号(主基板31の接続確認信号)である。また、接続確認信号は、賞球払出が可能な状態であることを示す。
Next, the prize ball process (step S19c) in the main process will be described. First, payout control signals and payout control commands transmitted and received between the
払出制御用マイクロコンピュータ370は、遊技制御用マイクロコンピュータ560と同様に、シリアル通信回路380を内蔵する。また、遊技制御用マイクロコンピュータ560が内蔵するシリアル通信回路505と、払出制御用マイクロコンピュータ370が内蔵するシリアル通信回路380との間で、各種払出制御コマンドが送受信される。なお、払出制御用マイクロコンピュータ370が内蔵するシリアル通信回路380の構成及び機能は、遊技制御用マイクロコンピュータ560が内蔵するシリアル通信回路505の構成及び機能と同様である。
Similarly to the
図53は、遊技制御手段と払出制御手段との間で送受信される制御コマンドの内容の一例を示す説明図である。この実施の形態では、払出制御等に関する各種の制御を行うために、主基板31と払出制御基板37とのマイクロコンピュータの間で各種制御コマンドが送受信される。
FIG. 53 is an explanatory diagram showing an example of the contents of control commands transmitted and received between the game control means and the payout control means. In this embodiment, various control commands are transmitted and received between the microcomputers of the
賞球個数コマンドは、払出要求を行う遊技球の個数(0〜15個)を指定するために出力されるコマンドである。この実施の形態では、始動口スイッチ14aで遊技球が検出されると3個の賞球払出を行い、入賞口スイッチ33a,39a,29a,30aのいずれかで遊技球が検出されると10個の賞球払出を行い、カウントスイッチ23で遊技球が検出されると15個の賞球払出を行う。よって、始動口スイッチ14aで遊技球が検出された場合、賞球数3個を通知するための賞球個数コマンド「03」が送信され、入賞口スイッチ33a,39a,29a,30aのいずれかで遊技球が検出された場合、賞球数10個を通知するための賞球個数コマンド「0A」が送信され、カウントスイッチ23で遊技球が検出された場合、賞球数15個を通知するための賞球個数コマンド「0F」が送信される。なお、賞球個数コマンドを2バイトで構成してもよい。この場合、例えば、CPU56は、まず賞球個数コマンドの下位1バイトのデータを送信データレジスタ710に書き込む。そして、送信用シフトレジスタ712から賞球個数コマンドの下位1バイトのデータの送信が完了すると、シリアル通信回路505からの送信時割り込み要求に応じて、CPU56は、賞球個数コマンドの上位1バイトのデータを送信データレジスタ710に書き込み、送信用シフトレジスタ712から賞球個数コマンドの上位1バイトのデータが送信される。
The award ball number command is a command that is output to designate the number of game balls (0 to 15) for which a payout request is made. In this embodiment, when a game ball is detected by the
賞球ACKコマンド「D2」は、払出制御手段が賞球個数コマンドを受信したことを遊技制御手段に通知するためのコマンドである。賞球ACKコマンドは、賞球個数コマンドを受信したことを示す受信確認信号に相当する。 The prize ball ACK command “D2” is a command for notifying the game control means that the payout control means has received the prize ball number command. The prize ball ACK command corresponds to a reception confirmation signal indicating that a prize ball number command has been received.
賞球過多異常コマンド「E1」は、賞球過多異常が発生したことを遊技制御手段から払出制御手段に通知するためのコマンドである。この実施の形態では、遊技制御手段は、払い出すべき賞球数よりも多くの遊技球が払い出される賞球過多異常の発生を検出すると、払出制御手段に賞球過多異常コマンド「E1」を送信する。賞球過少異常コマンド「E2」は、賞球過少異常が発生したことを遊技制御手段から払出制御手段に通知するためのコマンドである。この実施の形態では、遊技制御手段は、総賞球数が所定の払出過少判定値を超えた状態である(払い出すべき賞球数よりも少ない遊技球しか払い出されていない)賞球過少異常の発生を検出すると、払出制御手段に賞球過少異常コマンド「E2」を送信する。 The award ball excess abnormality command “E1” is a command for notifying the payout control means from the game control means that a prize ball excess abnormality has occurred. In this embodiment, when the game control means detects the occurrence of excessive prize ball abnormality in which more game balls are paid out than the number of prize balls to be paid out, the game control means transmits an excessive prize ball abnormality command “E1” to the payout control means. To do. The prize ball under-abnormality command “E2” is a command for notifying the payout control means from the game control means that a prize ball under-abnormality has occurred. In this embodiment, the game control means is in a state in which the total number of winning balls exceeds a predetermined payout underdetermined value (the number of game balls being paid out is less than the number of winning balls to be paid out). When the occurrence of an abnormality is detected, a prize ball under-abnormality command “E2” is transmitted to the payout control means.
図54は、図52に示す制御信号および図53に示す制御コマンドの送受信に用いられる信号線等を示すブロック図である。なお、図54には、電源断信号も示されている。図54に示すように、接続確認信号は、遊技制御用マイクロコンピュータ560によって出力回路67を介して出力され、入力回路373Aを介して払出制御用マイクロコンピュータ370に入力される。また、電源断信号は、出力回路373Bを介して出力され、入力回路68を介して遊技制御用マイクロコンピュータ560に入力される。また、賞球個数コマンドは、遊技制御用マイクロコンピュータ560が内蔵するシリアル回路505から出力され、払出制御用マイクロコンピュータ370が内蔵するシリアル回路380に入力される。また、賞球ACKコマンドは、払出制御用マイクロコンピュータ370が内蔵するシリアル回路380から出力され、遊技制御用マイクロコンピュータ560が内蔵するシリアル回路505に入力される。
54 is a block diagram showing signal lines and the like used for transmission / reception of the control signal shown in FIG. 52 and the control command shown in FIG. FIG. 54 also shows a power-off signal. As shown in FIG. 54, the connection confirmation signal is output by the
接続確認信号および電源断信号は、それぞれ1ビットのデータであり、1本の信号線によって送信される。また、主基板31と払出制御基板37との間で、遊技制御用マイクロコンピュータ560への電源断信号の信号線と、払出制御に関わる制御信号(接続確認信号)の信号線とをまとめて配線することができる。よって、遊技機において、遊技制御用マイクロコンピュータ560への電源断信号に関する配線スペースを節減することができる。
Each of the connection confirmation signal and the power-off signal is 1-bit data and is transmitted through one signal line. Further, between the
なお、この実施の形態では、遊技制御用マイクロコンピュータ560が賞球個数コマンドを払出制御用マイクロコンピュータ370にシリアル送信し、払出制御用マイクロコンピュータ370が賞球ACKコマンドを遊技制御用マイクロコンピュータ560にシリアル送信する双方向通信を行う場合を説明するが、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370とは一方向のシリアル通信を行ってもよい。例えば、遊技制御用マイクロコンピュータ560が賞球個数コマンドを払出制御用マイクロコンピュータ370に送信する一方向のシリアル通信を行い、払出制御用マイクロコンピュータ370は賞球ACKコマンドを送信しないようにしてもよい。
In this embodiment, the
図55は、払出制御信号および払出制御コマンドの出力の仕方の一例を示すタイミング図である。図55に示すように、入賞検出スイッチが遊技球の入賞を検出すると、遊技制御手段(遊技制御用マイクロコンピュータ560)は、入賞に応じて払い出される賞球数に応じた賞球個数コマンドを払出制御手段(払出制御用マイクロコンピュータ370)に送信する。なお、具体的には、遊技制御用マイクロコンピュータ560は、遊技球が遊技機に設けられている入賞領域に入賞したことを入賞検出スイッチの検出信号によって検知すると、賞球数に対応する賞球コマンド出力カウンタをカウントアップする。そして、賞球コマンド出力カウンタのカウント値が0でない値になったら、賞球コマンド出力カウンタに対応する賞球数に応じた賞球個数コマンドを払出制御用マイクロコンピュータ370に送信する。
FIG. 55 is a timing chart showing an example of how to output a payout control signal and a payout control command. As shown in FIG. 55, when the winning detection switch detects a winning of a game ball, the game control means (game controlling microcomputer 560) pays out a winning ball number command corresponding to the number of winning balls paid out in accordance with the winning. This is transmitted to the control means (dispensing control microcomputer 370). Specifically, when the
また、この実施の形態では、始動口スイッチ14aで遊技球が検出されると3個の賞球払出を行い、入賞口スイッチ33a,39a,29a,30aのいずれかで遊技球が検出されると10個の賞球払出を行い、カウントスイッチ23で遊技球が検出されると15個の賞球払出を行う。具体的には、遊技制御用マイクロコンピュータ560は、払い出される賞球数に応じて、賞球数が3個の場合には賞球数が3個であることを示す賞球個数コマンド「03」を送信し、賞球数が10個の場合には賞球数が10個であることを示す賞球個数コマンド「0A」を送信し、賞球数が15個の場合には賞球数が15個であることを示す賞球個数コマンド「0F」を送信する。
Further, in this embodiment, when a game ball is detected by the
賞球個数コマンドの送信を完了すると、遊技制御用マイクロコンピュータ560のシリアル通信回路505は、図55に示すように、遊技制御用マイクロコンピュータ560のCPU56に対して送信時割り込み要求を行う。送信時割込要求によって、CPU56は、賞球個数コマンドの送信を完了した状態となったことを認識し、払出制御用マイクロコンピュータからの受信確認信号の待ち状態となる。
When the transmission of the award ball number command is completed, the
払出制御用マイクロコンピュータ370は、賞球個数コマンドの受信を確認すると、受信した賞球個数コマンドに示される賞球数を、払出制御用マイクロコンピュータ370の受信バッファに格納する。また、払出制御用マイクロコンピュータ370は、RAMの所定領域に設けられた賞球未払出個数カウンタに賞球数を加算する。そして、払出制御用マイクロコンピュータ370は、賞球ACKコマンド「D2」を、遊技制御用マイクロコンピュータ560に送信する。なお、払出制御用マイクロコンピュータ370は、払出制御用マイクロコンピュータ370が内蔵するシリアル通信回路380からの受信時割り込み要求にもとづく割込処理において賞球数を受信カウンタに格納するようにしてもよい。この場合、払出制御用マイクロコンピュータ370が内蔵するシリアル通信回路380は、賞球個数コマンドを受信すると、払出制御用マイクロコンピュータ370のCPUに受信時割り込み要求を行う。そして、払出制御用マイクロコンピュータ370のCPUは、シリアル通信回路380からの割り込み要求に応じて割込処理を実行することによって、賞球数を受信バッファに格納する。
When the
賞球ACKコマンドを受信し、受信データレジスタ711に賞球ACKコマンドが格納された状態となると、遊技制御用マイクロコンピュータ560のシリアル通信回路505は、図55に示すように、遊技制御用マイクロコンピュータ560のCPU56に対して受信時割り込み要求を行う。受信時割込要求による割込処理を実行することによって、CPU56は、シリアル通信回路505がデータを受信したことを認識し、後述する賞球ACK待ち処理において受信データレジスタ711から賞球ACKコマンドを読み込む。
When the prize ball ACK command is received and the prize data ACK command is stored in the reception data register 711, the
遊技制御用マイクロコンピュータ560のCPU56は、メイン処理におけるステップS17からステップS19までのループ処理において、割り込み許可状態である間にシリアル通信回路505からの割り込み要求があると、シリアル通信回路505が割り込み要求を行った割り込み原因に応じた割り込み処理を実行する。図56は、シリアル通信回路505が割り込み要求に対して行う割り込み処理の一例を示す流れ図である。図56(a)は、シリアル通信回路505が通信エラーを割り込み原因として割り込み要求を行った場合に、CPU56が実行する通信エラー割込処理である。図56(b)は、シリアル通信回路505が受信データを受信したことを割り込み原因として割り込み要求を行った場合に、CPU56が実行する受信時割込処理である。図56(c)は、シリアル通信回路505が送信データの送信を完了したことを割り込み原因として割り込み要求を行った場合に、CPU56が実行する送信完了割込処理である。
In the loop process from step S17 to step S19 in the main process, the
CPU56は、いずれの割込処理を優先して実行する旨が初期設定されているか否かを判断する。例えば、CPU56は、いずれの割込処理を優先して実行する旨のフラグがセットされているか否かを判断する。この実施の形態では、CPU56は、通信エラー時割込優先実行フラグがセットされていることにもとづいて、シリアル通信回路505で通信エラーが発生したことを割込原因とする割込処理を優先して実行する。
The
シリアル通信回路505から割り込み要求があると、CPU56は、シリアル通信回路505のステータスレジスタA705の各ビットを確認し、割り込み原因を特定する。この場合、CPU56は、いずれの割込処理を優先して実行する旨が初期設定されているか否かを判断する。例えば、CPU56は、いずれの割込処理を優先して実行する旨のフラグがセットされているか否かを判断する。この実施の形態では、CPU56は、通信エラー時割込優先実行フラグがセットされていることにもとづいて、シリアル通信回路505で通信エラーが発生したことを割込原因とする割込処理を優先して実行する。
When there is an interrupt request from the
CPU56は、通信エラー時割込優先実行フラグがセットされていることにもとづいて、ステータスレジスタA705のビット0〜ビット3を優先的に確認し、割り込み原因を特定する。すなわち、CPU56は、シリアル通信回路505で通信エラー(オーバーラン、ノイズエラー、フレーミングエラーまたはパリティエラー)が発生したことを割り込み原因として割り込み要求したか否かを、他の割り込み原因(受信データの受信または送信データの送信完了)に優先して判断する。ステータスレジスタA705のビット0〜ビット3のうちいずれか1つまたは複数のビットが「1」であると判断すると、CPU56は、割り込み原因がシリアル通信回路505で通信エラーが発生したことであると特定する。
The
割り込み原因がシリアル通信回路505で通信エラーが発生したことであると特定すると、CPU56は、図56(a)に示す通信エラー割込処理を他の割込処理(図56(b)および図56(c)に示す割込処理)に優先して実行する。この場合、CPU56は、シリアル通信回路505で通信エラーが発生していることを示す通信エラーフラグをセットする(ステップS41)。
If it is determined that the cause of the interruption is that a communication error has occurred in the
なお、通信エラーを検出すると、CPU56は、演出制御手段に、シリアル通信回路505で通信エラーが発生したことを通知するために、通信エラー発生表示指定の演出制御コマンド(通信エラー表示コマンド)を送信する処理を行う。音/ランプ制御用CPU100bは、通信エラー表示コマンドを受信すると、音、発光体などを用いた演出を行い、通信エラーが発生している旨の報知を行う。また、図柄制御用CPU100aは、音/ランプ制御基板80bを経由して受信した通信エラー表示コマンドにもとづいて、可変表示装置9を用いて、通信エラーが発生している旨を報知してもよい。
When a communication error is detected, the
割り込み原因がシリアル通信回路505で通信エラーが発生したことでなかった場合、CPU56は、ステータスレジスタAのビット5を確認する。すなわち、CPU56は、シリアル通信回路505が受信データを受信したことが割込原因であるか否かを判断する。ステータスレジスタAのビット5が「1」であると判断すると、CPU56は、割り込み原因がシリアル通信回路505が受信データを受信したことであると特定する。
If the cause of the interruption is not the occurrence of a communication error in the
割り込み原因がシリアル通信回路505が受信データを受信したことであると特定すると、CPU56は、図56(b)に示す受信時割込処理を実行する。この場合、CPU56は、シリアル通信回路505が受信データを受信していることを示す受信時割込フラグをセットする(ステップS42)。
If it is determined that the cause of the interruption is that the
なお、ステップS42において、CPU56は、受信時割込フラグをセットするとともに、シリアル通信回路505の受信データレジスタ711からデータを読み込んでもよい。この場合、例えば、CPU56は、読み込んだ受信データが賞球ACKコマンドであるか否かを判断する。また、賞球ACKコマンドであると判断すると、CPU56は、賞球ACKコマンドを受信したことを示す賞球ACK受信フラグをセットする。
In step S42, the
また、割り込み原因がシリアル通信回路505で通信エラーが発生したことでなかった場合、CPU56は、ステータスレジスタAのビット6を確認する。すなわち、CPU56は、シリアル通信回路505が送信データの送信を完了したことが割込原因であるか否かを判断する。ステータスレジスタAのビット6が「1」であると判断すると、CPU56は、割り込み原因がシリアル通信回路505が送信データの送信を完了したことであると特定する。
If the cause of the interrupt is not the occurrence of a communication error in the
割り込み原因がシリアル通信回路505が送信データの送信を完了したことであると特定すると、CPU56は、図56(c)に示す送信完了割込処理を実行する。この場合、CPU56は、シリアル通信回路505が送信データの送信を完了していることを示す送信時割込フラグをセットする(ステップS43)。
When it is determined that the cause of the interruption is that the
上記に示す処理を実行することによって、遊技制御用マイクロコンピュータ560のCPU56は、シリアル通信回路505からの割り込み要求があった場合に、割込原因を特定し、特定した割込原因に応じたフラグ(通信エラーフラグ、受信時割込フラグ又は送信時割込フラグ)をセットする。特定した割込原因に応じてフラグがセットされることによって、CPU56によって、シリアル通信回路505で通信エラーが発生した旨や、データを受信した旨、又はデータ送信を完了した旨が認識される。
By executing the processing described above, the
なお、払出制御用マイクロコンピュータ370が搭載するCPUも、シリアル通信回路380からの割り込み要求があった場合に、図56に示す処理と同様の処理に従って、割り込み原因を特定し、特定した割込原因に応じたフラグをセットする。
Note that the CPU mounted on the
例えば、遊技制御用マイクロコンピュータ560から払出制御用マイクロコンピュータ370に、一方向通信で賞球個数コマンドを送信する場合を考える。この場合、遊技制御用マイクロコンピュータ560が払出制御用マイクロコンピュータ370に、例えば2ms毎にタイマ割込が発生する構成となっていて、賞球個数コマンドを送信した後、次の割込処理を行って2ms後に再び賞球個数コマンドを送信したとする。また、払出制御用マイクロコンピュータ370は、例えば4ms毎にタイマ割込が発生する構成となっていて、4ms毎に賞球個数コマンドを受信できるものであるとする。すると、遊技制御用マイクロコンピュータ560が最初に送信した賞球個数コマンドを読み込んでいないのに、払出制御用マイクロコンピュータ370が次の賞球個数コマンドを受信してしまう事態が発生してしまうが、払出制御用マイクロコンピュータ370のCPUがシリアル通信回路380からの受信時割り込み要求に応じて賞球個数コマンドを受信するように設定すれば、遊技制御用マイクロコンピュータ560からの賞球個数コマンドを確実に受信することができる。
For example, consider a case where a prize ball number command is transmitted from the
賞球処理では、図57に示す賞球個数テーブルが使用される。賞球個数テーブルは、ROM54に設定されている。賞球個数テーブルの先頭アドレスには処理数(この例では「3」)が設定され、その後に、賞球コマンド出力カウンタと、賞球数を指定する賞球指定データとが、順次設定されている。賞球コマンド出力カウンタとは、入賞口への入賞数をカウントするカウンタであり、例えば、ROM54に設定される。また、遊技制御用マイクロコンピュータ560は、賞球数(0〜15個)毎に、対応する賞球コマンド出力カウンタを備える。この実施の形態では、遊技制御用マイクロコンピュータ560は、賞球数「3」に対応する賞球コマンド出力カウンタ1と、賞球数「10」に対応する賞球コマンド出力カウンタ2と、賞球数「15」に対応する賞球コマンド出力カウンタ3とを備える。なお、各賞球コマンド出力カウンタは、後述するように、タイマ割込処理の入力判定処理でカウントアップされる。
In the prize ball processing, a prize ball number table shown in FIG. 57 is used. The prize ball number table is set in the
図58は、賞球処理を示すフローチャートである。賞球処理では、CPU56は、賞球プロセスコードの値に応じて、ステップS1231〜S1235のいずれかの処理を実行する。
FIG. 58 is a flowchart showing the prize ball processing. In the prize ball process, the
図59は、賞球プロセスコードの値が0の場合に実行される賞球個数コマンド送信処理(ステップS1231)を示すフローチャートである。CPU56は、賞球個数コマンド送信処理において、エラーフラグがセットされているか否か確認する(ステップS1241)。この場合、CPU56は、通信エラーフラグがセットされているか否かを確認する。すなわち、CPU56は、まず、シリアル通信回路505で通信エラーが発生しているか否かを確認する。通信エラーフラグがセットされている場合、CPU56は、そのまま処理を終了する。すなわち、シリアル通信回路505で通信エラーが発生している状態であるので、CPU56は、払出制御基板37が搭載する払出制御用マイクロコンピュータ370との通信を禁止するように制御する。
FIG. 59 is a flowchart showing a prize ball number command transmission process (step S1231) executed when the value of the prize ball process code is zero. In the winning ball number command transmission process, the
また、ステップS1241において、CPU56は、賞球異常が発生していることを示す賞球過多異常エラーフラグや賞球過少異常エラーフラグがセットされているか否かを確認する。この実施の形態では、後述するように、賞球異常検出処理において、賞球過多の発生が検出されると、賞球過多異常エラーフラグがセットされる。賞球過多異常エラーフラグがセットされている場合、CPU56は、そのまま処理を終了する。すなわち、賞球過多の異常が発生している状態であるので、CPU56は、払出制御用マイクロコンピュータ370への賞球個数コマンドの送信を禁止するように制御する。また、賞球異常検出処理において、賞球過少の発生が検出されると、賞球過少異常エラーフラグがセットされる。賞球過少異常エラーフラグがセットされている場合、CPU56は、そのまま処理を終了する。すなわち、賞球過少の異常が発生している状態であるので、CPU56は、払出制御用マイクロコンピュータ370への賞球個数コマンドの送信を禁止するように制御する。
In step S1241, the
エラーフラグがセットされていなければ、CPU56は、賞球個数テーブルの先頭アドレスをポインタにセットする(ステップS1242)。そして、ポインタが指すアドレスのデータ(この場合には処理数)をロードする(ステップS1243)。次に、CPU56は、払出制御用マイクロコンピュータ370に送信すべき賞球個数コマンドを設定するための賞球個数コマンドバッファの内容をロードする(ステップS1244)。そして、ロードした内容にもとづいて、払出制御用マイクロコンピュータ370に送信すべき賞球個数コマンドが賞球個数コマンドバッファに既に設定された状態であるか否かを確認する(ステップS1245)。
If the error flag is not set, the
賞球個数コマンドが賞球個数コマンドバッファに設定されていなければ(例えば、ロードした値が0であれば)、CPU56は、ポインタの値を1増やし(ステップS1246)、ポインタが指す賞球コマンド出力カウンタ(賞球個数テーブルにデータとして示される賞球コマンド出力カウンタ)のカウント値をロードする(ステップS1247)。なお、既に賞球個数コマンドが賞球個数コマンドバッファに設定されていれば、そのままステップS1254に移行する。
If no prize ball number command is set in the prize ball number command buffer (for example, if the loaded value is 0), the
次いで、CPU56は、ロードしたカウント値が0であるか否かを確認する(ステップS1248)。カウント値が0であれば、そのままステップS1252に移行する。カウント値が0でなければ、CPU56は、ポインタの値を1増やし(ステップS1249)、ポインタが指す賞球個数テーブルのデータ(この場合には賞球指定データに示される賞球個数)をロードする(ステップS1250)。また、CPU56は、ロードした賞球個数を賞球個数コマンドとして賞球個数コマンドバッファにストアする(ステップS1251)。ステップS1252では処理数を1減らし、処理数が0でなければステップS1246に戻る(ステップS1253)。
Next, the
ステップS1245で賞球個数コマンドが既に設定済みであった場合、またはステップS1253で処理数が0であった場合には、CPU56は、賞球個数コマンドバッファから賞球個数を読み込み、賞球個数コマンドとしてシリアル通信回路505の送信データレジスタ710に書き込む(ステップS1254)。そして、CPU56は、賞球プロセスコードの値を1にした後(ステップS1255)、処理を終了する。
If the winning ball number command has already been set in step S1245, or if the processing number is 0 in step S1253, the
図60は、賞球プロセスコードの値が1の場合に実行される賞球送信完了待ち処理(ステップS1232)を示すフローチャートである。CPU56は、賞球送信完了待ち処理において、エラーフラグがセットされているか否か確認する(ステップS1261)。この場合、CPU56は、通信エラーフラグがセットされているか否かを確認する。すなわち、CPU56は、まず、シリアル通信回路505で通信エラーが発生しているか否かを確認する。通信エラーフラグがセットされている場合、CPU56は、そのまま処理を終了する。すなわち、シリアル通信回路505で通信エラーが発生している状態であるので、CPU56は、払出制御基板37が搭載する払出制御用マイクロコンピュータ370との通信を禁止するように制御する。
FIG. 60 is a flowchart showing a prize ball transmission completion waiting process (step S1232) executed when the value of the prize ball process code is 1. In the award ball transmission completion waiting process, the
また、ステップS1261において、CPU56は、賞球異常が発生していることを示す賞球過多異常エラーフラグまたは賞球過少異常エラーフラグがセットされているか否かを確認する。賞球過多異常エラーフラグまたは賞球過少異常エラーフラグがセットされている場合、CPU56は、そのまま処理を終了する。すなわち、賞球過多または賞球過少の異常が発生している状態であるので、CPU56は、払出制御用マイクロコンピュータ370への賞球個数コマンドの送信を禁止するように制御する。
In step S1261, the
エラーフラグがセットされていなければ、CPU56は、送信時割込フラグがセットされているか否かを確認する(ステップS1262)。送信時割込フラグがセットされていれば、CPU56は、ステップS1263の処理に移行する。また、送信時割込フラグがセットされていなければ、CPU56は、そのまま処理を終了する。すなわち、CPU56は、賞球個数コマンド送信処理において送信データレジスタ710に書き込んだ賞球個数コマンドの送信をシリアル通信回路505が既に完了したか否かを判断し、賞球個数コマンドの送信を完了したことを確認すると、ステップS1263以降の処理を実行する。
If the error flag is not set, the
送信時割込フラグがセットされていれば、CPU56は、送信時割込フラグをリセットする(ステップS1263)。また、CPU56は、賞球タイマにACK受信完了判定時間値をセットする(ステップS1264)。そして、賞球プロセスコードの値を2にして(ステップS1265)、処理を終了する。なお、ACK受信完了判定時間値は、払出制御手段から賞球ACKコマンドを受信したか否かを監視するための時間値である。
If the transmission interrupt flag is set, the
図61は、賞球プロセスコードの値が2の場合に実行される賞球ACK待ち処理(ステップS1233)を示すフローチャートである。CPU56は、賞球ACK待ち処理において、エラーフラグがセットされているか否か確認する(ステップS1271)。この場合、CPU56は、通信エラーフラグがセットされているか否かを確認する。すなわち、CPU56は、まず、シリアル通信回路505で通信エラーが発生しているか否かを確認する。通信エラーフラグがセットされている場合、CPU56は、そのまま処理を終了する。すなわち、シリアル通信回路505で通信エラーが発生している状態であるので、CPU56は、払出制御基板37が搭載する払出制御用マイクロコンピュータ370との通信を禁止するように制御する。
FIG. 61 is a flowchart showing a prize ACK waiting process (step S1233) executed when the value of the prize ball process code is 2. In the award ball ACK waiting process, the
また、ステップS1271において、CPU56は、賞球異常が発生していることを示す賞球過多異常エラーフラグまたは賞球過少エラーフラグがセットされているか否かを確認する。賞球過多異常エラーフラグまたは賞球過少エラーフラグがセットされている場合、CPU56は、そのまま処理を終了する。すなわち、賞球過多または賞球過少の異常が発生している状態であるので、CPU56は、払出制御用マイクロコンピュータ370への賞球個数コマンドの送信を禁止するように制御する。
Further, in step S1271, the
エラーフラグがセットされていなければ、CPU56は、受信時割込フラグがセットされているか否かを確認する(ステップS1272)。すなわち、CPU56は、シリアル通信回路505が受信データを受信し、受信データレジスタ711にデータが格納されている状態になっているか否かを確認する。受信時割込フラグがセットされていれば、CPU56は、ステップS1273の処理に移行する。また、受信時割込フラグがセットされていなければ、CPU56は、ステップS1275の処理に移行する。
If the error flag is not set, the
受信時割込フラグがセットされていれば、CPU56は、シリアル通信回路505の受信データレジスタ711からデータを読み込む(ステップS1273)。また、CPU56は、読み込んだデータが賞球ACKコマンドであるか否か(コマンド「D2」であるか否か)を判断する(ステップS1274)。
If the reception interrupt flag is set, the
なお、図56(b)に示す受信時割込処理において、受信時割込フラグをセットするとともに既に受信データを受信データレジスタ711から読み込んでいる場合、ステップS1273,S1274において、CPU56は、賞球ACK受信フラグがセットされているか否かを判断してもよい。そして、賞球ACK受信フラグがセットされている場合、CPU56は、賞球ACKコマンドを受信したと判断するようにしてもよい。
In the reception interrupt process shown in FIG. 56 (b), when the reception interrupt flag is set and the reception data has already been read from the reception data register 711, the
ステップS1272で受信時割込フラグがセットされていなかった場合、またはステップS1274で読み込んだデータが賞球ACKコマンドでなかった場合、CPU56は、まだ払出制御用マイクロコンピュータ370から賞球ACKコマンドを受信していない状態であると判断する。この場合、CPU56は、賞球タイマの値を1減らし(ステップS1275)、その値が0でなければ処理を終了する(ステップS1276)。賞球タイマの値が0になったら、払出制御用マイクロコンピュータ370が賞球ACKコマンドを送信しなかったと判断して、再送信フラグをセットし(ステップS1277)、賞球プロセスコードの値を3にして(ステップS1278)、処理を終了する。なお、賞球プロセスコードの値が3になると、賞球再送信処理(ステップS1234)が実行される状態になる。また、再送信フラグがセットされると、賞球異常検出処理(ステップS1235)において、払出異常報知開始コマンドが音/ランプ制御基板80bに対して送信される。
If the reception interrupt flag is not set in step S1272, or if the data read in step S1274 is not a prize ball ACK command, the
ステップS1274において、受信データレジスタ711から読み込んだデータが賞球ACKコマンドであることを確認すると、CPU56は、受信時割込フラグをリセットして(ステップS1279)、賞球プロセスコードの値を4にする(ステップS1280)。
In step S1274, when confirming that the data read from the reception data register 711 is a prize ball ACK command, the
次いで、CPU56は、割込禁止状態に設定し(ステップS1281)、総賞球数格納バッファの内容をロードする(ステップS1282)。なお、総賞球数格納バッファは、払い出すべき賞球数であって払い出しが完了していない賞球数の総数(総賞球数)を格納するバッファである。総賞球数格納バッファの内容をロードすると、CPU56は、賞球個数コマンド送信処理で送信した賞球個数コマンドに対応する賞球数を、ロードした総賞球数格納バッファの内容(総賞球数)に加算する(ステップS1283)。この実施の形態では、CPU56は、賞球個数コマンドに応じて、3、10または15のいずれかの賞球数を、ロードした総賞球数格納バッファの内容に加算する。
Next, the
次いで、CPU56は、総賞球数の加算結果を、総賞球数格納バッファにストアし(ステップS1284)、再び割込許可状態に設定する(ステップS1285)。また、通信が正常に完了したので、再送信フラグがセットされている場合には、再送信フラグをリセットする(ステップS1286,S1287)。
Next, the
以上の処理によって、遊技制御手段は、払出条件の成立にもとづいて払い出される賞球としての遊技球の総数を特定可能に総賞球数格納バッファに記憶する。また、遊技制御手段は、賞球コマンド出力カウンタに対応する賞球数にもとづいて払出制御手段に対して所定数の賞球の払出数を指定する払出指令コマンド(賞球個数コマンド)を送信する。そして、賞球払出を指定する賞球個数コマンドを送信するとに、総賞球数格納バッファに記憶されている賞球数に賞球個数コマンドで指定した払出数を加算する加算処理を行う。なお、払出制御用マイクロコンピュータ370は、賞球個数コマンドを受信すると直ちに賞球ACKコマンドを送信するので、球払出装置97からの賞球払出に関わりなく賞球個数コマンドに関する通信を完了でき、遊技制御用マイクロコンピュータ560は、賞球個数コマンドで指定した払出数の賞球払出が完了する前に、連続的に次の賞球個数コマンドを送信することができる。
By the above processing, the game control means stores the total number of game balls as prize balls to be paid out based on the establishment of the payout condition in the total prize ball number storage buffer so as to be specified. Further, the game control means transmits a payout command command (award ball number command) for designating a payout number of a predetermined number of prize balls to the payout control means based on the number of prize balls corresponding to the prize ball command output counter. . Then, when a prize ball number command designating the prize ball payout is transmitted, an addition process for adding the number of prizes designated by the prize ball number command to the prize ball number stored in the total prize ball number storage buffer is performed. Since the
また、ステップS1281〜S1285の処理において、賞球個数コマンドに示される賞球数を総賞球数に加算する際に、総賞球数格納バッファから総賞球数を読み出すと、加算後の総賞球数を総賞球数格納バッファに書き込むまでタイマ割込処理の実行を禁止する。そのため、総賞球数格納バッファから総賞球数を読み出してから再び書き込むまでの間に、払い出された賞球数を総賞球数から減算する処理を実行しないようにすることができ、払い出された賞球数を遊技制御手段が把握できなくなる事態を防止できる。 In addition, in the processing of steps S1281 to S1285, when the total number of winning balls is read from the total winning ball number storage buffer when the number of winning balls indicated in the winning ball number command is added to the total number of winning balls, Execution of timer interrupt processing is prohibited until the number of winning balls is written to the total winning ball number storage buffer. Therefore, it is possible not to execute the process of subtracting the paid-out prize ball number from the total prize ball number between the time of reading the total prize ball number from the total prize ball number storage buffer and writing it again. It is possible to prevent a situation in which the game control means cannot grasp the number of prize balls that have been paid out.
例えば、遊技制御手段は、後述するように、払い出しが行われると、タイマ割込処理の入力判定処理において、総賞球数格納バッファが記憶する総賞球数から、払出カウントスイッチによって検出された払出数を減算する。この場合、賞球処理において総賞球数格納バッファから総賞球数を読み出してから再び書き込むまでの間に払い出しが行われると、遊技制御手段は、加算後の総賞球数が総賞球数格納バッファにストアされる前に、タイマ割込により減算処理を実行してしまう虞がある。そのため、加算後の総賞球数(減算分が反映されていない総賞球数)を総賞球数格納バッファに上書きしてしまい、払い出しによる減算分を総賞球数に正しく反映できなくなる虞がある。この実施の形態では、加算後の総賞球数を総賞球数格納バッファに書き込むまでタイマ割込処理の実行を禁止するので、払い出しによる減算分を総賞球数に正しく反映できなくなる事態を防止でき、払い出された賞球数を遊技制御手段が把握できなくなる事態を防止できる。 For example, as will be described later, when the payout is performed, the game control means is detected by the payout count switch from the total number of winning balls stored in the total winning ball number storage buffer in the input determination process of the timer interruption process. Subtract the number of payouts. In this case, if the payout process is performed between the time of reading the total number of winning balls from the total number of winning balls storage buffer and the time of writing again in the winning ball processing, the game control means determines that the total number of winning balls is the total number of winning balls. There is a risk that the subtraction process may be executed by timer interruption before being stored in the number storage buffer. For this reason, the total number of winning balls after the addition (the total number of winning balls in which the subtraction amount is not reflected) is overwritten in the total winning ball number storage buffer, and the subtraction amount due to payout may not be correctly reflected in the total number of winning balls. There is. In this embodiment, since the timer interruption process is prohibited until the total number of winning balls after the addition is written to the total winning ball number storage buffer, the subtraction due to payout cannot be correctly reflected in the total number of winning balls. It is possible to prevent such a situation that the game control means cannot grasp the number of prize balls that have been paid out.
図62は、賞球プロセスコードの値が3の場合に実行される賞球再送信処理(ステップS1234)を示すフローチャートである。CPU56は、賞球再送信処理において、エラーフラグがセットされているか否か確認する(ステップS1291)。この場合、CPU56は、通信エラーフラグがセットされているか否かを確認する。すなわち、CPU56は、まず、シリアル通信回路505で通信エラーが発生しているか否かを確認する。通信エラーフラグがセットされている場合、CPU56は、そのまま処理を終了する。すなわち、シリアル通信回路505で通信エラーが発生している状態であるので、CPU56は、払出制御基板37が搭載する払出制御用マイクロコンピュータ370との通信を禁止するように制御する。
FIG. 62 is a flowchart showing the prize ball re-transmission process (step S1234) executed when the value of the prize ball process code is 3. The
また、ステップS1291において、CPU56は、賞球異常が発生していることを示す賞球過多異常エラーフラグまたは賞球過少異常エラーフラグがセットされているか否かを確認する。賞球過多異常エラーフラグまたは賞球過少異常エラーフラグがセットされている場合、CPU56は、そのまま処理を終了する。すなわち、賞球過多または賞球過少の異常が発生している状態であるので、CPU56は、払出制御用マイクロコンピュータ370への賞球個数コマンドの送信を禁止するように制御する。
In step S1291, the
エラーフラグがセットされていなければ、CPU56は、賞球個数コマンド送信処理で送信した賞球個数コマンドに対応する賞球数を、賞球個数コマンドとしてシリアル通信回路505の送信データレジスタ710に再度書き込む(ステップS1292)。また、CPU56は、賞球タイマにACK受信完了判定時間値を再びセットする(ステップS1293)。そして、賞球プロセスコードの値を2にして(ステップS1294)、処理を終了する。
If the error flag is not set, the
賞球プロセスコードの値が2に設定されることから、再度、賞球ACK待ち処理が実行される。再度実行される賞球ACK待ち処理において、再び賞球ACKコマンドを受信したことを検出できなかった場合には、具体的には、ステップS1276において賞球タイマがタイムアウトした場合には、再び賞球再送処理が実行されることになる。このように、遊技制御用マイクロコンピュータ560は、払出数データを受信したことを示す受信確認信号としての賞球ACKコマンドが受信できない場合には、賞球ACKコマンドが受信できるまで、賞球個数コマンドの再送を繰り返す。
Since the value of the prize ball process code is set to 2, the prize ball ACK waiting process is executed again. In the award ball ACK waiting process to be executed again, if it is not detected that the award ball ACK command has been received again, specifically, if the award ball timer times out in step S1276, the award ball again A retransmission process is executed. As described above, when the
図63は、ステップS1235の賞球異常検出処理を示すフローチャートである。賞球異常検出処理において、CPU56は、再送信フラグがリセット状態からセット状態になったことを検出すると、払出異常報知開始コマンドを演出制御コマンドとして音/ランプ制御基板80bに対して(具体的には音/ランプ制御用マイクロコンピュータ100bに対して)送信する制御を行う(ステップS1301,S1302)。なお、CPU56は、賞球再送信処理を実行してから払出異常報知開始コマンドを送信するのでなく、払出異常報知開始コマンドを音/ランプ制御基板80bに送信してから賞球再送信処理を実行するようにしてもよい。
FIG. 63 is a flowchart showing the prize ball abnormality detection processing in step S1235. In the prize ball abnormality detection process, when the
なお、音/ランプ制御用マイクロコンピュータ100bに演出制御コマンドを送信する際に、CPU56は、演出制御コマンドの種類に応じたコマンド送信テーブル(あらかじめROM54にコマンド毎に設定されている)のアドレスをポインタにセットする。そして、演出制御コマンドに応じたコマンド送信テーブルのアドレスをポインタにセットして、コマンド制御処理(ステップS19b)において演出制御コマンドを送信する。
When transmitting the effect control command to the sound /
また、CPU56は、再送信フラグがセット状態からリセット状態になったことを検出する(従って、セット状態が継続している場合には最初にリセット状態になったときにのみ検出される。)と、払出異常報知終了コマンドを音/ランプ制御基板80bに対して(具体的には音/ランプ制御用マイクロコンピュータ100bに対して)送信する制御を行う(ステップS1303,S1304)。
Further, the
なお、この実施の形態では、CPU56は、再送信フラグがリセットされると、ステップS1304で払出異常報知終了コマンドを送信するが、送信しないように構成してもよい。その場合には、遊技制御用マイクロコンピュータ560の負担が軽減される。また、その場合には、音/ランプ制御用マイクロコンピュータ100bが、例えば所定時間後に、独自に払出異常報知を終了するように構成される。
In this embodiment, when the retransmission flag is reset, the
また、CPU56は、総賞球数格納バッファが格納する総賞球数が所定の払出過多判定値よりも小さいか否かを確認する(ステップS1305)。また、総賞球数が所定の払出過多判定値よりも小さい場合、CPU56は、賞球過多異常が発生していると判断し、賞球過多異常が発生している旨を示す賞球過多異常コマンドを、音/ランプ制御基板80bおよび払出制御基板37に送信する(ステップS1306)。この実施の形態では、CPU56は、総賞球数格納バッファが格納する総賞球数が「−499」より小さい(すなわち、500以下である)と判断すると、払い出すべき賞球数より多くの遊技球が払い出された賞球過多異常が発生したと判断する。
Further, the
なお、ステップS1306において、音/ランプ制御用マイクロコンピュータ100bに演出制御コマンド(賞球過多異常コマンド)を送信する際に、CPU56は、演出制御コマンドの種類に応じたコマンド送信テーブル(あらかじめROM54にコマンド毎に設定されている)のアドレスをポインタにセットする。そして、演出制御コマンドに応じたコマンド送信テーブルのアドレスをポインタにセットして、コマンド制御処理(ステップS19b)において演出制御コマンドを送信する。
In step S1306, when transmitting the effect control command (excessive ball excess abnormality command) to the sound /
また、ステップS1306において、払出制御用マイクロコンピュータ370に賞球過多異常コマンドを送信する際に、CPU56は、賞球過多異常が発生した旨を示す賞球過多異常コマンド(具体的には「E1」)を、シリアル通信回路505の送信データレジスタ710に書き込む。そして、シリアル通信回路505によって、賞球過多異常コマンド「E1」が払出制御用マイクロコンピュータ370に送信される。
In step S1306, when transmitting an excessive prize ball abnormality command to the
賞球過多異常コマンドを送信すると、CPU56は、賞球過多異常が発生した旨を示す賞球過多異常エラーフラグをセットし(ステップS1307)、賞球プロセスコードの値を0にした後(ステップS1308)、処理を終了する。
When the excessive prize ball abnormality command is transmitted, the
また、ステップS1305で総賞球数が所定の払出過多判定値よりも小さくない場合、CPU56は、総賞球数格納バッファが格納する総賞球数が所定の払出過少判定値よりも大きいか否かを確認する(ステップS1305a)。また、総賞球数が所定の払出過少判定値よりも大きい場合、CPU56は、賞球過少異常が発生していると判断し、賞球過少異常が発生している旨を示す賞球過少異常コマンドを、音/ランプ制御基板80bおよび払出制御基板37に送信する(ステップS1305b)。この実施の形態では、CPU56は、総賞球数格納バッファが格納する総賞球数が「2000」(大当り1回あたりに払い出される賞球数に相当する)より大きいと判断すると、払い出すべき賞球数よりも少ない遊技球しか払い出されていない賞球過少異常が発生したと判断する。
If the total number of winning balls is not smaller than the predetermined payout excess determination value in step S1305, the
なお、ステップS1305bにおいて、音/ランプ制御用マイクロコンピュータ100bに演出制御コマンド(賞球過少異常コマンド)を送信する際に、CPU56は、演出制御コマンドの種類に応じたコマンド送信テーブル(あらかじめROM54にコマンド毎に設定されている)のアドレスをポインタにセットする。そして、演出制御コマンドに応じたコマンド送信テーブルのアドレスをポインタにセットして、コマンド制御処理(ステップS19b)において演出制御コマンドを送信する。
In step S1305b, when transmitting the effect control command (prize ball under / abnormal command) to the sound /
また、ステップS1305bにおいて、払出制御用マイクロコンピュータ370に賞球過少異常コマンドを送信する際に、CPU56は、賞球過少異常が発生した旨を示す賞球過少異常コマンド(具体的には「E2」)を、シリアル通信回路505の送信データレジスタ710に書き込む。そして、シリアル通信回路505によって、賞球過少異常コマンド「E2」が払出制御用マイクロコンピュータ370に送信される。
In step S1305b, when transmitting a prize ball underabnormality command to the
賞球過少異常コマンドを送信すると、CPU56は、賞球過少異常が発生した旨を示す賞球過少異常エラーフラグをセットし(ステップS1305c)、賞球プロセスコードの値を0にした後(ステップS1308)、処理を終了する。
When the prize ball under-abnormality command is transmitted, the
次に、メイン処理における特別図柄プロセス処理(ステップS19d)を説明する。図64は、遊技制御用マイクロコンピュータ560のCPU56が実行する特別図柄プロセス処理のプログラムの一例を示すフローチャートである。遊技制御用マイクロコンピュータ560のCPU56は、特別図柄プロセス処理を行う際に、変動短縮タイマ減算処理(ステップS310)を行い、遊技盤6に設けられている始動入賞口14に遊技球が入賞したことを検出するための始動口スイッチ14aがオンしていたら、すなわち遊技球が始動入賞口14に入賞し、入賞検出信号SSが始動口スイッチ14aから入力されていたら(ステップS311)、始動口スイッチ通過処理(ステップS312)を行った後に、内部状態に応じて、ステップS300〜S308のうちのいずれかの処理を行う。変動短縮タイマは、特別図柄の変動時間が短縮される場合に、変動時間を設定するためのタイマである。
Next, the special symbol process (step S19d) in the main process will be described. FIG. 64 is a flowchart showing an example of a special symbol process processing program executed by the
なお、ステップS311において始動口スイッチ14aがオンしていなかった場合には、CPU56は、後述する割込回数カウンタをクリアした後に、内部状態に応じて、ステップS300〜S308のうちのいずれかの処理を行う。
If the
特別図柄通常処理(ステップS300):特別図柄の可変表示を開始できる状態(例えば、特別図柄表示器8において図柄の変動がなされておらず、特別図柄表示器8における前回の図柄変動が終了してから所定期間が経過しており、かつ、大当り遊技中でもない状態)になるのを待つ。特別図柄の可変表示が開始できる状態になると、特別図柄についての始動入賞記憶数を確認する。始動入賞記憶数が0でなければ、特図保留メモリ570に記憶されている乱数回路503が発生したランダムRにもとづいて、特別図柄の可変表示の結果を大当りとするか否か決定する。そして、内部状態(特別図柄プロセスフラグ)をステップS301に移行するように更新する。
Special symbol normal processing (step S300): A state where variable symbol special display can be started (for example, the symbol variation has not been made in the
特別図柄停止図柄設定処理(ステップS301):特別図柄の可変表示後の停止図柄を決定する。そして、内部状態(特別図柄プロセスフラグ)をステップS302に移行するように更新する。 Special symbol stop symbol setting process (step S301): A stop symbol after variable display of the special symbol is determined. Then, the internal state (special symbol process flag) is updated so as to shift to step S302.
変動時間設定処理(ステップS302):変動パターンを決定し、その変動パターンにおける変動時間(可変表示時間:可変表示を開始してから表示結果が導出表示(停止表示)するまでの時間)を特別図柄の可変表示の変動時間とすることに決定する。また、決定した特別図柄の変動時間を計測する変動時間タイマをスタートさせる。そして、内部状態(特別図柄プロセスフラグ)をステップS303に移行するように更新する。 Variation time setting process (step S302): A variation pattern is determined, and variation time in the variation pattern (variable display time: time from when variable display is started until display result is derived and displayed (stop display)) is a special symbol. It is determined to be a variable display variable time. In addition, a variation time timer that measures the variation time of the determined special symbol is started. Then, the internal state (special symbol process flag) is updated so as to shift to step S303.
特別図柄変動処理(ステップS303):所定時間(ステップS302の変動時間タイマで示された時間)が経過すると、内部状態(特別図柄プロセスフラグ)をステップS304に移行するように更新する。 Special symbol variation process (step S303): When a predetermined time (the time indicated by the variation time timer in step S302) elapses, the internal state (special symbol process flag) is updated to shift to step S304.
特別図柄停止処理(ステップS304):音/ランプ制御基板80bに対して、飾り図柄の停止を指示するための飾り図柄停止コマンドを送信する。また、特別図柄表示器8における特別図柄を停止させる。そして、特別図柄の停止図柄が大当り図柄である場合には、内部状態(特別図柄プロセスフラグ)をステップS305に移行するように更新する。そうでない場合には、内部状態をステップS300に移行するように更新する。なお、飾り図柄停止コマンドを送信しない構成としてもよい。この場合、図柄制御基板80aは、音/ランプ制御基板80bを経由して主基板31から受信した変動パターンコマンドにもとづいて変動時間タイマに変動時間を設定するとともに、その変動時間タイマを更新していくことで飾り図柄の変動時間を独自に監視し、その変動時間が経過したと判定したときに飾り図柄を停止する処理を行うようにすればよい。
Special symbol stop process (step S304): A decorative symbol stop command for instructing stop of the decorative symbol is transmitted to the sound /
大入賞口開放前処理(ステップS305):大入賞口を開放する制御を開始する。具体的には、カウンタ(例えば大入賞口に入った遊技球数をカウントするカウンタ)やフラグ(入賞口への入賞を検出する際に用いられるフラグ)を初期化するとともに、ソレノイド21を駆動して大入賞口を開放する。また、プロセスタイマによって大入賞口開放中処理の実行時間を設定し、大当り中フラグをセットする。そして、内部状態(特別図柄プロセスフラグ)をステップS306に移行するように更新する。
Preliminary winning opening opening process (step S305): Control for opening the large winning opening is started. Specifically, a counter (for example, a counter that counts the number of game balls that have entered the big winning opening) and a flag (a flag used when detecting winning in the winning opening) are initialized, and the
大入賞口開放中処理(ステップS306):大入賞口ラウンド表示の演出制御コマンドを音/ランプ制御基板80bに送出する制御や大入賞口の閉成条件(例えば、大入賞口に所定個数(例えば10個)の遊技球が入賞したこと)の成立を確認する処理等を行う。大入賞口の閉成条件が成立したら、内部状態をステップS307に移行するように更新する。
Processing for opening a special prize opening (step S306): control for sending a presentation control command for round display of the special prize opening to the sound /
特定領域有効時間処理(ステップS307):大当り遊技状態継続条件の成立を確認する処理を行う。大当り遊技状態継続の条件が成立し、かつ、まだ残りラウンドがある場合には、内部状態をステップS305に移行するように更新する。また、全てのラウンドを終えた場合には、内部状態をステップS308に移行するように更新する。なお、V入賞領域を設けた場合、V入賞スイッチの有無を監視して、大当り遊技状態継続条件の成立を確認する処理を行う。 Specific area valid time process (step S307): A process of confirming that the big hit gaming state continuation condition is satisfied is performed. If the condition for continuing the big hit gaming state is satisfied and there are still remaining rounds, the internal state is updated to shift to step S305. When all the rounds are finished, the internal state is updated so as to shift to step S308. When the V winning area is provided, the presence / absence of the V winning switch is monitored to perform processing for confirming that the big hit gaming state continuation condition is satisfied.
大当り終了処理(ステップS308):大当り遊技状態が終了したことを遊技者に報知する表示制御を演出制御手段に行わせるための制御を行う。そして、内部状態をステップS300に移行するように更新する。 Big hit end processing (step S308): Control for causing the effect control means to perform display control for notifying the player that the big hit gaming state has ended. Then, the internal state is updated so as to shift to step S300.
図65は、始動口スイッチ通過処理(ステップS312)を示すフローチャートである。始動口スイッチ通過処理において、遊技制御用マイクロコンピュータ560のCPU56は、始動入賞カウンタが示す始動入賞記憶数(または特図保留メモリ570が記憶している始動入賞記憶数)が最大値である4に達しているかどうか確認する(ステップS321)。始動入賞記憶数が4に達していなければ、CPU56は、割込実行回数カウンタに示されるタイマ割込処理の実行回数が所定回数(例えば、3回)に達しているか否かを確認する(ステップS322)。すなわち、CPU56は、遊技球が始動入賞口14に入賞したあと、割込実行回数カウンタが所定回数に達しているか否かを確認する。なお、遊技球が始動入賞口14に入賞したことを検出すると(すなわち、ステップS322でYESと判定すると)、CPU56は、割込実行回数カウンタをリセットする。
FIG. 65 is a flowchart showing the start port switch passage process (step S312). In the start port switch passing process, the
割込実行回数カウンタは、タイマ割込処理を実行した回数をカウントするためのカウンタである。この実施の形態では、CPU56は、後述するタイマ割込処理を実行する際に、タイマ割込処理を実行した回数を示す割込回数カウンタをカウントアップする。
The interrupt execution number counter is a counter for counting the number of times the timer interrupt process has been executed. In this embodiment, the
ステップS322において所定回数としてあらかじめ設定される値は、以下のように定められる。前述のように、乱数回路503のタイマ回路534は、始動口スイッチ14aから入賞検出信号SSが継続して入力されている時間を計測し、計測時間が所定期間になったことを検出すると、乱数値取り込みデータ「01h」を書き込む。この実施の形態では、タイマ回路534が計測する所定期間(例えば、3ms)が、所定回数のタイマ割込処理が実行される期間(例えば、2msごとのタイマ割込処理を3回実行する場合は6ms)よりも短くなるように、ステップS322において用いる所定回数(例えば、3回)が設定される。そのように設定することによって、乱数を読み出してから、乱数値記憶回路531に記憶される乱数の値が更新される前に再び乱数を読み出してしまうことを防止することができ、前回乱数値記憶回路531から読み出した乱数と同じ値の乱数を再び読み出してしまうことを防止することができる。なお、タイマ回路534が入賞検出信号SSの入力時間を計測するのでなく、CPU56が入賞検出信号SSの入力時間を計測し、乱数値取り込みデータ「01h」を乱数値取込レジスタ539に書き込むようにしてもよい。
The value set in advance as the predetermined number of times in step S322 is determined as follows. As described above, the
タイマ割込処理の実行回数が所定回数に達している場合、CPU56は、特定した乱数回路503の乱数値記憶回路531に出力制御信号SCを出力し、乱数値記憶回路531を読出可能(イネイブル)状態に制御する(ステップS323)。
When the number of executions of the timer interrupt process has reached a predetermined number, the
CPU56は、乱数回路503の乱数値記憶回路531から、乱数値として記憶されているランダムRの値を読み出す(ステップS324)。また、CPU56は、読み出したランダムRの値を、始動入賞記憶数の値に対応した保存領域(特別図柄判定用バッファ(特図保留メモリ570))に格納する(ステップS325)。また、CPU56は、ランダムRの値をバッファ領域に格納すると、乱数値記憶回路531への出力制御信号SCの出力を停止し、乱数値記憶回路531を読出不能(ディセイブル)状態に制御する(ステップS326)。また、CPU56は、割込実行回数カウンタをリセットする(ステップS327)。そして、CPU56は、所定のバッファ領域に格納したランダムRの値を特図保留メモリ570の空エントリの先頭にセットし(ステップS328)、始動入賞カウンタのカウント数を1加算することで始動入賞記憶数を1増やす(ステップS329)。
The
ステップS321において始動入賞記憶するが最大値である4に達している場合、およびステップS322においてタイマ割込処理の実行回数が所定回数に達してない場合、そのまま始動口スイッチ通過処理を終了する。 If the start prize is stored in step S321 but the maximum value of 4 has been reached, and if the number of executions of the timer interrupt process has not reached the predetermined number in step S322, the start port switch passing process is terminated.
以上のように、始動口スイッチ通過処理において、乱数値記憶回路531からランダムRを読み出すにあたって、タイマ割込処理が所定回数実行されたこと(すなわち、タイマ割込処理が所定回数実行される間継続して入賞検出信号SSが入力されたこと)を条件に、乱数値記憶回路531から乱数を読み出す。そのため、乱数を読み出してから、乱数値記憶回路531に記憶される乱数の値が更新される前に再び乱数を読み出してしまうことを防止することができる。また、前回乱数値記憶回路531から読み出した乱数と同じ値の乱数を再び読み出してしまうことを防止することができる。 As described above, the timer interrupt process has been executed a predetermined number of times in reading the random R from the random value storage circuit 531 in the starting port switch passing process (that is, continued while the timer interrupt process is executed a predetermined number of times). The random number is read from the random value storage circuit 531 on the condition that the winning detection signal SS is input). Therefore, it is possible to prevent the random number from being read again after the random number is read and before the value of the random number stored in the random value storage circuit 531 is updated. Further, it is possible to prevent a random number having the same value as the random number read from the previous random number value storage circuit 531 from being read again.
次に、特別図柄プロセス処理における特別図柄通常処理(ステップS300)について説明する。図66は、特別図柄通常処理を示すフローチャートである。特別図柄通常処理において、遊技制御用マイクロコンピュータ560のCPU56は、特別図柄の変動を開始することができる状態のとき(例えば特別図柄プロセスフラグの値がステップS300を示す値となっている場合)には(ステップS380)、特図保留メモリ570から保留番号「1」に対応して格納されているランダムRの値を読み出す(ステップS381)。この場合、CPU56は、始動入賞カウンタのカウント数を1減算することで保留記憶数を1減らし、且つ、特図保留メモリ570の第2〜第4エントリ(保留番号「2」〜「4」)に格納されたランダムRの値を1エントリずつ上位にシフトする(ステップS382)。
Next, the special symbol normal process (step S300) in the special symbol process will be described. FIG. 66 is a flowchart showing special symbol normal processing. In the special symbol normal process, the
また、CPU56は、確変フラグがセットされているか否かを確認する(ステップS383)。すなわち、CPU56は、遊技状態が確変状態に制御されているか否かを確認する。確変フラグがセットされていない場合、CPU56は、遊技状態が確変状態以外の通常状態であると判断し、特別図柄表示装置8の表示結果を大当り図柄とするか否かを判定するために用いるテーブルとして、通常時大当り判定テーブル571a(図39(A)参照)を設定する(ステップS384)。また、確変フラグがセットされている場合、CPU56は、遊技状態が確変状態であると判断し、特別図柄表示装置8の表示結果を大当り図柄とするか否かを判定するために用いるテーブルとして、確変時大当り判定テーブル571b(図39(B)参照)を設定する(ステップS385)。
Further, the
CPU56は、始動口スイッチ通過処理において所定のバッファ領域に格納したランダムRの値にもとづいて、特別図柄表示装置8の表示結果を大当り図柄とするか否かを判定する(ステップS386)。この場合、CPU56は、ステップS384で設定した通常時大当り判定テーブル571aまたはステップS385で設定した確変時大当り判定テーブル571bを用いて、大当りとするか否かを判定する。
The
特別図柄表示装置8の表示結果を大当り図柄とすると決定すると、CPU56は、大当り状態であることを示す大当りフラグをオン状態にする(ステップS387)。また、特別図柄表示装置8の表示結果を大当り図柄としないと決定すると、CPU56は、大当りフラグをオフ状態にする(ステップS388)。そして、CPU56は、特別図柄プロセスフラグの値を特別図柄停止図柄設定処理に対応した値に更新する(ステップS389)。
If it is determined that the display result of the special
次に、タイマ割込処理について説明する。図67は、タイマ割込処理を示すフローチャートである。メイン処理の実行中に、具体的には、ステップS17〜S19のループ処理の実行中における割込許可になっている期間において、タイマ割込が発生すると、遊技制御用マイクロコンピュータ560のCPU56は、タイマ割込の発生に応じて起動されるタイマ割込処理を実行する。また、CPU56は、割込回数カウンタのカウント値を1加算する。タイマ割込処理において、CPU56は、まず、スイッチ回路58を介して、ゲートスイッチ32a、始動口スイッチ14a、カウントスイッチ23および入賞口スイッチ29a,30a,33a,39a等のスイッチの検出信号を入力し、各スイッチの入力を検出する(スイッチ処理:ステップS20)。具体的には、各スイッチの検出信号を入力する入力ポートの状態がオン状態であれば、各スイッチに対応して設けられているスイッチタイマの値を+1する。また、CPU56は、ステップS20の検出結果にもとづいて、各スイッチの入力状態を判定する入力判定処理を実行する(ステップS21)。
Next, the timer interrupt process will be described. FIG. 67 is a flowchart showing the timer interrupt process. When a timer interrupt occurs during execution of the main process, specifically, during a period in which the interrupt is permitted during the execution of the loop process of steps S17 to S19, the
次に、CPU56は、乱数回路設定処理において所定の最終値までカウント値が更新されたときに初期値を更新する旨の設定がされてるか(ステップS157参照)を確認し、乱数回路503のカウンタ521に入力する初期値を更新する処理を行う(乱数回路初期値更新処理:ステップS22)。
Next, the
次に、遊技制御に用いられる各判定用乱数を生成するための各カウンタのカウント値を更新する処理を行う(ステップS23)。また、CPU56は、初期値用乱数を生成するためのカウンタのカウント値を更新する処理を行う(初期値用乱数更新処理:ステップS24)。さらに、CPU56は、表示用乱数を生成するためのカウンタのカウント値を更新する処理を行う(表示用乱数更新処理:ステップS25)。
Next, a process of updating the count value of each counter for generating each determination random number used for game control is performed (step S23). Further, the
ステップS23では、CPU56は、例えば、大当り図柄決定用乱数や、普通図柄当り判定用乱数、確変決定用乱数、確変終了決定用乱数等の乱数を生成するためのカウンタのカウントアップ(1加算)を行う。すなわち、それらが判定用乱数であり、それら以外の乱数が表示用乱数または初期値用乱数である。また、遊技効果を高めるために、上記に示す乱数以外の普通図柄に関する乱数等も用いられていてもよい。
In step S23, the
判定用乱数更新処理、初期値更新処理および表示用乱数更新処理を行うと、CPU56は、乱数回路503のカウンタ521が出力するカウント値の順列をカウント値順列変更回路523に変更させるカウント値順列変更処理を行う(ステップS26)。この実施の形態では、乱数回路設定処理のステップS158でカウント値順列変更フラグがセットされているか否かによって、カウント値順列変更処理を実行するか否かが決定されている。そして、CPU56は、カウント値順列変更フラグがセットされていることにもとづいて、カウント値順列変更処理を実行する。その後、CPU56は、割込許可状態に設定し(ステップS27)、処理を終了する。
When the determination random number update process, the initial value update process, and the display random number update process are performed, the
次に、タイマ割込処理におけるスイッチ処理(ステップS20)を説明する。この実施の形態では、入賞検出またはゲート通過に関わる各スイッチの検出信号のオン状態が所定時間継続すると、確かにスイッチがオンしたと判定されスイッチオンに対応した処理が開始される。図68は、スイッチ処理で使用されるRAM55に形成される各2バイトのバッファを示す説明図である。前回ポートバッファは、前回(例えば2ms前)のスイッチオン/オフの判定結果が格納されるバッファである。ポートバッファは、今回入力したポート0の内容が格納されるバッファである。スイッチオンバッファは、スイッチのオンが検出された場合に対応ビットが1に設定され、スイッチのオフが検出された場合に対応ビットが0に設定されるバッファである。
Next, the switch process (step S20) in the timer interrupt process will be described. In this embodiment, when the ON state of the detection signal of each switch related to winning detection or gate passage continues for a predetermined time, it is determined that the switch is surely turned on, and processing corresponding to the switch on is started. FIG. 68 is an explanatory diagram showing each 2-byte buffer formed in the
図69は、遊技制御処理におけるステップS20のスイッチ処理の処理例を示すフローチャートである。スイッチ処理において、遊技制御用マイクロコンピュータ560は、まず、入力ポート0,1(図42参照)に入力されているデータを入力し(ステップS101)、入力したデータをポートバッファにセットする(ステップS102)。
FIG. 69 is a flowchart illustrating a processing example of the switch processing in step S20 in the game control processing. In the switch process, the
次いで、RAM55に形成されるウェイトカウンタの初期値をセットし(ステップS103)、ウェイトカウンタの値が0になるまで、ウェイトカウンタの値を1ずつ減算する(ステップS104,S105)。
Next, the initial value of the weight counter formed in the
ウェイトカウンタの値が0になると、再度、入力ポート0,1のデータを入力し(ステップS106)、入力したデータとポートバッファにセットされているデータとの間で、ビット毎に論理積をとる(ステップS107)。そして、論理積の演算結果を、ポートバッファにセットする(ステップS108)。ステップS103〜S108の処理によって、ほぼ[ウェイトカウンタの初期値×(ステップS104,S105の処理時間)]の時間間隔を置いて入力ポート0,1から入力した2回の入力データのうち、2回とも「1」になっているビットのみが、ポートバッファにおいて「1」になる。つまり、所定期間としての[ウェイトカウンタの初期値×(ステップS104,S105の処理時間)]だけスイッチの検出信号のオン状態が継続すると、ポートバッファにおける対応するビットが「1」になる。
When the value of the wait counter reaches 0, the data of the
さらに、遊技制御用マイクロコンピュータ560は、前回ポートバッファにセットされているデータとポートバッファにセットされているデータとの間で、ビット毎に排他的論理和をとる(ステップS109)。排他的論理和の演算結果において、前回(例えば2ms前)のスイッチオン/オフの判定結果と、今回オンと判定されたスイッチオン/オフの判定結果とが異なっているスイッチに対応したビットが「1」になる。遊技制御用マイクロコンピュータ560は、さらに、排他的論理和の演算結果と、ポートバッファにセットされているデータとの間で、ビット毎に論理積をとる(ステップS110)。この結果、前回のスイッチオン/オフの判定結果と今回オンと判定されたスイッチオン/オフの判定結果とが異なっているスイッチに対応したビット(排他的論理和演算結果による)のうち、今回オンと判定されたスイッチに対応したビット(論理積演算による)のみが「1」として残る。
Further, the
そして、遊技制御用マイクロコンピュータ560は、ステップS110における論理積の演算結果をスイッチオンバッファにセットし(ステップS111)、ステップS108における演算結果がセットされているポートバッファの内容を前回ポートバッファにセットする(ステップS112)。
Then, the
以上の処理によって、所定期間継続してオン状態であったスイッチのうち、前回(例えば2ms前)のスイッチオン/オフの判定結果がオフであったスイッチ、すなわち、オフ状態からオン状態に変化したスイッチに対応したビットが、スイッチオンバッファにおいて「1」になっている。 Through the above processing, among the switches that have been in the on state for a predetermined period of time, the switch on / off determination result of the previous time (for example, 2 ms ago) was off, that is, the switch has changed from the off state to the on state. The bit corresponding to the switch is “1” in the switch-on buffer.
次に、タイマ割込処理における入力判定処理(ステップS21)を説明する。入力判定処理では、図70に示す賞球コマンド出力カウンタ処理テーブルが使用される。賞球コマンド出力カウンタ処理テーブルは、ROM54に設定されている。賞球コマンド出力カウンタ処理テーブルの先頭アドレスには処理数(この例では「6」)が設定され、その後に、スイッチオンバッファ(2バイトのスイッチオンバッファのうちの入力ポート0に対応する方)の下位アドレス、入賞により賞球を払い出すことになる入賞口の各スイッチについてのスイッチ入力ビット判定値、賞球コマンド出力カウンタが、入賞口の各スイッチのそれぞれに対応して順次設定されている。なお、スイッチ入力ビット判定値は、入力ポート0における各スイッチの検出信号が入力されるビットに対応した値である。また、スイッチオンバッファの上位アドレスは固定的な値(例えば7F(H))である。また、賞球コマンド出力カウンタ処理テーブルにおいて、6つのスイッチオンバッファの下位アドレスのそれぞれには、同じデータが設定されている。なお、この実施の形態では、ROM54およびRAM55のアドレスは16ビットで指定される。
Next, the input determination process (step S21) in the timer interrupt process will be described. In the input determination process, a prize ball command output counter process table shown in FIG. 70 is used. The prize ball command output counter processing table is set in the
図71および図72は、入力判定処理を示すフローチャートである。入力判定処理において、CPU56は、賞球コマンド出力カウンタ処理テーブルの先頭アドレスをポインタにセットする(ステップS2111)。そして、ポインタが指すアドレスのデータ(この場合には処理数)をロードする(ステップS2112)。次に、スイッチオンバッファの上位アドレス(8ビット)を2バイトのチェックポインタの上位1バイトにセットする(ステップS2113)。
71 and 72 are flowcharts showing the input determination process. In the input determination process, the
そして、ポインタの値を1増やし(ステップS2114)、ポインタが指す賞球コマンド出力カウンタ処理テーブルのデータ(この場合にはスイッチオンバッファの下位アドレス)をチェックポインタの下位1バイトにセットした後(ステップS2115)、ポインタの値を1増やす(ステップS2116)。次いで、チェックポインタが指すアドレスのデータ、すなわちスイッチオンバッファの内容をレジスタにロードし(ステップS2117)、ロードした内容と、ポインタが指す賞球コマンド出力カウンタ処理テーブルのデータ(この場合にはスイッチ入力ビット判定値)との論理積をとる(ステップS2118)。この結果、スイッチオンバッファの内容がロードされたレジスタには、検査対象としているスイッチの検出信号に対応したビット以外の7ビットが0になる。そして、ポインタの値を1増やす(ステップS2119)。 Then, the pointer value is incremented by 1 (step S2114), and the data of the prize ball command output counter processing table pointed to by the pointer (in this case, the lower address of the switch-on buffer) is set in the lower 1 byte of the check pointer (step S2114). In step S2115, the pointer value is incremented by 1 (step S2116). Next, the address data pointed to by the check pointer, that is, the contents of the switch-on buffer is loaded into the register (step S2117), and the loaded contents and the data of the prize ball command output counter processing table pointed to by the pointer (in this case, the switch input) The logical product with the bit determination value) is calculated (step S2118). As a result, 7 bits other than the bit corresponding to the detection signal of the switch to be inspected become 0 in the register loaded with the contents of the switch-on buffer. Then, the pointer value is increased by 1 (step S2119).
ステップS2118における演算結果が0でなれば、すなわち、検査対象のスイッチの検出信号がオン状態であれば(ステップS2120)、ポインタが指す賞球コマンド出力カウンタ(賞球コマンド出力カウンタ処理テーブルのデータ)のカウント値をロードする(ステップS2121)。また、CPU56は、ロードしたカウント値に1を加算する(ステップS2122)。
If the calculation result in step S2118 is 0, that is, if the detection signal of the switch to be inspected is on (step S2120), the prize ball command output counter pointed to by the pointer (data in the prize ball command output counter processing table) Is loaded (step S2121). Further, the
次いで、CPU56は、加算結果が256であるか否かを確認する(ステップS2123)。加算結果が256でなければ(すなわち、255以下であれば)、CPU56は、ポインタが指す賞球コマンド出力カウンタに加算結果をストアする(ステップS2124)。加算結果が256であれば、CPU56は、ポインタが指す賞球コマンド出力カウンタに加算結果をストアすることなく、ステップS2125に移行する。
Next, the
この実施の形態では、各賞球コマンド出力カウンタのカウント値の最大値が255に設定されている。そのため、ステップS2123,S2124の処理では、カウント値が255に達するまでは、入賞口への遊技球の入賞を検出する毎に、賞球コマンド出力カウンタのカウント値が1ずつ加算される。そして、カウント値が255に達すると、入賞口への遊技球の入賞を検出しても、賞球コマンド出力カウンタのカウント値は更新されない。 In this embodiment, the maximum value of each prize ball command output counter is set to 255. Therefore, in the processing of steps S2123 and S2124, the count value of the prize ball command output counter is incremented by 1 each time a winning of a game ball to the prize opening is detected until the count value reaches 255. When the count value reaches 255, the count value of the prize ball command output counter is not updated even if the winning of the game ball to the prize opening is detected.
また、この実施の形態では、CPU56は、賞球コマンド出力カウンタのカウント値をカウントアップすることによって、払い出すべき賞球数を特定可能なデータを記憶手段に記憶させる。なお、CPU56は、例えば、払い出すべき賞球数を所定のバッファに直接記憶させるようにしてもよい。また、CPU56は、賞球数そのものを記憶させるのではなく、例えば、払い出すべき賞球数を示すデータを所定のバッファに記憶させるようにしてもよい。この場合、CPU56は、例えば、賞球数3に対してデータ「01」を記憶させ、賞球数10に対してデータ「02」を記憶させる等の制御を行ってもよい。
In this embodiment, the
ステップS2125では処理数を1減らし、処理数が0でなければステップS2114に戻る(ステップS2126)。処理数が0であれば、CPU56は、総賞球数格納バッファの内容をロードし(ステップS2127)、スイッチオンバッファの内容をレジスタにロードする(ステップS2128)。また、CPU56は、ロードしたスイッチオンバッファの内容と、払出個数カウントスイッチのスイッチ入力ビット判定値との論理積をとる(ステップS2129)。この結果、スイッチオンバッファの内容がロードされたレジスタには、検査対象としている払出個数カウントスイッチの検出信号に対応したビット以外の7ビットが0になる。
In step S2125, the number of processes is reduced by 1, and if the number of processes is not 0, the process returns to step S2114 (step S2126). If the number of processes is 0, the
ステップS2129における演算結果が0でなれば、すなわち、検査対象の払出個数カウントスイッチの検出信号がオン状態であれば(ステップS2130)、CPU56は、ロードした総賞球数格納バッファの内容から1を減算する(ステップS2131)。そして、CPU56は、総賞球数格納バッファに減算結果をストアし(ステップS2132)、処理を終了する。
If the calculation result in step S2129 is not 0, that is, if the detection signal of the payout number count switch to be inspected is on (step S2130), the
図73は、総賞球数格納バッファに格納される総賞球数の加算処理および減算処理が行われるタイミングの一例を示すタイミング図である。図73に示すように、入賞検出スイッチが遊技球の入賞を検出したあとに、遊技制御用マイクロコンピュータ560のCPU56によってタイマ割込処理が実行されると、入力判定処理のステップS2111〜S2126の処理が実行されることによって、各賞球コマンド出力カウンタのカウント値がカウントアップされる。次いで、タイマ割込処理を終了してメイン処理に戻ると、賞球個数コマンド送信処理が実行されることによって、カウントアップ後のカウント値にもとづいて賞球個数コマンドが払出制御基板37に送信される。そして、賞球ACK待ち処理が実行されることによって、送信された賞球個数コマンドに対応する賞球個数が総賞球数格納バッファに加算される。
FIG. 73 is a timing chart showing an example of the timing at which the total prize ball number addition process and the subtraction process stored in the total prize ball number storage buffer are performed. As shown in FIG. 73, when the timer interrupt process is executed by the
また、図73に示すように、払出個数カウントスイッチが賞球の払い出しを検出したあとに、CPU56によってタイマ割込処理が実行されると、入力判定処理のステップS2127〜S2132の処理が実行されることによって、総賞球数格納バッファが格納する総賞球数から1減算される。この場合、賞球ACK待ち処理の賞球加算処理(ステップS1281〜S1285の処理)が実行されている間は割込禁止状態に設定されているので、タイマ割込処理は実行されないことになる。そのため、賞球加算処理の実行中に払出個数カウントスイッチが賞球の払い出しを検出したとしても、総賞球数格納バッファが格納する総賞球数の減算処理は実行されない。賞球加算処理を終了し再び割込許可状態に設定されると、タイマ割込処理が実行され、払出個数カウントスイッチの検出信号にもとづいて、総賞球数格納バッファが格納する総賞球数から1減算される。
As shown in FIG. 73, when the
次に、タイマ割込処理における乱数回路初期値更新処理(ステップS22)について説明する。図74は、乱数回路初期値更新処理を示すフローチャートである。乱数回路初期値更新処理において、CPU56は、乱数回路503のカウンタ521が出力するカウント値Cを最終値まで更新した旨を示す通知信号の状態を確認する(ステップS220)。通知信号がオン状態になっていることを検出した場合には、CPU56は、初期値更新フラグがセットされているか否かを確認する(ステップS221)。すなわち、CPU56は、乱数回路設定処理において、所定の最終値までカウント値が更新されたときに初期値を更新する旨の設定がなされたか否か(ステップS157参照)を確認する。
Next, the random number circuit initial value update process (step S22) in the timer interrupt process will be described. FIG. 74 is a flowchart showing random number circuit initial value update processing. In the random number circuit initial value update process, the
初期値更新フラグがセットされている場合、CPU56は、乱数回路503のカウンタ521が所定の最終値までカウント値を更新したときに、カウンタ521に入力する初期値を更新すると判断する。また、初期値更新フラグがセットされている場合、CPU56は、初期値変更フラグがセットされているか否かを確認する(ステップS222)。すなわち、CPU56は、カウント値の初期値が現在変更されているか否か(すなわち、遊技制御用マイクロコンピュータ560のIDナンバにもとづく値に変更されているか否か)を判断する。
When the initial value update flag is set, the
初期値変更フラグがセットされている(すなわち、遊技制御用マイクロコンピュータ560のIDナンバにもとづく値に初期値が現在変更されている)場合、CPU56は、カウンタ521に入力する初期値を、遊技制御用マイクロコンピュータ560のIDナンバにもとづく値から元の値(例えば、「1」)にもどす(ステップS223)。そして、CPU56は、初期値変更フラグをリセットし(ステップS224)、初期値更新処理を終了する。
When the initial value change flag is set (that is, when the initial value is currently changed based on the ID number of the game control microcomputer 560), the
初期値変更フラグがセットされていない(すなわち、初期値が現在変更されていない)場合、CPU56は、カウンタ521に入力する初期値を、遊技制御用マイクロコンピュータ560のIDナンバにもとづく値に変更する(ステップS225)。この場合、例えば、遊技制御用マイクロコンピュータ560のIDナンバが「100」であるとすると、カウンタ521に入力する初期値を、IDナンバ「100」に所定値「100」を加算して求めた演算値「200」に変更する。また、例えば、カウンタ521に入力する初期値を、IDナンバ「100」に所定値「50」を減算して求めた演算値「50」に変更する。そして、CPU56は、初期値変更フラグをセットし(ステップS226)、初期値更新処理を終了する。
If the initial value change flag is not set (that is, the initial value is not currently changed), the
なお、12ビット乱数回路503aおよび16ビット乱数回路503bの両方を設定した場合、ステップS225において、CPU56は、一方の乱数回路(例えば、12ビット乱数回路503a)から読み込んだ乱数を所定値としてIDナンバに加算して、カウンタ521に入力する初期値を求めてもよい。そして、CPU56は、他の一方(例えば、16ビット乱数回路503b)から読み込んだ乱数を、大当り判定用の乱数として用いてもよい。
When both the 12-bit
なお、CPU56は、ステップS225においてカウンタ521に入力する初期値を更新する際、乱数回路503の比較器522の乱数最大値設定レジスタ535の値を確認し、IDナンバにもとづいて設定された値が乱数最大値以上であるか否かを判断する。そして、IDナンバにもとづいて設定された値が乱数最大値以上であると判断すると、CPU56は、カウンタ521に入力する初期値を所定値のまま更新しない(例えば、所定値「0」のまま更新しない)。そのようにすることによって、カウント値の初期値が乱数最大値以上の値に設定されてしまう事態を防止することができる。
When updating the initial value input to the counter 521 in step S225, the
なお、ステップS220において通知信号がオフ状態であると判断した場合、およびステップS221において初期値更新フラグがセットされていないと判断した場合、CPU56は、カウンタ521に入力する初期値を更新することなく、そのまま乱数回路初期値更新処理を終了し、ステップS23に移行する。
If it is determined in step S220 that the notification signal is in the OFF state, or if it is determined in step S221 that the initial value update flag is not set, the
次に、タイマ割込処理におけるカウント値順列変更処理(ステップS26)について説明する。図75は、カウント値順列変更処理を示すフローチャートである。CPU56は、カウント値順列変更プログラム554に従って処理を実行することによって、カウント値順列変更処理を行う。カウント値順列変更処理において、CPU56は、乱数回路503のカウンタ521が出力するカウント値Cを最終値まで更新した旨を示す通知信号の状態を確認する(ステップS241)。通知信号がオン状態になっていることを検出した場合には、CPU56は、カウント値順列変更フラグがセットされているか否かを確認する(ステップS242)。すなわち、CPU56は、乱数回路設定処理において、所定の最終値までカウント値が更新されたときにカウンタ521が更新するカウント値の順列を変更する旨の設定がなされたか否か(ステップS158参照)を確認する。
Next, the count value permutation change process (step S26) in the timer interrupt process will be described. FIG. 75 is a flowchart showing the count value permutation changing process. The
カウント値順列変更フラグがセットされている場合、CPU56は、乱数回路503のカウンタ521が所定の最終値までカウント値を更新したときに、カウンタ521が更新するカウント値の順列を変更すると判断する。そして、CPU56は、カウント値順列変更レジスタ536にカウント値順列変更データ「01h」を書き込む(ステップS243)。すなわち、CPU56は、カウント値順列変更データ「01h」を書き込むことによって、乱数値記憶回路531に入力されるカウント値Cの順列をカウント値順列変更回路523に変更させる。
When the count value permutation change flag is set, the
以上のように、カウント値順列変更処理において、乱数を所定の最終値まで更新したときに、カウンタ521が更新するカウント値の順列を変更するので、乱数回路503が生成する乱数のランダム性をより向上させることができる。
As described above, in the count value permutation change process, when the random number is updated to a predetermined final value, the permutation of the count value updated by the counter 521 is changed, so that the randomness generated by the
次に、払出制御手段(払出制御用マイクロコンピュータ370)の動作を説明する。図76は、払出制御手段における出力ポートの割り当ての例を示す説明図である。図76に示すように、出力ポート0は、ステッピングモータによる払出モータ289に供給される各相の信号と、払出個数カウントスイッチ301の検出信号とを出力するための出力ポートである。すなわち、払出個数カウントスイッチ301の検出信号は、払出制御用マイクロコンピュータ370を経由して出力ポート0から主基板31に出力される。また、出力ポート1は、球切れLED52、および賞球LED51と、遊技機外部に出力される賞球中信号、賞球情報、球貸し情報および遊技機エラー状態信号を出力するための出力ポートである。出力ポート2は、7セグメントLEDによるエラー表示LED374の各セグメント出力の出力ポートである。
Next, the operation of the payout control means (the payout control microcomputer 370) will be described. FIG. 76 is an explanatory diagram showing an example of output port assignment in the payout control means. As shown in FIG. 76, the
なお、払出制御基板37には、図76には示されていないが、カードユニット50へのEXS信号およびPRDY信号を出力するための出力ポート3も設けられている。
Although not shown in FIG. 76, the
図77は、払出制御手段における入力ポートのビット割り当ての例を示す説明図である。図77に示すように、ビット4には、主基板31からの接続確認信号が入力される。また、ビット6,7には、それぞれ、球切れスイッチ187の検出信号、および払出モータ位置センサ295の検出信号が入力される。また、入力ポート1のビット1〜3には、それぞれ、払出個数カウントスイッチ301の検出信号、エラー解除スイッチ375からの操作信号、満タンスイッチ48の検出信号が入力される。入力ポート1のビット4〜6には、それぞれ、カードユニット50からのVL信号、BRDY信号、BRQ信号が入力される。入力ポート2には、電源基板910からのクリアスイッチ921の出力信号、および電源断信号が入力される。
FIG. 77 is an explanatory diagram showing an example of bit assignment of input ports in the payout control means. As shown in FIG. 77, a connection confirmation signal from the
次に、払出制御手段の動作について説明する。図78は、払出制御手段が実行するメイン処理を示すフローチャートである。メイン処理では、払出制御用マイクロコンピュータ370の払出制御用CPU371は、まず、必要な初期設定を行う。すなわち、払出制御用CPU371は、まず、割込禁止に設定する(ステップS701)。次に、割込モードを割込モード2に設定し(ステップS702)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS703)。また、払出制御用CPU371は、内蔵デバイスレジスタの設定を行い(ステップS704)、CTCおよびPIOの設定を行う(ステップS705)を行った後に、RAMをアクセス可能状態に設定する(ステップS706)。また、賞球未払出個数カウンタ初期値として0000(H)をセットする(ステップS707)。
Next, the operation of the payout control means will be described. FIG. 78 is a flowchart showing main processing executed by the payout control means. In the main process, the
この実施の形態では、内蔵CTCのうちの一つのチャネルがタイマモードで使用される。従って、ステップS704の内蔵デバイスレジスタの設定処理およびステップS705の処理において、使用するチャネルをタイマモードに設定するためのレジスタ設定、割込発生を許可するためのレジスタ設定および割込ベクタを設定するためのレジスタ設定が行われる。そして、そのチャネルによる割込がタイマ割込として用いられる。タイマ割込を例えば2ms毎に発生させたい場合は、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。 In this embodiment, one channel of the built-in CTC is used in the timer mode. Accordingly, in the built-in device register setting process in step S704 and the process in step S705, register setting for setting the channel to be used to timer mode, register setting for permitting interrupt generation, and setting an interrupt vector. The register is set. The interrupt by the channel is used as a timer interrupt. For example, when it is desired to generate a timer interrupt every 2 ms, a value corresponding to 2 ms is set as an initial value in a predetermined register (time constant register).
なお、タイマモードに設定されたチャネル(この実施の形態ではチャネル3)に設定される割込ベクタは、タイマ割込処理の先頭アドレスに相当するものである。具体的は、Iレジスタに設定された値と割込ベクタとでタイマ割込処理の先頭アドレスが特定される。タイマ割込処理では、払出手段を制御する払出制御処理(少なくとも主基板からの賞球払出に関する指令信号に応じて球払出装置97を駆動する処理を含み、球貸し要求に応じて球払出装置97を駆動する処理が含まれていてもよい。)が実行される。
The interrupt vector set for the channel set to the timer mode (
この実施の形態では、払出制御用マイクロコンピュータ370でも割込モード2が設定される。従って、内蔵CTCのカウントアップにもとづく割込処理を使用することができる。また、CTCが送出した割込ベクタに応じた割込処理開始アドレスを設定することができる。CTCのチャネル3(CH3)のカウントアップにもとづく割込は、CPUの内部クロック(システムクロック)をカウントダウンしてレジスタ値が「0」になったら発生する割込であり、タイマ割込として用いられる。
In this embodiment, the
次いで、入力ポート2を介して入力されるクリアスイッチ921の出力信号の状態を1回だけ確認する(ステップS708)。その確認においてオンを検出した場合には、払出制御用CPU371は、初期化処理を実行する(ステップS712〜ステップS715)。クリアスイッチ921がオンの状態でない場合には、遊技機への電力供給が停止したときにバックアップRAM領域のデータ保護処理(例えばパリティデータの付加等の電力供給停止時処理)が行われたか否か確認する(ステップS709)。保護処理が行われていたか否かは、後述する電力供給停止時処理においてバックアップRAM領域に保存されるバックアップ監視タイマの値が、バックアップRAM領域のデータ保護処理を実行したことに応じた値(例えば2)になっているか否かによって確認される。なお、そのような確認の仕方は一例であって、例えば、電力供給停止時処理においてバックアップフラグ領域にデータ保護処理を実行したことを示すフラグをセットし、ステップS709において、そのフラグがセットされていることを確認したらバックアップありと判定してもよい。
Next, the state of the output signal of the clear switch 921 input via the
バックアップありと判定したら、払出制御用CPU371は、バックアップRAM領域のデータチェック(この例ではパリティチェック)を行う(ステップS710)。この実施の形態では、クリアデータ(00)をチェックサムデータエリアにセットし、チェックサム算出開始アドレスをポインタにセットする。また、チェックサムの対象となるデータ数に対応するチェックサム算出回数をセットする。そして、チェックサムデータエリアの内容とポインタが指すRAM領域の内容との排他的論理和を演算する。演算結果をチェックサムデータエリアにストアするとともに、ポインタの値を1増やし、チェックサム算出回数の値を1減算する。以上の処理が、チェックサム算出回数の値が0になるまで繰り返される。チェックサム算出回数の値が0になったら、遊技制御用マイクロコンピュータ560は、チェックサムデータエリアの内容の各ビットの値を反転し、反転後のデータをチェックサムとする。
If it is determined that there is a backup, the
なお、この実施の形態では、電力供給停止時処理において、上記の処理と同様の処理によってチェックサムが算出され、チェックサムはバックアップRAM領域に保存されている。ステップS710では、算出したチェックサムと保存されているチェックサムとを比較する。不測の停電等の電力供給停止が生じた後に復旧した場合には、バックアップRAM領域のデータは保存されているはずであるから、チェック結果(比較結果)は正常(一致)になる。チェック結果が正常でないということは、バックアップRAM領域のデータが、電力供給停止時のデータとは異なっていることを意味する。そのような場合には、内部状態を電力供給停止時の状態に戻すことができないので、払出制御状態復旧処理を実行せず、初期化処理(ステップS712〜S715の処理)を実行する。 In this embodiment, in the power supply stop process, the checksum is calculated by the same process as described above, and the checksum is stored in the backup RAM area. In step S710, the calculated checksum is compared with the stored checksum. When the power supply is stopped after an unexpected power failure or the like, the data in the backup RAM area should be saved, so the check result (comparison result) is normal (matched). That the check result is not normal means that the data in the backup RAM area is different from the data when the power supply is stopped. In such a case, since the internal state cannot be returned to the state at the time of stopping the power supply, the payout control state restoration processing is not executed, and the initialization processing (steps S712 to S715) is executed.
チェック結果が正常であれば、払出制御用CPU371は、払出制御状態復旧処理を行う。具体的には、賞球未払出個数カウンタ初期値として、バックアップRAMに形成されている賞球未払出個数カウンタの値をセットする(ステップS711)。そして、ステップS712以降の処理を実行する。
If the check result is normal, the
初期化処理では、払出制御用CPU371は、まず、RAMクリア処理を行う(ステップS712)。また、RAM領域のフラグやカウンタなどに初期値を設定する(ステップS713)。ステップS713の処理には、賞球未払出個数カウンタ初期値を賞球未払出個数カウンタにセットする処理が含まれる。従って、払出制御状態復旧処理(ステップS711)が実行された場合には、バックアップRAMに保存されていた賞球未払出個数カウンタの値が、あらためて賞球未払出個数カウンタにセットされる。換言すれば、バックアップRAMに保存されていた賞球未払出個数カウンタの値がそのまま使用される。
In the initialization process, the
また、払出制御用CPU371は、シリアル通信回路380を初期設定するシリアル通信回路設定処理を実行する(ステップS713a)。この場合、払出制御用CPU371は、遊技制御用マイクロコンピュータ560のCPU56が行うシリアル通信回路設定処理(ステップS15a参照)と同様の処理に従って、シリアル通信回路380に遊技制御用マイクロコンピュータ560とシリアル通信させるための設定を行う。
Also, the
シリアル通信回路380を初期設定すると、払出制御用CPU371は、シリアル通信回路380の割り込み要求に応じて実行する割込処理の優先順位を初期設定する(ステップS713b)。この場合、この場合、払出制御用CPU371は、遊技制御用マイクロコンピュータ560のCPU56が行う優先順位の初期設定処理(ステップS15b参照)と同様の処理に従って、割込処理の優先順位を初期設定する。
When the serial communication circuit 380 is initialized, the
そして、定期的にタイマ割込がかかるように払出制御用マイクロコンピュータ370に設けられているCTCのレジスタの設定を行う(ステップS714)。すなわち、初期値としてタイマ割込発生間隔に相当する値が所定のレジスタ(時間定数レジスタ)に設定される。そして、初期設定処理のステップS701において割込禁止とされているので、初期化処理を終える前に割込が許可される(ステップS715)。その後、タイマ割込の発生を監視するループ処理に入る。
Then, the CTC register provided in the
上記のように、この実施の形態では、払出制御用マイクロコンピュータ370の内蔵CTCが繰り返しタイマ割込を発生するように設定される。そして、タイマ割込が発生すると、払出制御用マイクロコンピュータ370の払出制御用CPU371は、タイマ割込処理を実行する。
As described above, in this embodiment, the built-in CTC of the
図79は、払出制御手段が実行するタイマ割込処理の例を示すフローチャートである。タイマ割込処理にて、払出制御用マイクロコンピュータ370の払出制御用CPU371は、電源断信号が出力された否かを監視する電源断処理を実行する(ステップS749)。その後、ステップS751以降の払出制御処理を実行する。払出制御処理では、払出制御用CPU371は、まず、入力判定処理を行う(ステップS751)。入力判定処理は、入力ポート0のビット4〜6および入力ポート1のビット3〜6(図77参照)の状態を検出して検出結果をRAMの所定の1バイト(入力状態フラグと呼ぶ。)に反映する処理である。なお、払出制御処理において、入力ポート0のビット4〜6および入力ポート1のビット3〜6の状態にもとづいて制御を行う場合には、直接入力ポートの状態をチェックするのではなく、入力状態フラグの状態をチェックする。
FIG. 79 is a flowchart showing an example of timer interrupt processing executed by the payout control means. In the timer interrupt process, the
次に、払出制御用CPU371は、払出モータ制御処理を実行する(ステップS753)。払出モータ制御処理では、払出モータ289を駆動すべきときには、払出モータφ1〜φ4のパターンを出力ポート0に出力するための処理を行う。
Next, the
また、払出制御用CPU371は、カードユニット50と通信を行うプリペイドカードユニット制御処理を実行する(ステップS754)。次いで、払出制御用CPU371は、主基板31の遊技制御手段と通信を行う主制御通信処理を実行する(ステップS755)。さらに、カードユニット50からの球貸し要求に応じて貸し球を払い出す制御を行い、また、主基板からの賞球個数コマンドが示す個数の賞球を払い出す制御を行う賞球球貸し制御処理を実行する(ステップS756)。
Further, the
そして、払出制御用CPU371は、各種のエラーを検出するエラー処理を実行する(ステップS757)。また、遊技機外部に出力される賞球情報や球貸し情報を出力するための情報出力処理を実行する(ステップS758)。また、エラー処理の結果に応じてエラー表示LED374に所定の表示を行うとともに、賞球LED51および球切れLED52を点灯するための表示制御処理を実行する(ステップS759)。
Then, the
本実施の形態では、後述するエラー処理において各種エラー(例えば、満タンエラーや球切れエラー、プリペイドカードユニット未接続エラー)が検出されると、検出されたエラーに対応するエラービットがセットされる。そして、ステップS759の表示制御処理において、エラービットがセットされていることにづいて、払出制御用CPU371は、エラー表示LED374に所定の表示を行う。また、払出制御用CPU371は、表示制御処理において、賞球払出を行っている状態であるときに、賞球LED51を点灯するための制御を行う。また、賞球払出を終了したら、賞球LED51を消灯するための制御を行う。
In the present embodiment, when various errors (for example, a full tank error, a ball shortage error, and a prepaid card unit unconnected error) are detected in error processing described later, an error bit corresponding to the detected error is set. Then, in the display control processing in step S759, the
また、この実施の形態では、出力ポートの出力状態に対応したRAM領域(出力ポート0バッファ、出力ポート1バッファ、出力ポート2バッファ)が設けられているのであるが、払出制御用CPU371は、出力ポート0バッファ、出力ポート1バッファおよび出力ポート2バッファの内容を出力ポートに出力する(ステップS760:出力処理)。出力ポート0バッファ、出力ポート1バッファおよび出力ポート2バッファは、払出モータ制御処理(ステップS753)、プリペイドカード制御処理(ステップS754)、主制御通信処理(ステップS755)、情報出力処理(ステップS758)および表示制御処理(ステップS759)で更新される。
In this embodiment, a RAM area (
次に、ステップS755の主制御通信処理において、払出制御用マイクロコンピュータ370の払出制御用CPU371が各種コマンドを送受信する動作を説明する。図54に示すように、払出制御用マイクロコンピュータ370は、遊技制御用マイクロコンピュータ560と各種コマンドをシリアル通信するシリアル通信回路380を内蔵している。払出制御用マイクロコンピュータ370は、シリアル通信回路380を用いて、遊技制御用マイクロコンピュータ560から図53に示す賞球個数コマンドを受信する。また、賞球個数コマンドを受信すると、払出制御用マイクロコンピュータ370は、シリアル通信回路380を用いて、図53に示す賞球ACKコマンド「D2」を受信確認信号として送信する。
Next, an operation in which the
また、払出制御用CPU371は、遊技制御用マイクロコンピュータ560のCPU56と同様に、割り込み許可状態である間にシリアル通信回路380からの割り込み要求があると、シリアル通信回路380が割り込み要求を行った割り込み原因に応じた割り込み処理を実行する。この実施の形態では、払出制御用CPU371は、割り込み原因がシリアル通信回路380が受信データを受信したことであると特定すると、図56(b)と同様の処理に従って受信時割込処理を実行する。この場合、払出制御用CPU371は、シリアル通信回路380が受信データを受信していることを示す受信時割込フラグをセットする。なお、払出制御用CPU371は、受信時割込処理において、受信時割込フラグをセットするのでなく、シリアル通信回路380の受信データレジスタからデータを読み込んでもよい。この場合、例えば、払出制御用CPU371は、受信時割込処理において、読み込んだ受信データが賞球個数コマンドであるか否かを判断する。また、受信データが賞球個数コマンドである場合、払出制御用CPU371は、賞球個数コマンドが示す賞球数を賞球未払出個数カウンタに加算してもよい。そのようにすれば、後述する主制御通信処理において、受信時割込フラグがセットされていることにもとづいて受信データが賞球個数コマンドであるか否かを判定し(後述するステップS542〜S545参照)、賞球数を賞球未払出個数カウンタに加算する処理(後述するステップS546参照)を実行する必要がなくなる。
Similarly to the
図80は、払出制御用マイクロコンピュータ370の払出制御用CPU371が、主基板31の遊技制御手段(遊技制御用マイクロコンピュータ560)と通信を行う主制御通信処理を示すフローチャートである。主制御通信処理において、払出制御用CPU371は、接続確認信号がオン状態であるか否かを確認する(ステップS541)。なお、接続確認信号がオン状態であるということは、電力供給がなされ遊技制御手段において遊技の進行を制御可能な状態であることを意味し、接続確認信号がオフ状態であるということは、電力供給停止時処理が開始され遊技制御手段において遊技の進行が不能な状態であることを意味する(接続確認信号は、電力供給停止時処理における出力ポートクリア処理でオフ状態にされる。)。
FIG. 80 is a flowchart showing main control communication processing in which the
払出制御用CPU371は、受信時割込フラグがセットされているか否かを確認する(ステップS542)。すなわち、払出制御用CPU371は、シリアル通信回路380が受信データを受信し、シリアル通信回路380の受信データレジスタにデータが格納されている状態になっているか否かを確認する。
The
受信時割込フラグがセットされていれば、払出制御用CPU371は、シリアル通信回路380の受信データレジスタからデータを読み込む(ステップS543)。また、払出制御用CPU371は、読み込んだデータが賞球個数コマンドであるか否か(コマンド「03」、「0A」または「0F」のいずれかであるか否か)を判断する(ステップS544)。
If the reception interrupt flag is set, the
シリアル通信回路380の受信データレジスタから読み込んだデータが賞球個数コマンドであることを確認すると、払出制御用CPU371は、受信時割込フラグをリセットして(ステップS545)、賞球個数コマンドが示す賞球数を賞球未払出個数カウンタに加算する(ステップS546)。そして、払出制御用CPU371は、賞球ACKコマンドをシリアル通信回路505の送信データレジスタ710に書き込み(ステップS547)、処理を終了する。その後、送信データレジスタに書き込まれた賞球ACKコマンドは、シリアル通信回路380の送信用シフトレジスタに転送され、シリアル通信回路380の送信用シフトレジスタから遊技制御用マイクロコンピュータ560に送信される。
Upon confirming that the data read from the reception data register of the serial communication circuit 380 is a prize ball number command, the
ステップS544で受信データレジスタから読み込んだデータが賞球個数コマンドでなかった場合には、払出制御用CPU371は、読み込んだデータが賞球過多異常コマンドであるか否かを確認する(ステップS548a)。賞球過多異常コマンドであることを確認すると、払出制御用CPU371は、受信時割込フラグをリセットして(ステップS549a)、賞球過多異常コマンドを受信した旨を示す賞球過多異常コマンド受信フラグをセットする(ステップS550a)。
If the data read from the reception data register in step S544 is not a prize ball number command, the
ステップS548aで受信データレジスタから読み込んだデータが賞球過多異常コマンドでなかった場合には、払出制御用CPU371は、読み込んだデータが賞球過少異常コマンドであるか否かを確認する(ステップS548b)。賞球過少異常コマンドであることを確認すると、払出制御用CPU371は、受信時割込フラグをリセットして(ステップS549b)、賞球過少異常コマンドを受信した旨を示す賞球過少異常コマンド受信フラグをセットする(ステップS550b)。
If the data read from the received data register in step S548a is not an award ball excess abnormality command, the
図81は、ステップS756の賞球球貸し制御処理を示すフローチャートである。賞球球貸し制御処理において、払出制御用CPU371は、払出個数カウントスイッチ301の検出信号がオン状態になったことを確認したら(ステップS601)、球貸し中であれば球貸し未払出個数カウンタの値を1減らし(ステップS602,S604)、球貸し中でなければ賞球未払出個数カウンタの値を1減らす(ステップS602,S603)。また、賞球未払出個数カウンタの値を1減算すると、払出個数カウントスイッチ301の検出信号を主基板31に転送(出力)する(ステップS603a)。
FIG. 81 is a flowchart showing the prize ball lending control processing in step S756. In the winning ball lending control process, the
次に、RAMに形成されている払出制御状態フラグの払出球検知ビットをセットする(ステップS605)。払出球検知ビットは、払出通過待ち処理において、1回の賞球払出処理(最大15個)または1回の球貸し処理において(25個の払出)、払出モータ289を駆動したにもかかわらず遊技球が1個も払出個数カウントスイッチ301を通過しなかったことを検知するために用いられる。その後、払出制御コードの値に応じてステップS610〜S612のいずれかの処理を実行する。
Next, the payout ball detection bit of the payout control state flag formed in the RAM is set (step S605). The payout ball detection bit is a game regardless of whether the
賞球球貸し制御処理において、払出個数カウントスイッチ301の検出信号の確認や未払出個数カウンタの減算処理を行うときには、エラービットのチェックは実行されない。従って、遊技球の払い出しに関わるエラー状態であっても、払出個数カウントスイッチ301によって遊技球の払い出しが検出される毎に、払い出された遊技球が貸し球であれば球貸し未払出個数カウンタの値を1減算し、賞球であれば賞球未払出個数カウンタの値を1減算する処理を実行する。よって、払い出しに関わるエラーが発生しても、未払出の遊技球数を正確に管理することができる。すなわち、払出制御用マイクロコンピュータ370の払出制御用CPU371がエラーの発生を検出する前に球払出装置97から払い出された遊技球は、払い出された時点からやや遅れて払出個数カウントスイッチ301によって検出されるのであるが、払出制御用CPU371は、球払出装置97から遊技球が払い出された後、その遊技球が払出個数カウントスイッチ301によって検出される前にエラーの発生を検出したような場合に、エラーの発生を検出する前に球払出装置97から払い出された遊技球を、賞球未払出個数カウンタまたは球貸し未払出個数カウンタに反映できる。
In the winning ball lending control process, when checking the detection signal of the payout
図82は、払出制御コードが0の場合に実行される払出開始待ち処理(ステップS610)を示すフローチャートである。払出開始待ち処理において、払出制御用CPU371は、BRDY信号がオン状態でなければ(ステップS621)、ステップS631以降の賞球払出のための処理を実行する。ただし、エラービットがセットされていたら、ステップS631以降の処理を実行しない(ステップS622)。エラーフラグにおけるエラービットには、主基板未接続エラーのビットが含まれている。また、主基板未接続エラーは主基板31からの接続確認信号がオフ状態であるときにセットされる。従って、払出制御用CPU371は、遊技機に対して電力供給が開始された後、接続確認信号がオン状態になったことを条件に、実質的な制御を開始する。接続確認信号がオン状態であるということは、電力供給がなされ遊技制御手段において遊技の進行を制御可能な状態であるので、遊技の進行に応じた賞球の払出制御が実行可能であることを意味する。一方、接続確認信号がオフ状態であるということは、電力供給が停止され遊技制御手段において遊技の進行が不能な状態であるので、遊技の進行に応じた賞球の払出制御が実行不可能であることを意味する。よって、払出制御用CPU371は、主基板未接続エラーのビットがセットされているときには、賞球の払出制御を停止する。一方、この例では、エラービットの確認を行うことなく貸し球の払出制御を実行する構成とされており、主基板未接続エラーのビットがセットされていても、球貸し制御は継続して行う。
FIG. 82 is a flowchart showing the payout start waiting process (step S610) executed when the payout control code is 0. In the payout start waiting process, if the BRDY signal is not in the on state (step S621), the
BRDY信号がオン状態であって、さらに、球貸し要求信号であるBRQ信号がオン状態になっていたら(ステップS623)、払出制御用CPU371は、VL信号がオン状態であるか否かを確認する(ステップS623a)。VL信号がオン状態であれば、払出制御用CPU371は、球貸し動作中フラグをセットする(ステップS624)。そして、球貸し未払出個数カウンタに「25」をセットし(ステップS625)、払出モータ回転回数バッファに「25」をセットする(ステップS626)。なお、ステップS623aでVL信号がオン状態でなければ、払出制御用CPU371は、ステップS624以降の処理を行わず、ステップS622に進む。
If the BRDY signal is on and the BRQ signal that is a ball lending request signal is on (step S623), the
払出モータ回転回数バッファは、払出モータ制御処理(ステップS753)において参照される。すなわち、払出モータ制御処理では、払出モータ回転回数バッファにセットされた値に対応した回転数分だけ払出モータ289を回転させる制御が実行される。
The payout motor rotation frequency buffer is referred to in the payout motor control process (step S753). That is, in the payout motor control process, control is performed to rotate the
その後、払出制御用マイクロコンピュータ370は、払出モータ制御処理で実行される処理を選択するための払出モータ制御コードに、払出モータ起動準備処理(ステップS522)に応じた値(具体的は「1」)をセットし(ステップS627)、払出制御コードの値を1にして(ステップS628)、処理を終了する。
Thereafter, the
ステップS631では、払出制御用CPU371は、賞球未払出個数カウンタの値が0であるか否かを確認する(ステップS631)。0であれば処理を終了する。賞球未払出個数カウンタの値が0でない場合には、15以上であるか否か確認する(ステップS632)。15未満であれば、払出モータ回転回数バッファに賞球未払出個数カウンタの値をセットし(ステップS633)、15以上であれば、払出モータ回転回数バッファに「15」をセットする。そして、賞球動作中フラグをセットし(ステップS635)、ステップS627に移行する。
In step S631, the
図83は、払出制御コードが1の場合に実行される払出モータ停止待ち処理(ステップS611)を示すフローチャートである。払出モータ停止待ち処理において、払出制御用CPU371は、払出動作が終了したか否か確認する(ステップS641)。払出制御用CPU371は、例えば、払出モータ制御処理における払出モータブレーキ処理(ステップS525)が終了するときにその旨のフラグをセットし、ステップS641においてそのフラグを確認することによって払出動作が終了したか否かを確認することができる。
FIG. 83 is a flowchart showing a payout motor stop waiting process (step S611) executed when the payout control code is 1. In the payout motor stop waiting process, the
払出動作が終了した場合には、払出制御用CPU371は、払出制御監視タイマに払出通過監視時間をセットする(ステップS642)。払出通過監視時間は、最後の払出球が払出モータ289によって払い出されてから払出個数カウントスイッチ301を通過するまでの時間に、余裕を持たせた時間である。そして、払出制御コードの値を2にして(ステップS643)、処理を終了する。
When the payout operation is completed, the
図84〜図86は、払出制御コードの値が2の場合に実行される払出通過待ち処理(ステップS612)を示すフローチャートである。払出通過待ち処理では、賞球払出が行われているときには、賞球未払出個数カウンタの値が0になっていれば正常に払出が完了したと判定される。賞球未払出個数カウンタの値が0になっていない場合には、エラー状態でなければ、1個の遊技球の再払出動作を、2回を上限として試みる。再払出動作において払出個数カウントスイッチ301によって遊技球が実際に払い出されたことが検出されたら正常に払出が完了したと判定される。なお、この実施の形態では、1回の賞球払出動作で払い出される遊技球数は最大15個であり、また、賞球払出中に賞球個数コマンドを受信したら賞球未払出個数カウンタの値が増加するので、正常に払出が完了した場合でも、賞球未払出個数カウンタの値が0になっていないことがある。
84 to 86 are flowcharts showing a payout passing waiting process (step S612) executed when the value of the payout control code is 2. In the payout passing waiting process, when the prize ball is being paid out, it is determined that the payout has been completed normally if the value of the prize ball unpaid number counter is 0. If the value of the award ball unpaid number counter is not 0, if it is not in an error state, a re-payout operation of one game ball is tried up to 2 times. In the re-payout operation, when it is detected by the payout
また、球貸し払出が行われているときには、球貸し未払出個数カウンタの値が0になっていれば正常に払出が完了したと判定される。球貸し未払出個数カウンタの値が0になっていない場合には、エラー状態でなければ、1個の遊技球または球貸し残数(球貸し未払出個数カウンタの値に相当)の再払出動作を試みる。なお、この実施の形態では、1回の球貸し払出動作で払い出される遊技球数は25個(固定値)であり、25個の遊技球が払い出されるように払出モータ289を回転させたのであるから、球貸し未払出個数カウンタの値が0になっていない場合には、正常に払出が完了していないことになる。
Further, when the ball lending is being paid out, it is determined that the payout has been completed normally if the value of the ball lending unpaid-out counter is 0. If the value of the ball lending unpaid number counter is not 0, and if it is not in an error state, a re-payout operation of one game ball or the remaining number of ball lending (corresponding to the value of the ball lending unpaid number counter) Try. In this embodiment, the number of game balls to be paid out in one ball lending and payout operation is 25 (fixed value), and the
払出通過待ち処理において、払出制御用CPU371は、まず、払出制御タイマの値を確認し、その値が0になっていればステップS653に移行する(ステップS650)。払出制御タイマの値が0でなければ、払出制御タイマの値を−1する(ステップS651)。そして、払出制御タイマの値が0になっていなければ(ステップS652)、すなわち払出制御タイマがタイムアウトしていなければ処理を終了する。なお、ステップS650の処理は、後述する遊技球払出のリトライ動作が開始されたときのことを考慮した処理である。後述するステップS807の処理が実行された場合には、ステップS650からS653に移行するルートを経てリトライ動作が開始される。
In the payout waiting process, the
払出制御タイマがタイムアウトしていれば(ステップS652)、球貸し払出処理(球貸し動作)を実行していたか否か確認する(ステップS653)。球貸し動作を実行していたか否かは、RAMに形成されている払出制御状態フラグにおける球貸し動作中ビットがセットされているか否か(ステップS623,S624参照)によって確認される。球貸し動作を実行していない場合、すなわち、賞球払出処理(賞球動作)を実行していた場合には、払出制御用CPU371は、賞球未払出個数カウンタの値を確認する(ステップS654)。賞球未払出個数カウンタの値が0になっている場合には、正常に賞球払出処理が完了したとして、払出制御状態フラグにおける払出球検知ビット、再払出動作中1ビット、再払出動作中2ビット、賞球動作中フラグおよび球貸し動作中ビットをリセットし(ステップS655)、払出制御コードを0にして(ステップS656)、処理を終了する、なお、払出球検知ビットは、払出個数カウントスイッチ301がオンしたときにセットされるビットであり、払出動作中に払出個数カウントスイッチ301が少なくとも1個の遊技球を検出したことを示すビットである。また、再払出動作中1ビットおよび再払出動作中2ビットは、2回の再払出動作からなる再払出処理を実行する際に用いられる制御ビットである。
If the payout control timer has timed out (step S652), it is confirmed whether or not the ball lending payout process (ball lending operation) has been executed (step S653). Whether or not the ball lending operation has been executed is confirmed by whether or not the ball lending operation bit in the payout control state flag formed in the RAM is set (see steps S623 and S624). When the ball lending operation is not executed, that is, when the prize ball payout process (prize ball operation) is executed, the
払出制御用CPU371は、賞球未払出個数カウンタの値が0になっていない場合には、エラーフラグ(具体的には、払出スイッチ異常エラー1ビット、払出スイッチ異常エラー2ビットおよび払出ケースエラービットのうちのいずれか1ビットまたは複数ビット)がセットされていないことを条件として(ステップS659)、また、払出球検知ビットがセットされていないことを条件として(ステップS661)、再払出動作を実行する。なお、エラーフラグがセットされている場合には、再払出動作を実行しない。
The
上述したように、この実施の形態では、正常に払出が完了した場合でも、賞球未払出個数カウンタの値が0になっていないことがある。そこで、払出球検知ビットがセットされていれば、すなわち払出個数カウントスイッチ301が賞球払出処理中に少なくとも1個の遊技球の払出を検出していたら、正常に賞球払出処理が完了したとして、ステップS655に移行する。なお、例えば、1回の賞球払出処理で15個の遊技球を払い出すべきところ、実際には14個の遊技球しか払い出されなかった場合(払出個数カウントスイッチ301が14個の遊技球しか検出しなかった場合)にも、払出球検知ビットがセットされるので正常に賞球払出処理が完了したとみなされるが、その場合には、賞球未払出個数カウンタの値は14しか減算されていないはずであり、不足分は次回の賞球払出処理で払い出されるので、遊技者に不利益を与えることはない。
As described above, in this embodiment, even when the payout is completed normally, the value of the unpaid prize ball number counter may not be 0. Therefore, if the payout ball detection bit is set, that is, if the payout
再払出処理を実行するために、払出制御用CPU371は、まず、再払出動作中2ビットがセットされているか否か確認する(ステップS662)。セットされていなければ、再払出動作中1ビットがセットされているか否か確認する(ステップS663)。再払出動作中1ビットもセットされていなければ、初回の再払出動作を実行するために、再払出動作個数として1をセットし(ステップS664)、再払出動作中1ビットをセットし(ステップS665)、払出モータ回転回数バッファに再払出動作個数または球貸し未払出数個数カウンタの値をセットする(ステップS666)。また、払出制御用CPU371は、払出モータ制御処理で実行される処理を選択するための払出モータ制御コードに、払出モータ起動準備処理(ステップS522)に応じた値(具体的は「1」)をセットする。払出モータ回転回数バッファは、払出モータ制御処理(ステップS753)において参照される。すなわち、払出モータ制御処理では、払出モータ回転回数バッファにセットされた値に対応した回転数分だけ払出モータ289を回転させる制御が実行される。なお、ステップS666において、球貸し未払出数個数カウンタの値も取り扱われるのは、球貸し払出処理における再払出処理でもステップS666が用いられるからである。すなわち、払出制御用CPU371は、ステップS666において、賞球払出処理における再払出処理では再払出動作個数をセットし、球貸し払出処理における再払出処理では球貸し未払出数個数カウンタの値をセットする。その後、払出制御コードを1にして(ステップS667)、処理を終了する。
In order to execute the re-payout process, the pay-out
ステップS663において、再払出動作中1ビットがセットされていることを確認したら、払出制御用CPU371は、2回目の再払出を実行するために、再払出動作個数として1をセットし(ステップS668)、再払出動作中1ビットをリセットし(ステップS669)、再払出動作中2ビットをセットする(ステップS670)。そして、ステップS666に移行する。
In step S663, when it is confirmed that 1 bit is set during the re-payout operation, the
ステップS662において、再払出動作中2ビットがセットされていることを確認したら、払出制御用CPU371は、2回の再払出処理を実行しても遊技球が払い出されなかった(払出個数カウントスイッチ301が遊技球を検出しなかった)として、エラーフラグにおける払出ケースエラービットをセットする(ステップS672)。その際に、再払出動作中2ビットをリセットしておく(ステップS671)。そして、処理を終了する。
When it is confirmed in step S662 that 2 bits are set during the re-payout operation, the
以上のように、再払出処理(補正払出処理)において2回の再払出動作を行っても遊技球が1個も払い出されない場合には、遊技球の払出動作不良として、払出個数カウントスイッチ未通過エラービット(払出ケースエラービット)がセットされる。 As described above, if no game balls are paid out even if two re-payout operations are performed in the re-payout process (corrected payout process), it is determined that the game ball payout operation is defective and the payout number count switch is not A passing error bit (payout case error bit) is set.
従って、この実施の形態では、払出制御用マイクロコンピュータ370における景品遊技媒体払出制御手段は、払出検出手段としての払出個数カウントスイッチ301からの検出信号にもとづいて、景品遊技媒体の払い出しが行われなかったことを検出したときに、あらかじめ決められた所定回(この例では2回)を限度として、払出手段に1個の景品遊技媒体の払い出しを行わせるように制御を行う。なお、この実施の形態では、景品遊技媒体を払い出すためのリトライ動作を2回行っても景品遊技媒体の払い出しが行われなかった場合には、払出ケースエラービットをセットしてエラー発生中状態になるが(ステップS672)、景品遊技媒体の払い出しが行われなかったことを初めて検知したときに払出ケースエラービットをセットしてもよい。なお、「リトライ動作(あるいは「リトライ」、「リトライ動作処理」)」とは、所定数の遊技球の払い出しを行うための通常の払出処理を実行したのにもかかわらず、実際の払い出し数が少ない場合に実行させる動作であって、通常の払出処理とは別に、未払出の遊技球を払い出すために払出処理を再度実行させるための動作を意味する。
Therefore, in this embodiment, the prize game medium payout control means in the
賞球球貸し制御処理において、払出動作(1回の賞球払出または1回の球貸し)を行うか否か判定するためにエラービットがチェックされるのは、図80に示された払出開始待ち処理においてのみである。図81に示された払出モータ停止待ち処理および図82等に示された払出通過待ち処理では、エラービットはチェックされない。なお、払出通過待ち処理におけるステップS659等でもエラービットがチェックされているが、そのチェックは再払出動作を行うか否かを判断するためであって、払出動作(1回の賞球払出または1回の球貸し)を開始するか否か判定するためではない。従って、ステップS626、S633またはステップS634の処理が行われて遊技球の払出処理が開始された後では、エラーが発生しても払出処理は中断されない。すなわち、エラーが発生すると、遊技球の払出処理は、切りのよい時点(1回の賞球払出または1回の球貸しが終了した時点)まで継続される。なお、ステップS621でチェックされるエラーフラグにおけるエラービットの中には、主基板31からの接続確認信号がオフ状態になったことを示すエラービットが含まれている。よって、接続確認信号がオフ状態になったときにも、遊技球の払出処理は、切りのよい時点で停止される。なお、遊技球の払出処理を切りのよい時点まで継続するのでなく、ステップS626、S633またはステップS634の処理が行われて遊技球の払出処理が開始された後であっても、エラーが発生すると直ちに遊技球の払出処理を停止するようにしてもよい。
In the prize ball lending control process, the error bit is checked to determine whether or not a payout operation (one prize ball payout or one ball lending) is performed. The payout start shown in FIG. Only in the waiting process. In the payout motor stop waiting process shown in FIG. 81 and the payout passing wait process shown in FIG. 82 and the like, the error bit is not checked. Note that the error bit is also checked in step S659 or the like in the payout passing waiting process, but this check is for determining whether or not a re-payout operation is performed, and is a payout operation (single prize ball payout or 1 This is not to determine whether or not to start ball lending. Therefore, after the process of step S626, S633, or step S634 is performed and the game ball payout process is started, the payout process is not interrupted even if an error occurs. In other words, when an error occurs, the game ball payout process is continued until a point at which the game ball can be cut well (at the time when one prize ball payout or one ball lending ends). The error bits in the error flag checked in step S621 include an error bit indicating that the connection confirmation signal from the
ステップS653で球貸し払出処理(球貸し動作)を実行していたことを確認すると、払出制御用CPU371は、球貸し未払出個数カウンタの値が0になっているか否か確認する(ステップS657)。0になっていれば、正常に球貸し払出処理が完了したとしてステップS655に移行する。
Upon confirming that the ball lending / dispensing process (ball lending operation) has been executed in step S653, the
ステップS657で、球貸し未払出個数カウンタの値が0になっていなければ、エラーフラグ(具体的には、払出スイッチ異常エラー1ビット、払出スイッチ異常エラー2ビットおよび払出ケースエラービットのうちのいずれか1ビットまたは複数ビット)がセットされていないことを条件として(ステップS675)、再払出処理を実行する。なお、エラーフラグがセットされている場合には、再払出処理を実行しない。
In step S657, if the value of the ball lending unpaid number counter is not 0, an error flag (specifically, any one of the payout
再払出処理を実行するために、払出制御用CPU371は、まず、再払出動作中2ビットがセットされているか否か確認する(ステップS676)。セットされていなければ、再払出動作中1ビットがセットされているか否か確認する(ステップS677)。再払出動作中1ビットもセットされていなければ、初回の再払出動作を実行するために、再払出動作個数として1をセットし(ステップS678)、再払出動作中1ビットをセットし(ステップS679)、さらに払出球検知ビットをリセットした後(ステップS680)、ステップS666に移行する。
In order to execute the re-payout process, the pay-out
ステップS677において、再払出動作中1ビットがセットされていることを確認したら、払出制御用CPU371は、再払出動作を再度実行するための処理を行う。具体的には、再払出動作中1ビットをリセットする(ステップS681)。そして、払出球検知ビットがセットされていたら、すなわち、最初の再払出動作で遊技球が払い出されていたら、ステップS683に移行する。払出球検知ビットがセットされていなかったら、2回目の再払出動作を実行するためにステップS684に移行する。
In step S677, when it is confirmed that 1 bit is set during the re-payout operation, the
ステップS683では払出球検知ビットをリセットし、その後、ステップS666に移行する。従って、この場合には、再払出動作中1ビットがセットされたままになっているので、再度、初回(最初)の再払出動作が行われる。ステップS684では、再払出動作個数として1をセットし(ステップS684)、再払出動作中2ビットをセットし(ステップS685)、ステップS666に移行する。 In step S683, the payout ball detection bit is reset, and then the process proceeds to step S666. Therefore, in this case, since 1 bit remains set during the re-payout operation, the first (first) re-payout operation is performed again. In step S684, 1 is set as the number of re-payout operations (step S684), 2 bits during re-payout operation are set (step S685), and the process proceeds to step S666.
ステップS676において、再払出動作中2ビットがセットされていることを確認したら、払出制御用CPU371は、再払出動作中2ビットをリセットし(ステップS686)、払出球検知ビットがセットされていたら、すなわち、再払出動作で遊技球が払い出されていたらステップS683に移行して残りの未払出を分を解消することを試みる。払出球検知ビットがセットされていなかったら、2回の再払出処理を実行しても遊技球が払い出されなかった(払出個数カウントスイッチ301が遊技球を検出しなかった)として、エラーフラグにおける払出ケースエラービットをセットする(ステップS688)。そして、処理を終了する。
In step S676, when it is confirmed that the 2 bits during re-payout operation are set, the
以上のように、球貸し処理に係る再払出処理(補正払出処理)において連続して2回の再払出動作を行っても遊技球が1個も払い出されない場合には、遊技球の払出動作不良として、払出個数カウントスイッチ未通過エラービット(払出ケースエラービット)がセットされる。 As described above, if one game ball is not paid out even if two re-payout operations are continuously performed in the re-payout processing (corrected payout processing) related to the ball lending process, a game ball payout operation is performed. As a failure, a payout count switch non-passing error bit (payout case error bit) is set.
次に、エラー処理について説明する。図87は、エラーの種類とエラー表示用LED374の表示との関係等を示す説明図である。図87に示すように、主基板31からの接続確認信号がオフ状態になった場合には、払出制御用マイクロコンピュータ370の払出制御用CPU371は、主基板未接続エラーとして、エラー表示用LED374に「1」を表示する制御を行う。従って、接続確認信号の入力状態の確認中に接続確認信号がオフ状態となると、エラー表示用LED374に「1」が表示されることになる。
Next, error processing will be described. FIG. 87 is an explanatory diagram showing the relationship between the type of error and the display of the
払出個数カウントスイッチ301の断線または払出個数カウントスイッチ301の部分において球詰まりが発生した場合には、払出スイッチ異常検知エラー1として、エラー表示用LED374に「2」を表示する制御を行う。なお、払出個数カウントスイッチ301の断線または払出個数カウントスイッチ301の部分において球詰まりが発生したことは、払出個数カウントスイッチ301の検出信号がオフ状態にならなかったことによって判定される。
When the disconnection of the
遊技球の払出動作中でないにも関わらず払出個数カウントスイッチ301の検出信号がオン状態になった場合には、払出スイッチ異常検知エラー2として、エラー表示用LED374に「3」を表示する制御を行う。払出モータ289の回転異常または遊技球が払い出されたにも関わらず払出個数カウントスイッチ301の検出信号がオン状態にならない場合には、払出ケースエラーとして、エラー表示用LED374に「4」を表示する制御を行う。払出個数カウントスイッチ301の検出信号がオン状態にならないことの具体的な検出方法は既に説明したとおりである。
When the detection signal of the payout
また、下皿満タン状態すなわち満タンスイッチ48がオン状態になった場合には、満タンエラーとして、エラー表示用LED374に「5」を表示する制御を行う。補給球の不足状態すなわち球切れスイッチ187がオン状態になった場合には、球切れエラーとして、エラー表示用LED374に「6」を表示する制御を行う。
In addition, when the lower pan is full, that is, when the full switch 48 is turned on, control is performed to display “5” on the
また、カードユニット50からのVL信号がオフ状態になった場合には、プリペイドカードユニット未接続エラーとして、エラー表示用LED374に「7」を表示する制御を行う。不正なタイミングでカードユニット50と通信がなされた場合には、プリペイドカードユニット通信エラーとして、エラー表示用LED374に「8」を表示する制御を行う。なお、プリペイドカードユニット通信エラーは、プリペイドカードユニット制御処理(ステップS754)において検出される。
Further, when the VL signal from the
さらに、遊技制御手段から賞球過多異常コマンドを受信した場合には、賞球過多異常エラーとして、エラー表示用LED374に「9」を表示する制御を行う。また、遊技制御手段から賞球過少異常コマンドを受信した場合には、賞球過少異常エラーとして、エラー表示用LED374に「A」を表示する制御を行う。
Further, when an excessive prize ball abnormality command is received from the game control means, control is performed to display “9” on the
以上のエラーのうち、払出スイッチ異常検知エラー2、払出ケースエラー、賞球過多異常エラーまたは賞球過少異常エラーが発生した後、エラー解除スイッチ375が操作されエラー解除スイッチ375から操作信号が出力されたら(オン状態になったら)、払出制御手段は、エラーが発生する前の状態に復帰する。
Among the above errors, after the occurrence of a payout switch
なお、払出制御用CPU371は、既に述べたように、具体的には、タイマ割込処理の表示制御処理(ステップS759参照)において、図87に示す関係に従ってエラー表示LED374にエラー表示を行う。例えば、払出制御用CPU371は、後述するエラー処理においてプリペイドカードユニット未接続エラービットをセットしたことにもとづいて(ステップS826参照)、表示制御処理において、プリペイドカードユニット未接続エラーが発生している旨を示すエラー表示「7」をエラー表示用LED374に表示する制御を行う。また、例えば、エラー処理において満タンエラービットをセットしたことにもとづいて(ステップS809参照)、表示制御処理において、満タンエラーが発生している旨を示すエラー表示「5」をエラー表示用LED374に表示する制御を行う。また、例えば、エラー処理において賞球過多異常エラービットをセットしたことにもとづいて(ステップS829参照)、表示制御処理において、賞球過多異常が発生している旨を示すエラー表示「9」をエラー表示用LED374に表示する制御を行う。また、例えば、エラー処理において賞球過少異常エラービットをセットしたことにもとづいて(ステップS832参照)、表示制御処理において、賞球過少異常が発生している旨を示すエラー表示「A」をエラー表示用LED374に表示する制御を行う。
As described above, the
図88、図89および図90は、ステップS757のエラー処理を示すフローチャートである。エラー処理において、払出制御用CPU371は、エラーフラグをチェックし、そのうちのセットされているビットが、払出スイッチ異常検知エラー2および払出ケースエラーのみ(2つのうちのいずれかのビットのみ、またはそれら2ビットのみ)であるか否か確認する(ステップS801)。セットされているビットがそれらのみである場合には、エラー解除スイッチ375から操作信号がオン状態になったか否か確認する(ステップS802)。操作信号がオン状態になったら、エラー復帰時間をエラー復帰前タイマにセットする(ステップS803)。エラー復帰時間は、エラー解除スイッチ375が操作されてから、実際にエラー状態から通常状態に復帰するまでの時間である。
88, 89 and 90 are flowcharts showing the error processing in step S757. In the error process, the
エラー解除スイッチ375から操作信号がオン状態でない場合には、エラー復帰前タイマの値を確認する(ステップS804)。エラー復帰前タイマの値が0であれば、すなわち、エラー復帰前タイマがセットされていなければ、ステップS808に移行する。エラー復帰前タイマがセットされていれば、エラー復帰前タイマの値を−1し(ステップS805)、エラー復帰前タイマの値が0になったら(ステップS806)、エラーフラグのうちの、払出スイッチ異常検知エラー2および払出ケースエラーのビットをリセットし(ステップS807)、ステップS808に移行する。
If the operation signal from the
なお、ステップS807の処理が実行されるときに、払出スイッチ異常検知エラー2および払出ケースエラーのビットのうちには、セット状態ではないエラービットがある場合もあるが、セット状態にないエラービットをリセットしても何ら問題はない。以上のように、この実施の形態では、払出スイッチ異常検知エラー2または払出ケースエラーのビットをセットする原因になったエラー(図87参照)が発生した場合には、エラー解除スイッチ375が押下されることによってエラー解除される。
When the processing of step S807 is executed, there may be an error bit that is not in the set state among the payout switch
ステップS807の処理が実行されて払出ケースエラービットがリセットされた場合には、払出制御コードが「2」(図84〜図86に示す払出通過待ち処理の実行に対応)であって、賞球未払出個数カウンタの値または球貸し未払出個数カウンタの値が0でないときには、遊技球払出のリトライ動作が開始される。つまり、次にステップS756の賞球球貸し制御処理が実行されるときにステップS612の払出通過待ち処理が実行されると、再び、再払出処理が行われる。例えば、賞球払出処理が行われていた場合には、賞球未払出個数カウンタの値が0でないときには、ステップS654からステップS659に移行し、ステップS659においてエラービットがリセット状態であることが確認されるので、ステップS662以降の再払出処理を開始するための処理が再度実行され、再払出処理が実行される。なお、エラー解除スイッチ375が押下されることによってリセットされた払出ケースエラービットに関して、そのビットがセットされたときには(ステップS672が実行されたとき)、払出制御タイマは既にタイムアップしている。従って、ステップS807の処理が実行されて払出ケースエラービットがリセットされた場合には、次に払出通過待ち処理が実行されるときには、ステップS650の判断において払出制御タイマ=0と判定される。また、払出ケースエラービットがセットされたときには払出球検知ビットは0である(ステップS661の判断で払出球検知ビットは0でないとステップS672が実行されないので)。従って、ステップS659においてエラービットがリセット状態であることが確認されると、必ずステップS662が実行される。つまり、必ず、再払出処理が実行される。
When the process of step S807 is executed and the payout case error bit is reset, the payout control code is “2” (corresponding to the execution of the payout passing waiting process shown in FIGS. 84 to 86), and the prize ball When the value of the unpaid-out number counter or the value of the ball-lending unpaid-out number counter is not 0, a retry operation for game ball payout is started. That is, when the award ball lending control process of step S756 is executed next, when the payout passing waiting process of step S612 is executed, the repayment process is performed again. For example, if a prize ball payout process has been performed and the value of the prize ball unpaid number counter is not 0, the process proceeds from step S654 to step S659, and it is confirmed in step S659 that the error bit is in a reset state. Therefore, the process for starting the re-payout process after step S662 is executed again, and the re-payout process is executed. Regarding the payout case error bit reset by pressing the
以上のように、払出制御手段は、球払出装置97が遊技球の払い出しを行ったにもかかわらず払出個数カウントスイッチ301が1個も遊技球を検出しなかったときには遊技球を払い出すためのリトライ動作をあらかじめ決められた所定回(例えば2回)を限度として球払出装置97に実行させる補正払出制御を行った後、払出個数カウントスイッチ301が1個も遊技球を検出しなかったことが検出されたときには(図85のステップS661以降を参照)、払い出しに関わる制御状態をエラー状態に移行させ、エラー状態においてエラー解除スイッチ375からエラー解除信号が出力されたことを条件に再度補正払出制御を行わせる補正払出制御再起動処理を実行する。
As described above, the payout control means is used for paying out a game ball when the payout
さらに、エラー状態における再払出処理の実行中(具体的には払出ケースエラーをセットする前の再払出処理中およびエラー解除スイッチ375押下後の再払出処理中)でも、図81に示すステップS601〜S604の処理は実行されている。すなわち、払い出しに関わるエラーが生じているときでも、遊技球が払出個数カウントスイッチ301を通過すれば、賞球未払出個数カウンタや球貸し未払出個数カウンタの値が減算される。従って、エラー状態から復帰したときの賞球未払出個数カウンタや球貸し未払出個数カウンタの値は、実際に払い出された遊技球数を反映した値になっている。すなわち、払い出しに関わるエラーが発生しても、実際に払い出した遊技球数を正確に管理することができる。
Further, even during re-payout processing in an error state (specifically, during re-payout processing before setting a payout case error and during re-payout processing after the
また、図84〜図86に示された払出通過待ち処理において、再払出処理が実行された結果、遊技球が払い出されたことが確認されたときでも、払出ケースエラーのビットはリセットされない。払出ケースエラーのビットがリセットされるのは、あくまでも、エラー解除スイッチ375が操作されたとき(具体的は、操作後エラー復帰時間が経過したとき)である(ステップS802,S807)。すなわち、遊技球が払出個数カウントスイッチ301を通過したこと等にもとづいて自動的に払出ケースエラー(払出不足エラー)の状態が解除されるということはなく、人為的な操作を経ないと払出ケースエラーは解除されない。従って、遊技店員等は、確実に払出不足が発生したことを認識することができる。
Also, in the payout passing waiting process shown in FIGS. 84 to 86, even when it is confirmed that the game ball has been paid out as a result of the re-payout process, the payout case error bit is not reset. The bit of the payout case error is reset only when the
エラー解除スイッチ375が操作されたことによってハードウェア的にリセット(払出制御用CPU371に対するリセット)がかかるように構成されている場合には、エラー解除スイッチ375が操作されたことによって例えば賞球未払出個数カウンタの値もクリアされてしまう。しかし、この実施の形態では、払出制御手段が、エラー解除スイッチ375が操作されたことによって再払出動作を再び行うように構成されているので、確実に払出処理が実行され、遊技者に不利益を与えないようにすることができる。
When the error cancel
ステップS808では、払出制御用CPU371は、満タンスイッチ48の検出信号を確認する。満タンスイッチ48の検出信号が出力されていれば(オン状態であれば)、エラーフラグのうちの満タンエラービットをセットする(ステップS809)。満タンスイッチ48の検出信号がオフ状態であれば、満タンエラービットをリセットする(ステップS810)。
In step S808, the
また、払出制御用CPU371は、球切れスイッチ187の検出信号を確認する(ステップS811)。球切れスイッチ187の検出信号が出力されていれば(オン状態であれば)、エラーフラグのうちの球切れエラービットをセットする(ステップS812)。球切れスイッチ187の検出信号がオフ状態であれば、球切れエラービットをリセットする(ステップS813)。なお、球切れエラービットをセットされているときには、ステップS759の表示制御処理において、出力ポート1バッファにおける球切れLED52に対応したビットを点灯状態に対応した値にする。
Also, the
さらに、払出制御用CPU371は、主基板31からの接続確認信号の状態を確認し(ステップS815)、接続確認信号が出力されていなければ(オフ状態であれば)、主基板未接続エラービットをセットする(ステップS816)。また、接続確認信号が出力されていれば(オン状態であれば)、主基板未接続エラービットをリセットする(ステップS817)。
Further, the
また、払出制御用CPU371は、各スイッチの検出信号の状態が設定される各スイッチタイマのうち払出個数カウントスイッチ301に対応したスイッチタイマの値を確認し、その値がスイッチオン最大時間(例えば「240」)を越えていたら(ステップS818)、エラーフラグのうち払出スイッチ異常検知エラー1のビットをセットする(ステップS819)。また、払出個数カウントスイッチ301に対応したスイッチタイマの値がスイッチオン最大時間以下であれば、払出スイッチ異常検知エラー1のビットをリセットする(ステップS820)。なお、各スイッチタイマの値は、ステップS751の入力判定処理において、各スイッチの検出信号を入力する入力ポートの状態がスイッチオン状態であれば+1され、オフ状態であれば0クリアされる。従って、払出個数カウントスイッチ301に対応したスイッチタイマの値がスイッチオン最大時間を越えていたということは、スイッチオン最大時間を越えて払出個数カウントスイッチ301がオン状態になっていることを意味し、払出個数カウントスイッチ301の断線または払出個数カウントスイッチ301の部分で遊技球が詰まっていると判断される。
Further, the
また、払出制御用CPU371は、払出個数カウントスイッチ301に対応したスイッチタイマの値がスイッチオン判定値(例えば「2」)になった場合に(ステップS821)、球貸し動作中フラグおよび賞球動作中フラグがともにリセット状態であれば、払出動作中でないのに払出個数カウントスイッチ301を遊技球が通過したとして、エラーフラグのうち払出スイッチ異常検知エラー2のビットをセットする(ステップS822,S823)。また、球貸し動作中フラグまたは賞球動作中フラグがセットされていれば、払出スイッチ異常検知エラー2のビットをリセットする(ステップS824)。
Further, the
また、払出制御用CPU371は、カードユニット50からのVL信号の入力状態を確認し(ステップS825)、VL信号が入力されていなければ(オフ状態であれば)、エラーフラグのうちプリペイドカードユニット未接続エラービットをセットする(ステップS826)。また、VL信号が入力されていれば(オン状態であれば)、プリペイドカードユニット未接続エラービットをリセットする(ステップS827)。
The
また、払出制御用CPU371は、賞球過多異常コマンド受信フラグがセットされているか否かを確認し(ステップS828)、賞球過多異常コマンド受信フラグがセットされていれば、エラーフラグのうち賞球過多異常エラービットをセットする(ステップS829)。すなわち、遊技制御手段で賞球過多異常が検出された場合であるので、払出制御用CPU371は、賞球過多異常エラービットをセットする。また、賞球過多異常コマンド受信フラグがセットされていなければ、払出制御用CPU371は、賞球過多異常エラービットをリセットする(ステップS830)。
In addition, the
さらに、払出制御用CPU371は、賞球過少異常コマンド受信フラグがセットされているか否かを確認し(ステップS831)、賞球過少異常コマンド受信フラグがセットされていれば、エラーフラグのうち賞球過少異常エラービットをセットする(ステップS832)。すなわち、遊技制御手段で賞球過少異常が検出された場合であるので、払出制御用CPU371は、賞球過少異常エラービットをセットする。また、賞球過少異常コマンド受信フラグがセットされていなければ、払出制御用CPU371は、賞球過少異常エラービットをリセットする(ステップS833)。
Further, the
なお、ステップS759の表示制御処理では、エラーフラグ中のエラービットに応じた表示(数値表示)による報知をエラー表示用LED374によって行う。従って、通信エラーをエラー表示用LED374によって報知することができる。また、通信エラーは、払出制御手段の側で検出されるので、遊技制御手段の負担を増すことなく通信エラーを検出できる。
In the display control process in step S759, notification by display (numerical value display) corresponding to the error bit in the error flag is performed by the
また、この実施の形態では、主基板未接続エラーは接続確認信号がオン状態になると自動的に解消されるが(ステップS815,S817参照)、さらにエラー解除スイッチ375が操作されたという条件を加えて、エラー状態が解消されるようにしてもよい。
In this embodiment, the main board non-connection error is automatically eliminated when the connection confirmation signal is turned on (see steps S815 and S817), but the condition that the
また、この実施の形態では、通信エラーが、カードユニット50との間の通信エラー(プリペイドカードユニット未接続エラーおよびプリペイドカードユニット通信エラー)やその他のエラーと区別可能に報知される(図87参照)。従って、遊技制御用マイクロコンピュータ560と払出制御用マイクロコンピュータ370との間の通信エラーが容易に特定される。
In this embodiment, a communication error is reported so as to be distinguishable from a communication error with the card unit 50 (a prepaid card unit unconnected error and a prepaid card unit communication error) and other errors (see FIG. 87). ). Therefore, a communication error between the
次に、演出制御手段(音/ランプ制御用マイクロコンピュータ100bおよび図柄制御用マイクロコンピュータ100a)の動作を説明する。まず、遊技制御手段から音/ランプ制御手段に対する制御コマンドの送出方式について説明する。図91は、主基板31から音/ランプ制御基板80bに送信される演出制御コマンドの信号線を示す説明図である。図91に示すように、この実施の形態では、演出制御コマンドは、演出制御信号CD0〜CD7の8本の信号線で主基板31から音/ランプ制御基板80bに送信される。また、主基板31と音/ランプ制御基板80bとの間には、取込信号(演出制御INT信号)を送信するための演出制御INT信号の信号線も配線されている。
Next, the operation of the effect control means (sound /
この実施の形態では、演出制御コマンドは2バイト構成であり、1バイト目はMODE(コマンドの分類)を表し、2バイト目はEXT(コマンドの種類)を表す。MODEデータの先頭ビット(ビット7)は必ず「1」に設定され、EXTデータの先頭ビット(ビット7)は必ず「0」に設定される。なお、そのようなコマンド形態は一例であって他のコマンド形態を用いてもよい。例えば、1バイトや3バイト以上で構成される制御コマンドを用いてもよい In this embodiment, the effect control command has a 2-byte structure, the first byte represents MODE (command classification), and the second byte represents EXT (command type). The first bit (bit 7) of the MODE data is always set to “1”, and the first bit (bit 7) of the EXT data is always set to “0”. Note that such a command form is an example, and other command forms may be used. For example, a control command composed of 1 byte or 3 bytes or more may be used.
図92に示すように、演出制御コマンドの8ビットの演出制御コマンドデータは、演出制御INT信号に同期して出力される。音/ランプ制御基板80bに搭載されている音/ランプ制御用マイクロコンピュータ100bは、演出制御INT信号が立ち上がったことを検知して、割込処理によって1バイトのデータの取り込み処理を開始する。従って、音/ランプ制御用マイクロコンピュータ100bから見ると、演出制御INT信号は、演出制御コマンドデータの取り込みの契機となる信号に相当する。
As shown in FIG. 92, the 8-bit effect control command data of the effect control command is output in synchronization with the effect control INT signal. The sound /
演出制御コマンドは、音/ランプ制御用マイクロコンピュータ100bが認識可能に1回だけ送出される。認識可能とは、この例では、演出制御INT信号のレベルが変化することであり、認識可能に1回だけ送出されるとは、例えば演出制御コマンドデータの1バイト目および2バイト目のそれぞれに応じて演出制御INT信号が1回だけパルス状(矩形波状)に出力されることである。なお、演出制御INT信号は図92に示された極性と逆極性であってもよい。
The effect control command is sent only once so that the sound /
次に、音/ランプ制御手段(音/ランプ制御用マイクロコンピュータ100b)の動作を説明する。図93は、音/ランプ制御基板80bに搭載されている音/ランプ制御用マイクロコンピュータ100b(具体的には、音/ランプ制御用CPU101b)が実行するメイン処理を示すフローチャートである。遊技機に対する電力供給が開始され、リセット信号がハイレベルになると、音/ランプ制御用マイクロコンピュータ100bは、メイン処理を開始する。メイン処理では、音/ランプ制御用マイクロコンピュータ100bは、まず、RAM領域のクリアや各種初期値の設定、また演出制御の起動間隔を決めるためのタイマの初期設定等を行うための初期化処理を行う(ステップS781)。その後、音/ランプ制御用マイクロコンピュータ100bは、タイマ割込フラグの監視(ステップS782)の確認を行うループ処理に移行する。タイマ割込が発生すると、音/ランプ制御用マイクロコンピュータ100bは、タイマ割込処理においてタイマ割込フラグをセットする。メイン処理において、タイマ割込フラグがセットされていたら、音/ランプ制御用マイクロコンピュータ100bは、そのフラグをクリアし(ステップS783)、以下の音/ランプ制御処理を実行する。
Next, the operation of the sound / lamp control means (sound /
タイマ割込は例えば2ms毎にかかる。すなわち、音/ランプ制御処理は、例えば2ms毎に起動される。また、この実施の形態では、タイマ割込処理ではフラグセットのみがなされ、具体的な音/ランプ制御処理はメイン処理において実行されるが、タイマ割込処理で音/ランプ制御処理を実行してもよい。 A timer interrupt takes, for example, every 2 ms. That is, the sound / lamp control process is activated every 2 ms, for example. In this embodiment, only the flag is set in the timer interrupt process, and the specific sound / lamp control process is executed in the main process, but the sound / lamp control process is executed in the timer interrupt process. Also good.
音/ランプ制御処理において、音/ランプ制御用マイクロコンピュータ100bは、まず、受信した演出制御コマンドを解析する(コマンド解析処理:ステップS784)。
In the sound / lamp control process, the sound /
次いで、音/ランプ制御用マイクロコンピュータ100bは、演出内容決定処理を行う(ステップS785)。演出内容決定処理では、音/ランプ制御用マイクロコンピュータ100bは、演出制御コマンド(変動パターンコマンドや表示結果指定コマンド)にもとづいて、可変表示装置9を用いて行う演出内容(予告演出を行うか否かや、予告演出の種類)を決定する。また、音/ランプ制御用マイクロコンピュータ100bは、決定した演出内容を示す演出内容指定コマンドを生成する。
Next, the sound /
次いで、音/ランプ制御用マイクロコンピュータ100bは、音出力処理を行う(ステップS786)。この場合、音/ランプ制御用マイクロコンピュータ100bは、音声合成用IC173に対して音番号データ(例えば、変動パターンコマンドに示される変動パターンに対応する音番号データ)を出力する。そして、音声合成用IC173は、音番号データに応じた音声や効果音を発生し増幅回路175に出力する。
Next, the sound /
次いで、音/ランプ制御用マイクロコンピュータ100bは、ランプ表示処理を行う(ステップS787)。この場合、音/ランプ制御用マイクロコンピュータ100bは、プロセスデータ中に設定されているランプ制御実行データにもとづいてランプ制御を行う。
Next, the sound /
また、音/ランプ制御用マイクロコンピュータ100bは、乱数カウンタを更新する処理を実行する(ステップS788)。また、音/ランプ制御用マイクロコンピュータ100bは、主基板31から受信した演出制御コマンドや、ステップS785の演出内容決定処理で生成した演出内容指定コマンドを、図柄制御基板80aに送出する処理を行う(コマンド制御処理:ステップS789)。また、音/ランプ制御用マイクロコンピュータ100bは、賞球異常が発生している旨を報知する報知処理を実行する(ステップS790)。その後、ステップS782のタイマ割込フラグの確認を行う処理に戻る。
Further, the sound /
主基板31からの演出制御用のINT信号は音/ランプ制御用マイクロコンピュータ100bの割込端子に入力されている。例えば、主基板31からのINT信号がオン状態になると、音/ランプ制御用マイクロコンピュータ100bにおいて割込がかかる。そして、音/ランプ制御用マイクロコンピュータ100bは、割込処理において演出制御コマンドの受信処理を実行する。演出制御コマンドの受信処理において、音/ランプ制御用マイクロコンピュータ100bは、受信した演出制御コマンドデータをコマンド受信バッファに格納する。
An INT signal for effect control from the
図94は、音/ランプ制御処理で用いる各乱数を示す説明図である。各乱数は、以下のように使用される。
(1)ランダム1:予告演出を実行するか否かを決定する(予告演出実行決定用)。この実施の形態では、可変表示装置9においてリーチ態様の飾り図柄の可変表示を行う際に、音/ランプ制御用マイクロコンピュータ100bは、例えば、ランダム1があらかじめ決められている1つの値と一致した場合には、予告演出を行うと決定する。なお、音/ランプ制御用マイクロコンピュータ100bは、リーチ態様の可変表示を行うか否かに関わらず、ランダム1を用いて予告演出を行うか否かを決定してもよい。
(2)ランダム2:予告演出を行う場合に、可変表示装置9を用いて行う予告演出の種類を決定する(予告演出種類決定用)
FIG. 94 is an explanatory diagram showing random numbers used in the sound / lamp control processing. Each random number is used as follows.
(1) Random 1: Decide whether or not to execute a notice effect (for determining notice effect execution). In this embodiment, when the
(2) Random 2: When performing the notice effect, the type of the notice effect performed using the
図95は、図93に示された演出内容決定処理(ステップS785)を示すフローチャートである。演出内容決定処理において、音/ランプ制御用マイクロコンピュータ100bは、変動パターンコマンド受信フラグがセットされているか否か確認する(ステップS1851)。なお、変動パターンコマンド受信フラグは、コマンド制御処理(ステップS789参照)において、遊技制御用マイクロコンピュータ560から変動パターンコマンドを受信したことが確認されたことにもとづいて設定されるフラグである。
FIG. 95 is a flowchart showing effect content determination processing (step S785) shown in FIG. In the effect content determination process, the sound /
変動パターンコマンド受信フラグがセットされていれば、音/ランプ制御用マイクロコンピュータ100bは、変動パターンコマンド受信フラグをリセットし、受信した変動パターンコマンドにもとづいて飾り図柄の変動パターンを特定する。また、音/ランプ制御用マイクロコンピュータ100bは、特定した変動パターンにもとづいて、可変表示装置9を用いて実行すべき可変表示がリーチを伴う変動であるか否かを判定する(ステップS1852)。例えば、音/ランプ制御用マイクロコンピュータ100bは、受信した変動パターンコマンドに示される変動パターンがリーチを伴うパターンである場合、音/ランプ制御用マイクロコンピュータ100bは、リーチを伴う変動であると判定する。なお、ステップS1851で変動パターンコマンド受信フラグがセットされていなかった場合には、音/ランプ制御用マイクロコンピュータ100bは、そのまま処理を終了する。
If the variation pattern command reception flag is set, the sound /
リーチを伴う変動であると判定した場合、音/ランプ制御用マイクロコンピュータ100bは、予告演出実行決定用乱数(ランダム1)にもとづいて、予告演出を行うか否かを決定する(ステップS1853)。例えば、音/ランプ制御用マイクロコンピュータ100bは、ランダム1が所定値と一致すると、可変表示装置9を用いた予告演出を行うと決定する。なお、ステップS1852でリーチを伴う変動でなかった場合には、音/ランプ制御用マイクロコンピュータ100bは、ステップS1857に移行する。
If it is determined that the variation is accompanied by reach, the sound /
ステップS1854で予告演出を行わないと決定した場合、音/ランプ制御用マイクロコンピュータ100bは、変動パターンコマンドを受信しているとともに表示結果指定コマンドを受信している場合には、変動パターンコマンドおよび表示結果指定コマンドを図柄制御用マイクロコンピュータ100aに送信または転送し、図柄制御用マイクロコンピュータ100aは、可変表示装置9を用いた飾り図柄の可変表示および遊技演出を実行することになる。この場合、音/ランプ制御用マイクロコンピュータ100bは、ステップS1854で予告演出を行わないと決定すると、予告演出を行わない旨を指定する通知コマンドを生成し、図柄制御用マイクロコンピュータ100aに送信する(ステップS1857)。
If it is determined in step S1854 that the notice effect is not performed, the sound /
予告演出を行うと決定すると(ステップS1854)、音/ランプ制御用マイクロコンピュータ100bは、予告演出種類決定用乱数(ランダム2)にもとづいて、可変表示装置9を用いて行わせる予告演出の種類を決定する(ステップS1855)。例えば、音/ランプ制御用マイクロコンピュータ100bは、ランダム2にもとづいて、予告演出において、飾り図柄をどの程度の速度で変動させるかや、飾り図柄をいずれの回転方向に変動させるか、可変表示装置9にいずれのキャラクタを登場させるかを決定する。
If it is determined that the notice effect is to be performed (step S1854), the sound /
なお、この実施の形態では、変動パターンコマンドにもとづいて演出内容を決定する場合を説明するが、音/ランプ制御用マイクロコンピュータ100bは、遊技制御用マイクロコンピュータ560から受信した表示結果指定コマンドにもとづいて、非確変大当りまたは確変大当りであることを特定して、演出内容を決定してもよい。また、音/ランプ制御用マイクロコンピュータ100bは、図柄ずれ数指定コマンドを遊技制御用マイクロコンピュータ560から受信し、受信した図柄ずれ数指定コマンドにもとづいて、停止図柄がリーチを伴うはずれ図柄であるか否かを特定して、演出内容を決定してもよい。この場合、例えば、遊技制御用マイクロコンピュータ560は、特別図柄停止図柄設定処理(ステップS301参照)で飾り図柄の停止図柄を決定する際に、停止図柄をリーチ/はずれ図柄に決定した場合には、飾り図柄の停止図柄のずれ数を求める。また、遊技制御用マイクロコンピュータ560は、求めたずれ数を特定可能な値を含む図柄ずれ数指定コマンドを生成し、音/ランプ制御用マイクロコンピュータ100bに送信する。そして、音/ランプ制御用マイクロコンピュータ100bは、図柄ずれ数コマンドを受信したことにもとづいて停止図柄がリーチ/はずれ図柄であると特定し、演出内容を決定する。
In this embodiment, description will be made on the case where the production contents are determined based on the variation pattern command. However, the sound /
さらに、音/ランプ制御用マイクロコンピュータ100bは、上記に示した全てのコマンド(変動パターンコマンド、表示結果指定コマンド、および図柄ずれ数指定コマンド)にもとづいて、演出内容を決定してもよい。また、音/ランプ制御用マイクロコンピュータ100bは、上記に示した各コマンド(変動パターンコマンド、表示結果指定コマンド、および図柄ずれ数指定コマンド)のうちのいずれか2つにもとづいて、演出内容を決定してもよい。
Furthermore, the sound /
また、音/ランプ制御用マイクロコンピュータ100bは、決定した演出内容(予告演出を行うか否かや、予告演出の種類)を示す演出内容指定コマンドを生成する。そして、音/ランプ制御用マイクロコンピュータ100bは、生成した演出内容指定コマンドを、図柄制御基板80aに対して送信する処理を行う(ステップS1856)。なお、音/ランプ制御用マイクロコンピュータ100bは、演出内容指定コマンドとともに、表示結果指定コマンドおよび変動パターンコマンドを図柄制御基板80aに転送または送信する。そして、図柄制御基板80aの図柄制御用マイクロコンピュータ100aは、音/ランプ制御用マイクロコンピュータ100bから受信した演出内容指定コマンド、表示結果指定コマンドおよび変動パターンコマンドにもとづいて、後述する図柄制御プロセス処理(ステップS1705参照)において、飾り図柄の可変変動および遊技演出を行う。この場合、図柄制御用マイクロコンピュータ100aは、受信した演出内容指定コマンドにもとづいて、VDP109に、可変表示装置9を用いた予告演出を行わせる。
Further, the sound /
なお、ステップS1856において、音/ランプ制御用マイクロコンピュータ100bは、演出内容指定コマンドを生成するのでなく、決定した演出内容を、変動パターンコマンドや表示結果指定コマンドに付加してもよい。例えば、音/ランプ制御用マイクロコンピュータ100bは、コマンドのヘッダ部分に演出内容を示す値を付加することによって、演出内容を変動パターンコマンドや表示結果指定コマンドに付加する。この場合、音/ランプ制御用マイクロコンピュータ100bは、変動パターンコマンドのみのヘッダ部分に演出内容を示す値を付加してもよく、表示結果指定コマンドのみのヘッダ部分に演出内容を示す値を付加してもよい。さらに、音/ランプ制御用マイクロコンピュータ100bは、変動パターンコマンドおよび表示結果指定コマンドの両方のヘッダ部分に演出内容を示す値を付加してもよい。そして、音/ランプ制御用マイクロコンピュータ100bは、演出内容を付加した変動パターンコマンドや表示結果指定コマンドを、図柄制御基板80aに対して送信する処理を行ってもよい。なお、予告演出を行わない場合には、音/ランプ制御用マイクロコンピュータ100bは、遊技制御用マイクロコンピュータ560から受信した表示結果指定コマンドを、そのまま図柄制御用マイクロコンピュータ100aに転送することになる。
In step S1856, the sound /
また、この実施の形態では、ステップS1856で送信テーブルのアドレスがセットされたことにもとづいて、音/ランプ制御メイン処理におけるコマンド制御処理(ステップS789参照)が実行されることによって、演出内容指定コマンドが図柄制御基板80aに送信される。
Also, in this embodiment, the command for specifying the contents of the effect is performed by executing the command control process (see step S789) in the sound / lamp control main process based on the setting of the address of the transmission table in step S1856. Is transmitted to the
また、この実施の形態では、ランプ制御実行データを含む音/ランプ制御側プロセスデータが、音/ランプ制御基板80bにおけるROMに格納されている。また、表示制御実行データを含む図柄制御側プロセスデータが、図柄制御基板80aにおけるROMに格納されている。この実施の形態では、ステップS1856において、音/ランプ制御用マイクロコンピュータ100bは、決定した演出内容に応じて生成した演出内容指定コマンドを図柄制御用マイクロコンピュータ100aに送信する。そして、図柄制御用マイクロコンピュータ100aは、受信した演出内容指定コマンドにもとづいてROMから表示制御実行データを読み出し、読み出した表示制御実行データにもとづいて可変表示装置9を用いて演出を行う。
In this embodiment, sound / lamp control side process data including lamp control execution data is stored in the ROM of the sound /
また、ステップS1856で決定した演出内容を変動パターンコマンドや表示結果指定コマンドに付加する場合、音/ランプ制御用マイクロコンピュータ100bは、決定した演出内容(例えば、背景色や登場するキャラクタ)を付加した変動パターンコマンドや表示結果指定コマンドを、図柄制御用マイクロコンピュータ100aに送信してもよい。そして、図柄制御用マイクロコンピュータ100aは、受信した変動パターンコマンドや表示結果指定コマンドにもとづいてROMから表示制御実行データを読み出し、読み出した表示制御実行データにもとづいて可変表示装置9を用いて演出を行ってもよい。
In addition, when adding the effect content determined in step S1856 to the variation pattern command or the display result designation command, the sound /
また、表示制御実行データおよびランプ制御実行データの両方を含むプロセスデータが、音/ランプ制御基板80bにおけるROMに格納されていてもよい。この場合、音/ランプ制御用マイクロコンピュータ100bは、決定した演出内容に応じた表示制御実行データをROMから抽出し、生成した演出内容指定コマンドとともに、図柄制御用マイクロコンピュータ100aに送信してもよい。そして、図柄制御用マイクロコンピュータ100aは、受信した表示制御実行データにもとづいて、可変表示装置9を用いて演出を行ってもよい。
Further, process data including both display control execution data and lamp control execution data may be stored in the ROM of the sound /
また、表示制御実行データおよびランプ制御実行データの両方を含むプロセスデータが、音/ランプ制御基板80bにおけるROMに格納する場合に、音/ランプ制御用マイクロコンピュータ100bは、決定した演出内容に応じた表示制御実行データをROMから抽出し、決定した演出内容を付加した変動パターンコマンドや表示結果指定コマンドとともに、図柄制御用マイクロコンピュータ100aに送信してもよい。そして、図柄制御用マイクロコンピュータ100aは、受信した表示制御実行データにもとづいて、可変表示装置9を用いて演出を行ってもよい。
When process data including both display control execution data and lamp control execution data is stored in the ROM of the sound /
図96は、図93に示された報知処理(ステップS790)を示すフローチャートである。報知処理において、音/ランプ制御用マイクロコンピュータ100bは、賞球異常(賞球過多異常または賞球過少異常)の報知を行っているか否か確認する(ステップS881)。そのような報知を行っていない場合には、賞球過多異常コマンドを受信したか否か確認する(ステップS882a)。賞球過多異常コマンドを受信していた場合には、スピーカ27やランプ25,28a,28b,28cを用いて賞球過多異常を報知する制御を行う(ステップS883a)。また、報知時間を決定するために報知タイマに報知時間に応じた値を設定する(ステップS884a)。その後、ステップS891に移行する。
FIG. 96 is a flowchart showing the notification process (step S790) shown in FIG. In the notification process, the sound /
また、賞球過多異常コマンドを受信していない場合には、賞球過少異常コマンドを受信したか否か確認する(ステップS882b)。賞球過少異常コマンドを受信していた場合には、スピーカ27やランプ25,28a,28b,28cを用いて賞球過少異常を報知する制御を行う(ステップS883b)。また、報知時間を決定するために報知タイマに報知時間に応じた値を設定する(ステップS884b)。その後、ステップS891に移行する。
If no prize ball excess abnormality command has been received, it is confirmed whether or not a prize ball excess abnormality command has been received (step S882b). If a prize ball underabnormality command has been received, control for notifying the prize ball underabnormality is performed using the
賞球異常の報知を行っている場合には、報知タイマの値を1減算する(ステップS888)。報知タイマの値が0になっていなければ、すなわちタイムアウトしていなければステップS891に移行するが、タイムアウトしている場合には、報知を終了する。 If the prize ball abnormality is notified, the value of the notification timer is decremented by 1 (step S888). If the value of the notification timer is not 0, that is, if it has not timed out, the process proceeds to step S891, but if it has timed out, the notification is terminated.
なお、この実施の形態では、エラー報知処理は2ms毎に起動されるので、報知タイマに設定される報知時間に応じた値は、(報知時間[ms]/2)である。また、この実施の形態では、報知タイマによって報知時間に応じた値のカウント(減算方向のカウント)を行うと、音/ランプ制御用マイクロコンピュータ100bは、独自に報知を終了するが、報知タイマの初期値を0にして、加算方向のカウントを行い、報知タイマの値が報知時間に応じた値になると報知を終了するようにしてもよい。
In this embodiment, since the error notification process is started every 2 ms, the value corresponding to the notification time set in the notification timer is (notification time [ms] / 2). In this embodiment, when the value of the value according to the notification time is counted by the notification timer (counting in the subtraction direction), the sound /
ステップS891では、音/ランプ制御用マイクロコンピュータ100bは、払出異常報知開始コマンドを受信したか否か確認する。払出異常報知開始コマンドを受信していた場合には、スピーカ27やランプ25,28a,28b,28cを用いて払出異常を報知する制御を行う(ステップS892)。また、音/ランプ制御用マイクロコンピュータ100bは、払出異常報知終了コマンドを受信したか否か確認する(ステップS893)。払出異常報知終了コマンドを受信していた場合には、報知を終了する。
In step S891, the sound /
次に、図柄制御手段(図柄制御用マイクロコンピュータ100a)の動作を説明する。図97は、図柄制御基板80aに搭載されている図柄制御用マイクロコンピュータ100a(具体的には、図柄制御用CPU101a)が実行するメイン処理を示すフローチャートである。図柄制御用マイクロコンピュータ100aは、電源が投入されると、メイン処理の実行を開始する。メイン処理では、まず、RAM領域のクリアや各種初期値の設定、また図柄制御の起動間隔を決めるためのタイマの初期設定等を行うための初期化処理を行う(ステップS1701)。その後、図柄制御用マイクロコンピュータ100aは、タイマ割込フラグの監視(ステップS1702)を行うループ処理に移行する。タイマ割込が発生すると、図柄制御用マイクロコンピュータ100aは、タイマ割込処理においてタイマ割込フラグをセットする。メイン処理において、タイマ割込フラグがセットされていたら、図柄制御用マイクロコンピュータ100aは、そのフラグをクリアし(ステップS1703)、以下の図柄制御処理を実行する。
Next, the operation of the symbol control means (the
図柄制御処理において、図柄制御用マイクロコンピュータ100aは、まず、音/ランプ制御基板80bから受信した演出制御コマンドを解析する(コマンド解析処理:ステップS1704)。次いで、図柄制御用マイクロコンピュータ100aは、図柄制御プロセス処理を行う(ステップS1705)。図柄制御プロセス処理では、制御状態に応じた各プロセスのうち、現在の制御状態(図柄制御プロセスフラグ)に対応した処理を選択して可変表示装置9の表示制御を実行する。さらに、各種乱数を生成するためのカウンタのカウンタ値を更新する乱数更新処理を実行する(ステップS1706)。
In the symbol control process, the
また、図柄制御用マイクロコンピュータ100aは、賞球異常が発生している旨を報知する報知処理を実行する(ステップS1707)。この場合、図柄制御用マイクロコンピュータ100aは、図95に示す音/ランプ制御用マイクロコンピュータ100bが実行する報知処理と同様の処理の従って、賞球異常(賞球過多異常、賞球過少異常)や払出異常が発生している旨を報知する。ただし、図柄制御用マイクロコンピュータ100aは、可変表示装置9を用いて、賞球異常や払出異常が発生している旨を報知する。例えば、図柄制御用マイクロコンピュータ100aは、賞球異常や払出異常が発生している旨を可変表示装置9に表示させる。その後、ステップS1702に移行する。
Further, the
図98は、図97に示されたメイン処理における図柄制御プロセス処理(ステップS1705)を示すフローチャートである。図柄制御プロセス処理では、図柄制御用CPU101aは、図柄制御プロセスフラグの値に応じてステップS1800〜S1807のうちのいずれかの処理を行う。各処理において、以下のような処理を実行する。 FIG. 98 is a flowchart showing the symbol control process (step S1705) in the main process shown in FIG. In the symbol control process, the symbol control CPU 101a performs one of steps S1800 to S1807 according to the value of the symbol control process flag. In each process, the following process is executed.
変動パターンコマンド受信待ち処理(ステップS1800):コマンド受信割込処理によって、音/ランプ制御基板80bから変動パターン指定の演出制御コマンド(変動パターンコマンド)を受信したか否か確認する。具体的には、変動パターンコマンドが受信されたことを示すフラグ(変動パターン受信フラグ)がセットされたか否か確認する。変動パターン受信フラグは、図柄制御用CPU101aが実行するコマンド解析処理で、変動パターンコマンドが受信されたことが確認された場合にセットされる。変動パターンコマンドを受信した場合には、飾り図柄の変動態様(変動期間中の飾り図柄の変動速度や、背景,キャラクタの種類、キャラクタの表示開始時期など)を、それぞれの変動パターンに応じてあらかじめ決められている複数種類のうちから選択する。なお、それぞれの変動パターンについて、あらかじめ1種類の変動態様が決められている場合には、受信した変動パターンに応じた変動態様を使用することに決定する。そして、図柄制御プロセスフラグの値を予告選択処理(ステップS1801)に対応した値に更新する。
Fluctuation pattern command reception waiting process (step S1800): It is confirmed whether or not an effect control command (variation pattern command) specifying a fluctuation pattern has been received from the sound /
予告選択処理(ステップS1801):例えばキャラクタ画像を用いた予告演出(特別図柄の停止図柄が大当り図柄となること、またはリーチが発生することを事前に報知するための演出)を行うか否かと、行う場合の予告演出の種類を特定する。この実施の形態では、音/ランプ制御基板80bから受信した演出内容指定コマンドにもとづいて、可変表示装置9を用いて行う予告演出が特定される。そして、図柄制御プロセスフラグの値を全図柄変動開始処理(ステップS1802)に対応した値に更新する。
Prior notice selection process (step S1801): For example, whether or not to perform a notice effect using a character image (an effect for informing in advance that a special symbol stop symbol becomes a big hit symbol or a reach occurs), The type of notice effect when performing is specified. In this embodiment, the notice effect to be performed using the
全図柄変動開始処理(ステップS1802):左中右の飾り図柄の変動が開始されるように制御する。そして、図柄制御プロセスフラグの値を図柄変動中処理(ステップS1803)に対応した値に更新する。 All symbol variation start processing (step S1802): Control is performed so that the variation of the left middle right decorative symbol is started. Then, the value of the symbol control process flag is updated to a value corresponding to the symbol changing process (step S1803).
図柄変動中処理(ステップS1803):変動パターンに応じて決められている変動時間の終了を監視する。また、左右図柄の停止制御を行う。変動時間が終了したら、大当りとすることに決定されている場合には、図柄制御プロセスフラグの値を大当たり図柄停止処理(ステップS1804)に対応した値に更新する。大当りとしないことに決定されている場合には、図柄制御プロセスフラグの値をはずれ図柄停止処理(ステップS1805)に対応した値に更新する。なお、図柄変動中処理では、変動パターンを構成する各変動状態(変動速度)の切替タイミングの制御も行う。 Symbol variation processing (step S1803): The end of the variation time determined in accordance with the variation pattern is monitored. In addition, stop control of the left and right symbols is performed. When the variation time is over, if it is determined to be a jackpot, the value of the symbol control process flag is updated to a value corresponding to the jackpot symbol stop process (step S1804). If it is decided not to win, the value of the symbol control process flag is removed and updated to a value corresponding to the symbol stop processing (step S1805). In the symbol variation processing, the switching timing of each variation state (variation speed) constituting the variation pattern is also controlled.
大当り図柄停止処理(ステップS1804):飾り図柄の変動を最終停止し停止図柄(確定図柄)を表示する制御を行う。そして、図柄制御プロセスフラグの値を大当り表示処理(ステップS1806)に対応した値に更新する。なお、この処理において、図柄制御用CPU101aは、可変表示装置9に飾り図柄の大当り図柄を停止表示させるが、遊技制御用マイクロコンピュータ560の制御と同様に、図柄制御プロセスフラグの値が大当り図柄停止処理である時間を所定時間継続させることが好ましい。
Big hit symbol stop process (step S1804): Control is performed to finally stop the variation of the decorative symbol and display the stop symbol (determined symbol). Then, the value of the symbol control process flag is updated to a value corresponding to the jackpot display process (step S1806). In this process, the symbol control CPU 101a causes the
はずれ図柄停止処理(ステップS1805):飾り図柄の変動を最終停止し停止図柄(確定図柄)を表示する制御を行う。そして、図柄制御プロセスフラグの値を変動パターンコマンド受信待ち処理(ステップS1800)に対応した値に更新する。なお、この処理において、図柄制御用CPU101aは、可変表示装置9に飾り図柄のはずれ図柄を停止表示させる。
Lost symbol stop process (step S1805): Control is performed to finally stop the variation of the decorative symbol and display the stop symbol (determined symbol). Then, the value of the symbol control process flag is updated to a value corresponding to the variation pattern command reception waiting process (step S1800). In this process, the symbol control CPU 101a causes the
大当り表示処理(ステップS1806):大当り表示の制御を行う。そして、図柄制御プロセスフラグの値を大当たり遊技中処理(ステップS1807)に対応した値に更新する。 Big hit display processing (step S1806): Big hit display is controlled. Then, the value of the symbol control process flag is updated to a value corresponding to the big hit game processing (step S1807).
大当り遊技中処理(ステップS1807):大当たり遊技中の制御を行う。例えば、大入賞口開放前表示や大入賞口開放時表示の演出制御コマンドを受信したら、ラウンド数の表示制御等を行う。大当り遊技が終了したら、図柄制御プロセスフラグの値を変動パターンコマンド受信待ち処理(ステップS1800)に対応した値に更新する。 Big hit game processing (step S1807): Control during the big hit game is performed. For example, when an effect control command for display before opening the big winning opening or display when opening the big winning opening is received, display control of the number of rounds is performed. When the big hit game ends, the value of the symbol control process flag is updated to a value corresponding to the variation pattern command reception waiting process (step S1800).
また、図柄制御用マイクロコンピュータ100aは、ステップS1707の報知処理において、賞球過多異常コマンドを受信したことにもとづいて、可変表示装置9を用いて賞球過多異常を報知する制御を行う。この場合、図柄制御用マイクロコンピュータ100aは、例えば、図99(A)に示すように、賞球払い出しに異常が生じている旨を報知する画面を可変表示装置9に表示させる。また、図柄制御用マイクロコンピュータ100aは、ステップS1707の報知処理において、賞球過少異常コマンドを受信したことにもとづいて、可変表示装置9を用いて賞球過少異常を報知する制御を行う。この場合、図柄制御用マイクロコンピュータ100aは、例えば、図99(B)に示すように、賞球払い出しに不足が生じている旨を報知する画面を可変表示装置9に表示させる。
In addition, the
以上のように、この実施の形態では、球払出装置97によって遊技球の払い出しが行われると、タイマ割込処理において、払い出された遊技球の数を、総賞球数格納バッファが格納する総賞球数から減算する。また、メイン処理において、賞球個数コマンドに示される賞球数を総賞球数に加算する際に、総賞球数格納バッファから総賞球数を読み出すと、再び加算後の総賞球数を総賞球数格納バッファに書き込むまでタイマ割込処理の実行を禁止する。そのため、総賞球数格納バッファから総賞球数を読み出してから再び書き込むまでの間に、払い出された遊技球の数を総賞球数から減算する処理を実行しないようにすることができ、払い出された遊技球の数を遊技制御用マイクロコンピュータ560が把握できなくなる事態を防止できる。従って、遊技制御用マイクロコンピュータ560が管理する賞球数と払出制御用マイクロコンピュータ370が管理する賞球数との間のズレの発生を防止することができる。
As described above, in this embodiment, when a game ball is paid out by the
また、この実施の形態では、音/ランプ制御用マイクロコンピュータ100bが、変動パターンコマンドにもとづいて、演出内容(予告演出を行うか否かや、予告演出の種類)を独自に決定する。また、音/ランプ制御用マイクロコンピュータ100bによって決定された演出内容に従って、図柄制御用マイクロコンピュータ100aが可変表示装置9を用いて遊技演出を実行する。そのため、遊技制御用マイクロコンピュータ560が演出内容を決定しなくて済む。従って、遊技制御用マイクロコンピュータ560の処理負担を軽減することができる。
Further, in this embodiment, the sound /
また、この実施の形態では、遊技機への電源投入が開始されてからタイマ割込設定を行うまでに乱数回路503の初期設定(乱数回路設定処理)を行うとともに、乱数回路設定処理において、遊技制御用マイクロコンピュータ560固有のIDナンバにもとづく値を乱数の初期値として設定する。そのため、乱数回路503が生成する乱数のランダム性を向上させることができる。また、乱数のランダム性を向上させることができるので、乱数生成のタイミングを遊技者や遊技店に認識されにくくすることができ、無線信号を用いた取り込み信号を遊技機に対して発生させることによって、大当り状態などの特定遊技状態への移行条件を不正に成立させられてしまうことを防止することができる。
In this embodiment, the
また、この実施の形態では、シリアル通信回路505が割り込み要求を行った場合に、通信エラーを割込原因とする場合の割込処理を優先的に実行し、通信を禁止状態に制御する。そのため、通信エラーが発生した状態で遊技機に搭載されている払出制御基板37の払出制御用マイクロコンピュータ370と通信を行うことを防止できる。よって、通信エラーによる誤動作を防止することができる。
Further, in this embodiment, when the
例えば、シリアル通信回路505においてオーバーランが発生すると、受信データレジスタ711内の受信データが読み込まれる前に受信用シフトレジスタ713に次の受信データが格納されてしまうので、受信データレジスタ711の内容が上書きされてしまいCPU56が受信データを正しく読み込めなくなってしまう。そのため、各制御基板が搭載するマイクロコンピュータと正しく通信を行えなくなり、遊技制御用マイクロコンピュータ560が誤動作をする原因となる。この実施の形態では、オーバーランが発生すると、シリアル通信回路505が通信エラー時割込要求を行い、CPU56が通信を禁止状態に制御する。そのため、オーバーランの発生によって遊技制御用マイクロコンピュータ560が誤動作することを防止することができる。
For example, when an overrun occurs in the
また、例えば、シリアル通信回路505においてノイズエラーが発生すると、ノイズによって正しい受信データを受信できない可能性が高く、CPU56が誤動作をする原因となる。この実施の形態では、ノイズエラーが発生すると、シリアル通信回路505が通信エラー時割込要求を行い、CPU56が通信を禁止状態に制御する。そのため、ノイズエラーの発生によってCPU56が誤動作することを防止することができる。
Further, for example, if a noise error occurs in the
また、例えば、シリアル通信回路505においてフレーミングエラーが発生すると、受信データのストップビットを正しく受信できなかった状態であるので、正しい受信データを受信できない可能性が高く、CPU56が誤動作をする原因となる。この実施の形態では、フレーミングエラーが発生すると、シリアル通信回路505が通信エラー時割込要求を行い、CPU56が通信を禁止状態に制御する。そのため、フレーミングエラーの発生によってCPU56が誤動作することを防止することができる。
Further, for example, when a framing error occurs in the
また、例えば、シリアル通信回路505においてパリティエラーが発生すると、受信データの各データビットまたはパリティビットを正しく受信できなかった状態であるので、正しい受信データを受信できない可能性が高く、CPU56が誤動作をする原因となる。この実施の形態では、パリティエラーが発生すると、シリアル通信回路505が通信エラー時割込要求を行い、CPU56が通信を禁止状態に制御する。そのため、パリティエラーの発生によってCPU56が誤動作することを防止することができる。
Further, for example, when a parity error occurs in the
また、この実施の形態では、シリアル通信回路505において通信エラーが発生すると、払出制御基板37が搭載する払出制御用マイクロコンピュータ370への賞球個数コマンドの送信と、払出制御用マイクロコンピュータ370からの賞球ACKコマンドの受信とを禁止するように制御する。例えば、通信エラーの発生時に賞球個数コマンドを払出制御基板37が搭載する払出制御用マイクロコンピュータ370に送信してしまうと、誤った賞球個数コマンドが送信されてしまう可能性がある。そのため、誤った賞球個数コマンドに示される賞球数にもとづいて誤った数の遊技球が払い出されてしまう可能性があり、遊技結果に影響を及ぼす虞がある。この実施の形態では、通信エラーが発生すると、払出制御基板37が搭載する払出制御用マイクロコンピュータ370への賞球個数コマンドの送信を禁止するように制御するので、誤った賞球コマンドにもとづいて誤った数の遊技球の払出が行われ、遊技結果に影響を及ぼしてしまうことを防止することができる。
In this embodiment, when a communication error occurs in the
なお、シリアル通信回路505において通信エラーが発生すると、各制御基板が搭載するマイクロコンピュータからのデータの受信のみを防止するようにしてもよい。例えば、遊技制御手段と演出制御手段との間でシリアル通信を行う場合を考える。この場合、遊技制御用マイクロコンピュータ560と音/ランプ制御用マイクロコンピュータ100bとの間で行われる通信は、遊技制御用マイクロコンピュータ560から音/ランプ制御用マイクロコンピュータ100bへの演出制御コマンドの送信だけであり、音/ランプ制御用マイクロコンピュータ100bから遊技制御用マイクロコンピュータ560へのコマンドの送信はない。すなわち、遊技制御用マイクロコンピュータ560と音/ランプ制御用マイクロコンピュータ100bとの間では、一方向だけの通信が行われる。また、遊技制御用マイクロコンピュータ560から音/ランプ制御基板80bに誤った演出制御コマンドが送信されたとしても、可変表示装置9に誤った演出用の表示が行われるだけであり、誤った払出処理を実行してしまう場合と比較して、遊技結果に与える影響が小さい。そのため、遊技制御手段と演出制御手段との間でシリアル通信を行う場合、シリアル通信回路505において通信エラーが発生すると、遊技制御用マイクロコンピュータ560は、データの受信のみを禁止するように制御してもよい。
Note that when a communication error occurs in the
なお、この実施の形態では、「シリアル通信回路505がCPU56に割り込み要求を行う」という表現を用いたが、具体的には、データの送受信や通信エラーの発生などの割込要因が発生したときに、シリアル通信回路505の割り込み制御回路714がステータスレジスタA705の対応するビット(割込要因に対応するビット)に設定値をセットするとともに、CPU56に割り込み信号(内部IRQ)を出力することによって、シリアル通信回路505による割り込み要求が行われる。例えば、通信エラーが発生したときに、シリアル通信回路505の割り込み制御回路714がステータスレジスタA705の対応するビット(通信エラーに対応するビット0〜3)に設定値をセットするとともに、CPU56に割り込み信号を出力することによって、シリアル通信回路505による通信エラー時の割り込み要求が行われる。
In this embodiment, the expression “the
また、この実施の形態では、払出個数カウントスイッチ301からの払出検出信号を、払出制御基板37を経由して主基板31に入力するように構成されているので、払出検出信号を出力するための配線を、払出個数カウントスイッチ301から主基板31および払出制御基板37の両方に設ける必要がなくなる。そのため、払出個数カウントスイッチ301から払出検出信号を出力するための配線を削減することができる。
In this embodiment, since the payout detection signal from the payout
なお、払出個数カウントスイッチ301からの払出検出信号を主基板31に直接入力するようにしてもよい。この場合、払出個数カウントスイッチ301から払出検出信号を出力するための配線を、主基板31および払出制御基板37の両方に設けることになる。そして、遊技制御用マイクロコンピュータ560は、払出個数カウントスイッチ301から直接入力した払出検出信号にもとづいて、入力判定処理において、総賞球数格納バッファが格納する総賞球数の減算処理を行う。
Note that a payout detection signal from the payout
また、この実施の形態では、遊技制御用マイクロコンピュータ560によって賞球の払い出しに異常が発生したことを示す賞球過多異常コマンドや賞球過少異常コマンドが払出制御用マイクロコンピュータ370に送信され、払出制御用マイクロコンピュータ370が、受信した賞球過多異常コマンドや賞球過少異常コマンドにもとづいて報知する。そのため、賞球の払い出しのエラー状態を報知することができる。
In this embodiment, the
また、この実施の形態では、遊技制御用マイクロコンピュータ560によって賞球の払い出しに異常が発生したことを示す賞球過多異常コマンドや賞球過少異常コマンドが音/ランプ制御用マイクロコンピュータ100bに送信され、音/ランプ制御用マイクロコンピュータ100bが、受信した賞球過多異常コマンドや賞球過少異常コマンドにもとづいて、音やランプを用いて報知する。また、図柄制御用マイクロコンピュータ100aが、転送された賞球過多異常コマンドや賞球過少異常コマンドにもとづいて、可変表示装置9用いて報知する。そのため、賞球の払い出しのエラー状態を報知することができる。
In this embodiment, the
また、この実施の形態では、主基板31からの演出制御コマンドを、まず音/ランプ制御基板80bで受信し、さらに音/ランプ制御基板80bから図柄制御基板80aに変動パターンコマンドや演出内容指定コマンドが送出される場合を説明したが、主基板31からの演出制御コマンドを、まず図柄制御基板80aで受信するようにしてもよい。
In this embodiment, an effect control command from the
図100は、中継基板77、音/ランプ制御基板80bおよび図柄制御基板80aの他の回路構成例を示すブロック図である。図100に示す回路構成を用いる場合、例えば、図柄制御用マイクロコンピュータ100aは、ステップS1851〜S1856と同様の処理に従って、変動パターンコマンドにもとづいて、演出内容(予告演出を行うか否かや、予告演出の種類)を決定する。そして、図柄制御用マイクロコンピュータ100aは、決定した演出内容に従って、VDP109に、可変表示装置9を用いた予告演出を行わせる。また、図柄制御用マイクロコンピュータ100aは、決定した演出内容を示す演出内容指定コマンドを生成して、音/ランプ制御基板80bに送信するようにしてもよい。そして、音/ランプ制御基板80bが搭載する音/ランプ制御用マイクロコンピュータ100bは、受信した演出内容指定コマンドに示される演出内容に従って、各ランプ25,28a,28b,28cの表示制御を行ったり、音出力装置27の音出力制御を行ってもよい。
FIG. 100 is a block diagram showing another circuit configuration example of the
また、この実施の形態では、各演出手段を別々の制御基板を用いて制御する場合として、音/ランプ制御基板80bと図柄制御基板80aとを用いる場合を説明したが、他の制御基板の組合せを用いて各演出手段を制御してもよい。例えば、音出力装置27を制御する音制御基板と、各ランプを制御するランプ制御基板と、可変表示装置9を制御する図柄制御基板とを用いて、各演出手段を制御してもよい。この場合、例えば、主基板31からの演出制御コマンドを、まず音制御基板で受信し、音制御基板が搭載する音制御用マイクロコンピュータが、受信した変動パターンコマンドにもとづいて演出内容(予告演出を行うか否かや、予告演出の種類)を決定してもよい。なお、主基板31からの演出制御コマンドを、まずランプ制御基板や図柄制御基板で受信し、ランプ制御基板や図柄制御基板が搭載するマイクロコンピュータが、演出内容を決定したり変動時間を特定してもよい。さらに、例えば、音出力装置27および可変表示装置9を制御する音/図柄制御基板と、各ランプを制御するランプ制御基板とを用いて、各演出手段を制御してもよい。また、例えば、各ランプおよび可変表示装置9を制御するランプ/図柄制御基板と、音出力装置27を制御する音制御基板とを用いて、各演出手段を制御してもよい。
In this embodiment, the case where the sound /
実施の形態2.
上記に示した各実施の形態では、CPU56が、シリアル通信回路505からの割り込み要求に対応する割込処理のうちいずれの割込処理に優先して実行するかを設定または変更する場合を説明したが、さらにタイマ割込とシリアル通信回路505からの割り込み要求とが同時に発生した場合に、いずれの割込処理を優先して実行するかを設定または変更できるようにしてもよい。以下、タイマ割込とシリアル通信回路505からの割り込み要求とのいずれを優先して割込処理を実行するかを設定または変更する第2の実施の形態を説明する。
In each of the embodiments described above, the case has been described in which the
なお、本実施の形態において、第1の実施の形態と同様の構成および処理をなす部分についてはその詳細な説明を省略し、主として第1の実施の形態と異なる部分について説明する。 In the present embodiment, detailed description of the parts having the same configuration and processing as those of the first embodiment will be omitted, and parts different from the first embodiment will be mainly described.
まず、第2の実施の形態におけるメイン処理について説明する。図101は、第2の実施の形態におけるメイン処理を示すフローチャートである。なお、メイン処理のうち、ステップS1からステップS6まで(ステップS80を含む)の処理は、第1の実施の形態で示した処理と同様である(図43参照)。また、図101に示すメイン処理において、ステップS7からステップS15aまでの処理(ステップS91からステップS93までの処理を含む)は、第1の実施の形態で示したそれらの処理と同様である。 First, the main process in the second embodiment will be described. FIG. 101 is a flowchart showing main processing in the second embodiment. Of the main processing, the processing from step S1 to step S6 (including step S80) is the same as the processing shown in the first embodiment (see FIG. 43). In the main process shown in FIG. 101, the processes from step S7 to step S15a (including the processes from step S91 to step S93) are the same as those shown in the first embodiment.
ステップS15aのシリアル通信回路設定処理を実行し、シリアル通信回路505を初期設定すると、CPU56は、タイマ割込の発生時に実行するタイマ割込処理、およびシリアル通信回路505の割り込み要求に応じて実行する割込処理の優先順位を初期設定する(ステップS15c)。
When the serial communication circuit setting process in step S15a is executed and the
例えば、CPU56は、各割込処理のデフォルトの優先順位を含む所定の割込処理優先順位テーブルに従って、各割込処理の優先順位を初期設定する。図102は、第2の実施の形態における割込処理優先順位テーブルの例を示す説明図である。この実施の形態では、CPU56は、図102に示す割込処理優先順位テーブルに従って、シリアル通信回路505において通信エラーが発生したことを割込原因とする割込処理を優先して実行するように初期設定する。すなわち、CPU56は、シリアル通信回路505からの割り込み要求による割込処理(本例では、通信エラー割込処理)を、タイマ割込処理に優先して実行するようにデフォルトで設定する。この場合、例えば、CPU56は、通信エラーが発生したことを割込原因とする割込処理を優先して実行する旨を示す通信エラー時割込優先実行フラグをセットする。
For example, the
また、この実施の形態では、ステップS15cにおいて、図102に示す割込処理優先順位テーブルに従って割込処理の優先順位の初期設定が行われることによって、タイマ割込とシリアル通信回路505からの割り込み要求とが同時に発生した場合、シリアル通信回路505からの割り込み要求に対する割込処理を優先して行うことになる。
In this embodiment, in step S15c, the interrupt processing priority is initially set according to the interrupt processing priority table shown in FIG. 102, so that the timer interrupt and the interrupt request from the
また、ユーザによって各割込処理のデフォルトの優先順位を変更することもできる。例えば、遊技制御用マイクロコンピュータ560は、ユーザ(例えば、遊技機の製作者)によって設定された割込処理を指定する指定情報を、あらかじめROM54の所定の記憶領域に記憶している。そして、CPU56は、ROM54の所定の記憶領域に記憶された指定情報に従って、割込処理の優先順位を設定する。
In addition, the default priority of each interrupt process can be changed by the user. For example, the
例えば、あらかじめ記憶された指定情報においてタイマ割込処理が指定されている場合を説明する。この場合、CPU56は、指定情報にもとづいて、タイマ割込処理を、シリアル通信回路505からの割り込み要求に対する各割込処理(通信エラー時割込処理、受信時割込処理および送信完了割込処理)に優先して実行するように初期設定する。すなわち、図102に示す割込処理優先順位テーブルにおいて、シリアル通信回路505において通信エラーが発生したことを割込原因とする割込処理を優先して実行するようにデフォルトで設定されているが、CPU56は、ユーザによって設定された指定情報にもとづいて、タイマ割込処理を優先して実行するように割込処理の優先順位を変更する。この場合、例えば、CPU56は、タイマ割込処理を優先して実行する旨を示すタイマ割込優先実行フラグをセットする。
For example, a case where a timer interrupt process is designated in designated information stored in advance will be described. In this case, based on the designation information, the
また、ステップS16からステップS19までの処理は、第1の実施の形態で示したそれらの処理と同様である。ステップS19で割込許可状態に設定されると、次にステップS17の処理が実行されて割込禁止状態とされるまで、タイマ割込またはシリアル通信回路505からの割り込み要求を許可する状態となる。そして、割込許可状態に設定されている間に、タイマ割込が発生すると、遊技制御用マイクロコンピュータ560は、後述するタイマ割込処理を実行する。また、割込許可状態に設定されている間に、シリアル通信回路505から割り込み要求が発生すると、遊技制御用マイクロコンピュータ560のCPU56は、後述する各割込処理(通信エラー割込処理や、受信時割込処理、送信完了割込処理)を実行する。また、本実施の形態では、ステップS17からステップS19までのループ処理の前にステップS15cを実行することによって、タイマ割込または割り込み要求を許可する状態に設定される前に、タイマ割込処理およびシリアル通信回路505からの割り込み要求による割込処理の優先順位を設定または変更する処理が行われる。
Further, the processes from step S16 to step S19 are the same as those shown in the first embodiment. When the interrupt-permitted state is set in step S19, the timer interrupt or interrupt request from the
遊技制御用マイクロコンピュータ560のCPU56は、メイン処理におけるステップS17からステップS19までのループ処理において、割り込み許可状態である間にシリアル通信回路505からの割り込み要求があると、図56に示す処理に従って、シリアル通信回路505が割り込み要求を行った割り込み原因に応じた割り込み処理を実行する。また、CPU56は、メイン処理におけるステップS17からステップS19までのループ処理において、タイマ割込が発生すると、図67に示す処理に従ってタイマ割込処理を実行する。
In the loop process from step S17 to step S19 in the main process, if there is an interrupt request from the
この実施の形態では、タイマ割込とシリアル通信回路505からの割り込み要求が同時に発生した場合、CPU56は、いずれの割込処理を優先して実行する旨が初期設定されているか否かを判断する。例えば、CPU56は、いずれの割込処理を優先して実行する旨のフラグがセットされているか否かを判断する。例えば、CPU56は、タイマ割込優先実行フラグがセットされていることにもとづいて、タイマ割込処理を優先して実行する。
In this embodiment, when a timer interrupt and an interrupt request from the
以上に説明したように、この実施の形態では、CPU56は、メイン処理において、割込許可状態に設定する前に、タイマ割込処理、およびシリアル通信回路505からの割り込み要求に対応する各割込処理の優先順位を初期設定する。そのため、タイマ割込処理や複数種類の割込原因に対応する割込処理のうち、優先して実行させるべき割込処理を確実に実行することができる。また、優先して実行させる割込処理を初期設定できるので、遊技制御用マイクロコンピュータ560のCPU56に実行させるプログラムの自由度を向上させることができる。
As described above, in this embodiment, the
なお、上述した実施の形態では、以下に示すような遊技機の特徴的構成も示されている。 In the above-described embodiment, the characteristic configuration of the gaming machine as shown below is also shown.
払出手段は、払い出すべき景品遊技媒体の数が異なる複数の入賞領域に遊技媒体が入賞したことにもとづいて景品として景品遊技媒体を払い出し、遊技機は、各入賞領域に遊技媒体が入賞したことを検出して入賞検出信号を出力する複数の入賞検出手段(例えば、入賞口スイッチ29a,30a,33a,39a)と、払い出すべき景品遊技媒体の数(例えば、賞球数「3」,「10」,「15」)毎に払出数データを記憶する払出数記憶手段(例えば、賞球コマンド出力カウンタ1〜3)と、各入賞検出手段からの入力検出信号にもとづいて、いずれの入賞領域に遊技球が入賞したかを特定する入賞領域特定手段(例えば、遊技制御用マイクロコンピュータ560において、ステップS2121でポインタが指す賞球コマンド出力カウンタのカウント値をロードする部分)とを備え、払出数登録手段は、入賞領域特定手段が特定した入賞領域に入賞したことにもとづいて払い出すべき景品遊技媒体の数を示す払出数データを、払出数記憶手段に記憶させる(例えば、遊技制御用マイクロコンピュータ560において、ステップS2124でポインタが指す賞球コマンド出力カウンタに加算結果をストアする)ように構成されていてもよい。そのような構成によれば、払い出すべき景品遊技媒体の数が異なる複数の入賞領域のうちのいずれの入賞領域に遊技球が入賞したかを特定し、特定した入賞領域に対応する景品遊技媒体の数を示す払出数データを記憶するように構成されているので、遊技球が入賞した入賞領域に応じた払出数を示す払出数データを記憶することができる。そのため、遊技球が入賞した入賞領域に応じた払出数にもとづいて、遊技制御手段が賞球数を管理することができる。
The payout means pays out the prize game medium as a prize based on the fact that the game medium is won in a plurality of prize areas where the number of prize game media to be paid out is different. A plurality of winning detection means (for example, winning
本発明は、パチンコ遊技機およびスロット機などの遊技機に適用可能であり、特に、総賞球数格納バッファを用いて、払い出すべき賞球数を管理する制御を行う遊技機に好適に適用できる。 The present invention is applicable to gaming machines such as pachinko gaming machines and slot machines, and particularly suitably applied to gaming machines that perform control for managing the number of winning balls to be paid out using a total winning ball number storage buffer. it can.
1 パチンコ遊技機
9 可変表示装置
14 始動入賞口
15 可変入賞球装置
31 遊技制御基板(主基板)
37 払出制御基板
56 CPU
80a 図柄制御基板
80b 音/ランプ制御基板
100a 図柄制御用マイクロコンピュータ
100b 音/ランプ制御用マイクロコンピュータ
101a 図柄制御用CPU
101b 音/ランプ制御用CPU
503a 12ビット乱数回路
503b 16ビット乱数回路
505 シリアル通信回路
560 遊技制御用マイクロコンピュータ
1
37
80a
101b Sound / lamp control CPU
503a 12-bit
Claims (7)
前記入賞領域に遊技媒体が入賞したことを検出して入賞検出信号を出力する入賞検出手段と、
前記入賞検出手段からの入賞検出信号が入力され、遊技の進行を制御する遊技制御手段と、
景品遊技媒体の払い出しを行う払出手段と、
前記払出手段によって景品遊技媒体が払い出されたことを検出して払出検出信号を出力する払出検出手段と、
前記払出手段を制御する払出制御手段とを備え、
前記遊技制御手段は、
所定のメイン処理を繰り返し実行するメイン処理実行手段と、
所定時間毎に発生するタイマ割込の設定を行うタイマ割込設定手段と、
前記タイマ割込が発生したときに、前記メイン処理の実行を中断してタイマ割込処理を実行するタイマ割込処理実行手段と、
前記タイマ割込処理の実行中に、前記入賞検出信号の入力に応じて、払い出すべき景品遊技媒体の数を特定可能な払出数データを払出数記憶手段に記憶させる払出数登録手段と、
前記メイン処理の実行中に、前記払出数記憶手段に記憶された払出数データにもとづいて、払い出すべき景品遊技媒体の数を特定可能な払出数コマンドを、前記払出制御手段に送信する払出数送信手段と、
払い出すべき景品遊技媒体であって前記払出手段による払い出しが完了していない景品遊技媒体の総数を示す総未払出数を記憶する総未払出数記憶手段と、
前記メイン処理の実行中に、
前記総未払出数記憶手段から総未払出数を読み出す読出手段と、
前記払出数送信手段によって送信された払出数コマンドに示される景品遊技媒体の数を、前記読出手段が読み出した総未払出数に加算する払出数加算手段と、
前記払出数加算手段により加算された総未払出数を、前記総未払出数記憶手段に書き込む払出数書込手段と、
前記読出手段が総未払出数を読み出す前に前記タイマ割込処理の実行を禁止する割込禁止手段と、
前記払出数書込手段によって総未払出数が前記総未払出数記憶手段に書き込まれると、前記タイマ割込処理の実行を許可する割込許可手段とを含み、
前記タイマ割込処理の実行中に、前記払出検出信号にもとづいて、前記払出手段によって払い出された景品遊技媒体の数を、前記総未払出数記憶手段が記憶する総未払出数から減算する総未払出数減算手段と、
前記払出数加算手段によって前記払出数コマンドに示される景品遊技媒体の数が総未払出数に加算されると、前記払出数コマンドに示される景品遊技媒体の数が加算された総未払出数が所定の範囲内であるか否かを判定する払出数判定手段とを含む
ことを特徴とする遊技機。 A gaming machine in which a player can play a predetermined game using a game medium and pays out a prize game medium as a prize based on the winning of the game medium in a winning area in the gaming area,
Winning detection means for detecting that a game medium has won in the winning area and outputting a winning detection signal;
A game control means for receiving a winning detection signal from the winning detection means and controlling the progress of the game;
And dispensing means pays out Jing products game media,
A payout detection means for outputting a payout detection signal is detected and that the scene goods game media is paid out by the payout means,
A payout control means for controlling the payout means,
The game control means includes
Main process execution means for repeatedly executing a predetermined main process;
Timer interrupt setting means for setting a timer interrupt generated every predetermined time;
Timer interrupt processing execution means for interrupting the execution of the main processing and executing the timer interrupt processing when the timer interrupt occurs;
During the execution of the timer interruption process, in accordance with the input of the winning detection signal, the number-of-payout registration means for storing the number-of-payout data that can specify the number of prize game media to be paid out in the number-of-payout storage means;
The number of payouts to be sent to the payout control means during the execution of the main process based on the payout number data stored in the payout number storage means to specify the number of prize game media to be paid out A transmission means;
Total unpaid number storage means for storing a total unpaid number indicating the total number of prize game media to be paid out and for which the payout means has not been paid out;
During execution of the main process,
Reading means for reading out the total unpaid number from the total unpaid number storage means;
A number-of- payout addition unit for adding the number of premium game media indicated in the number-of-payments command transmitted by the number-of-payout transmission unit to the total number of unpaid outs read by the reading unit;
A payout number writing means for writing the total unpaid number added by the payout number adding means into the total unpaid number storage means;
And interrupt inhibit means for the reading means prohibits execution of the timer interrupt processing before reading the total non-payout,
An interrupt permission means for permitting execution of the timer interrupt process when a total unpaid number is written in the total unpaid number storage means by the payout number writing means;
During execution of the timer interruption process, the number of premium game media paid out by the payout means is subtracted from the total number of payouts stored in the total payout number storage means based on the payout detection signal. A total unpaid number subtraction means;
When the number of premium game media indicated in the payout number command is added to the total number of payouts by the payout number addition means, the total number of payouts obtained by adding the number of premium game media indicated in the payout number command is calculated. A gaming machine, comprising: a payout amount judging means for judging whether or not it is within a predetermined range.
前記払出制御手段は、前記遊技制御手段から受信した前記異常発生コマンドにもとづいて、前記払出手段による景品遊技媒体の払い出しに異常が発生したことを報知する払出側異常報知手段を含む
請求項1記載の遊技機。 Game control means, when it is determined not to be within a predetermined range by the payout amount determination means pairs for transmitting abnormality occurrence command indicating that an abnormality has occurred in the payout of the prize game medium by payment detecting means, to the payout control means Including a payout abnormality occurrence command transmission means,
The payout control means based on the abnormality occurrence command received from the game control unit, said dispensing means according to claim 1, further comprising a dispensing side abnormality informing means for informing that an abnormality has occurred in the payout of the prize game media by Game machines.
遊技制御手段は、払出数判定手段によって所定の範囲内でないと判定されると、払出手段による景品遊技媒体の払い出しに異常が発生したことを示す異常発生コマンドを、前記演出制御手段に送信する対演出異常発生コマンド送信手段を含み、
前記演出制御手段は、前記遊技制御手段から受信した前記異常発生コマンドにもとづいて、前記払出手段による景品遊技媒体の払い出しに異常が発生したことを報知する演出側異常報知手段を含む
請求項1または請求項2記載の遊技機。 Providing production control means for controlling the electrical parts for production and executing the game production,
Game control means, when it is determined not to be within a predetermined range by the payout amount determining means, an abnormality occurrence command indicating that an abnormality has occurred in the payout of the prize game medium by payment detecting means, transmitting to the presentation control means Including an anomaly generation command transmission means
The presentation control means, based on the abnormality occurrence command received from the game control unit, according to claim 1 or abnormal payout of prize game media including directing side abnormality informing means for informing of the occurrence by said dispensing means The gaming machine according to claim 2.
払出数加算手段によって払出数コマンドに示される景品遊技媒体の数が加算された総未払出数にもとづいて、払い出すべき景品遊技媒体の数よりも多い遊技媒体が払い出される異常である払出過多異常が発生したか否かを判定する払出過多異常判定手段と、
前記払出数加算手段によって前記払出数コマンドに示される景品遊技媒体の数が加算された総未払出数にもとづいて、総未払出数が所定の払出過少判定値を超えた状態の異常である払出過少異常が発生したか否かを判定する払出過少異常判定手段とを含み、
対払出異常発生コマンド送信手段は、
前記払出過多異常判定手段によって前記払出過多異常が発生したと判定されると、前記払出過多異常が発生したことを示す払出過多異常コマンドを、払出制御手段に送信する対払出過多異常コマンド送信手段と、
前記払出過少異常判定手段によって前記払出過少異常が発生したと判定されると、前記払出過少異常が発生したことを示す払出過少異常コマンドを、前記払出制御手段に送信する対払出過少異常コマンド送信手段とを含み、
払出側異常報知手段は、
遊技制御手段から受信した前記払出過多異常コマンドにもとづいて、前記払出過多異常が発生したことを報知する払出側過多報知手段と、
前記遊技制御手段から受信した前記払出過少異常コマンドにもとづいて、前記払出過少異常が発生したことを報知する払出側過少報知手段とを含む
請求項2記載の遊技機。 The number-of-payout determination means is
Excessive payout abnormality, in which more game media are paid out than the number of prize game media to be paid out based on the total number of payout game media added to the number of prize game media indicated in the payout number command by the payout number adding means An excessive payout abnormality determination means for determining whether or not
Based on the total non-payout number is added to the prize game media indicated in the payout command by the payout amount adding means, payout total unpaid coin number is abnormal state exceeds a predetermined payout under-determination value A payout underabnormality judging means for judging whether or not an underabnormality has occurred,
Anti-payout abnormality occurrence command transmission means
When it is determined that the excessive payout abnormality has occurred by the excessive payout abnormality determining means, an excessive payout abnormality command transmitting means for transmitting to the payout control means a payout excessive abnormality command indicating that the excessive payout abnormality has occurred. ,
When the payout too little abnormality is determined to have occurred by the payout under-abnormality determining means, the dispensing under-abnormality a payout under-abnormal command indicating occurrence, versus payout under-abnormality command transmission means for transmitting to said dispensing control means Including
The payout side abnormality notification means
Based on the payout excess abnormality command received from the game control means, payout side excess notification means for notifying that the payout excess abnormality has occurred;
Based on the payout under-abnormality command received from the game controller, the gaming machine of claim 2, further comprising a dispensing side under-informing means for informing that said dispensing too little abnormality occurs.
払出数加算手段によって払出数コマンドに示される景品遊技媒体の数が加算された総未払出数にもとづいて、払い出すべき景品遊技媒体の数よりも多い遊技媒体が払い出される異常である払出過多異常が発生したか否かを判定する払出過多異常判定手段と、
前記払出数加算手段によって前記払出数コマンドに示される景品遊技媒体の数が加算された総未払出数にもとづいて、総未払出数が所定の払出過少判定値を超えた状態の異常である払出過少異常が発生したか否かを判定する払出過少異常判定手段とを含み、
対演出異常発生コマンド送信手段は、
前記払出過多異常判定手段によって前記払出過多異常が発生したと判定されると、前記払出過多異常が発生したことを示す払出過多異常コマンドを、演出制御手段に送信する対演出過多異常コマンド送信手段と、
前記払出過少異常判定手段によって前記払出過少異常が発生したと判定されると、前記払出過少異常が発生したことを示す払出過少異常コマンドを、前記演出制御手段に送信する対演出過少異常コマンド送信手段とを含み、
演出側異常報知手段は、
遊技制御手段から受信した前記払出過多異常コマンドにもとづいて、前記払出過多異常が発生したことを報知する演出側過多報知手段と、
前記遊技制御手段から受信した前記払出過少異常コマンドにもとづいて、前記払出過少異常が発生したことを報知する演出側過少報知手段とを含む
請求項3記載の遊技機。 The number-of-payout determination means is
Excessive payout abnormality, in which more game media are paid out than the number of prize game media to be paid out based on the total number of payout game media added to the number of prize game media indicated in the payout number command by the payout number adding means An excessive payout abnormality determination means for determining whether or not
Based on the total non-payout number is added to the prize game media indicated in the payout command by the payout amount adding means, payout total unpaid coin number is abnormal state exceeds a predetermined payout under-determination value A payout underabnormality judging means for judging whether or not an underabnormality has occurred,
The command transmission means for the production abnormality occurrence command is
When it is determined that the excessive payout abnormality has occurred by the excessive payout abnormality determining means, an excessive payout abnormality command transmitting means for transmitting to the effect control means a payout excessive abnormality command indicating that the excessive payout abnormality has occurred. ,
When the payout under-abnormality by judging means and said dispensing too little abnormality is determined to have occurred, the dispensing under-abnormality a payout under-abnormal command indicating occurrence pairs demonstration under-abnormality command transmission means for transmitting to said presentation control means Including
Production side abnormality notification means,
On the basis of the payout excess abnormality command received from the game control means, the production side excess notification means for notifying that the payout excess abnormality has occurred,
Based on the payout under-abnormality command received from the game controller, the gaming machine of claim 3 further comprising a directing side under-informing means for informing that said dispensing too little abnormality occurs.
払出検出手段から払出検出信号を入力する払出検出信号入力手段と、
前記払出検出信号入力手段によって入力された前記払出検出信号を遊技制御手段に出力する払出検出信号出力手段と、
前記払出検出信号の入力に応じて、払出手段によって払い出された景品遊技媒体の数を示す信号を外部出力する外部出力手段とを含み、
総未払出数減算手段は、前記払出制御手段から入力した前記払出検出信号の入力に応じて、前記払出手段によって払い出された景品遊技媒体の数を、総未払出数記憶手段が記憶する総未払出数から減算する
請求項1から請求項6のいずれかに記載の遊技機。 Withdrawal control means
A payout detection signal input means for inputting a payout detection signal from the payout detection means;
A payout detection signal output means for outputting the payout detection signal input by the payout detection signal input means to the game control means;
External output means for externally outputting a signal indicating the number of premium game media paid out by the payout means in response to the input of the payout detection signal;
Total non payouts subtracting means, the total in response to an input of the payout detection signal inputted from the dispensing control means, the number of prize game media paid out by the payout means, the total non-payout storage means for storing The gaming machine according to any one of claims 1 to 6, wherein the gaming machine is subtracted from an unpaid number.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006006628A JP4511475B2 (en) | 2006-01-13 | 2006-01-13 | Game machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006006628A JP4511475B2 (en) | 2006-01-13 | 2006-01-13 | Game machine |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2007185374A JP2007185374A (en) | 2007-07-26 |
JP2007185374A5 JP2007185374A5 (en) | 2009-06-04 |
JP4511475B2 true JP4511475B2 (en) | 2010-07-28 |
Family
ID=38340951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006006628A Expired - Fee Related JP4511475B2 (en) | 2006-01-13 | 2006-01-13 | Game machine |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4511475B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009034316A (en) * | 2007-08-01 | 2009-02-19 | Daito Giken:Kk | Game machine |
JP6052795B2 (en) * | 2013-06-18 | 2016-12-27 | 株式会社三共 | Game machine |
JP6059090B2 (en) * | 2013-06-18 | 2017-01-11 | 株式会社三共 | Game machine |
JP6059091B2 (en) * | 2013-06-18 | 2017-01-11 | 株式会社三共 | Game machine |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001137497A (en) * | 1999-11-15 | 2001-05-22 | Takeya Co Ltd | Pachinko game machine |
JP2001347028A (en) * | 2000-06-08 | 2001-12-18 | Sankyo Kk | Game machine |
JP2002306690A (en) * | 2001-04-11 | 2002-10-22 | Sophia Co Ltd | Game machine |
JP2003251046A (en) * | 2003-01-17 | 2003-09-09 | Sanyo Product Co Ltd | Game machine |
JP2003320130A (en) * | 2002-05-07 | 2003-11-11 | Sankyo Kk | Game machine |
JP2005087231A (en) * | 2003-09-12 | 2005-04-07 | Sankyo Kk | Game machine |
-
2006
- 2006-01-13 JP JP2006006628A patent/JP4511475B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001137497A (en) * | 1999-11-15 | 2001-05-22 | Takeya Co Ltd | Pachinko game machine |
JP2001347028A (en) * | 2000-06-08 | 2001-12-18 | Sankyo Kk | Game machine |
JP2002306690A (en) * | 2001-04-11 | 2002-10-22 | Sophia Co Ltd | Game machine |
JP2003320130A (en) * | 2002-05-07 | 2003-11-11 | Sankyo Kk | Game machine |
JP2003251046A (en) * | 2003-01-17 | 2003-09-09 | Sanyo Product Co Ltd | Game machine |
JP2005087231A (en) * | 2003-09-12 | 2005-04-07 | Sankyo Kk | Game machine |
Also Published As
Publication number | Publication date |
---|---|
JP2007185374A (en) | 2007-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6133962B2 (en) | Game machine | |
JP2007244438A (en) | Game machine | |
JP4511475B2 (en) | Game machine | |
JP4777009B2 (en) | Game machine | |
JP4772442B2 (en) | Game machine | |
JP6018496B2 (en) | Game machine | |
JP4708197B2 (en) | Game machine | |
JP5420279B2 (en) | Game machine | |
JP4772443B2 (en) | Game machine | |
JP5420278B2 (en) | Game machine | |
JP4511476B2 (en) | Game machine | |
JP4772444B2 (en) | Game machine | |
JP5420280B2 (en) | Game machine | |
JP4708196B2 (en) | Game machine | |
JP2007050086A (en) | Game machine | |
JP6059091B2 (en) | Game machine | |
JP5643380B2 (en) | Game machine | |
JP5265427B2 (en) | Game machine | |
JP4884745B2 (en) | Game machine | |
JP2007244439A (en) | Game machine | |
JP6059090B2 (en) | Game machine | |
JP6052795B2 (en) | Game machine | |
JP4777010B2 (en) | Game machine | |
JP2007050087A (en) | Game machine | |
JP2016215048A (en) | Game machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081204 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090416 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100310 |
|
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: 20100427 |
|
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: 20100506 |
|
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 |
Ref document number: 4511475 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130514 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140514 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
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 |